 # Motors for robot arm

• Hi. I am new to robotics and I plan to create a robot arm on a human scale.

I have a problem with the calculation of the motor that I need. That is, I cannot find the correct formula to calculate:

1- Engine torque

2- Electricity consumption

3- Electric power

4- Reduction with gears

In other words, I want to know how many W my motor must have to move X kg, how much electricity it consumes, how much force can be increased with a reducer X.

I have found many formulas, and I honestly don't know which one to trust and if they are correct:

----------------------------------------

### TORQUE

W = M (Nm) x w (rad / s)

W = mechanical power

M = torque / torque

w = angular velocity

W = M * w

M = W / w

(Gearless at 3000 RPM)

w = RPM * 2 * pi / 60

w = 3000 * 2 * pi / 60 = 315 rad / s

M = 500 W / 315 rad / s = 1.5Nm

I don't know if that last one works, because it doesn't have the diameter. Because the force is not the same if the gear measures 0.3 m as if it measures 0.1 m, as you know.

----------------------------------------

----------------------------------------

### ELECTRICAL CONSUMPTION

P = F * d / t

P = 196.13 N * d / t

P = 196.13 N * 0.1 m / s

P = 19.613 W

I don't know if it's correct, because I saw another formula for the same and it gave me something different:

Ec = ½ * m * v²

Ec = 0.5 * 20 kg * 0.1 m / s²

Ec = 1 J

W = Ec / T

W = 1 J / 10 s = 0.1 Watt

----------------------------------------

Can you help me?

Regards.

then you should study Physics, rather than just gather formulas.

formulas have meanings so without understanding what they mean, one cannot apply them correctly.

in other words, formulas allow you to get results but... results are not necessarily correct ones. so among other things, make sure to know the units at all times.

i would suggest simpler approach. do the rough calculations first to get the ball park (sanity check), then if results make sense, fine tune as needed - maybe only after building a prototype.

That means:

1. don't even consider gear ratios etc in first phase, and focus only on energy and power.

2. apply some safety factors to result to account for loses (for example assume efficiency is 0.8)

3. figure out suitable transfer ratio (gearing) to minimize loses.

power simply means rate at which you can do the job. assuming same efficiency, total energy to do the job is still the same, regardless if you do it fast or slow.

so you could have 1W motor move a mountain... it will take long time and require either huge ratio (to slowly move entire mountain at once) or smaller ratio (to move quicker small part of the mountain and do this many times until entire mountain is moved).

perhaps check another thread where choosing motor gear was asked Choosing Motor

example:

pick some goals or constraints, for example need an arm 0.7m long that can move 2kg payload at max speed of 1m/s. note that the goal focuses on outcome, not inner working of the "arm". so at this point it does not matter if arm is just one link, or if it is segmented. joint that will move the payload up (against gravity), when arm is fully stretched will have hardest time to move from horizontal position.... because torque due gravity will be the greatest. and maximum vertical displacement is from lowered position (Z=-0.7m) to fully raised position (Z=+0.7m)

so total vertical displacement if moving from bottom to top position is 1.4mm, payload is 2kg, acceleration due gravity is 9.8m/s and energy to move that payload is

E=mgh=4kg * 9.8kg*m*s^-2 * 1.4m = 55J

if this was rigid arm, payload would have to travel on a cirular path of length pi*0.7m = 2.2m

velocity is 1m/s so this travel would take 2.2seconds or so.

power is change of energy in given time so P=dE/dt=55J/2.2 = 25W

so if we wanted to complete the same motion in 0.5 seconds, we need more power 55J/0.5s=110W

if you only have a small motor of 1W, this would take longer 55J/1W = 55 seconds

again this is just the crude estimate. many things were not considered. for example inertia of the arm was neglected, as was acceleration/deceleration, loses etc. the more things you take into account the more complicated it gets. this is why at some point calculating result is just not worth it, it may be cheaper and faster to build a prototype and get exact result directly, not some theoretical value. the experiments also help unravel any errors in planing.

and since this is iterative process that requires many decisions to be made, and calculations repeated again and again, it is a good idea to build a calculator, perhaps using spreadsheet of your choice (such as Excel).

and how do you choose gear ratio? well that would depend on motor choice (speed and power). you can find two motors, with same power (say 25W) but different speeds. perhaps one is 4000RPM, and another is 1600RPM so of course gear ratio will be different...

1m/s linear speed at distance of 0.7m means one revolution (2pi) would be completed in 6.28s which corresponds to 9.55RPM

if motor is 4000RPM, you need gearbox with ratio 4000/9.55 which is 419:1.

if motor is 1600RPM, you need gearbox with ratio 1600/9.55 which is 167:1.

oh and remember that if arm is not moving (frozen in some position) then motor still uses current to maintain that position. and current is heating up the motor. and the hardest static torque for this motor is when maintaining arm position in horizontal, when arm is fully stretched, and with full payload. since robot may need to hold this position for long time, motor would heat up more and more. for that reason, holding torque must be considered and not the maximum torque. obviously holding current is always less than maximum current. it is current that motor can survive for long time (briefly if could handle larger current but then current must come down so motor has time to cool off).

so that was intro to basics with focus on static analysis. the next step is dynamic analysis...

but once you finish calculations for one axis, process is the same for the next axis...

about the torque calculation example... you don't seem to understand what torque is or how it is computed.

if your motor is able to produce 1.5Nm torque.... that is the torque it can produce...

if you are are using this torque to move something at distance of 0.1m, this 1.5Nm torque would be able to produce force of 15N (T=F/d=1.5Nm / 0.1m = 15N).

if you are are using this torque to move something at distance of 0.3m, this 1.5Nm torque would be able to produce force of 5N (T=F/d=1.5Nm / 0.3m = 5N).

and about your electrical consumption calculations... those two things are not the same

first one (apples) calculates total work to move something using force of 196.13N over distance of 0.1m in 1.0 second (which you implied and did not write). note that it does not matter if velocity is changing or the work is in pulses for examples.

second one (oranges) calculates work due to kinetic energy only and... over 10 seconds interval... and if using constant velocity of 0.1m/s.

1 second is not the same as 10 seconds

total work/energy is not JUST the kinetic energy, it is a sum of all energies - potential, kinetic, thermal, stored in spring etc.

in English language, engine is type of device that obtains energy from burning fuels. electric motors are not engines. so if burning is involved, it is not good for the motor

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• I am honestly surprised that you wrote all that just to help me. I sincerely appreciate it. You did not judge or tell me to drop the idea (as other members of other forums have done). You clarified several points that I had doubts about.

Right now I am ready to buy the motors (Stepper Motors). Can you take a look at them so you can give me your opinion? I want to avoid losing money and buying what can work.

The arm will have 4 actuators:

2 actuators on the shoulders (3 Nm): https://www.amazon.com/-/es/23…ino-Router/dp/B00QG32Y86/

1 actuator in elbow (1.9 Nm): https://www.amazon.com/-/es/st…9oz-driver/dp/B0781GNX8W/

1 actuator on the wrist (0.46 Nm): https://www.amazon.com/-/es/bi…-impresora/dp/B06XSYP24P/

In case of lack of strength I plan to use a speed reducer to increase the torque (as you said, it will be slower). Either a toothed pulley or gears.

The arm will measure a total of 100 CM (light material, like plastic, for now that will be test, then it will be carbon fiber). That is, 0.5 m from the shoulder to the elbow, and 0.5 m from the elbow to the wrist.

Let's say you only need to lift 2 kg (I know you need to calculate the weight of the motors and material, but let's say it's 2kg).

2 kg = 19.6 N

Torque = Force x Distance

T = 19.6 N * 0.5 m = 9.8 Nm

Note: that last was what I thought so far, but according to your formula it is different, with the engine torque (3 Nm / 0.5m = 6N). Please correct me if I have any mistakes.

My questions are:

1- Does that mean that I need to increase the torque of my motor by 3 Nm? How much more should it increase?

2- What do you think of the stepper motors?

Btw, I will be careful not to leave the motors frozen in X position when not in use. Thanks for that information, it was super valuable.

I will value other data like that. And... I value everything you wrote. Thank you.

• By the way, I don't understand this:

if motor is 4000RPM, you need gearbox with ratio 4000/9.55 which is 419:1.

if motor is 1600RPM, you need gearbox with ratio 1600/9.55 which is 167:1.

Set the different ratio. I quote:

Suppose you have a motor that turns 1200 RPM (revolutions per minute), and you need to turn something at 500 RPM. The ratio you need is 500:1200, or 5:12. However, simple gears with only 5 teeth tend to run a bit rough, so your best bet is to make (or obtain) gears with 10 and 24 teeth.

I say this because I think it is important to know at the time of purchase ... whenever I see a gearbox on pages like Amazon, they place a ratio like 10: 1 or i = 10.

I just assume that you have to multiply the force by 10 and divide the speed by 10, or the opposite.

• you are welcome. but... i was not writing to help only you but to support anyone else who may have similar idea. this is the main reason for a forum and public discussion rather than one-one-one (personal messages).

Quote

The arm will measure a total of 100 CM... but according to your formula it is different

How so...? Both use exactly the same T=F*d (which is the simplest form, using only scalars and not vectors). Only the values you inserted are different.

T1 = F1*d1 = 19.6 N * 0.5 m = 9.8 Nm

T2 = F2*d2= 6N * 0.5m = 3Nm

1. I honestly don't know what you are getting at... so i can only guess. You need to start with a clean sheet with clear objectives, pick some values, come up with numbers and check if they make sense. For example I have no idea where 3Nm came from. Are you telling that your objective is to direct drive this 0.5m link with first motor you shared link and with no gearing? Torque before and after gearbox/pulley will be different ... unless you plan 1:1 ratio. Your 9.8Nm result is torque that gearbox output need to handle. And motor torque of 3Nm is what gearbox input can be powered with.

2. I think that this question misses mark too so you may need to choose different wording because... to me this sounds more like a philosophical question (like "what one thinks of a justice system..."). In other words, if the question is ambiguous... you may get an answer you don't expect. So any technical question asked a forum like this need to be ... specific. (lookup GIGO principle) so try to make sure that questions are not open to interpretation.

For example here are some plausible opinions on steppers but i doubt they will answer anything you had in mind:

* they can be good as they can do useful things.

* they can be bad if used as means of oppression (weapon system for example).

* they can be good if that weapon system is used defensively.

* they can be bad if they fail to perform when you really need them...

Quote

By the way, I don't understand this:

I don't understand what exactly is it that you don't understand...

gear ratio is always expressed as a ratio or fraction. and there is no single universal ratio that applies to all cases. so it is reasonable that values are different in example that i provided and example that you found somewhere else. each example will likely have different numbers.
ratio value can be expressed in normalized form as a decimal value or with output side (numerator value) equal to 1. and rounding is not unusual, since endless stream of digits would be not practical, specially if it serves no purpose (meets the required accuracy). this conversation (at least from my point of view) is about theory and principles, not specific detail of specific joint of specific product, hence rounding to arbitrary number of places is also reasonable.

you may want things certain way but availability on the market may limit your choices.
for example you may say you may want get table of very specific size (137.3cm long and 65.9cm wide). but when you go to local store to buy one, you will be forced to pick something that is simply close enough. or you will need to make it yourself. same is with anything else (girlfriend type, salary, place to live etc.).

so if you need gear ratio of 9.55:1 but you only find products with ratios 5:1, 10:1, 20:1, guess what you will need to do...

Quote

whenever I see a gearbox on pages like Amazon, they place a ratio like 10: 1 or i = 10

I just assume that you have to multiply the force by 10 and divide the speed by 10, or the opposite.

basically yes... because it depends which way you use it (some may be back-driven, but not all).
and this would mean neglecting loses, although no transmission is 100% efficient.

...and it is torque and not force.

suppose you have motor rated for 3Nm and gearing is 10:1 but efficiency is 0.95 (or 95%).
then output torque is not 30Nm, it is 28.5Nm.

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• For example I have no idea where 3Nm came from.

The stepper motor says it has a torque of 3 Nm, that's where it came from.

The 2 kg (or 19.6 N) came from the hypothetical arm weight with the motors.

0.5 m is the distance the arm must lift.

I am multiplying the force exerted by the weight of the arm by the distance it must lift. The result is the theoretical torque that the motor needs to raise said arm, right?

• according to your post where arm is 1m long.... 0.5m is only what elbow must lift. shoulder must lift entire arm (1m).

also your calculation need to include other things like arm itself, motors, tooling and anything else that is attached to the arm... not just payload. so actual torque will be more on the order of 100Nm - if you are making careful design choices (could be worse).

btw there are different arm models. some types (like SCARA) keep motors on the "torso" to make arm lighter.

motor types matter too. stepper is able to hold position without being powered. other motor types need brake to hold position when arm is not powered or while resting.

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• If I raise my arm in the middle, that is, without stretching it, it would be 0.5m.

But, it is a hypothetical case. Let's say the mass of the arm is 2kg (19.6 N) and the distance 0.5m.

T = 19.6N* 0.5m= 9.8Nm

1- I mean, I need a motor with a torque of more than 9.8 Nm to be able to lift that arm, right?

2- If my motor has a torque of 3Nm, and I put a reducer with a ratio of 10: 1, it means that it will have enough force to lift it, right?

• 1. yes.... 19.8Nm in case you describe is just holding torque. (stall)

2. yes... that would ensure 30Nm, Up to 19.8Nm would be used to balance out effects of gravity. remaining torque (at least 10.2Nm) would be used to lift the arm.

this is why you sould study Physics.

T=F*d is only the crude form of the torque formula. it assumes that torque is applied in the most convenient way (perpendicular to lever) so that distance between point of rotation and path of applied force is maximal).

proper way to describe torque is to use vectors and this is a 3D problem.

links you show look at the simplification that is reduced to 2D problem. so the distance d is calculated as

d=L*sin(angle)

if angle is 90deg you get the further simplification which takes you back to original equation T=F*d (because d=L which is length of lever or radius at which Force is acting)

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• That is, the torque of the formula T = F * D is the maximum to hold it, but to move it you need more force, right? Thanks for that tip, it helps improve my logical reasoning.

yes... that would ensure 30Nm, Up to 19.8Nm would be used to balance out effects of gravity. remaining torque (at least 10.2Nm) would be used to lift the arm.

I'm researching and reading more on how to calculate it in 3D to make it a bit more accurate. But I have a question. I plan to use several stepper motors. For example, one that raises and lowers the entire arm, another that moves it from right to left, and another that rotates it. What I am analyzing is that each of my motors will perform a torque in 2D. That is, the formula T = F * D * sinθ

Will it be enough, or did I misunderstand?

I don't see or understand where the motor will torque on the Z axis.

Look at the same page as before with another calculator for torque as a vector product:

Torque as a Vector Product • Quote

motors will perform a torque in 2D. That is, the formula T = F * D * sinθ

Will it be enough, or did I misunderstand?

that is correct...

torque is a vector quantity and hence for radius and force in XY plane, it would be shown as vector in Z direction. don't worry about that if you don't understand or, just think of it as rotation ABOUT vector in Z direction where magnitude corresponds to length of the vector and direction corresponds to right hand rule. negative torque would be the same thing but in opposite direction.

the fact is i love hyperphysics site but ... even that page managed to get few notation things wrong.

torque (tau) should also have an arrow above it (because this is a vector). it also fails to properly show magnitude (shown as vertical bars in place of parenthesis).

so this is how the top part of the page really should appear:

pasted-from-clipboard.png

or better:

pasted-from-clipboard.png

and this is how it should appear at the bottom

pasted-from-clipboard.png

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• Thanks for the clarification.

Question 1 (Just to recap):

1. Calculate the torque (T = r * F * sinθ).

2. I am looking for a speed reducer that will increase the torque of the motor to be able to lift the weight of the arm.

3. I calculate the efficiency of the reducer, that is, if it is 80%, I multiply it by 0.8

I know it won't be 100% accurate, but it will help me understand which motor to buy for which joint. True?

Question 2:

In the case that it is a movement of turning the arm, that is, not raising or lowering it or moving it from right to left, just turning it. The arm would be straight (I assume it is a 180 degree angle, if I am not wrong), that is, the torque needed to turn it would be a lot less, so I can look for a smaller motor. True?

Example: Greetings and thanks again for everything.

• 1. sure but keep in mind other factors like velocity and positional accuracy

2. true, reaction forces due gravity will need to be taken by some mechanical device, motor will only need to take care of movement. but i don't know about "much" smaller. this is place where weight of the motor is not a factor and using same size motor as other could be a benefit. plus if motor is larger than needed, you can trade the power for speed and that is always welcome. note, so far you only consider static analysis and even that is incomplete (not accounting for weight of the arm, motors, tooling, friction...)

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• wait i just saw the things in the screenshot... that is WRONG....

range of SIN/COS is at most +/-1 so multiplying something by SIN will not make value BIGGER.

yet they show 1m somehow becoming 1.22m ... are you sure you are not photo shopping this?

and SIN(180)= 0 so lever arm would still be 0 (no torque).

2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• Sorry to bother you so much, but how does speed affect the formula?

If the engine revolution is 2000 RPM and a 10:1 speed reducer is used the speed would be 200 RPM. Is that what you mean?

In relation to the other "positional accuracy", you mean my arm knows exactly where each joint is?

1. sure but keep in mind other factors like velocity and positional accuracy

---------------------------------------------------------------------------

What do you mean by this?

reaction forces due gravity will need to be taken by some mechanical device,

• the page does not show values correctly so the result as displayed is wrong. it is missing exponent which is something to 10^-16

basically values are zeroes: 2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• Excel works with Radians so you need to convert degrees to radians... 2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

• Now it does give me like you, but my question is: why is it multiplied by 180 rad and not by 180 degrees (unless the formula is so)?

If the arm is down, resting

That is my other question, because 180 gives 0. It is assumed that to move the motor it must perform X torque.

Obviously it won't have exactly 180 degrees, maybe 177 or 178, but if 180 gives me 0, it makes me doubt that formula.

Unless in theory it is 0, and in practice the torque is very small due to the losses in the mechanical system.

This video is related (in case someone in the future has the same problem): Degrees and anatomical and geometric angles do not get confused anymore

• you need to study physics.... sin(180deg) = 0

so torque about the axis of rotation is not existent... even though you ARE applying force and R is non-zero.

at 0deg, force is compressing the link

at 180deg, force is stretching link

neither of them cause torque about axis of rotation.

here are few examples 