how to measure li-ion baterry level most effectively. - Page 1
Forum section: electronics / beginners

author: RoadRunner
author_rank: Frequent Contributor
timestamp: March 07, 2016, 07:51:05 am
content: i am building a little system which has few 2000mAH li-lion cells,the problem is i want to have a 5 led display to user about the battery status . i have seen video on eevblog , in which dave bargraph driver IC to sense voltage on battery. i have a implemented same thing in past and it works reasonably well. i am little afraid that , if there is no load connected at all , this battery voltage sense method work very effectively. should i put a dummy load resistor with mosfet control to switch dummy load on and off.i have one more question , it the sensing battery voltage is most reliable and effective way to measure battery capacity. or is there any other method , dave says there are few battery management IC which can calculate charge going in and going out and tell you battery level.i have a microcontroller in the system, which can sense charge current and load current. i don't mind putting a extra IC just to give a good measurement but , if can be done in software then i will a little more happy.please forgive me if any thing feels stupid .even after some amount of efforts i could not able to figure out .

author: michaeliv
author_rank: Frequent Contributor
timestamp: March 07, 2016, 09:05:28 am
content: Well if you're measuring the voltage using your micro / a circuit then there's already a load on the battery( the measuring circuit ). Anyway measuring voltage with no load is pretty commonly used as a good indication of charge level.Sensing via detecting charge / discharge is not very reliable IMO since you have to do lots of analysis/ data gathering in order to get it right. The cells you were using have to be strictly characterized. Also how would you measure the idle discharge when the device is turned off ?For just a 5-led display, the voltage method at idle should be more than enough.

author: amyk
author_rank: Super Contributor
timestamp: March 07, 2016, 10:05:12 am
content: If you wantveryaccurate charge measurement, look up "lithium ion gas gauge" ICs - they are the ones that count the actual charge, but also tend to be a lot more difficult to use and won't work if you expect to be able to swap the cells and have it "just work"; lion cells also have a very flat discharge curve so you can't just use a linear scale between fully charged (4.2V) and empty (~3V, usually a little higher to be on the safe side).

author: Jeroen3
author_rank: Super Contributor
timestamp: March 07, 2016, 10:20:15 am
content: You can create a small table from cutoff (0%) to fully charged (100%) using the discharge curve in the datasheet.With it you can say, if above xxx mV, then battery is above xx %.5 datapoints should suffice for a 3 bar icon: cutoff, empty, 1 bar, 2 bars, 3 bars, external power.

author: RoadRunner
author_rank: Frequent Contributor
timestamp: March 07, 2016, 11:30:01 am
content: one problem i face with voltage based measurement , is if you have digital display like 0 - 100% , if you have no load connected , it will show you battery capacity says 100% , but if you have some load it will start dropping and suppose it reach 75 and , as soon as you disconnect the load , battery voltage will bum up "a little " again to some level like 78 or so .that is why i was saying to have battery under load when micro was taking voltage measurement.thank you for the correct search term "fuel (gas) gauge" that is thing i was looking for.these fuel gauge IC internally complex , few have dedicated processor running in there.

author: Jeroen3
author_rank: Super Contributor
timestamp: March 07, 2016, 01:29:31 pm
content: They are called coulomb counters. And are often incorporated in fancy battery management/charger ic's.With voltage only measurement you cannot get within 5% resolution of remaining battery capacity. If you have a consistent load, maybe 20%.It still better than an old Fluke 83, suddenly shutting down the moment the beeper starts.