A Tutorial on motor torque calculations
A question oft asked on MYCNCUK is "how big a motor do I need?". There is no simple answer to this, and the options are usually:
a) follow someone elses build and copy theirs;
b) take a guess and try again if you are wrong; or
c) work it out, which is the subject of this tutorial.
When choosing a motor you need to know:
a) what power and torque output is required at a given speed
b) what electrical characteristics are appropriate to acheive that
What I have tried to do here is the engineering approach, by showing the calculations needed to get some idea of power, which then dictates motor size. I am concerning myself with a stepper motor directly driving a leadscrew to move the gantry, table, etc. Similar calculations can, however, be done for belt drive or geared up/down with timing pulleys.
DISCLAIMER: This tutorial is to give you an insight into how to approach the selection of a motor. I take no responsibility for any consequences of following this tutorial and you alone are responsible for your choice and purchase of motors etc.
So lets start with assessing what torque might be needed. The basic properties we need to be concerned with start with the moving element, be it table, gantry, milling head or whatever, and that is its mass. We need to know this, either by actually weighing it, or by estimation based on the volume of material and the density of the material or by adding up the weights of the component parts.
A gantry for a router would be the weight of the slides (from manufacturer data) plus the weight of the aluminium parts (calculated using 2750 as the density) and the weight of the steppers, router, etc. Typically on a small router this would be in the order of 20kg, which we will use as our worked example - yours will be different. If you work out the motor needed for the heaviest element, then this is the worst case and the same motor will work for everything else (although you may chose to do the calculations for each axis in turn to see if there are saving to be made).
So, we know what our moving part's mass is. The motor has to make this component move, first by accelerating it and then maintaining that velocity. To do so it must first overcome the initial friction (stiction) and then maintain the drive against the friction of the moving parts and against any cutting forces. Minimising that friction is therefore crucial. For linear or rolling bearings the friction can be calculated and the stiction is generally very small. For dovetails (as on a mill) it is not easy to calculate and is best measured with a spring balance, firstly to determine what pull is required to get the table moving and then to maintain that movement. This might be as much as 15kgf initially, dropping to 5kgf.
The second aspect to accelerating the moving item is to overcome its inertia (the tendency of something to remain at rest) - this is true even if friction were zero.
The motor turns the leadscrew to convert rotational motion into linear motion. There is friction here too, expressed as the efficiency of the leadscrew. This is typically 80% for ballscrews and as low as 30% for trapezoidal screws (bronze or delrin nuts on steel) and inertia, as the screw itself has inertia which is dependent on its mass and its length.
Now we have all the elements we need.
So, considering the frictional component of the torque, this is given by:
Torque = F * p/(2pi * e)
where F is the force to be overcome in Newtons, p is the screw pitch in metres and e is efficiency.
For this example I shall assume a TR12x3 trapzoidal screw 12mm dia, 3mm pitch.
The force to be overcome is, as said above, either the stiction or the kinetic friction plus the cutting forces. For the purposes of simplicity
assume the cutting forces range from 5N for wood to 20N for alloy using the sort of spindles/cutters found in hobby sized machines up to 75N for steel on a mill.
The frictional forces are calculated from the mass of the load and the friction coefficient:
F = M * g * Fc
where g is gravity, which can be taken as 10
Typical static friction coefficients for common sliding mechanisms are:
0.003 for a ball slide,
0.01 for low-end ball races on aluminum channel,
0.05 for teflon on steel,
0.16 for bronze on steel
1.10 for cast iron on cast iron.
For most of these the kinetic frictional coefficient can be taken as the
same, although it is around 0.2 for greased cast iron to cast iron.
Assuming a low cost router using ball races and our 20kg load the frictional force (from equation 2) is 20 * 10 * .01 = 2N. Add to this the cutting force for wood at 5N and the force to be overcome is 7N, therefore the torque (from equation 1) is:
T = 7 * .003/(2pi * .3) = 0.01Nm
This doesn't sound a lot when motors are rated at 1 - 3Nm, but we haven't finished yet.
The second calculation is the inertia of the moving item, expressed in terms of the inertia seen by the motor. The symbol we use for this is J(load) and it is calculated thus:
J(load) = mass(load) * pitch^2/(2 * pi)^2
where mass in Kg, pitch in metres gives inertia in kg m^2
[note: ^2 means raise to the 2nd power, e.g. square it]
In our example we will use a trapezoidal TR12x3 single start screw to move this 20Kg gantry, so from equation 3, J(load) = 20 * 0.003^2/40 = 4.5 x 10E-06 kgm^2 (the 40 is a good approximation to 2pi squared). To this we add the inertia of the screw, which is given by:
J(screw) = 1/2 Mass * radius^2
where the mass is given by:
mass(screw) = pi * radius^2* length * density
In our worked example a 12mm screw 800mm long has a mass of 3.1416 * .006^2 * .8 * 7800 = 0.71kg and therefore an inertia of J(screw) = 1/2 * 0.71 * .006^2 = 1.28 x 10E-05, so the screw has a higher inertia than the load!
The total inertia to be overcome is the sum of J(load) and J(screw) = 1.72x10E-05 kgm^2. (Note the spreadsheet also adds in the rotor inertia of the motor)
Next we have to decide how fast we want the gantry to move under load. Typically for a wood router anything from 500 to 1000mm/min would be suitable, for cutting aluminium you might want to look at 1800mm/min or better when using small cutting tools. The maximum traverse speed is given by:
Smax = max motor rpm * screw pitch.
In many cases the speed will be determined by the available drivers and the motor. Few motors will give much torque above about 1000steps/sec on low voltages (24v being the typical supply used), so the maxium speed we could reasonably expect under load for a 200step motor is going to be 1000/200 * 60 * .003 = 0.9m/min or 900mm/min. At this speed the angular velocity of the screw will be:
w = 2 * pi * screw revs/sec
In our example this becomes 6.28 * 1000/200 = 31.4 rads/sec.
Note that the spreadsheet also shows whether the screw is likely to whip at the chosen speed depending on the type of fixing. For most basic systems fixed/free or supported/supported would be a typical configration, but this may need to be adjusted (or a bigger diameter screw chosen) for larger/faster designs.
Now we need to decide what acceleration we want. There is a correllation between the speed of movement and the ideal acceleration to avoid loosing steps but allow rapid direction changes for accuracy of cut. Obviously as the speed increases the acceleration needed to maintain cut accuracy is higher, however for rapids a lower acceleration can be tolerated. A typical router at around a 1000mm/min would need an acceleration on the order of 2300rads/sec^2. The torque required to achieve this acceleration against the inertial loads is
T = J * A
Which gives 1.72x10E-05 * 2300 = 0.04Nm. (the spreadsheet assumes rapids need ~1/3 the acceleration of that used for cutting).
Adding the two components of torque together we have a total torque requirement of 0.052Nm at the motor speed of 1000steps/sec (i.e. 5rps, 300rpm). The spreadsheet also adds in the detent torque (the torque needed to overcome the magnetic attraction between stator and rotor - this is what gives rise to the 'cogging' feel of a stepper motor when turned by hand.)
You can see that the torque required is very different to the 'torque rating' of the motor. It is important to note that the holding torque of a stepper motor is to some extent of little relevance. This is the physical torque required to overcome the electromagnetic forces holding the rotor stationary and is the torque the motor tends towards as speed drops to zero. In practice this torque is rarely available or used. While the size of a stepper motor generally dictates the low speed torque, the ability of the drive electronics to force current through the windings of the motor dictates the high speed torque. Remembering that a stepper motors torque ratings are based on sinusoidal drive current; running it on a square wave signal of a switched driver is at best an approximation at low revs and is progressively worse at higher revs unless there is sufficient voltage to force the current through the winding. A good rule of thumb, for best performance, is:
Vd = 32 * sqrt(L)
where Vd is operating voltage, and L is the motor inductance in mH. If your drivers are limited in voltage a low inductance motor is essential if you want any reasonable speeds.
The inductance of the windings and the drive voltage used dictates the corner speed of the motor. The calculations are too complex to describe here but the spreadsheet allows you to put in the motor parameters to get a go/no go view. In an ideal world you would want to run the motor just below its corner speed to get maximum power output and a torque that is essentially constant across a range of revs. Once you get past the corner speed the torque falls off rapidly. This is a consequence if you design for high power at cutting speeds (to minimise the likelhood of loosing steps) but then want fast rapids which take you over the corner speed - if the torque drops too low you will either lose steps or worse the motor will stall.
So, lets look at the motors available. Pick any website, such as Zapp Automation's, and look at the list of NEMA17 and NEMA23 motors. Here are the options:
Motor V A mH Nm Inertia
SY42STH47-1684B 2.80 1.6 2.8 0.44 68
SY57STH51-1008B 9.24 0.7 32.8 1.00 275
SY57STH51-3008B 3.10 2.1 3.6 1.00 275
SY57STH56-2008B 5.04 1.4 10.0 1.24 300
SY57STH56-3008B 3.15 2.1 4.4 1.24 300
SY57STH76-3008B 4.00 2.1 6.4 1.85 480
Plugging any of these into the spreadsheet gives similar results, so which to choose? Next calculate the ideal voltage for each (the spreadsheet shows this as the 'ideal voltage')
Motor V A mH Vd
SY42STH47-1684B 2.80 1.6 2.8 54
SY57STH51-1008B 9.24 0.7 32.8 183
SY57STH51-3008B 3.10 2.1 3.6 60
SY57STH56-2008B 5.04 1.4 10.0 101
SY57STH56-3008B 3.15 2.1 4.4 67
SY57STH76-3008B 4.00 2.1 6.4 81
Lets assume we want to use a low cost driver board, such as the System3 from DIYCNC which is OK to 2.5A but limited to 30v max, or the TBA6560 boards available on eBay. None of those are going to manage 60v, indeed 24v is the likely voltage, but the motors that are the lower ideal voltage will perform better with those drivers. So on this basis the SY42STH47-1684B or the SY57STH51-3008B would be contenders. I'd probably opt for the 1Nm NEMA23 motor over the 0.44Nm NEMA17 to give a bit more leeway and scope for upgrades. Anything bigger would be a waste of money and would perform no better (and usually worse - there is such a thing as too big a motor).
Below shows similar calculations repeated for a number of examples
25kg gantry 4' Rockcliffe oilite bronze on steel, TR12x3 1.2m long. 1000mm/min. Torque = 0.1Nm, power = 3W so a 1Nm - 1.5Nm motor.
35kg gantry 2m ballrace on channel, 16mm ballscrew 5mm pitch, 1.8m long, 2000mm/min. dense hardwood capable. Torque = 0.4Nm, power = 12W (typical 2Nm NEMA23 motor)
50kg dovetail table + 5kg workpiece + 5kg vice, 20mm ballscrew 5mm pitch, 900mm long, 1200mm/min, light alloy/steel cutting. Torque = 0.9Nm , power = 32W (8Nm NEMA34 motor)
50kg dovetail table + 10kg workpiece + 5kg vice, 25mm ballscrew 5mm pitch, 900mm long, 1800mm/min (with slightly reduced acceleration), heavy alloy/steel cutting. Torque = 1.1Nm , power = 64W (possible with 12Nm NEMA34 motor, but this is starting to get into servo motor territory to meet that speed/accel requirement)
The calculations are contained in a Excel spreadsheet in the attached zip file
Last edited by irving2008; 06-02-2010 at 11:18 PM. Reason: updated to reflect new spreadsheet content.
The Following 39 Users Say Thank You to irving2008 For This Useful Post:
Bloodaxe, Boyan Silyavski, chip, damjan, Dragonfly, ECardenal, ecat, eurikain, george uk, h4ppy-chris, helium, hoppo, Husky, Inquisitor, ivars211, Jacques, JunkieHobbo, Lee Roberts, Mad-Dad, Mad_Grasshopper, manofgresley, massimomb, meyerga00, mocha, muza, oadamo, paulus.v, Ross77, ruffle, Squirrel52, StevenT, swarf-boy, tumutbound, vtcnc, william_xie, xtrcom, yasser, yotiro, ZeptoBit
i read many posts on forums concerning stepper size
when i was looking to buy motors .. but could not find much information as in in , this motor + this driver + this load = ?
very informative read , sure this will help many of us noobies
with motor selection
Stunning Tutorial, I have been worried about just this problem. Many thanks indeed.Tim G-C
“I disapprove of what you say, but I will defend to the death your right to say it.”
(attrib. Voltaire but written by Evelyn Beatrice Hall "The Friends of Voltaire" 1906)
The Following User Says Thank You to Wobblybootie For This Useful Post:
wow! thats a lot to take in, but very informative and usefull info for all us new builds out there keep up the great work:clap:i will need to dig out that old spring balance out the shed and get to work
The Following User Says Thank You to dickieto For This Useful Post:
Clicking the "thanks" button wasnt enuff for me, great post and top marks irving....you the man !
Thanks Irving , just need to get my wizard hat out and start figure out what kinda motor's to get to my CNC conversion project :idea:
Tutorial updated with new easier to use spreadsheet that does critical speed calculations for the leadscrews as well as allowing you to plug in different motors to get a better view of the fit. Also does checks for performance at both 'cutting' and 'rapids' speeds.
Thanks for the great spreadsheet. So much key knowledge in one document!
Thanks a lot for the excelent advice,
I'm just concerned about the microstep selection, actually I've found the right balance in my cnc, I run 3 2M2280N coupled with 3 12NM nema 34 motors, I could run my cnc as fast as 10m/min in rapid and 2,5m/min while working (mach3, parallel port), but in a work of 4 hours it loosed the step and I had to trash the work out, so i reduced the microstep resolution to half step and it seem to work right, but the motors do a hell of a noise.
I've read different opinion on the web about microstep resolution, someone says that the more you set higher this value the lesser will be the torque, others says that in the modern drivers, microstep res. almost do not afflict the torque,
Who do I have to listen to?
Can you explain how this value can be taken in account?
Thanks a lot if you can reply.
P.S. I'm wondering to move to servo with brushless motors,maybe this can be tha solution?
By craynerd in forum Motor Drivers & ControllersReplies: 1Last Post: 16-03-2014, 07:29 PM
By LoveLearn in forum Gantry/Router Machines & BuildingReplies: 5Last Post: 08-02-2012, 01:52 AM
By psiron in forum Linear & Rotary MotionReplies: 13Last Post: 15-06-2010, 04:11 PM
By Philmollatt in forum Motor Drivers & ControllersReplies: 8Last Post: 15-10-2009, 08:39 PM
By ZeroCount in forum Stepper & Servo MotorsReplies: 5Last Post: 09-02-2009, 11:54 PM