Rockbox

Tasklist

FS#2002 - Battery runtime and trickle loading bug?

Attached to Project: Rockbox
Opened by Martin Ouendag (mouendag) - Wednesday, 11 February 2004, 16:02 GMT
Last edited by Daniel Stenberg (bagder) - Wednesday, 09 March 2005, 10:39 GMT
Task Type Bugs
Category Drivers
Status Closed
Assigned To Linus Nielsen Feltzing (linusnielsen)
Operating System
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Jukebox Recorder

Sharing other experiences about the short run-time of
my batteries, I did some tests and have the following
observation:

After having used the Archos for a while, and put the
charger in while it was on. It started loading.
Next morning to my surprise, the battery was not
showing a FULL status, and it was not loading either.
Debug - View IO - Battery 84%
Debug - View Runtime - 2h 14 m
Debug - View Battery - shows typical discharging
process
Conclusion: It stopped charging in the middle of the
night.

I unplugged the Archos from the charger, turned it off,
then turned it on again, and put the charger plug in
again. IT DID NOT START CHARGING.

I switched to the Archos 1.28 load, put the charger plug
in, and it started charging immediately until 100%

Second observation:
With a full battery, put the charger in. Also connected
the Archos to my PC. After a while shut down the PC.
The battery shown on the status bar is 100%.
Debug - view IO - Battery 5.27V, 100%
(not OK, since 100% loaded voltage is 5.44)
Debug - view runtime - 0h 0m (OK)
Debug - view battery - shows discharge pattern

Unplugged the Archos, OFF, ON, plugged in the charger,
and it started charging.
Debug - view IO - Battery 5.09V
After a while the -view Battery- graph shows a
sinusoidal pattern, topping off above 5.35V, and starting
to show regular "spikes", proof of trickle charging, and it
has been sitting at between 5.45 and 5.48V for a few
hours now. So normal behaviour.

Conclusion: Some condition makes trickle charging not
work correctly.

RockBox CVS 040203
Archos JR 1.28
Mask 0x0302
Settings: Deep Discharge: NO
Trickle charge: YES
Capacity: 1800mAh
Car adapter mode: NO

Very pleased with the added functionality to my Archos.
Unbelievable effort that must have gone into this, and at
a very high quality. !! You're the best.
This task depends upon

Closed by  Daniel Stenberg (bagder)
Wednesday, 09 March 2005, 10:39 GMT
Reason for closing:  Fixed
Additional comments about closing:  Logged In: YES
user_id=1110

Try a recent daily build. The charging algo has been
revamped a lot.
Comment by Linus Nielsen Feltzing (linusnielsen) - Wednesday, 11 February 2004, 20:27 GMT

Interesting. Maybe Rockbox fails to restore the settings in
some cases, and ends up in Deep Discharge mode...? Hmmm....
Comment by Linus Nielsen Feltzing (linusnielsen) - Tuesday, 13 July 2004, 08:12 GMT

This is supposed to be fixed in the daily builds. Can you
verify this?
Comment by Martin Ouendag (mouendag) - Thursday, 15 July 2004, 10:30 GMT

Linus,
Charging works OK, though I suggest some improvements to
the algorithm and default values for voltage levels.

1) When fully charged, the battery is NOT FULL. You can
further charge with Archos 1.28 for yet 1.5 hours. Though
the effect on the voltage level after a "cool down" period of a
few hours, is minimal.
2) Trickle charge takes a big swing, and the low-voltage
starting point of 85% is far too low. Also remember that the
percentage is a derived and corrected value and not
absolute. (e.g. after 1 hour of playing, it still reads 100%)
3) The voltage readings are not stable (at least not on my
box), and the last digit rapidly swings about .05V

Following are some constants in the source code:

#define BATTERY_LEVEL_FULL 585 /* 5.85V */
#define CHARGE_END_ZEROD 50 /* stop when N minutes
have passed with
* avg delta being < 0.005 V */
#define CHARGE_RESTART_HI 85 /* %: when to restart
charging in 'charge' mode */
/* attention: if set too high, normal
charging is started in trickle mode */

#define TRICKLE_VOLTAGE 545 /* which voltage is best?
(centivolts) */

I propose you make the value for FULL a configuration
setting, either manually entered or automatically determined
as the highest read in "charging" a test-run.
Or... Why bother at all? Keep charging until the average
voltage over a period of e.g. 10 minutes is constant.
(measurement being an average read (take care of my last
digit's always changing))

CHARGE RESTART for trickle load should be much higher than
85%, and preferrably a voltage related to a "full charge"
voltage (that you could store as a configuration setting).

Reason: With the discharge curve of a typical battery, the
first few hours of playtime the battery voltage level will not
drop substantially. After that it becomes an almost straight
line.

Hope this helps,

Regards, Martin
Comment by Martin Ouendag (mouendag) - Thursday, 15 July 2004, 10:31 GMT

Linus,
Charging works OK, though I suggest some improvements to
the algorithm and default values for voltage levels.

1) When fully charged, the battery is NOT FULL. You can
further charge with Archos 1.28 for yet 1.5 hours. Though
the effect on the voltage level after a "cool down" period of a
few hours, is minimal.
2) Trickle charge takes a big swing, and the low-voltage
starting point of 85% is far too low. Also remember that the
percentage is a derived and corrected value and not
absolute. (e.g. after 1 hour of playing, it still reads 100%)
3) The voltage readings are not stable (at least not on my
box), and the last digit rapidly swings about .05V

Following are some constants in the source code:

#define BATTERY_LEVEL_FULL 585 /* 5.85V */
#define CHARGE_END_ZEROD 50 /* stop when N minutes
have passed with
* avg delta being < 0.005 V */
#define CHARGE_RESTART_HI 85 /* %: when to restart
charging in 'charge' mode */
/* attention: if set too high, normal
charging is started in trickle mode */

#define TRICKLE_VOLTAGE 545 /* which voltage is best?
(centivolts) */

I propose you make the value for FULL a configuration
setting, either manually entered or automatically determined
as the highest read in "charging" a test-run.
Or... Why bother at all? Keep charging until the average
voltage over a period of e.g. 10 minutes is constant.
(measurement being an average read (take care of my last
digit's always changing))

CHARGE RESTART for trickle load should be much higher than
85%, and preferrably a voltage related to a "full charge"
voltage (that you could store as a configuration setting).

Reason: With the discharge curve of a typical battery, the
first few hours of playtime the battery voltage level will not
drop substantially. After that it becomes an almost straight
line.

Hope this helps,

Regards, Martin
Comment by Martin Ouendag (mouendag) - Thursday, 15 July 2004, 19:41 GMT

Like I suggested, it may be the settings (tricke restart at
85%) and the algorithm. I did not see it go into deep
discharge/charge mode.

Wish I could help improve the algorithm, but I have very little
time available nowadays. (which is good).
Thanks..
Comment by Daniel Stenberg (bagder) - Wednesday, 09 March 2005, 10:39 GMT

Try a recent daily build. The charging algo has been
revamped a lot.

Loading...