Welcome! Log In Create A New Profile

Advanced

Over-engineering safety: Redundant thermistors, etc.

Posted by qrp-gaijin 
Over-engineering safety: Redundant thermistors, etc.
April 04, 2021 12:51AM
If the thermistor fails or gets disconnected from the heater block, thermal runaway can occur. I am interested in having multiple fail-safe mechanisms in place to detect this situation, and also to detect any overheating or smoke.

For example:
  1. Firmware: I think Marlin has the capability to check of the thermistor readings seem inconsistent with the expected temperature given the assumed state of the heater, which will then cut off the heater.
  2. Second thermistor: I've seen some proposal about mounting two thermistors on the heater block for redundancy. I am thinking the second thermistor could be connected to the second extruder's thermistor connector on the controller board. But then the firmware would probably need to be modified to know that the E0 thermistor and E1 thermistor are actually connected to the same heater block, and to check both thermistors' readings for consistency. Has anyone done this in practice?
  3. Thermal camera. Both thermistor-based mechanisms above assume the firmware is running correctly, but a fault in the firmware could conceivably lead to thermal runaway. I am thinking that a separate Raspberry Pi (which I am already using to drive the printer anyway) could use a thermal camera to periodically take an image of the hot end and/or printer surroundings, and physically (e.g. via a relay) cut off the mains power to the printer if an abnormally high temperature condition is detected.
  4. In addition to the thermal camera, a third thermistor could be connected to the heater block, with this third thermistor being monitored by the Raspberry Pi (instead of the Marlin firmware), so even if the Marlin firmware freezes or crashes, the Raspberry Pi can still monitor the temperature.
  5. Smoke detector. This could be a traditional analog smoke detector, or possibly a Raspberry Pi-based smoke sensor.

Apart from the hot end itself, another failure mechanism could be connectors or wires overheating and melting. That could be detected by the above thermal camera (detecting if something is overheating or burning) and the smoke detector.

Any comments or ideas about how to implement multiple, redundant mechanisms to detect thermal runaway, smoke, and fire?
Re: Over-engineering safety: Redundant thermistors, etc.
April 04, 2021 03:52AM
1) yes its called thermal runaway, has been part of marlin for years, even though some printer makers don't enable this feature! most reviewers now test for this and give them bad reviews... they are learning slowly

2) also part of marlin...
// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings
// from the two sensors differ too much the print will be aborted.
//#define TEMP_SENSOR_1_AS_REDUNDANT
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10

4) marlin has hardware watchdog, if firmware crashes, the board is reset and heaters turned off.
5) never ever use a diy smoke detector, your asking for trouble.

Edited 3 time(s). Last edit at 04/04/2021 04:04AM by Dust.
Re: Over-engineering safety: Redundant thermistors, etc.
April 04, 2021 04:09AM
Quote
Dust
// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings
// from the two sensors differ too much the print will be aborted.
//#define TEMP_SENSOR_1_AS_REDUNDANT
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10

Thanks! Great to hear that this feature already exists.

I'm ordering a new controller board (MKS GEN L V1.0) and plan to flash my own firmware, to make sure that all the features I need will be enabled.

Quote
Dust
4) marlin has hardware watchdog, if firmware crashes, the board is reset and heaters turned off.

Is there an easy way to test this capability? As they say, "trust... but verify." I can think of one way, which would be to modify the firmware to intentionally cause a crash that always happens, for example, 120 seconds after boot. That would give enough time to start the heater, then after the crash I could confirm (with a finger, if necessary...) that the heater has been turned off.

Edited 1 time(s). Last edit at 04/04/2021 04:12AM by qrp-gaijin.
Re: Over-engineering safety: Redundant thermistors, etc.
April 04, 2021 06:27AM
A stone-age but reliable way is to use a thermal fuse. The problem here is that the highest rating for proven thermal fuses is 240°C and this needs de-rating a bit to get a decent lifespan. I would go for a 227°C fuse and position it with just enough reliable thermal contact to keep its temperature to about 160°C-170°C in normal use. That way it will fail if the hotend gets to 350°C or thereabouts - This won't save your heater element but will stop a fire.



It needs a bit of juggling to find a way of getting the thermal fuse to just the right position and where it won't be subjected to cooling breezes but will probably be the safest and most reliable way to go. BTW, I have come across thermal fuses rated at more than 240°C but for myself, I wouldn't trust them.

Mike
Re: Over-engineering safety: Redundant thermistors, etc.
April 04, 2021 06:42AM
Enable dcodes in marlin MARLIN_DEV_MODE

dcode -1:
for ( ;; ); // forever

loop forever. is do not update watchdog. simulate a crash.

Edited 1 time(s). Last edit at 04/04/2021 06:42AM by Dust.
Re: Over-engineering safety: Redundant thermistors, etc.
April 04, 2021 11:03PM
Quote
qrp-gaijin
separate Raspberry Pi (which I am already using to drive the printer anyway) could use a thermal camera to periodically take an image of the hot end and/or printer surroundings, and physically (e.g. via a relay) cut off the mains power to the printer if an abnormally high temperature condition is detected.

It seems that there exists a $50 IR sensor (AMG8833) with 8x8 pixel resolution. That's low, but it should be enough for detecting if there is abnormally high heat where there shouldn't be (e.g. if the controller board starts to melt connectors, or if the heater falls out of the block onto the print bed, etc.)

[makersportal.com]



It seems that the sensor can detect up to 80 degrees Celsius (https://thepihut.com/products/adafruit-amg8833-ir-thermal-camera-breakout). That might also be a bit tricky to use, especially with a heated bed, but I still think the sensor could deliver useful data to detect a fire.

For example, here's a complicated 3-Raspberry-Pi plus 2-camera setup used to detect fires: [github.com] . If we place some constraints on the problem (like knowing which parts should be hot, and which should not), we might be able to simplify the fire detection system to use just one Raspberry Pi and one infrared camera.

This would of course be used in conjunction with a traditional smoke detector. Potentially, the thermal camera could detect a fire (abnormal heat) before it can get into the raging-flames-and-billowing-smoke mode that is necessary to trip off an analog smoke detector. We might have one sensor mounted to monitor the print bed, and one sensor mounted to monitor the controller board. We could then save a history of recent images (over, say, the past 5 or 10 minutes) and compare the newest image with the recent images. If any new hot spots at appear in the image, we know that something is heating up where it shouldn't be.

Any comments? It would be a fun project, if nothing else. smiling smiley
Sorry, only registered users may post in this forum.

Click here to login