Resetting the printer during a print in random places
-
Hi, I have a 3d printer with a duet 6hc control board. The printer is for pellets, so two heaters are installed, which are connected to the board via SSR 5A. The melting system is driven by a gearbox. The power supplies are MEAN WELL LRS-350-24. The height sensor is an IR probe. For how long have I been struggling with the problem of resetting the printer during a printout (reset occurs in random places).
My observations show:
- accidental reset occurs when retraction is enabled,
- I placed the entire control system outside the frame of the 3d printer so that the vibrations do not pass, but the reset still appears,
- resetting occurs regardless of the model.
Have any of you had a similar problem and can help me?
My config file:
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.2 on Thu Feb 11 2021 20:03:31 GMT+0100 (czas środkowoeuropejski standardowy) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"...." ; set printer name ; Network M551 P"....." ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 D3 V100 ; physical drive 0.0 goes forwards (X) M569 P0.1 S0 D3 V100 ; physical drive 0.1 goes forwards (Y) M569 P0.2 S0 D3 V100 ; physical drive 0.2 goes forwards (Z) M569 P0.3 S1 D3 V100 ; physical drive 0.3 goes forwards (E0) M569 P0.4 S0 D3 V100 ; physical drive 0.4 goes forwards (X) M569 P0.5 S0 D3 V100 ; physical drive 0.5 goes forwards (Z) M584 X0.0:0.4 Y0.1 Z0.2:0.5 E0.3 ; set drive mapping M593 F30 ; M667 S0 ; Cartesian mode M671 X467:467 Y1150:-200 S5 ; leadscrews at left and right, M92 X91.43 Y91.43 Z91.43 E90 ; set steps per mm E268.05 M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M566 X1000.00 Y1000.00 Z600.00 E2500.00 P1 ; set maximum instantaneous speed changes (mm/min) M201 X50.00 Y50.00 Z120.00 E2000.00 ; set accelerations (mm/s^2) M203 X10000.00 Y10000.00 Z4000.00 E2500.00 ; set maximum speeds (mm/min) M204 P25 T3000 ; Set printing and travel accelerations M906 X4000 Y4000 Z4500 E5500 I30 ; set motor currents (mA) and motor idle factor ;M915 P0.0:0.1:0.2:0.3:0.4:0.5 S3 H500 R1 ; motor stall detection M84 S30 ; Set idle timeout M572 D0 S0.6 ; pressure ;M564 H0 ; limit axis off M591 D1 P0 S0 ; filament sensor ; Axis Limits M208 X-10 Y-10 Z0 S1 ; set axis minima M208 X935 Y950 Z1010 S0 ; set axis maxima ; Endstops M574 X2 S1 P"io1.in+io4.in" ; configure active-high endstop for high end on X via pin !io1.in+!io4.in M574 Y2 S1 P"io2.in" ; configure active-high endstop for high end on Y via pin !io2.in ;M574 Z1 S1 P"io3.in+io5.in" ; configure active-high endstop for high end on Z via pin !io3.in+!io5.in M574 Z1 S2 ; configure Z-probe endstop for high end on Z ; Z-Probe M558 P8 C"^io7.in" H5 F500 T4500 ; set Z probe type to modulated and the dive height + speeds ;M558 H20 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P50 X10.8 Y-1.5 Z2 ; set Z probe trigger value, offset and trigger height ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 C7.06e-8 M950 H0 C"out0" T0 ; create bed heater output on out0 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 S140 ; set temperature limit for heater 0 to 140C M308 S1 P"temp1" Y"pt1000" ; configure sensor 0 as thermocouple via CS pin spi.cs0 M950 H1 C"out1" T1 ; create nozzle heater output on out0 and map it to sensor 0 M307 H1 B0 R0.328 C1484.6 D49.15 S1.00 V25.9 ; disable bang-bang mode for heater and set PWM limit M307 H1 R0.174 C1443.9 D89.85 S1.00 B0 M143 H1 S350 ; set temperature limit for heater 1 to 350C ;M570 H0 P15 T20 ; heater fault detection M308 S2 P"temp2" Y"pt1000" ; configure sensor 1 as thermocouple via CS pin spi.cs1 M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 1 M307 H2 R0.174 C1443.9 D89.85 S1.00 B0 ; disable bang-bang mode for heater and set PWM limit (AUTO TUNING) R0.274 C1443.9 D89.85 S1.00 B0 M143 H2 S350 ; set temperature limit for heater 2 to 350C ;M570 H0 P15 T20 ; heater fault detection M308 S3 Y"mcu-temp" A"MCU" ; defines sensor 3 as MCU temperature sensor M308 S4 Y"drivers" A"Duet stepper drivers" ; defines sensor 4 as stepper driver temperature sensor ; Fans M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency M106 P0 S1 H-1 C"Nozzle_1" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out8" Q250 ; create fan 1 on pin out8 and set its frequency M106 P1 S0.7 H-1 C"SSR_BED" ; set fan 1 value. Thermostatic control is turned off ;M950 F2 C"out9" Q500 ; create fan 1 on pin out9 and set its frequency ;M106 P2 S1 H-1 C"Duet_processor_2" ; set fan 2 value. Thermostatic control is turned off ;----M106 P1 T45 S0.7 H1:2 ;thermostatic fan for nozzle or head ; Tools M563 P1 S"Nozzle" D0 H1:2 F0 ; define tool 0 G10 P1 X0 Y0 Z0 ; set tool 0 axis offsets G10 P1 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M207 S15 F2000 ; retract ; Custom settings M302 P1 ; cold extrusion ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M912 P0 S-12 ; correct MCU temperature T1 ; select first tool M20 ; initialize SD card M905 P2021-03-10 S12: 23: 12 T"Europa / Berlin" ; Set local date and time G32 ; bed leveling ; M374 ; save height map ; M375 ; load height map
And report from M122:
11.12.2022, 18:47:25: m122: === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-9P63L-DJ3T0-6JKD6-3S46N-1U138 Used output buffers: 1 of 40 (29 max) === RTOS === Static ram: 150904 Dynamic ram: 92952 of which 0 recycled Never used RAM 110336, free system stack 140 words Tasks: NETWORK(ready,28.3%,254) ETHERNET(notifyWait,0.1%,117) HEAT(notifyWait,0.0%,325) Move(notifyWait,0.0%,279) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,362) CanClock(delaying,0.0%,339) TMC(notifyWait,7.8%,59) MAIN(running,63.7%,950) IDLE(ready,0.0%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:03:00 ago, cause: power up Last software reset at 2021-03-10 13:39, reason: User, GCodes spinning, available RAM 110556, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 126 MCU temperature: min 18.9, current 19.1, max 19.2 Supply voltage: min 24.4, current 24.5, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, reads 29771, writes 2 timeouts 0, SG min/max not available Driver 1: position 0, standstill, reads 29771, writes 2 timeouts 0, SG min/max not available Driver 2: position 640, standstill, reads 29771, writes 2 timeouts 0, SG min/max not available Driver 3: position 0, standstill, reads 29772, writes 0 timeouts 0, SG min/max not available Driver 4: position 0, standstill, reads 29770, writes 2 timeouts 0, SG min/max not available Driver 5: position 0, standstill, reads 29771, writes 2 timeouts 0, SG min/max not available Date/time: 2021-03-10 12:26:12 Slowest loop: 2.61ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 28, completed moves 28, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 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, chamberHeaters = -1 -1 -1 -1 Heater 1 is on, I-accum = 0.0 Heater 2 is on, I-accum = 0.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. === CAN === Messages queued 367, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49), ts 204/0/0 Tx timeouts 0,0,204,0,0,163 last cancelled message type 30 dest 127 === Network === Slowest loop: 2.13ms; 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: 1 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 2 2 2 2 0 0 0
-
@Kevvv Consider upgrading to the latest v3.4.5. Did you capture the M122 output after an unexpected reset? If yes, it indicates that there is an intermittent power connection on your setup. Check if the power cables are fitted tightly and if the blade fuses have proper contact on the board.
-
@chrishamm I had the same problem on previous versions of the software but I will try to update to the latest one.
I'm using Duet Web Control and after a reset it takes a while for it to reconnect, but the M122 boots up immediately after reconnecting.
Does this mean a loss of main power or maybe one of the motors? Is there any way to check? -
@Kevvv That diagnostics output just tells me that the reason for the last reset was not caused by the firmware (
Last reset 00:03:00 ago, cause: power up
). So it may be your power wiring, blade fuses, or the PSU. -
@Kevvv said in Resetting the printer during a print in random places:
My observations show:
accidental reset occurs when retraction is enabled,
I suspect that either retraction is overloading the power supply (which seems unlikely), or retraction is causing the extruder to generate static charge, which is discharging through the Duet. Try grounding the hot end metalwork and the extruder motor body.
-
@dc42 Thanks for your help, I grounded all the motors but from what I noticed especially grounding the Y axis helped.
-
@Kevvv that's interesting. We've suspected that belts might accumulate static charge, but we've no evidence that they do; whereas we have reasonable evidence that some hot ends accumulate static charge.