Error: Heater 0 fault: heater monitor 0 was triggered
-
Hi,
I have a Duet. I have updated the firmware to:
Board: Duet 2 WiFi (2WiFi)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.1.1 (2020-05-19b2)
Duet WiFi Server Version: 1.23I've been chasing this issue for a couple of days now, so I thought I'd post here to see if anyone has any suggestions.
The error I get is the topic of the post.
My printer is a Tevo Black Widow
Here's what I've tried:
Calibrated the heatbed successfully and used M500 to place the following in config-override.g
M307 H0 A29.4 C86.9 D1.1 S1.00 V23.5 B0The issue was present before this and was unchanged afterwards.
I have carefully read the page at https://duet3d.dozuki.com/Wiki/Spurious_heater_faults_and_how_to_avoid_them
and followed anything that seemed like a possible solution in there.In desperation, I looked at the page at https://reprap.org/wiki/G-code#M570:_Configure_heater_fault_detection
and based on that, I issued the following command: M570 H0 P30 T20, knowing that it was a bit over the top, but also knowing I could change it after finding the actual cause of the problem.I have also hard soldered the cable connections to the bed, after cutting off the connector.
My temperature graph in the web interface is nice and steady, and just drops away from the target temperatue once a heater fault is detected.
What I really want to know, to continue fault finding, is how to determine the fault that the software is detecting?
The article, "Spurious heater faults and how to avoid them", refers to errors like "temperature excursion too large" or "temperature excursion exceeded 10.0C", but my error has no such clues as to the cause that I can see.
-
Post your config.g and the results of sending M122 and M98 P"config.g"
3.2 firmware is now out, you should probably update.
Download this zip file and upload it as is to the system tab in DWC.https://github.com/Duet3D/RepRapFirmware/releases/download/3.2/Duet2and3Firmware-3.2.zip
-
@Phaedrux said in Error: Heater 0 fault: heater monitor 0 was triggered:
M122
Here are the things you asked for Phaedrux:
config.g:
0:/sys/config.g ; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.0 on Sat Jan 02 2021 15:54:53 GMT+1100 (Australian Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Black Widow" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards 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 Z1000.00 E420.00 ; set steps per mm (z was 4000) M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X370 Y250 Z300 S0 ; set axis maxima M208 X-205:165 Y-140:110 ; set axis limits ; Endstops M574 X1 S1 P"!xstop" ; configure active-high endstop for low end (or high end?) on X via pin xstop (was M574 X1 S0 P"xstop") M574 Y1 S1 P"!ystop" ; configure active-high or low? endstop for low end on Y via pin ystop (S0 = no endstop) ;if you are using RepRapFirmware 3 then you will need to use S1 but invert the polarity by putting a ! character at the start of the pin name in the M574 command M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X48 Y-18 Z3.8 ; set Z probe trigger value, offset and trigger height M557 X15:355 Y15:235 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B1 S1.00 ; enable 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 M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat 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 ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P0 T45 H1 ; set fan 0 value. Thermostatic control is turned on ; Tools M563 P0 S"Extruder" 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 M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load values stored in config-override.g
M122: === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later Board ID: 08DGM-9T6BU-FG3SJ-6JKD4-3S86N-TAXHF Used output buffers: 3 of 24 (14 max) === RTOS === Static ram: 27980 Dynamic ram: 93892 of which 24 recycled Exception stack ram used: 304 Never used ram: 8872 Tasks: NETWORK(ready,412) HEAT(blocked,1224) MAIN(running,1832) IDLE(ready,80) Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:13:25 ago, cause: power up Last software reset at 2021-01-13 10:44, reason: User, spinning module GCodes, available RAM 8664 bytes (slot 0) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04417000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN Error status: 0 MCU temperature: min 23.5, current 33.7, max 34.0 Supply voltage: min 23.9, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 2021-01-14 11:12:46 Cache data hit count 1415889029 Slowest loop: 4.35ms; fastest: 0.12ms 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.8ms, write time 0.0ms, max retries 0 === Move === Hiccups: 0(0), FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 41.03ms; fastest: 0.00ms Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 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.23 WiFi MAC address 4c:11:ae:02:e2:60 WiFi Vcc 3.36, reset reason Unknown WiFi flash size 4194304, free heap 23376 WiFi IP address 192.168.1.113 WiFi signal strength -59dBm, reconnections 0, sleep mode modem Socket states: 0 0 0 0 0 0 0 0
1/14/2021, 11:15:40 AM M98 P"config.g" HTTP is enabled on port 80 FTP is enabled on port 21 TELNET is disabled Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 721C
-
What temperature are you trying to reach when you get the fault?
Can you post the contents of config-override.g as well?
-
Of course, just doing the firmware update you linked. Won't be long.
-
Here you are:
; config-override.g file generated in response to M500 at 2021-01-13 13:03
; This is a system-generated file - do not edit
; Heater model parameters
M307 H0 A29.4 C86.9 D1.1 S1.00 V23.5 B0
M307 H1 A696.7 C224.2 D6.3 S1.00 V24.0 B0
; Workplace coordinates
G10 L2 P1 X0.00 Y0.00 Z0.00
G10 L2 P2 X0.00 Y0.00 Z0.00
G10 L2 P3 X0.00 Y0.00 Z0.00
G10 L2 P4 X0.00 Y0.00 Z0.00
G10 L2 P5 X0.00 Y0.00 Z0.00
G10 L2 P6 X0.00 Y0.00 Z0.00
G10 L2 P7 X0.00 Y0.00 Z0.00
G10 L2 P8 X0.00 Y0.00 Z0.00
G10 L2 P9 X0.00 Y0.00 Z0.00 -
Here are the results of the Firmware upgrade:
Board: Duet 2 WiFi (2WiFi)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.2 (2021-01-05)
Duet WiFi Server Version: 1.25 -
Try retuning the bed heater after updating the firmware.
Note that firmware 3.2 has a new PID tuning algorithm.
https://duet3d.dozuki.com/Wiki/Gcode#Section_M303_Run_heater_tuning -
Ok, I will retune the pid for the bed using the autotune now, I was trying to get to and maintain a bed temp of 120 degrees C btw.
-
@dmbgo said in Error: Heater 0 fault: heater monitor 0 was triggered:
a bed temp of 120 degrees C btw.
Well you've set your bed temp limit to 120c. So as the error says, your heater monitor was triggered.
M143 H0 S120 ; set temperature limit for heater 0 to 120C
If that's a temp you intend to use frequently you should you that temp to tune to, and change the M143 command to a higher temperature to allow for over shoot. 130 maybe.
-
Thanks Phaedrux, I will change the Temp limit for the bed to 135C after it finishes tuning. I'll then try to run a print and let you know.
The tuning is in progress... -
Here is my updated config.g. Tuning is still in progress, so I haven't restarted the board to apply the new settings yet.
-
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.0 on Sat Jan 02 2021 15:54:53 GMT+1100 (Australian Eastern Daylight Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Black Widow" ; set printer name; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S1 ; enable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
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 Z1000.00 E420.00 ; set steps per mm (z was 4000)
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X370 Y250 Z300 S0 ; set axis maxima
M208 X-205:165 Y-140:110 ; set axis limits; Endstops
M574 X1 S1 P"!xstop" ; configure active-high endstop for low end (or high end?) on X via pin xstop (was M574 X1 S0 P"xstop")
M574 Y1 S1 P"!ystop" ; configure active-high or low? endstop for low end on Y via pin ystop (S0 = no endstop) ;if you are using RepRapFirmware 3 then you will need to use S1 but invert the polarity by putting a ! character at the start of the pin name in the M574 command
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X48 Y-18 Z3.8 ; set Z probe trigger value, offset and trigger height
M557 X15:355 Y15:235 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S135 ; set temperature limit for heater 0 to 135C
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat 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; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P0 T45 H1 ; set fan 0 value. Thermostatic control is turned on; Tools
M563 P0 S"Extruder" 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
M575 P1 S1 B57600 ; enable support for PanelDueM501 ; load values stored in config-override.g
-
How long does the new tuning algorithm take? It seems to be hovering around 80C atm,. I told it to tune to 120C.
-
Should I reset and start the tuning again? It still says it is running.
1/14/2021, 11:51:57 AM Upload of config.g successful after 0s
1/14/2021, 11:50:19 AM Upload of config.g successful after 0s
1/14/2021, 11:40:18 AM Auto tune starting phase 1, heater on
1/14/2021, 11:40:13 AM M303 H0 P0.4 S119
Auto tuning heater 0 using target temperature 119.0°C and PWM 0.40 - do not leave printer unattended -
I grew impatient and reset the printer. I then sent the following:
M303 H0 P0.4 S120I'll wait without changing anything now.....
-
Hmmm, I seem to have this error when doing the Autotune:
1/14/2021, 12:34:32 PM Auto tune cancelled because target temperature was not reached
1/14/2021, 12:04:32 PM Auto tune starting phase 1, heater on
1/14/2021, 12:04:26 PMI'm not sure if it is related or not to my original issue. I'll try turning the bed heater on now with a 120C target.
-
No issues getting to, or maintaing the bed at 110C, which is what I ended up commanding the printer to do. I'll try printing something now and see if there is any change in the errors after the FW upgrade.
-
This is the heater graph now, while the printer is printing a calibration cube.
As you can see the temperatures are fairly constant according to the graph, which is how they were before.
The big difference this time, is that the bed heater error hasn't occured (yet). -
@dmbgo said in Error: Heater 0 fault: heater monitor 0 was triggered:
How long does the new tuning algorithm take? It seems to be hovering around 80C atm,. I told it to tune to 120C.
It can take a long time.