Solved Bed heater crashing Duet WiFi at set point
-
Decided to try a PID temp of 90c. So entered M303 H0 S90. It completed but with an error.
Warning: heater behaviour was not consistent during tuning Auto tuning heater 0 completed after 3 idle and 25 tuning cycles in 2939 seconds. This heater needs the following M307 command: M307 H0 B0 R0.279 C670.9 D3.01 S1.00 V23.8 Send M500 to save this command in config-override.g
After a M500 I tried to set the heater to 90c and the board reset as soon as it reached the setpoint.
M122 after board reset
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later Board ID: 08DJM-9178L-L2MS8-6JKDD-3S06Q-98HYP Used output buffers: 3 of 24 (11 max) === RTOS === Static ram: 23876 Dynamic ram: 75452 of which 0 recycled Never used RAM 15088, free system stack 184 words Tasks: NETWORK(ready,12.7%,244) HEAT(delaying,0.0%,330) Move(notifyWait,0.1%,364) MAIN(running,83.6%,461) IDLE(ready,3.6%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:00:25 ago, cause: software Last software reset at 2021-09-06 09:03, reason: HardFault undefInstr, GCodes spinning, available RAM 15088, slot 2 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00010000 ICSR 0x0041f803 BFAR 0xe000ed38 SP 0x200033d8 Task NETW Freestk 476 ok Stack: 20005cb0 20002c10 20000154 00000030 ffffffff 0045b80d 0045a172 610f0000 00000000 00000000 4204f625 3edbc06f 3331bb4c 40000000 b5ddd98d 388ab355 bb360b61 3e2aaaab 3f800000 00000000 42034a49 4354c416 7f7fffff 00000000 80000010 00000001 e000e000 Error status: 0x00 Step timer max interval 0 MCU temperature: min 32.4, current 33.2, max 33.5 Supply voltage: min 24.0, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, SG min/max not available Driver 1: position 0, standstill, SG min/max not available Driver 2: position 0, standstill, SG min/max not available Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0 Driver 6: position 0 Driver 7: position 0 Driver 8: position 0 Driver 9: position 0 Driver 10: position 0 Driver 11: position 0 Date/time: 2021-09-06 09:04:05 Cache data hit count 948703290 Slowest loop: 3.68ms; fastest: 0.17ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 2.3ms, write time 0.0ms, max retries 0 === Move === DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, 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, chamberHeaters = 2 -1 -1 -1 === 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 79.17ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 3 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.26 WiFi MAC address dc:4f:22:6e:e2:40 WiFi Vcc 3.44, reset reason Turned on by main processor WiFi flash size 4194304, free heap 22728 WiFi IP address 10.10.2.85 WiFi signal strength -37dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
Thank you for looking
-
@adarack said in Bed heater crashing Duet WiFi at set point:
Now however anytime I try to PID tune the bed the Duet crashes. Shortly after "Auto tune starting phase 3, heating system settling" shows in the console the board will reset.
It's a far fetch, but it might be possible your part cooling fan shorts the onboard power.
Phase 3 of PID tuning is related to part cooling fan... -
@adarack Try to load the new settings with M501 and head up the bed again does your Duet restart if you heat only to 80 c°
-
@o_lampe
Tried with all fans unplugged and it's the same. Thank you for the idea though@siam
Gave that a shot. I can get the PID tune done at 90c. It seems if I set the heater to any value it will reset once it's near the setpoint. So I'm starting to think that something is buggy with the PID on my board.Might have to erase the firmware and reflash. Might just go back to 2.05, with the old config, and see if it still works as it used to.
M122 with H0 set at 70c
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later Board ID: 08DJM-9178L-L2MS8-6JKDD-3S06Q-98HYP Used output buffers: 3 of 24 (11 max) === RTOS === Static ram: 23876 Dynamic ram: 75452 of which 0 recycled Never used RAM 15088, free system stack 184 words Tasks: NETWORK(ready,11.2%,227) HEAT(delaying,0.0%,330) Move(notifyWait,0.1%,364) MAIN(running,83.8%,461) IDLE(ready,4.9%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:00:18 ago, cause: software Last software reset at 2021-09-06 17:01, reason: HardFault undefInstr, Platform spinning, available RAM 15088, slot 0 Software reset code 0x4060 HFSR 0x40000000 CFSR 0x00010000 ICSR 0x0041f803 BFAR 0xe000ed38 SP 0x20002730 Task MAIN Freestk 1021 ok Stack: 200016e0 00000000 00000000 00000000 0042a6e1 004581d3 004581e6 410f0000 00000000 0045a75d 00000000 00000000 8200001b ffffffff a5a5a5a5 200013c4 200016e0 20004c8c 004658bb 8100001b a5a5a5a5 200080c8 200080c8 a5a5a5a5 0b4d23ad 0040a0b7 6136496e Error status: 0x00 Step timer max interval 0 MCU temperature: min 29.0, current 30.0, max 30.1 Supply voltage: min 24.0, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, SG min/max not available Driver 1: position 0, standstill, SG min/max not available Driver 2: position 0, standstill, SG min/max not available Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0 Driver 6: position 0 Driver 7: position 0 Driver 8: position 0 Driver 9: position 0 Driver 10: position 0 Driver 11: position 0 Date/time: 2021-09-06 17:01:54 Cache data hit count 705265869 Slowest loop: 3.67ms; fastest: 0.17ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 2.5ms, write time 0.0ms, max retries 0 === Move === DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, 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, chamberHeaters = 2 -1 -1 -1 === 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 79.15ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 3 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.26 WiFi MAC address dc:4f:22:6e:e2:40 WiFi Vcc 3.44, reset reason Turned on by main processor WiFi flash size 4194304, free heap 22888 WiFi IP address 10.10.2.85 WiFi signal strength -36dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
-
@adarack said in Bed heater crashing Duet WiFi at set point:
Might have to erase the firmware and reflash. Might just go back to 2.05, with the old config, and see if it still works as it used to.
That may be an interesting test to at least narrow down if it's firmware related or electrically related.
The easiest way to switch between versions is to simply upload the complete zip file package for the version you wish to use in the system tab of DWC.
https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip
https://github.com/Duet3D/RepRapFirmware/releases/download/3.0/Duet2and3Firmware-3.0.zip
https://github.com/Duet3D/RepRapFirmware/releases/download/3.3/Duet2and3Firmware-3.3.zip -
@phaedrux
I ended up erasing the flash and using bossa to reflash it. It seems to have worked.So I'm at a loss at this point. There are a couple of possibilities I can think of.
- I had a bad flash. I didn't test anything when 3.0 was installed, just went straight to 3.3. So I followed the guide and did 2.05 -> 3.0 -> 3.3 and reworked the config.
- Something is electrically wrong (a very real possibility) and 3.3 has an issue with it whereas 2.05 ignores it.
The wiring on this printer is quite old now and it defiantly could use some attention. Especially with all the ABS that has been pushed through it. Also, this board is getting a little old as well and it's on its second printer.
It is odd that it only seems to happen when the PID begins to do its work. It will heat fine till it gets close to the setpoint then crash with a hard fault. It only fails on the bed, hotend, and chamber heater work fine.
Thank you to everyone who chimed in. I think I will leave it on 2.05 for the immediate future and check all the wiring before attempting the upgrade again.
-
@adarack you say your board is old, how old and can you see on the duet board the Hardware Version ?
-
@adarack have you checked that the VIN terminal screws are still tight? Also check the bed heater terminal screws. High currents can cause the wires to creep over time, especially if you didn't use ferrules.
-
@adarack Can you post your RRF2 config.g? Maybe you're using bang-bang control. I'd suspect that using PID (or a high switching rate) is causing your PSU problems, though your M122 reports show 'HardFault invState' once and 'HardFault undefInstr' twice as the reason for the software reset. One for @dc42 to look at.
Ian
-
@siam
I can't easily see the board where it is in the printer. I'm pretty sure it says 1.04 something.@dc42
It has been probably about 2 years since I did anything with the wiring on this printer. Loose connections are possible. I used crimp on terminals and ferrules at a all points though. The main concern is that a lot of the wiring isn't motion rated. It's highly possible that some of the copper strands have begun breaking in the jacket.@droftarts said in Bed heater crashing Duet WiFi at set point:
@adarack Can you post your RRF2 config.g? Maybe you're using bang-bang control. I'd suspect that using PID (or a high switching rate) is causing your PSU problems, though your M122 reports show 'HardFault invState' once and 'HardFault undefInstr' twice as the reason for the software reset. One for @dc42 to look at.
Ian
Those 2 faults were from different operations. I was attempting to PID tune the bed at one point. Then after getting a successful tune I tried to heat it. Not sure if that matters though.
The config for 2.05
; Configuration file for Duet WiFi (firmware version 2.03) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Jul 18 2020 11:04:36 GMT-0400 (Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Ender 5 Duet" ; set printer name ;M918 P1 E4 F2000000 ; configure direct-connect display ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S1 ; enable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S0 ; physical drive 2 goes backwards M569 P3 S0 ; physical drive 3 goes backwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1600.00 E830.1 ; set steps per mm M566 X900.00 Y900.00 Z120.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E6000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z100.00 E5000.00 ; set accelerations (mm/s^2) M906 X700 Y700 Z800 E700 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ;Pressure Advance ;M572 D0 S0.2 ; pressure advance for Bondtech set to 0.2 ; Axis Limits M574 X1 Y1 Z0 S1 ; set axis minima M208 X230 Y225 Z300 S0 ; set axis maxima ; Endstops M574 X1 Y1 Z0 S1 ; set active high endstops M574 Z1 S2 ; set endstops controlled by probe ;M591 D0 P2 C3 S1 ; Z-Probe M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch M307 H4 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch ;M558 P9 H10 F120 T4000 M558 P9 H5 F100 R0.2 A5 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X55 Y32 Z2.10 ; Set Z probe trigger value, offset and trigger height M557 X0:200 Y0:210 S20 ; define mesh grid ; Heaters ;Bed M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B4092 R4700 ; set thermistor + ADC parameters for heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 150C ; Hotend M305 P1 T100000 B4092 R4700 ; set thermistor + ADC parameters for heater 1 M143 H1 S275 ; set temperature limit for heater 1 to 275C ; Chamber ;M950 H2 T2 M141 H2 P0 ; assign chamber heater to heater 2 M570 H2 S240 ; Set heater 2 to 120s fault delay M307 H2 D240 B1 ; Set heater 2 to bang-bang mode and deadtime to 60sec M305 P2 X200 ; configure PT100 for heater 2 M143 H2 S70 ; set temperature limit for heater 2 to 60C Chamber ; Fans M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H1:0 T45 ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M929 ; Enable Logging M501 ; load saved parameters from non-volatile memory
-
Just wanted to give a little update.
Finally had some time to get into the printer and check the connections. They all felt tight but I loosened and retightened them. Then went through the upgrade process to 3.3 again.
Now it works! Not sure what it was exactly but in any case it's heating and not crashing for now.
Still want to make a new wire loom for the hotend and have some wire on
order. If there are any electrical issues hiding in there somewhere hopefully that will straighten them out.Thank you all for you help!
-
@adarack Glad that it's fixed. My money is on a poor connection such that as it approaches the temperature setpoint and shuts off the heater, there's a good size voltage spike that resetting the board. If it starts doing it again, I'd suspect the power supply, Meanwell or not.
-
Very true. Power supplies can and will fail at some point. I'll order a spare in the near future to have on hand.