Tuesday 8 December 2015

lipo - Reading a Li-po battery's remaining charge


I want to read the remaining charge on a Li-po battery in a device I'm making but I'm confused as to exactly how to get an accurate reading.


I know that the voltages of the battery are different based on how much current you are pulling off of it and this will affect the reading. The problem is that the device I'm making pulls power off the battery in short bursts (not good for the battery but no way around it) so it seems to me to make sense to read the battery level while the device is idle (drawing mA as opposed to amps) and match that voltage against the unloaded voltage charts.


How long do i have to wait after a surge demand from the device before the battery voltage stabilizes again and I can take an accurate measurement of the remaining voltage of the battery? Or am I going about this the wrong way all together?


The batteries I'm using are in 4s2p configuration with individual cells rated at rated at 1500 mAh.



Answer



The "best" way to measure battery capacity is by current and voltage monitoring during both charge and discharge and subsequent calculation - versions of this are generally known as "gas gauging". For almost all applications current monitoring is enough for capacity measurement.


Voltage alone can give some indication but "has problems":


Here are some discharge curves - these are for a std LiIon cell but results will be similar for a Lithium Polymer ("LiPo"). Curves shown here (not a n easy to read graph :-( ) are 1C, 0.5C and 0.2C but a similar family of curves exists up to whatever C capacity will tolerate.


Using a low discharge rate or no discharge to read the cell voltage is liable to give you less accuracy, not more. Compare the 0.2C and 1C curves. The low discharge curve is muc flatter across the middle of the capacity range. Between say 90% and 95% exhausted the rate of change is still much the same as from 40% to 90% BUT for the 1C discharge the rate of decline in voltage is now much steeper. Monitoring the 1C curve would give you a good idea of where you were from about 90% on, whereas the low discharge curve is up to about 96% before things "start to get alarming".



BUT these curves are for one temperature and battery temperature can have a significant effect and will depend on ambient temperature and recent discharge history and also cycle life of cell and probably calendar life as well.


Below: Typical lithium Ion 1 cell 'battery' discharge curve.


enter image description here


Gas gauging takes a bit more effort to get going but is liable to be more accurate for any degree of effort once operational.


The normal approach is just measuring current in & current out, and a LiIon battery (including LiPo) ic close to 100% efficient in that respect. Many ICs exist to do that


An example only is the cheapest in stock at Digikey at $2.801 is STC3100. This is I^2C controlled. Designed to operate at up to 2.5 Amp but could be scaled to higher currents with different sense resistor.


They say


■ Battery voltage monitoring
■ Internal temperature sensor
■ Coulomb counter with 12/14-bit AD converter, +/- 80 mV input voltage range

■ Internal or external 32768 Hz time base
■ I2C interface for gas gauge monitoring and
device control ■ 32-RAM bytes
■ 8-byte unique device ID
■ One general-purpose I/O


And


The STC3100 monitors the critical parameters of a single-cell Li-Ion battery (voltage, temperature and current) and includes hardware functions to implement a gas gauge for battery charge monitoring, based on a programmable 12- to 14-bit A/D converter. With a typical 30 milliOhms external sense resistor, the battery current can be up to 2.5 A and the accumulator system provides a capacity up to +/-7000 mAh with a resolution of 0.2 mAh


From the above data sheet


enter image description here


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...