Duet 3 Behavior Erratic After Pausing and Cancelling a Print
jtashman last edited by
I have a Duet 3 with a Raspberry Pi 4 SBC running a bioprinter I built for my PhD. It's been working great, but I recently identified a behavior I can't seem to isolate the cause of. I have an imaging system set up as a third tool head and in a gcode where I could repeatedly generate the erratic behavior (cranialarteries332021.gcode) I have a tool swap I insert with MATLAB every 10 layers to move the imaging system into place over what I'm printing. I measure the tool offsets before each print using the printer and use G10 to update them prior to printing.
;LAYER:10 G91 G1 Z30 T2 G90 G1 X0 Y0 G1 Z0.350 M226 G91 G1 Z30 T0 G90 G1 X0 Y0 G91 G1 Z-25 G90
If I run this cranialarteries332021.gcode after restarting the SBC and power cycling the Duet 3 it executes without issue. If I start the print, then while it is printing pause and cancel the print, the issue arises the next time I go to start a print. The print will execute well until the first time the imaging system is supposed to move into position. When the code above is executed it appears as if the printer gets trapped in a relative motion state after the first G91 executes. So instead of moving to the tool head's X0 Y0 Z0.350 position it just stays at the X Y location where it moved up 30 mm, then raises another 0.35 mm and pauses. After this point the printer only moves relatively as if G91 is active, even if I send G90. The only way I can reset the printer to a useable state is to shut down the SBC, power cycle the Duet 3, and the boot up the SBC. After that everything works again.
Thanks In Advance,
Example Gcode which can cause erratic behavior
M122 from after reboot and power cycle:
M122 from when printer is having no issue:
M122 from after pausing the printer the first time:
M122 from after cancelling the print the first time:
M122 from the first pause after restarting the gcode (to move imaging system in):
M122 from when the printer seems trapped in relative motion:
Can you test using pause and cancel files that have actual commands in it?
jtashman last edited by
@Phaedrux I was wondering if there might be an issue with having those empty. I'll try it and post the results, thanks.
Instead of powering off, have you tried either using M999 to reset the Duet, or sending M98 P"config.g" to set it up again?
You can use the object model browser to check whether relative motion is selected for the File input channel: