On-Off Temperature Control


temp control

This circuit controls a load (in this case a dc brushless fan) based on a temperature compared with a setpoint. THe transduced is a diode in the forward polarization regime. In fact when forward biased, the forward voltage drop accross a diode has a temperature dependance, in particular has a negative linear(ish) slope. This because of the boltzmann distribuition, causing electrons to pass to the conduction band thermically, lowering the voltage drop accross the diode.

Anyway this circuit comparates a precise voltage reference (zener) with the forward voltage drop of the diode forward biased with 11mA of current.

The comparator is simply a LM158/258/358 working in open-loop mode, the inverting input is connected to the diode sensor, and the noninverting to the reference voltage. Se when the temperature rises above the setpoint, the forward voltage drops under the voltage reference and the comparator output is vccturning on the transistor and so the fan.

Higher power transistor can be substituted for bigger fans, or you can substitute a relay, IGBT, mosfet etc to control higher loads (and higher voltages).

The setpoint is adjusted with the potentiometer, and you can use a LM3914 led driver to make a temperature setpoint indicator (needs careful calibrations and the use of excel to calculate slope and intercept).

Many modifications can be done, but the circuit works very well in its basic form.

THe comparator can distinguish 10uV differences so approx 0.01°C differences (carefully adjusting the potentiometer can allow to feel body heat from 1/2 cm from the sensor, or feel ambient heat, making to turn the fan on and off continuosly)

You can control temperatures up to 140°C (150 max diode temperature), but linearity is not ensured

Possible uses? Heatsink cooling, computer emergency cooling (but i thint that a linear device would be better than a on-off) metal cooling when drilling etc…

Ah! One note: you can even heat with this circuit but you need the reverse comparator inputs and substitute the fan with a relay controlling the heater.

Notify of

Inline Feedbacks
View all comments

This circuit is not working?

raviraj kanzariya

your circuit it can be not working and not tem.not control to the fan speed .tem.high to fan speed is increase and tem.low to fan speed decrease is not working to your circuit.

naines kanzariya

this ckt is not working


Of course it not working. Jonathan never build it, otherwise he could know that. The opamp cannot work if it’s inputs ( + and – , ie pins 2&3 are close to VCC + or VCC negative potential, which in this case they are, at less than 1Volt. And supply voltage is considerable higher. Inputs potential should be somewhere around supply mid voltage, about 6V in this case.
It is hard to find exactly border values in datasheets, so Jonathan just presumed that his drawing “should” work.