I am trying to replicate a circuit I found in the Art of Electronics (3rd Ed, page 229) but I am having issues.

My load is a LED (Vf=~2.5V) and using a BC237 as the PNP (measured Vbe=~.675V). Using R=10 Ohms and Vin is an arbitrary waveform generator output (so no R1 or R2, and Vin is stuff like sine waves, but would like to modulate with audio signal in the end). Vcc is 5V, no current limit, and the op amp is LTC1050 (powered off 12V and GND rails).

Simple current source

Here's the problem: Given input Vin, V- net can only track from about 3.8V up to 5V. Why can't the op amp output track an input signal below 3.8V?

I'm thinking it has to do with the diode load, but I can't figure out why it's around 3.8V and not just Vf+Vbe.

  • \$\begingroup\$ Where's the "V- net"? \$\endgroup\$
    – Dave Tweed
    Aug 28, 2019 at 15:39
  • \$\begingroup\$ Oh sorry, I meant the inverting input on the op amp \$\endgroup\$
    – lemonlime
    Aug 28, 2019 at 15:46
  • \$\begingroup\$ At 3.8V, you're putting 120 mA through the load. Are you sure the Vf of the LED doesn't rise? Measure it. \$\endgroup\$
    – Dave Tweed
    Aug 28, 2019 at 15:50
  • \$\begingroup\$ I don't follow, how do I measure the forward voltage of the LED at a certain current level? Are you saying that the forward voltage changes with the temperature rise? \$\endgroup\$
    – lemonlime
    Aug 28, 2019 at 16:01
  • 1
    \$\begingroup\$ The input voltage should be measured relative to Vcc, not ground as the feedback controls the voltage across R which is connected to Vcc. The voltage across R is limited by the voltage across the load - if the load drops ~3.6V plus ~200mV across Q1 in saturation gives the 3.8V you are seeing. \$\endgroup\$ Aug 28, 2019 at 16:33

1 Answer 1



It's really good that you are reading The Art of Electronics. It brushes over a lot of stuff (assumes you have someone you can talk with, I think.) But it covers a very large subset of the basic ideas you need to be aware of. (If you also have Learning the Art of Electronics, then you are pretty much good to go.)


I understand that \$V_\text{CC}=5\:\text{V}\$ and that the (+) rail for your opamp is at \$12\:\text{V}\$. I also understand that \$R=10\:\Omega\$. I do not understand precisely how you are driving \$V_{\text{IN}_+}\$. But it's probably not necessary at this time.

Let's get a few things laid out right now:

  • The LTC1050 is a chopper-stabilized opamp. I'm not sure why you want to use these for this purpose. But I want to call this out because it's unusual to see one specified in this kind of application.
  • At \$V_{\text{IN}_-}=3.8\:\text{V}\$, the expected BJT's \$I_\text{E}=\frac{5\:\text{V}-3.8\:\text{V}}{10\:\Omega}=120\:\text{mA}\$. (Some of that emitter current becomes collector current, but if the BJT is saturated in order to get there then the required base current subtracts from this value before the LED sees it.) This a great deal of current and I'm already surprised that you reached a \$V_{\text{IN}_-}\$ value that low and still felt everything was working okay.
  • The BJT that is used at the output of the opamp will require a base current in order to permit a collector current. This base current must be supplied by the opamp, which itself will have output current compliance limitations you may exceed under certain (perhaps these) circumstances.

enter image description here

  • Observing a section of the datasheet shown above: The opamp will also have an equivalent output impedance through which its output current must operate. Estimate this impedance (see above) as \$\frac{\Delta V}{\Delta I}=\frac{4.95\:\text{V}-4.85\:\text{V}}{\frac{4.85\:\text{V}}{10\:\text{k}\Omega}-\frac{4.95\:\text{V}}{100\:\text{k}\Omega}}\approx 230\:\Omega\$. (In reality, it may be slightly less or a lot more.) So the base current being supplied by the LTC1050 will yield a voltage drop across this (approximated) output impedance.

Possible Culprits

I suspect one of only two possible explanations for your claim that the expected behavior only works with \$3.8\:\text{V}\le V_\text{IN}\le 5.0\:\text{V}\$.

  1. At \$V_{\text{IN}_-}=3.8\:\text{V}\$, you are asking for \$I_\text{LED}\approx 120\:\text{mA}\$ (see above.) (Reminder note: some of that emitter current becomes collector current, but if the BJT is saturated in order to get there then the required base current subtracts from this value before the LED sees it.) This may require quite a substantial current compliance from your opamp, which it cannot supply either because of internal maximum current compliance reasons or else because of output impedance reasons (and the available negative rail voltage.)
  2. At \$I_\text{LED}\approx 120\:\text{mA}\$, the LED voltage may be higher than you stated and this will itself limit \$V_{\text{IN}_-}\$ because, even if the PNP is driven into saturation by the opamp, \$V_{\text{IN}_-}\$ is limited to about \$200\:\text{mV}\$ above the LED voltage. So the LED's voltage, plus this \$V_{\text{CE}_\text{SAT}}\$, may explain what you see.

It may also be both of the above.

My Conclusion

Personally, I think it's because of the computed output impedance I mentioned above, extracted from datasheet parameters, and also because the LED voltage has driven the BJT into saturation. You are hitting up against the \$R_\text{OUT}\approx 230\:\Omega\$ limitation coupled with \$V_-=0\:\text{V}\$ (\$V_+=12\:\text{V}\$, I gathered) as the PNP BJT goes into saturation because of the LED voltage rise.

As computed above, when \$V_{\text{IN}_-}=3.8\:\text{V}\$ the expected BJT's \$I_\text{E}=120\:\text{mA}\$. If the required LED voltage causes the PNP BJT to become saturated, it may require substantial base current. It's reasonable to assume that the PNP BJT itself probably requires \$V_\text{BE}\ge 1\:\text{V}\$ at such high emitter currents. The opamp only has access to \$V_-=0\:\text{V}\$, at best, so the maximum current that it can deliver will be something like \$I_{\text{OUT}_\text{MAX}}=\frac{V_{\text{IN}_-}\,-\,V_\text{BE}\,-\,V_-}{R_\text{OUT}}=\frac{3.8\:\text{V}-\left(\ge 1\:\text{V}\right)-0\:\text{V}}{230\:\Omega}\le 12\:\text{mA}\$.

Note that this, together with the convenient assumption that you are limited by a saturated PNP BJT, implies \$\beta=\frac{120\:\text{mA}}{12\:\text{mA}}=10\$. Which is, not surprisingly, a highly saturated \$\beta\$ value.

I think you are running up against both of the reasons I mentioned above: both opamp drive limitations and probably PNP BJT saturation caused by an increasing LED voltage with higher currents. Another way of saying all this is that you are expecting way too much drive current using \$R=10\:\Omega\$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.