Basics: How Do I Choose a Battery?

Given the wide range of actuators and electronics which go into a robot, choosing the right battery may not be an easy task. This article guides you through the thought processes involved in choosing one or more batteries for your robot.

NiMh Batteries
LiPo Batteries
Single Cell Batteries
Even if you are just starting in robotics, you may have already realized that the components you want to use don't all operate at the same voltage. If you look at a production robot, you start to wonder "how is everything working off just one battery?". There are two approaches taken, and we'll help you determine which is best for you.

Multiple Batteries

Advantages

  • Requires less design time
  • Can be more efficient

Disadvantages

  • Various parts of the robot will stop working at different times
  • Multiple batteries to recharge
How do you know if you need multiple batteries? Check the nominal voltage of each of the products you selected:
  • Electronics (microcontroller, motor controller power etc) usually operate at 9V-12V. Some operate at low as 3.3V and 5V.
  • Actuators (DC gear motors, stepper motors, servos etc) usually operate at 6V to 12V. A few operate as low as 3V
  • Sensors usually operate 5V
Based on the ranges above, it's easy to see how, wen selecting optimal components for your project, that the voltage range may differ for each type of component. Fortunately most microcontrollers has a built-in voltage regulator which provides 5V to the I/O pins, so you don't need a dedicated 5V battery. Should you choose a normal microcontroller, it's likely that the voltage range is 9V to 12V. Operating a normal hobby servo motor (rated at 4.8V to 6V) from a 9V to 12V battery would quickly burn it. What to do? The easiest option would be to use a smaller 12V battery for the microcontroller, and a larger 6V battery for the servos.

One Battery

Advantages

  • One battery to charge
  • Lighter weight

Disadvantages

  • (May) require voltage regulator
  • A bit more complex to understand and wire
Continuing the example above, where we chose a 12V microcontroller and 4.8V to 6V hobby servos, we have the option of using one (larger) 6V battery pack and a step-up voltage regulator. A voltage regulator does exactly as the name implies; it regulates the voltage. In our case we would need one which can accept 6V input and step it up to 12V.

Choosing a lower motor voltage does not automatically mean the list of motors available to you will be low power. However, a high voltage motor (36V, 48V, 60V) tends to be reserved for large DC motors. The second approach is to first select the ideal motor and design your robot’s electronics system around the indicated nominal voltage. Both approaches have their advantages and disadvantages and it is up to you to choose which you prefer.

Voltage dividers allow you to power electromechanical devices at different voltages. Voltage dividers are purely electrical devices with no programming involved. If you do not want to use voltage dividers, most electronics operate at 5 to 9V, so choosing either 6 or 9V as your robot’s supply voltage is the best choice (never assume an electronic device operates at 6 or 9V: you always need to read the supply voltage specifications for each electronic component). The other option is to use two different power supplies: one for the motors and another (smaller one) for the electronics.

Should you wish to operate your robot at 9V, you can often still choose a 12V motor, though you must keep in mind the rpm will be less that that listed (estimated as a fraction of the nominal value) and the motor efficiency will be slightly reduced.

Tips / Tricks

Standard battery voltages are:
  • 1.2V: one rechargeable NiMh AA or AAA battery (unless you want a really small robot, one cell does not do much)
  • 1.5V: one Alkaline AA or AAA battery(disadvantage of not being rechargeable and can't do much on its own)
  • 2.4v: two rechargeable AA or AAA batteries; still can't do much on their own, even for small robots
  • 3V: two alkaline AA or AAA batteries; most microcontrollers cannot operate at this voltage, let alone most actuators.
  • 3.6V: three rechargeable NiMh AA or AAA batteries; this is usually the minimum voltage to run certain microcontrollers
  • 3.7V: one LiPo battery; this is close enough to 3.6V and is the minimum to run certain microcontrollers
  • 4.5V: three alkaline AA or AAA batteries... why even consider non-rechargeable in robotics?
  • 4.8V: four AA or AAA together provide the minimum voltage to operate a standard hobby servo motor. These can be either as individual cells or as a single rechargeable battery pack.
  • 6V: four AA or AAA alkaline batteries, five rechargeable NiMh cells or one 6V rechargeable lead acid pack; this is the maximum (and ideal) voltage most hobby servos can handle. Use these if your servos need a bit more power.
  • 7.2V: six AA or AAA rechargeable NiMh batteries is perfect for 7.2V DC gear motors. These are usually in a battery pack rather than as individual cells and you will need a more specific NiMh battery pack charger.
  • 7.4V: two LiPo cells can often power a microcontroller and works great for 7.2V DC gear motors. Unfortunately it's too high for most hobby servo motors.
  • 7.5V: five alkaline AA or AAA: almost never used because it's simply too many single-use batteries.
  • 8.4V: 7x NiMh AA batteries (hard to find chargers for 7xAAA NiMh batteries). This is also not used much because it means charging 7 batteries at the same time.
  • 9V: 6x Alkaline batteries, one 9V (NiMh or Alkaline) battery or one 9V lead acid batteru: please avoid using 6x alkaline for the sake of the environment. A 9V single cell rectangular battery is often used to power the microcontroller in dual battery configurations. 9V lead acid batteries are a bit harder to find and although they are quite heavy, are fairly inexpensive and high capacity.
  • 9.6V: 7x NiMh cells, usually in a battery pack configuration. This is good for motors which operate at 9V, and also for microcontrollers (most can operate above 9V).
  • 11.1V: three LiPo batteries produces almost 12V and is much lighter than 10x 1.2V cells or a 12V lead acid battery pack. You need a specific LiPo charger capable of charging 3 cell LiPo packs.
  • 12V: 10x 1.2V cells (always configured as one NiMh battery pack) or one 12V rechargeable lead acid battery pack. 12V is ideal for a variety of DC gear motors and most microcontrollers.
  • Anything above 12V is usually reserved for very large robots. If you have a 14.4V LiPo or 18V NiMh pack from a cordless drill, keep in mind that finding motors which operate at these voltages is not easy.
Robots using servo motors (legged robots or robotic arms) tend to operate at 4.8V (4x AA NiMh cells) or 6V (5x NiMh AA cells). You can use a fairly inexpensive voltage regulator to power the microcontroller, increasing the voltage from 6V to 9V.

Small to medium mobile robots often use a 6V, 9V or 12V NiMh battery pack, the choice of which depends on the nominal voltage of the drive motors. If the robot includes one or more servo motors (for a pan/tilt for example), the microcontroller can usually provide enough current from a 5V digital pin. If your microcontroller operates at 9V and you want to use 6V motors, you might consider a two battery solution.

Medium sized mobile robots tend to use one 12V battery; lead acid or single NiMh battery pack (or an 11.1V LiPo battery if weight is an issue). Large robots use 12V or 24V from one or more lead acid battery packs.

Chemistry

NiMh: This is by far the most common type of battery used in mobile robots. NiMh batteries are rechargeable and their value (price / capacity / weight) is hard to beat. There is almost no memory effect, meaning every charge should bring the battery up to full capacity.

NiCd: These batteries are slowly disappearing because of their memory effect: if you don’t discharge the battery properly and then recharge it to full capacity, you lose part of the capacity each time.

Alkaline: These are the least expensive batteries in the short term, and provide a higher voltage than NiMh, but are not great for the environment, and you constantly need to buy replacements.

Lead Acid: Still the cheapest option for high capacity, lead acid is usually reserved for medium sized robots because of their incredibly high weight.

LiPo: These are fast becoming the most popular type of battery because of their light weight, high discharge rates and relatively good capacity, except the voltages increase in increments of 3.7V, so you need to plan to use LiPo before selecting your electronics and actuators.

Nominal Voltage

A motor's nominal voltage is the voltage at which the motor provides the best power output to efficiency ratio (rather than highest efficiency or highest power output). Operating a motor at the nominal voltage also helps to guarantee a long useful life.

Capacity

A battery's capacity determines roughly how long a battery will last at a specific voltage given a specific discharge rate. For example, if you choose a 12V, 2Ah (2000mAh) battery pack (regardless of chemistry), the battery should be able to run a 12V motor consuming 2A continuously for 1 hour. Alternatively, it can run a 12V motor consuming 1A for 2 hours, or a 12V motor consuming 0.5A for 4 hours. The rule of thumb is to divide the capacity (assuming you are running an actuator at the same voltage) by the actuator's current under normal load to get the time the motor will last.

Example 1

2x Drive Motors: 6V nominal, 1A each under normal load

1x 6V NiMh Battery Pack, 2200mAh (equivalent to 2.2Ah)

Note that the battery was chosen based on the motor’s nominal voltage.Should you instead operate 6V motors from a 7.2V battery, the calculations become more difficult (use the total watt-hours divided by the total watts per hour to get an idea).

Therefore the 6V battery pack will last:

2.2Ah battery / (2 motors x 1A per motor) = 1.1 hours

Example 2

18 servos used for a hexapod robot which operate at 6V nominal and consume 250mA under normal load*

1x 6V NiMh battery pack at 5Ah.

First, we will assume that all motors are under load at all times (i.e. worst case scenario) and therefore all 18 will be consuming a total of 4.5A

5Ah battery / 4.5A = 1.1 hours

Note again that the battery was chosen based on the motor’s nominal voltage.

Discharge Rate

The continuous discharge rate of a battery is very important because if you choose a battery that cannot discharge at the required current, the robot will either not work properly or not work at all.

Example 1

You selected four 12V motors for your 4WD outdoor mobile robot. Each motor consumes 1A under normal load, and more in the case of a slope. You decide to choose a 12V, 2Ah NiMh battery pack, not caring about the continuous discharge rate. You discover that your robot stops when it encounters even the slightest obstacle or incline. Why? In this case operating all four motors consumes ~4A while an NiMh pack can only discharge at about 1.2 times the capcity (1.2 x 2Ah = 2.4A). The current draw from the motors is therefore higher than the battery can provide.

Example 2

You selected two 7.2V DC gear motors which consume 1.5A each under normal load, and up to 2A each under stressful situations. This means that the battery needs to be able to provide at least 3A normally and up to 4A safely. If you choose an NiMh pack it would need to be 4A / 1.2C = 3.3Ah. The alternative would be to choose a LiPo pack because they can often discharge at 5C or higher, meaning you would be able to get away with a 4A / 5C = 0.8Ah pack. Granted the capacity is low, and you may opt for a higher capacity pack.

Burst Discharge Rate

 


This is a companion discussion topic for the original entry at https://community.robotshop.com/tutorials/show/basics-how-do-i-choose-a-battery

Longing for these kind of details for quite a long time, resplendent work dude, LET GOD REWARD YOU

its very helpful.thank you

I want to design a protection circuit (current protection) for the LiPo battery that has to operate between 200 amps
The battery delivers 8000mA/hour at 24 volts.
It has been used to run my 9 motors for my robot can you please suggest me a good current protection circuit?

A protection circuit can either prevent a battery from being over-charged, or discharging too much. Unfortunately we cannot provide circuit diagrams or consultation on how to create one, but we can say there is quite a lot of free information online.

hlw. I have used 12 servo motor for my hexapod.so could u plz tell me wat should b better ratings of lipo battery to get best performance?i am thinking to use diz rating (800 mah,20A,12.6 V).is it okay?if yes thn how long it can sustain.

Be careful when using 7.4V LiPo batteries with RC servos (which normally work best at 4.8V to 6V). LiPo batteries can normally discharge at high current (a meaure of the capacity). The higher the capacity, the longer the robot will run, but also the heavier the battery will be. For hexapods similar to Lynxmotion’s, a 2-4Ah battery is best, and you might get 15-20 minutes of use. 800mA won’t last too long.

i need to control 20 servo…which battery shall i use?

@siddharth surya You need to add up the current required by all servos (assuming you will use them all at the same time) and then choose a battery which can provide that current. For specific product suggestions, please create a new topic on the RobotShop forum and provide details about your project.

Hallo,
If i have a micro-controller that consumes 150 mw and i wanna use 4AA battery, for how long it will stay till it discharge ?!

It depends on the capacity of your AA batteries. If they are 2000mAh (2Ah), and your microcontroller operates at 4.8V (or 6V), then it will theoretically last 2000*4.8/150 = 64 hours.

so i want to power a 12V 0.4A 36oz-in Unipolar Stepper Motor. I was planing on using a 11.1 v 1300mAH lipo battery to power it, power an arduino Uno and a sound board. or should I use my lead acid battery which is powering 2 12VDC motors

@carlos p For more technical questions, it’s best to create a new topic on the RobotShop Forum. We’ll be happy to help.

hello Coleman. Thanks for your post. I have a question: I use a microcontroller (ATMEGA328P, the same as arduino) with a BLE module too, both powered from a CR2430 litium battery (285mAH capacity). The consumption of the complete board (microcontroller + BLE module) is continuosly 0.8 mA but it comes to 4 mA a every 8 seconds (for a very little duration, less than 1 second). The fact is that the battery is going down very quickly: it takes less than 1 hour to put 3.6 volts in the circuit. What can I do? There is something wrong? Thank you!

I need to make an airboat for a 6 meter race. I bought a quadcopter 3.7V mini DC motor. When i use 2 AA batteries it has good speed, but when i changed them to 1 9V battery the difference was incredible. So, is it safe for the motor and the airboat if i use the 9V battery instead of the 2 AA batteries?

@luis r, This depends on the input voltage range of the motor. Normally a 3.7V motor might accept something like 2-5V, beyond which the motor will not operate efficiently, and the life span will be reduced. You need to find the specs for the motor to know if 9V will drastically reduce the motor’s life, or if 9V is within the tolerable range.

@Jose Ignacio What is the maximum discharge rate for the battery (normally in C). We suspect it might be 2-5C, so it can likely discharge at 1.4A (you need to confirm). Your battery’s capacity is only 0.285A, and it’s likely that your microcontroller is consuming well above 200mA (the BLE unit might consume 0.8mA, but the microcontroller is the one consuming all of the current).

is it possible to get 8amps under normal condition from a 4.5v battery…is there some other equipment to get this high power

@divyanshu it depends on the battery, chemistry and discharge rate. Simply look at the battery’s discharge specs.

hey man, thank you for this information.

i have a query. I am using 4x 9g micro servos which run at 4.8v to 6v
& atmega 328 working at 5v.
Both are connected via voltage regulator 7805.
To power all these, i have an 11.1v lipo 1000mah 20c.
But i still havent bin able to use that battery as i fear it might burn the whole system.
How do i deal with it?