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