Disabling Heater Fault
-
@phaedrux said in Disabling Heater Fault:
What firmware version are you using?
Have you done a PID tuning and saved the results?
What parameters are you using?I have done PID earlier, however, it was not successful. Therefore, tried to find correct settings experimentally changing the values.
I think the Firmware-3.1.1
; HotEnd M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin e0temp M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as PT100 on pin e1temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 ;M307 H1 B0 S0.50 ; disable bang-bang mode for heater and set PWM limit ;M307 H2 B0 S0.50 ; disable bang-bang mode for heater and set PWM limit ;M307 H1 A1137.2 C141.7 D8.4 S1.00 V24.3 B0 M307 H1 A550 C180 D2.0 S0.35 V24.3 B0 M307 H2 A550 C239 D2.7 S0.5 V24.3 B0 ;M301 H1 P5 I0.5 D1 ; Set PID values ;M301 H2 P5 I0.5 D1 ; Set PID values M143 H1 S480 ;Set temperature max temp: M143 H2 S480 ;Set temperature max temp:
However, the heat bed is also a problem. In the middle of heating around 32 celsius, it is giving errors like "rising temperature is slower than it should be!" The heated my own built 4 kilowatts 120cm diameter massive part. So it is taking at least 15-20 minutes to warm up
PID test-taking ages in the heated bed. That's the reason I use the most reasonable values too.
; Bed Heater M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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 ; enable bang-bang mode for the bed heater and set PWM limit M307 H0 A233.3 C508.3 D160 S1.00 V24.3 B1 M140 H0 ; map heated bed to heater 0 M143 H0 S100 ```.
-
PID tuning for very large and slow bed heaters has been improved in the recent 3.4 beta7+ firmwares. You may wish to try those, or wait for 3.4 RC1 coming soon. Even updating to 3.3 stable should show an improvement over 3.1.1. So perhaps in preparation update to 3.3 stable and try tuning again. You would need to update to 3.3 first before updating to 3.4 anyway.
-
@phaedrux said in Disabling Heater Fault:
PID tuning for very large and slow bed heaters has been improved in the recent 3.4 beta7+ firmwares. You may wish to try those, or wait for 3.4 RC1 coming soon. Even updating to 3.3 stable should show an improvement over 3.1.1. So perhaps in preparation update to 3.3 stable and try tuning again. You would need to update to 3.3 first before updating to 3.4 anyway.
I have updated now 3.3 version. I wanted to make Auto PID tuning but, Dyze design has 2 heaters with different power on one single block. Therefore, what do you recommend for testing? because they influence each other.
-
@sozkan said in Disabling Heater Fault:
@phaedrux said in Disabling Heater Fault:
PID tuning for very large and slow bed heaters has been improved in the recent 3.4 beta7+ firmwares. You may wish to try those, or wait for 3.4 RC1 coming soon. Even updating to 3.3 stable should show an improvement over 3.1.1. So perhaps in preparation update to 3.3 stable and try tuning again. You would need to update to 3.3 first before updating to 3.4 anyway.
I have updated now 3.3 version. I wanted to make Auto PID tuning but, Dyze design has 2 heaters with different power on one single block. Therefore, what do you recommend for testing? because they influence each other.
I'm not familiar with the Dyze Typhoon but it sounds a bit like my own design which has two heat zones (in my case, they are somewhat isolated from each other by a secondary heat break). The way I approached the problem was to PID the secondary (upper) heater as if it was a single heater starting with both heaters at room temperature. Then I let the hot end cool and PID tuned the second (lower) heater as a tool so that it has two values (with and without fan). Admittedly, this does not take into account the fact that one heater has an effect on the other, but it seems to work and I don't get any faults.
Another approach would be to set one heater to (say) 100 deg C while PID tuning the other. This might give a better fit. The problem with setting one heater to print temperature while PID tuning the other, is that the heater to be tuned will be starting at a temperature much higher than normal ambient, which might give a worse fit.
EDIT. Another thing I have done is because one heater has an influence on the other, I set a wide tolerance on the heater fault detection parameters as follows:
M570 H1 P30 T20 S180 M570 H1 P30 T30 S180
H1 is the lower heater and I've set it to 30 seconds (P30) and 20 degrees (T20) and to cancel a print if the fault persists for 3 minutes (S180). H2 is the upper heater which has a 20 degree tolerance.
Use with caution - the wider the tolerance the less safe your printer will be in the event of a genuine fault.
-
@deckingman Thank you very much for the valuable information. I think it is more stable than before. The main problem two heating zone on a single block and individual sensing points somehow require to be tuned same time. But like you said preheating the untested one before the test is a wise idea to be close to perfect tuning.
However, the Heatbed still trying to Autotune for 9 hours. No idea when it will finish or the quantity of try.
-
@deckingman recent releases of RepRapFirmware support the A parameter for PID tuning to set the ambient temperature. This may also help with a (pre) heated second heater?
-
@oliof said in Disabling Heater Fault:
@deckingman recent releases of RepRapFirmware support the A parameter for PID tuning to set the ambient temperature. This may also help with a (pre) heated second heater?
Thanks - I'll bear that in mind. My hot end heaters seem to be working reasonably well but now that I've got some sort of model, what I might try is, starting from room temperature, PID the secondary heater but start heating the primary heater at the same time (or as close together as I can send those commands). Then do the same to tune the primary heater by starting the secondary heater at the same time as I start the PID tuning. That would simulate what happens normally when the hot end is being heated.
-
@oliof said in Disabling Heater Fault:
@deckingman recent releases of RepRapFirmware support the A parameter for PID tuning to set the ambient temperature. This may also help with a (pre) heated second heater?
Biriliant! Thank you.
-
@deckingman said in Disabling Heater Fault:
@oliof said in Disabling Heater Fault:
@deckingman recent releases of RepRapFirmware support the A parameter for PID tuning to set the ambient temperature. This may also help with a (pre) heated second heater?
Thanks - I'll bear that in mind. My hot end heaters seem to be working reasonably well but now that I've got some sort of model, what I might try is, starting from room temperature, PID the secondary heater but start heating the primary heater at the same time (or as close together as I can send those commands). Then do the same to tune the primary heater by starting the secondary heater at the same time as I start the PID tuning. That would simulate what happens normally when the hot end is being heated.
That's very kind of all of you.
-
-
I have tried all the possibilities to get rid of temperature fault rising error. But somehow the problem not going please help.
I have tested all versions of the firmware now I am at the latest one. As suggested, I have kept warm the H1 while I am doing PID on H2 that simulated the real-time condition. But on every PID test shows a different value.
The strange thing is, the fault is happening after 2-3 hours of the start of the printing. Problem on H2 not always over-temperature, sometimes lower temperature. I doubted the temperature control is being held while gcode interpreted.
I have also tested active heat but no printing it is no problem at all. After 24 hours even it was stable.
Board: Duet 2 WiFi (2WiFi)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta7 (2021-12-16)
Duet WiFi Server Version: 1.26For some reason, the H1 seems no problem, but H2 is causing the issue.
PID result also seems problematic :
Warning: heater behavior was not consistent during tuning Auto tuning heater 2 was completed after 3 idle and 25 tuning cycles in 1678 seconds. This heater needs the following M307 command: M307 H2 R2.996 K0.308:0.000 D8.50 E1.35 S0.40 B0 V24.4 Send M500 to save this command in config-override.g
Error messages :
1/26/2022, 6:46:24 PM Warning: Tool 0 was not driven because its heater temperatures were not high enough or it has a heater fault 1/26/2022, 6:46:24 PM Resume state saved 1/26/2022, 6:46:21 PM Error: Heater 0 fault: exceeded allowed temperature excursion: target 220.0°C actual 245.8°C
-
@sozkan What does the temperature graph look like during a print? Are there sudden excursions or gradual changes? Can you grab a screen shot and post it.
-
Also - following on from this thread, I wrote a little macro for heater tuning multiple zones. It's working well for me https://forum.duet3d.com/topic/26910/strategy-for-pid-tuning-multiple-heat-zones
-
@deckingman The green curve represents the H2 is unstable during the print but after 2-3 hours of printing starts. I don't have a proper capture yet. While problematic during the printing, it is not in the active or standby with no printing. I doubted if the filament act like cooler while printing. I always find it time-based settings are not really perfect for such a situation.
It is the result of M307 Do you recommend me to reduce or increase some parameters?
M307 H2 Heater 2: heating rate 2.996, cooling rate 0.308, dead time 8.50, max PWM 0.40, mode PID, calibrated at 24.4V Predicted max temperature rise 539°C PID parameters: heating P7.0 I0.150 D41.7, steady P7.0 I0.308 D41.7
Excuse my ignorance but just asking: Since we have sensors, why it is crossing the limits and keep powering and fault detection can only find out? can it not be possible to get real-time thresholds to start energizing and stop between thresholds band? in this case, PID engine could only search for the thresholds gap?
-
@sozkan Please post your entire config.g and config-overide.g if you use it. Something looks wrong because the error messages relate to tool 0 not getting hot enough and a heater fault on heater 0 which exceeded it's allowable temperature. But heater 0 is normally the bed heater and wouldn't normally have an allowable temperature limit of 220 deg C, nor would it normally reach 245 deg C. So it looks like you might have something configured incorrectly.
-
config:
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sun Sep 27 2020 20:52:39 GMT+0200 (Central European Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Giant3D" ; set printer name M665 L1200.000:1200.000:1200.000 R603.000 H1298.25 B500.0 X0.000 Y0.000 Z0.000 ; Set delta radius, diagonal rod length, printable radius and homed height H1298.25 mm thermal expension. M666 X0.000 Y0.000 Z0.000 A0.00 B0.00 ; put your endstop adjustments here, or let auto calibration find them ; Network ;M551 P"" ; set password ;M552 P0.0.0.0 S1 ; enable network, use DHCP M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet M569 P9 S1 R1 T3:3:5:0 ; Extruder drive 0 goes Forward ;M569 P1 S1 R1 T3:3:5:0 ; Extruder drive 0 goes Forward M569 P6 S1 R0 T10:10:10:10 ; X:A drive 1 goes Forward M569 P7 S1 R0 T10:10:10:10 ; Y:B drive 2 goes Forward M569 P8 S1 R0 T10:10:10:10 ; Z:C physical drive 3 goes Forward M584 X6 Y7 Z8 E5 ; set drive mapping M350 X1 Y1 Z1 E1 I1 ; configure microstepping without interpolation M92 X228.5714 Y228.5714 Z228.5714 E304.44 ; set steps per mm (3200/140) * 10 = 228.5714 ; 3200 step per rev ; 140 mm one rev pulley ;1:10 ratio gearbox M566 X250.00 Y250.00 Z250.00 E250.00 ; set maximum instantaneous speed changes (mm/min) M203 X2500.00 Y2500.00 Z2500.00 E2500.00 ; set maximum speeds (mm/min) M201 X400.00 Y400.00 Z400.00 E1000.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 Z0 S1 ; set minimum Z ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P8 C"!zprobe.in" H50 F220 T1000 ; set Z probe type to unmodulated and the dive height + speeds ;M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P500 X42.43 Y-42.43 Z1.71 ; Circular 60 mm radious, 42.43 mm set Z probe trigger value, offset and trigger height M557 R450 S200 ; define mesh grid ; Bed Heater M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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 ; enable bang-bang mode for the bed heater and set PWM limit ;M307 H0 A233.3 C508.3 D160 S1.00 V24.3 B1 ; older M307 H0 B0 R0.059 C3538.6 D85.46 S1.00 V24.3 M140 H0 ; map heated bed to heater 0 M143 H0 S100 ; set temperature limit for heater 0 to 120C ; HotEnd M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as PT100 on pin e0temp M308 S2 P"spi.cs2" Y"rtd-max31865" ; configure sensor 2 as PT100 on pin e1temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 ;M307 H1 B0 S0.50 ; disable bang-bang mode for heater and set PWM limit ;M307 H2 B0 S0.50 ; disable bang-bang mode for heater and set PWM limit ;M307 H1 A550 C180 D2.0 S0.35 V24.3 B0 ; older ;M307 H1 B0 R4.707 C287.9 D8.76 S0.35 V24.3 ; older 2 M307 H1 B0 R4.289 C188.3 D11.28 S0.35 V24.3 ;M307 H2 A550 C239 D2.7 S0.5 V24.3 B0 ; older ;M307 H2 B0 R2.246 C352.7 D8.01 S0.50 V24.3 ; older 2 ;M307 H2 B0 R2.804 C317.4 D8.25 S0.40 V24.2 ; older 3 M307 H2 R2.996 K0.308:0.000 D8.50 E1.35 S0.40 B0 V24.4 ;M301 H1 P5 I0.5 D1 ; Set PID values ;M301 H2 P5 I0.5 D1 ; Set PID values M143 H1 S480 ;Set temperature max temp: M143 H2 S480 ;Set temperature max temp: ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S1 H2:1 T45 ; set fan 0 value. Thermostatic control is turned on M570 S240 ; wait 120 seconds for it to get close to the set temperature. If it takes longer than this, raise a heater fault. ;M570 H1 P4 T15 ; H heater, T tolerance degree, S second persist. ;M570 H1 P30 T30 S180 ; H heater, T tolerance degree, S second persist. ;M570 H2 P30 T30 S180 ; H heater, T tolerance degree, S second persist. ; Tools M563 P0 D0 H1:2 F0 S"Typhoon" ; 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 ;M500 ; Save the parameters to non-volatile memory M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool ; Bunun maksadi sadece enable konumuna ulasmasi icin motorlari uyandirmak. ;G91 ; relative positioning ;G1 H2 X-0.1 Y-0.1 Z-0.1 F1000 ; go down a few mm
config-override.g
; config-override.g file generated in response to M500 ; This is a system-generated file - do not edit ; Delta parameters M665 L1200.000:1200.000:1200.000 R603.000 H1298.250 B500.0 X0.000 Y0.000 Z0.000 M666 X0.000 Y0.000 Z0.000 A0.00 B0.00 ; Heater model parameters M307 H0 R0.059 K0.028:0.000 D85.46 E1.00 S1.00 B0 M307 H1 R4.289 K0.531:0.000 D11.28 E1.00 S0.35 B0 V24.3 M307 H2 R2.996 K0.308:0.000 D8.50 E1.35 S0.40 B0 V24.4 ; 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
This the preview of 18 hours of non-print test. it is not failed yet. however, failure starts during the print.
-
@sozkan I don't see anything there which would explain the error message related to heater 0. Maybe the message itself is erroneous ??
That aside, I see that you are limiting the PWM value when you tune the heaters. Is there a reason for that? Have you tried tuning them with a PWM value of 1.0? If so, what happens?
I note also that you have commented out the fault detection lines for heaters 1 and 2. Given that you have two heater which interact with each other, you might want to re-instate those lines to give you that 30 degree allowable excursion.
Have you tried tuning the heaters using the macro I suggested?
-
@sozkan said in Disabling Heater Fault:
I have tested all versions of the firmware now I am at the latest one.
Can you test this beta version as well?
https://www.dropbox.com/sh/i5vox3xmkd55gaz/AAC19mI0WEC5GmEjLOBRbKs-a?dl=0
-
@deckingman said in Disabling Heater Fault:
@sozkan I don't see anything there which would explain the error message related to heater 0. Maybe the message itself is erroneous ??
That aside, I see that you are limiting the PWM value when you tune the heaters. Is there a reason for that? Have you tried tuning them with a PWM value of 1.0? If so, what happens?
I note also that you have commented out the fault detection lines for heaters 1 and 2. Given that you have two heater which interact with each other, you might want to re-instate those lines to give you that 30 degree allowable excursion.
Have you tried tuning the heaters using the macro I suggested?
As far as I remember PWM 1.0 is not suggested. However, I have tried today while testing your macros. I suddenly smell a smoke heavily cable burn type. But I have not seen any evidence of burn. It was a bit scary because all the bunch of cable together and it is high voltage!
Since there is not short yet, I am still trying to figure out what was burned. -
@phaedrux said in Disabling Heater Fault:
@sozkan said in Disabling Heater Fault:
I have tested all versions of the firmware now I am at the latest one.
Can you test this beta version as well?
https://www.dropbox.com/sh/i5vox3xmkd55gaz/AAC19mI0WEC5GmEjLOBRbKs-a?dl=0
Sure I have just updated. But now I gues the hothend H1 connector has burn! Because previously the smoke smell source has hotend PCB connector.
-
Do you see any visible damage? Best to disassemble completely and find the source if you haven't already. Waiting for a short may be waiting for destruction.