Electronic – Single shunt with multiple current sense amplifiers vs using multiple shunts

adccurrent measurementshunt

I would like to turn an Arduino clone into a current meter that allows me to measure the the power draw of a sensor node which has sleep and active modes. The sensor node's supply voltage is in the 4-6V range and during sleep the current I'm trying to measure is in the single-digit microamp range, while during transmission it may draw up to 150mA. Ideally I'd like to stay well below 1% error across the measurement range after calibration.

This type of problem seems to come up occasionally. Here and here are proposals for actively switching circuitry, and I've seen references to a device called uCurrent which also requires manual switching of sensing ranges. Then I came across this question where an answer suggested to use different-value shunts in series to accommodate the different sensing ranges, which struck me as an elegant solution, though I don't know enough to judge the solution compared to what was suggested in this question, namely to use multiple current sense amplifiers to measure voltage drop on a single shunt.

My question is: What are the relative merits of the two designs (multiple shunts + diodes vs single shunt with multiple amplifiers)?

For my use case I found a number of current sense amps that seem to fit the bill:

  • common-mode input range beyond supply voltage
  • typical offset voltages in the single-digit μV range
  • typical gain errors below 0.1%
  • gains of up to 1000

If I were to use a single shunt, I might use 50/500x gain current sense amplifiers in the INA191 family or 50/1000x in the INA21x family; connecting both a 50x gain and 1000x gain current sense amplifier to a 0.2Ω shunt, I could use two channels of the 14 bit ADC built into my my Arduino clone, measuring over the range 0-2V to sample up to 200mA with 24μA accuracy and up to 10mA with 1.22μA accuracy (assuming 13 usable bits from my 14-bit ADC).

If I were to use two shunts, I might choose two identical current sense amplifiers, perhaps with 100x gain, and appropriate shunts such as 0.1Ω and 10Ω. I'm also wondering if I might want to add a Zener diode to protect the ADC from overvoltages from the higher-resistance shunt.

Would one of the two designs yield better accuracy, or allow me to expand my measurement range noticeably, or be simpler or more reliable to build?
(edit: And would both be usable for high-side current measurement, which I understand is considered good practice and would allow me to re-use my current meter for more projects?)

I apologize in advance if this is not a good comparison for some reason; I'm still trying to understand some of the fundamentals. In that case I would appreciate pointers to relevant material.

Best Answer

The simplest approach is a single shunt with a single switchable gain amplifier. Whether you can use this depends on your precise circumstances.

What is the largest shunt resistor you can use at maximum current? This will be limited by your voltage drop. For instance, at 150 mA, a 1 Ω resistor will drop 150 mV. Maybe you can tolerate more?

Now with that shunt resistor, can you specify an amplifier that will give you sufficient accuracy (noise, offsets) at your lowest current? 1% accuracy of 1 uA is 10 nA, or 10 nV with the same shunt resistor.

There are some good autozero amplifiers available now, but they will not get you to a confident 10 nV input resolution, you might see offsets in the μV region. As you head into the nV, errors appear from everywhere, Seebeck effects from thermal gradients on the board for instance. Maybe you don't need 1% accuracy at the lowest current range. Maybe you can reduce the bandwidth with heavy filtering to improve resolution at sleep currents.

I see little point in using multiple amplifiers, expect for the dubious advantage of not having to switch their gain. Better to spend your money on one really good amplifier and switch its gain.

If you can't handle the low current with a single shunt resistor, then you need at least two shunt resistors, whether switched by some form of FET switch, or automatically routed by diodes. Note that using diodes will give you a large variable voltage drop as the load current changes. If you can tolerate that, then can you tolerate a single, much larger, shunt?

I am a great fan of using a silicon diode, or better still a diode-connected power transistor (as they track a logarithmic law more faithfully), for this sort of very wide range current measurement. However, your 1% accuracy requirement is completely beyond using a diode. Now if you could be happy with 10% accuracy, then it gets to be possible.