prusa3d / Prusa-Firmware

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

[BUG] MMU2S filament load failure with firmware 3.13.x and 3.14.0 (MMU2S fw 3.0.2) - Idler incorrectly positionned #4790

Open cugnonr opened 5 days ago

cugnonr commented 5 days ago

Printer model

MK3S/+

MMU model

MMU2S

Firmware versions

3.14.0

Upgrades and modifications

Prusa MMU2S Rear PTFE Holder (https://www.printables.com/model/22339-prusa-mmu2s-rear-ptfe-holder)

Printing from...

SD Card

Describe the bug

Since firmware 3.13.x and 3.14.0 the MMU2S cannot successfully load filament in the extruder but no issue with firmware 3.10.1 or 3.12.2

I do some checks and discovered that the idler is not positioning the same way with the refactored firmware (3.13.x 3.14.0). See my post on

https://forum.prusa3d.com/forum/original-prusa-i3-mmu2s-mmu2-hardware-firmware-and-software-help/bug-mmu2s-filament-load-failure-with-firmware-3-13-x-and-3-14-0-mmu2s-fw-3-0-2/

As the ball bearings are not positioned correctly on the gears (compared with firmwares 3.10 / 3.12) the filament is not correctly pushed or retracted.from the PTFE tube going to the extruder.

We can see that the filament is mangled where the gear are slipping on it when loading/unloading due to unsuficient pressure of the ball bearing of the MMU2S.

Setting back old firmware fix the issue (the idler is correctly positioning the ball bearing at top of gear). So the issue looks related to firmware and not to hardware fault. The ruler I used to check the position looks to confirm my theory.

How to reproduce

Go in printer menu and load any filament of the MMU2S to the extruder. Use long ptfe at entry of the MMU2S (coming from a dry box).

Expected behavior

The filament should successfully load/unload and should not be damaged by the gears when loading and unloading.

Files

No response

cugnonr commented 3 days ago

I used a clone of the last version of the source code of this firmware (v3.0.3).

I fixed the issue locally on my MMU2S by changing the value of IdlerOffsetFromHome from 18 to 25 in the file config.h of the project PRUSA-FIRMWARE-MMU

config.h line 203 :

static constexpr U_deg IdlerSlotDistance = 40.0_deg; /// Idler distance between two slots // RCU Test Patch MMU2S : adapted home offset from 18 to 25 deg static constexpr U_deg IdlerOffsetFromHome = 25.0_deg; /// Idler offset from home to slots

After compilation and flashing, the Idler takes now a position very similar to position with firmware 3.12.2 and the filament loads correctly in the extruder. But... when unloading, the selector begins to move and trigger an MMU MCU Error... This looks like related to power issue... but flashing back the firmware 3.12.2 no power issue at all...

Very strange as when I do a load of all 5 filaments in the MMU2S I do not have any MMU MCU error... and MMU2S movements during this load are very similar to movements of the unload of the filament from the extruder.

So I suspect another bug with firmware v3.14.x.. Maybe motors moving faster are draining more current... or... a bug in the current detection/management in the firmware...

Any idea?