Go Down

Topic: How to calculate torque rating for motors? (Read 2028 times)previous topic - next topic

zharvey

Dec 05, 2012, 12:45 am
I am a programmer and am just getting into robotics/electronics. I would like to build an Arduino-based robot that I can control from an app on my Android phone. I am planning on the robot having 4 motors (actuators?) controlling 4 wheels (1 tank tread/belt on each side; 2 wheels per tread/belt).

I am trying to determine how "heavy duty" my motors need to be, and not sure where to start in my calculations. Here's some constraints/preferences:

• Speed is not critical, maybe top-speed of ~2mph

• It's tough telling how heavy the robot will be at the outset, but probably no more than 3 - 5lbs

• Looking for lowest power consumption possible (given the above constraints) to provide max battery life

• I'd prefer < \$20/motor

After a cursory review of several websites, it looks like motors are measured by the following properties:

• Voltage

• RPM

• Torque

• Reduction

So we have a ~4lb robot distributing that loads over 4 motor-actuators with a desired top-speed ~2mph. I'd like the motors to meet those capabilities as well as run on as little power as possible, all within the \$10 - \$15 per motor price range.

I'm not asking for other members to make suggestions on particular models ("give a man a fish"), what I'm asking is what calculations most robot hobbyists would use in this scenario to take all these factors into account and make an educated guess on what type of motor I need ("teach a man to fish"). So, where do I start?!? Thanks in advance.

retrolefty

#1
Dec 05, 2012, 12:56 am
Well goggling "motor sizing" showed a lot of stuff. This looks rather comprehensive:

http://ftp.cnchungary.com/Varsanyi_Peter/CNC%20vezerles%20-%20szervoval/Guide_to_Servo_Motor_Sizing.pdf

Lefty

DVDdoug

#2
Dec 05, 2012, 02:19 am
I'm an electrical guy, not a mechanical guy, and I've never built a robot so you can take this with a brick of salt!

Practically speaking, I don't think you can calculate it...  I think it's more a matter of experience (and experimentation).   Nobody knows exactly how fast a race car will go 'till you get it out on the track!

The problem is...   speed is limited by friction.  And, I don't think anyone can predict the friction with a robot.    If there is no friction, there is no "speed limit" and a tiny motor could easily get you up to 2MPH (after accelerating for some period of time).   If there is zero friction, it only takes force to accelerate an object, but zero force/power to keep it moving.

Also, (most) electric motors have a torque-speed curve that has maximum torque at zero speed (or near zero), and minimum torque at maximum speed.    So, although friction is fairly constant (until air-drag becomes a factor), the torque drops-off with speed.

If you have a gear-motor, there is friction in the gears.   Otherwise, most of the friction is between the wheels and the floor.   And, I think the starting-friction is higher than the rolling-friction.

cr0sh

#3
Dec 05, 2012, 05:41 am

Practically speaking, I don't think you can calculate it...

Well - you might not be able to calculate it precisely, but you can get close enough with what is called a "torque vector" calculation; from there you can fudge and add on some percentage to allow for extra weight, friction, etc.

For the OP:

You may want to re-think having a motor per wheel with tank treads; if the motors aren't perfectly synced and moving at the -exact- same speed, you will throw the tread (and/or cause problems for the motors/gear-train). Instead, use only a single motor per tread (just like tanks and bulldozers do).
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Chagrin

#4
Dec 05, 2012, 07:28 am
You may want to re-think having a motor per wheel with tank treads; if the motors aren't perfectly synced and moving at the -exact- same speed, you will throw the tread (and/or cause problems for the motors/gear-train). Instead, use only a single motor per tread (just like tanks and bulldozers do).

The Rover 5 has four wheel motors and no issues there. I'm a little suspicious how that affects overall battery efficiency though with twice as much gear friction.

The Rover 5 weighs 2.5lbs without batteries so probably a good starting point for you, zharvey. Each motor is 18 watts (7.2V * 2.5A) so as long as you can match that wattage at the RPM you need you should get a good 'bot running.

Krupski

#5
Dec 05, 2012, 06:17 pmLast Edit: Dec 05, 2012, 06:19 pm by Krupski Reason: 1

I am a programmer and am just getting into robotics/electronics. I would like to build an Arduino-based robot that I can control from an app on my Android phone. I am planning on the robot having 4 motors (actuators?) controlling 4 wheels (1 tank tread/belt on each side; 2 wheels per tread/belt).

I am trying to determine how "heavy duty" my motors need to be, and not sure where to start in my calculations. Here's some constraints/preferences:

• Speed is not critical, maybe top-speed of ~2mph

• It's tough telling how heavy the robot will be at the outset, but probably no more than 3 - 5lbs

• Looking for lowest power consumption possible (given the above constraints) to provide max battery life

• I'd prefer < \$20/motor

After a cursory review of several websites, it looks like motors are measured by the following properties:

• Voltage

• RPM

• Torque

• Reduction

So we have a ~4lb robot distributing that loads over 4 motor-actuators with a desired top-speed ~2mph. I'd like the motors to meet those capabilities as well as run on as little power as possible, all within the \$10 - \$15 per motor price range.

I'm not asking for other members to make suggestions on particular models ("give a man a fish"), what I'm asking is what calculations most robot hobbyists would use in this scenario to take all these factors into account and make an educated guess on what type of motor I need ("teach a man to fish"). So, where do I start?!? Thanks in advance.

It will take very little power to drive the robot on a flat surface, so you need to concern yourself with the maximum thrust you will get. This will be either how much mass you can PUSH with your robot or how steep an INCLINE you can climb.

Take the thrust you need and the radius of your motor axle to floor contact point and calculate the inch-pounds or foot-pounds of torque you will need. Then multiply that number by 1.1 "for good luck" (i.e system friction).

The diameter of your drive wheels and the speed you wish to travel defines the RPM you need, and the radius of the drive wheels times the thrust you want defines the torque.

Then, just buy DC gear motors with those specs. As to what voltage they run on, that's up to you. You need to decide what battery pack you will use (and the amp-hours which will define the run time of the robot).

Hope this helps.
Gentlemen may prefer Blondes, but Real Men prefer Redheads!

Chagrin

#6
Dec 06, 2012, 03:50 am
It will take very little power to drive the robot on a flat surface, so you need to concern yourself with the maximum thrust you will get. This will be either how much mass you can PUSH with your robot or how steep an INCLINE you can climb.

I'd make a minor nitpick here: with a tracked/skidsteer robot there's a lot more friction to deal with when you're turning. Extremely hard to calculate how much power that requires though, especially with surfaces of varying friction.

sinq

#7
Sep 22, 2015, 02:12 am
Rated RPM, rated torque, voltage and rated current would be the specs I'd look in a motor used for my robot.

If you decide about the diameter of your wheels, you will be able to get the speed in miles/h from the RPM.

And from the torque you can roughly say how much weight it can carry including the chassis and components.

For example a tracked robot with six 24v, 90mm (diameter) sized DC motor, with 130RPM, 44 kgf.cm will be able to carry 500lbs of weight (chassis and components included).

I gave an example of a heavy duty kind of robot.

Good luck.
sinq

MarkT

#8
Sep 22, 2015, 02:46 am
Lets try and clarify some things here:

Power = torque x angular velocity

This means you cannot reduce your power requirement without affecting speed, torque or both.
Just decide on the speed and torque, the power follows, that's how things are.

You can in theory calculate everything, Newton tells us this.  In practice _friction_ is the issue,
you have to experiment to find how much friction you need to overcome (friction between solids
equates to a roughly constant extra torque beyond that for climbing and accelerating)

DC brushed motors have significant internal friction from the brushes.

For DC motors brushed or brushless there is a linear relationship between current and torque,
known as the motor constant, given in Nm/A or equivalent units.  This is the most important
specification you need about a motor really.  Its exactly the same as the relationship between
voltage and no-load speed.  The value in V/(rad/s) is the same as the one in Nm/A, because
the units are the same (exercise for the reader, hint: power = torque*angular vel = voltage * current).

Just make sure the motor can cope with the max current and voltage and continuous power needed.

You usually require gearing (gearbox or belt reduction drive), in order to have enough torque and
a sensible top speed.  Gearing trades torque for speed (but incurs some loss, perhaps 15% per
stage).  Put another way gearing adds a lot more friction.

Because friction is difficult to calculate you would normally expect to measure or estimate it.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up

Please enter a valid email to subscribe