- Forum posts: 1
Apr 22, 2018, 9:41:16 PM via Website
Apr 22, 2018 9:41:16 PM via Website
Hey Guys,
I have tried several apps to improve battery life but I did not find a useful solution... Until now!
The problem of Li-Ion batteries is the faster aging when applying a high voltage in combination with high temperatures
The offered solution of many apps is to stop charging when reaching a certain percentage of the full capacity (i.e. 90%) This solution may extend the battery life but not really effective... Why? When charging, the voltage of the battery near the defined percentage is very high (in my case 4.35V). In case of applying a high temperature in combination with the mentioned high voltage the battery life will be drastically shortened!
The state of charge (image from Silicon Lightworks)
curve shows that there is not much energy needed to get from 4.2V to 4.35V. So it is useless to charge the batteries to the end to get 100% unless your battery life does not affect you. If you want to read more about the technology of Li-Ion batteries, don't hesitate!
Here is my solution:
Set the limit of the CHARGE TERMINATION VOLTAGE and NOT the maximum percentage of charge. The charge percentage is the percentage of your full capacity measured in mAh. The charge termination voltage you can look up in the picture above (SoC curve).
How to set this limit?
First you need root access. Without root you don't get access to system relevant features.
There is a folder named
/sys/class/power_supply/battery/
and there you can find some meta data about your battery. The file "voltage_max" is the file you have to edit. In my case this file contains a default value of "4350". This value is the charge termination voltage in mV. I have rewritten this file with the value "4200". So the battery never sees a higher voltage than 4.2V. You can check this with many apps like CPU-Z. My system shows a percentage of 89% when reaching 4.2V and the charging progress is complete. This solution is a much better solution than cutting off the pure percentage. The reason I have written in the first sentences.
But what happens if you restart your phone?
The default value will be reloaded So after every restart of your phone you must edit the file again... Very bad... But there is an automatic solution!
Install the app "Tasker" and do the following:
Add a profile by pressing the "+" button in the bottom right corner. Choose "state" and then choose "power" and again "power". Now you have to specify the source of power supply. Chosse "Any" and press the back button.
Add a new task and name it like you want (i.e. "set4200"). Confirm your task name.
Click on the "+" button in the bottom right corner to choose an action. Press on "Code" and then "Run shell". Check field "Use root" and put the following line in the "command" entry:
echo '4200' > /sys/class/power_supply/battery/voltage_max
Press the back button as often as you see the your defined profile. That's it! You now have defined an action to rewrite the mentioned file with a new value in any case you put a cable into your phone to charge it!
Extend your battery lives!
Greets,
matt
— modified on Apr 22, 2018, 9:51:04 PM