Adding a 24V safety relay for the heaters, any thoughts?
-
@DaBit said in Adding a 24V safety relay for the heaters, any thoughts?:
I think the remaining risk after taking into account the overheating prevention of the Duet in combination with the regular SSR and relay is acceptably small. Can it be better? Sure.
...and there's where the art in the design of these failsafe and protective systems come in.
It'd be enlightening to the what the real probability of failures is and how it compares to risk of injury from mundane everyday tasks where intrusive safety measures are accepted without thought.
-
TL;DR I performed a small experiment and PS_ON doesn't seem to be a good choice for everything-ok signal.
Experiment:
-
Connected a small 24V bulb between PS_ON and +24V.
-
Added the command M80 to config.g to turn PS_ON.
-
While the printer is turned on and idle, shorted the bed power mosfet with a wire to have the bed permanently on.
-
The bed temperature rose to 70c within ~6minutes (observed with DWC) but PS_ON stayed on.
I would expect the duet to complain about bed temp rising with no input and to turn off PS_ON. Any thoughts?
-
-
@zapta said in Adding a 24V safety relay for the heaters, any thoughts?:
3. While the printer is turned on and idle, shorted the bed power mosfet with a wire to have the bed permanently on.
4. The bed temperature rose to 70c within ~6minutes (observed with DWC) but PS_ON stayed on.I don't see anything "alarming" there. It is quite normal for beds of certain power densities to be "full on" (no PWM) during their initial heatup phase. 70C is well within the temps required for certain materials.
What would trigger an error?
-
@Danal said in Adding a 24V safety relay for the heaters, any thoughts?:
What would trigger an error?
that the bed temp rises without rrf turning the bed on presumaby?
-
And how would this be distinguished from the bed being 70C on its way down from 90C while "off"?
In theory, one could specify a set of "trends" that would not false trigger on things like ambient room going from 20 to 25C because someone opened a door in the summer, or the bed taking a long time to cool (some do). This would require a lot of "prior state" or "state over time" tracking.
In practice, I'd be willing to bet that every firmware out there looks for "rising too fast" (note, not "rising too fast and the output isn't on") and "exceeded configurable peak".
Therefore, no, I wouldn't expect those 4 steps to trigger any alarms. Keep going until the currently configured max temp is exceeded and see what happens.
-
I perform more experiment and the PS_ON doesn't badge, even when the duet firmware detects an abnormal conditions and disable the PWM bed and nozzle heaters.
-
Heating the nozzle and then forcing overcooling by holding the heat block with parallel pliers. Firmware detection detects (good) but PS_ON stays on.
-
In idle, shorting the nozzle heater mosfet, I let the temp rise to 240C but no firmware detection.
-
With nozzle temp sets to 230c, shorted the mosfet. Temp risen, firmware detects but no change on PS_ON.
Ut seems that
a) the duet doesn't detect temp runaway when a heater is not turned on and
b) even errors that the duet detects do not turn off PS_ON.Edit: all tests were done on Duet2 Wifi 2.04
-
-
@zapta said in Adding a 24V safety relay for the heaters, any thoughts?:
b) even errors that the duet detects do not turn off PS_ON.
And that’s good, because I would loose all of my cooling fans, too. PS_ON is not meant to signal an error, but to control the 12V or 24V power rail on systems with two separate PSUs.
It’s wrong to focus all hopes on a side effect (which, in this case, doesn’t occur).
-
@infiniteloop said in Adding a 24V safety relay for the heaters, any thoughts?:
I would loose all of my cooling fans
interesting observation. while i wouldn't count on ps_on for safety I might opt for more 5v fans.
-
@zapta said in Adding a 24V safety relay for the heaters, any thoughts?:
In idle, shorting the nozzle heater mosfet, I let the temp rise to 240C but no firmware detection.
2. In idle, shorting the nozzle heater mosfet, I let the temp rise to 240C but no firmware detection.
I regularly print at that extruder temp. I would not expect an alarm.
-
@Danal said in Adding a 24V safety relay for the heaters, any thoughts?:
I regularly print at that extruder temp. I would not expect an alarm.
i'm not a fan of the nanny state tbh, but i don't think that there is a reason to not flag erroneous operation when possible, even if it doesn't pose a fire risk. detect rising temperature when the firmware should expect falling or stable temp is quite possible, and could at the very least avoid someone getting a burn, especially small inquisitive hands f.ex.
same with the bed at 70C; its technically wrong behavior and possible to detect so why not? (even though I don't see ps_on as a reliable means to remedy it)
-
As I flagged up before the PS_ON control is disabled when the machine is Idle. It has been on the wishlist for some time to get similar controls for PS_ON while idle as to printing.
After all, if you are doing domething that is likely to trip the alarm with maintainance or tuning a temporary override and don't leave the machine unattended should suffice.
Perhsps @dc42 or @T3P3Tony can update us on the progress of this firmware wishlist item.
-
@Danal said in Adding a 24V safety relay for the heaters, any thoughts?:
I regularly print at that extruder temp. I would not expect an alarm.
The alarm is not not be about the temp but about the inconsistency between the input from duet (no warming) and the actual temp (do not cool down and keeps warming, consistent with a short mosfet).
-
@DocTrucker said in Adding a 24V safety relay for the heaters, any thoughts?:
It has been on the wishlist for some time to get similar controls for PS_ON while idle as to printing.
Note that PS_ON did not trip even during printing when over heating or cooling triggered the firmware PID error message.
To be fail, I don't think that Duet represented the PS_ON as an automatic OK signal so it does what it is advertised to do, a digital output that can be turned on/off with geodes to control a power supply.
It would be nice though to have an OK output from the duet. Doesn't need to be fancy charge pump and such, even a simple digital output that trips when an anomaly is detected will go a long way.
-
@zapta it will/should drop as I understand it if you get a heater fault state during a build. It maybe that there is a delay of a period of time before the PS_ON signal is dropped.
I regularly get heater fault if I overcool the heater block (yes with a silicone sock in place) with a bad part cooling duct.
A three posision switch on the switched-ground side of a heater could test alarms. One side normal (normal control by duet), central break (heater disabled, mimics temp sense failure) in a single sensor system), other direct to ground (mimics a shorted MOSFET). My machine safey prints PLA anywhere between 180 and 230C so it would be interesting to test this for myself too...
-
PS_ON is mentioned in the fire safety wiki as a preventative measure:
-
Just to clarify I'm not saying it should be trusted over thermal fuses. Thermal fuses are not practical for the hotend. The duet should be easily capable of reporting that it appear out of control due to a mechanical/electical failure that is likely outside it's scope of control such as shorted heater, failed short circuit MOSFET/SSR, faulty temp sensor.
-
@DocTrucker said in Adding a 24V safety relay for the heaters, any thoughts?:
My machine safey prints PLA anywhere between 180 and 230C so it would be interesting to test this for myself too...
DocTrucker, I would be interested to see your test results. I was easily able to trigger the panic screen by setting target temp from the UI and forcing overheating (shorted the mosfet with a jumper wire) or overcooling (holding the heat-block with with parallel pliers) and am pretty sure it didn't affect PS_ON (I have a small bulb connected to it).
I wonder if I tested it incorrectly or if my firmware is too old (2.04), but in any case, make sure to be very careful not to damage boards, printers, houses and people.
-
@zapta I've been meaning to do a risk assessment for an age on my printers so I will start it next week. I've got a terminal block on both the hotend and heatbed so I'm not even needing to unduly stress the board connections.
I'll run the test first on my first generation v0.6 board, that is running something like 1.24 (will update first if needbe) and will check through the gcode wiki to ensure I haven't missed anything. I hope to have a board running soon with RepRapFirmware 3.x soon, so all going well I'll redo on that too - unless I fry a board then I won't repeat on my nice new one!
-
At last, I added a high current relay that is controlled by the PS_ON signal to control the +24V rail to the bed and nozzle heaters.
Tried it with M80 and M81 commands and it turns on/off as expected, so added a M80 in config.g to turn it on by default and while printing I disconnected the nozzle thermistor to see what happens. Temperature display changed to 2000 (good) and the print paused but the relay was not turned off
Is there a way to tell the Duet to turn off PS_ON if something is funny with the heaters control loops?
I am using Duet 2 Wifi, firmware 2.05.1 (2020-02-09b1)
-
Answering my own question. Adding this to config.g and it works.
M570 H0 P20 T10 S0 M570 H1 P20 T10 S0