I see a lot of folks wondering what size motors they need for their CNC conversion projects. Is biggest always best? How fast will it go? Lots of questions.
Because of that, I decided to put some of the calculations I routinely use into our G-Wizard CNC Calculator’s latest release (1.641). The calculation screen looks like this:
Let’s go through each line and see what it’s purpose is and how to use the calculator.
We start with the Peak Torque Calculation. It’s purpose is to determine what axis speed you’ll have when your motor is operating at peak torque. I like to make this the rapids speed for a machine so that the peak is matched to the fastest motion. To calculate the axis speed at peak torque, enter the following:
- Motor Torque Peak: Ideally, you’ll get this looking at a power curve from the manufacturer. If you don’t have one, I suggest trying 2000 rpm for steppers and 3000 rpm for servos. Most manufacturers can provide you with this information and it is worth having.
- Motor Drive Pulley Ratio: If the motor directly drives the leadscrew, enter a value of “1”. Otherwise enter the ratio of the pulleys.
- Leadscrew Lead: This is the number of units (inches or mm) per revolution the screw will move the axis.
From this information, G-Wizard will calculate:
- Motor Turns per Inch of Motion (or mm of motion): This tells how many revolutions are needed to move the axis one unit.
- Peak Torque Axis Speed: How fast the axis will be moving when the motor hits its peak torque rpm.
In general, you should assume this will be the absolute fastest you’ll be able to run your CNC, and you may have a hard time achieving this number due to a variety of factors. If the motor’s torque can’t apply enough force in a short enough period of time, the axis may not accelerate fast enough to reach the speed before it gets to end of travel. Or, your cnc controller may not be able to generate enough steps per second to command this much speed. More on this in a moment.
The second section is all about Resolution. Resolution is a measure of the smallest motions your system is capable of. Note that it may not be capable of performing such small motions repeatably, which would mean its accuracy is less than its resolution. In no event will accuracy ever be greater than resolution.
To calculate the resolution information, we need two values:
- Steps per revolution: Most steppers use 200 steps per revolution, but you should see what your manufacturer says. For servos, it is a function of how many steps per revolution the encoder has.
- Microsteps: While your stepper drive may accomodate very fine degrees of microstepping, it’s wise to remember that you lose a lot of torque the more microsteps you use. Consider the following when you select how many microsteps you can actually count on:
|Microsteps/full step||Holding Torque/Microstep|
As you can see, that 256 microstep resolution is an illusion–there’s only 0.61% of holding torque available at that resolution.
This entry has a different purpose for servos. Most servo encoders are quadrature encoders, which means they generate 4x the pulses their resolution would imply. So we enter a “4” under microsteps for these encoders.
Given this information, G-Wizard will calculate the following:
– Full step resolution: How far will the axis move on a full step?
– Micro step resolution: How far will the axis move on a micro step? This is essentially full step resolution for servos.
– Steps per unit: How many step pulses are needed to move the axis an inch or mm?
– Steps per second at max torque motion: This is a critical value as it tells you the pulse frequency your CNC software has to be able to provide to drive the axis at peak torque speed. Mach3 users can run a driver test to determine what the maximum reliable speed is when using the parallel port. Above a certain pulse speed, it’s hard to get reliable motion unless you have a motion control board, such as a Smoothstepper. If this number is higher than what Mach3 reports as your maximum reliable parallel port speed, you’ll want to get one of those boards.
The last value we can calculate is the maximum following error before the system will report a servo fault. For example, my machine uses Gecko 320 drives for the servos, and they fault if the axis falls behind by 128 pulses. So, I enter 128 and it tells me my system will fault if the axis falls behind the commanded position by more than 0.0045″.
This calculator is not a full sizing calculation. I think of it as more of a sanity check. But, it can be helpful as you’re looking at various motor options. In the future, I’ll probably add more bells and whistles to it.