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:
The motor specifications available to me are:
- Voltage = 6V – 12V (max)
- RPM = 60 RPM
- Motor Weight = 125gm
- Torque = 2Kgcm
- No-Load current = 60mA (max)
- 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:
Here is an explanation of the diagram:
- The surface is inclined at an angle α (alpha)
- The circle represents a single robot wheel with radius R
- 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
- The force Fn that gets balanced by an equal and opposite force upwards (Newton’s 3rd law, normal force)
- 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