1. ARDU TEMP #1 - The project: building a battery powered temperature beacon
2. ARDU TEMP #2 -The kit, Arduino, NodeMCU, ThingSpeak
3. ARDU TEMP #3 - Testing the beacon
==================================================================
ARDU TEMP #3 - Testing the beacon
For testing, I powered my nodeMCU from a 6V battery. I connected the negative terminal of the battery to the GND pin of nodeMCU. I connected the OHD1-90M thermal switch between the positive terminal of the battery and the VIN pin of the nodeMCU. The thermal switch is normally open. It will close when the temperature reaches 90C. The ambient temperature in my testing is around 20C.
The yellow meter measures voltage across the thermal switch. The blue meter measures current going into NodeMCU. Next to the yellow meter is the heat gun of my rework station. You can also see four 1.5 V AAA batteries inside the power supply case.
At the beginning of the test, the switch was open so no current went into my nodeMCU. I set the temperature of the hot air rework station to 200C and started to heat up the switch from a fixed distance of about 5 cm. After about 20 seconds, the switch closed. At that point the readings on the two meters were: 0.005 V across the switch and 87 mA into nodeMCU (actually the reading on the A-meter went over 100 mA for a couple of seconds on initial power up, then stabilised to 87 mA). So, assuming a resistor load for the switch, the resistance of OHD1-90M is about 60 mOhm. This value is well under the 150mOhm maximum contact resistance listed in the data sheet from KEMET, so that looks OK.
After about two minutes, I moved away the tip of the heat gun and after about 10 seconds the switch opened.
During the time the switch was closed, my nodeMCU sent the hardcoded values for the three fields every 60 seconds. So, success!
Here is a screen capture of the ThingSpeak dashboard.
Conclusion
Make-type thermal switches can be used to switch on power supply in a battery operated temperature beacon device like the one presented in this blog.
Compared to other designs (mostly battery-powered embedded systems trying to conserve energy by waking the CPU from sleep mode on timer interrupts to periodically check the temperature read from on-board sensors), using thermal switches presents a number of advantages:
- minimum usage of energy (the beacon works only when the temperature exceeds the alarm threshold)
- reliability (only one component responsible to turn on/off the power on the device, most of the time the device is not powered up)
- simplicity (no need for using CPU sleep mode, timers, etc… Programs can be written for popular platforms such as Arduino by developers with limited programming experience)
The main disadvantage of using thermal switches in such devices is the lack of flexibility in choosing the temperature threshold, the developer being limited to the switching temperature and accuracy of the thermal switch employed in the design.
At this point I am considering using thermal switches (specifically OHD3-40M and OHD1-40M switches) in battery powered sensor nodes for industrial automation. Many thanks to KEMET and element14 for letting me participate in this design challenge!