amcdonley
Posts: 173
Joined: Mon Jan 26, 2015 5:56 pm
Location: Florida, USA

How to maximize Robot Play Time - NiMH Batteries?

Thu Jun 13, 2019 4:38 pm

My question: how to maximize "play time" for my robot?

I have been using EBL NiMH rechargeable batteries in my Raspberry Pi robots for the last five years, originally six 5000mAh C-cells, and for the last year - eight 2800mAh AA-cells in my GoPiGo3 robot Carl.

My robot charges the eight AA-cells for roughly 3 hours using a Tenergy 1025 smart charger set on 1A maximum rate, then gets off his charging dock for "play time".

The robot currently draws roughly 350mA during "play time" and returns for another charge when the eight cell battery pack reaches 9.1v (8.5v indicated +0.6v protection diode) under load. When the cells were fairly new, play time was 6.8 to 7 hours.

The latest play time, charge/discharge cycle 186, was down to 5 hours. If I allow play time to extend down to 8.5v (7.9+0.6) for four "charge conditioning" cycles, the play time will return to nearly 6 hours but successive play times will quickly fall to 5 hours again.
Carl Recharging On His Dock.jpg
Carl Recharging On His Dock.jpg (238.12 KiB) Viewed 415 times
```
(Battery voltages are 0.6v higher than printed) :
2019-06-09 03:33|[juicer.py.main]-- Charge Conditioning 1 completed
2019-06-09 06:57|[juicer.py.undock]---- Dismount 176 at 10.7 v after 3.4 h
2019-06-09 13:38|[juicer.py.dock]---- Docking 176 completed at 7.9 v after 6.7 h
2019-06-09 13:38|[juicer.py.main]-- Charge Conditioning 2 completed
2019-06-09 16:51|[juicer.py.undock]---- Dismount 177 at 10.8 v after 3.2 h
2019-06-09 23:36|[juicer.py.dock]---- Docking 177 completed at 7.9 v after 6.8 h
2019-06-09 23:36|[juicer.py.main]-- Charge Conditioning 3 completed
2019-06-10 02:58|[juicer.py.undock]---- Dismount 178 at 10.8 v after 3.4 h
2019-06-10 09:47|[juicer.py.dock]---- Docking 178 completed at 7.9 v after 6.8 h
2019-06-10 09:47|[juicer.py.main]-- Charge Conditioning 4 completed
2019-06-10 13:12|[juicer.py.undock]---- Dismount 179 at 10.8 v after 3.4 h
2019-06-10 19:18|[juicer.py.dock]---- Docking 179 completed at 8.5 v after 6.1 h
2019-06-10 22:22|[juicer.py.undock]---- Dismount 180 at 10.7 v after 3.1 h
2019-06-11 04:06|[juicer.py.dock]---- Docking 180 completed at 8.5 v after 5.7 h
2019-06-11 07:01|[juicer.py.undock]---- Dismount 181 at 10.7 v after 2.9 h
2019-06-11 09:58|[logMaintenance.py.main]** WiFi connection broken, unknown reason **
2019-06-11 12:57|lifelog.dEmain execution: 123
2019-06-11 17:28|------------ boot ------------
2019-06-11 17:28|[logMaintenance.py.main]** Found Carl completely off (rundown) after 6+ hours **
2019-06-11 17:30|[juicer.py.main]---- juicer.py started at 9.60v
2019-06-11 20:17|[juicer.py.undock]---- Dismount 182 at 10.8 v after 2.8 h
2019-06-12 02:11|[juicer.py.dock]---- Docking 182 completed at 8.5 v after 5.9 h
2019-06-12 05:15|[juicer.py.undock]---- Dismount 183 at 10.7 v after 3.1 h
2019-06-12 10:58|[juicer.py.dock]---- Docking 183 completed at 8.5 v after 5.7 h
2019-06-12 13:49|[juicer.py.undock]---- Dismount 184 at 10.7 v after 2.9 h
2019-06-12 19:24|[juicer.py.dock]---- Docking 184 completed at 8.5 v after 5.6 h
2019-06-12 22:15|[juicer.py.undock]---- Dismount 185 at 10.7 v after 2.8 h
2019-06-13 03:33|[juicer.py.dock]---- Docking 185 completed at 8.5 v after 5.3 h
2019-06-13 06:17|[juicer.py.undock]---- Dismount 186 at 10.7 v after 2.7 h
2019-06-13 11:17|[juicer.py.dock]---- Docking 186 completed at 8.5 v after 5.0 h
```


Is this normal behavior?
Is there a better way to maximize my play time while not shortening the number of cycles I will get from a set of cells?

Here is my robot getting on and off his dock:
https://vimeo.com/333207248

User avatar
omegaman477
Posts: 148
Joined: Tue Feb 28, 2017 1:13 pm
Location: Sydney, Australia

Re: How to maximize Robot Play Time - NiMH Batteries?

Fri Jun 14, 2019 2:09 pm

BAck to basics.

There are only four possible problems here;

1. The charger is not doing its job
2. The battery pack is faulty and not holding a charge
3. The robot is using more power than expected
4. The Juice data is bullshit.

I suspect you either have a dodgy charge situation, or a bad cell in the pack. (1 or 2)

Get an accurate multimeter and confirm that the battery pack is getting a proper charge voltage. Do not rely in the Juice data.

Connect the Multimeter in DC current mode and confirm that the batteries are getting the correct charge current.

Can you charge and discharge the battery pack on the bench without the robot.
..the only thing worse than a stupid question is a question not asked.

amcdonley
Posts: 173
Joined: Mon Jan 26, 2015 5:56 pm
Location: Florida, USA

Re: How to maximize Robot Play Time - NiMH Batteries?

Fri Jun 14, 2019 2:49 pm

omegaman477 wrote:
Fri Jun 14, 2019 2:09 pm
BAck to basics.

There are only four possible problems here;

1. The charger is not doing its job
2. The battery pack is faulty and not holding a charge
3. The robot is using more power than expected
4. The Juice data is bullshit.

I suspect you either have a dodgy charge situation, or a bad cell in the pack. (1 or 2)

Get an accurate multimeter and confirm that the battery pack is getting a proper charge voltage. Do not rely in the Juice data.

Connect the Multimeter in DC current mode and confirm that the batteries are getting the correct charge current.

Can you charge and discharge the battery pack on the bench without the robot.
Thanks for responding. You are on the money on all points:
1) The "smart charger" is sometimes quite dumb (early full detection, or wrong "battery of X cells" detection)
2) It was pointed out to me that NiMH cells require "periodic full discharge to prevent crystallization" which explains what I have been seeing
3) I did lose an hour of life when I added a USB powered speaker some time back. I have carefully measured all loads individually and collectively both instantaneous and average to ensure what to expect there.
4) My voltage readings are 2 second samples with surprising reading to reading variance. I use 1 minute and 5 minute min, max, averages to detect the modes, and "shortMeanVoltage" when I want current battery voltage for limit decisions.

I have been breaking down the bot periodically and "conditioning" the cells individually on a BC-3000 but I was hoping to find an easy alternative.

It seems this is the reality of trying to create a 24/7 autonomous robot with "hobbyist resources".

User avatar
OutoftheBOTS
Posts: 711
Joined: Tue Aug 01, 2017 10:06 am

Re: How to maximize Robot Play Time - NiMH Batteries?

Sat Jun 15, 2019 6:44 am

I usually use Hobby Lipo batteries for all my projects as they are cheaper and have higher energy density as well as can handle much higher amps if needed.

amcdonley
Posts: 173
Joined: Mon Jan 26, 2015 5:56 pm
Location: Florida, USA

Re: How to maximize Robot Play Time - NiMH Batteries?

Sat Jun 15, 2019 12:17 pm

OutoftheBOTS wrote:
Sat Jun 15, 2019 6:44 am
I usually use Hobby Lipo batteries for all my projects as they are cheaper and have higher energy density as well as can handle much higher amps if needed.
But I would guess you are not running them in a UPS (uninterruptable power supply) mode that allows connecting/disconnecting the charging source without affecting the RPi.

The best UPS I have seen so far for that is LiFePO4wered/Pi+ (18650 Battery), but cannot be integrated with my robot controller board.

The ideal solution would be a (tiny) LiPo controller that can integrate three S1 cells to output a steady 11.1v.

User avatar
OutoftheBOTS
Posts: 711
Joined: Tue Aug 01, 2017 10:06 am

Re: How to maximize Robot Play Time - NiMH Batteries?

Sun Jun 16, 2019 6:30 am

amcdonley wrote:
Sat Jun 15, 2019 12:17 pm
OutoftheBOTS wrote:
Sat Jun 15, 2019 6:44 am
I usually use Hobby Lipo batteries for all my projects as they are cheaper and have higher energy density as well as can handle much higher amps if needed.
But I would guess you are not running them in a UPS (uninterruptable power supply) mode that allows connecting/disconnecting the charging source without affecting the RPi.

The best UPS I have seen so far for that is LiFePO4wered/Pi+ (18650 Battery), but cannot be integrated with my robot controller board.

The ideal solution would be a (tiny) LiPo controller that can integrate three S1 cells to output a steady 11.1v.
Most MCUs that have a battery charger can switch between being powered by the Lipo battery and being powered by USB lead while charging the Lipo. It is just basically a mosfet that gets switched by the current from the USB and some caps to hold power up while it is switching.

Are you using the batteries with UPS to run both the RPi and the motors?? Most good solutions require 2 batteries, 1 small battery with UPS to run all electronics then a second larger battery running the motors.

amcdonley
Posts: 173
Joined: Mon Jan 26, 2015 5:56 pm
Location: Florida, USA

Re: How to maximize Robot Play Time - NiMH Batteries?

Sun Jun 16, 2019 1:02 pm

OutoftheBOTS wrote:
Sun Jun 16, 2019 6:30 am

Are you using the batteries with UPS to run both the RPi and the motors??
My bot is built upon the Dexter Industries GoPiGo3, which provides the power management and isolation using a single 7 to 12 v 2.5A source.

Note:
I have found it best for me to start from a supported platform. I spent/wasted three years on designing and building my prior RPi bot, and while it met the physical, functional, and electrical requirements I set, it was unreliable electrically (noise) and mechanically (5 layer 40/26 pin socket stack failed). I could never focus on the software for very long before I had to redesign or repair the hardware.

I am 11 months into this bot, and it has run over 1800 hours without a single electrical or mechanical issue. It has a forum to ask questions and share code examples, as well as direct access to the design engineers. I am really loving it.

I'm sorry this sounds so defensive. You are responding to my request for ideas. I do appreciate your thoughts. Thank you.

Return to “Automation, sensing and robotics”