Overheating protection controlled by an independent sensor



  • On a Duet3 6HC+EXP3HC+ RRF3.0RC1

    My machine has a chamber that rises to over 270°C and is equipped with an infrared camera placed in a ventilated well. Is there a possibility that a temperature sensor placed in the ventilated well will stop ALL heating if a temperature of, for example, 80°C is reached ?
    Can a M143 control several heaters?

    The temperature sensor would be connected to the 6HC card.



  • There MIGHT be a way to do this with straight G-Code.

    On the other hand, if this Duet 3 has a Pi, then wire the sensor to whatever input, configure the sensor and attach it to a heater properly in config.g, then run a script on the Pi that does this every five seconds:

    echo "m408" | sudo /opt/dsf/bin/CodeConsole
    
    Connected!
    {"status":"I","heaters":[22.1,20.8,21.0],"active":[0.0,0.0,0.0],"standby":[0.0,0.0,0.0],"hstat":[0,2,1],"pos":[285.000,370.000,25.700,0.000],"machine":[285.000,320.000,25.700,0.000],"sfactor":100.00,"efactor":[100.00,100.00],"babystep":0.000,"tool":0,"probe":"0","fanPercent":[0.0,0.0,0.0,-100.0,-100.0,-100.0,-100.0,-100.0,-100.0,-100.0,-100.0,100.0,100.0,-100.0,-100.0,-100.0,-100.0],"fanRPM":[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],"homed":[1,1,1,1],"msgBox.mode":-1}
    

    and parse whichever heater sensor it is from the list of heaters returned. You can see in my example above that the sensors were all near room temperature (20 or 21 C). If that sensor exceeds your desired threshold, use CodeConsole to issue a M112 (emergency stop) or M999 (restart), your choice.

    This should be about a dozen lines of PERL or Python.

    Let me know if you need more help.



  • The machine has Pi, I think your solution is a good idea, it could also allow to control several places of the machine by adding additional sensors.
    The problem is that I have a very, very limited competence in Python.
    I don't know how to program the script, where to put it on the Pi, how to launch it automatically at the machine startup... A true newbie in python (never tried PERL).
    Would you be interested in helping me ?


Log in to reply