Toolboard Heater Fault
-
I have a Duet 3+RPI4 as SBC and Duet Tool board. I have tan PID tuning. I've been getting heater faults while trying to preheat the hotend. The thermistor and heater cartridge are wired to Temp0 and Out0 on the tool board.
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3RC3 (2021-05-26 12:29:42) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6J9D0-3S46T-9U2LF Used output buffers: 1 of 40 (11 max) === RTOS === Static ram: 150784 Dynamic ram: 61804 of which 456 recycled Never used RAM 141148, free system stack 127 words Tasks: SBC(resourceWait:,5.3%,328) HEAT(delaying,0.0%,295) Move(notifyWait,0.0%,266) CanReceiv(notifyWait,0.0%,773) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,8.0%,59) MAIN(running,86.7%,922) IDLE(ready,0.0%,29), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:06:33 ago, cause: software Last software reset at 2021-06-06 10:57, reason: User, GCodes spinning, available RAM 141148, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 Step timer max interval 133 MCU temperature: min 36.1, current 36.3, max 36.6 Supply voltage: min 2.2, current 24.5, max 25.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 0.5, current 12.1, max 12.1, under voltage events: 1 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 34400, standstill, reads 17800, writes 22 timeouts 0, SG min/max 0/0 Driver 1: position -2400, standstill, reads 17792, writes 30 timeouts 0, SG min/max 0/182 Driver 2: position 5084, standstill, reads 17792, writes 30 timeouts 0, SG min/max 0/190 Driver 3: position 0, standstill, reads 17792, writes 30 timeouts 0, SG min/max 0/182 Driver 4: position 0, standstill, reads 17792, writes 30 timeouts 0, SG min/max 0/175 Driver 5: position 0, standstill, reads 17792, writes 30 timeouts 0, SG min/max 0/126 Date/time: 2021-06-06 11:03:57 Slowest loop: 160.75ms; fastest: 0.03ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 18504ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 10, completed moves 10, 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 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122 B0" 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 3551, send timeouts 9, received 4716, lost 0, longest wait 5ms for reply type 6024, peak Tx sync delay 61900, free buffers 49 (min 48), ts 1969/1959/0 Last cancelled message type 30 dest 127 === SBC interface === State: 4, failed transfers: 0 Last transfer: 1ms ago RX/TX seq numbers: 14026/14026 SPI underruns 0, overruns 0 Number of disconnects: 0, IAP RAM available 0x2c8bc Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.3-rc3 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 35.78 Codes per second: 0.18 Maximum length of RX/TX data transfers: 5472/840
Diagnostics for board 20: Duet TOOL1LC firmware version 3.3RC3 (2021-05-26 12:30:20) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) Never used RAM 2724, free system stack 2770 words Tasks: Move(notifyWait,0.0%,153) HEAT(delaying,0.2%,117) CanAsync(notifyWait,0.0%,59) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,66) ACCEL(notifyWait,0.0%,61) TMC(notifyWait,2.8%,57) MAIN(running,92.0%,353) IDLE(ready,0.0%,26) AIN(delaying,4.9%,142), total 100.0% Last reset 00:05:36 ago, cause: power up Last software reset time unknown, reason: AssertionFailed, available RAM 3392, slot 0 Software reset code 0x0120 ICSR 0x00000000 SP 0x2000415c Task Freestk 129 bad marker Stack: 00000544 00022ffc 00019b65 20003134 00016cff 20003134 000163d1 20000ed0 00000000 00000001 00008275 200071c8 200071c8 200071e0 00000000 20000f50 00011647 000223b8 00022474 00021ac8 00019b05 200071c8 200071c8 20000f50 000083ed 200071d8 000009c7 Driver 0: position 0, 675.3 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 12, reads 37034, writes 12, timeouts 0, DMA errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 0/10, peak Rx sync delay 550, resyncs 0/0, no step interrupt scheduled VIN: 25.9V MCU temperature: min 37.1C, current 37.6C, max 37.8C Ticks since heat task active 15, ADC conversions started 336260, completed 336259, timed out 0, errs 0 Last sensors broadcast 0x00000002 found 1 20 ticks ago, loop time 0 CAN messages queued 4044, send timeouts 0, received 3045, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0 Accelerometer detected: yes, status: 00 I2C bus errors 0, naks 0, other errors 0
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Sat Jul 11 2020 20:25:37 GMT-0500 (Central Daylight Time) ; General preferences M80 ; Turns on the ATX power supply G4 S4 ; Wait for tool board G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M669 K1 ; select CoreXY mode ;Network ;M586 P0 S1 ; Enable HTTP ;M586 P1 S0 ; Disable FTP ;M586 P2 S0 ; Disable Telnet ; Drives M569 P20.0 S1 ; physical drive 0.0 goes backwards-Extruder M569 P0.1 S0 ; physical drive 0.1 goes backwards-X stepper M569 P0.2 S0 ; physical drive 0.2 goes backwards-Y stepper M569 P0.3 S0 ; physical drive 0.3 goes backwards-Z left stepper M569 P0.4 S0 ; physical drive 0.4 goes backwards-Z right rear stepper M569 P0.5 S0 ; physical drive 0.5 goes backwards-Z right front stepper M584 X0.1 Y0.2 Z0.3:0.4:0.5 E20.0 ; set drive mapping Z3=Left Front, Z4= Right Rear, Z5=Right Front ;M671 X-30:332:332 Y166:293.5:38.5 S10 ; leadscrews at left front, right rear and right Front X-34:332:332 Y166:293.5:38.5/-X-30:334:334 Y167.7:298:43.8 M671 X-20:344:344 Y176.2:303.7:48.7 S10 M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation XY .9 degree ZE 1.8 degree M92 X100.00 Y100.00 Z400.00 E675.35 ; set steps per mm XY .9 degree ZE 1.8 degree -Orbiter M203 X20000 Y20000 Z800 E7200.00 ; Set maximum speeds (mm/min) mm per minute/60=mm per second X12000 Y12000 Z800 E7200.00 M201 X3000.00 Y3000.00 Z100.00 E5000.00 ; Set accelerations (mm/s^2) X1800.00 Y1800.00 Z100.00 E800.00 M566 X900.00 Y900.00 Z150.00 E800.00 ; Set maximum instantaneous speed changes (mm/min) X800.00 Y800.00 Z150.00 E300.00 M906 X1600 Y1600 Z1600 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S120 ; Disable motor idle current reduction ; Axis Limits M208 X-18 Y0 Z0 S1 ; set axis minima M208 X325 Y325 Z445 S0 ; set axis maxima ; Endstops M574 X1 S1 P"20.io1.in" ; configure active-high endstop for high end on X via pin i01.in M574 Y2 S1 P"0.io3.in" ; configure active-high endstop for high end on Y via pin i02.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ;M591 D0 P1 C"0.io4.in" S1 ; configure filament runout sensor for high end on extruder drive 0 via pin i03.in ; Z-Probe M950 S0 C"0.io7.out" ; create servo pin 0 for BLTouch M558 P9 C"^0.io7.in" H10 F300 T9000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X0 Y-19.2 Z2.710 ; set Z probe trigger value, offset and trigger height ; Heaters M308 S0 P"0.temp0" Y"thermistor" A"Bed" T100000 B4725 C0.0000000706 ; configure sensor 0 as thermistor on pin temp0 M308 S1 P"20.temp0" Y"thermistor" A"Hotend" T107537 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1-Matrix M950 H0 C"0.out1" T0 ; create bed heater output on out0 and map it to sensor 0 M950 H1 C"20.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H0 R0.238 C1283.9 D25.20 S1.00 ;Set PID for bed heater POST RRF 3.2.3 beta M307 H1 R2.330 C273.8:126.9 D12.41 S1.00 V25.7 ; Set PID for Hotend .4Bmm nozzle POST RRF 3.2.3 M140 H0 ; map heated bed to heater 0 M143 H0 S100 ; set temperature limit for heater 0 to 100C M143 H1 S260 ; Set temperature limit for heater 1 to 260C ;M308 S2 P"mcu-temp" Y"mcu-temp" A"Duet" ; Configure MCU sensor ; Fans M950 F0 C"20.out2" Q500 ; create fan 0 on pin out9 and set its frequency M106 P0 C"Layer Fan" S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"0.out8"; Q25000 ; create fan 1 on pin out8 and set its frequency M106 P1 C"WC Fan" H1 T40 ; set fan 1 value. Thermostatic control is turned on ;M106 P1 C"WC Fan" H-1 S0 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 R0 S0 ; set tool 0 axis offsets ;M207 S1.5 F7200 Z0.2 ;Set firmware retraction ; Custom settings are not defined M564 H0 ; Let the Jog buttons work blv: added to allow jog buttons ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss ;M574 S1 P"^!0.io1.in" ; Define Emergency endstop - emergency stop switch condition M950 J1 C"0.io5.in" ; Create GPIO pin for On button wired NO M581 T2 P1 S1 R0 ; T2-Run Trigger 2; P1-J1; S1-When button pressed; R0-trigger any time M582 T2 ; Monitor external trigger 2 ;----------Duet 3 (ID#0) ;0.out0 NC ;0.out1 Bed heater ;0.out2 NC ;0.out3 NC ;0.out4 NC ;0.out5 NC ;0.out6 NC ;0.out7 NC ;0.out8 Fan 1-Layer Fan ;0.out9, ;0.out4.tach NC ;0.out5.tach NC ;0.out6.tach NC ;0.io0.in PanelDue ;0.io1.in NC ;0.io2.in NC ;0.io3.in Y Endstop ;0.io4.in NC ;io5.in GPIO pin for on trigger ;0.io6.in NC ;0.io7.in BLTouch Signal pin ;0.io8.in Off button C ;0.io0.out PanelDue ;0.io1.out NC ;0.io2.out NC ;0.io3.out NC ;0.io4.out NC ;0.io5.out NC ;0.io6.out NC ;0.io7.out BLTouch Servo pin ;0.io8.out NC ;pson Power on SSR 3+ ;0.spi.cs0 NC ;0.spi.cs1 NC - this can be your PT100 board ;0.spi.cs2 NC ;0.spi.cs3 NC ;0.temp0 Bed heater ;0.temp1 NC ;0.temp2 NC ;0.temp3 NC ;0.mcu-temp Virtual Temp Sensor ;----------Toolboard 1 (CAN ID#20) ; 20.out0 - Hotend Heater ; 20.out1 - NC ; 20.out2 - Parts cooler on printhead ; 20.out1.tach - NC ; 20.out2.tach - NC ; 20.io0.in - NC ; 20.io1.in - X min active low endstop switch ; 20.io2.in - Reserved for filament monitor ; 20.io0.out - NC ; 20.temp0 - Extruder Thermistor ; 20.temp1 - NC ; 20.button0 - NC ; 20.button1 - NC ; 20.CAH_H - Duet CAN1_H ; 20.CAH_L - Duet CAN1_L
-
this is the diagnostics when the hotend is in a fault state. The console of paneldue doesn't tell me what the fault is
RepRapFirmware for Duet 3 MB6HC version 3.3RC3 (2021-05-26 12:29:42) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6J9D0-3S46T-9U2LF Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 150784 Dynamic ram: 62052 of which 208 recycled Never used RAM 138292, free system stack 126 words Tasks: SBC(ready,5.7%,328) HEAT(delaying,0.0%,295) Move(notifyWait,0.0%,266) CanReceiv(notifyWait,0.0%,798) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,8.1%,59) MAIN(running,86.1%,922) IDLE(ready,0.1%,29), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:05:42 ago, cause: software Last software reset at 2021-06-06 13:29, reason: User, GCodes spinning, available RAM 141148, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 Step timer max interval 133 MCU temperature: min 36.6, current 37.0, max 37.2 Supply voltage: min 2.1, current 24.5, max 25.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 0.5, current 12.1, max 12.1, under voltage events: 2 Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/8/8, gc cycles 0 Driver 0: position 32400, standstill, reads 56524, writes 33 timeouts 0, SG min/max 0/0 Driver 1: position -400, standstill, reads 56518, writes 39 timeouts 0, SG min/max 0/194 Driver 2: position 3084, standstill, reads 56518, writes 39 timeouts 0, SG min/max 0/356 Driver 3: position 0, standstill, reads 56518, writes 39 timeouts 0, SG min/max 0/182 Driver 4: position 0, standstill, reads 56518, writes 39 timeouts 0, SG min/max 0/173 Driver 5: position 0, standstill, reads 56518, writes 39 timeouts 0, SG min/max 0/125 Date/time: 2021-06-06 13:35:40 Slowest loop: 161.46ms; fastest: 0.03ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 81161ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 41, completed moves 41, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 4], 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 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" 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 3102, send timeouts 10, received 4070, lost 0, longest wait 2ms for reply type 6049, peak Tx sync delay 750, free buffers 49 (min 48), ts 1713/1702/0 Last cancelled message type 30 dest 127 === SBC interface === State: 4, failed transfers: 0 Last transfer: 1ms ago RX/TX seq numbers: 12305/12305 SPI underruns 0, overruns 0 Number of disconnects: 0, IAP RAM available 0x2c88c Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.3-rc3 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 36.10 Codes per second: 0.42 Maximum length of RX/TX data transfers: 3060/896
-
What is the error message given in the console?
Post your config.g please.
-
@phaedrux said in Toolboard Heater Fault:
Post your config.g please.
Is in the first posting
is it possible that the PID settings to early loaded? (in line 57 & 58)
-
@phaedrux I did post my config.g in the OP.
It doesn't give an error message in the console or in the UI. I just says fault
-
I just uploaded another benchy and tried pre heating the hotend manually. After less than 20 seconds it faults out. No error message of any kind.
If I clear the fault by clicking "Hotend", wait 10 seconds once the popup comes up asking me to confirm and hit reset. I click "Hotend" again and it successfully heated up without a fault
-
@dhusolo said in Toolboard Heater Fault:
M307 H1 R2.330 C273.8:126.9 D12.41 S1.00 V25.7 ; Set PID for Hotend .4Bmm nozzle POST RRF 3.2.3
I'm surprised the tuning thinks your hotend has 12 seconds of dead time, yet the graph shows it hitting 90c quite quickly.
Have you tried PID tuning on 3.3 RC3 yet? Might be worth deleting your M307 line and re-tuning.
What kind of thermistor do you have?
If you send M98 P"config.g" do you get any errors back?
-
@phaedrux Yes I noticed it heating up quite quickly however that might be due to the fact that it's a liquid cooled setup.
I haven't deleted the M307 line and re-tuning but I have tried PID tuning a few times with the existing M307.
These are the thermistors I'm using. I noticed these are 3950 where I had 4725 in my M308 config however I've been using the same thermistor with the same B value for a few months. link
When I do M98 P"config.g" I do not get any errors
-
Let us know how a fresh PID tuning works out with the corrected B value. It will likely give you a slightly more accurate temp reading. So if you're used to printing at a certain temp now that might change slightly.
-
@phaedrux I just ran it again after clearing
M307
.M303 T0 F0.9 S215
These are the results
M307 H1 B0 R2.824 C282.4:110.0 D9.82 S1.00 V25.7
-
@dhusolo Why F0.9?
Fnn (RRF 3.3beta3 and later) Fan PWM to use when the print cooling fan is turned on (ignored if the T parameter is not present), default 1.0. Use a lower value if youpr printer uses a powerful print cooling fan that you do not normally run at full PWM.
-
@phaedrux tunes with Fan on at 90%
-
M307 H1 B0 R2.824 C282.4:110.0 D9.82 S1.00 V25.7
Vs
M307 H1 R2.330 C273.8:126.9 D12.41 S1.00 V25.7
Now the quetion is, how does it perform?
-
@phaedrux No change. Started heating to 220C from 30C. It faults once it gets to about 90c. Reset fault and continue heating right away. This time it gets to 180c and faults. Reset again and it'll heat the rest of the way.
-
Can you post a photo of the hotend itself?
Is the fan on when heating? Have you tried tuning the heater without the fan? -
@phaedrux I ran PID tuning again without the "F" parameter and I got
M307 H1 B0 R2.837 C252.0:103.7 D9.60 S1.00 V25.7
previously with the layer fan on it was
M307 H1 B0 R2.824 C282.4:110.0 D9.82 S1.00 V25.7
-
What does the hot block look like?
Did tuning without the F param help at all?
-
@dhusolo said in Toolboard Heater Fault:
@phaedrux No change. Started heating to 220C from 30C. It faults once it gets to about 90c. Reset fault and continue heating right away. This time it gets to 180c and faults. Reset again and it'll heat the rest of the way.
I'm not sure if it helps, but I recently had such a heating curve with the same error. The solution was a loose Crimp on the Duet Board, so I would say double-check the thermistor wiring with the crimps.
-
@siam Thanks for the suggestion. I suspected bad crimps so I re-did them just to make sure they had a good connection. The curve is due to the hotend going to a fault state and stops heating. I clear the fault and start heating again
-
@phaedrux It's an older design but for the most part the only thing changed between this and my current setup is now I'm using twin blower fans instead of 1