blob: a1a6e2b56e4c41e2c06afe971fb3b320d99236d5 [file] [log] [blame]
Uwe Freese38177302002-12-14 12:21:54 +00001CHARGING ALGORITHM
2
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +00003This doc and a part of the charger implementation (especially voltage curves,
4remaining time estimation, trickle charge) is written by Uwe Freese. If you
5miss some information here, write to mail@uwe-freese.de.
Uwe Freese38177302002-12-14 12:21:54 +00006
7
8
9[INTRODUCTION]
10
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000011This doc describes how the charging works for the recorder. The algorithm can
12be found in firmware/powermgmt.[c|h]. Debug output is done in
13 apps/debug_menu.c.
14Charging for the player and the FM/V2 recorder is done by the hardware and
Uwe Freesee1936042003-03-03 13:41:04 +000015therefore isn't implemented in rockbox. Only the functions that calculate the
16battery level are also used for these models.
Uwe Freese38177302002-12-14 12:21:54 +000017
18All following information is related to the recorder.
19
20
21[TECHNICAL POSSIBILITIES AJB]
22
23- The AJB can read the voltage of the battery (all four cells in series,
24 resulting in about 5V).
25- We can switch the charging current (about 350mA, constant) on and off.
26
27
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000028[VOLTAGE CURVES]
Uwe Freese38177302002-12-14 12:21:54 +000029
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000030See http://www.uwe-freese.de/hardware-projekte/rockbox/ladeverfahren.html
31for some voltage curves taken while charging and decharging an AJB.
Uwe Freese38177302002-12-14 12:21:54 +000032
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000033These voltage curves are implemented as arrays in rockbox. We can then
Uwe Freese38177302002-12-14 12:21:54 +000034calculate how full the batteries are (in percent) after taking the actual
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000035voltage. Both voltage curves (charging and decharging) are used here.
Uwe Freese38177302002-12-14 12:21:54 +000036
37
38[CHARGE OVERVIEW]
39
40- If voltage drops under a certain value (with "deep discharge" option on the
41 value is lower), charging is started.
42- If end of charge is detected, go to top off charge.
43- Make the batteries completely full. 90 minutes of top off charge (voltage
44 regulation at a high value).
45- After that, do trickle charge (max. 12 hours with voltage regulation at a
46 lower value).
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000047- When trickle charge is done and you did not disconnect or shut off your AJB
48 by now, the AJB decharges normally since it reaches a low voltage and
49 everything starts from the beginning.
Uwe Freese38177302002-12-14 12:21:54 +000050
51
52[NORMAL CHARGE]
53
54When charging is started, the charger is turned on. The batteries are charged
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000055with a constant current of about 350mA. The charging is stopped for three
56reasons:
Uwe Freese38177302002-12-14 12:21:54 +000057
58- the voltage goes down in a 5 min interval (delta peak, see below)
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000059- the voltage goes up only a little bit in an 30 min interval (is mainly
60 constant)
Uwe Freese38177302002-12-14 12:21:54 +000061- the charging duration exceeds a maximum duration
62
63
64[DYNAMIC MAX DURATION CALCULATION]
65
66The max duration is calculated dynamically. The time depends on how full the
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000067battery is when charging is started. For a nearly full battery, the max
68duration is low, for an empty one, it is a high value. The exact formula can
69be found in the source code. The battery capacity is also considered here.
Uwe Freese38177302002-12-14 12:21:54 +000070
71
Uwe Freese96f5de92003-01-26 17:19:31 +000072[LIION BATTERY IN FM RECORDER]
73
74(todo)
75http://www.seattlerobotics.org/encoder/200210/LiIon2.pdf
76
77
Uwe Freese38177302002-12-14 12:21:54 +000078[DELTA PEAK - WHY DOES IT WORK?]
79
80Delta peak means to detect that the battery voltage goes down when the
81batteries are full.
82
83Two facts on batteries are the reason why this works:
84
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000085- If the batteries are full, the charging current cannot charge the battery
86 anymore.
Uwe Freese38177302002-12-14 12:21:54 +000087 So the energy is absorbed by heating up the battery.
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000088- Each battery has a negative temperature coefficient, that means the voltage
89 goes down when the temperature goes up.
Uwe Freese38177302002-12-14 12:21:54 +000090
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +000091NiMH batteries have a smaller delta peak than NiCd, but is is enough for
92Rockbox to detect that the batteries are full.
Uwe Freese38177302002-12-14 12:21:54 +000093
94Related documents on the web:
95
96 http://www.nimhbattery.com/nimhbattery-faq.htm questions 3 & 4
97 http://www.powerpacks-uk.com/Charging%20NiMh%20Batteries.htm
98 http://www.angelfire.com/electronic/hayles/charge1.html (soft start idea)
99 http://www.powerstream.com/NiMH.htm (discouraging)
100 http://www.panasonic.com/industrial/battery/oem/images/pdf/nimhchar.pdf
101 http://www.duracell.com/oem/Pdf/others/nimh_5.pdf (discharging)
102 http://www.duracell.com/oem/Pdf/others/nimh_6.pdf (charging)
103 Philips TEA1102/1103/1104 PDFs available at www.philips.com.
104
105
106[TOP OFF CHARGE AND TRICKLE CHARGE]
107
108After a normal charge is completed, trickle charging is started. That means
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000109charging to keep the batteries full. While trickle charge in other (stand
110alone) chargers means charging the amount that the battery loses because of
111self decharging, here it's charging the amount the AJB consumes when it's on.
112That's because it is not possible to switch off the AJB when charging is done.
113It goes on again and then the archos firmware charger code would charge again.
114So we have trickle charge in rockbox.
Uwe Freese38177302002-12-14 12:21:54 +0000115
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000116In simple words, rockbox charges about 15 seconds per minute in trickle mode.
117An AJB consumes 100 mA when it's on and the charging current is about 300mA.
118So charging 15 s and decharge 45 s will keep the batteries full.
Uwe Freese38177302002-12-14 12:21:54 +0000119
120But the number of seconds the charger is on in trickle charge mode is also
121adjusted dynamically (between 1 and 24 sec). Rockbox tries to hold the battery
122level at 5,65 V (top off charge, that means "make the batteries completely
123full") for 90 minutes, then a level of 5,45 V. If the voltage drops below the
124wanted value, rockbox will charge one second more the next minute. If is is
125greater than this value, is will charge one second less.
126
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000127Trickle charging runs 12 hours after finishing the normal charging. That
128should be enough for charging the AJB over night and then unplug the charger
129sometime in this 12 hour trickle charge time. It is not recommended to trickle
130charge over days, that's because it is stopped after 12 hours.
Uwe Freese38177302002-12-14 12:21:54 +0000131
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000132Many chargers do top off and trickle charge by feeding a constant (low)
133current to the batteries. Rockbox, as described, makes a voltage regulation.
134That's because the power consumption of the AJB changes when backlight is
135on/disk is spinning etc. and doing a voltage regulation is the simplest way
136to charge exactly the needed amount.
Uwe Freese38177302002-12-14 12:21:54 +0000137
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000138There are two charge ICs I want to mention here: The Philips TEA1102 and
139TEA1103 do voltage regulation for NiCd and NiMH at 1,325 V per cell. That
140would be 5,3 V for four cells, but I think 5,45 V is best for Rockbox with the
141maximum time of 12 hours.
142Note that the voltage values are taken in the part of a minute where
Uwe Freese38177302002-12-14 12:21:54 +0000143the charger is off, so the values are a little bit smaller than the actual
144average of the whole 60 seconds.
145The Philips TEA1102 top-off charge time (with 0,15 C) is one hour.
146
147My test results with trickle charge (battery capacities measured with an
148external charger):
149
150- after normal charge and top off time: 1798, 1834, 1819, 1815 mAh
151- after normal + top off + trickle charge (12h): 1784, 1748, 1738, 1752 mAh
152- charged with external charger: 1786, 1819, 1802, 1802 mAh
153
154Result: Trickle charge works. :)
155
156
157[REMAINING TIME ESTIMATION]
158
159In simple words, it is
160
161remaining time = remaining battery energy / power consumption of AJB
162
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000163With using the battery curves described above and the battery capacity you
Uwe Freesef8484532002-12-15 23:25:27 +0000164selected in the settings menu, the remaining capacity is calculated. For the
165power consumption, a usual constant value is used. If the LED backlight is set
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000166to always on, it is also considered. Having a modified Jukebox with 8 MB of
167RAM leads to about 22 percent longer estimated running time.
Uwe Freese38177302002-12-14 12:21:54 +0000168
169
Uwe Freese3e3d8572002-12-18 19:39:13 +0000170[BATTERY DISPLAY HOW THE USER EXPECTS IT]
Uwe Freese38177302002-12-14 12:21:54 +0000171
Uwe Freese3e3d8572002-12-18 19:39:13 +0000172To not confuse the user with the shown battery level, some tricks are used in
173the battery level calculation (this does not affect the charging algorithm,
174because it uses the raw voltages):
Uwe Freese38177302002-12-14 12:21:54 +0000175
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000176- if charging is completed, top-off charge or trickle charge is running,
177 always set the battery level to 100%
178- the battery level is only allowed to change 1% per minute (exception: when
179 usb is connected, it is allowed to go 3% down/min)
Uwe Freese3e3d8572002-12-18 19:39:13 +0000180- if charging just started (or stopped), ignore the battery voltage for the
181 first 25 minutes
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000182- after turning on the device, add another 5% to the battery level, because
183 the drive is used heavily when booting and the voltage usually gets a
184 little higher after that
Uwe Freese38177302002-12-14 12:21:54 +0000185
186
187[WHICH CHARGING MODE TO USE]
188
Uwe Freese38177302002-12-14 12:21:54 +0000189If you use your AJB connected to the power supply the whole time, select "deep
190discharge on" and "trickle charge off".
191
192If you want to charge your AJB over night and take it with you the next day,
193select "deep discharge off" (that it starts charging immediately) and "trickle
194charge on" (that the batteries remain full).
195
196A special case: If you fill up the batteries that are still nearly full every
197night, it is recommended that you make a complete charge cycle from time to
Linus Nielsen Feltzing25a60a52004-07-23 08:45:34 +0000198time. Select "deep discharge on" and "trickle charge on" and wait till the
199whole cycle is over (you can speed up the discharging a little bit by turning
200on the LED backlight). Even if the battery sellers say NiMH cells don't show a
201memory effect, I recommend making this procedure from time to time (every 10th
202charging cycle). BUT: Don't recharge the batteries completely every time if
203you don't have to.