Battery Questions and Answers

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Does it mean if i leave my phone plugged it will eventually fully discharge the battery?)
(That bq27000 chip seems to be pretty cool, how can i read and understand its raw registers?: added mirror location that also has further goodies)
 
(23 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
NB: Some of the described behaviour depends on the kernel, the
 
NB: Some of the described behaviour depends on the kernel, the
relevant code was pushed on 02 Aug to andy-tracking
+
relevant code was pushed on 2009-08-02 to andy-tracking. Some older kernel versions may have quite nasty hacks ('reenabling MBC though battery reports full') that seriously wreck your battery within months.
 +
 
 +
 
 +
== Battery care and safety guidelines ==
 +
 
 +
=== How can I break my battery? ===
 +
To successfully kill your LiIon battery without applying brute force, you simply may disobey any of the following advices:
 +
 
 +
==== Temperature ====
 +
Never expose or let warm up battery to high temperatures. 70°C might be a limit for safe operation, and >100°C most likely is a killer for the cell. This is especially true during charge/discharge.
 +
 
 +
==== Drop ====
 +
Never let the battery drop on a hard surface or by any other means expose to hard impact.
 +
 
 +
==== Wrong storage ====
 +
LiIon cells don't like to be kept at any extreme for a prolonged time. So *never* store away your device with battery inserted, for a period longer than a few days. Charge battery to a reasonable level prior to extended periods of no usage.
 +
Do not store battery in charger, as this may cause a permanent charging level of 100% which is as deteriorating to the LiIon cell chemistry as is storage at 0%. Keeping battery in Neo which is powered by external source is safe though, even for months, as the Neo's PMU charger circuit takes care to treat the battery nicely.
 +
 
 +
Also see [http://wiki.openmoko.org/wiki/Battery_Questions_and_Answers#I_have_several_compatible_batteries._What_are_the_storage_requirements_for_them.3F Storage]
  
  
Line 6: Line 24:
  
 
=== What batteries can be used with gta01 and gta02? ===
 
=== What batteries can be used with gta01 and gta02? ===
Original OM gta01, gta02, Nokia BL-5C, BL-6C and compatibles.
+
Original OM gta01, [[Neo FreeRunner Battery|gta02]], Nokia [http://europe.nokia.com/find-products/accessories/all-accessories/power/batteries/nokia-battery-bl-5c BL-5C], [http://europe.nokia.com/find-products/accessories/all-accessories/power/batteries/nokia-battery-bl-6c BL-6C] and compatibles.
  
 
=== Do other BL-5/6C compatible batteries fit? ===
 
=== Do other BL-5/6C compatible batteries fit? ===
 
If the battery is thicker than BL-6C, you won't be able to close
 
If the battery is thicker than BL-6C, you won't be able to close
the back cover.
+
the back cover. Nokia's BL-4C is a bit thinner than the BL-5C so it also fits, but has noticeably shorter battery life.
  
 
=== What is the difference between all those types? ===
 
=== What is the difference between all those types? ===
Line 18: Line 36:
 
| gta01, gta02 || 1200 mAh
 
| gta01, gta02 || 1200 mAh
 
|-
 
|-
| BL-5C old (newer/new) || 850 (970/1050) mAh
+
| BL-4C old (new)      || 720 (860) mAh
 +
|-
 +
| BL-5C old (newer/new) || 850 (970/1020) mAh
 
|-  
 
|-  
 
| BL-6C || 1150 mAh
 
| BL-6C || 1150 mAh
Line 34: Line 54:
 
gta02 - accurate and sophisticated reporting of capacity,
 
gta02 - accurate and sophisticated reporting of capacity,
 
time_to_full, time_to_empty, temperature and battery current during
 
time_to_full, time_to_empty, temperature and battery current during
both charge and discharge thanks to bq27000 (aka Coloumb Counter)
+
both charge and discharge thanks to bq27000 (aka [http://de.wikipedia.org/wiki/Coulomb Coulomb] Counter). More details at [[Neo FreeRunner Battery]].
  
 
=== What are hardware capabilities of gta01 and gta02 with regard to battery management? ===
 
=== What are hardware capabilities of gta01 and gta02 with regard to battery management? ===
Line 54: Line 74:
 
on a cold (25C) battery is 75k, on a slightly warm battery - 82k) from
 
on a cold (25C) battery is 75k, on a slightly warm battery - 82k) from
 
it to the ground (to fake a thermistor presence).
 
it to the ground (to fake a thermistor presence).
 
Please note this is an insecure charging, Li-ion cells become unstable and often will burn violently when overcharged. An built-in thermistor is a indispensable safety device. Do not fake it to make your phone charge your Li-ion cell.
 
  
 
=== Can third-party chargers charge gta01/gta02 batteries? ===
 
=== Can third-party chargers charge gta01/gta02 batteries? ===
Line 65: Line 83:
 
=== I have several compatible batteries. What are the storage requirements for them? ===
 
=== I have several compatible batteries. What are the storage requirements for them? ===
  
Keep in a dry cool place charged to no more than 75%.
+
Keep in a dry cool place charged to no more than 75% and NEVER under 25%. Check every 3 months and recharge when due, cells will self-discharge over time and once they reach 0% level they are dead within weeks!
  
 
=== That bq27000 chip seems to be pretty cool, how can i read and understand its raw registers? ===
 
=== That bq27000 chip seems to be pretty cool, how can i read and understand its raw registers? ===
  
[[User:jOERG|DocScrutinizer]] to the rescue! Here's his magic script to do that: [http://people.openmoko.org/joerg/battery/bq27k-detail].
+
[[User:jOERG|DocScrutinizer]] to the rescue! Here's his magic script to do that: [http://people.openmoko.org/joerg/battery/bq27k-detail2]. Also see [http://maemo.cloud-7.de/maemo5/usr/local/sbin/] and [http://maemo.cloud-7.de/maemo5/patches_n_tools/]
  
== Safety issues ==
+
== Safety considerations in detail ==
  
 
=== Do OM devices control temperature to stop charging if the battery gets too hot? ===
 
=== Do OM devices control temperature to stop charging if the battery gets too hot? ===
Line 120: Line 138:
 
=== Ok, how to make sure my battery is fully charged before a long trip? ===
 
=== Ok, how to make sure my battery is fully charged before a long trip? ===
  
Replug the charger, it will trigger charging no matter what the
+
Replug the charger at least 90 minutes before you need full battery, it will trigger charging no matter what the
 
current capacity is.
 
current capacity is.
  
Line 129: Line 147:
 
mangling of "status" sysfs node before presenting it to the user. If
 
mangling of "status" sysfs node before presenting it to the user. If
 
you want to make a decent bugreport please add clear steps to
 
you want to make a decent bugreport please add clear steps to
reproduce and <code>/sys/class/power_supply/battery/uevent</code> contents for all
+
reproduce and
 +
<code>
 +
cat /sys/class/power_supply/battery/uevent
 +
cat /sys/class/i2c-adapter/i2c-0/0-0073/gta01_battery/uevent
 +
</code>
 +
contents for all
 
relevant states.
 
relevant states.
  
Line 141: Line 164:
 
Then you load the dumb battery driver:
 
Then you load the dumb battery driver:
 
  modprobe gta01_battery
 
  modprobe gta01_battery
 +
Since kernel 2.6.34 the module is called platform-battery
 +
  
 
If you need to use bq27000 driver again, do:
 
If you need to use bq27000 driver again, do:

Latest revision as of 15:40, 5 August 2013

NB: Some of the described behaviour depends on the kernel, the relevant code was pushed on 2009-08-02 to andy-tracking. Some older kernel versions may have quite nasty hacks ('reenabling MBC though battery reports full') that seriously wreck your battery within months.


Contents

[edit] Battery care and safety guidelines

[edit] How can I break my battery?

To successfully kill your LiIon battery without applying brute force, you simply may disobey any of the following advices:

[edit] Temperature

Never expose or let warm up battery to high temperatures. 70°C might be a limit for safe operation, and >100°C most likely is a killer for the cell. This is especially true during charge/discharge.

[edit] Drop

Never let the battery drop on a hard surface or by any other means expose to hard impact.

[edit] Wrong storage

LiIon cells don't like to be kept at any extreme for a prolonged time. So *never* store away your device with battery inserted, for a period longer than a few days. Charge battery to a reasonable level prior to extended periods of no usage. Do not store battery in charger, as this may cause a permanent charging level of 100% which is as deteriorating to the LiIon cell chemistry as is storage at 0%. Keeping battery in Neo which is powered by external source is safe though, even for months, as the Neo's PMU charger circuit takes care to treat the battery nicely.

Also see Storage


[edit] Hardware capabilities

[edit] What batteries can be used with gta01 and gta02?

Original OM gta01, gta02, Nokia BL-5C, BL-6C and compatibles.

[edit] Do other BL-5/6C compatible batteries fit?

If the battery is thicker than BL-6C, you won't be able to close the back cover. Nokia's BL-4C is a bit thinner than the BL-5C so it also fits, but has noticeably shorter battery life.

[edit] What is the difference between all those types?

[edit] Capacity

gta01, gta02 1200 mAh
BL-4C old (new) 720 (860) mAh
BL-5C old (newer/new) 850 (970/1020) mAh
BL-6C 1150 mAh

[edit] Temperature control

gta01, BL-5C, BL-6C thermistor
gta02 bq27000

[edit] Special features

gta02 - accurate and sophisticated reporting of capacity, time_to_full, time_to_empty, temperature and battery current during both charge and discharge thanks to bq27000 (aka Coulomb Counter). More details at Neo FreeRunner Battery.

[edit] What are hardware capabilities of gta01 and gta02 with regard to battery management?

gta01: charging all battery types, measuring temperature with battery-integrated thermistor (currently charging and measuring temperature for non-gta01 batteries doesn't work due to the kernel driver issues but it's software limitation), measuring battery output voltage, very inaccurate and noisy measuring of battery current

gta02: charging all battery types, measuring battery output voltage, communicating with bq27000

[edit] Can nokia phones use/charge gta01/gta02 batteries?

gta01 and gta02 batteries will fit wherever BL-6C fits but they can't be charged in nokia phones unless you isolate the middle pin from the battery and connect a resistor of ~50k (actual measured value on a cold (25C) battery is 75k, on a slightly warm battery - 82k) from it to the ground (to fake a thermistor presence).

[edit] Can third-party chargers charge gta01/gta02 batteries?

The "good" ones will most probably require the same trick needed for nokia phones. More cheaper ones are more likely to ignore thermistor absence.

[edit] I have several compatible batteries. What are the storage requirements for them?

Keep in a dry cool place charged to no more than 75% and NEVER under 25%. Check every 3 months and recharge when due, cells will self-discharge over time and once they reach 0% level they are dead within weeks!

[edit] That bq27000 chip seems to be pretty cool, how can i read and understand its raw registers?

DocScrutinizer to the rescue! Here's his magic script to do that: [1]. Also see [2] and [3]

[edit] Safety considerations in detail

[edit] Do OM devices control temperature to stop charging if the battery gets too hot?

GTA02 Neo FreeRunner:No; GTA01 Neo 1973:Yes (if PMU PCF50606 Main battery charger is configured correctly)

[edit] Isn't it dangerous?

No, since all batteries (not raw cells!) have an integrated protection circuits.

[edit] Can i use that fancy 2800 mAh BL-5C-compatible battery i saw on ebay?

Unless you want an explosion in your pocket i wouldn't recommend using any battery that is not produced by a reputable vendor and widely tested. And even reputable vendors make mistakes, nokia once had to recall 46 million batteries manufactured by Matsushita ([4]).

[edit] You say that BL-5C is compatible with my gta02. Does that mean i can use that BL-5C-compatible bat i bought for a buck from a bum?

You bet, go ahead.

[edit] Charging

[edit] My battery charges to 100% but then charging stops and the battery keeps discharging, wtf?

LiIon batteries don't like to be kept fully charged, so the charger stops as soon as charging current becomes less than threshold. If you have GSM on it will discharge the battery.

[edit] But why doesn't it ever stop charging on my device?

The GSM modem is connected directly to the battery terminals so if it's active, charger will think it's still charging the battery and won't turn off unless GSM becomes inactive. The default threshold setting of PMU charger is about 16mA, the latest Qi increases the threshold to ~32mA.

Depending on various factors (GPRS activated, number of cells to observe, band...) the modem may consume an average standby current of 4mA up to >30mA while registered to a network. For normal (AT%SLEEP=2) situation the standby current is ~15mA. So *usually* the charge end detection should work.

Anyway even if the above mentioned charge end threshold never is reached, the PMU stops charging of bat after expire of some emergency cutoff timer (some hours)

[edit] Does it mean if i leave my phone plugged it will eventually fully discharge the battery?

On gta02 the charger will restart the charge automatically once the battery voltage reaches ~4V which corresponds to ~76% (If PMU MBC is configured by kernel to enable auto-resume). Not sure about gta01, requires more investigation. :-/

[edit] Ok, how to make sure my battery is fully charged before a long trip?

Replug the charger at least 90 minutes before you need full battery, it will trigger charging no matter what the current capacity is.

[edit] My power/aux LED indicates charging/discharging/whatever, what does that mean (aka why it's still blue even after i unplugged the charger)?

Ask FSO guys about it, some of them think that the user shouldn't really know what's happening and therefore they do some special mangling of "status" sysfs node before presenting it to the user. If you want to make a decent bugreport please add clear steps to reproduce and

cat /sys/class/power_supply/battery/uevent
cat /sys/class/i2c-adapter/i2c-0/0-0073/gta01_battery/uevent

contents for all relevant states.

[edit] Using compatible batteries with gta02

[edit] So, how do i use "dumb" batteries with my freerunner?

First you need to unbind bq27000 driver:

echo bq27000-battery.0 > /sys/bus/platform/drivers/bq27000-battery/unbind

Then you load the dumb battery driver:

modprobe gta01_battery

Since kernel 2.6.34 the module is called platform-battery


If you need to use bq27000 driver again, do:

rmmod gta01_battery
echo bq27000-battery.0 > /sys/bus/platform/drivers/bq27000-battery/bind

If you use Enlightment you might need to restart it after that.

[edit] Is capacity reported for dumb batteries accurate?

During discharge it should be pretty (+-10%) accurate, during charge the capacity reported is ~20% more than real.

[edit] Why does /sys/class/power_supply/battery/charge_full says i have a 850 mAh battery no matter what i use?

It's a workaround to make popular battery gadgets work with this driver.

[edit] This Q&A were prepared by

Paul Fertser

Joerg Reisenweber

Personal tools

NB: Some of the described behaviour depends on the kernel, the relevant code was pushed on 02 Aug to andy-tracking


Hardware capabilities

What batteries can be used with gta01 and gta02?

Original OM gta01, gta02, Nokia BL-5C, BL-6C and compatibles.

Do other BL-5/6C compatible batteries fit?

If the battery is thicker than BL-6C, you won't be able to close the back cover.

What is the difference between all those types?

Capacity

gta01, gta02 1200 mAh
BL-5C old (newer/new) 850 (970/1050) mAh
BL-6C 1150 mAh

Temperature control

gta01, BL-5C, BL-6C thermistor
gta02 bq27000

Special features

gta02 - accurate and sophisticated reporting of capacity, time_to_full, time_to_empty, temperature and battery current during both charge and discharge thanks to bq27000 (aka Coloumb Counter)

What are hardware capabilities of gta01 and gta02 with regard to battery management?

gta01: charging all battery types, measuring temperature with battery-integrated thermistor (currently charging and measuring temperature for non-gta01 batteries doesn't work due to the kernel driver issues but it's software limitation), measuring battery output voltage, very inaccurate and noisy measuring of battery current

gta02: charging all battery types, measuring battery output voltage, communicating with bq27000

Can nokia phones use/charge gta01/gta02 batteries?

gta01 and gta02 batteries will fit wherever BL-6C fits but they can't be charged in nokia phones unless you isolate the middle pin from the battery and connect a resistor of ~50k (actual measured value on a cold (25C) battery is 75k, on a slightly warm battery - 82k) from it to the ground (to fake a thermistor presence).

Please note this is an insecure charging, Li-ion cells become unstable and often will burn violently when overcharged. An built-in thermistor is a indispensable safety device. Do not fake it to make your phone charge your Li-ion cell.

Can third-party chargers charge gta01/gta02 batteries?

The "good" ones will most probably require the same trick needed for nokia phones. More cheaper ones are more likely to ignore thermistor absence.

I have several compatible batteries. What are the storage requirements for them?

Keep in a dry cool place charged to no more than 75%.

That bq27000 chip seems to be pretty cool, how can i read and understand its raw registers?

DocScrutinizer to the rescue! Here's his magic script to do that: [1].

Safety issues

Do OM devices control temperature to stop charging if the battery gets too hot?

GTA02 Neo FreeRunner:No; GTA01 Neo 1973:Yes (if PMU PCF50606 Main battery charger is configured correctly)

Isn't it dangerous?

No, since all batteries (not raw cells!) have an integrated protection circuits.

Can i use that fancy 2800 mAh BL-5C-compatible battery i saw on ebay?

Unless you want an explosion in your pocket i wouldn't recommend using any battery that is not produced by a reputable vendor and widely tested. And even reputable vendors make mistakes, nokia once had to recall 46 million batteries manufactured by Matsushita ([2]).

You say that BL-5C is compatible with my gta02. Does that mean i can use that BL-5C-compatible bat i bought for a buck from a bum?

You bet, go ahead.

Charging

My battery charges to 100% but then charging stops and the battery keeps discharging, wtf?

LiIon batteries don't like to be kept fully charged, so the charger stops as soon as charging current becomes less than threshold. If you have GSM on it will discharge the battery.

But why doesn't it ever stop charging on my device?

The GSM modem is connected directly to the battery terminals so if it's active, charger will think it's still charging the battery and won't turn off unless GSM becomes inactive. The default threshold setting of PMU charger is about 16mA, the latest Qi increases the threshold to ~32mA.

Depending on various factors (GPRS activated, number of cells to observe, band...) the modem may consume an average standby current of 4mA up to >30mA while registered to a network. For normal (AT%SLEEP=2) situation the standby current is ~15mA. So *usually* the charge end detection should work.

Anyway even if the above mentioned charge end threshold never is reached, the PMU stops charging of bat after expire of some emergency cutoff timer (some hours)

Does it mean if i leave my phone plugged it will eventually fully discharge the battery?

On gta02 the charger will restart the charge automatically once the battery voltage reaches ~4V which corresponds to ~76% (If PMU MBC is configured by kernel to enable auto-resume). Not sure about gta01, requires more investigation. :-/

Ok, how to make sure my battery is fully charged before a long trip?

Replug the charger, it will trigger charging no matter what the current capacity is.

My power/aux LED indicates charging/discharging/whatever, what does that mean (aka why it's still blue even after i unplugged the charger)?

Ask FSO guys about it, some of them think that the user shouldn't really know what's happening and therefore they do some special mangling of "status" sysfs node before presenting it to the user. If you want to make a decent bugreport please add clear steps to reproduce and /sys/class/power_supply/battery/uevent contents for all relevant states.

Using compatible batteries with gta02

So, how do i use "dumb" batteries with my freerunner?

First you need to unbind bq27000 driver:

echo bq27000-battery.0 > /sys/bus/platform/drivers/bq27000-battery/unbind

Then you load the dumb battery driver:

modprobe gta01_battery

If you need to use bq27000 driver again, do:

rmmod gta01_battery
echo bq27000-battery.0 > /sys/bus/platform/drivers/bq27000-battery/bind

If you use Enlightment you might need to restart it after that.

Is capacity reported for dumb batteries accurate?

During discharge it should be pretty (+-10%) accurate, during charge the capacity reported is ~20% more than real.

Why does /sys/class/power_supply/battery/charge_full says i have a 850 mAh battery no matter what i use?

It's a workaround to make popular battery gadgets work with this driver.

This Q&A were prepared by

Paul Fertser

Joerg Reisenweber