Posted 24 February 2018
I have been working on Wall-E2, my autonomous wall-following robot, for almost three years now, and it seems like I have been struggling with the battery and charger arrangement for that entire time. I started out with 4 AA batteries, but quickly moved on to a pair of Sparkfun 2000mAh ‘flat-pack’ cells with Sparkfun chargers, with a relay to switch the batteries from series (RUN) to parallel (CHG) wiring. This worked, but not very well. The flat-pack batteries weren’t a good match for motor control, and I kept burning up charger modules as well. After struggling with this through several iterations, I finally abandoned it entirely in favor of a 7.4V 20C LiPo RC battery and an external charger. This worked much better, but forced me to manually disconnect the battery from the robot and charge it externally – not at all what I wanted. Later on I made another run at the 2-cell series/parallel switching strategy for charging, this time using Adafruit Powerboost 1000C charge modules, each capable of 1A charge rates. Again this worked (actually quite well), but I recently discovered that it has a fatal flaw – this design imposes significant IR drops on the way from the battery terminals to the motors.
So, I have once again been searching for a solution to the battery/charger problem. While wandering through the Googleverse the other day, I ran across a mention of the 1/2-cell TP5100-based charger module (about 9:50 from start), available for next to nothing on eBay.
Unfortunately, the available technical information on this module is also next to nothing, and what does exist is all in Chinese. Still, this module has the potential for vastly simplifying my charger setup, so I thought it was worth the effort to perform a thorough study.
In a previous post, I described an Arduino controlled charge/discharge test setup for testing operation of my 2-cell parallel/series switched setup, so I decided to modify it for evaluating the TP5100 module, as shown below
Using this setup, I was able to cycle the battery between a 7.5Ω load and the TP5100 charge module. In order to keep the cycle times down to a dull roar, I set the software to switch to charge when the battery voltage dropped below 7.5V, resulting in the plots shown below.
In this case, the discharge current was about 1.1A, and the observed charge current was about 1.8A. The TP5100 modules seems to work as advertised – with a 12V 5A power supply and a partially charged battery, it successfully charged my 2-cell LiPo pack terminated the charge at about 8.4V (I’m not sure if it is terminating based on current or voltage).
Over the next couple of days, I performed three complete charge/discharge cycles using this same setup. Discharge was terminated at 6V, and charge was terminated when the TP5100 ‘complete’ output changed from open-circuit to active-low. As can be seen in these charts, performance was very consistent – almost 6 hours run time into a 7.5Ω load, and about 4 hours for a complete recharge.
So here’s what I know now about the TP5100 module
- When the ‘1-cell/2-cell’ jumper selector is shorted to select 2-cell, the output voltage stabilized at 8.4 with a 10-15V DC input (I used a 12V 5A supply for the tests). Below about 10V, the output voltage falls below 8.4V
- with a partially charged battery stack, output current was about 1.8A at the start, tapering to below 200mA at termination
- There is an onboard Red/Blue LED and solder holes for an external bi-color LED. The onboard LED states are:
- RED = Charging
- Blue = Finished
- Both the onboard and external LED connections are tied to +V via the same 1K current limiting resistor. This resistor is routed to the center hole of the 3-hole external LED breakout. The rightmost hole is tied to an open-collector gate that goes LOW upon charge termination, and the leftmost hole is tied to an open-collector gate that goes LOW upon charge initiation. In my testing circuit above, these lines are labelled ‘Fin’ and ‘Chg’ respectively and were routed to digital inputs with 20K pullups on the Arduino UNO.
- This is NOT a balance charger – so there may be differences in cell voltages over time. If this is a potential issue, then separate cell protection modules like these should be installed.
Here’s an annotated photo showing the pertinent features:
So, it looks like this TP5100 module will work fine for my 2-cell LiPo application, with the addition of an external 2-cell protection module like the one noted above. Not only will this solve my original IR drop problem, but it is much smaller and simpler too, as shown in the following size comparison shot. Oh well, at least I had a lot of fun building up and testing the original charger module ;-).