Duet2 high Heat Protection



  • Is there a way to program the Duet2 to flip a relay to cut power to both the bed and hotend heaters (cut main power) if one of the two go over max allowed temps? I understand to make this work, the Duet2 may have to be plugged into it's own separate 5v power supply (at least to keep monitoring/logging fans enabled). But if not separate 5v power for the Duet2, wouldn't mind the entire printing losing power as long as that solution doesn't mean cut power to the main power supply doesn't actually turn the relay back on.

    My guess is to get this to work, either a pwm fan port, or the power supply switch would be used. I bet there are other possible ways to make this work and would like to understand what others have done or possible options.

    Thanks!

    PS, I am having trouble finding a correct sized thermal fuse and would like to protect for both the hotend and bed.



  • Many of the failure modes which could cause runaway heating are outside the control of the duet (shorted heater wires, mosfet failed closed, software failure, etc). So it may make sense to have some sort of external safety monitor hooked up to your safety relay.

    For future development it might make sense to add the ability for a heater fault to switch an IO pin rather than just trying to turn off the heater. This may be possible when the object model / conditional gcode is in place, but I'm not 100% sure.



  • Could I do something like this with a fan header?
    Bed Temp reaches 125c, and then max fan power... But would actually be powering the off side of a physical rely.



  • @dc42, curious on your thoughts. I don't want to try and implement something that might break the board...
    Thanks in advance!


  • administrators

    Yes you could do that. Using RRF3 you could also invert the fan output, to that the relay turns on when the M106 command is executed, and off if the temperature threshold is exceeded. Like a PS_ON output with over temperature protection. Come to think of it, you may even be able to use the PS_ON pin in this way.



  • @dc42 said in Duet2 high Heat Protection:

    Come to think of it, you may even be able to use the PS_ON pin in this way.

    So you saying I could use input from a temp sensor or two to turn on/off a mechanical relay using the PS_ON pin?

    Or maybe not? How many mA can the PS_ON pin put out?
    I think I am missing something....



  • For what it is worth... having the same processor that PWMs a heater also monitor that heater seems to be a non-viable safety plan. Processor hangs (completely) and happens to be in a PWM ON part of the cycle. Oooopsie.

    I am a huge believer in simple mechanical fail safe. A fusible link (or self resetting) in series with the power to the bed heater. Etc. etc. A fireball (automated extinguisher) sitting on top of the printer. Etc. etc.

    So, yah, pursue this, nifty idea. Just don't make the mistake of thinking it (alone) makes anything safe.



  • @Danal
    I don't disagree. I like the idea of the printer turning itself off as one method of protection. Duet2 already has a few built in protection features, and this would just be one more. If I can find an external feature that would protect from the nozzle and bed heaters I would do that too. But so far haven't had any luck. The main annoyance I have had is not being able to find a proper thermal fuse for my setup. The external sensors with auto off plugs I have seen don't go over 100c.

    Using the duet2 board's own thermal sensors so far is my best and maybe cheapest option to setup. The more layers of protection I can add the better.
    I currently have two fire alarms in the room, and a fire extinguisher at the door.



  • @BlueDust said in Duet2 high Heat Protection:

    @Danal
    I don't disagree. I like the idea of the printer turning itself off as one method of protection. Duet2 already has a few built in protection features, and this would just be one more. If I can find an external feature that would protect from the nozzle and bed heaters I would do that too. But so far haven't had any luck. The main annoyance I have had is not being able to find a proper thermal fuse for my setup. The external sensors with auto off plugs I have seen don't go over 100c.

    Using the duet2 board's own thermal sensors so far is my best and maybe cheapest option to setup. The more layers of protection I can add the better.
    I currently have two fire alarms in the room, and a fire extinguisher at the door.

    have a look at these (and some of there other thermal products

    e351bf9c-6617-444d-b3aa-de674813e7f8-image.png

    Doug



  • @BlueDust said in Duet2 high Heat Protection:

    How many mA can the PS_ON pin put out?

    That's in my bookmarks 😉
    https://forum.duet3d.com/topic/2108/ps_on-usage/2
    For the exact rating you would need to checkout the schematics for mosfet used, then check it's specs out. Certainly enough to drive a small relay, you will need to add a flyback diode to it too.


  • administrators

    If it's a mechanical relay without a driver and you drive it from the PS_on pin, remember to use a flyback diode across the relay coil.



  • Something I forgot to mention... My main purpose of this is to catch a failed SSR for my heated bed, but if able able like to monitor/enable it for the hotend as it gets 5 times hotter...
    The Duet2 locking up is a different concern altogether.
    I might be able to have a RPi ping it, and possibly also interfere with the relay... Sounds like it should be an additional relay.

    Maybe open up the Duet2 for file sharing/ftp and setting up a RPi to constantly check the error log file for specific words. Say over heating, or temp sensor fault etc... Cut power... And if 30 seconds go by and it can't access that file to also cut power.



  • @BlueDust said in Duet2 high Heat Protection:

    Maybe open up the Duet2 for file sharing/ftp and setting up a RPi to constantly check the error log file for specific words. Say over heating, or temp sensor fault etc... Cut power... And if 30 seconds go by and it can't access that file to also cut power.

    An external monitoring system will add a layer of reliability. Some thoughts:

    • A Pi will certainly work, but seems kind of expensive given newer alternatives. An ESP8266 would also work, and are about $4 or $5 USD when purchased qty four from Amazon. Maybe cheaper, with some research.

    • I'd check the http://printer.ip.or.name/rr_status?type=2 and parse out the various temperatures. Avoids FTP, SD reads, etc, etc. As you said, no response for a set time, kill it.* I have an ESP based Duet monitor that displays stuff on a 1.x inch OLED... that code could be modified to do this, very easily. I'll happily share (I really should put it on Github).

    • And, just to poke fun, what monitors the monitor?

    *I'd mount the little monitor on the printer frame, with an "override switch", toggle switch, so that the darn thing won't kill it when your doing various kinds of maintenance.



  • @Danal
    I monitor the monitor!

    First, I have a lot of RPis just laying around. And as I would like to use Python (to make me learn it)... Saying that, I have also wanted to be alerted via text/email when a print has an issue/pauses, or completes. If I use a RPi, I could have it search for many different word combinations and send me actual alerts too. This leads into future projects of building my own smart own. If I do it that way, it would actually be the start of a larger project, and done with a larger project in mind and built using IOT standards. And not just a one off to complete a single project.

    I have some more to think about now...

    Thanks @Danal! and yes, I am curious about your code, but wouldn't be able to review it this week.



  • @dc42
    Should a SSR or a mechanical relay be used for this sort of thing?
    As it will be either on or off for long periods of time (not constantly switching) and have 120v 15 amps running through it, I assumed it should be a mechanical relay.



  • @BlueDust said in Duet2 high Heat Protection:

    @Danal
    I monitor the monitor!

    Yeah, I kinda figured. Makes a little display worthwhile. Or at least some LEDs.

    First, I have a lot of RPis just laying around. And as I would like to use Python (to make me learn it)... Saying that, I have also wanted to be alerted via text/email when a print has an issue/pauses, or completes. If I use a RPi, I could have it search for many different word combinations and send me actual alerts too. This leads into future projects of building my own smart own. If I do it that way, it would actually be the start of a larger project, and done with a larger project in mind and built using IOT standards. And not just a one off to complete a single project.

    Understood. With respect, I will note that ESP8266 and ESP32 are the current "darlings" of IOT, and can be programmed in Python, and send email, and, and, and... ok, I'll quite now (not really).

    Thanks @Danal! and yes, I am curious about your code, but wouldn't be able to review it this week.

    No prob. Maybe this will motivate me to put it on Github and write up the project on my blog. Which I've been neglecting. Of course, the Duet monitor sits in a 3D Printed case. Gotta put the STLs out there too... It has an 18650 battery. So you can haul it around with you. (Another advantage of the ESP series; you sick of hearing that yet? 🙂 )


Log in to reply