How does this constant current sink actually work?

The circuit employs negative feedback and utilizes the very high gain of the op amp. The op amp will try to keep its non-inverting and inverting inputs at the same voltage \$V_{\text{set}}\$ due to its very high gain. Then by Ohm's law

$$I_{\text{set}} = \frac{V_{\text{set}}}{R_{\text{set}}}$$

Negative feedback causes the op amp to adjust the transistor base voltage so that \$I_{\text{set}}\$ is constant even with a varying load. If the varying load causes a temporary increase in \$I_{\text{set}}\$ then the voltage at the op amp's inverting input will temporarily rise above the non-inverting input's. This causes the op amp's output to decrease, which lowers the transistor's \$V_{BE}\$ and therefore its \$I_{C} \approx I_{\text{set}}\$.

Similarly, if the varying load causes a temporary decrease in \$I_{\text{set}}\$ then the voltage at the op amp's inverting input will temporarily fall below the non-inverting input's. This causes the op amp output to increase, which increases the transistor's \$V_{BE}\$ and \$I_{C}\$.


The opamp is acting as a unity-gain buffer, though it may not be obvious:

The rule for opamps is that the output does whatever it has to to keep the two inputs equal, provided that it doesn't clip of course (run into its own supply and stop there).

The transistor is used as an emitter-follower, in which the emitter voltage follows the base voltage minus a diode drop from its P-N junction.

Put those two together, and you'll see that the voltage at the top of Rset is the same as Vset. Known voltage across a known resistance equals known current through that resistance. In most transistors, the base's contribution to the emitter current is negligible, so you get practically the same current through the load as well, regardless of its supply voltage or resistance. But if you're using it for a serious design, it wouldn't hurt to verify this negligibility with your specific parts.


The way I like to visualize it is to consider the transistor as a variable resistor which the opamp adjusts automatically in order to keep the voltage at the opamp's - input equal to the voltage on its + input.

That way, since the current in a series circuit is everywhere the same, the current in the load, the transistor CE junction, and Rset must be the same and, if the voltage at the top of Rset never changes because the opamp forces it equal to Vset, then its current never changes and the current through the load can't, either.