Select the Right Battery for your Robot DC Motors – Part 2 of 2

This is the second part in this series. To read the first part please click on Part-1

Matching Motors with Batteries. The Mathematics

So far, we learned motor specifications, battery specifications and battery types. Now, we are equipped to make simple decisions on what battery to select for a given motor and operational characteristics. In this discussion, we will consider mobile robots and not flying robots. As stated before, that will require another writeup!

To make this concept clear, I’ll take my example. I wanted to build a robot with 4 wheels. So, I have the chassis, 4 geared DC motors and 4 wheels. For each one, the image and specifications that were available to me are given below:

Geared DC Motor: 

12V 60 RPM DC Motor

12V 60 RPM DC Motor

The motor specifications available to me are:

  1. Voltage = 6V – 12V (max)
  2. RPM = 60 RPM
  3. Motor Weight = 125gm
  4. Torque = 2Kgcm
  5. No-Load current = 60mA (max)
  6. Stall current = 300mA (max)

A. Calculating Weight of the Robot Assembly

The DC motor weighs approx. 125gms/motor, chassis weighs another 125gms and each wheel weighs around 50gms.

Weight (approx) (Without Electronics) = (4 x DC motor weight) + (1 x chassis weight) + (4 x wheel weight) = (4 x 125) + (1 x 125) + (4 x 50) = 825 gms

Thus, the basic motion hardware is close to 1Kg! This I call as Wch– The chassis weight

Now let’s assume that the electronics will add some more weight. Let’s assume it is close to 100gm (that’s a lot by the way). We call it Wel 

The last thing to consider is the battery weight. Well, this is not available easily. So we need to weigh again. This is a catch 22 situation. We have to select a battery but before that we need to know the weight! Just denote this as Wbt

Thus, total robot weight Wrb = Wch + Wel  + Wbt

From the above calculation, we know that the chassis and electronics weigh around 1Kg. Adding another 20% to that, a simple thumb rule for small robots, accounting for the batteries, the total robot weight is 1.2 Kg. (This is not a liner rule. Take the extreme case of NASA rockets. I guess the fuel weight is 80% of total weight).

Please note, when I say weight, its actually force because the value is mass x 9.8 m/s^2.

So remember this clearly…the mass is Weight divided by 9.8. That is what you should use in the equation that we will derive next.

B. Calculating Mechanical Power Requirements

We now have the dead weight of the robot which is actually the gravitational force.

To calculate the power and eventually battery capacity, let’s take a general case where we are trying to make the robot climb a small incline. We could have very well chosen the easier case of robot moving on a flat surface. However, that could lead to borderline case calculation. Trying to drive something uphill always requires more power than moving on a flat surface. Thus, considering a small incline will take care of any unforeseen situation and will also result in slight overpower. Not a bad situation as compared to an underpowered robot.

The diagram below outlines the various physical forces that come into play when your robot tries to move up an inclined surface:

Incline for robot physical forces

Here is an explanation of the diagram:

  1. The surface is inclined at an angle α (alpha)
  2. The circle represents a single robot wheel with radius R
  3. The weight of the robot acts downwards, perpendicular to the ground, irrespective of the inclination angle. Its value is mg (mass x gravitational acceleration). This is in fact a force
  4. The force Fn that gets balanced by an equal and opposite force upwards (Newton’s 3rd law, normal force)
  5. Fadv is the force required to move/accelerate the robot up the incline. This force must be greater than the sum of the frictional force trying to stop the wheel from rotating (Ff) and the component of weight trying to pull it down. The worst case scenario is that the robot is accelerating upwards too. The equation can be written as

Fadv  = Ff + mg Sin α

The frictional force is Ff =  μ mg Cos α

; where μ is called the co-efficient of rolling friction and is a dimensionless number. In fact, this number has two different values in two different conditions; when the object is stationary, its called “static friction” and when the object is moving, I guess it’s called “kinetic friction”. Whatever the name be, its important to know that static value for μ is far greater than kinetic value. Also, it’s difficult to measure and have a precise value for this. The value of μ is different for different cases. It’s dependent on the wheel material and the surface on which its moving. In my case, my wheel has rubbers and my house has concrete flooring. For that case, a quick search on internet reveals a value or around 0.9 – 1.0

Another way to look at it is that when the wheel tries to counter-balance the friction, there is torque produced. This can simplify our life. Thus, we can say

Ff = T/R

Where T is the torque produced by the wheel and R is the wheel radius.

With this, the new equation is

ma  = T/R + mg Sin α

Now, lets take care of the direction of these forces. The weight is pulling the robot down and the friction/torque is pushing the motor up. Therefore, taking the negative sign into consideration or the opposing nature of these forces and rearranging the equation above, we get a value for torque as

T = m x (a + g Sin α) x R

The above equation is for total torque. If we are driving our robot using N number of motors, then torque per motor is

Tm  = [ m x (a + g Sin α) x R ] / N

Given that we do not have very high efficiency in the cheap motors that we get from local shops, we need to account for the efficiency. Therefore, the actual torque required per motor would be

Tactual  = [ m x (a + g Sin α) x R ] * (100/E)/ N

Where E is the efficiency of the motors in %. Based on data available on the internet, a safe figure is 70%.

The power is given as P = T ω

Even though we are considering velocity in the straight line, we need angular velocity since the wheels rotate. The relationship between angular velocity and linear velocity is

ω = v/R ; R = radius of the wheel 

Thus, power needed per motor becomes

P = Tactual x ω = Tactual x v/R

C. Calculating Electrical Power Requirements

After we successfully calculate the power we now need to derive how much current is required to deliver the power for a given voltage. The power equation in electrical terms is

P = Voltage x Current

Please remember, the mechanical power that we calculated before is what our motors should provide. To provide that power, we need a voltage and current. Thus the electrical power supplied to the motors must be at-least equal to the mechanical power required. Therefore, the power equation is

Pmechanical = Pelectrical

This means, we can safely say that, at minimum, we must satisfy the condition below for every motor

Tactual x v/R = Voltage x Current

We know the power requirements from our previous calculation. We select a voltage that falls within the motor supply voltage range (good practice is to select the middle value from the range). Thus, the total current requirement will come out as

Current = P / Voltage

The above value is instantaneous current for each motor. To be able to supply the current for a period of time (in minutes or hours), we simply need to multiply it with time. Thus, we get the batter capacity as

Capacity = Current x Time

Thereby giving us the mAh rating of the battery!

Remember, the above capacity is for one motor (Since this was derived from the Torque per Motor equation). Thus, to get the actual capacity, multiply the capacity by total number of drive motors.

Another interesting point to note is that the final power requirement equation becomes independent of the wheel radius!

Some folks say that you should have 3 times the calculated power to be on the safe side. I’m not sure if we need to go that high. But depending on your case, you are probably the best judge of making that call.

Finally, I’m still learning…so if you think there are some errors in this, please point it out to me (I still have many questions in my mind 🙂 )

Disclaimer : You bear the risk of anything unexpected and trying it…don’t blame me! You cannot build a NASA robot with these. The values are only rough approximations

34 thoughts on “Select the Right Battery for your Robot DC Motors – Part 2 of 2

  1. Your normal force in your free-body diagram is pointing in the wrong direction. The normal force will be holding the robot on the incline by pointing upward. The normal force and gravitational force will not be able to balance in the free-body diagram you have provided.

    • You are right. The normal force is perpendicular to the ground that prevents the object from penetrating to the ground…my simple way of understanding. Wanted to split the gravitational force into two components and created the confusion. Have indicate the normal force in the diagram now.

  2. I just want to say I am just beginner to blogging and truly enjoyed you’re web site. Likely I’m going to bookmark your blog . You amazingly come with really good article content. Cheers for sharing your web page.

  3. Select the Right Battery for your Robot DC Motors – Part 2 of 2 Vishnu's Blogs Pretty nice post. I just stumbled upon your weblog and wished to say that I have truly enjoyed browsing your blog posts. In any case I will be subscribing to your feed and I hope you write again very soon!

    • No sir, the equation is correct. Let’s assume that I need a Torque of 1 Newton meter. I buy a motor from the shop that has rated torque as 1 Nm but the efficiency is written as 70%. Therefore, the motor actually delivers only 0.7 Nm. Thus, to get at-least 1 Nm with a motor of 70% efficiency, I need a motor with minimum rating of 1/0.7 = 1.42 Nm. Thus, we need a higher number if the efficiency is less than 100%. Hope this clarifies.

  4. Pingback: Batteries | Raspberries and other fruits

  5. Now, we can consider the robot motion formulas. There is a formula that links the motor torque with the robot weight and acceleration. So this formula provides us a very important information. That is, knowing the robot weight (in kg), knowing the acceleration desired, this formulas says wich is the torque that we have to consider in the motor choice.

  6. Dear VISHNU,
    I am designing an AUV. My teammate did some calculations and found the following that the vehicle needs a torque of 9 N.m and 3000 RPM. I am trying to find a motor that can drive the torque-load of the vehicle so I did some calculations. I calculated both the mechanical power and the current, but the numbers do not seem right.
    Below is my calculation. I am wondering if you can help me with my calculations, and advise me. I calculated the mechanical power for the motor to drive the torque- load based on the information that was provided.
    Pmec= Torque * angular velocity
    Since the angular velocity is given in RPM, we need to multiply by 2*pi/60 which is 0.104
    so the mechanical power is:
    Pmec= 9N.m*3000*0.104
    P =2828 watts
    Then the current driven by the motor can be found as follow:
    P= V*I
    Assuming that the motor can be used with a 12 V power supply
    I =P/V
    I= 2828/12
    I= 235.66 Amperes
    Please, help me!

  7. hi thanks for your detailed explanation.

    i have one clarification in this equation ma  = T/R + mg Sin α

    a= ? is it 9.8 m/s^2 or only 9.8 ?


    • ma = T/R + mg Sin α
      m -> Mass (Kg)
      a -> Acceleration (m/s^2)
      T -> Torque (Nm)
      R -> Radius (m)
      g -> Gravitational acceleration (9.8 m/s^2)

      Considering only units:
      ma = Kg. m/s^2 = N
      T/R= Nm/m = N
      mg = Kg. m/s^2 = N

      Thus, LHS = N and RHS is N + N

  8. Hi i need your advice on battery power for my son first build of unmanned surveillance track vehicle. The chassis is a Dagu Multi Chassis Tank Vsrsion (, using a Dimension Engineering Sabertooth 2×5 RC controller, a Frsky 8 Channel receiver, 4 servo running on 2 channel (2 servo each channel) in receiver via a ‘Y’ servo cable to create a synchronized movement…. they are, 2 servo for Pan & Tilt Camera (Camera and VTX transmitter for FPV power by standalone 2s lipo), 2 servo for Pan & Tilt Searchlight (searchlight LED power to be drawn form main battery via balance plug powering the controller and motors).

    The motor that came with the chassis is the DG01 48:1 (, my son decision is to go the Lipo battery route since he have a couple of 2s and 3s lipo from RC cars and Drones.

    Our doubt and question here is, can we use a 3s 11.1v 2200mAh 35c lipo and not risked toasting the motors (DG01D) ? If not possible what are the recommended lipo size? These type of motors are faily new to use.

    I do not have all the specs or weight or voltage current draw of the component in this build but could you give me a rough answer to the correct size of battery to use base on the above… maybe base on the approx weight of the chassis, motors and 4 servos…

    Your kind help is very much appreciated.

    Thank you,

    • Hi Allan,
      Following observations:
      1. Motor datasheet states max voltage is 4.5V DC. Therefore, using a 11.1v 3S LiPo will perhaps fry it.
      2. The C-rating (35C) of the LiPo battery indicates how much current draw is possible. For this, rated at 2200mAh, at 35C, you can get a max of 35*2.2A=77A, but with that much of current draw, the battery will last only about 2 mins.
      3. The max current draw , as per datasheet is about 250 mA. The battery C-rating is way above this requirement, therefore, the C rating is fine.
      4. The motor torque is also given. You need an approximate weight of the chassis to do any reasonable calculation. Just put all the electronics that will go on the chassis on a weighing scale and get the approx. value. Multiply that value by 2 (safety factor). Then apply the formula given on the blog. The torque of 800gm-cm is given for the motor. This is a good indicator and you can compare this value with the calculated value.

  9. thank’s for the information . but i think that the weight and the friction force in the same direction (it’s clear at the free body diagram)
    and the equation should be (T = m x (a – g Sin α) x R).
    if i’m wrong,please show me.

    • No really. The weight will try to pull down the block while friction will try to stop it from sliding down. Therefore, they act in opposing direction. That is why, the force required to push the block up = frictional force (acting upwards) + weight (acting downwards). Taking into consideration the directions, since they are opposing forces, the equation really is ; force to push up = frictional force – weight component.

  10. load current of the 12v dc motor is 9A , torque and 1000rpm .how much is the max. AH battery i can supply to it.because i have a 80A 12v battery and iam thinking of using a HBRIDGE i want the motor to run for atleast 30 mins .what is maximum current i can supply to it???….plz reply at your earliest.

    • There is not much information in your question,so I’ll make a simple assumption. Assuming that motor runs on constant load and consumes 9A. To make it run for 1 hour, you need a 9AH battery. It’s the battery capacity (in AH) and discharge current (in C) that you need to specify. So check the capacity and compute the total run time.

  11. Your article was quite useful. I have a doubt though . Can the discharge current of my battery be less than the required current. I mean like my battery is rated for 12Ah and discharge current is 7A .I need 10.6A (approx) for my robot .Is that okay or do I need to use two batteries in parallel for the robot.Thanks in advance .

    • You are mixing multiple things. Since the battery is rated for 7A, my understanding is that the maximum it can discharge is 7A. Therefore, if it continues to discharge 7A, then it will be fully discharged in about 1.7 hours (since it is rated at 12AH).
      Now, you have stated that your motor needs 10.6 A, but since the maximum your battery can deliver is only 7A, you can still use the battery, but the motor will not reach it desired performance (what you want it to do at 10.6A). Note of caution: Given the high currents, you must have have protection built into your design.

  12. I am designing a Telepresence robot for that per motor which can carry 15 kg, so after observing your formula i have a doubt that while putting values in the final formula of torque T actual = [ m x (a + g Sin α) x R ] * (100/E)/ N : what value of m should i put m = 15 kg or m = (15 / 9.8) ? please clarify regarding the weight ?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s