In this article I will describe a simple solution to shutdown a 3D printer in case off a malfunction when something produces smoke, like a broken cable or some faulty heating components. For this case I will use a cheap standard smoke detector you can get for 5€ in the next shop.
In my cheap old smoke detector a CS2105go IC is used. Its hard to find any informations about this IC but what is known, it is pin compatible to the MC145010 or MC145012 IC. For this ICs the are some datasheets available.
Pin 7 of the IC is a I/O pin. If this pin gets pulled high by some extrnal device like another smoke detector, the smoke alarm gets triggered. Also if this smoke detector triggers the alarm itself, if it detects smoke, this pin gets pulled high by itself. At first some wires have to be attached to the smoke detector to get the 9V, GND and the signal.
So all I need is a simple circuit with a bistable relay, a 1.5k resistor, a NPN transistor, a push button, some pin header and a printed case. As the power source for this circuit, the 9V batterie of the smoke detector is used. Because you only have to switch the relay in ON state one time, the circuit only consums current if an alarm is triggered (relay switched to OFF state) or if the relay is switched into the ON state again. The bistable relay has two coils to switch between the contacts. So the current for one coil is applied via the push button. The current for the other coil comes over the NPN transistor. Have a look at the following schematic for futher informations.
The soldered circuit looks like this. The yellow thing is a printed case made of ABS.
The circuit looks more than semiprofessional but it works and that all it have to do.
Here you can see the closed box. M3x8 screws are used to fix the top part to the bottom part of the box. The input and output cables are fixt with some kind of clamp to the bottom part of the box.
When the smoke detector warns about a low battery, the relay can get switched and the printer gets shutdown with the current circuit design. This is not what I want so I have do do a little modification to this simple design in the next version but for the moment this solution is okay for me.