prusa3d / Prusa-Firmware

Firmware for Original Prusa i3 3D printer by PrusaResearch
GNU General Public License v3.0
1.99k stars 1.05k forks source link

[BUG] MMU load retries causing blobs on wipe tower when filament has groove in it. #4655

Open ggppjj opened 2 months ago

ggppjj commented 2 months ago

Printer type - MK3S+ Printer firmware version - 3.13.3 MMU upgrade - MMU3 MMU upgrade firmware version - 3.0.2

SD card or USB/Octoprint Octoprint via newly installed OctoPi on a Pi A+ connected to RPi port.

Describe the bug I have old filament that prints fine but develops grooves easily during load and unload. This will cause it to fail to load over the course of a longer MMU print with more filament swaps. The MMU will attempt to load the filament automatically, fail at the step where it's testing the extruder filament sensor, and automatically begin to unload and then retry the load of the filament. It seems that this automatic process advances more filament than it retracts overall, as this process always extrudes a fairly large blob on my wipe tower that makes the print instantly unrecoverable past that point.

To Reproduce Print an MMU print using filament that has a small flattened groove cut into it that would cause it to fail to load. Observe reload behavior to see if it extrudes a blob.

Expected behavior Automatic filament load retries should not include pushing filament out of the nozzle.

G-code Will provide on request, however this issue does not require specific g-code to trigger.

Video Unavailable at this time.

u89djt commented 2 months ago

(printer owner wondering what's happening with equipment of interest) Your description suggests that you've given it filament that's a wrong shape for the sensor to detect, so it attempts to load, and actually succeeds but doesn't think it succeeded, and so tries again. It seems like that would necessarily extrude filament because it's pulling at filament that's already there, or at least further in than it thinks. Thats sounds like expected behaviour for undetectable filament rather than a bug. Does that sound consistent with what you're experiencing? The manual says that calibration of the sensor is crucial. Have you tried recalibrating the sensor for your misshapen filament? That's not a recommendation, but maybe you'd get away with it while you use up the old filament.

ggppjj commented 2 months ago

To clarify, the filament starts out fine and goes through multiple load/unloads successfully and prints fine, but will occasionally have a flat spot ground into it by the load/unload process that causes later attempts at loading to fail during the load check.

The filament ends up looking like this googled example: image

My sensor is fine, and I believe that this problem is not desirously calibratable.

I accept my filament isn't great, I accept that the MMU is correctly triggering the reload.

This bug report is specifically that the automatic load retry function is currently pushing out more plastic than I believe the team at Prusa would like it to push, because having an auto-reload attempt which is supposed to cut down on user interventions trigger will always cause a blob on the wipe tower.

ggppjj commented 1 month ago

@Prusa-Support I apologize for the direct ping, I'll do my best to not waste your time with it.

I believe currently that the auto-retry function of the MMU is using a reload step that intentionally pushes out more filament to purge than the normal MMU load does. It's my strong belief that this auto-retry function as it stands will only cause bad prints or failed prints, instead of leading to a recovery from an error as it is intended.

When someone from the team is available, it would be helpful for someone to either simulate this scenario or inspect the code for this scenario to determine if an MMU doing a filament load fail retry sequence is using a different loading method than the normal MMU swap load does.

Thank you.