Firmware 3.4b7 - firmware retraction bug
-
@dc42 I still can't downgrade but I found out what could have caused the problem: the M563 command in config.g (but also from the console) resets the retraction of the tool, so M207 must follow M563.
-
@dc42 I have found something interesting. Since the firmware retraction behave unexpectedly, I've switch to slicer retraction and ran some test prints. The retract/unretract or let say any commands that involve extruder movement. Sometime the extruder move at a very high speed as well (Command that involve pure extruder move e.g. G1 E5).
This show that the issue is not purely related to retractions.
I think it will be easier to debug the issue by simply setup a gcode with a bunch of G1 E** commands and observe the extruder speed.
Hope it help for further investigation.
-
@natthapol-vanasrivilai I've run your test file several times using both RRF 3.3 and 3.4b7, but I was unable to detect any differences in the sound. I disconnected the X and Y motors so that I could hear only the extruder motor.
However, when I enabled debug output I did see a different between RRF versions. This difference might occasionally cause the first 2, 4 or 8 microsteps of an extruder movement to be performed rapidly instead of at the correct speed. It is possible that this might explain the difference in sound you heard.
I have corrected this and put a new RRF firmware build at https://www.dropbox.com/sh/up0gytwkxcn4if2/AACO6rIrTu5kPSgMxOmjmxdZa?dl=0. Please try it.
-
@dc42 When this behavior happens to me, it lasts for the entire commanded movement of the extruder, so I don't think that anything about a few microsteps would create that sound. I'm confused why it only happens to rarely, just yesterday night it happened again during my normal filament unload macro.
-
@diamondback can you provide a test file that reproduces this behaviour?
-
@dc42 I'm afraid I can't, it happens seemingly randomly when unloading filaments via the DWC feature. The gcode that is running when it happens is posted in my first post in this thread.
For what it's worth, it's a TC design with 4 tools, it seems to happen on all of them from time to time (ie. I've seen it happen on every tool at least once, it's not restricted to a specific tool) -
@diamondback the G91 and G90 commands in that macro will have no effect. You should replace G91 in that macro by M83 and remove the G90 line. That will probably fix the issue for you.
-
@dc42 I'll test with the attached firmware and let you know how it is
-
@dc42 Unfortunately, the issue is still persist with the 3.4b7+3 firmware.
-
@dc42 I was be able to make the problem go away by changing acceleration/jerk/max. speed of the extruder. The same print file running with old config.g and new config.g show no sign of unwanted rapid extrusion.
The test ran using 3.4b7+7. This might help narrow down the issue.
The jerk was reduced from 1000 to 300mm/min (5mm/s)
Max speed was reduced from 9000 to 3600mm/min (60mm/s)
Acceleration was reduced from 10000 to 5000 mm/s2
Since the above parameter was reduced, I've reduced the extruder motor current from 800mA to 600mA as well. -
@dc42 said in Firmware 3.4b7 - firmware retraction bug:
@diamondback the G91 and G90 commands in that macro will have no effect. You should replace G91 in that macro by M83 and remove the G90 line. That will probably fix the issue for you.
Hah, my bad, yea those G90/91 are leftovers, the printer is running in relative extrusion mode all the time anyway.
I triggered the issue with some manual extrusion yesterday, simply by using the console...G1 E100 F300
Immediately sending that very same command again worked fine and as expected.
-
@diamondback Hi, do you mind sharing your jerk/acceleration/max speed for extruder here as well?
The problem seems to go away when I reduced the value of jerk/acceleration of extruder. I would like to know how your machine is setup for these values.
The problem is definitely there, I'm just setup the config to avoid this specific firmware issue.
-
@natthapol-vanasrivilai
;=================== Extruder ====================== M92 E408:408:408:408 ; set steps per mm M350 E16:16:16:16 I1 ; configure microstepping M566 E500:500:500:500 ; set maximum instantaneous speed changes (mm/min) M203 E15000:15000:15000:15000 ; set maximum speeds (mm/min) M201 E3000:3000:3000:3000 ; set accelerations (mm/s^2) ;====================================================
These are 4 identical Bondtech LGX extruders. Are you sure the issue is actually gone or just hidden because you reduced the max speed a lot?
-
@diamondback The issue is still there, but I have to find the way to make the machine work reliable again around this issue. With the rapid retracts/extrusions, sometime I get extruder jam on softer filaments (HIPS/ABS/Some PLA variants).
-
@natthapol-vanasrivilai please let me know if you find a good way to reproduce the difference in behaviour between 3.3 and the latest 3.4beta version (with input shaping disabled in both cases), because I can't detect any difference.
-
@dc42 Hi, It's hard for me to make the issue reproducible as well.
What you could try is to set the M203 extruder max speed to some really high value (50,000mm/min) or some value that the extruder will definitely stalled upon rapid movement. Also up the jerk/acceleration values to allow the extruder to stall on unwanted rapid movement as well.
Make the retraction length really long (10-20mm) but only set M207 retract at normal speed (35-60mm/s).
Slice and run the retraction tower or anything similar that will perform G10/G11 a number of times. The problem is that the issue is inconsistent, with the same Gcode file, extruders will sometime randomly do rapid extrusions/retractions. The behavior sometime happen with just a manual G1 E** input in the console as well.
** I ended up rolled back to v3.3 to get the normal behavior back.
-
This seems to have gotten worse for me with 3.4 RC1. Previously I only noticed it during filament unload, now it also happens during loading. Which is unfortunate since I run a fairly lengthy purge script at that point...
ALL of the extrusion moves during the load macro are massively sped up (making the loading fail in turn since it doesn't actually manage to extrude any meaningful amount of filament) -
@diamondback do you have a reliable way to reproduce this issue?
-
@dc42 Unfortunately still no I just hope that at some point the puzzle pieces fit together and you have an idea what might cause it...
-
-
@dc42 I just had it happen two times (with two different tools) for the first time during a longer move when changing filaments (it was a long retract in the unload macro). Interestingly enough, it spawned these errors:
Driver 4 warning: phase A may be disconnected, phase B may be disconnected
and then with a different tool a minute or so later:
Driver 5 warning: phase A may be disconnected, phase B may be disconnected
Both times the stepper did actually turn, just way too fast. The extruders weren't gripping the filament at this point (LGX) so they had basically zero resistance and therefore didn't stall like the other times.
Maybe that rings any bells?
PS: Using 3.4.2-rc1 in standalone on Duet 2 + Duex 5