Electronic Thermostat

The time has come for a reasonably simple, mundane project: an accurate thermostatic control for electric heating.

Sometimes I like to maintain something at a very particular temperature, or maintain a room or car at some temperature. Most cheap space-heaters have only a fairly inaccurate thermostat and it's located in the worst possible place: inside the heater!

My objective here was a simple control unit that could be used with any 120V powered heater at up to 15A draw from an ordinary household circuit. I developed the unit to have an external temperature sensor connection which allows the use of any number of different sensor configurations.

The result of my idea came together quite nicely. I found a small steel chassis in my junk collection just large enough to house the electronics. An IEC receptacle stolen from a computer power supply and a receptacle from a dead uninterruptable power supply furnished connections. I found a 16A double-pole double-throw relay in the junk collection and elected to use both sets of contacts in parallel giving me 32A capacity for long life.

The actual control circuit is as seen in the schematic below. An LM35 sensor was used for simplicity and because I have a box of them on hand. This sensor works over a large power supply range and is calibrated for 10mV per degree Celsius and referenced to zero degrees at 0V output.

An LM311 comparator checks the sensor output against a setpoint defined by the potentiometer circuit. The potentiometer is bounded to work within a limited voltage range according to what temperature range I want to use this unit for. The reason for bounding the control is so that I'm using more of its travel within the desired range and thus accomplishing much greater ease of adjustment. The bounding could of course be adjusted for whatever range the user desires. To provide precision and accuracy over the range of control I elected to use a 10-turn potentiometer along with a graduated dial. The TL431 circuit provides a decent 2.5V reference and from there the resistor divider formed by the pot, the 1k, and the 2k trimpot develop an adjustable reference. My reference is set to 1.000V so that the 10-turn pot works from 0V to 1.000V. Since the dial is calibrated in tens, ones, and tenths of turns it makes it very easy to set a particular temperature by looking at the numbers on it.

It should be noted that there is a circuit between the LM35 sensor and the LM311 comparator which slows the response to noise on the sensor line. This circuit gives about a 23ms time constant and should prevent false triggering, oscillation, noise, etc. Without it I found the circuit to be too trigger-happy. Also a 10 meg resistor around the comparator causes about 1 degree of hysteresis which makes the unit very stable. Without hysteresis of any sort it would oscillate for a moment as the sensor voltage passed by the control voltage. This oscillation is very undesirable because the relay would chatter and burn its contacts when a large heater is connected.

Other than what I describe above, there isn't much to this circuit really. It's quite simple and useful for many different applications. It could also be used for things other than temperature control if desired. You could attach a light-dependent-resistor, a pressure sensor, a position sensor, etc.

If you build this circuit, take care to assemble it well as anything that handles high current could get quite hot with any loose connections. Definitely don't omit the fuse!

And of course: the obligatory electronic-porn...


Previous page: XTAL Osc. Varactors
Next page: RC Trigger Control