I would like to measure the current delivered to an arbitrary load by a non-inverting op amp amplifier. Key information for this amplifier and design goals:

  • The output voltage swing is high (up to about 100 V). The frequency range of the amplifier is DC to 1 MHz or so.
  • Output current to be measured is in the range of \$\pm 100\text{ mA}\$ (i.e. relatively low current, and bidirectional). I'd like this measurement to be accurate down to about the \$10 \mu\text{A}\$ range.
  • I don't have access to the low side of the load, so I can't just add a low side sense resistor to the load and measure that current.
  • The output of the current measurement circuit should be a voltage and it may be low bandwidth (DC to a bandwidth preferably in the 100 kHz range, as is typical for many current shunt monitor ICs, but the bandwidth may be lower if necessary). It does not need to have the bandwidth of the amplifier itself.
  • Board space and cost are not a significant limitation. I don't want to have to buy a dozen ICs and spend $100+ for the current measurement circuitry, but I'm willing to spend extra for performance. For example, I'm willing to implement two unidirectional current measurement circuits (one for positive and one for negative current) instead of one bidirectional circuit if necessary.

I've looked through Linear Tech's excellent and quite comprehensive Current Sense Circuit Collection but I didn't see a solution for my problem, which is complicated by the fact that the measurement is neither "high side" nor "low side" (since the voltage at the load varies according to the op amp output).

Ignoring the high output voltage swing requirement, it seems to me that the best way to measure the output current would be to add a sense resistor to the amplifier output and measure it with an instrumentation amplifier. There are two possible locations for the sense resistor, shown as \$R_{\text{sa}}\$ and \$R_{\text{sb}}\$ below1:


simulate this circuit – Schematic created using CircuitLab

\$R_1\$ and \$R_2\$ are given example values to indicate the order of magnitude of their resistances. They need to be high-valued otherwise the current through them will be significant when the output is a high voltage.

The problem with this solution is that I haven't found any instrumentation amplifier ICs capable of a supply voltage as great as the 100 V output swing. I could build an in amp out of op amps that are capable of such a high supply voltage (e.g. the LT6090), but I'd lose out on the excellent resistor matching that gives an integrated in amp good CMRR (definitely important for this solution).

Is there a better solution for measuring the current delivered to the load by a high voltage non-inverting op amp amplifier? Or is there anything I can do to improve the performance in this application of an in amp built out of high voltage op amp ICs?

1\$R_{\text{sb}}\$ is the easier solution since the current through it is exactly the same as \$I_{\text{load}}\$. However, in that case the op amp's feedback is not taken from the load itself -- there's a small output voltage error equal to the voltage across \$R_{\text{sb}}\$.

\$R_{\text{sa}}\$ avoids this error but the current through it is \$I_{\text{load}} + I_{\text{f}}\$. Depending on the values of \$R_1\$ and \$R_2\$, \$I_{\text{f}}\$ may need to be subtracted out of the current sensed through \$R_{\text{sa}}\$. This shouldn't be too difficult, as \$I_{\text{f}} \approx V_{\text{in}}/R_{1}\$.

  • \$\begingroup\$ What is the frequency band of the signal? Down to DC? \$\endgroup\$
    – The Photon
    Commented Feb 9, 2017 at 18:52
  • \$\begingroup\$ @ThePhoton Yes, DC to maybe 1 MHz (but the current measurement bandwidth can be 100 kHz or so). \$\endgroup\$
    – Null
    Commented Feb 9, 2017 at 18:53
  • \$\begingroup\$ Is the ACS709 an option? Of course, there is less resolution... It seems to me a lot easier than using this op amp circuit. \$\endgroup\$
    – auoa
    Commented Feb 9, 2017 at 19:03
  • \$\begingroup\$ Is there a reason you can't insert a shunt resistor between the load and ground to do low-side sensing? \$\endgroup\$
    – The Photon
    Commented Feb 9, 2017 at 19:07
  • \$\begingroup\$ @auoa A lot of its specifications are when the sensed current is > 1 A. I don't think it would give me sufficient resolution when the max sensed current would be 100 mA. \$\endgroup\$
    – Null
    Commented Feb 9, 2017 at 19:08

1 Answer 1


Since you want very high resolution (and, presumably, accuracy), I don't believe any simple op amp will do the trick. Nor, for that matter, will any conventional current sensor IC. You are looking for 10 uA out of 200 mA, or .005%. Alternatively, this is a bit less than 15 bits resolution.

I suggest a rather different approach. Use a sense resistor as you have shown, but use a floated power supply to provide for a 2 MHz, 16-bit A/D converter. Use a high-speed optocoupler to transmit serial data from the ADC, along with a clock and sync channel (so you'll need 3 total). Run the A/D in continuous mode. Use the optocoupler outputs to reconstruct the current.

Go to Mouser and search the optocoupler section by speed, and you'll find a number of 50 MHz optocouplers. Since a 2 MHz sample rate will provide 2 x 16 MHz, or 32 MHz, these optos should do the job just fine.

Make sure you use power supplies rated for 100 volts of isolation.

  • \$\begingroup\$ I was hoping to use an analog approach but I'll keep this suggestion in mind. +1 \$\endgroup\$
    – Null
    Commented Feb 9, 2017 at 21:09
  • 1
    \$\begingroup\$ There are also integrated ADCs that wrap this all up in a package - they are marketed as "isolated ADCs". I think you will have better luck with this approach, although it will be a challenging implementation as well. \$\endgroup\$
    – user49628
    Commented Feb 9, 2017 at 21:46
  • \$\begingroup\$ That floated DC power supply might have to be a battery. The power opamp may have difficulty driving the inevitable capacitive reactance (at 2 MHz) of the ( DC supply + ADC + optocoupler). \$\endgroup\$
    – glen_geek
    Commented Feb 9, 2017 at 22:33

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.