### Author Topic: can you check my motor calculations?  (Read 2853 times)

0 Members and 1 Guest are viewing this topic.

#### JamesG

• Beginner
• Posts: 6
##### can you check my motor calculations?
« on: February 09, 2010, 09:13:09 AM »
Hi,

I'm planning on building a robot in stages, the first stage of which is to make a base with motors and power control. The idea is to add pieces until I have a fully-autonomous robot which can move around through my apartment and sense the room that it's in (maybe build a "map" of the room it's in).

I'm not entirely sure how heavy the robot is going to end up being, but I don't think it will be heavier than about 2.5-3kg.

I've been looking everywhere for motors to use, and I *think* I've finally found the right ones! I've been using the RMF calculator and a little bit of mechanics knowledge to help me out. Can you please check over my calculations to see if I've got this whole thing right.

What I want:
Robot weight: 2.5-3kg
Max speed: 2m/s
Acceleration: 1m/s

The motor I'm looking at is the following: http://www.pololu.com/catalog/product/1102

Free-run RPM: 500
Stall torque: 5Kg-cm

So I used info from here: http://lancet.mit.edu/motors/motors3.html#tscurve

And taking into consideration I want to work in the optimal power range, the RPM will be 250 and the torque 2.5Kg-cm

So I drew a diagram of the forces acting on the wheel. The torque of the motor results in a force at the contact point between the wheel and the ground, parallel to the ground, and the opposing force at the wheel center (same magnitude, opposed direction). In order to calculate this force I said:
Torque = Force * Distance
Given (constant?) torque: 2.5kg-cm
Force = Torque/Radius = 2.5/6 kg(f) <- Kilograms of force

Then (and this is what I'm not entirely sure about) I found a calculator which said that 1kg(f) = 1*g N (g = 9.81m/(s^2))
So: Force = (2.5/6)*g N

Now (and this is also something I'm not sure about) I said that the force acting at the center of the wheel will act against the mass of the object causing the acceleration, such that:
a=f/m
a=(2.5/6)*(g/m)
assuming m=2.5kg:
a=g/6 m/(s^2)
a=1.635 m/(s^2)

Also:

v = r*c (r = rotations per second, c = circumference of wheels)
w = 250/60 = 4.16 /s
c = pi*.12m
v = 4.16*.12*pi
v = 1.56m/s

So the final values from the calc's are that I'd have:
a=1.635m/(s^2)
v=1.56m/s

So I could adjust the circumference of the wheel a little bit (to be about 13/14 cm) and I'd be closer to my goal of 2m/s and 1m/(s^2)

Also, the final consideration I have is the following: In the article I linked to above (with the torque/rotation curve) they said that the optimal efficiency is at 250rpm and 2.5kg-m torque. But how does one "get" those figures? I assume it's with appropriately setting the load on the motor so that it cannot operate any higher/lower than 250rpm? Are there other factors I need to think about when I say that I want to operate in the optimal operation point of the motor (250rpm 2.5kg-cm)?

James
« Last Edit: February 09, 2010, 09:16:36 AM by JamesG »

#### nottoooily

• Full Member
• Posts: 91
##### Re: can you check my motor calculations?
« Reply #1 on: February 09, 2010, 07:19:29 PM »

Force = Torque/Radius = 2.5/6 kg(f) <- Kilograms of force

Then (and this is what I'm not entirely sure about) I found a calculator which said that 1kg(f) = 1*g N (g = 9.81m/(s^2))
So: Force = (2.5/6)*g N

Yep

Now (and this is also something I'm not sure about) I said that the force acting at the center of the wheel will act against the mass of the object causing the acceleration, such that:
a=f/m
a=(2.5/6)*(g/m)
assuming m=2.5kg:
a=g/6 m/(s^2)
a=1.635 m/(s^2)

Yep looks OK.

If you carry the units through you can use that to pick up many errors. Eg your initial force is
F = 2.5kgf-cm / 6cm
= 2.5kgf / 6  <- clearly a unit of force
Tho if it was me I'd get rid of the rediculous kgf and cm from the start.

v = r*c (r = rotations per second, c = circumference of wheels)
w = 250/60 = 4.16 /s
c = pi*.12m
v = 4.16*.12*pi
v = 1.56m/s

Yea, tho I think you mean r instead of w.

So the final values from the calc's are that I'd have:
a=1.635m/(s^2)
v=1.56m/s

Yep, tho that's only the acceleration at 1.56m/s.

You ignored friction which will limit the top speed. Without friction the motor will pass through the point you calculated and just go right up to it's no-load speed of 500rpm where the torque becomes zero as it can't accelerate any further.

Also, the final consideration I have is the following: In the article I linked to above (with the torque/rotation curve) they said that the optimal efficiency is at 250rpm and 2.5kg-m torque. But how does one "get" those figures? I assume it's with appropriately setting the l

It says maximum power is at half speed and half torque. You can get that from P = torque * angular velocity. You should find the maximum value occurs there. Clearly there's zero power at both extremes, unloaded and stalled.

I think maximum efficiency is usually about 70-80% of top speed. You can calculate efficiency from eff. = Power out / Power in
Power out is as above.
Power in is P = I V.

factors I need to think about when I say that I want to operate in the optimal operation point of the motor (250rpm 2.5kg-cm)?

Not really, but setting the load just right isn't easy! It changes with acceleration, which has to vary between something and nothing as it gets up to cruising speed. And it changes with friction eg driving from carpet to lino. So you have to choose which load and speed is most important to you - optimum acceleration at low speeds? Or highest maximum speed? Optimized for carpet or lino?

• Robot Overlord
• Posts: 202
##### Re: can you check my motor calculations?
« Reply #2 on: February 09, 2010, 07:32:39 PM »
As nottoooily says your calculations look good, but don't forget that if you are using more than one motor you will need to multiply your torque figures to match.

#### JamesG

• Beginner
• Posts: 6
##### Re: can you check my motor calculations?
« Reply #3 on: February 09, 2010, 09:00:45 PM »
Thanks for the response!

I'd completely forgotten to factor in that I'd have two motors.

So double the motors = double the torque which will double the acceleration. (can you look at it like that, or would it be more of a 1.5x factor or so?)

I'm beginning to think that these motors may in fact be too powerful.

From what I understand now from you response nottooolly, ideally (not taking friction into consideration) the motor will accelerate the robot until it reaches a point where it can no longer be accelerated anymore (reaching top RPM). As it gets towards this point, the output power will decrease. From what I understand, the output torque of the motor when the robot is at a standstill (0 RPM) would be about the same as the stall torque, and would then decrease linearly until the max RPM is reached. Is this the correct assumption?

By taking the friction into consideration (assuming it's constant), the motor will be acting against the friction, which decreases the resultant output force on the robot, which decreases the acceleration (by a small margin). My thoughts now are how this affects the output RPM.

My train of thought is as follows:

The output RPM is dependent on the torque (which one can assume to be a constant factor of the motor) and the force required to be output by the motor (which will be acting against the friction). This means that the max RPM is dependent on the friction acting on the robot at that speed.

Assuming that the total friction isn't a HUGE amount, it's not likely that the max RPM of the motor on the robot will be much less than the rated unloaded max RPM (let's say, not more than 400 RPM). Which results in a max velocity of about 2.5m/s.

Another question which is slowly bubbling up in my mind is the relation between stall current and operating current with respect to stall torque and operating torque. The motor is supposed to have a stall current of about 5A, and if my above assumption regarding the output torque of the motor from a standstill until it reaches 500RPM (no friction) is correct, then I could also draw the conclusion that the motor will draw current (from standstill) in a linearly decreasing amount until the max speed is reached. If at 0 RPM the motor were to put out the stall torque, then one could assume that for a very short period of time, 5A of current would be drawn by the motor. I think another question which branches off from this one is how should I begin to try and calculate the operating current if the stall and no-load current are both given, and the frictional forces etc. are all known?

I'm guessing that most of my assumptions are incorrect here, but if they're wrong could you please tell me how I should look at this whole thing?

I'm pretty sure now that these motors will suffice for my needs, and I think I'm going to get them despite the fact that they're probably too powerful because I'm sure I'll be able to re-use them later in some other project anyway.

James

#### nottoooily

• Full Member
• Posts: 91
##### Re: can you check my motor calculations?
« Reply #4 on: February 10, 2010, 03:24:19 AM »
So double the motors = double the torque which will double the acceleration.
Yep, you can think of it as 1 motor with double the stall torque.

From what I understand now from you response nottooolly, ideally (not taking friction into consideration) the motor will accelerate the robot until it reaches a point where it can no longer be accelerated anymore (reaching top RPM). As it gets towards this point, the output power will decrease. From what I understand, the output torque of the motor when the robot is at a standstill (0 RPM) would be about the same as the stall torque, and would then decrease linearly until the max RPM is reached. Is this the correct assumption?

Yep.

max RPM is dependent on the friction acting on the robot at that speed.

Assuming that the total friction isn't a HUGE amount, it's not likely that the max RPM of the motor on the robot will be much less than the rated

Yes and yes. But it might be huge. I made that mistake once and the thing just ground along with the motors really bogged down.

(from standstill) in a linearly decreasing amount until the max speed is

if the stall and no-load current are both given, and the frictional forces etc. are all known?

Yep you can find the current at a particular torque by linearly interpolating between stall current and no-load current.

I'm guessing that most of my assumptions are incorrect here, but if they're wrong could you please tell me how I should look at this whole thing?

You seem to be pretty consistently spot on!

The actual calculations are probably simpler than you make it sound.

Total torque required by motor
= torque to accelerate (as you already worked out)
+ torque to overcome friction (easy if you can push it with scales)
+ torque to climb hill (not applicable to you)

Then just bang that number into the linear speed-torque curve to get the speed. Also bang it into the current-torque function to get current. Might take a bit of iterating with different wheel diameters to optimize whatever variable you want to optimize.

You might want to solve it for several cases:
-Accelerating at 0 speed
-Driving at friction-limited top speed (the only torque is friction)
-Accelerating at a few other speeds to make sure it actually gets fast enough quickly enough.
-Top speed on different floors if applicable
-Slamming into reverse. Not sure how motors behave in this condition, hopefully still linear!
-Acceleration and top speed for turning on the spot. Probably no big deal unless your robot is much longer than the wheel spacing.

• Supreme Robot
• Posts: 11,702
##### Re: can you check my motor calculations?
« Reply #5 on: February 13, 2010, 07:24:37 AM »
Quote
-Slamming into reverse. Not sure how motors behave in this condition, hopefully still linear!
Nope, not linear. But you never want to slam into reverse. It wreaks massive havoc not only in the electrical system (giant voltage/current spikes), but also mechanically (gear damage) as well.

Quote
-Acceleration and top speed for turning on the spot. Probably no big deal unless your robot is much longer than the wheel spacing.
My RMF calculations say very little about robot rotation requirements, but you don't have to worry about it. It *always* requires more torque to move a body compared with rotating it, so no problem. I'm too lazy to bring out the math, so just trust me.

#### nottoooily

• Full Member
• Posts: 91
##### Re: can you check my motor calculations?
« Reply #6 on: February 13, 2010, 07:45:27 AM »
Nope, not linear. But you never want to slam into reverse. It wreaks massive havoc not only in the electrical system (giant voltage/current spikes), but also mechanically (gear damage) as well.
Doesn't seem to bother my car! Unless you count those mysterious grinding noises

Quote
-Acceleration and top speed for turning on the spot. Probably no big deal unless your robot is much longer than the wheel spacing.
My RMF calculations say very little about robot rotation requirements, but you don't have to worry about it. It *always* requires more torque to move a body compared with rotating it, so no problem. I'm too lazy to bring out the math, so just trust me.
[/quote]

'always' is a bit strong. Especially if you want to turn quickly to track something or whatever. Also it's worse if the driving wheels are at one end rather than in the middle.

Did you write the RMF calculator? Good stuff! But why the bizarre RMF instead of just calling it power and using conventional units?

• Supreme Robot
• Posts: 11,702
##### Re: can you check my motor calculations?
« Reply #7 on: February 13, 2010, 08:23:06 AM »
Quote
Did you write the RMF calculator? Good stuff! But why the bizarre RMF instead of just calling it power and using conventional units?
Yeap I wrote it . . .

The units for RMF can be in watts. But calling it 'power' just doesn't mean much for a robot. Using torque*rps, in this situation, is more useful than watts. (Watts can be misleading - I don't want people multiplying voltage by current to select a motor.)

That said, I added 'watts' to the tutorial just as an FYI.

#### nottoooily

• Full Member
• Posts: 91
##### Re: can you check my motor calculations?
« Reply #8 on: February 13, 2010, 11:45:01 AM »
I just notice that now! But the units aren't actually watts, that would be Nm * radians/second

Nothing wrong with confusing it with P=IV. I often use mechanical power to get a quick idea of how much electric current a motor will need. Sure you have to chuck in an efficiency factor to be precise but it's often pretty good anyway.

Yea another thing I noticed is if you try to use the calculator for a constant speed on a flat surface you get RMF = 0 ! I thought the efficiency value would allow for power lost between the motor output and the movement of the robot, but it doesn't seem to.

That said, I added 'watts' to the tutorial just as an FYI.

• Supreme Robot
• Posts: 11,702
##### Re: can you check my motor calculations?
« Reply #9 on: February 13, 2010, 09:30:31 PM »
Quote
I just notice that now! But the units aren't actually watts, that would be Nm * radians/second
oops, lol . . . brain fart! Fixed, again . . .

Quote
Yea another thing I noticed is if you try to use the calculator for a constant speed on a flat surface you get RMF = 0 ! I thought the efficiency value would allow for power lost between the motor output and the movement of the robot, but it doesn't seem to.
You mean acceleration of 0? Of course, if your robot never accelerates, it'll go nowhere

And an RMF of 0 will definitely get you nowhere . . .

Efficiency is what'll factor in your robot adding extra output to keep pace under friction.

#### nottoooily

• Full Member
• Posts: 91
##### Re: can you check my motor calculations?
« Reply #10 on: February 14, 2010, 01:52:14 AM »
Sure, it can move at constant speed! This seems to be the most tricky part in selecting a motor because depending on the friction, the power requirement can be anywhere between 0 and loads.

The efficiency value in the calculator doesn't have that effect. I think there should be a constant "friction force" value. Then it'd include that in determining the torque required by the motor.

You mean acceleration of 0? Of course, if your robot never accelerates, it'll go nowhere

Efficiency is what'll factor in your robot adding extra output to keep pace under friction.

• Supreme Robot
• Posts: 11,702
##### Re: can you check my motor calculations?
« Reply #11 on: February 14, 2010, 02:01:09 AM »
Sure, it can move at constant speed! This seems to be the most tricky part in selecting a motor because depending on the friction, the power requirement can be anywhere between 0 and loads.
Well, I meant that, assuming zero friction, it requires zero torque to hold a constant speed.

The thing with efficiency/friction is that its incredibly hard to predict. Without experimental data (ie the robot was already built), rule of thumbs are generally the best way to go about it.

#### nottoooily

• Full Member
• Posts: 91
##### Re: can you check my motor calculations?
« Reply #12 on: February 14, 2010, 06:17:51 AM »
Something I would have loved ages ago would be a pile of data on friction for different circumstances. I think you're in a position where you could collect that data from members and compile it into a form where anybody can plug in the weight, floor type, wheel size, etc to predict rolling resistance! That'd be amazing!

The thing with efficiency/friction is that its incredibly hard to predict. Without experimental data (ie the robot was already built), rule of thumbs are generally the best way to go about it.