A single session on DexterOS gave my GoPiGo3 robot, Carl, nearly an extra hour of playtime.
For the last year Carl has been “alive” 24/7 in roughly month long sessions between reboots or emergency safety shutdowns. When Carl sees his batteries are full, he gets off the charging dock to start a playtime. When Carl sees the batteries get down to 8.1volts, (egpg.volt() value, the actual voltage is 0.6v higher), he ends playtime by getting back on his charging dock.
When his latest set of (Eneloop 1900mAH NiMH) batteries were new, playtimes were 6.4 hours long. After 250 playtime - charge time cycles his playtime had dropped to 5.5 hours or 86% of his original playtimes.
Carl has been running Raspbian For Robots since his very first hour, but I wanted to explore DexterOS and Bloxter. I only have one GoPiGo3, so this week I shut him down and booted “his body” up on DexterOS for a few hours. Afterwards, I left him on the charger, in the shutdown state, until the batteries were fully charged.
I restored Carl’s R4R brain (SD card) to his body and started him back up while sitting on the charging dock. Eventually Carl announced he was getting off the dock, and began his first “after an out-of-body experience” playtime.
Surprise! His playtime was 6.4 hours as it was for the first 125 playtimes on this battery set. He has had two more 6.4 hour playtimes since, and is enjoying the extra 54 minutes playtime while it lasts.
Taking a swim in DexterOS proved to be a “fountain of youth” for Carl.
I suspect it had nothing to do with DexterO/S, (though it would be nice were it true!), rather I think it had more to do with being on the dock, in the shut-down state, after a period of play.
One important question is: How far down the discharge curve were the batteries when you placed Carl back on the dock while powered down? That might be important to know.
Depending on the intelligence of the charger being used, the final charging state is something like a “maintenance”, “float”, or “trickle-charge” condition where the charger supplies a minimal amount of charging potential to keep the battery “topped-up” - and the definition of a “full” charge is usually not absolutely full. Actually “fully charged” is usually defined as somewhere between 90 and 95% of totally, absolutely, completely charged.
By placing Carl on the charger while “asleep”, (i.e. drawing zero power), the batteries may have - finally - gotten closer to 100% fully charged, and may have “reset” their useful capacity.
Various sources say different things, but there is a school of thought that claims that NiMH batteries still have some of the “memory” issues that plague NiCad cells - and that an occasional deep discharge followed by a deep charge can restore the batteries ability to charge to its fullest capacity.
An experiment to try the next time Carl’s play-times begin to shrink:
Wait for Carl to “get hungry” and want a re-charge.
Put Carl to sleep. (i.e. Fully shut down)
Disconnect the batteries from the GoPiGo itself.
Charge the batteries for at least the required full-charge interval.
Reconnect everything, wake Carl up, and measure the play-time.
You may discover that the occasional deep-charge helps restore the batteries runtime.