Welcome! Log In Create A New Profile

Advanced

Mendel-parts Gen 6 'Marlin' firmware feedback

Posted by droftarts 
Mendel-parts Gen 6 'Marlin' firmware feedback
August 19, 2011 03:29PM
Camiel has released a new firmware for Gen 6 electronics. From the readme.txt:

"This firmware is a mashup between Sprinter, grbl and many original parts.
(https://github.com/kliment/Sprinter)
(https://github.com/simen/grbl/tree)

Features:
- Interrupt based movement with real linear acceleration
- High steprate
- Look ahead (Keep the speed high when possible. High cornering speed)
- Interrupt based temperature protection
- preliminary support for Matthew Roberts advance algorithm
For more info see: [reprap.org]

This firmware is optimized for gen6 electronics."

There are a couple of threads on the mendel-parts forum giving feedback, it would be good to get feedback/opinions from anyone else who has tried it, either here or on mendel-parts forum.

Forum discussions:
[www.mendel-parts.com]
[www.mendel-parts.com]

Firmware download:
[www.mendel-parts.com]

Edited 1 time(s). Last edit at 08/23/2011 07:34AM by droftarts.
Re: Mendel-parts Gen 6 'Merlin' firmware feedback
August 20, 2011 12:13AM
This is a very interesting development. Extruder advance and GRBL planner integration were on my firmware TODO list.
Re: Mendel-parts Gen 6 'Merlin' firmware feedback
August 22, 2011 09:30AM
I'll give it a try tonight.

And it's Marlin, not Merlin, apparently.
Re: Mendel-parts Gen 6 'Merlin' firmware feedback
August 23, 2011 07:36AM
Buback Wrote:
-------------------------------------------------------
> And it's Marlin, not Merlin, apparently.

Doh! Thread title now fixed.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 23, 2011 10:44AM
:-)

well i got it installed and working, but haven't printed with it. I haven't played with advance yet.

before i loaded marlin, I burnt out my resistor i guess, since i can't heat up the block, and i don't have continuity through it. I ordered some more so it'll be a couple days downtime for me.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 23, 2011 01:53PM
Looks like the Ultimaker guys are really running with it... [groups.google.com]
Though, oops, they picked up the same mispelling from me to start off with!
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 23, 2011 07:46PM
It's really nice, so much smoother than the FiveD firmware...

Here's a video I made of it printing pretty fast: Orca with Marlin
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 24, 2011 10:25AM
I also found some problems. Trying to print this Kort nozzle at 150mm/s speed caused the extruder to just sputter uselessly when trying to print the round part. At 50mm/s it worked perfectly fine. I don't know why it didn't work at 150mm/s, the curve is pretty gentle and it should be able to run the extruder pretty much at constant speed while tracing it?
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 24, 2011 11:13AM
I've had issues at high speeds with the hobbed bolt not having good grip. I think its just from my substandard hobbing job, though.

the filament might not be melting fast enough either.

I don't know whether you've printed at such high speeds before, but in my experience, doing so starts to expose printer flaws.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 24, 2011 11:59AM
Hi ttsalo. Could be the extruder motor skipping steps, or like Buback says, the filament is running through the heater so fast that it isn't staying hot enough. Turn up extruder potentiometer and/or increase temperature. Could also be the gcode not transferring fast enough - I'm thinking about what it's doing when it's going around a cicle; lots of small movements very fast, and the electronics have quite a small memory buffer, or at least so I understand. Make sure Skeinforge 'export' tab option is set to 'gcode small' - it reduces the size of gcode by getting rid of lots of repeated axis positions.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 29, 2011 12:04PM
Any instructions on the Advance settings? i uncommneted the one line to turn it on, and assume the obvious values for e steps per mm and filament diameter should match those of your machine.

Not sure why the e_steps_per_mm aren't just pulled from the variable above. I also don't like that the filament D is hard coded in the firmware, instead of pulled from skeinforge, but i guess that'd require new gcodes.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 29, 2011 12:10PM
It is currently unknown if the advance can just be calculated or if it needs to be tuned to your machine. Right now the values are separated until more is known about what produce a good results.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 29, 2011 01:27PM
droftarts Wrote:
-------------------------------------------------------
> Hi ttsalo. Could be the extruder motor skipping
> steps, or like Buback says, the filament is
> running through the heater so fast that it isn't
> staying hot enough. Turn up extruder potentiometer
> and/or increase temperature. Could also be the
> gcode not transferring fast enough - I'm thinking
> about what it's doing when it's going around a
> cicle; lots of small movements very fast, and the
> electronics have quite a small memory buffer, or
> at least so I understand. Make sure Skeinforge
> 'export' tab option is set to 'gcode small' - it
> reduces the size of gcode by getting rid of lots
> of repeated axis positions.

I don't want to use too large extruder current since skipping steps is a recoverable problem but stripping the filament pretty much botches the whole print. Anyway, I have printed some square blocks at same settings and didn't see any problems there. It's only larger round parts which seem to exhibit some problems. I have a gcode file for A-Mazing Box at 70% size which causes the extruder to run backwards when printing certain very tight zig-zag infills. Yes, really! Filed an issue about this already. The gcode itself is fine, it only has increasing E values like it should. It just the firmware that's doing something else than it should in certain cases.

I also tested quite many k values for the advance algorithm and k=0.01 seemed to work best for me with V9 1.75/0.35 extruder.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 30, 2011 12:22PM
What are you looking for on your prints with different k values in order to tune it?

I'm noticing some odd pauses at times. It seems to be only on infill moves at inconsistent times. it hasn't effected the print quality yet, so i'm not really concerned, but i thought i'd mention it.

I think the default accel values are too high for me, and gives a lot of jerkiness. sprinter was smoother, and marlin default is more like 5d. i copied my values over from sprinter and it's better now, but i don't know what the jerkiness value in marlin does and don't really have the time to experiment.

Edited 1 time(s). Last edit at 08/30/2011 12:32PM by Buback.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 30, 2011 12:30PM
In general the idea of Advance settings is to fix the problem where acceleration causes not enough plastic at the start of a line and too much at the end resulting in blobbing. I think the blobbing is the easiest to see and change the advance settings to minimize it. Assuming your extruder is properly calibrated when the blob at the end is gone, the plastic at the beginning will be correct.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 31, 2011 04:32AM
Quote

i don't know what the jerkiness value

The jerkiness value decides how fast your machine moves around the corner. The higher the value, the higher the speed at the corner. In other words: the higher the value, the more you get FiveD behaviour, the lower the value, the more you get Sprinter/Teacup behaviour.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 31, 2011 07:52AM
I think until there is larger buffering on the arduino platform for communications, there will be issued with pausing. This is one reason 5d code is good for arduino, E only moves at a rate to the x and y axis. x and y pause, e will wait.

The way communications has handled the delay issues is with error correction and to add data into the signal that allows data to be rebuilt from errors and corrected without redelivery. there are limitations with sending data and waiting for a response from host.

The main reason pauses occur is because data is received, then if it is good it is acknowledged to host, then host sends the next data, clearing out its send buffer each time.


one way to fix this a little bit is to reduce latency time down to 4ms, from the default (16ms on my machine) in windows. go into systems settings, and open up usb comm port driver for FTDI chipset.
Right click on it, and select Properties from the pop up menu. Next, click the Port Settings tab, and click the Advanced... button. and change latency from its default down to 4ms or even less if your computer is fast enough. this will reduce time it takes for signaling back and forth between comm port and pc. it should reduce pauses.

there are tools for reducing usb comm latency as well.

Ideally we would want to have communication fix errors without resending of data, but since we error check and verify data it would be nice to reduce that delay significantly.

Edited 1 time(s). Last edit at 08/31/2011 08:01AM by jamesdanielv.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 31, 2011 01:05PM
hmm, i haven't gotten comm errors before, and am using the small gcode option in skeinforge, which should help a bit.

Perhaps it's not a pause as much as a ponderously slow move.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
August 31, 2011 04:22PM
Stock Marlin will have stuttering if you exceed 20 Khz step rates on any axis.

There will also be pausing if the 16 move buffer is depleted causing a wait until a new move is added. It isn't easy to determine if the move buffer is being run dry and the faster you run your feedrate the easier it is to run dry.
Amazing,

Was ready to give up on the Gen6 with 5d firmware and buy Makerbot Gen4 electrics. Just way to slow and couldnt
stop comm errors under any baud. The very day I was ready to abandon Gen6, help came unlooked for.......

Using Repg245, SF40, Makergear extruder with 1.75mm pla, I'm running 75 mm/s and my mendel has never worked
better. Minor issues with print quality I think are mainly mechanical, and still working out proper dimension retract settings,
I'm pretty happy with Marlin. Need to tweak the acceleration settings, the MG extruders is heavy with backlash, but I
dont yet understand the firmware settings for accleration or advance.

Thanks Camiel!

W
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
September 29, 2011 03:42AM
I tried Marlin with my gen6 board.

Bug: With PIDTEMP enabled the PWM output never goes below 1%. With the timer setup as it is you need to disable the output (TCCR2A &= ~_BV(COM2B1)) since OCR2B=0 is not enough. Then turn it back on when nonzero obviously.

Movement is very good even at 60000mm/min max on my Prusa. Funny bit: First time I jogged X at F60000 it left one of its bronze sleeve bearings behind. Moved fine, though!

100mm circles at F12000 are neat to watch. I was using that as a test of various FW. Marlin is very smooth and fast.

A 100mm/s test cube is okay. To go 100mm/s I have to disable "cool" so the max quality is limited (otherwise min layer time keeps speeds down around 40mm/s). It doesn't do anything quirky like some other FW I tried at the same speed. It just makes the same moves it would at 50mm/s but faster. Doing a test print of circular items is neat to watch.
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
September 29, 2011 11:27PM
I made a video of the attached circle (100mm diameter, commanded F12000 or 200mm/s) with both Marlin and Repetier. I'm posting in the Marlin thread because I think it's pretty clear that Marlin came out on top in this test:

Marlin: [www.youtube.com]
Repetier: [www.youtube.com]

It's not obvious in the video but the speed that Marlin is hitting is causing significant vibration of my extruder assembly. That stepper is heavy and the Prusa X plate is very flimsy (due to cutouts for half a dozen extruder mounting options). The motors seem to be perfectly smooth (you can hear the difference) but my Prusa is not ready for that speed! Certainly I couldn't print at 200mm/s without beefing up my X.
Attachments:
open | download - circle.gcode (9.9 KB)
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
October 02, 2011 03:12AM
float axis_steps_per_unit[] = {31.496, 31.496, 1133.858, 308};

#define EXTRUDER_ADVANCE_K 0.01

#define D_FILAMENT 1.69
#define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159)
#define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA)

When I turned on ADVANCE my top extruder speed dropped a lot. Enough that a regular print simply didn't work any more. I guess some kind of overflow? My E steps are higher than the default by about 4x which is probably microstepping or gearing somewhere but the magnitude may matter.

(git 27664c6da)
Hi,

I have a Mendel with gen6 board and upgraded extruder with new V10b hotend of Camiel .
I am able to make firmware changes in Arduino. When I tried to upgrade to Marlin firmware I used the files Camiel has posted on his site.
But after selecting my board (gen6) in configuration/h when I try to compile the sourcecode in Arduino I get compilation errors.
Does anyone has an idea how to fix this? Is the a manual somewhere?
Thanks!
Re: Mendel-parts Gen 6 'Marlin' firmware feedback
December 25, 2012 02:12AM
is this the manual you are needing? [reprap.org]

here is someone else who had marlin installed on gen 6. they have a blog about it
[blog.tinyenormous.com] (just google searched)

it seems arduino 0.23 is used, and files that support Sanguino need to be installed. not 100% sure, but I think this is what you need to get it working ok with gen6.

my disclaimer:
in all honesty i have been using 2560 mega, and 1280 with marlin because the defaults settings for ramps 1.3 works easily from configuration defaults. So i don't personally know if the above is really helpful or not. also you may need to reduce buffered moved from configuration.adv file as the ram amount on regular gen 6 is 4k, where later devices have up to 8k-16k ram. 16k ram in the ATmega1284P chip for example .best of luck! merry Christmas!

Edited 2 time(s). Last edit at 12/25/2012 07:20PM by jamesdanielv.
Sorry, only registered users may post in this forum.

Click here to login