dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re[2]: Question to powermgm.c charging algorithm

Re[2]: Question to powermgm.c charging algorithm

From: Uwe Freese <>
Date: Fri, 9 Aug 2002 17:43:48 +0200

Hello Heikki,

Heikki Hannikainen wrote on Friday, August 9, 2002, 11:05:49 AM:

HH> It's the other way around (delta is new_sample - old_sample, so if
HH> new_sample is larger we get a positive delta).

OK, understood.

>> Now a question to the code:
>> ------snip------
>> if (delta < -50) { /* delta < -0.3 V */
>> DEBUGF("power: short-term negative delta, enough!\n");
>> charger_enable(false);
>> snprintf(power_message, POWER_MESSAGE_LEN, "end negd %d %dmin", delta, charged_time);
>> ------snip------

HH> Linus got this right. The first test is for a large negative delta over
HH> a short time (which should be a good sign of a NiMH cell being full). The

Are you kidding? A typical voltage falloff that marks the ending of a
charging phase is 0.05 volts or less, not 0,3 v!

If disk spinups (normal usage of the AJB) change the voltage too much so
that a "full" battery is detected too early, then it tells me that we
shouldn't load batteries in normal usage!!

I think a good charging means a good algorithm and that the user does
not use the AJB while charging!
We can additionally add that the batteries are loaded if the voltage is
very low (now it's called "deep discharge is on") - even the AJB is
used (play/USB mode).

So maybe there should be a menu item "start charging" and that means
that the AJB is blocked then and does nothing but charging.

HH> By the way, I suspect the Archos firmware does trickle charging, or
HH> lowering the charging rate by switching the charger on and off quickly. I
HH> think I can hear something oscillate in the box 8-) It also takes a much
HH> longer time to charge than rockbox, and possibly gets more energy in the
HH> cells.

My tests with the AJB said that the Archos firmware changes the
"power strength" (how it is called in english? I mean "Amperes"). It
changed from 330 mA to about 200 mA. But it could be that this was only
because of the lower difference between battery voltage and charging

And then it trickles, you're right. Charging goes on and off several

Maybe the rockbox charging algorithm should start the normal charging
(and complete it to the end) if the battery voltage is low and a trickle
charge when the batteries are almost full.
Trickle could mean: Voltage at max: Turn off power
                    Voltage < max-0.05: charge with 1/20 C = 80 mA

The AJBR has a adjustable voltage regulator, hasn't it? Why do we
have only "on/off" in the sourcecode?

I made a battery charger about 8 years ago, wired to the parallel
port and with an A/D converter. I wrote a (pascal) charging program and
tested very much with that. Because of that, I've some experience with
charging algorithms..
You can download the source at (see "Projekte und
Software"). It is not written so well, because I had not much
experience in programming then. But maybe it gives you some ideas for
the archos charging algorithm.

One thing that could be used here, too:

I divided the charging in three phases (with typically high, low and
high gradient).

When the gradient goes lower -> start of phase 2.
When the gradient goes higher -> start of phase 3.

The gradient is going up now in phase 3. If is goes down again under a
percentage of the highest gradient in phase 3, I assume that the battery
is charged.

What about that? (I hope that you understood my explanation. If not -

Bye, Uwe.
Received on 2002-08-09

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy