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.