This question already has an answer here:

For a battery powered sensor node, I need to be able to measure current levels that have a dynamic range from 0.1uA [standby current] to 100mA [peak current].

For this, I am thinking of a high-side current shunt resistor and amplifier feeding an ADC. For the shunt, I could go with a 0.1ohm resistor to minimize the voltage drop in the peak current case [but lose capability to measure standby current], or go with a 10ohm resistor to have some shot at being able to measure the standby current of 0.1uA [but risk too high a voltage drop in the peak current case].

This must be a pretty standard problem for people measuring currents at sensor nodes.

For someone who might have resolved a similar issue in the past,

  1. What circuit did you design for measuring currents ranging from 0.1uA to 100mA [being able to measure standby currents of the order of 0.1uA is critical for me]

  2. What type of shunt resistor and amplifier did you select?

[Edit: This question is different from the one here as I am trying to design a single circuit that would measure across 0.1uA to 100mA - without having to manually switch resistors. The main solution in the answer to the other question requires one to set beforehand the current range to be measured. My question addresses a different problem.]


marked as duplicate by Ignacio Vazquez-Abrams, Daniel Grillo, Sparky256, Bence Kaulics, Voltage Spike Jul 27 '16 at 19:57

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 2
    \$\begingroup\$ You will probably need two different resistors for the two ranges. 100nA to 100mA is 6 OoM, or 120dB. That's a pretty wide DR for an amplifier. \$\endgroup\$ – Vladimir Cravero Jul 26 '16 at 18:15
  • \$\begingroup\$ Resolve or offer solutions quickly, perhaps a logarithmic amp to cover the wide dynamic range. This already has 3 VTC. \$\endgroup\$ – Sparky256 Jul 27 '16 at 5:06
  • \$\begingroup\$ Another way to do this is with a multi channel approach with two gains and two current sense amps, one high gain high sensitivity, and one low gain low sensitivity. \$\endgroup\$ – Voltage Spike Jul 27 '16 at 19:57

You could do something like this:


simulate this circuit – Schematic created using CircuitLab

This would drop a maximum of about 0.7-0.8V at 0.1A (mostly due to D1).

You would take the measurement VM1 for VM1 < 100mV, say, and use VM2 for higher currents. VM1 is 10uV at 100nA, up to 100mV at 1mA. Then VM2 is 10uV at 100uA up to 10mV at 0.1A. You could use two ADC channels and two in-amps. These are just rough ideas- you might want to increase R1 to 200 or 500 ohms to reduce the overlap and increase the signal at 100nA.

If the voltage drop was deemed excessive, one way to deal with it would be to use a P-channel MOSFET in parallel with D1 and switch it with a comparator actuated by VM2. However that would have a certain response time, and would inject some current spikes into the measurements at switching. Or use a different arrangement with V1 servo'd to maintain the output voltage within spec- that way the voltage drop wouldn't matter provided V1 could produce the extra voltage.

  • \$\begingroup\$ Interesting solution! Have you seen this approach in the wild, or do you maybe have references of designs using it? \$\endgroup\$ – marcelm Jul 26 '16 at 22:53
  • \$\begingroup\$ Not per se. I've used the resistor/diode combination to measure low currents in the presence of high current pulses. \$\endgroup\$ – Spehro Pefhany Jul 26 '16 at 23:11
  • 1
    \$\begingroup\$ @SpehroPefhany: how do you account for (or measure) the current component through the diode? \$\endgroup\$ – NK2020 Jul 27 '16 at 2:04

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