Electronics > Projects, Designs, and Technical Stuff

Measuring wide range current draw of micropower applications

<< < (5/6) > >>

splin:

--- Quote from: magic on October 31, 2019, 08:29:11 am ---Use a few ohm shunt to maintain reasonably low burden voltage at full load and provide as many parallel amplifier-ADC paths with different gains as you need. That's probably going to be 2, and only the low gain one needs to be fast and only the high gain one needs µV precision, which isn't even the worst situation it could be.

--- End quote ---

But make sure you clamp the high gain amp to prevent it saturating if the overdrive recovery time could seriously impact the accuracy. ([EDIT 3] For example, the 2MHz auto-zero MCP6V26 has a recovery time of around 50us). How big a problem that is depends on the threshold level where the high gain range becomes active and the frequency that the range changes. In cases, such as IOT applications, where an MCU spends much of its time, op-amp saturation wouldn't be much of a problem as the recovery time is insignificant compared to the total time spent in sleep mode.

This single shunt / multiple amp scheme works well for capturing rapidly rising current levels however. Ultimately the dynamic range will be limited by the maximum shunt voltage that can be tolerated and the noise performance of the highest gain amplifier. Assuming 100mV max shunt voltage and a very low noise amp, LT1028, is used. Further, assume a measurement bandwidth of 20kHz for which the amp noise is around 700nV peak to peak. The dynamic range is 100mV/700nV = 143,000:1 giving a resolution of 7uA for a 1A max current range.

Of course you can drastically reduce the noise bandwidth if the measured current remains in the low range for relatively long periods by using dynamic filtering in the MCU. The limit then would be the amp's flicker noise - 35nVpp for a single LT1028 0.1 to 10Hz, or 350nV resolution for 1A max. Further improvement could be achieved by paralleling op-amps or using very low noise bipolar transistors such as the ZTX951. Fortunately, the relatively high current noise of bipolar amps isn't a problem in this application with the very low source resistance of the shunt.

[EDIT] Thermal EMFs of the shunt and the connections to the amplifier, probably of the order of a few uV/C, are more likely to be the main limitation to dynamic range unless you have some way of calibrating or offsetting them out which is tricky, if not impossible.

[EDIT 2] Self heating of the shunt can be a significant additional error source depending on how long the current spends at higher levels, but at least you have the option of arbitrarily increasing the thermal performance of the shunt and selecting a shunt with very low temperature coefficient.

NiHaoMike:
An active IV converter with multiple ranges (lower current ranges bypassed with diodes) will work nicely. Digitize all ranges at once and then use a simple sensor fusion algorithm (if low range out of range, use higher range) to merge the data together.

SiliconWizard:

--- Quote from: Amper on October 31, 2019, 08:28:58 pm ---For now i guess a full log of 5-10h would be nice since every period will take up to an hour (heavily depending on tube and capacitor choice). So 10h should give me roughly 10% accuracy if i miss one charge cycle. Though from there on it would be pretty simple to just add another layer of averaging. Since im only interested in the average its no problem to throw away all the measurements and just log a single value every hour or so. That should also give opportunity to log changes due to environmental changes like slow humidity or temperature change.

--- End quote ---

One question to ask yourself is, what exactly are you expecting from all those measurements?

1. If you're after a realistic average power draw in "typical" conditions over a significant period of time, one of the simplest approaches, not extremely accurate, but closer to what you'd expect to get out of it, would be to let your device run on a given battery, the capacity of which you have first assessed with a simple setup. Then let it run on the battery fully charged until its voltage gets down to the cut-off voltage you've used to assess its capacity. Done. You can rinse an repeat several times to get a realistic average figure and most of all verify that you get reproducible results.

2. If you additionally want to know the max current peak, you could use a simple setup with a small shunt and an oscilloscope/acquisition board that would trigger on the rising edge of the current draw with a threshold significantly above the idle current. Enable statistics on the given channel, and you'll get your min/max/average. This won't be very accurate, but good enough IMO to get stats on the peak values. Knowing about the peak values would further help you select an appropriate battery.

Amper:
Sadly that will not work, as said previously the drain of these batteries depends heavily on current draw and outside influences, so its not really possible to carry results from a small battery to a bigger one. As im aiming for a run time of more than a decade and even on a cr2032 it should last for more than a year i have a limited number of tries in my lifetime...

GeorgeOfTheJungle:
To measure the sleep mode energy more accurately you can always put 10 or 20 or 50 devices in parallel and divide. Patch the software so that it won't trigger any high current spikes.

To measure the current spikes, the software could set a gpio to trigger the logger device in advance so that it can sample and integrate as fast as it can but only when it's needed.

Or perhaps, use a gpio to signal what shunt to use, because the software knows what it's doing/going to do next => what's the best suited shunt.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod