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