Help designing a battery current monitor - Page 1
Forum section: electronics / projects

author: zapta
author_rank: Super Contributor
timestamp: March 19, 2014, 05:15:29 am
content: Hi all,I would like to design a small PCB that monitors the power consumption over time of digital device that operates on a single LI-ION cell (there is no charger involved, the battery is charged before the experiment starts). The goal is to connect the PCB between the battery and the tested device and log the power consumption over time such that the aggregated power consumption of different operating modes or firmware versions can be analyzed and compared.The tested device's power consumption can be very bursty with a few ms periods of very high power that contributes majority of the power consumption.I don't have hard requirements for accuracy but the more the bette as long as the cost is reasonable (e.g. no more than $100 component cost per unit) and the circuit is not over complicated (I will assemble them myself).I am thinking of using a standard a micro controller with USB connection to the logging computer and an external high side current/sensing circuit. The micro controller part is straight forward and my questions are mostly around the sensing circuit.1. Are there off the shelf ICs that can do the sensing and integration? For example is it reasonable to use fuel gauges like LTC2942 or power monitors like INA219?2. If I do not use an integrating ics and do the current/voltage directly what are the considerations for choosing the ADC (SAR? Delta-Sigma?) Sampling rate? Filtering out high frequencies?3. Any other suggestion that may help or pitfalls I should look for?

author: ohmineer
author_rank: Contributor
timestamp: March 19, 2014, 07:28:15 pm
content: With regard to the use of a fuel gauge,- As far as I know, fuel gauges usually are low-side sensing devices. Each manufacturer gives you recommendation on what resistor value is better for the application (Typically 10 mOhms to 50 mOhms).- They include the amplifier and the ADC. The most challenging issue is to implement the communication protocol (It can be overkill for the only purpose of reading the current).- As long as your burst are not very long (<500 ms), they do the integration internally and you usually get a fairly good average value.- They usually require some calibration routines so as to compensate device and board offsets.With regard to the use of a current sensing IC- They are basically amplifiers that convert the current that flows through the resistor current into a proportional voltage.- You have to dimension your current sensing resistor in such a way that the amplifier provide a linear response in all the current range you expect to measure, sometimes this is not trivial.- You will have to implement ADC routine in software taking into account sampling rate, etc.- Have you checked Dave Jones' uCurrent project? I think that would be a good starting point on how this kind of implementation could be.

author: zapta
author_rank: Super Contributor
timestamp: April 21, 2014, 07:40:18 pm
content: A quick followup,I ended up using LTC2943. It has a continuous analog current integrator which provide accurate charge (my main goal) without having to sample it too quickly. It also has a separate voltage and current A/D which I am not using at the moment. Also, it can handle voltage from the I2C bus without power rail voltage and vice versa which is perfect for my application.The diagram is available on github here (PDF)https://github.com/zapta/power-monitors/blob/master/pmon_uno/eagle/pmon_uno.pdf?raw=true