Measuring small current, complicated - Page 1
Forum section: electronics / projects

author: Gavin Melville
author_rank: Contributor
timestamp: November 08, 2018, 08:32:36 am
content: A circuit I’m designing runs on a smallish current, around 300nA. Every 30 seconds the circuit draws 200mA for a few msec, and it needs to draw that without dropping any significant voltage, ie 1 ohm as a shunt would be about the limit the circuit can tolerate, .1 ohm would be better. I don’t need much bandwidth, so uCurrent would be OK, but way short on gain.Even with good bench meters and careful shielding, trying to measure .3 uV DC on a 4V DC rail is very hard work.Am I missing any obvious tricks?

author: BravoV
author_rank: Super Contributor
timestamp: November 08, 2018, 08:45:01 am
content: Not an expert, assuming you have a decent bench PSU that has remote sense lines, how bout this trick ?

author: exe
author_rank: Unknown
timestamp: November 08, 2018, 08:52:54 am
content: What's the end goal of measurement? As I see you already know idle consumption, and consumption when it is active. What else you need to know?BTW, may be a source measurement unit (SMU) could help, esp. if you don't need much bandwidth. It's essentially a power supply with built-in DMM. The trick is there is no drop on output as psu compensates for drop on the shunt. But they are expensive. Also, a few msec might not be enough to switch ranges.I think it should be possible to compensate shunt drop with an opamp. My brain doesn't work right now, but one could try something like this:http://www.vk2zay.net/article/251(of course resistor values to be adjusted for your project). So, basically, opamp in inverting configuration keeps it's input at zero and compensates for any drop on shunt. I'm not sure about performance.There are also app notes and videos from vendors how to do such measurements. It's sort of active topic in IoT and battery-powered devices.

author: Gavin Melville
author_rank: Contributor
timestamp: November 08, 2018, 09:33:54 am
content: QuoteI'm beating the idle current down nA by nA.QuoteI've got a Keithley 2450. Surprisingly -- it's not much help. It switches ranges not quite fast enough and browns out.The only thing I can think of at the moment is to use a high value shunt (say 200 ohms), and short the shunt when the high current pulse comes along.

author: mzzj
author_rank: Super Contributor
timestamp: November 08, 2018, 09:44:25 am
content: Quote from: Gavin Melville on November 08, 2018, 08:32:36 amAre you actually interested in average current consumption or do you NEED to know if the 200mA pulse is 198mA?

author: ogden
author_rank: Super Contributor
timestamp: November 08, 2018, 09:45:50 am
content: Quote from: Gavin Melville on November 08, 2018, 08:32:36 amObvious trick - do not try to do impossible measurement (of sucha crazy current range).Separate sleep current and running current measurements from each other instead. Seems, you already did it because stated both figures. In case you need to integrate sleep power consumption for longer than 30 secs period, then you may craft special operating "always sleeping" mode for your DUT. Other option - designate special GPIO pin which signals high when active state and low when sleeping, use this signal to drive MOSFET switch to shunt/short ammeter while DUT is drawing "high current", 200mA.

author: langwadt
author_rank: Super Contributor
timestamp: November 08, 2018, 10:12:52 am
content: Quote from: ogden on November 08, 2018, 09:45:50 ambetter use a relay or be very careful when picking a mosfet, looking at 100s of nA leakage is important

author: Dr. Frank
author_rank: Super Contributor
timestamp: November 08, 2018, 11:21:54 am
content: Quote from: Gavin Melville on November 08, 2018, 08:32:36 amThat's really a big measurement problem, coming up more and more with battery powered systems, which switch between extremely low and very high supply current, like smartphones.Currently, many more engineers are faced to the same problem, like you. That's under the buzzword 'Internet of Things'Keysight has some information, how to attack that high dynamic measurement problem.First attempt would be to use a DMM with high enough dynamic range, like 34465A / 470A, but 6 1/2 digits is just not enough, and even 8 1/2 digits is at the edge.Recently, I joined an interesting web presentation from Keysight, covering exactly this problem.(Battery Life Measurement Theory and Testing Techniques, already online, search directly on the keysight site for this title)They have several new SMUs, e.g. N6781A, N6705B which have some special features.1) these SMUs provide and measure the supply currents with zero voltage drop, even at high values2) Internally the low and high current measurement/supply is done with several source modules in parallel, and the switching from low range to the high range is done in a very short time.So they can seamlessly measure with an equivalent dynamic range of about 28Bit.I wonder, how this may be re-designed for amateur use, but KS has a patent for this circuitry.Maybe you search for that patent..Frank

author: MadTux
author_rank: Frequent Contributor
timestamp: November 08, 2018, 12:12:21 pm
content: Something with like 2x transconductance amplifiers, like in Keithley electrometers, to supply the circuit?First one has large resistor in feedback to measure small currents.Second one gets a small resistor in feedback for large currents and perhaps discrete transistor drive stage for 200mA.Trick would be to isolate 2th TCA while 1th one is measuring and to make sure 2th TCA kicks in fast enough when 1th TCA runs into rail. To do that, perhaps use diode (or transistor as diode for lower leakage) in feedback of large current TCA and use small current TCA to pull large current TCA +input slightly low (when small current TCA is active) so that output gets negative and the diode in its output prevents current from flowing.Then the leakage of large current TCA should only be a question of input current vs input offset.And to add enough buffer capacitance into DUT so that 2th TCA can kick in fast enough.

author: tggzzz
author_rank: Super Contributor
timestamp: November 08, 2018, 12:56:03 pm
content: This is an interesting problem, with the >106range being difficult for a single resistor having an acceptable voltage drop for the UUT when it is drawing 200mA.Have you considered measuring the voltage across a "non-linear resistor" consisting of, say, a 3.3k resistor in parallel with a semiconductor junction? At 300nA that would drop 1mV, and at 200mA the voltage drop would be <~0.6V as determined by the semiconductor junction.But what current would be going through the semiconductor junction with 1mV across it? Here TAoE v3 is helpful: "Figure 5.2. Diode datasheets are often skimpy with data like this, showing the low end of the current versus forward applied voltage. See Chapter 1x for lots more detail.". That shows that at 1mV:1n3595: 0.1pA1n4002: 5pA1n914/1n5711: 50pA2n3904 b-e: <0.01pA2n3904 b-c: 0.01pA

author: exe
author_rank: Unknown
timestamp: November 08, 2018, 01:11:51 pm
content: Diodes are temperature-sensitive and self-heating.So far I like idea with two independent opamps, but it can be time-consuming to tune the transition region.Or one can infer active power consumption from measuring average consumption and idle consumption.But I still don't get what the original problem is.

author: GeorgeOfTheJungle
author_rank: Super Contributor
timestamp: November 08, 2018, 01:18:48 pm
content: Yes, it's an interesting problem.

author: tggzzz
author_rank: Super Contributor
timestamp: November 08, 2018, 02:31:22 pm
content: Quote from: exe on November 08, 2018, 01:11:51 pmIf operated as I suggest, who cares if the diodes are temperature sensitive and self-heating?I should have been more specific. I would have thought that my description, especially the first paragraph and "<~0.6V", would have indicated the technique is for measuring the inactive low current, not the active high current. The latter is easy.Apart from that, if you don't get the original problem, then it is difficult to generate suitable solutions!

author: exe
author_rank: Unknown
timestamp: November 08, 2018, 04:24:18 pm
content: Ah, right, sorry, I thought measurements were to be done across the diode, so would be used as an "exponential resistor". Got it, it the way to switch shunts.Quote from: tggzzz on November 08, 2018, 02:31:22 pmExactly, but what meant is: "Gavin Melville, please clarify why you need what you are asking".

author: t1d
author_rank: Super Contributor
timestamp: November 08, 2018, 04:25:53 pm
content: @ Gavin:I built out Joshua's circuit. Think I have an extra. If you think it would be helpful, you would like one, gratis, and you are in the USA/48, send me a pm, with your address.

author: Gavin Melville
author_rank: Contributor
timestamp: November 08, 2018, 05:11:47 pm
content: Thanks for all the input.Some thoughts.What I'm trying to do is work on the idle current first, so getting the 300nA down.I have a 34465A meter (but not a 34470), as pointed out the dynamic range isn't enough.Have looked at the Keysight Battery Analyser. Wish it was there when I got the SMU, but even by SMU standards it's expensive - from memory around $14k US, with the mainframe and just one low end SMU module.I'd like to short the shunt, but trying to that, electromechanically or active device is going to be hard. When the CPU wakes up I don't have enough warning without _really_ disturbing the idle current. Even trying to get a few 10's of msec will cause more problems than it solves.I think my best path is to break up the currents, and us a SMU to supply the idle current areas one at a time. The SMU is quite comfortable with the small currents.Thanks,Gavin.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 08, 2018, 06:21:12 pm
content: Quote from: Gavin Melville on November 08, 2018, 05:11:47 pmThis is obviously your best bet. It even makes sense if you're specifically tracking down the idle current, as it will be just one measurement you'll have to deal with, and you can use "conventional" equipment to measure it. You could probably even use a µCurrent for that.Your overall problem is a very common one that has been discussed quite a few times here.A few threads (there are probably many others):https://www.eevblog.com/forum/testgear/battery-energy-consumption-how-to-measure-it/https://www.eevblog.com/forum/testgear/high-dynamic-range-current-vs-time-measurement-at-low-cost/https://www.eevblog.com/forum/oshw/metering-both-sleep-and-active-current/Doing that kind of measurement dynamically with such a wide range is a very challenging endeavor.The most usual approach is taking it sideways: measuring the "idle" current separately, and/or measuring the average current during a typical scenario (which would include both idle and run periods).

author: duak
author_rank: Super Contributor
timestamp: November 08, 2018, 06:29:59 pm
content: I'd try the the two power supply approach. The SMU provides the idle current at the nominal voltage and the other provides the high current at a few millivolts below it. If the SMU doesn't cut it, the microamp supply could be an opamp transconductance amplifier that would also give the idle current. The high current supply would need a low leakage precision diode or clamp that could switch fairly quickly to keep the output voltage up. This could be realized with an opamp, buffer and a few diodes artfully arranged.If this isn't clear, I can try to cobble up a sketch.Cheers,

author: spec
author_rank: Frequent Contributor
timestamp: November 08, 2018, 11:02:36 pm
content: + Gavin MelvilleAttached is another offering, this one straight from the drawing board. It has not been optimized, prototyped or developed.The circuit uses a conventional voltage regulator circuit (N1), and a current to voltage converter based on a virtual earth shunt feedback amplifier (N2).The circuit eliminates the requirement for a nano amp ammeter by generating a voltage proportional to IS, the unit supply current. As the voltage is at a zero Ohm impedance, neither does the voltmeter need to have a particularly high input impedance: 10k Ohms upwards will be suitable.There is little current drain from the 5V reference line.Under low IS conditions the voltage regulator output is low, so the low-leakage diode D1 is slightly reverse biased. This means that the voltage regulator has no effect.Under these conditions IS is sourced from the summing node at N2's inverting input, which is supplied with current by the feedback resistor R3. Thus the summing node acts as a 5V regulator, maintaining a 5V supply for the unit.At an IS of 7uA the summing amplifier out put will be up against the 12V supply line (saturated) and will be unable to supply any more IS. At this point the summing node voltage will drop. When it drops by a milivolt (V DELTA) the voltage regulator, N2, takes over and maintains the voltage across the unit at 5V- 1mV (a VDELTA of 1mV might be a bit tight: 20mV is probably more realistic).The voltage regulator has the potential of supplying in excess of 200ma, except that a BC337 is limited to around 143 mA, due to heat dissipation, so this needs to be sorted but it is not a major issue.And that is how it works- I hopeWhen I started the design you only had a couple of replies, but by the time this design was ready for posting I was surprised to see so many replies: should make some interesting reading.PS: the OPA192 is pretty good, but there are possibly better opamps for this application. I have initially kept clear of switching opamps on the grounds of low noise, but they may offer some advantages.The non electrolytic capacitors are polypropylene dielectric. All capacitors are for decoupling.

author: bson
author_rank: Unknown
timestamp: November 11, 2018, 02:05:12 am
content: The transients constitute over 99.5% of the energy, so I'd ignore the idle current entirely if it were me.But the measurement problem is interesting and I run into it all the time.

author: David Hess
author_rank: Super Contributor
timestamp: November 12, 2018, 12:28:10 am
content: Quote from: Gavin Melville on November 08, 2018, 08:32:36 amYou are missing a not so obvious one.Use a cascode MOSFET for the positive supply; in this case the transistor is essentially the output transistor of a linear regulator but given your low current requirements, special attention will need to be paid to keep the feedback current low.Now the output current (and the regulator's feedback network current) appears on the drain side of the MOSFET and a high value resistor can be used to convert this current into a voltage referenced to the positive supply or a current mirror can be used to reference this current to ground for ease of measurement without affecting the output voltage. When high current is applied, a diode clamp prevents the drain voltage from falling below the dropout voltage of the regulator. If a suitable clamp diode with a low enough leakage cannot be found although I can think of several, then two diodes in series with a guard voltage applied between them can cancel the leakage.At this point junction capacitances at 300 nanoamps become a significant but tractable issue but probably not a problem over 30 seconds. Some attention will be required to get good settling times.In the past this might have been done with a JFET driving a bipolar transistor which might still be the best way to go.