Software control of charging voltages? - Upgrading, Modifying and Unlocking

Based upon this, very useful, article, I'm interested in knowing how to charge to a lower peak voltage. Apparently you can double the lifespan of your battery by lowering the maximum peak voltage by 0.1V, which is a thing I'm interested in! (as opposed to most people, who want more capacity, I'm prepared to sacrifice some capacity for longer lifespan!)
It feels like there should be 3 ways of solving the problem:
Pull the cord out at 80%?
Create some sort of hardware between the phone and charger that does something?
Tell the software to stop charging at a lower voltage?
#1 is clunky and not going to happen. #2 is hard because I'm not a hardware guy, but if anyone has any knowledge in this area I'd be interested in hearing! #3 is best for me, because at least I understand the internals of the phone, but I can't figure out what part of the phone might be in charge (heh...) of this.
So I guess my questions are:
What chip/etc is in charge of handling charging?
Is it possible to hack at this part?
Has anyone done it before?
Thanks!

Related

Will "trickle-charge" kernels end up damaging our phones? *UPDATE: 8 CASUALTIES!*

Will "trickle-charge" kernels end up damaging our phones? *UPDATE: 8 CASUALTIES!*
I installed one of these amazing new kernels the other day and loved it. I was even able to keep 100% for about 30 minutes of usage and I was amazed. Yet today I checked Phandroid and an article from an XDA contributer came up:
http://phandroid.com/2010/12/25/you...is-lying-to-you-and-its-not-such-a-bad-thing/
In the article he explained (from what I understand) that he thinks knows it is a GOOD THING that phones aren't programmed to allow the battery to keep charging at the real 100% because it would end up damaging the battery in the end, much like how many of the early cell phone batterys would get damaged.
Until I find out the answer I (sadly) switched back to my old kernel, as I would rather be safe than sorry, at least until I find out for sure.
Any responses?
UPDATES:
_______________________________________________________________
CASUALTY LIST (please PM me any casualties, the list seems to be growing in numbers rapidly)
_______________________________________________________________
Battery Emitting "Smoke" : http://forum.xda-developers.com/showthread.php?t=904577
Battery Failure during Trickle Charge: http://forum.xda-developers.com/showthread.php?t=900412
SBC killed my battery: http://forum.androidcentral.com/htc-evo-4g-roms-hacks/51972-sbc-killed-my-battery.html
MIUI + Savage = dead battery http://forum.xda-developers.com/showpost.php?p=10422140&postcount=9 and http://forum.xda-developers.com/showpost.php?p=10432778&postcount=139
ANOTHER dead battery http://forum.androidcentral.com/htc-evo-4g-roms-hacks/51972-sbc-killed-my-battery-2.html#post517436
Battery loses charge after extended time with sbc kernel http://forum.xda-developers.com/showpost.php?p=10431788&postcount=49
Another one bites the dust... http://forum.xda-developers.com/showpost.php?p=10457753&postcount=162
COUNT ME IN http://forum.xda-developers.com/showpost.php?p=10469184&postcount=174
Current Count: 8
___________________________________________________________________
Various Dev Reactions:
Ziggy's editorial on WHY these kernels shouldn't exist and are dangerous (written before the new epidemic of dead batteries):http://www.ziggy471.com/2011/01/02/overcharging-batteries/
Netarchy's post explaining why he's REMOVING all SBC kernels from his page: http://forum.xda-developers.com/showpost.php?p=10421166&postcount=6185
___________________________________________________________________
THIS IS A CALL TO ALL ROM/KERNAL DEVELOPERS: Please don't include this feature in our favorite roms. I have been having to switch Kernels on my latest roms becuase I don't want to risk killing my battery (and that is a PAIN)
My $0.02:
I trust these developers on this site ALOT. What they have managed to do with the software is amazing. However, software is software. These trickle-charge kernels were amazing SOFTWARE-WISE. However, the effects of charges on batteries are not your specialty, so while it may be amazing that you all developed these kernels, there effect on the battery is not alright. I (sorry) trust an industry of battery/software engineers over some basement-developers who like pushing the limits (Pushing the limits is awesome, just not when it comes to batteries lol)
hmsheen10 said:
I installed one of these amazing new kernels the other day and loved it. I was even able to keep 100% for about 30 minutes of usage and I was amazed. Yet today I checked Phandroid and an article from an XDA contributer came up:
http://phandroid.com/2010/12/25/you...is-lying-to-you-and-its-not-such-a-bad-thing/
In the article he explained (from what I understand) that he thinks knows it is a GOOD THING that phones aren't programmed to allow the battery to keep charging at the real 100% because it would end up damaging the battery in the end, much like how many of the early cell phone batterys would get damaged.
Until I find out the answer I (sadly) switched back to my old kernel, as I would rather be safe than sorry, at least until I find out for sure.
Any responses?
Click to expand...
Click to collapse
Yup, there is a reason why all the phone makers have them charge like that and there is also a reason why putting custom roms on your phone voids your warranty.
Remember hearing about all those ipod and lap top batteries that liked to blow up?
Edit: he's also forgetting that when the battery gets close to full the voltage starts changing less and less, to the point that it is nearly impossible to accurately tell how much battery you have when it is over 80% full
Sent from my PC36100 using XDA App
i knew it was too good to be true :\
yea i get amazing battery life with this trickle charging only when i leave it on charger for around 7+ hours. Sounds like i should stop using that then damn
Edit: didnt mean to quote anyone
From what I read the article didnt reveal any specifics to if and when it will damage a battery.The article seemed to suggest that because battery manufacturers changed how they implimented charging it means that trickle charging is bad. It does not have enough variables in this observation to come to any conclusion. If advancements have been made in the battery industry you could also come to the conlcusion that trickle charging is or would be ok.
I am not trying to go against the article or this thread but simply wondering if after a thorough evaluation of the battery capacity after say 3 months using trickle charging and one without trickle charging we give an conclusion.
If need be I will run my phone with trickle charging, will someone else volunteer there phone for research?
For the extra bump I get every day now Ill by a new battery for 15 bucks a little more often. Its worth it for me YMMV
Yep, trickle charging is bad for the battery. Rememebr when all those laptop batteries were catching on fire? Same thing could potentially happen if your battery is not charged properly. They charge the batteries the way they do for a reason. That reason is relatively long battery life and safety.
Here is a good article on the subject.
I think that the makers of all these new kernels than should put up a warning specifically pertaining to the dangers of the kernel
Sent from my EVO
Quoting ms79723 :
Will this damage my battery?
This charging method doesnt damage the batteries at all. It shouldnt. Because our batteries dont even charge up to 4.2V without the tweak. They charge up to 4.2V the first charge, then drop all the way down to 4.08V or something and then does these weird short burst chargers to 4.1-4.125V. Thats why there's the rapid drop in the morning. Because your voltage is actually at 4.125V and that's not 100%. So with this tweak, the charger keeps charging until you're at 4.2V (or the maximum voltage your battery can get to) and then it trickle chargers while at that voltage. The charger itself never turns off. Thats not a bad thing. Because as you reach your actual voltage, the mA decreases. Which is why our phones will never be damaged. You ever want to know why its really easy to charge from 50-80% but the charge from 90-100% seems to take so long? Its because from 50% the mA going into the phone is in the 600's. Once it reaches 90%, the mA is around 150 and once it reaches 95% you're looking at 90mA. The phone when absolutely idle uses anywhere from 60-120mA, even when on the charger. So charging from 90% to 100% takes longer becaus the mA going into the phone isnt always higher than the mA you're losing. This is the same with charging past 100%. As you leave the phone on the charger with this tweak, you're mA will decrease from 50mA all the way down to 2mA overnight. But on the charger you're losing about 30-60mA already, so you'll never overcharge the battery, in best case scenarios, you'll just maintain the voltage of 4.2 or around 4.2V.
Click to expand...
Click to collapse
Unfortunately, if you read their thread, they say they disagree that any harm is being done.
Personally, I am not a battery expert, though I do have some experience with them in the EV car field, but my understanding is these batteries will be damaged if continuously held at a full charge. That is why the manufacturers design the system to full charge, then discharge to approximately 90% and then charge again, continuously cycling the battery.
From what I have read and from talking to the guys who design Li-ion batteries, they say that prolonging the time that the battery is at full charge significantly reduces battery life. Over time it can also lead to overheating resulting in an unsafe battery. For those reasons, virtually all properly designed charging circuits for Li-ion batteries are set up to let the battery sit at full charge for the shortest time possible.
Vann's quote from the kernel thread proves my point, what it appears they are trying to do is hold the battery fully charged while it is on the charger. That might increase the amount of time you can run your phone in the short run. But in the long run it will kill the battery.
I suggest you guys RELAX and try to stick with the responsibility of handling your phone the easiest way possible. Being not the hardest way to learn, but you eventually find the way to start new each time you look at your phone. Just saying kinda like when I have my EVO, It is just peachy to have. I don't want to tear the skin or even puncture the screen. LOL Like a PEACH?
I'm imaginative today and well, I always try to keep my phone in cool conditions, for short say. I use Juice Defender with Ultimate Juice with a good nice kernel and ROM that suits it as it suits.
alekosy said:
I suggest you guys RELAX and try to stick with the responsibility of handling your phone the easiest way possible. Being not the hardest way to learn, but you eventually find the way to start new each time you look at your phone. Just saying kinda like when I have my EVO, It is just peachy to have. I don't want to tear the skin or even puncture the screen. LOL Like a PEACH?
I'm imaginative today and well, I always try to keep my phone in cool conditions, for short say. I use Juice Defender with Ultimate Juice with a good nice kernel and ROM that suits it as it suits.
Click to expand...
Click to collapse
wtf.........?
Well its just like rooting and flashing custom roms, it may do this it may do that. If its such a concern don't use it. I'm using it and my phone doesn't take 7 hours to charge and it doesn't overheat at all, its a risk I am taking and I don't hold the developer responsible for it if something goes wrong. I understand the concern about this and I'm sure he will add a disclaimer.
wow and i was just starting to appreciate the new kernels. thanks for ruining it for me guys...
haha no i guess thanks for saving me....
dkdude36 said:
wow and i was just starting to appreciate the new kernels. thanks for ruining it for me guys...
haha no i guess thanks for saving me....
Click to expand...
Click to collapse
Agreeeeeeeeeed!
wfrandy said:
Yep, trickle charging is bad for the battery. Rememebr when all those laptop batteries were catching on fire? Same thing could potentially happen if your battery is not charged properly. They charge the batteries the way they do for a reason. That reason is relatively long battery life and safety.
Here is a good article on the subject.
Click to expand...
Click to collapse
This article is confusing because it says 2 different things:
1. The current "trickle charging" kernels are safe but we should be calling them "topping off" instead:
Full charge is attained after the voltage threshold has been reached and the current has dropped to 3% of the rated current or has leveled off.
Click to expand...
Click to collapse
The kernels drop to 0mA at 4.20V, so the voltage threshold is reached and the current safely drops.
2. The kernel is not safe because it keeps the battery at 4.20V/cell continuously:
No trickle charge is applied because lithium-ion is unable to absorb overcharge. A continuous trickle charge above 4.05V/cell would causes plating of metallic lithium that could lead to instabilities and compromise safety. Instead, a brief topping charge is provided to compensate for the small self-discharge the battery and its protective circuit consume. Depending on the battery, a topping charge may be repeated once every 20 days.
Click to expand...
Click to collapse
What am I missing?
guys... this is from the article put up:
When charging above 4.30V, the cell causes plating of metallic lithium on the anode; the cathode material becomes an oxidizing agent, loses stability and releases oxygen. Overcharging causes the cell to heat up. If left unattended, the cell could vent with flame.
The "trickle charge" kernels never go near 4.30v, mine stops at 4.19. Also, the temperature during the "trickle" overnight is very low. after 8 hours of "trickling" my battery was at 30 degrees C. Only time will tell if the battery life is SLIGHTLY shortened from this charging, but it is in NO WAY NEAR exploding, catching fire, blah blah blah. Stop scaring people, read the articles you post yourself and actually look at what is going on in these kernels. You may surprise yourself!
Now, if you cant get a replacement battery because you live on the moon and want your battery life to stay 3 years instead of 2 1/2, then it is your choice to not use these kernels, but dont scare others away just because you don't want to partake.
aph said:
This article is confusing because it says 2 different things:
1. The current "trickle charging" kernels are safe but we should be calling them "topping off" instead:
The kernels drop to 0mA at 4.20V, so the voltage threshold is reached and the current safely drops.
2. The kernel is not safe because it keeps the battery at 4.20V/cell continuously:
What am I missing?
Click to expand...
Click to collapse
hmsheen10 said:
wtf.........?
Click to expand...
Click to collapse
Jfree3000 said:
Well its just like rooting and flashing custom roms, it may do this it may do that. If its such a concern don't use it. I'm using it and my phone doesn't take 7 hours to charge and it doesn't overheat at all, its a risk I am taking and I don't hold the developer responsible for it if something goes wrong. I understand the concern about this and I'm sure he will add a disclaimer.
Click to expand...
Click to collapse
dkdude36 said:
wow and i was just starting to appreciate the new kernels. thanks for ruining it for me guys...
haha no i guess thanks for saving me....
Click to expand...
Click to collapse
hmsheen10 said:
Agreeeeeeeeeed!
Click to expand...
Click to collapse
LOL I don't know, but battery trickling isn't good to be heard to deal nicely with these EVOs, but If you wanna try to give it a run or a test on your own, be prepared that you voided your warranty.
alekosy said:
LOL I don't know, but battery trickling isn't good to be heard to deal nicely with these EVOs, but If you wanna try to give it a run or a test on your own, be prepared that you voided your warranty.
Click to expand...
Click to collapse
Your warranty was void as soon as you were able to flash a kernel... seriously... (I still have had a screen replaced from separating though!)
Look! A brand new battery for your EVO for $2.92 shipped!!
http://cgi.ebay.com/1500-mAh-HTC-Ex...ccessories&hash=item4aa608f2c7#ht_3246wt_1198
I guess I don't care if I have to replace them... just as long as they last an extra couple of hours everyday...
You all know that there is NO WAY it can hurt the actual phone, right???
sd2649 said:
Your warranty was void as soon as you were able to flash a kernel... seriously... (I still have had a screen replaced from separating though!)
Look! A brand new battery for your EVO for $2.92 shipped!!
http://cgi.ebay.com/1500-mAh-HTC-Ex...ccessories&hash=item4aa608f2c7#ht_3246wt_1198
I guess I don't care if I have to replace them... just as long as they last an extra couple of hours everyday...
You all know that there is NO WAY it can hurt the actual phone, right???
Click to expand...
Click to collapse
And try JuiceDefender with UltimateJuice, the 2nd app is a small fee paid app for donation, but it's very useful with the right kernel and rom for your liking. Trust on that, I think everyone would probably agree that this way would be the safest legit way.

Battery "calibration" knowledge, gleaned from the Nexus One

This is not a thread about best battery tips, etc. And I'm hoping it is not another standard thread about how to calibrate our batteries.
There is a lot of information flying around regarding battery calibration. A lot of it involves draining the battery, plugging it in at certain time, removing the battery, erasing batterystats.bin, etc. etc. etc.
Some feel the batterystats.bin file is key, and others believe it is completely unrelated to how the battery performs--just a log of stats.
How can this be reconciled?
UPDATE: Deleting batterystats.bin to "recalibrate" a battery is total and utter nonsense
http://forum.xda-developers.com/showthread.php?t=1442989
https://plus.google.com/u/0/105051985738280261832/posts/FV3LVtdVxPT
Over on the Nexus One forum, there was/is an extensive discussion, with REAL data gleaned from reading the technical datasheets of the battery itself, and the DS2784 chip within. The key to the Nexus calibration program was the ability to reprogram values on the battery chip.
http://forum.xda-developers.com/showthread.php?t=765609
I don't know if much of anything is going to be the same on the GNex battery, since the N1 was a HTC product. However, if the charging algorithms are all dictated by the Android OS, instead of hardware specific, then it could provide useful precedent. (I am not going to go through all the Samsung forums to look for valid battery calibration threads--if you know of some, for say, the Nexus S or Galaxy S2 (predecessor and comparable cousin, let's call them) please comment).
Here's a primer for all I learned that was used on the Nexus One battery calibration program. Full credit to those fine users who took the reins and made that happen, and to the fine users who continue to provide user support to the newcomers who don't know/refuse to acknowledge the existence of a search function.
My hopes are that this will lead to more rational battery life discussions and maximization for the Galaxy Nexus.
(I am not an engineer, so if any of you out there would like to tighten the language used here, please let me know).
What are the important values in battery/calibration?
1. mV = voltage
2. mAh = milliamp hours, a measure of capacity. This is how much 'juice' your battery has left/stored.
3. mA = milliamps, a measure of current. This is how much 'battery power' your phone is drawing/using at a set time. GPS/bright screen means large mA usage.
Apparently, Samsung (and Motorola phones) do NOT have mA readings in their battery drivers. This poses a problem. Apps that measure current (such as the excellent and free "current widget") cannot give a readout.
How is the battery life % calculated?
Present mAh / "full" capacity mAh (more on "full" later)
When does a phone shut down?
1. When mAh = 0
OR
2. When mV < 3416, which is coded on the battery as the "empty voltage"
Whichever occurs first.
If mAh = 0, then batt % = 0. However if condition 2 occurs, batt % could be anything.
I have found the empty voltage on the GNex to be the same, 3416 mV.
I have found the maximum voltage on the stock GSM battery to be 4197 mV.
Through experimentation, it was found that reprogramming the "empty voltage" down to 3201mv could provide extended battery life. The voltage was found to drop very quickly any lower than that, providing minimal gain afterwards.
What is the full capacity of a battery?
On the N1 battery, it is coded into a chip on the battery itself. This can be reprogrammed with the calibration utility. The stock value was ~1400mah. This is called the Full40 value (the mAh at 40oC). A value called "battery age %" is used to adjust how close the real capacity is to the full, which decreases with use and age. By multiplying (batt age * full40), you get the real assigned capacity.
Some non-OEM batteries, however, had miscoded capacities, usually LOWER than what was advertised. This led to very disappointed users who had purchased extended batteries that lasted no longer than stock, due to wrong mAh coding. (See below how this could be corrected).
Other low-end crappy non-OEM batteries had a crap chip which was coded with nonsensical values. This also led to unreliable battery life. These chips were not reprogrammable.
The very interesting thing is whenever the battery thinks it was completely charged, the mAh becomes SET to this number. mAh is NOT an independent value. Also, you could set it whatever you wanted, whenever you wanted, whether it was accurate or not. % battery left was basically calculated as present mAh / (full40 mAh*batt age). So you could get false values of either too little or too much battery left.
Why does this matter? If that was falsely low, the phone would cut out at 0% battery life, but you would still have usable battery left. If it was falsely high, it would cut out at 10% or whatever, since voltage would hit 3416 faster than mAh hit 0.
How does the battery know/think it is full?
When connected to a charger, the phone draws +mA. It can start around 1000mA (depending on the charger), and drops as the battery becomes more and more charged.
Another coded value, the "minimum charge current," tells the battery when to stop drawing current. This is set at default to +80mA.
Another coded value, the "minimum charge voltage," tells the battery that as long as the voltage is less than this #, it should continue to charge. At default, this is 4099mV.
An important concept is that once the charge amperage drops below minimum charge current (and the voltage is > the minimum charge voltage), the battery thinks it is done. Again, that state becomes 100%. Again, the capacity mAh is SET to the full capacity, no matter what is at that time. The actual mAh doesn't matter--it BECOMES whatever is coded as the (age % * full capacity).
As with other values in the battery chip, minimum charge current can be changed. It can be made to 40mA, or 20mA, or whatever you wish. By doing this, the battery will continue to draw current, and thus charge more and longer, until the minimum charge current is met.
Speaking of charging amperage, this can be an issue when using a non-OEM crap car charger when using your smartphone as a GPS. If the DC adapter is NOT truly giving 1A, the phone will use more current than it is receiving, and the battery will continue to LOSE current despite being hooked to a charger. Upgrade your car DC adapter! They are not all made the same.
How does 'bump' charging relate to all this?
Bump charging is essentially a way to trick the battery to continue charging despite the current draw being < the minimum charge current.
There is a problem with this "full" battery detection method:
If you draw enough current from the battery, while it is charging, after the minimum charge volt is reached, you can PREMATURELY fool the battery into thinking it is done.
Say the charging mA is at +200mA. If you turn on your smartphone, start GPS, turn the lights on, stream Pandora, etc., the mA will easily drop from +200 to a lesser value, negative even. The phone will think the charge is complete, since it is <80ma. THAT state becomes 100%, because the mAh get set to full capacity. Falsely.
However, this should only happen when the charge is ~90% or greater (when mv >4099). So, it may not play a huge significant role in battery time, basically missing out on 10% or so of battery life. Also, at the next recharge cycle, provided you don't fool it again, the mAh will be RESET to the more appropriate designated value.
If mAh can be set to whatever value whenever, how do we get it PROPERLY set/calibrated?
There are 2 times when mAh is automatically set. Upon draining the battery to empty (3416mv by default, 3201 preferably), when the phone shuts down, the mAh will be properly set = 0. This is good. We want mAh = 0 when mV = empty voltage.
The other time is when the battery thinks it's full, when minimum charge current is met--this is often not accurately set, not good.
If we start charging when the battery is empty, the mAh rises as the battery is charged. However, the MAXIMUM mAh needs to be watched. The mAh could be HIGHER than the programmed full mAh. Or far lower. Finding this maximum mAh, and reprogramming the battery accordingly, is the key.
Once again, when the battery hits the minimum charge current, the mAh will either jump up to the set battery capacity value (so the battery will die sooner than expected), or less commonly, drop down.
The goal is to get an accurate mAh capacity of the battery, for the voltage range between min + max, and have this set every time the battery is charged to capacity.
If we know the maximum mAh the battery reaches when charging, provided it started from 0, we want to reprogram the battery so that this value is set each time it completes charge.
There is a "learn mode" on the Nexus battery. Provided this was activated, through a series of very specific events, the battery would give itself a "battery age %". This is used to give the accurate (battery age % * full40) = true capacity. On the Nexus, the default battery age was 94%. So, mAh was set at every full charge to 94% of the full40 capacity. Obviously, this is not true for every battery forever.
Once again, why errors can and do occur:
mAh and mV are not directly linked. If mA falls to 0, or mV is less than the cutoff empty voltage, the phone will shutdown, even if the other value is still sufficient.
1. mAh is falsely high. The battery won't last as long as we think it will. Battery % is falsely high. Phone won't get to 0%.
2. mAh is falsely low. The voltage is adequate, but the mAh isn't correct. The battery % is falsely low. Phone gets to 0% too quickly. Perceived loss of battery life duration.
Why use mAh at all? Seems like mV is the only important thing?
I don't know. Why is mAh capacity important in telling the phone to shutdown? Someone enlighten me.
I think one reason is that voltage can and does fluctuate up. So using this to calculate battery % life would be extremely erratic and confusing.
What does this teach us, overall?
I'd have thought there would be much better technology built into battery calibration. Seriously. This is one big mess of poor design.
This is a bunch of technical mumbo jumbo. How does this help me?
On the N1, you can give yourself more battery life!
1. Set your 'empty voltage' lower
2. Set your minimum charge current lower
3. Calibrate the maximum mAh to a higher value to accomodate the new 'empty voltage' and 'minimum charge current' values
4. Don't play with the phone too much when it is >90% charging or it will prematurely end its charge cycle, give you a falsely higher charge %, resulting in the battery dying before you think it should.
5. Profit.
(On an extended 3200mAh battery from Seideo, after lowering the empty voltage and minimum charge current, I found >3900mAh (!) as my new maximum mAh. That's a heck of a lot of free juice).
On other phones? I'm hoping real programmers here can figure out how to do the same.
So, for the Nexus One, there is ABSOLUTELY NO correlation between battery calibration and the battery stats file. NONE. The values on the battery chip determine everything.
So, please comment on how battery calibration tech has changed over the past 2 Nexus generations. If it has.
ADDENDUM:
RogerPodacter, the xda guru/user who was instrumental in creating the N1 battery calibration app, has been looking into the GNex battery quite intently.
I just stumbled across some useful info about our battery fuel gauge from the sgs2 forum. Basically the result is there is not much we can do with our fuel gauge. But they do talk about how to truly calibrate it. And they discuss the improved version max17042 which is used on tbe sgs2 and has all the bells and whistles.
Heres the topic.
http://forum.xda-developers.com/show....php?t=1312273
Click to expand...
Click to collapse
(If you found this info useful, please click the THANKS button!)
Somebody is looking at this already. That same somebody who made the nexus one battery app. This chip doesnt supply amperage either. After i told him my battery seems to only charge to about 4.15v and that on discharging/charging my voltage is everwhere so it is hard to ascertain how accurate my % is. He finally got a chance to look over some stuff and we both think the nexus only allows charging to 4.15v. And. I think the battery shutdowns at 3.6v this go around. From initial observation he led me to believe everyrhing seems to be fine and we might not be able to do much. He might be able to get 4.2v and 3.4v for the voltage cycle. This is partly my speculation but we did agree that samsung may have done this intentionally for longevity of the battery. We will have to wait and see because he is still tinkering with his phone and deciding how to initially proceed. Might be a few days though. I am getting the extended battery soon so i would like to see what changes there are from the 250mah difference.
Sent from my Galaxy Nexus using xda premium
To gleam is to shine or sparkle... to glean is to learn or become knowledgeable about.
FrayAdjacent said:
To gleam is to shine or sparkle... to glean is to learn or become knowledgeable about.
Click to expand...
Click to collapse
..wow, just wow.
To the OP thank you for all this compiled information.
Sent from my Galaxy Nexus using XDA App
FrayAdjacent said:
To gleam is to shine or sparkle... to glean is to learn or become knowledgeable about.
Click to expand...
Click to collapse
I thought the same thing but possible typo. N and m are next to each other. But if op ends up giving us something tangible positively foe the nexus he will have gleamed. Lol.
Sent from my Galaxy Nexus using xda premium
Agggh. I suppose gleam could be appropriate here. But yes, glean was the original intent.
Due to my grammar OCD-ness, it has been edited. =P
@rbiter said:
Somebody is looking at this already. That same somebody who made the nexus one battery app. This chip doesnt supply amperage either. After i told him my battery seems to only charge to about 4.15v and that on discharging/charging my voltage is everwhere so it is hard to ascertain how accurate my % is. He finally got a chance to look over some stuff and we both think the nexus only allows charging to 4.15v. And. I think the battery shutdowns at 3.6v this go around. From initial observation he led me to believe everyrhing seems to be fine and we might not be able to do much. He might be able to get 4.2v and 3.4v for the voltage cycle. This is partly my speculation but we did agree that samsung may have done this intentionally for longevity of the battery. We will have to wait and see because he is still tinkering with his phone and deciding how to initially proceed. Might be a few days though. I am getting the extended battery soon so i would like to see what changes there are from the 250mah difference.
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Great to hear! Is that on this forum or rootzwiki, or a private communication?
I have noticed that shut down is usually at 3.6 or so. I drained it completely one time with multiple reboot attempts, and I got battery monitor widget to log a 3.417 or so that ONE time, but yes, the battery prefers to quit more around 3.6.
Battery monitor widget outputs an 'estimated' mA, but that's the closest thing I could find.
Wow you brought up the nexus one battery project. I was actually the one who re-wrote that battery driver for the n1 linked in the thread in the first post. Then I wrote the apk with dvghl. I even got my altered battery driver officially merged into the cyan kernel repo for the n1.
Anyway my point is that I learned an ENORMOUS amount about how these fuel gauge chips work, specifically the ds2784 chip in the n1. The bad news is our galaxy nexus chip max17040 doesn't have all the cool features that I cracked open on the ds2784 chip. But still worth trying a few things. Specifically I'm curious what the rcomp register does in our battery driver.
Also the other bad news is our galaxy nexus max17040 cannot give current mA readings. It can only be estimated using battery monitor widget for example.
Unfortunately we don't have a learn mode or age register like we did in the n1, so we can't get too deep into the chip like we did in that project. Kinda unfortunate. Seems the max17040 only has about 7 memory registers, where the n1 ds2784 had about 30 or so registers we could hack into and tweak.
RogerP, so good to see you here! Hope my summary gave some hint as to the enormous amount of effort your project took, and the huge leap in battery charging knowledge it provided.
waylo said:
RogerP, so good to see you here! Hope my summary gave some hint as to the enormous amount of effort your project took, and the huge leap in battery charging knowledge it provided.
Click to expand...
Click to collapse
Hey man, you did a near perfect job with the write up. That project was a one of a kind opportunity in the sense that the ds2784 chip, and the tech sheet and hacks we did, all lined up to be the perfect storm of what we can learn and do with these batteries. So much knowledge was extracted from that effort.
The bad news is that Samsung phones don't typically use the ds2XXX fuel gauge chips, instead they use max1704X chips. These chips use voltage to determine SOC along with their "secret" algorithm that they don't publish. In the end there isn't as much ability to do anything with our fuel gauge like we did with the n1. There are 7 registers or so, SOC, mode, volt, rcomp, but no current and no mAh. The rcomp is the one I was curious about tweaking.
This weekend I was thinking of setting up Ubuntu build environment and attempting to play arount with this new driver and see if we can learn anything more. I'm sure there are more capable devs who maybe already know about this fuel gauge cause the nexus s and other Samsung phones use similar chip. It'd be another fun project if so!
Thanks OP. Very helpful.
Glad to spread the word!
Don't forget to click the THANKS button if I helped!
thanks!! helps alot more knowledgeable now about batteries
I bought the spare battery kit that comes with an external charger. I run my battery to near empty or empty then swap it out. Do the external chargers behave the same way?
Sent from my Galaxy Nexus using Tapatalk
Very happy to see the same crew from the N1 battery calibration days on the GN. I was pretty disappointed when I got the NS and there was little discussion or attention given to the battery at such a detailed level. By the time I picked up the GN I had mostly accepted that the N1 situation and battery related dev/testing/discussion was unique in that it was both possible to tinker with and we had some dedicated fellas, especially you RP, that were willing/able to tackle the task.
As with the N1 battery testing, I'm all in to test and help whenever possible to break some ground with the GN.
This topic made me reminisce about my old N1, wish I hadn't sold it on eBay. I sold it to a Canadian, cost me a bloody fortune to ship to him bc of restrictions on amount of lithium cells/customs regulations. The guy was probably wondering if he bought it from some nut job when it arrived with like 7 batteries of many different manufacture/capacity and spare battery chargers. I half expect that US/CAN Customs put me on some kind of list when they inspected the shipment.
ellesshoo said:
As with the N1 battery testing, I'm all in to test and help whenever possible to break some ground with the GN.
Click to expand...
Click to collapse
I'd also be willing to contribute to these efforts.
Sent from my Galaxy Nexus using Tapatalk
deekjx said:
I bought the spare battery kit that comes with an external charger. I run my battery to near empty or empty then swap it out. Do the external chargers behave the same way?
Click to expand...
Click to collapse
That's an excellent question I don't know the answer to. I'm not sure what kind of charging algorithm the external chargers would use, except to stop charging once the current reaches a certain low level.
As RogerP described above, most of the GNex battery algorithms are a mystery at this point, with some proprietary methods that won't ever be voluntarily revealed =P.
There is probably not a whole lot that can be done with the nexus battery. Yall gotta remember there was a bugnor bad programming revealed and that is why so much time was devoted to that. Roger already found that the battery stops around 4.15 volts. Changing it 4.2 will not make a big difference here and im sure it is intentional to extend charging cycles.
My grandma beat me down and took my nexus. Sent from a jitterbug with beats by dre.
well i dont think this project is "dead". i still plan to compile a kernel with a few batt driver tweaks and see if we can extract what the "rcomp" register is, what values it contains, and if we can tweak it at all. same with the "mode" register. also if you guys browse the source, there is a different driver called max10742 and it has all the extra options including "age". if only samsung had given us that one.
the other thing i want to do, or someone here could do, is map the voltage readings to the batt percentages. we did this way back in the beginning on the n1, except we mapped percentage vs mAh. but here we dont have mAh readings, only volts. what we can learn from this is if the percentage is calculated precisely from the voltage, how linear the mapping is, or if it's loosely estimated based on their modelgauge algorithm or whatever they call it at maxim.
i think it would be easy to just use battery monitor widget and export a full day's worth of your logs. maybe i'll install it and give it a shot.
I already have weeks of mv vs. batt % if you need that, specifically from battery monitor widget.
Graph 1: All data from the start. 5000 data points.
Graph 2: ~600 data points, starting from after I ran the battery down to 0 completely, plugged in with phone off, and charged to 100%.
Not sure why all the data gives 2 distinctly different patterns. The lower data plots seems more favorable, with higher % at lower mV.

Thoughts on article

This is a bit of reading but if you have the time it's worth it. Basically what it's showing is deep sleep doesn't save battery power, neither do lower voltages. There's a trove of information in this post and the spreadsheet.
If I understand amps, watts, and voltage correctly it makes sense that lower voltages would do nothing to save battery since wattage is what really drains a battery. Not saying we should all go and crank up the voltage in our kernels carelessly, that still creates problems but if your device is having stability issues then try upping the voltage a bit. It seems it won't effect battery life.
The post
The spreadsheet
I take no credit for the research or anything to do with it. Just merely reposting it here for you to read.
That doesn't make much sense to me. Watts is voltage x amperage. The only explanation I can think of to back that up is that maybe our processors pull more amps if we lower the voltage to make up for it.
Sent from my SPH-D710 using XDA App
That's a possibility. So maybe the phone is demanding a higher flow of the current per unit of time since the current itself doesn't have enough 'pressure'. Either way, the results are showing something interesting going on that negates the usefulness of lower voltages.
Basic Electricity.
Direct Current:
Amperage does not change in Volts DC, no matter what it should remain the same at every component in a device.
I*E=W (Amps * Voltage = Watts).
Alternating Current
Voltage does not change in Volts AC, no matter what it should remain the same at every component of a device.
I*E=W
So the only way to decrease Watts in real life is to decrease Volts DC, or Amps in AC.
The only other thing that may help decrease power consumption is heat and transmission delays.
Reference:
Check out this web page... I love HowStuffWorks!!!
http://computer.howstuffworks.com/question307.htm
I question the Advanced Electronics of a ARM proccessor. Maybe when we are talking GHz (Frequency) we may be talking about a controlled AC signal. In this case, we may have to change our view of basic electronics by looking at a fixed Voltage (Voltage does not change) but Amperage can be changed. By this I mean no matter what change in voltage we try to apply through software, the hardware does not allow us to change it due to physics or basic OHM's law for AC circuits. That would be the only reason I could see for under-clocking not affecting power consumption.
I am not sure of what goes on electrically in our phones so can only read, research and take an educated guess. I may be wrong. BTW I don't have battery problems so I don't really care about them at the moment.... but who knows in the future. I do love electronics though, so if someone does know more about this topic, I would love to understand more about how ARM processors electronically work.
I am an electrical engineer, and putting any device in a low power "sleep" mode where only a "lookout" stays awake so that it can wake everything else up as needed saves power and therefore increases battery. The article is wrong. That is all.
Sent from my SPH-D710 using Tapatalk
kingsway8605 said:
I am an electrical engineer, and putting any device in a low power "sleep" mode where only a "lookout" stays awake so that it can wake everything else up as needed saves power and therefore increases battery. The article is wrong. That is all.
Sent from my SPH-D710 using Tapatalk
Click to expand...
Click to collapse
AGREED MY BROTHERIN
Sent From My Epic Touch 3g
So is the testing method wrong or are the results wrong, or both? Not disagreeing with you, I'd just like to know since it all seems pretty legit and there was a decent amount of time put into the testing.
I understand the point of deep sleep but if the processor is still on, isn't it still going to pull the same current regardless? According to the results it's pulling the same current regardless of the actual voltage so wouldn't the same be true for deep sleep?
EDIT: Just to add to that. Our phones are never really 'asleep'. There is no true sleep mode given the fact that there's always something going on in the background under normal conditions. Updates, push notifications, sync notifications, communication between the towers/wifi and our baseband, logging, apps doing things. To me that doesn't sound like a sleep mode - at least not the same as what I think about when I put my computer to sleep. The only thing a computer does in sleep mode is wait for your input or for wake timers.
KCRic said:
That's a possibility. So maybe the phone is demanding a higher flow of the current per unit of time since the current itself doesn't have enough 'pressure'. Either way, the results are showing something interesting going on that negates the usefulness of lower voltages.
Click to expand...
Click to collapse
I have privately asked this question several times. Does the phone have to work harder in certain instances when voltage is lower therefore bumping up to the next frequency? I gave never undervolt. I tried it undervolting by -25 on my OG Epic and my phone didn't like it and I haven't tried it since. Just thinking out loud...edit...big thanks to odub for my custom script!!
Sent from my Nexus S 4G using xda premium

2 different chargers and 2 different battery life???

So I have the wireless charging mod and I have several wireless chargers “All the same brand and model” I mostly only use two. The one beside my bed and the one at work. I know this is going to sound crazy but when I use the charger beside my bed and charge to %100 the battery life is not nearly as long. It is enough to be VERY noticeable I have tested and compared like 6 times. Charging on both to 100% and just let the phone sit for an hour and when it is charged by the one beside my bed it drains about 20% faster. Can a charger effect battery life in this way????
Based on my experiences... yes!
enetec said:
Based on my experiences... yes!
Click to expand...
Click to collapse
I've never had that happen till now. I wonder if that particular charger is going bad or something
X_man. said:
I've never had that happen till now. I wonder if that particular charger is going bad or something
Click to expand...
Click to collapse
Experiment... swap the chargers? bring the work one home and vice versa? maybe different mains or "dirty mains" could be the culprit? see if the issue follows the charger or area?
Uzephi said:
Experiment... swap the chargers? bring the work one home and vice versa? maybe different mains or "dirty mains" could be the culprit? see if the issue follows the charger or area?
Click to expand...
Click to collapse
Great idea! I'll do that next week and post what happens.
X_man. said:
Great idea! I'll do that next week and post what happens.
Click to expand...
Click to collapse
Any time. I personally ran into that. It wasn't 20% more like 5% (average 3hr drain on my old Rezound was 2hrs and 45mins when charged from work. It was due to ingress on my work's lines that wasn't there at home. We had little oddities with some PC's until we found the UPS for our server was causing noise on our circuits).
This is absolutely normal. I build custom vape systems, some on li-poly Batts, some on li-ion. In both cases, charge rate -can- drastically affect charge effectiveness.
Most of this in your case likely has to do with thermal reads. Remember, not only is your phone and charger loaded with chips to be smart and safe about the charge, the battery (and sometimes individual cells within it) are also microchipped. Wireless charging creates a lot of heat. Should any one of the three components recognize this heat as excessive, the voltage will drop. I _believe_ this is most relevant during the end of "saturation" phase during charging, because if the battery says "no" during this phase, or anytime after (during completion/final) , the charger's subsequent "topping-charge" will also be denied. This kind of results in cycle of the charger saying "take it!" , The battery saying "no", dropping the voltage, the charger seeing the drop and expecting it to need a top-off and immediately trying to push again, repeat. The reason you're seeing the difference is because the charger is getting it's numbers from current output from the battery. The battery can drop down to zero current when overheated to prevent thermal rail? From occurring, which the charger then translates " 0 current must mean full".
That's one part of the difference, and not necessarily what is occurring... The other part has to do with manufacturing intent. Most USB 3.1/c power supplies are actually pushing out the maximum amperage and thus has a huge stage-1 charging state, with a minimum stage-2 (saturation) charging state. This basically translates into , your charger and phone are both lying when you rapid charge.
I'm sure I'm missing some facets or misrepresenting them here as I can't remember all the damn physics, but short story is: for absolute saturation, battery life, battery runtime, and safety... Charge at the same rate as battery discharge.
Edit: also what Uzephi mentioned about dirty power is also relevant. When power factors are not near 1.0 (1:1, meaning everything drawn is used, and everything requested is given), bad sh*t happens. This actually relates to the physical wave (sinusoidal) of electricity. All the anomalies are probably listed somewhere by some physicist, but suffice to say, there's a lot of possibilities, none of them "good" when out-of-phase power factors occur. This is why sensitive equipment almost always gets run through a power conditioner. The more sensitive and volatile the system, the more aggressive the conditioner needs to be (hence massive amplifiers for sound systems like the ones I use in my work need $200 glorified power strips).
Some_Donkus said:
This is absolutely normal. I build custom vape systems, some on li-poly Batts, some on li-ion. In both cases, charge rate -can- drastically affect charge effectiveness.
Most of this in your case likely has to do with thermal reads. Remember, not only is your phone and charger loaded with chips to be smart and safe about the charge, the battery (and sometimes individual cells within it) are also microchipped. Wireless charging creates a lot of heat. Should any one of the three components recognize this heat as excessive, the voltage will drop. I _believe_ this is most relevant during the end of "saturation" phase during charging, because if the battery says "no" during this phase, or anytime after (during completion/final) , the charger's subsequent "topping-charge" will also be denied. This kind of results in cycle of the charger saying "take it!" , The battery saying "no", dropping the voltage, the charger seeing the drop and expecting it to need a top-off and immediately trying to push again, repeat. The reason you're seeing the difference is because the charger is getting it's numbers from current output from the battery. The battery can drop down to zero current when overheated to prevent thermal rail? From occurring, which the charger then translates " 0 current must mean full".
That's one part of the difference, and not necessarily what is occurring... The other part has to do with manufacturing intent. Most USB 3.1/c power supplies are actually pushing out the maximum amperage and thus has a huge stage-1 charging state, with a minimum stage-2 (saturation) charging state. This basically translates into , your charger and phone are both lying when you rapid charge.
I'm sure I'm missing some facets or misrepresenting them here as I can't remember all the damn physics, but short story is: for absolute saturation, battery life, battery runtime, and safety... Charge at the same rate as battery discharge.
Edit: also what Uzephi mentioned about dirty power is also relevant. When power factors are not near 1.0 (1:1, meaning everything drawn is used, and everything requested is given), bad sh*t happens. This actually relates to the physical wave (sinusoidal) of electricity. All the anomalies are probably listed somewhere by some physicist, but suffice to say, there's a lot of possibilities, none of them "good" when out-of-phase power factors occur. This is why sensitive equipment almost always gets run through a power conditioner. The more sensitive and volatile the system, the more aggressive the conditioner needs to be (hence massive amplifiers for sound systems like the ones I use in my work need $200 glorified power strips).
Click to expand...
Click to collapse
Some very good points! Doesn't seem quite as strange now LOL Thanks!
@Some_Donkus than for your complete explanation...
I've found even "about same rate" chargers (measured on phones...) often differs in heating battery: on my old Moto Z, the OnePlus X charger and the Samsung Galaxy Tab one both charged my phone (quite fast...), BUT the first heated it A LOT more, while the second hot A LOT itself!!
I think it's related to components quality too...
What I don't undestand well is why the Incipio MotoMod battery, which charge the phone at quite low rate, is able to heat it more than fast chargers....!?!?
enetec said:
@Some_Donkus than for your complete explanation...
I've found even "about same rate" chargers (measured on phones...) often differs in heating battery: on my old Moto Z, the OnePlus X charger and the Samsung Galaxy Tab one both charged my phone (quite fast...), BUT the first heated it A LOT more, while the second hot A LOT itself!!
I think it's related to components quality too...
What I don't undestand well is why the Incipio MotoMod battery, which charge the phone at quite low rate, is able to heat it more than fast chargers....!?!?
Click to expand...
Click to collapse
Without knowing the specific charge voltage and stage setup of the individual batteries it's tough to speculate. One thing that comes in mind relates back to the power factors I was speaking of. It might actually be a high quality device that just has a lot of extra MOSFET + capacitors built in. These are used in order to "clean and manage" power on the fly. Capacitors are used to provide extra little bumps of discharge / supply when the battery cells themselves can't necessarily output enough mA/amp in a peak. MOSFETs do the opposite, providing a safe gateway for extra unused power either coming into the device from the battery, or from outside power to charging battery...
Both of these little guys basically are giant heat retainers (MOSFETs actually usually have heatsinks pasted to them, even the micro sized ones used in small devices)....
Just a thought.
Some_Donkus said:
...
Just a thought.
Click to expand...
Click to collapse
Well, it surely could be but two weird things still happen with Incipio battery MOD (and, they say, NOT with the new Turbo Power which do fast charging instead! ):
- the overheat seems to be coming from the phone and not from the battery MOD...
- the Incipio battery MOD I have adds wireless charging too to the phone. What it's weird is that wireless charging phone (by the same rear connector on the phone) seems to overheat it less than using battery to charge it... (and battery charge rate is a bit lower...).
I think it could be related from the fact that battery MOD has probably to raise his voltage to charge phone... but strangely this overheats more phone than battery...!
enetec said:
Well, it surely could be but two weird things still happen with Incipio battery MOD (and, they say, NOT with the new Turbo Power which do fast charging instead! ):
- the overheat seems to be coming from the phone and not from the battery MOD...
- the Incipio battery MOD I have adds wireless charging too to the phone. What it's weird is that wireless charging phone (by the same rear connector on the phone) seems to overheat it less than using battery to charge it... (and battery charge rate is a bit lower...).
I think it could be related from the fact that battery MOD has probably to raise his voltage to charge phone... but strangely this overheats more phone than battery...!
Click to expand...
Click to collapse
Ohhh, I see what you're saying...
Okay well, from what I understand, the Incipio Wireless mod actually charges the phone's battery first, THEN the pack within the mod. By default, magnetic induction (wireless charging method) actually will charge everything and anything within the field simultaneously.. but.. what I assume the incipio mod does is this....
Wireless charger sends out induction wave > (Induction wave charges both internal battery and mod for a moment) > Incipio mod get's a mV current reading from phone's internal battery > If internal phone battery mV current is ≠ 0, Incipio mod uses MOSFET's to gate-drain incoming charge from wireless for X amount of time (and possibly send charge to internal battery via connectors) + > induction wave continues to charge internal phone battery > Incipio takes another mV current reading from phone battery to see if it's full >>>
Cycle continues until Incipio gets mV current reading = 0, at which point it stops using gate-drains and accepts induction wave charge.
^^^ -IF- that's accurate, then it would mean that the Incipio mod is passing it's charge into the phone battery (received from induction wave) at the same time that the internal phone battery is receiving the induction wave from pad... So that internal battery is receiving a shiz-load of joose quickly...
again, pure speculation.... but it would make sense...

Way to control charging rate through EX kernel?

I've switched to ElementalX kernel for a few reasons, including the hopes that it had a way to control the charging amperage, but so far the closest I've gotten was tricking my device into thinking it was getting a different current. I've been looking in /sys/class/power_supply, but for all I know it's just not possible with this kernel. Any help is appreciated!
May i know why you need to control charging rate?
The feature of this phone that I hate the most is the hard to remove battery, cause I don't need the water proofing, making the extra cost to replace it pointless. Otherwise the phone is perfect for me! I want to minimize wear on it by charging it at a optimal rate with *all* things considered. As ridiculous as it is, I don't even mind being tethered to a power bank in my pocket half the time. I am also aware that a trickle charge was found to potentially cause extra wear on the battery, though I've never found what exactly constitutes as "trickle charge", so I guessed that it's about 100 milliamps or less.
Without going too far into opinions, that's my entire reasoning and some of my knowledge.
Not possible through kernel manager. However, there are several ways of doing this. There are a couple of Magisk modules but I personally have yet to test them. And there is a way with Tasker. This is what I use and works for me. At first, it wasn't working after applying and rebooting and left it alone which then, after several days, I notice it was charging just up to 80 like said in the OP. Here is the link. Good luck.
https://forum.xda-developers.com/pixel-xl/how-to/guide-limit-battery-charge-level-tasker-t3668059
I don't use Tasker, but I'll figure out how to apply this method's code in Automate

Categories

Resources