Verifying Firmware Safety Features - Duet 3 Mini 5+
-
@flobler said in Verifying Firmware Safety Features - Duet 3 Mini 5+:
Heater 0 model: heating rate 0.302, cooling time constant 72.5, dead time 10.44, max PWM 1.00, calibration voltage 24.2, mode PID
72.5 seconds would be a very low time constant for a heated bed.
-
@phaedrux said in Verifying Firmware Safety Features - Duet 3 Mini 5+:
@flobler Ok, this may explain the issue then. The timeout will only be active when the heater is running during a print from a file on the SD card.
@Phaedrux, @dc42 thank you both for the pointer, of course it worked once I triggered the heater fault during a print from SD card. I missed that bit which caused me to test the feature wrongly. Appreciate your help with this.
One thing I recognized: while both heaters shut off after 10 minutes the PanelDue still shows the set temperatures as "active" and does not reset to 0 there. This might seem a bit confusing first as I only was certain that both of the heaters have actually stopped heating when I saw the temperature measurement drop.
@dc42 said in Verifying Firmware Safety Features - Duet 3 Mini 5+:
@flobler said in Verifying Firmware Safety Features - Duet 3 Mini 5+:
Heater 0 model: heating rate 0.302, cooling time constant 72.5, dead time 10.44, max PWM 1.00, calibration voltage 24.2, mode PID
72.5 seconds would be a very low time constant for a heated bed.
I re-ran the PID routine and got the following results:
Heater 0 model: heating rate 0.264, cooling time constant 526.4, dead time 10.00, max PWM 1.00, calibration voltage 24.2, mode PID Computed PID parameters: setpoint change: P67.6, I0.932, D473.3, load change: P67.6, I2.202, D473.3
The heater fault still does not trigger. I am disconnecting the bed heater and then set the bed temperature to 80C manually (the bed is at room temperature before I set it to 80C). From my understanding the fault should trigger with the values above. Probably I am still missing something.
-
@flobler I've just run two tests:
- On my Tool changer, I disconnected the bed heater SSR, and commanded heating. A heater fault was generated after 35 seconds.
- On my bench system I connected a 100K resistor in place of a thermistor and configured (non-existent) bed heater. I then set the M307 parameters that you gave in your post, and commanded heating. No heater fault was raised.
So I agree, something isn't right. I will investigate why no heater fault was raised.
-
The reason for the failure to detect a heater fault turned out to be a mechanism that allows for noise in the temperature readings. This mechanism allows for the measured heating rate to be as low as 0.25degC/sec below the expected rate without a fault being raised. When added to the tolerance that was already allowed, it means that lack of heating is not detected on slow bed heaters.
To fix this, I will increase the time over which the rate of temperature increase is measured, so that thermistor noise has less effect.
-
I have just implemented this fix, and using your parameters the heater faults after 30 seconds. I will include this fix in the next 3.4 beta release. We will need to see whether it increases the number of nuisance heater faults.
-
@dc42 Thank you very much! I will try it and report back when the next release is live
-
@flobler I can make a preview build available to you that includes the fix if you like.
-
@dc42 If it is not much of an effort I would be happy to try! Thank you
-
@flobler you can find it at https://www.dropbox.com/sh/cq7q3g8coymo9s3/AABtPYEzV1_unETpKEMPInSia?dl=0. Use it with care because we have more testing to do before we release the beta.
-
@dc42 Thank you very much!
I just tested the feature 3x with the preview build and each time the heater faults after ca. 20 seconds
I appreciate all the help you and everyone else provided to resolve this!
-
@flobler thanks for confirming this. I'm sorry it took a while to resolve.