Measuring temperature turns out to be a fundamental function for a huge number of devices. You furnace’s programmable thermostat and digital clocks are obvious examples. If you just needed to know if a certain temperature is exceeded, you could use a bimetalic coil and a microswitch (or a mercury switch as was the method with old thermostats). But these days we want precision over a range of readings, so there are thermocouples that generate a small voltage, RTDs that change resistance with temperature, thermistors that also change resistance with temperature, infrared sensors, and vibrating wire sensors. The bandgap voltage of a semiconductor junction varies with temperature and that’s predictable and measurable, too. There are probably other methods too, some of which are probably pretty creative.
You can often think of creative ways to do any measurement. There’s an old joke about the smart-alec student in physics class. The question was how do you find the height of a building using a barometer. One answer was to drop the barometer from the top of the building and time how long it takes to hit the ground. Another answer — doubtlessly an engineering student — wanted to find the building engineer and offer to give them the barometer in exchange for the height of the building. By the same token, you could find the temperature by monitoring a standard thermometer with a camera or even a level sensor which is a topic for another post.
The point is, there are plenty of ways to measure anything, but in every case, you are converting what you want to know (temperature) into something you know how to measure like voltage, current, or physical position. Let’s take a look at how some of the most interesting temperature sensors accomplish this.
Unless you’re particularly fond of having multiple types of batteries and chargers, you’d do well to make sure all your portable power tools are made by the same company. But what do you do if there’s a tool you really need, but your brand of choice doesn’t offer their own version of it? Rather than having to buy into a whole new tool ecosystem, you might be able to design your own battery adapter.
As [Chris Chimienti] explains in the video after the break, the first thing you’ve got to do (beyond making sure the voltages match) is take some careful measurements of the connectors on your batteries and tools. His goal was to adapt a Milwaukee M12 battery to Makita CXT tool, so if you happen to have that same combination of hardware you can just use his STLs. Otherwise, you’ll be spending some quality time with a pair of calipers and a notepad.
Once the interfaces have been designed and printed, they are wired together and mounted to opposite ends of the center support column. In theory you’d be done at this point, but as [Chris] points out, there’s a bit more to it than just wiring up the positive and negative terminals. Many tools use thermistors in the batteries for thermal protection purposes, and when the tool doesn’t get a reading from the sensor, it will likely refuse to work.
His solution to the problem is to “hotwire” the thermistor lead on the battery connector with a standard resistor of the appropriate value. This will get the tool spinning, but obviously there’s no more thermal protection. For most homeowner DIY projects this probably won’t cause a problem, but if you’re a pro who’s really pushing their tools to the limit, this project might not be for you.
Proprietary components are the bane of anyone who dares to try and repair their own hardware. Nonstandard sizes, lack of labeling or documentation, and unavailable spare parts are all par for the course. [Jason] was unlucky enough to have an older Dell computer with a broken, and proprietary, cooling fan on it and had to make some interesting modifications to replace it.
The original fan had three wires and was controlled thermostatically, meaning that a small thermistor would speed up the the fan as the temperature increased. Of course, the standard way of controlling CPU fans these days is with PWM, so he built a circuit which essentially converts the PWM signal from the motherboard into a phantom thermistor. It’s even more impressive that it was able to be done with little more than a MOSFET and a Zener diode.
Unfortunately, there was a catch. The circuit only works one way, meaning the fan speed doesn’t get reported to the motherboard and the operating system thinks the fan has failed. But [Jason] simply disabled the warning and washed his hands of that problem. If you don’t want to use a CPU fan at all, you can always just dunk your entire computer in mineral oil.
Reading the temperature of your environment is pretty easy right? A quick search suggests the utterly ubiquitous DHT11, which speaks a well documented protocol and has libraries for every conceivable microcontroller and platform. Plug that into your Arduino and boom, temperature (and humidity!) readings. But the simple solution doesn’t hit every need, sometimes things need to get more esoteric.
For years we’ve been watching [Edward]’s heroic efforts to build accessible underwater sensing hardware. When we last heard from him he was working on improving the accuracy of his Arduino’s measurements of the humble NTC thermistor. Now the goal is the same but he has an even more surprising plan, throw the ADC out entirely and sample an analog thermistor using digital IO. It’s actually a pretty simple trick based on an intuitive observation, that microcontrollers are better at measuring time than voltage.
The circuit has a minimum of four components: a reference resistor, the thermistor, and a small capacitor with discharge resistor. To sense you configure a timer to count, and an edge interrupt to capture the value in the timer when its input toggles. One sensing cycle consists of discharging the cap through the discharge resistor, enabling the timer and interrupt, then charging it through the value to measure. The value captured from the timer will be correlated to how long it took the cap to charge above the logic-high threshold when the interrupt triggers. By comparing the time to charge through the reference against the time to charge through the thermistor you can calculate their relative resistance. And by performing a few calibration cycles at different temperatures ([Edward] suggests at least 10 degrees apart) you can anchor the measurement system to real temperature.
I always find it interesting that 3D printers — at least the kind most of us have — are mostly open-loop devices. You tell the head to move four millimeters in the X direction and you assume that the stepper motors will make it so. Because of the mechanics, you can calculate that four millimeters is so many steps and direct the motor to take them. If something prevents that amount of travel you get a failed print. But there is one part of the printer that is part of a closed loop. It is very tiny, very important, but you don’t hear a whole lot about it. The thermistor.
The hot end and the heated bed will both have a temperature sensor that the firmware uses to keep temperatures at least in the ballpark. Depending on the controller it might just do on-and-off “bang-bang” control or it might do something as sophisticated as PID control. But either way, you set the desired temperature and the controller uses feedback from the thermistor to try to keep it there.
If you print with high-temperature materials you might have a thermocouple in your hot end, but most machines use a thermistor. These are usually good to about 300 °C. What got me thinking about this was the installation of an E3D V6 clone hot end into my oldest printer which had a five-year-old hot end in it. I had accumulated a variety of clone parts and had no idea what kind of thermistor was in the heat block I was using.
[Sebastian Foerster] hasn’t been at his blog in a while. He and his wife just had twins, so he’s been busy standing waiting for formula or milk to warm up. Being a technical kind of guy, he took a look at the tools currently on the market to do this, analyzed them, and decided instead to do it himself.
[Sebastian] looked to his Nespresso Aeroccino – a milk frother designed to give you hot or cold frothy milk for the top of whatever beverage you decide to put it on top of. It made the milk a bit too hot, 60°C, but once it got to the temperature, it would shut off, so if [Sebastian] could get it to shut off at a lower temperature, he had found the solution!
After taking the Aeroccino apart and going over the circuit, it seemed like a simple design relying on a resistor and NTC (negative temperature coefficient) thermistor connected to an ATTiny44 microcontroller. [Sebastian] didn’t want to have to reprogram the ATTiny, so he looked at the resistor and NTC. The resistor and thermistor create a voltage divider and that voltage is read in by the microcontroller through an analog pin. After looking up some info on the thermistor and replacing the resistor with a potentiometer, [Sebastian] could adjust the shut-off temperature while measuring with a thermometer. When he got the temperature he liked, he reads the value of the potentiometer and then replaces it with a couple of resistors in series.
Now [Sebastian] gets the babies’ bottles ready from fridge to temperature in about 25 seconds. He doesn’t have to worry about keeping an eye on the bottles as they heat up. We’re sure that getting two bottles ready in under a minute is much better on the nerves of new parents than waiting around for ten minutes. For more fun with thermistors, check out our article on resistors controlled by the environment or check out this bluetooth bbq thermometer!
The Wheatstone bridge is a way of measuring resistance with great accuracy and despite having been invented over 150 years ago, it still finds plenty of use today. Even searching for it on Hackaday brings up its use in a number of hacks. It’s a fundamental experimental device, and you should know about it.