Mid-print stepper motor issue (3.6.0-beta.3)
-
Hello Community,
Recently I started encountering an error while printing longer print files - either the X or the Y axis suddenly stops moving (but makes a lot of noise) while the printer continues without throwing an error. This happened mid print a few times before I switched the X-axis to a new driver, which resolved the issue ... until today when the Y axis suddenly had the same error. Resetting the printer resolves the issue, but in hopes of actually permanently resolving it I once again moved the Y stepper to a new driver (1.2).
Does anyone have any idea why this might be happening?
My machine runs the Duet 3 Mainboard 6HC + Expansion 3HC. I have two tools sharing the Z and Y axes, with independent X axes (X,U). I'm running 3.6.0-beta.3 as it resolved several issues when pausing the heads (bed mapping is enabled with independent bed maps for each toolhead,
Config file:
Hello Community, Recently I started encountering an error while printing longer print files - either the X or the Y axis suddenly stops moving (but makes a lot of noise) while the printer continues without throwing an error. This happened mid print a few times before I switched the X-axis to a new driver, which resolved the issue ... until today when the Y axis suddenly had the same error. Resetting the printer resolves the issue, but in hopes of actually permanently resolving it I once again moved the Y stepper to a new driver (1.2). Does anyone have any idea why this might be happening? My machine runs the Duet 3 Mainboard 6HC + Expansion 3HC. I have two tools sharing the Z and Y axes, with independent X axes (X,U). I'm running 3.6.0-beta.3 as it resolved several issues when pausing the heads (bed mapping is enabled with independent bed maps for each toolhead, loaded between toolchanges.) Config file below: M669 K0 G4 S2 ; wait for expansion boards to start ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves ; Drives M569 P0.0 S0 ; physical drive 0 goes backwards M569 P0.1 S0 ; physical drive 1 goes backwards M569 P0.2 S0 ; physical drive 2 goes forwards M569 P0.3 S0 ; physical drive 3 goes backwards M569 P0.4 S1 ; physical drive 4 goes backwards M569 P0.5 S0 ; physical drive 5 goes backwards M569 P1.0 S1 ; physical drive 6 goes backwards M569 P1.1 S0 ; physical drive 7 goes backwards M569 P1.2 S0 ; physical drive 8 goes backwards M584 X0.0 Y1.2 Z0.4:1.0 E0.2:1.1 U0.1 V0.3 ; set drive mapping (Z left:right) M350 X16 Y16 Z4 E16:16 U16 V16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z100.00 E130:30704 U80 V35.55555 ; set steps per mm M566 X1200.00 Y1200.00 Z600.00 E1500.00:1500 U1200 V21600 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z2400 E2000:35 U12000 V216000 ; set maximum speeds (mm/min) M201 X1200.00 Y1200.00 Z350.00 E250.00:500.00 U900.0 V21600 ; set accelerations (mm/s^2) M906 X1200 Y1200 Z1200 E800:800 U1200 V600 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-30 Y0 Z0 U0 V-720 S1 ; set axis minima (note: U axis (T1) can collide with (T0)) M208 X326.55 Y378.8 Z200 U370 V720 S0 ; set axis maxima ; Endstops M574 X2 S1 P"1.IO4.in" M574 Y1 S1 P"1.IO1.in" ; configure switch-type (e.g. microswitch, S1) endstop for low end on Y via pin ystop M574 Z1 S1 P"0.IO3.in+1.IO5.in" ; configure switch-type (e.g. microswitch) endstop for high (Z2) end for left+right z stepper motors, active high (active low requires ! symbol) M574 U1 S1 P"0.IO8.in" ; High end microswitch ; Z-Probe ;Tool 0 Probe (XYZ) M558 K0 P9 C"io5.in" H3 F60 T10000 ; configure BLTouch probe via slot #0 G31 K0 P500 X-43.5 Y-102.8 U0.0 Z17.420 ; set Z probe trigger value, offset and trigger height M950 S0 C"io5.out" ; create servo #0 for BLtouch ;Tool 2 Probe (UYZ) M558 K1 P9 C"0.io7.in" H4 F60 T6000 ; configure BLTouch probe via slot #1 G31 K1 P500 X0.0 Y-101.8 U-160 Z3.290 ; set Z probe trigger value, offset and trigger height M950 S1 C"0.io7.out" ; create servo #1 for BLtouch M557 X10:210 Y10:210 P9 ; define mesh grid (only XY, not U probing setup here) ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"out1" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 R0.345 K0.235:0.000 D3.29 E1.35 S1.00 B0 M140 H0 ; map heated bed to heater 0 M143 H0 S150 ; set temperature limit for heater 0 to 150C M308 S2 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp - FOR TOOL 0 M950 H2 C"out3" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H2 R4.782 K0.914:0.000 D3.71 E1.35 S1.00 B0 V23.7 M143 H2 S450 ; set temperature limit for heat 2 to 450C ; Fans M950 F0 C"out9" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off ;M950 F1 C"out8" Q500 ; create fan 1 on pin fan1 and set its frequency ;M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools (note: All offsets will be automatically calibrated later using calibration macro) M563 P0 D0 H2 F0 ; define tool 0 (FFF head left) G10 P0 R160 S220 ; set initial tool 0 active and standby temperatures G10 P0 X1.3 Y-102.2 Z-16.15 U0.000 M563 P1 D1 X3 ; define tool 1 (inkhead, no fans or heaters) G10 P1 X0.000 Y-68.900 Z-4.800 U-160.4 G29 S2
-
@SebastianM post an M122 output for the board it occurs on after it has occurred
-
@SebastianM please retest using beta4.
-
Had the extruder for toolhead 0 have the failure occur, here is the M122. Extruder 0 is on the mainboard (0.2)
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.6.0-beta.3 (2025-01-16 19:09:36) running on Duet 3 MB6HC v1.02 or 1.02a (SBC mode)
Board ID: 0JD4M-958L1-M24TD-6J1FG-3SD6N-11STW
Used output buffers: 1 of 40 (18 max)
=== RTOS ===
Static ram: 136892
Dynamic ram: 96864 of which 0 recycled
Never used RAM 109292, free system stack 148 words
Tasks: SBC(2,ready,0.9%,803) HEAT(3,nWait 6,0.0%,325) Move(4,nWait 6,0.2%,215) TMC(4,nWait 6,3.1%,343) CanReceiv(6,nWait 1,0.0%,794) CanSender(5,nWait 7,0.0%,329) CanClock(7,delaying,0.0%,348) MAIN(2,running,95.7%,101) IDLE(0,ready,0.1%,29) USBD(3,blocked,0.0%,144), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:35:26 ago, cause: software
Last software reset at 2025-02-19 16:57, reason: User, Gcodes spinning, available RAM 110480, slot 2
Software reset code 0x2003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
MCU temperature: min 38.1, current 39.0, max 39.4
Supply voltage: min 23.4, current 23.7, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.1, current 12.2, max 12.4, under voltage events: 0
Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/28/0, gc cycles 0
Events: 0 queued, 0 completed
Date/time: 2025-02-19 17:33:13
Slowest loop: 530.15ms; fastest: 0.05ms
USB interrupts 3
=== Storage ===
Free file entries: 20
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
Segments created 42, maxWait 31829ms, bed comp in use: mesh, height map offset 0.000, hiccups added 0/0 (0.00/0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00
Pos req/act/dcf: 12836.00/13325/-0.00 13329.00/12816/1.00 1840.00/1837/0.00 0.00/0/0.00 0.00/0/0.00
next step interrupt due in 144 ticks, disabled
Driver 0: ok, SG min 0, mspos 262, reads 57606, writes 289 timeouts 28
Driver 1: standstill, SG min 0, mspos 952, reads 57608, writes 287 timeouts 28
Driver 2: ok, SG min 0, mspos 813, reads 57610, writes 285 timeouts 28
Driver 3: standstill, SG min n/a, mspos 8, reads 57613, writes 282 timeouts 28
Driver 4: ok, SG min 0, mspos 25, reads 57606, writes 289 timeouts 28
Driver 5: standstill, SG min n/a, mspos 984, reads 57620, writes 275 timeouts 28
Phase step loop runtime (us): min=0, max=26, frequency (Hz): min=502, max=32608
=== DDARing 0 ===
Scheduled moves 28130, completed 28071, LaErrors 0, Underruns [0, 0, 0]
Segments left 1, axes/extruders owned 0x8000000f, drives owned 0x8000000f
Code queue is empty
=== DDARing 1 ===
Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0]
Segments left 0, axes/extruders owned 0x00000000, drives owned 0x00000000
Code queue is empty
=== Heat ===
Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1 -1 -1 -1 -1, ordering erHeater 0 is on, I-accum = 0.3
Heater 2 is on, I-accum = 0.4
=== GCodes ===
Movement locks held by null, null
HTTP* is doing "M122" in state(s) 0
Telnet is idle in state(s) 0
File* is doing "G1 X147.632996 Y61.494999 E0.024740" in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger* is idle in state(s) 0
Queue* is idle in state(s) 0
LCD is idle in state(s) 0
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
File2 is idle in state(s) 0
Queue2 is idle in state(s) 0
=== CAN ===
Messages queued 46368, received 17045, lost 0, ignored 0, errs 0, boc 0
Longest wait 1ms for reply type 6018, peak Tx sync delay 366, free buffers 50 (min 49), ts 10078/10077/0
Tx timeouts 0,0,0,0,0,0
=== SBC interface ===
Transfer state: 5, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 18559/18559
SPI underruns 0, overruns 0
State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x27c70
Buffer RX/TX: 480/2024-0, open files: 0
=== Duet Control Server ===
Duet Control Server version 3.6.0-beta.3 (2025-01-17 10:25:30, 64-bit)
HTTP+Executed:Executing M122
File 0:/gcodes/CFFFP_Joseph_Adapter_Plate.gcode is selected, processing
File:
Buffered code: G1 X147.633 Y61.495 E0.02474
Buffered code: G1 X147.853 Y61.132 E0.02118
Buffered code: G1 X148.12 Y60.833 E0.02
Buffered code: G1 X148.44 Y60.576 E0.02048
Buffered code: G1 F3042.3 X149.079 Y60.251 E0.03809
Buffered code: G1 X148.659 Y60.297 E0.02245
Buffered code: G1 F3240 X147.067 Y60.575 E0.08063
Buffered code: G1 X144.705 Y61.423 E0.12521
Buffered code: G1 X143.352 Y62.196 E0.07774
Buffered code: G1 F3028 X142.949 Y62.46 E0.02572
Buffered code: G1 X143.4 Y62.35 E0.02478
Buffered code: G1 F3240 X144.088 Y62.29 E0.03445
Buffered code: G1 X144.562 Y62.386 E0.02413
Buffered code: G1 X144.946 Y62.535 E0.02055
Buffered code: G1 X145.292 Y62.749 E0.0203
Buffered code: G1 X145.527 Y62.948 E0.01536
Buffered code: G1 X145.795 Y63.257 E0.02041
Buffered code: G1 X146.006 Y63.605 E0.0203
Buffered code: G1 X146.18 Y64.07 E0.02477
Buffered code: G1 X146.24 Y64.802 E0.03664
Buffered code: G1 X146.163 Y65.264 E0.02337
Buffered code: G1 X146.005 Y65.679 E0.02215
Buffered code: G1 X145.564 Y66.312 E0.03849
Buffered code: G1 X144.936 Y66.745 E0.03806
Buffered code: G1 X144.477 Y66.917 E0.02445
Buffered code: G1 X143.725 Y66.989 E0.03769
Buffered code: G1 X143.328 Y66.919 E0.02011
Buffered code: G1 X142.947 Y66.787 E0.02012
Buffered code: G1 X142.544 Y66.562 E0.02303
Buffered code: G1 X142.196 Y66.258 E0.02305
Buffered code: G1 X141.939 Y65.94 E0.0204
Buffered codes: 1520 bytes total
Code buffer space: 2072
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
Full transfers per second: 39.66, max time between full transfers: 68.5ms, max pin wait times: 47.2ms/3.7ms
Codes per second: 13.10
Maximum length of RX/TX data transfers: 4560/1128 -
@dc42 Will update and report back if the error repeats