Simple 2 transistor linear current source using PNP transistors and current sink using NPN transistors.
The forward base emitter voltage drop (Vbe) of a bipolar transistor (bjt) is proportional to the log of the base current and rapidly rises to between approximately 0.55V and 0.7V for base currents over a few hundred nA. So for most purposes the Vbe of a bjt when conducting a collector current can be approximated to be a constant 0.6V.
Therefore the Vbe of Q1 (Q3) can be considered to clamp the voltage across Riset to 0.6 volts. Therefore the current through Riset is given by:
I_Riset = 0.6V/Riset
Since the base current of Q1 (Q3) is negligible compared to the current through Riset and the base current of Q2 (Q4) is small compared to the collector current, the collector current of Q2 (Q4), Iconst, can be further approximated to be equal to the current through Riset i.e. Iconst = I_Riset.
If the collector current tries to rise then the voltage across Riset would rise and so Q1 (Q3) would conduct more and pull the base of Q2 up (Q4 down) so turning Q2 (Q4) further off and reducing the collector current again. Hence there is negative feedback around the circuit to stabilise Iconst vs. the supply and collector-emitter voltage of Q2 (Q4).
In other words the collector current of Q2 (Q4) is constant.
In practice, the current does vary somewhat from one pair of devices to another due to the tolerances in current gain and Vbe vs. base current across devices and with the temperature of Q1 (Q3) due to the temperature sensitivity of bjt Vbe of approximately -2mV/degC.
For a way to make a precision current source see:
In this version the collector current is almost exactly given by the voltage across R2.
By replacing the PNP bjt with an NPN and returning R2 to ground instead of the positive supply rail, the 0-20mA current source can be turned into a current sink.
|6||SIN(15 12 50)||V1||HDR1X2||1|