duet3hc6 resets on tool change
-
Hi all,
I've built a custom idex cartesian with a Duet3HC6 and Duet 3 Expansion 3HC running two e3d hemeras.
The issue I've been having is that Duet 3 mainboard will reset after a tool change. The board resets consistently at the same position in the print. I use Cura as my slicer. I've was running 3.2.2 for a long time, and hoped the upgrade to 3.4.1 would fix the error. Unfortunately, that hasn't been the case. I've attached a copy of my gcode as well. In this model, the board resets at layer 26 or 27 when the tool 0 is set to print.
config.g
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Mar 31 2021 21:23:47 GMT+1100 (Australian Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"duet" ; set printer name ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; x physical drive 0.0 goes forwards: idex 1 M569 P0.1 S1 ; u physical drive 0.1 goes forward: idex 2 M569 P0.2 S0 ; y physical drive 0.2 goes backwards: y axis M569 P0.3 S0 ; Z axis 1 M569 P0.4 S0 ;z axis 2 M569 P0.5 S1 ;Extruder 1 M569 P1.0 S1 ; extruder 2 M584 X0.0 Y0.2 U0.1 Z0.3:0.4 E0.5:1.0 M671 X-120:440 Y185:185 p40 ; Axis Limits ;M208 X-100:420 Y0:380 M208 x-100 u0 y0 z0 s1 ; set axis minima m208 x420 u524 y380 z400 s0 ; higher u moves extruder 2 to right M350 X16 U16 Y16 Z16 E16 i1 ; configure microstepping with interpolation M92 X80.00 U80 Y80.00 Z400.00 E398.58:394.2 ; set steps per mm M566 X700.00 U700 Y700.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 U12000 Y12000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 U500 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X800 u800 Y1500 Z700 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout M911 S21.0 R23.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; if voltage drops <21v ; Endstops M574 X1 S1 P"io2.in" ; configure active-high endstop for low end on X via pin io4.in M574 Y1 S1 P"io3.in" ; configure active-high endstop for high end on Y via pin io3.in M574 U2 S1 P"!io5.in" M915 U R0 F0 M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"io7.out" ; create servo pin 0 for BLTouch M558 P9 C"io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds;G31 P500 X-41 Y5 Z2.5 ; set Z probe trigger value, offset and trigger height ;G31 P500 X32.5, Y-42 z.66 ; 6/9/21 G31 P500 X32.5, Y-42 z.8 M557 X60:420 Y0:330 S50 ; define mesh grid M280 P0 S90 ; Heaters ;Bed M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 - Heated BED M950 H0 C"out1" T0 ; create bed heater output on out2 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120; set temperature limit for heater 0 to 120C ;Extruder 1 M308 S1 P"temp1" Y"thermistor" T165000 B4725 c7.06e-8 R2200 ; configure sensor 1 as thermistor on pin temp1 - Extruder 1 M950 H1 C"out2" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ;Extruder 2 M308 S2 P"temp2" Y"thermistor" T100000 B4725 c7.06e-8 ; configure sensor 1 as thermistor on pin temp1 - Extruder 1 M950 H2 C"out3" T2 ; create nozzle heater output on out1 and map it to sensor 1 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H2 S280 ; set temperature limit for heater 1 to 280C ; Fans ; Extruder 1 - part fan M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency m106 p0 s0 ; set fan 0 value. Thermostatic control is turned on ; Extruder 2 - hot end fan M950 F1 c"out8" Q500 m106 p1 s1 h2 ; Extruder 2 - part fan ;Part fan M950 F2 c"out9" q500 ; create fan 1 on pin out8 and set its frequency M106 P2 S0 ; Custom settings are not defined ;''' Tool configuration section of config.g''' ;''' Create a tool that uses the low end (X) carriage''' M563 P0 S"Extuder A" D0 H1 F0 ; tool 0 uses extruder 0, heater 1 and fan 0 G10 P0 X0 Y0 Z0 S0 R0 ; set tool 0 offsets and temperatures M591 P1 C"io4.in" S1 D0 ; filament monitor connected to E0 endstop M591 P2 C"io1.in" S1 D1 ;''' Create a tool that uses the high end (U) carriage''' M563 P1 S"Extruder B" D1 H2 X3 F3 ; tool 1 uses extruder 1, heater 2, fan 2, and maps X to U G10 P1 Y2.5 U0 Z7.7 S0 R0 ;adjusts extrude 2 offset. larger number, the closer to bed, larger y moves to front ;M671 X80:460:460:80 Y300:300:-35:-35 P0.5 ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z2.7 E-5 F1000" ; set voltage thresholds and actions to run on power loss ;M207 S2.0 F2400 Z.6 5/9/21 M207 P0 S2.0 F7200 Z0 M929 s1
tfree0.g
M83 ; relative extruder movement G1 E-2 F3600 ; retract 2mm M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G1 Z10 F500 ; up 3mm G90 ; absolute axis movement G1 S2 X-100 F6000 ; park the X carriage at -48mm m561 m564 s0
tfree1.g
; tfree1.g ; called when tool 1 is freed ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Mar 31 2021 21:23:47 GMT+1100 (Australian Eastern Daylight Time) M83 ; relative extruder movement G1 E-2 F3600 ; retract 2mm M106 S0 ; turn off our print cooling fan G91 ; relative axis movement G1 Z10 F500 ; up 3mm G90 ; absolute axis movement G1 S2 U511 F6000 ; park the U carriage at +248mm
tpost0.g
M106 R2 ; restore print cooling fan speed M116 P0 ; wait for tool 0 heaters to reach operating temperature M83 ; relative extruder movement G1 E2 F3600 ; extrude 2mm
tpost1.g
M106 R2 ; restore print cooling fan speed M116 P1 ; wait for tool 1 heaters to reach operating temperature M83 ; relative extruder movement G1 E2 F3600 ; extrude 2mm
M122
19/06/2022, 14:55:39 M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.1 (2022-06-01 21:09:01) running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-956L2-G43S8-6J1D6-3S46T-KU2QF Used output buffers: 3 of 40 (38 max) === RTOS === Static ram: 151000 Dynamic ram: 97424 of which 64 recycled Never used RAM 102184, free system stack 200 words Tasks: NETWORK(ready,26.7%,227) ETHERNET(notifyWait,0.2%,168) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,772) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,7.9%,92) MAIN(running,65.2%,1101) IDLE(ready,0.0%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:05:52 ago, cause: power up Last software reset at 2022-06-18 22:27, reason: User, GCodes spinning, available RAM 98688, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Step timer max interval 132 MCU temperature: min 15.0, current 31.4, max 31.6 Supply voltage: min 23.8, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.1, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 8, reads 63665, writes 14 timeouts 0 Driver 1: standstill, SG min 0, mspos 8, reads 63664, writes 15 timeouts 0 Driver 2: standstill, SG min 0, mspos 8, reads 63665, writes 14 timeouts 0 Driver 3: standstill, SG min 0, mspos 8, reads 63665, writes 14 timeouts 0 Driver 4: standstill, SG min 0, mspos 8, reads 63665, writes 14 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 63666, writes 14 timeouts 0 Date/time: 2022-06-19 14:56:01 Slowest loop: 6.83ms; fastest: 0.05ms === Storage === Free file entries: 9 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 1.3ms, write time 1.9ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle 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 Code queue is empty === Filament sensors === Extruder 0 sensor: ok === CAN === Messages queued 3178, received 2826, lost 0, boc 0 Longest wait 1ms for reply type 6042, peak Tx sync delay 6, free buffers 50 (min 49), ts 1762/1761/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 27.33ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 3 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 2 2 2 2 0 0 0
M98 P"config.g"
19/06/2022, 14:56:55 HTTP is enabled on port 80 FTP is disabled TELNET is disabled Error: Filament monitor port must be on same board as extruder driver Warning: Heater 1 predicted maximum temperature at full power is 536°C Warning: Heater 2 predicted maximum temperature at full power is 512°C 19/06/2022, 14:56:54 M98 P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled Error: Filament monitor port must be on same board as extruder driver Warning: Heater 1 predicted maximum temperature at full power is 536°C Warning: Heater 2 predicted maximum temperature at full power is 512°C
[microsope stand5.gcode](/assets/uploads/files/1655616088893-microsope-stand5.gcode) code_text
-
@akayoshi said in duet3hc6 resets on tool change:
Last reset 00:05:52 ago, cause: power up
Is this M122 gathered immediately after the reset? It seems to think that it was a power reset, so check that you don't have a short or other problem with the PSU.
-
@phaedrux the m122 command was issued the next day. I can’t recall if I had power cycled the printer with the power switch…
However I don’t think it is an issue with the power supply as the board resets at the same position in the print.
Any other ideas?
-
I had the same issue in august 2021, but I didn’t really persist with troubleshooting the issue.
https://forum.duet3d.com/topic/24788/duet-3-idex-resets-at-consistent-position?_=1655821071814
-
Have you corrected the issue with the wiring of the filament monitor?
Aside from that I would suspect a wiring issue leading to a short at certain positions of the tool.
Frederick
-
@akayoshi said in duet3hc6 resets on tool change:
@phaedrux the m122 command was issued the next day. I can’t recall if I had power cycled the printer with the power switch…
However I don’t think it is an issue with the power supply as the board resets at the same position in the print.
Any other ideas?
Well without an M122 capture directly after the fault without a power cycle in between we don't know what the issue is. The current M122 you've shown only points to power being cycled.
Now if it is a power fault getting triggered at that point I would say look at the wiring. Is there something about the head position at that point that causes a short?
Are your stepper motors and hotend metal work grounded?
-
does the board also fault when you simulate the print?