Extruders Not Obeying G1 Feed Rate
-
@fcwilt Thank you. I expected that would work fine. My print has been running as expected for about 36 hours, now, and the only weirdness is with this macro.
-
@tfjield said in Extruders Not Obeying G1 Feed Rate:
@fcwilt Thank you. I expected that would work fine. My print has been running as expected for about 36 hours, now, and the only weirdness is with this macro.
Well, then I will have to take a close look at your code and see if I can spot anything.
Frederick
-
Do you happen to have increased flow rate percentage set? Just a thought.
-
@phaedrux Nope, just set to 100%. My long print is almost done, and I'm going to try to duplicate the problem and gather more info.
-
@phaedrux @fcwilt
Here's an update. After my print finished today I ran a test print and I triggered several filament errors. It turns out that even when manually operating the extruder it does the same thing: it tries to retract and extrude at an extremely high rate. This happens the first couple of times I try to retract / extrude, but then it starts working correctly. It starts working correctly after trying to retract / extrude a couple(?) of times. And here's the kicker: after it starts working correctly, it keeps working correctly on subsequent trigger faults!I realize that when I upgraded from 3.3 to 3.4, I didn't fully understand the ramifications of the change, and I didn't really understand the macros. I dug in a bit more and I've updated them. Please ignore the previous files. And please let me know if you see anything wrong in these.
Now, here's my filament-error.g:
; filament-error.g ; called on any filament error M25 ; first, pause the print M118 P0 S"Print paused due to filament error." L2 ; message G4 P1 ; dwell for 1 ms M291 R"Attention!" P"Filament Sensor raised an error for E" ^ param.D ^ "." S1 ; message
And since M25 will call pause.g, here it is:
; pause.g ; called when a print from SD card is paused M300 S1111 P222 ; beep M117 "Print is being paused." ; message G4 P1 ; dwell 1ms M83 ; relative extruder moves G1 E-5 F800 ; retract 5mm of filament G91 ; relative moves if {(move.axes[2].machinePosition) < (move.axes[2].max - 10)} ; check if there's sufficient space to raise head M291 P{"Raising head to... " ^ move.axes[2].machinePosition+5} R"Raising head" S0 T3 ; message G1 Z+5 F3000 ; move Z up a bit else M291 P{"Cannot raise head- insufficient space " ^ move.axes[2].machinePosition ^ " : " ^ (move.axes[2].max - 10) ^ "."} R"Raising head" S0 T3 G4 S3 ; wait for popup to display G90 ; absolute moves G1 X1 Y1 F6000 ; move quickly to the front left M300 S1111 P333 ; beep M106 S0 ; set fans to 0 T-1 P0 ; deselect tools
So now at this point, either running the 02_Filament Change macro or just trying to extrude / retract manually results in the extruder running extremely fast.
Any ideas? Anything I should try? I'm thinking perhaps clear pause.g and see what happens then...
It looks like I can enable g-code debugging via USB with M111 P3 S1. Think looking at that during the filament error would be helpful?
-
I haven't spotted the problem so far.
Just FYI there is no real need in your pause file to check the position just do the G91 G1 Z5 and it either will move the 5mm or less. No point in telling the end user about something that cannot be helped.
Will keep looking.
Frederick
-
@fcwilt Thanks for that!
-
@fcwilt @Phaedrux
Just an update, I've found that the issue isn't just when there's a filament error. If I just home the machine, turn on the hot end, and then try to retract to change the filament, I often have the same issue: the extruder races to try to extract. Hitting retract again and it usually runs at the normal rate.When this print is done, I'll see if this happens from a cold start so it can be duplicated.
-
Sounds like the same issue as here: https://forum.duet3d.com/topic/26496/firmware-3-4b7-firmware-retraction-bug/41?_=1655723442382
I'm still battling this at random times during macro use. Once it happens inside a macro, even manual extrusion doesn't work correctly anymore.
Sometimes a toolchange fixes it (not always though), but it have never seen this during an actual print. -
@diamondback Looks like it! Thanks for making the connection. Yeah, I've never seen it during a real print, either. But yesterday I had booted the machine and I was changing the filament without using any macros and it did it then, too. When I get back home tonight I'll see if I can reproduce it without macros.