moggieuk / Happy-Hare

MMU software driver for Klipper (ERCF, Tradrack, Prusa)
GNU General Public License v3.0
405 stars 98 forks source link

Feature Request: Endless Spool mode rethought #265

Open ac1dwalk3r opened 3 months ago

ac1dwalk3r commented 3 months ago

Hi again! Just tested the Endless Spool mode and i see space for improvement. Not sure if this is possible:

At the moment, when the spool runs out, it unloads all the rest in the bowden tube (at least it tries, in my setup, when it detects the runout, its already past the ercf gear and outputs an error....i assume i'd need pregate sensors)

Since i also have a bambu AMS, i'm used to a different behaviour: when the spool runs out, it just switches to the next spool and pushes it into the tube without unloading.

This would have advantages in happyhare too:

-Encoder detects runout -Printer resumes printing -Extruder sync is deactivated(not sure if this works while printing) -MMU switches to next gate -Loads filament and uses the diag pin of the MMU extruder to detect when the new filament pushes against the rest of the last spool -Reactivates extruder sync

Alternatively, doing this while the print is paused still would be an advantage

moggieuk commented 3 months ago

This thought comes up form time to time. It is possible for endless spool single color print, but not for multi-color printing. Although it sounds easy, care has to be taken that any runout sensor after the one that detects the initial runout doesn't fire between the breaks.

It is in my TODO list if the print is single color, but, even then you have to hope the entire fragment is used before the print ends otherwise you will have a bit of filament left in the extruder/bowden or if you unload at the end of a print it will fail... Also, the stallguard detection requires user setup, etc, etc.

LOTS of corner cases to deal with...

ac1dwalk3r commented 3 months ago

I just thought of single colour....i'm printing on a vcore 500, enclosed drybox for the spools, they tend to run out on large prints, one could easily make use of nearly empty spools with that feature. Looking forward to that!

Belstrekkie commented 1 month ago

This behaviour of unloading the bowden tube after filament run out in endless spool mode caused me issues with the unloaded filament getting trapped in other 'gates' of the ERCT buffer as it no longer is tied to its own buffer, resulting in either blockage of the buffers of the other gates or a break of the filament inside the selector, preventing it from moving to the next gate from the endless spool group.

A simple solution might be to automatically decrease unload speed if filament run out is detected. Or just use the remaining filament and wait with filament change until the toolhead sensor is reached (by purging if this is before the end of the print/color change).