4
\$\begingroup\$

I'm looking to make a device to regulate a heater to maintain 100-110 degrees Fahrenheit in a small, moderately insulated container. Specifically, I'm wondering what I might have in my parts drawer that would make a suitable temperature sensing device. It need not be especially accurate or precise. I thought if this device is also in a TO-220 package or similar, maybe it could also be the heating element. Any suggestions or experience on sensing temperature with a common component I already have in my parts bins?

\$\endgroup\$
2
  • \$\begingroup\$ before someone asks: I don't have any thermistors or thermocouples in the parts bins. \$\endgroup\$
    – Phil Frost
    May 5, 2013 at 13:24
  • 3
    \$\begingroup\$ So go get some. \$\endgroup\$ May 5, 2013 at 14:43

4 Answers 4

8
\$\begingroup\$

You can use a normal silicon junction diode to measure the temperature. Even inexpensive ones like the proverbial 1N4148 will work. The trick is to bias the diode with a constant current source of one milliampere. You need to make sure that the constant currrent source itself is pretty stable with temperature or it will affect the accuracy of the diode temperature sensor.

Once biased in this manner the sensor diode will produce a forward voltage drop that is amazingly linear over a large range. Applications that I have designed worked over the range of -55C to +135C. The forward voltage drop decreases with increased temperature and so is what we call inversely proportional with temperature. The rate of change of the diode voltage is about 2.2mV per 1C.

It is generally necessary to provide for amplification of the diode voltage drop and provide some offset so that the range of temperatures involved can be read via an MCU's A/D converter. An opamp can work nicely for this part of the circuit. If it is necessary to calibrate the sensor circuit it can be done with two trimpots in the opamp circuit to adjust the gain and offset of the amplifier. Calibration can also be done in software of the MCU as well if you provide a straightforward way to save the scale and offset values of the calibration in something like an EEPROM of part of the MCU Flash memory.


The above approach can be a fun learning experience and should work well for you. The diode is fairly easy to mount at the temperature sensing location requiring just two active wires plus possibly a shield if it is an electrically noisy environment. An alternative you may want to consider instead could be to acquire a low cost IC temperature sensor. The old standard LM75A is available in easy to wire SO-8 package and can be connected on a remote cable of just four wires. You would connect the I2C bus connections of the IC to an MCU control board.

There is a slight challenge that needs to be dealt with for the remote mounting of a temperature sensor. The connecting wires can act as a thermally conductive heat sink on the temp sensor thus offset the temperature reading some. For a simple control system this can usually be "adjusted out" by setting the control setpoint down by an equivalent amount.

\$\endgroup\$
0
3
\$\begingroup\$

Most ferrites have a fairly predictable permeability change with temperature. You could build an LC oscillator around one and watch the frequency fall with temperature. 3C90 from ferroxcube looks like this: -

enter image description here

I've marked-on in red where 40ºC is (about 105ºF)

It's a little off-the-wall but if you have a suitable ferrite part, a transistor and a few Rs and Cs it might work for you. You should even be able to read the output frequency directly into an MCU IO pin. A colpitts oscillator: -

enter image description here

This is for 50MHz so some values need increasing to suit a frequency around 10kHz.

It can be calibrated at freezing point with ice at (say) 10kHz (turns and core size dependent) - at 40ºC I'd expect the frequency to be 8.7kHz because the permeability has increased from 1800 to 2400 (up 1.3333) and this ratio will drive the frequency of the LC circuit down by sqrt(1.3333) thus 10kHz becomes 15% lower.

You might even be able to find a ferrite whose curie point is at 105ºF - the change in inductance will be phenomenal - see equivalent point on 3C90 graph at about 210ºC.

\$\endgroup\$
2
  • \$\begingroup\$ Wow, that's a long way to go to avoid getting a thermistor or integrated temperature sensor! \$\endgroup\$ May 5, 2013 at 14:41
  • 1
    \$\begingroup\$ @OlinLathrop I prefer to say it's a "fun" way to go. And it works into an MCU on a general IO line. OK a thermistor, current source and comparator would too \$\endgroup\$
    – Andy aka
    May 5, 2013 at 14:45
2
\$\begingroup\$

I have used a forward biased 1N4148 diode in the past. Not sure about the mV/°F, but it is in mV range. As such probably any diode, including a bipolar transistor will work. I was able to plot room temperature with an Arduino with reasonable results over 5 degrees Celsius.

Small bias current to prevent warming up by itself, but enough to make a voltage drop.

EDIT:

I found a reference in the mean while. Take a look at the datasheet for a BC547, a pretty common general purpose low power transistor, on page 3:

2) \$V_{BE}\$ decreases by about 2 mV/K with increasing temperature.

Various devices will behave like this, but not all datasheets indicate by how much.

\$\endgroup\$
1
\$\begingroup\$

A thermistor sounds like a perfect fit for your requirements. They are cheap and available in a wide range of nominal voltages, and cover your temperature range nicely. The fact that you don't have any in your inventory is irrelevant because that is easily and cheaply changed.

There are other ways to measure temperature with other parts, like diodes, but will be a lot trickier than a thermistor. Compared to other temperature-sensing discrete parts, thermistors exhibit a much larger response.

Of course if you're going to get some thermistors, you might as well get a integrated temperature sensor. These are available in analog versions that output a calibrated voltage depending on temperature, or digital versions that communicate over IIC, SPI, 1-wire, and the like and give you a digital value directly.

Trying to use the same part as sensor and heater is not a good idea because the heater output will overwhelm the sensor signal. Since your insulation won't be perfect, the heater will always need to be hotter than whatever it is heating.

\$\endgroup\$
2
  • \$\begingroup\$ That's all fine and good, but I already know about thermistors and integrated temperature circuits, and there are many questions here already about that. Not having them is significant. It's Sunday morning and nothing is open, if I could even find a local source for such things. -1 for blatantly ignoring the project requirements. \$\endgroup\$
    – Phil Frost
    May 5, 2013 at 16:32
  • 1
    \$\begingroup\$ @Phil: We often get silly requirements here, so good questions can explore other possibilities. Besides, getting a thermistor or temperature IC and then putting it in your stock and using it from there is simpler and cheaper than trying to rig up something else. If you were on the international space station then being creative with parts on hand makes sense. But you're not, so alternatives to your narrow requirements might actually be the best answer. \$\endgroup\$ May 5, 2013 at 23:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.