View Full Version : [Question(s)] How do I avoid trashing my LiPo batteries?

12-13-2014, 03:22 PM

I think I killed my 3S LiPo battery (http://www.trossenrobotics.com/3s-11v-2200mah-25c-lipo-battery). I've been using it in my hexapod to run 24 AX-12A servos and a RaspberryPi, which I figured was alright, since the Continuous Discharge is listed as 66A on the product page. But after I (rather foolishly) ran it until the servos died, my charger says "Battery Vol Err, Cell Connect":


And when I check the voltage, one of the cells is all the way down to 1.16v:


Oops. I've read that it's important not to let LiPo cells fall below 3.0v, which I've gone and done, so I'm guessing that this battery is done for. My question is, how should I avoid doing this in future? Should I hook up some kind of low-voltage cutoff? (Do most LiPo robots have this?) Or should I be using a different battery for this project?


12-13-2014, 06:19 PM
Well for starters you probably need one of these. http://www.trossenrobotics.com/p/1-8S-lipo-battery-voltage-tester-monitor.aspx

As far as the setup itself and that battery it is probably fine. I ran a raspberry pi on my hexapod last year and never had a problem. I run an Intel NUC now with a voltage upconverter and never had a problem with that either.

You might be able to resurrect it by doing a non balance charge for a few minutes until the voltage gets high enough to balance charge it. Although do that very carefully... might want to google that before trying. :)

Edit: you could always poll the servos for voltage as well to get an idea where it is at.

12-13-2014, 09:23 PM
Should I hook up some kind of low-voltage cutoff? (Do most LiPo robots have this?)

Yes, and yes!

I killed a 3S with my Raspberry Pi based remote control panel, in much the same way: Forgot to turn it off and it ran down.

I now turn off power using a small circuit that contains a power MOSFET, that gets pulled high by a Atmega85. The Raspberry Pi continually receives voltage measurements from this Atmega over SPI. When the voltage is lower than 9.6V, the Atmega will turn off power. The RPi can also soft power off (through the UI) by sending a command over SPI.

It used to be that you could buy little cut-off circuits from hobby stores, when LiPo was new, but that function was subsumed into the ESCs for electric motors, so I haven't found any good ones lately.

Here's the latest incarnation (added a power-off button, in addition to the existing power-on button): https://oshpark.com/projects/sB57IxNv

And finally: The 24 servos each measure the voltage as well. You could poll them, and when voltage is low, "do something." (Here's where the remote-operated power breaker is very convenient :-)

12-14-2014, 09:32 AM
Been there, done that!

Personally I have killed at least two batteries. After looking at Net I decided it was cheaper to buy a new one than to risk fire and explosion.

jwatte and KevinO have much better solutions than I have tried. Some of the things I do NOW include:

Try to remember to plug in the Alarm to the battery balance plug (wish you could just leave them plugged in).

Code in Phoenix(Hexapod code), Tries to detect current voltage, if it gets below a threshold, it turns the servos off.

With my PhantomX (using Phoenix code) goes into idle mode (example controller turned off), I start to go around and blinking the different servos leds as to let me know it still has power. I kill a battery earlier thinking I had powered it off and had not...

I am currently in the process of Installing an Edison on the PhantomX (have it mounted, now working on power Hub...) Will continue to do as above. In addition I will:
a) Probably use a TFT display, which will show the battery level along with some other stuff. Will have code to measure the battery voltage (The Arduino breakout board has AtoD hardware), so will measure batteries through voltage divider.
b) like earlier when it gets to a threshold, warn and then shut off servos.
c) When it goes even lower, have it issue a "shutdown now" command to Edison to have it power itself off.

Good Luck

12-14-2014, 04:26 PM
I didn't notice that the Dynamixels could report their voltage -- that's very handy. (These servos really are quite fantastic little devices.) For now, I'll just poll that regularly, and power everything down when it hits 10v or so. I'm using my own software, but I expect that's pretty simple to implement. I'll probably add a dedicated cutoff circuit eventually, but that's a bit beyond me for the time being.

Having Googled around and found mostly dire warnings and photos of exploding LiPos, I'm going to let this be a lesson and just order a new one. Also one of those voltage tester/monitors.

Thanks very much for the advice!

12-15-2014, 02:08 PM
Simplest way to read it is to shunt the AX_PRESENT_VOLTAGE register (I use servo 1) into a variable.

12-22-2014, 11:51 AM
I may have to look using one of your boards (maybe more) as I do have a history of killing Lipos (including one 2 days ago on Edison :0

Thought I had turned off the switch when done testing, but did not...

I did do a "shutdown now" to the edison board, which turned it off, but it does not shut off power to shields on their Arduino board, so XBee still had power as did the TFT display as well as the 18 AX servos, although their motors were turned off.

So wondering about a few different products, like:



In the mean time I think I will start adding some more automatic shutoff code, and see if I can at least minimize stuff when I screw up.


12-22-2014, 02:31 PM
The Dimension Engineering one seems to only detect and affect throttle -- it doesn't go in-line in power distribution.

The Tenergy one seems better, although it looks as if it expects to be the main battery controller -- the balance connector is not high enough current.
It also has this: Current consume in normal operation: 40μA Max
Meaning you can't leave it for months.

The Draganfly looks like it's not sized for cutting the main motor power -- it assumes that with a receiver off, the other things will also be off. (Which can be arranged through a separate MOSFET no doubt.)

Your best bet is probably the Tenergy PCB. But I think you can see why I ended up building my own? :-)

12-22-2014, 03:01 PM
I've been working with this board: http://www.mini-box.com/OpenUPS Take a look.

12-22-2014, 08:28 PM
I was wondering about the DE version as it mentioned changing the throttle and the like but did not notice any cutoff. I have seen a few up theire like the Tenergy and also was concerned about those who hooked up through the balance plug, as you mentioned, it too can drain the battery.

You are right that the Dragonfly would only be good enough to cut the power to the actual Edison board. I think I may also have a few other things like: http://www.basicmicro.com/Radio-Controlled-10A-Relay_p_44.html
And maybe some of the DI versions.

Wonder how many amps the 18 AX servos demand.

Kevin, they board you have looks pretty nice. Not sure from the online specs, will it completely shutdown the power from the battery when it gets too low? I notice it mentions sending signals to pc over USB. Costs about double of the Edison itself... But well definitely keep it in mind if I try to use the NUC.

So Jwatte I may have to take a closer look at your board!


P.S - I wonder why they don't sell some intelligent lipo battery that protects itself. I do see a few that automatically do balancing of the charge...

12-22-2014, 10:07 PM
The Tenergy board is one of many generic PCM boards available from countless sources for LiPo and LiFePO4 batteries to handle both balancing and discharge cut-off. 50uA is roughly the same order of magnitude as the self-discharge rate of an 1100mAh battery (self-discharge rates vary from 2~10%/month for rechargeable Lithium chemistries), so the PCM boards have little effect other than maybe dropping the mandatory recharge interval of stored cells from ~6 months to 3~4 months in smaller capacity batteries.

The reason most hobby batteries ship without PCM boards is the minimal packs are intended for short-term, very high-current, direct connections to motor controllers and servos, then completely disconnection and recharging once the R/C vehicle is finished with its run. Adding a PCM in that use-case is simply a waste of battery capacity as heat in the cut-off MOSFETs and extra weight of the PCM, plus the extra cost of the PCM (higher current limits requires more low-resistance MOSFETs which increases board size/weight and cost).

12-22-2014, 11:09 PM
higher current limits requires more low-resistance MOSFETs which increases board size/weight and cost

In fact, I've never seen these boards with very high current ratings. The highest I've seen is 15A continuous / 30A burst. The TO-220 P-channel power MOSFETS I'm using are rated for a lot more of that (even without additional heat sink) -- but also cost several dollars each :-)

I wonder why they don't sell some intelligent lipo battery that protects itself.

They do, but then you have poor power handling. You can buy Lead-Acid replacements LiFePO4 batteries that have all the protection and balancing built-in; charge with 15V; discharge to 11V or so.

The basic cut-off is very simple. Big fat power P-channel MOSFET with a pull-up for the gate to keep it off. Separate N-channel signal MOSFET (like a BS-170) pulling the gate down. The current for that can be used to also light up a LED. To turn off, ground the gate of the N-channel, which will make it stop conduct, which will turn off the P-channel through the pull-up. Size the pull-up for the P-channel gate to give the right current through the LED when on.
Optional things you can add include pushbutton on, pushbotton off, zener protection for the gate voltage, sensing of voltage on the board instead of leaving that to an MCU, etc.

The AX-12 probably draw slightly less than an amp total together when idle. Probably a lot more when under significant load -- they're rated to about 1A when stalled. You can also see this as a spike of inrush current when turning on, perhaps. i'd size the protection circuitry to 10A or better, assuming I don't actually plan on stalling everything at once...

(Also: AEG gearboxes draw several amps each. In case that's part of the plans for some reason :-)

12-23-2014, 12:17 AM
In fact, I've never seen these boards with very high current ratings. The highest I've seen is 15A continuous / 30A burst. The TO-220 P-channel power MOSFETS I'm using are rated for a lot more of that (even without additional heat sink) -- but also cost several dollars each :-)

As Charles G. (http://www.etotheipiplusone.net/?p=1991) put it: the design paradigm of "CTRL-C CTRL-V" (http://www.batteryspace.com/pcmwithequilibriumfunctionfor4cells128vlifepo4batt erypackat100alimited.aspx).

Most of the generic PCM boards use common drain N-MOSFETs as a low-side bidirectional switch, instead of high-side P-MOSFETs with protection components, for simple and inexpensive bidirectional power control (N-MOSFETs generally require less silicon than P-MOSFETs to achieve a given Rds, so usually less expensive and lower capacitance). Also makes it very easy to do PCB layout and heat-sinking since the tabs of DPAK, D2PAK, and several other power packages all connect to the drain, so you can make big arrays of them tab-to-tab where common source requires rotation and/or offsets to keep short and thick common traces.

Edit: checking another source of PCM shows the MOSFETs as a high-side, common drain, bidirectional switch, so guess there is a bit more variation than I thought.