I'm looking to increase the output current drive of a high voltage op amp using a push pull amplifier. The OPA454 datasheet includes an application circuit to do exactly this, and includes some current limiting resistors:

enter image description here

As noted, \$R_3 = 20\Omega\$ provides current limiting and allows the op amp to drive the output when \$|V_O| < 0.7\$V (i.e. both transistors are off). I understand that \$R_3\$ provides current limiting by stealing the op amp's output current from the transistor that is on. But how do I choose the value of \$R_3\$ to set the current limit to a particular value \$I_{\text{MAX}}\$ (e.g. \$2.5\$A)? \$I_{\text{MAX}}\$ doesn't have to be too exact, it just needs to be in the desired range (e.g. \$\pm 250\$mA).

Also, how do I choose the values of the emitter degeneration resistors \$R_4\$ and \$R_5\$? I know they are used to prevent thermal runaway by reducing \$V_{BE}\$ (and thus \$I_C\$), but I think they will also affect \$I_{\text{MAX}}\$ because they will affect the voltage across \$R_3\$.

The purpose of this circuit is to generate an adjustable output voltage from about \$0\$V to \$+100\$V with \$I_{\text{MAX}} \approx 2.5\$A. I've got dual but unbalanced supplies (not the \$\pm 50\$V shown) to support the output voltage range. Based on the suggested transistors in the above application circuit, I will probably use the MJ15003/MJ15004. Frequency response is not a huge concern since the output has milliseconds to transition.

I would guess that the relevant specs for determining the resistor values are the op amp max output current and transistor \$h_{\text{FE}}\$ (the former affects the maximum \$I_B\$, which is multiplied by \$h_{\text{FE}}\$ to set the maximum \$I_C\$), but is there anything else I need to take into account?

Alternatively, is there a better way to limit the output current for this push-pull amplifier?

  • \$\begingroup\$ I think you might be confusing the role of R3. The circuit you have does not include a mechanism to limit the output current supplied to the load. R3 is only there to limit/protect the opamp's output as per Andy Aka's answer below. If you want to have a current limit you'll need add a current sense resistor and a separate control circuit for that. \$\endgroup\$
    – Jon
    Commented Jun 25, 2015 at 17:26
  • \$\begingroup\$ @Jon I think I see what you're saying. Please see my clarification question in my comment to Andy's answer. And feel free to post your comment as an answer so I can potentially upvote and/or accept it. \$\endgroup\$
    – Null
    Commented Jun 25, 2015 at 17:59

1 Answer 1


The current from an OPA454 is just about limited to a little over 100 mA and on a good day you might get 150 mA so, R3 is chosen to prevent the OPA454 from producing this current i.e. the BJTs take over at a certain point and produce the bulk of the output current.

For instance, at 100mA drive through R3 (20 ohms) the Vbe across one of the transistors is aiming be 2V. Clearly it can't so this means the transistors are doing their job of relieving the op-amp of having to perform too hard.

Basically, if R3 is 20 ohms and the transistors start to turn-on at (say) 1V, the peak current taken from the OPA454 is 50mA and well within the spec of the device. Remember the OPA454 cannot produce watts of power - you can't expect it to deliver 50V from a 100V rail driving 100mA - it will burn long before then.


Here is a typical push-pull output stage that uses two more BJTs for inhibiting the drive current supplied by the output transistors: -

enter image description here

Taken from AllAboutCircuits useful site on push-pull amplifiers. Because the original circuit uses both bases connected together, to make this work requires maybe a 10 ohm resistor inserted in each base - basically replacing each diode in the above diagram. The pull-up and pull-down resistors are not needed.

If an emitter resistor is 0.5 ohms, at round about 2A current there will be enough voltage across it to turn on the extra transistor and this diverts base drive away from the main transistor.

Here's what it looks like in a simpler form (a clsss A single BJT driver): -

enter image description here

Taken from the Analog Devices Wiki website. You might also have seen this method used in controlling the current thru an LED: -

enter image description here

  • \$\begingroup\$ Ah, so you're saying R3 is intended to reduce the output current demanded of the op amp by the transistor for its base current, not the current demanded by the load? The output current demanded of the op amp by the load itself is reduced by the push-pull amplifier itself -- that's the whole point of it. \$\endgroup\$
    – Null
    Commented Jun 25, 2015 at 17:54
  • \$\begingroup\$ @Null for small output levels (i.e. less than one base-emitter volt drop) the op-amp supplies the load current thru R3. If the load demands 30mA then R3 doesn't quite start turning the relevant transistor on because 30mA x 20R = 0.6 volts. If the load demands more current the relevant transistor starts to turn on and it (the transistor) supplies the bulk of current to the load. \$\endgroup\$
    – Andy aka
    Commented Jun 25, 2015 at 18:08
  • \$\begingroup\$ If you used something like LTSpice you'd be able to see the effects of the emitter resistors BTW. \$\endgroup\$
    – Andy aka
    Commented Jun 25, 2015 at 18:10
  • \$\begingroup\$ I understand that the op amp supplies the load current through R3 when both transistors are off. That's the only point to R3? If I removed R3 the amplifier would work as before except for an introduction of crossover distortion for \$|V_O| < 0.7\$V? \$\endgroup\$
    – Null
    Commented Jun 25, 2015 at 19:44
  • \$\begingroup\$ Cross over distortion would barely happen at low/medium frequencies because the closed-loop feedback from the output will force the op-amps to rapidly move thru the tradional cross-over region. t higher frequencies you would see evidence of course. \$\endgroup\$
    – Andy aka
    Commented Jun 25, 2015 at 21:03

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.