Where to add a delay during filament load in firmware?
 
Notifications
Clear all

Where to add a delay during filament load in firmware?  

  RSS
ANTALIFE
(@antalife)
Trusted Member
Where to add a delay during filament load in firmware?

Hi All

 

I am wanting to make my MMU2S more reliable by adding a small delay during filament load, and by the looks of things I will need to change something in the firmware to do this

Now my MMU2S has been running pretty stable after some mods, but every once in a while I have issues with loading. The interesting thing is that it does not fail due to the tip being too fat but due to the tip having an irregular diameter (see below), which causes the IR sensor (at the extruder) to think that suddenly there is not filament present and initiate an unload

 

 

Hence I want to add a small delay after the IR sensor first sees the filament come in, as I believe that doing so will mask the diameter irregularity during load. From my understanding I need to do this in "mmu.cpp" by changing:

 

if (PIN_GET(IR_SENSOR_PIN) == 0) move = MMU_NO_MOVE;

 

to

 

delay_keep_alive(2000); //delay to mask diameter irregularity during load

if (PIN_GET(IR_SENSOR_PIN) == 0) move = MMU_NO_MOVE;

 

 

With all that said, would anyone more familiar with the firmware be able to comment if I am adding a delay in the right place?

www.antalife.com

Posted : 09/08/2020 12:00 am
3d-gussner
(@3d-gussner)
Reputable Member Prusa-Translations
RE: Where to add a delay during filament load in firmware?

Please search on Github https://github.com/prusa3d/Prusa-Firmware/issues if there is already something similar, if not please open a new issue.
I am wondering why your tips are looking like this with the indentation? Do you have a special procedure to form the tips?
For me it looks like you ram it few times to get nice tip BUT yank it out while it is still "hold" by the gears and stretch the "softer" part of the filament.

Looking at your https://www.antalife.com/2020/07/project-prusa-i3-mk3s-mmu2s.html page the tips look very different to what you are showing here.

Did you try TheZeroBeast firmware https://github.com/TheZeroBeast/TZB-MMU2S-Firmware He is very active with the MMU2.

Posted : 09/08/2020 8:45 am
ANTALIFE
(@antalife)
Trusted Member
Topic starter answered:
RE: Where to add a delay during filament load in firmware?

@3d-gussner

Oh wow that's a lot of open cases on github! Will have a look through issues, but if I dont find something is my delay in the right location?

Also no special procedure besides using PrusaSlicer 2.2.0 DRIBBLING by antimix

 

Yea not sure why this time it's so different. But it is a new roll of white plastic from a different manufacturer

 

Also thanks for showing TheZeroBeast FW. For others, here is a summary of differences to Prusa FW:

https://github.com/TheZeroBeast/TZB-MMU2S-Firmware/releases

 

www.antalife.com

Posted : 09/08/2020 9:02 am
3d-gussner
(@3d-gussner)
Reputable Member Prusa-Translations
RE: Where to add a delay during filament load in firmware?

The Github issues are at this moment the main platform Prusa uses for these kind of things.
The advantage of github issues is that they are well documented and can be followed up.

We try to get the "open" number down BUT often owners of an issue don't close them even they have been solved/commented/approved or disapproved.

Posted : 09/08/2020 9:26 am
ANTALIFE
(@antalife)
Trusted Member
Topic starter answered:
RE: Where to add a delay during filament load in firmware?

@3d-gussner

Understood. I had a good look and the closest one I can find to what I am experiencing is this:

https://github.com/prusa3d/Prusa-Firmware/issues/1938

Though with above retraction was the culprit, which I don't think fits with what I am describing

 

With that said, are you able to please tell me if my delay location makes sense?

www.antalife.com

Posted : 09/08/2020 11:51 am
ANTALIFE
(@antalife)
Trusted Member
Topic starter answered:
RE: Where to add a delay during filament load in firmware?

Also enhancement suggestion created on GitHub

https://github.com/prusa3d/Prusa-Firmware/issues/2797

www.antalife.com

Posted : 09/08/2020 12:16 pm
ANTALIFE
(@antalife)
Trusted Member
Topic starter answered:
RE: Where to add a delay during filament load in firmware?

Update time

Have modified 3.9.0 FW to better handle diameter irregularities, see MK3_3.9.0-ANT

Only change is to "can_load()" function of "mmu.cpp", as here I adjusted the "filament_detected_count" threshold from 26 (-4) to 5 (-25). Doing so means the IR sensor has to see 5 instances of valid load (vs the old 26) for the filament load to be considered successful. For one of my 5 colour prints above change has reduced failed loads from 10 to 0 😀

www.antalife.com

Posted : 17/08/2020 7:44 am
Share: