Configure Action on Heater Fault?
It's not obvious (/I can't find it this morning!) where the action on heater fault is set up in the duet gcode reference.
Ideally I would like to drop PS_ON on any heater fault regardless of bein in build or not as a power spike may have killed a MOSFET (integral to Duet or external eg mains SSR) leading to loss of heater control which certainly is not happening at the moment.
No specific category for safety topics?
In recent firmware versions (1.21 and later AFAIR) the action on a heater fault is:
- Turn off the heater and mark it 'fault'
- If an SD card print is in progress, pause the print if it isn't paused already
- Wait for the timeout defined by the M570 S parameter (default 10 minutes) to give the user a chance to reset the fault and continue the print
- If the heater is still in the fault state when the timeout expires, turn off all other heaters and attempt to shut down the printer by turning off the PS_ON pin.
Thanks for the reply.
So this is the count for how long it sits where the heaters would be identified as fault on DWC?
Can S be 0? If not but it can be decimal? Minimum value?
Is it possible add something to act as a permanent watch dog that drops the PS_ON pin rather than just during a build?
The M570 S parameter is in seconds, so you can set it to 1 second if you like.
The problem with dropping PS_ON immediately is that there would be no error message anywhere to tell you what happened.
@dc42 Ah right ok. So the firmware originally treated this as seconds, then after 1.15e it became minutes, and finally after another revision dropped back to seconds?
If it chucked a gcode response that would still be visible on DWC as I only interlock the V_IN, not 5V. A stop mid process itself in this case should warn the user to check heaters.
So the firmware originally treated this as seconds, then after 1.15e it became minutes, and finally after another revision dropped back to seconds?
I was wrong, the heater timeout (M570 S parameter) is in minutes. I think zero will work.
Thanks. I've got a bit to get through before getting back on the machine but I will test it. How do I go about making a feature request to have the M81 after fault at anytime rather than just during a build?
How do I go about making a feature request to have the M81 after fault at anytime rather than just during a build?
Would anyone else consider this useful? I assumed that someone would always be attending the printer if it was commanded to heat but not printing from the SD card.
What I am proposing here is to allow the duet to fire the M81 command in any fault condition where it detects loss of control of the heaters.
There are many possible causes for this including something as simple as your partner/cat/kid/ghostly companion being near the machine and accidentally knocking a tool onto the machine and shorted between the heater -ve terminal and ground. As the heater is switched on the ground side this would cause the heater to heat until the PSU is shut off.
Ultimately I think the heater fault detection tool is a very useful safety tool and I think it would be useful to have an opt in feature to expand this to cover all the power on time of the machine.