Firstly.... go here and read this -
http://batteryuniversity.com/learn/article/charging_lithium_ion_batteries
The battery is fully charged when it is at 4.2 Volts and fully discharged at some predefined voltage (Lets say 3 volts).
The phone can measure these voltages directly from the battery. To see the voltage of your battery type *#*#4636#*#* into your phone and go to battery information.
If all that is so then what is the point or need of "recalibrating" and deleting battery stats and all that.
It seems logical to me that battery stats is just the place where your battery usage history is stored and nothing else.
Can someone confirm this or convince me otherwise?
(I rotate between 3 batteries and cannot grasp the idea that my phone can't consistently measure the charge level of the battery and operate accordingly.)
Measuring the Voltage to get the charge level is not very accurate, and has to be done with no load on the battery (that is, when its not in your phone).
So the phone has to count "energy used from"/"energy stored in" the battery for an accurate display. (called "Coloumb counter")
Did some test
I did a test on new a battery a while ago. Measure voltage when the battery completely empty and fully charged.
Empty battery
1% remaining, using SystemPanel
Take the battery out and measure it with Multimeter
Fully charged
100% charged
Again, measure it with Multimeter
The voltage showed on the phone using SystemPanel app is quite accurate with 0.04V margin of error. Most smart electronic measure lithium battery capacity according to the remaining voltage. In this case, fully charged SGS is 4.2V, empty is 3.5V.
Me too, don't know why we have to delete batterystats.bin to recalibrate battery indicator But I do know that SGS keep track on power consumption on each of its component/application. Its a little bit silly if SGS reads batterystats.bin and display it as battery indicator.
Yet again how is this android development.
Sent from my GT-I9000 using XDA App
xufos said:
I did a test on new a battery a while ago. Measure current when the battery completely empty and fully charged.
Empty battery
1% remaining, using SystemPanel
Take the battery out and measure it with Multimeter
Fully charged
100% charged
Again, measure it with Multimeter
The current showed on the phone using SystemPanel app is quite accurate with 0.04V error margin. Most smart electronic measure lithium battery capacity according to the remaining current. In this case, fully charged SGS is 4.2V, empty is 3.5V.
Me too, don't know why we have to delete batterystats.bin to recalibrate battery indicator But I do know that SGS keep track on power consumption on each of its component/application. Its a little bit silly if SGS reads batterystats.bin and display it as battery indicator.
Click to expand...
Click to collapse
Thanks for that, but you were actually measuring the Voltage, not current (Amperes).
In any case, for laptop Li-ion batteries there is normally a capacity counter (Coulomb counter) that reports the capacity in terms of mAh (milli-ampere hours). It can normally report the remaining capacity, maximum capacity, design capacity, and can be used to measure the *actual* power drain (in terms of Watts).
I wonder if Android has APIs that let apps access that kind of information?
Not really sure about this, but:
Phone seems to measure both voltage & discharge speed, "predicting" remaining charge.
It happens that after a flash battery indicator jumps to a higher value (not compatible with the couple of minutes of dc connection it had), and fall to a way too low value after any battery intensive task (a few minutes of audio call are enough), once more not compatible with the real usage.
I should inspect android code to be shure of this, but I suspect batterystats.bin is used to keep track of battery usage and to this sort of prediction, while a firmware flash seems to mess somehow the measurement.
Edit: this is based on my direct experience, even if on just "empirical" tests. I'll take a look to code asap
'mkay, battery talk... always interesting to see what people make of this.
Let's help out all the misunderstandings here and start with the basics
First of all: read the basics on Li-ion batteries:
http://electronics.howstuffworks.com/lithium-ion-battery.htm
second:
you DON'T measure your voltage when your battery is disconnected. Because it will rise to the normal values of the battery after a while. When you connect it, and use it, the voltage will lower. Compare it to a garden hose. if you let water run out, the presure drops and water starts flowing (presure is voltage, flowing is the current). If you measure the presure when there is no water running, the presure will always mount to the default value, even if there is "not much water left in the tank". But when it starts running again, it could very well run out very fast. So in comparison: voltage says something, but only when you "use" it.
Third:
When a battery ages, it's characteristics change, it will be full... and then all at once, empty. It's not linear. So calculating the capacity is always a bit "guessing". (compare it to stones in your water tank... they don't give you water, the tank doesn't change, but all of a sudden, you're out of water).
conclusion:
capacity of a battery is a very tricky thing to do, it's a combination of voltage, current, age... so the best way to determine capacity is by using the history of the battery as the "guide" to the future. Resetting the battery statistics will remove that history and your phone will have to "learn" it's behavior again. If you don't reset your stats, your values will become more reliable over time (depending of course on the time the stats are kept )
For those who speak dutch, i put a complete battery description/howto/misunderstandings post on www.modelbouwforum.nl (search for posts of "harrydg")
If there are more questions or so, just ask, i'll try to help out as much as possible...
wow harrydg that's great explanation, wish you were my physics teacher back in high school
someone add this post to the main FAQ!
I just wanna write it in a simpler way:
You've access to the battery stats from the kernel. And of course its current consumption which is measured not voltage. Voltage doesn't tell all that much. During high draws your voltage (at the battery level) can fluctuate quite a bit.
There's a regulator (or probably a bunch of them) get a stable voltage no matter what the input voltage is (well, still it has to be in the 3.3/5v range probably else the regulator burns)
Anyway, that's also why the battery stats have to be calibrated, while you can measure how much current is used (in maH aka milli amp per hour, or in mA aka "instant" milli amps), you don't know the battery capacity.
Not only the battery capacity changes from battery to battery but it also changes during the life time of the battery.
The *only* way to calibrate the battery, is to delete the stats, have a fully charged phone and let it drain out the battery until it turns off. That way the kernel will measure for example 1457mah used until it ran out of juice, and that's your battery capacity then. Having the full capacity allows the kernel to give you a rather precise estimate of your current battery status (eg "80%" that you see on the top of the screen) (of course the actual calculation is a bit more complicate but that's the basics)
If calibration stats storage is changed for any reason (probably kernel upgrade or just a whacky samsung implementation that gets corrupted for some reason) you need to delete it and make a new one to recalibrate.
If you want to make it simpler, make it at least correct...
"Anyway, that's also why the battery stats have to be calibrated, while you can measure how much current is used (in maH aka milli amp per hour, or in mA aka "instant" milli amps), you don't know the battery capacity."
First of al, it's mAh, which means milli ampere hour, NOT per hour, that would be mA/h, which it is not.
mA is milli ampere, which is a current
there is a significant difference between the 2.
the first is "capacity"
the second is "current"
it's like a bottle. The capacity is 2l and you pour at 1l per minut...
so... make it simple please...
My guess is, that android is measuring the known min and max by the battery reported values, stores them and calculates the percentages.
So it is device and battery independent.
harrydg said:
If you want to make it simpler, make it at least correct...
"Anyway, that's also why the battery stats have to be calibrated, while you can measure how much current is used (in maH aka milli amp per hour, or in mA aka "instant" milli amps), you don't know the battery capacity."
First of al, it's mAh, which means milli ampere hour, NOT per hour, that would be mA/h, which it is not.
mA is milli ampere, which is a current
there is a significant difference between the 2.
the first is "capacity"
the second is "current"
it's like a bottle. The capacity is 2l and you pour at 1l per minut...
so... make it simple please...
Click to expand...
Click to collapse
Sorry a typo and no caps deserve heavy flaming
bilboa1 said:
Sorry a typo and no caps deserve heavy flaming
Click to expand...
Click to collapse
hehe, sorry for the rant, but if you want to put it simple, make sure the terminology and abbreviations are correct. If not, people will take over the mistakes and conversations will go totally wrong because of misunderstandings...
Thanks very much for the feedback guys. It makes more sense now.
It's using batterystats to get familiar with discharge rates in order to give an accurate estimation of remaining charge and a prediction of when it will run dry.
Can it misreprasent these values and forcibly power down the phone when there is still charge remaining?
And likewise can it stop the charging process prematurely, estimating the battery to be at 100% charge when it is lower?
Is this the reason to recalibrate?
Heres one thing what I noticed about the battery stats, some say deleting it fixes the guage and does not really recalibrate the battery, I really doubt there is a way for end users to do that, even if you never delete the battery stats bin and your drain is pretty fast, it significantly slows down when your battery hits around 25~35, the lower the power on the battery the more accurate it can be represented regardless of the calibration. This is applicaple for the SGS only.
Now it comes to the question..
If the phone create battery stats every time the phone reboot, then when is the best time to delete and the best way to calibrate?
This is what I normally do..
..delete stats at 5%, let it run dry til it turn itself off, dont turn on but connect the charger til it fully charged. Turn phone on and ill have fully charged battery along with fresh stats.
Is this correct?
vosszaa said:
Now it comes to the question..
If the phone create battery stats every time the phone reboot, then when is the best time to delete and the best way to calibrate?
This is what I normally do..
..delete stats at 5%, let it run dry til it turn itself off, dont turn on but connect the charger til it fully charged. Turn phone on and ill have fully charged battery along with fresh stats.
Is this correct?
Click to expand...
Click to collapse
On the SGS theres no real point in deleting it, unless you dont really wanna see the battery go down to 35% and stay there for a while, how ever busted your battery indicator is it gets very accurate as the lower it goes.
I never found batterystats made any difference. What did make a difference is the rom or kernel, what widgets, lagfix e.t.c
If you get more than 1% battery drain per 5hr standby then something is wrong
Sent from my GT-I9000 using XDA App
android53 said:
I never found batterystats made any difference. What did make a difference is the rom or kernel, what widgets, lagfix e.t.c
If you get more than 1% battery drain per 5hr standby then something is wrong
Sent from my GT-I9000 using XDA App
Click to expand...
Click to collapse
I find that conclusion quite flawed.
First of all, what's your definition of standby?
3g on? Wireless on? Autosync on? There are also noticeable differences between different firmwares and between 2.1 and 2.2.
In addition, most people are reporting somewhere around 1% per 1 hour standby or 1% per 2 hour standby, which it what I have been experiencing as well. Sometimes, apparently for no reason, it can drain faster than that, maybe 1% per 0,5 hour or more. I think this might be some widgets fault.
1%/5h standby 3g no sync
i get 1%/2h with data and sync
Depends on your reception, im just basically saying if your losing say 8% battery overnight or more then something is wrong unless your polling several push email accounts
What is honestly the CORRECT way to do this?
I've seen some which says:
1. "Completely Drain your battery -> Wipe Battery stats -> Charge to full"
and some other who says:
2. "Complete Drain -> Charge to full -> Wipe battery stats -> Drain your battery -> charge to full"
and there are also a few who says:
3. Charge to full -> wipe battery stats -> drain -> charge to full
A little confused here
Also, is it absolutely necessary to calibrate everytime we flash a new ROM or Kernel? Or is it more of a "suggested" kind of thing?
Step 3 is best. Charging to full then wiping the stats will make the os know at which voltage the battery is charged to full, and then draining it till it turns off will tell the os at which voltage it is drained out.
Li-on batteries arent meant to be fully drained and they dont develop memory. Draining below 15% is not recommended
http://batteryuniversity.com/learn/article/charging_lithium_ion_batteries
Over-discharging Lithium-ion
Li-ion should never be discharged too low, and there are several safeguards to prevent this from happening. The equipment cuts off when the battery discharges to about 3.0V/cell, stopping the current flow. If the discharge continues to about 2.70V/cell or lower, the battery’s protection circuit puts the battery into a sleep mode. This renders the pack unserviceable and a recharge with most chargers is not possible. To prevent a battery from falling asleep, apply a partial charge before a long storage period.
Battery manufacturers ship batteries with a 40 percent charge. The low charge state reduces aging-related stress while allowing some self-discharge during storage. To minimize the current flow for the protection circuit before the battery is sold, advanced Li-ion packs feature a sleep mode that disables the protection circuit until activated by a brief charge or discharge. Once engaged, the battery remains operational and the on state can no longer be switched back to the standby mode.
Do not recharge lithium-ion if a cell has stayed at or below 1.5V for more than a week. Copper shunts may have formed inside the cells that can lead to a partial or total electrical short. If recharged, the cells might become unstable, causing excessive heat or showing other anomalies. Li-ion packs that have been under stress are more sensitive to mechanical abuse, such as vibration, dropping and exposure to heat.
Click to expand...
Click to collapse
I think 3rd is better..
still confuse then...
shud u calibrate the battery if ur unrooted and on stock ???
rrohanjs said:
shud u calibrate the battery if ur unrooted and on stock ???
Click to expand...
Click to collapse
Don't think you can if u're unrooted
hellcatt said:
Li-on batteries arent meant to be fully drained and they dont develop memory. Draining below 15% is not recommended
http://batteryuniversity.com/learn/article/charging_lithium_ion_batteries
Click to expand...
Click to collapse
Yes that is correct, discharging it a full cycle below 15% is not healthy for the battery, IF you do it very often. If you read it further in the article it states that you should and can re-calibrate the statistics every 40 partial charges or 3 months. Discharging it a full one cycle every now and then is OK. Not every week!
source: http://batteryuniversity.com/learn/article/battery_calibration
Wiping battery stats does nothing. It's a myth debunked a couple of weeks ago by Dianne Hackborn.
Skip that step and just charge it whenever you want. Every couple of months allow a full discharge and do a full recharge. Done. No hassle, no root needed.
EDIT: Gah, sorry for the post revival, was searching for something and not paying attention :/
Hello Guys, i bought a new mugen akku and dunno what´s the best way to calibrate it.
There are a few things that are confusing me:
1.Mugen Instructions: "Never drain battery to 0%"
(but that´s required for calibration, isn´t it?)
2.the battery got its full power after a few charges/discharges
(so would it be better to wait to calibrate the akku when it got its full power?)
So finally, should i wait with calibration or do it at the beginning? I think one time is necessary to let it go down to 0%.
So what are your advice?
thx in advance, l-viz
The way I calibrate mine is to discharge it completely so it turns off by itself (normally happens around 1 or 2%) then plug it into the charger and let it charge completely to 100%. Note that the LED will turn green at 90% .. so its not done yet!
Just my 2 coppers...
Sent from my T-Mobile G2 using xda premium
You are just calibrating the battery meter on the phone, not the battery. People constantly abuse the terminology.
You don't need to drain the battery to zero, because the battery meter is not even remotely that accurate in the best of circumstances. Draining to 10 or even 20% is no different than draining to zero.
What CAN happen if you drain to zero, is you you may trip the safety circuit on the battery, and render the battery unable to take a charge, thereby rendering it useless. Its not very likely, and safeguards on the phone are designed to prevent this, but plenty of people on here have had it happen. Full power cycles (draining to zero) also shortens the long term life of the battery. Especially considering there is NO value added to draining the battery to zero, there is no point it doing so intentionally, and taking an unnecessary risk.
Just charge your battery to 100%, let it sit on the charger for a while after full, to make sure its really topped off. Then use the phone until 10-20%. Repeat this a couple times. You can also go into recovery and clear battery stats before you charge/discharge. But I haven't noticed this to make much of a difference.
redpoint73 said:
What CAN happen if you drain to zero, is you you may trip the safety circuit on the battery, and render the battery unable to take a charge, thereby rendering it useless. Its not very likely, and safeguards on the phone are designed to prevent this, but plenty of people on here have had it happen. Full power cycles (draining to zero) also shortens the long term life of the battery. Especially considering there is NO value added to draining the battery to zero, there is no point it doing so intentionally, and taking an unnecessary risk.
Click to expand...
Click to collapse
Wow. I didn't know that. Thanks!
Sent from my T-Mobile G2 using xda premium
Draining the battery to a literal 0% is almost impossible. Lithium ion batteries do not allow devices to utilize all the juice in a the battery. Once a device shuts off and tell you the battery is "dead", there's actually a bit more juice that is only used by the battery to prevent the battery's level from becoming too low.
Think of it like space partitions in hard drives. While you can use 100% of a single partition in a hard drive. There will still be space left over in the other partition.
Now what mugen means is to not allow the battery to reach the 0% of the ENTIRE battery. In order to make that happen you would have to discharge the battery until your device doesn't turn on and then NOT charge the battery for a very long period of time. I'm talking weeks and months of no charge whatsoever. Other than that, feel free to allow your phone to die and charge it back up. This in conjuction with deleting your battery stats file will speed up the calibration process.
Hope I helped out.
Sent from my HTC Vision using Tapatalk
UnSungHERO420 said:
Draining the battery to a literal 0% is almost impossible. Lithium ion batteries do not allow devices to utilize all the juice in a the battery. Once a device shuts off and tell you the battery is "dead", there's actually a bit more juice that is only used by the battery to prevent the battery's level from becoming too low.
Click to expand...
Click to collapse
What is supposed to happen with the failsafes on the device and what ACTUALLY happens unfortunately are not one and the same. There have been plenty of people here that have let their batteries drain to zero, and then the battery will no longer take a charge.
True, the battery is not actually zero voltage. But its low enough that the safety circuit on the battery will prevent it from accepting a charge. The phone is SUPPOSED to prevent the voltage from dipping that low, but it doesn't always work. So the only way to bring the battery back to life, is with a special battery meter with a "boost" function. Since the vast majority of us do not have access to such a thing, the battery is effectively dead, as buying one is likely cheaper and easier than getting access to such a battery meter.
As I've already mentioned, this is unlikely to happen. But its happened to at least a few people with our phone, and I've seen it happen to other XDA users with other devices. No point in playing probabilities, if it happens to you, it sucks and it doesn't matter how "almost impossible" its supposed to be. As I already discussed, the battery meters on phones are not even close to accurate enough to read single, or even 5% battery increments. So draining to zero is not any more beneficial than draining to 10%. No benefit in draining to zero, so why risk it?
I have learned the hard way that discharging lithium ion batteries below 20% is the fastest way to kill them early! (greatly shorten their life)
thanks 4 replies, a lot of useful knowledge
I'm on CM10 8/31 and I've been noticing that my battery life has been really poor lately, so I wanted to find out what the problem was. I thought about draining my battery fully and then charging it again. Once I drained the battery, I charged it, and restarted the phone after the charging began. Once the phone booted, it reported a 50% or so charge. I'm wondering if my phone is stuck at reporting battery at half capacity, and that when it charges to 100%, it's actually 50%. Anything I can do?
EDIT: Also, I should note that the battery has sometimes spiked up/down by about 20% after a reboot (including today before the drain).
This phone has a fuel gauge chip, fully discharging and recharging will not calibrate it. False readings after reboot are common, you may even notice it will climb back up as it begins to accurately reflect level.
There are apps to let you know what is causing drain. BetterBatteryStats and CPUSpy are recommended a lot.
ALBGunner04 said:
I'm on CM10 8/31 and I've been noticing that my battery life has been really poor lately, so I wanted to find out what the problem was. I thought about draining my battery fully and then charging it again. Once I drained the battery, I charged it, and restarted the phone after the charging began. Once the phone booted, it reported a 50% or so charge. I'm wondering if my phone is stuck at reporting battery at half capacity, and that when it charges to 100%, it's actually 50%. Anything I can do?
EDIT: Also, I should note that the battery has sometimes spiked up/down by about 20% after a reboot (including today before the drain).
Click to expand...
Click to collapse
Entropy doesn't frequent our forum much anymore, but he left some nuggets of wisdom behind.
As you have probably seen, he mentioned several times that generally our fuel gage doesn't need much attention. It may get a little out of whack if you have heavy usage followed by reboot, but generally the error is short-lived and goes away quickly (within an hour or so).
But apparently sometimes the fuel gage gets really confused, and in that case you can reset it (to un-confuse it) by powering down and pulling battery for 20-30 seconds. It certainly can't hurt to try.. that's what you try for any computer that was acting weird. That was discussed by Entropy here:
http://forum.xda-developers.com/showthread.php?t=1209087&highlight=+gingerbread+fuel+gauge+
By the way, here is a link to the fuel gage chip (MAX17040) used in Infuse
http://datasheets.maximintegrated.com/en/ds/MAX17040-MAX17041.pdf
It has a heuristic model of the battery. The only input is the battery voltage. So it looks at time history of voltage and provides an output signal. Exactly what the output is I’m not sure. You’d think it would be an estimate of %. But according to the circuit diagram there is no inputs to the MAX17040 other than battery voltage.
And yet our phone also knows when it’s charging. And our Infuse phone also has a sensor that enables it to measure current while charging (but not to measure current while discharging). This according to the developer of Battery Monitor Widget:
http://forum.xda-developers.com/showthread.php?p=31295223&highlight=infuse#post31295223
Why the heck would we not use sensed charging current and charging status as an input to calculating our % battery (since the signal does not go to the Max17040)? Beats me, doesn't make sense. Maybe the output of he fuel gage chip goes to the integrated power chip MAX8998 which looks at these other inputs (charging status and charging current) and develops the % estimate... I’m not sure.