Prusa-Firmware icon indicating copy to clipboard operation
Prusa-Firmware copied to clipboard

Perform a small extrusion prior to unload

Open wavexx opened this issue 5 years ago • 20 comments

When the filament is left inside the hot zone a larger tip is formed, caused by slow softening of the material. On an MK3, this larger tip will fail to unload as it will jam inside the lower PTFE section, sometimes on the gears, and and sometimes upper PTFE section as well (depending on the viscosity state of the hot tip as it gets ejected).

This PR will perform a small extrusion when unloading manually (though the LCD) using this sequence:

  • slow 5mm extrusion
  • very slow 0.1mm extrusion to relieve leftover pressure (mostly for flexible materials)
  • 2mm retract at max speed
  • filament ejection

This sequence essentially extrudes the entire large section of the tip, which avoids jams. This is not done when MMU is operating and/or when a filament runout occurs.

This has been discussed at lengths on issue #1095, and requested on #2162.

In addition, we re-organize the various #defines related to filament change inside the variant files in order to be more meaningful (the actual values are left unchanged).

wavexx avatar Nov 09 '19 17:11 wavexx

@wavexx you know what would be more interesting? It would be performing a ramming sequence just like on the MMU2. It does the small extrusion and it also cools the filament, ensuring a sharp tip.

leptun avatar Nov 09 '19 17:11 leptun

I did try this early on (the discussion is still in the issue) using the built-in ramming sequence in mmu.cpp, but it didn't work as nicely. I still frequently got jams.

My understanding is that the MMU ramming sequence needs to operate with backpressure of the purge tower in order to work.

wavexx avatar Nov 09 '19 17:11 wavexx

Also, the unload jams on the MK3 (w/o MMU) are often caused by a complete cooldown of the hotend. An unload which was performed during a filament change and/or just immediately after a print was always ok. On the other hand, an unload from a cold state would almost always jam.

wavexx avatar Nov 09 '19 18:11 wavexx

Hmmm. Maybe the small extrusion part can remain as is, however I still think that the cooling move would help also after unload from cooled down hotend. Sometimes I get jams when I attempt to load a badly shaped tip after an unload that didn’t jam.

leptun avatar Nov 10 '19 09:11 leptun

How does the tip look in such cases?

wavexx avatar Nov 10 '19 16:11 wavexx

It sometimes has a bigger blob that is usually connected to the rest with a thinner filament (stretched) and is very stringy. I haven’t tested your changes. This is my experience with the MK2 heatbreak. The MK3 heatbreak might behave better.

leptun avatar Nov 10 '19 16:11 leptun

Indeed, that's the classic result of a normal unload for me.

With this patch, we extrude the blob. The result is a tip which is completely flush though-out.

With PETG/PC I often see the V chamfer on the inside of the nozzle imprinted on the tip, meaning the retract performs a perfectly clean break. With PLA sometimes I still see some stringing, but the tip has no bulge, so the unload is always clean.

I was hoping to eliminate stringing, but given that this is done for manual unloads, it's not a real problem (and yes, I also get stringing without the change anyway).

You're right that doing some cooling moves might improve in this area. More than ramming, skinnydip aim to solve this better by remelting the string:

https://github.com/prusa3d/PrusaSlicer/pull/2452

wavexx avatar Nov 10 '19 16:11 wavexx

Wavexx was this implemented? I am having the same issues that this solution was aimed at fixing. How do I get my mk3s to extrude a little before the unload sequence (without manual intervention).

matlinder avatar Apr 02 '20 17:04 matlinder

It hasn't been merged yet, hopefully after 3.9.

Also, as a reminder for myself, I found that 5mm of extrusion prior to unload is sometimes not enough when printing PC at 270-280C. It seems that some heatcreep at these temperatures will soften the PC enough to widen towards the bottom, causing a jam during ejection. PC being PC, it's essentially impossible to extract by just pulling. It seems 2-3mm extra millimiters would do it.

wavexx avatar Apr 02 '20 18:04 wavexx

Any progress on this? I love printing on my MK3 but it always jams if it cools and I try to unload/swap filament. My printer is in the garage so I don't hear the beeps. I just installed the latest 3.9.0 RC3 and nothing has changed with unloading or changing filament, it's just a straight unload.

Lacehim avatar May 12 '20 09:05 Lacehim

Btw, with a total of 10mm of extrusion prior to unload I can now always swap any material from any situation (especially from cold-start). No problems with PC any longer.

wavexx avatar Aug 06 '20 12:08 wavexx

Any progress on this? It is pretty annoying to have to do a manual extrusion before unloading every single time. Otherwise it jams almost always.

NiliusJulius avatar Oct 15 '20 08:10 NiliusJulius

This same issue happened to me earlier today! Any progress on this PR @wavexx? Would be great if it was implemented in 3.10. Thanks :).

MohanMaker avatar Mar 06 '21 20:03 MohanMaker

@leptun should we aim this for 3.12?

wavexx avatar May 11 '22 18:05 wavexx

I think yes, but let's wait for the mmu PR. Maybe we can combine the unload sequences. Afaik, the mmu unload procedure also purges and it even also does a cooling move.

leptun avatar May 11 '22 19:05 leptun

Is there any change to get this into the next release? This has been a known problem for 5+ years. Newbies get a free PLA spool with their printer, but immediately run into jamming problem. --> Not fair! 1 2

pbotte avatar Mar 10 '23 11:03 pbotte

Almost grew tired of rebasing it :/

wavexx avatar Mar 10 '23 12:03 wavexx

I'm using the MMU style unload for more than a year now and since then never again had a jam. (PLA was mostly OK, but especially PC Blend jammed regularly before the change) This is the code I'm using.

sarusani avatar Aug 09 '23 18:08 sarusani

I'll try to rebase this once more...

wavexx avatar Aug 09 '23 19:08 wavexx

Moved to 3.14.0. Add two gcode lines when manual unload or change filament is selected.

3d-gussner avatar Aug 18 '23 12:08 3d-gussner