PrusaOwners / Marlin

Optimized firmware for RepRap 3D printers based on the Arduino platform.
http://www.marlinfw.org/
GNU General Public License v3.0
15 stars 4 forks source link

Much improved filament load and unload behavior #33

Closed stahlfabrik closed 5 years ago

stahlfabrik commented 5 years ago

I should have provided more information about the reasoning for the changes I made.

I did not look much into Prusa firmware (only for the unload length) cause Marlin provides different means (variables) than PrusaFW (gcode).

So Marlin's load works in three phases: 1st: slow load (speed and millimetres can be configured) - intend is to slowly pull fillament into the gears. 2nd: fast load (same settings possible) - intend is to move filament quickly into the nozzle - intend is just to save time 3rd: This phase can be repeated until satisfied (by clicking "purge more"). Filament is slowly purged through the hot area out of the nozzle.

So I looked at Prusa's PTFE tube length specification and E3D's Cooling block specification to find the optimal length that Filament can be moved FAST into the hotend. (I decided by experiments that fast move should stop where the heatbrake starts)

The unload CAN be done in four phases also in Marlin - also configured by variables: 1st is retract to move hot filament up 2nd is wait period to let filament cool down 3rd is a quick purge (ramming) where filament is unretracted and then purged. 4th is the unload where filament is retracted out of the hotted

I did not want to use the phases 1 and 2 - they seem counterintuitive to me. And when I tried to use them extruder made skipping noises and behaviour overall was concerning. But I want to use the ramming (3rd phase) - this is not done by Prusa. But it can help in mitigating the "blobs" on the pulled out filament. Some people (like me) cut filament close to the extruder top so we must not purge to much filament. Also the quick move may lead to skipping extruder. So I went for 3mm of fast purging. The 4th unload phase is a quick unload. The MK3 extruder handles that fine. On roughly estimated 95% of my unload tries, the filament came out without a big blob (but still small blob) and no strings. Overall I prefer the observed behaviour over the Prusa firmware behaviour.

I hope you like it too and would be happy for a review and merge:-)