Finally started trying to get smart about this motor selection thing.
How do I calculate the strength motor I need, for example:
Let's say I have a 50 lbs robot, including motors, chasis - everything. I use fish scales to discover that it takes 25 lbs of force to move the robot on 4 wheels, 6 inch diameter wheels, on a smooth, level surface.
Does that mean my motors need to generate a total of 25*16 ounce-inches of torque, which means I need to divide by the radius of the wheel to get 25 *
16 / 3 ounce-inches torque on the motor shaft ? ( 133.33 oz-in )
Or should it be the other way around: multiuply by the wheel radius to get
You need to take the force times the moment arm. 25 lb * 3" radius wheels = 75 lb-in. = 1200 oz-in. And if you want this rig to go up even a slight incline, double or triple it.
BTW, 130 oz-in = 8 lb-in, means you could probably about move a 16 lb chassis with tiny 1" radius wheels, given your 50% force-number.
What a coincidence. Couple days ago I bought the "Robot Builder's Sourcebook" (great book Gordon!) from Gordon McComb and there is a small section that explains how to estimate it. I guess you can peek a few pages on google books, or buy it if you are seriously into robotics.
In reality, the equations are a bit more complex if they must take into account torque to start a static object moving, or torque for a certain incline. However, this does tend to be the stuff of general engineering textbooks.
Pete Miles' book on combat robots is also good in this area, as is the Robot DNA Drive Trains book from Dennis and Mikey.
Actually I *do* have Gordon's book Robot Builder's Sourcebook! I knew I had seen something like that somewhere! Yep - I am seriously into robotics, but this is the first one I have ever built totally from scratch -- all of the others have been at least 85% from a kit.
I found those torque pages today even before I read this post, and used a cloth tape measure instead of string to wrap around the wheel of a dolly loaded down with aluminum parts - way more than my bot will be using. Then I dug out an old fishing scale and I was shocked to discover that it only took about 4 lbs of force to move the dolly loaded with over 48.5 lbs of cargo, not counting the heavy dolly itself, which rides on 3" wheels. I added a lb to compensate for inaccuracy of the scales, based on weighing some dumbell plates on it.
So it sounds like my motors need to have about 3 * 4 lbs-inch of force, which multiplies out to 3 * 4 * 12 oz-in = 144 oz-in, correct ? ( for an even, flat surface, that is ). Since I will be using 2 motors, if each has this much torque I should OK, right ? ( assuming no inclined travel, and that I continue to use 3" wheels on the motors ... )
P.S. That cloth tape measure came with a car rack I bought and has come in a
*lot* more handy than I ever thought it would in my shop!
If you look in a physics textbook, you'll see that rolling friction is much less than the weight of the vehicle .... IIRC, generally 0.1-0.15
weight [???]. Eg, a person can push a car weighing 2000-3000 lb, but cannot lift it.
Also, you cannot push the car up even a slight grade. Takes much more force, so it you slice the power of your robot motors too thinly, it won't go. I should review my physics-101, but IIRC, vector analysis [essentially simple geometry] applies here. If you try and push an object up a 45-deg incline, it's similar to lifting sin(45-deg) * weight = 0.707 * weight. That's a lot. For a 30-deg incline, it's 0.5 * weight. Etc. Plus add in the frictional component.
I remember in one of the robotics class I took, we were deriving the formulas for simulating a given robotic arm on simulink. Even though it was an engineering class, we only went up to a certain point. For example we derived inertial formulas for the links assuming they were cilinders, and not dynamic objects which its own inertia depends on the inertial of subsequent links. It gets very hairy very fast.
BTW, are you attending the SDRS meeting this upcoming friday?
If you can gear the drive train however you like, and you use nice current-controlling motor drivers, then it is your power and speed requirements that determine how big a motor you will need.
- Calculate how much you want to be able to push, in Newtons. (The weight of one Kg is about 10 N).
- Calculate how fast you want the robot to go, in m/s.
- Multiply to find the required power.
- Add, say, 25% just to make up for mechanical losses.
- gear the drive train to provide its maximum power at the speed you want.
If you have multiple scenarios you need to support, each with different pushing forces and different speeds, use the maximum force across all scenarios, and the maximum speed across all scenarios.
- For example, to get 1Kg up a 1m, 45 degree hill in 1s takes 7N of force at a speed of 1.44 m/s.
- Applying a 10 Kg push through a distance of 1 m in 10 seconds is 100N at
0.1m/s
- If you want to do both, the required power is 100N * 1.44m/s = 144W.
- Adding 25% for losses means you need about a 180W motor. That's roughly
1/4 horsepower.
- The motor would be geared to deliver its maximum power when the robot is going 1.44 m/s.
Note that none of the two supported scenarios will require 180W of power from the battery. In fact, they both require only 10W+losses. Such a large motor is only required because power=current*RPM, and the current is electronically limited to a constant value, so when the motor turns at only x% of its most powerful speed, it only gets x% of the motor's maximum power. On the up-side, if your electronics can deliver 180W, you'll be able to push that 10Kg at 1.44 m/s instead of just 0.1.
Close enough. It's actually 9.8 something, the gravitational attraction on 1 kg at standard sea level.
Yup. This is definitely the place to start.
That can't be right. That defines a new "requirement", not needed, and likely well out of spec for the application.
...
What are ya? selling motors? ...
Yup; it failed even the simplest of sanity checks. The problem is the falsely generated "requirement", not anything else. Power is power. Power out is power in times (non-dimensional) efficiency.
Just check the power required for each scenario. Efficiency will likely be in the range of 40% to 80%; increase the required power accordingly. Select a motor based on the highest single power requirement. Tack on 20% to 30% for uncertainty. This will get you close even without a datasheet. If you have a datasheet, so much the better. Make sure you can gear it to provide the required torques at the specified speeds; repeat until you find a combination that works.
Here are some simple relationships. For an ideal electric motor: Torque is proportional to current. Speed is proportional to voltage. Power is proportional to speed times torque.
Real motors are not ideal, and have losses, some constant, some linear with speed, and some non-linear. Sum it up as an estimated efficiency curve. It's not rocket science.
It derives from having to satisfy all scenarios with one gear train.
Unfortunately, that doesn't work when your gear ratio is fixed. If your maximum power output happens at speed S, then when you move at only a fraction of S, you can only get that fraction of your maximum power, because the maximum torque is constant and power=torque*RPM.
1/4 hp? ;-) I'm an easy sell when it comes to more is better, but that's more than just a little over the top.
Torque at speed would seem to be your selection criteria, then. It's not enough to work from hp ratings in that case. You need to know more about the proposed motor, not guess larger and invent new requirements. Fudging initially small requirements into lifting 10 kg straight up at 1.5 m/s is utter nonsense.
And the robot books on the market are not helping. As far as I can tell, Mobile Robots, Robot Drive Trains, and Robot Bonanza don't really address the problem of motor selection. They talk around it. They talk about motors, how they work, how to read motor specs, what power is required, etc. but not how to select a motor from the specs given by resellers. The min specs needed are no load RPM, and the RPM at some specified torque. C&H Sales has good selections with this information.
Except for climbing inclines no one seems to give a clear method for determining how much torque a motor needs to meet a performance requirement. To be specific, say I'm considering entering a robot in the Trinity firefighting competition. It weighs 10 pounds, uses two PMDC motors in a differential steering arrangement. I can use anywhere from three to five inch diameter wheels. I gauge from past contest tapes that a fast robot goes 2 feet/sec, so I want to go 50% faster. I realize that I can't do this all the time because of restrictive hallway lengths. How fast can I get up to speed ? How much torque will it take? How do I pick a motor from those available on the surplus market ? Basically one needs an RPM and torque spec derived from the performance requirements.
One wants a method for selecting motors. It's a little involved for going into here but the basic method is:
Pick an initial wheel diameter.
From the desired cruising speed, you have an approximation for the max motor RPMs. Approximate because it takes time to accelerate and so the final speed needs to be somewhat faster than the average speed to make up for the acceleration period.
Pick a distance for acceleration. Some simple kinematic equations will give the peak speed in terms of the acceleration distance and the desired average speed. This can be used to find the max RPM needed.
The kinematic equation, V^2 = 2aS, can be used to find the acceleration needed.
Put the acceleration, robot weight and unit conversion factors into Newton's second law. This gives the accelerating force needed.
Multiply the force by the wheel diameter (watching units again) to get the needed motor torque.
Look at some surplus motors. Nothing matches what you want. One can trade wheel diameter to change the RPM and torque requirements to find an appropriate RPM. Now find a motor with the minimum amount of torque needed (converted for the new wheel diameter).
Remember there are two motors, so they can share the torque. Always add more for unforseen circumstances - more robot weight, bumps, whatever.
One complication. If you choose to accelerate too fast, the wheels may slip. Aaaagh - have to do some friction calculations. You can measure the coefficient of static friction by locking the robot wheels, putting it on an incline surface and tilt it until it begins to slide. The tangent of the angle is equal to the coefficient of static friction. The max force before slipping is equal to the coefficient times the robot weight.
Had to omit some details but that's the basic procedure for deriving motor specs on a level playing field.
Suggestions, comments, and corrections are appreciated.
Shouldn't that be wheel radius? (I've never tried to do any calculations like this so I'm just asking questions and thinking out loud).
You might have to factor in energy loss to bearings and energy loss for the wheel depending on the wheel and the surface you are riding on.
And what about the power needed to accelerate the wheel itself? Depending on the size and weight of the wheel, it seems to me that might be important to factor in. You can't just count it as part of the total weight you are trying to accelerate. I think you have to count it's mass twice - once for the power needed to create the angular acceleration to get it spinning, and a second time for the power needed to move it forward.
I suspect in practice you will never get accurate enough data about the motors and the rest of your system to correctly calculate the performance before hand. The calculations will probably only verify that you are in the correct ballpark.
I think for example the max RPMs quoted are what you get with nothing attached to the motor. Driving a robot, the max RPM will always be lower. I don't know by how much.
And torque ratings I think are normally stall torque (how much it puts out right before stopping). The faster it spins, the less torque it has. At maximum speed (with nothing attached to the motor), it's torque I think is
So, to do the type of calculations I think you are trying to do (max speed of the robot and time or distance to accelerate to some speed), you need accurate torque vs speed curves for the motors. Maybe the shape of these curves are typical enough for most DC motors that you can estimate them from normal RPM and torque specs but I think the calculations you are trying to do are a lot more complex than what you are making out above since the torque will not be constant.
Either one as long as the units and conversion constants are managed. I like to use diameter since its easier to measure accurately and wheels are usually specified by diameter. Torque is force times moment arm and that would be radius or diameter/2. I was trying to show the general procedure and the dependence on variables, in this case wheel size.
That's all accounted for in the motor output specs.
True, but in all my robots, and all the hobby robots I've seen, the moment of inertia of the wheel is small and well within all the other errors Besides, after doing the calculations I always overspecify by 50 to 100 %
In my experience this works. The motor RPMs are easy to verify, the torque is harder but the numbers given by the manufacturers are quite good and although the resellers only give a handful of specs, those that do have accurate numbes.
I mentioned that. You are referring to the no load RPM Recall I said "The min specs needed are no load RPM, and the RPM at some specified torque". Those are enough to find any other pair of (RPM, torque) points.
Right. Stall torque is not usually given. Again, on wants an operating point, the one usually given is at max efficiency, which is very roughly at about
80% of the no load RPM and 20% of the stall torque.
That's taken into account. I didn't post the equations. If you want to some thing similar look in the books I quoted, especially Mobil Robots. I think they don't go far enough in making clear how to pick surplus motors from performance requirements.
I don't need to see the full equations because I'm not currently trying to pick a motor. But just reading your thoughts helps understand what's possible.
PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.