Servo vs. stepper motors

Other Versions
Spanish
What's the difference, and how does each work? April 17, 2002

Question
What is the difference between a stepper motor and a servo motor?

Forum Repsonses
From contributor E:
A stepper motor is wound in such a way that the rotation has a certain number of discrete "steps". I only know of stepper motors being DC motors. These steps are where the magnetic fields cause the motor to want to settle in one of these positions. The number of steps per revolution is rather high, around two hundred or so, and varies by model and manufacturer. What this means is that the motor has effectively a resolution (smallest controlled movement) equal to the number of steps for that motor. Everything seems to have exceptions, and that applies to steppers also - there are some called micro step, with a higher resolution, but I don’t know much about them. Stepper motors may or may not have position feedback.

A servo motor can be either DC or AC, and is usually comprised of the drive section and the resolver/encoder. A servo motor is much smoother in motion than a comparable stepper, and will have a much higher resolution for position control. The servo family is further divided into AC and DC types. An AC servo had the advantage of being able to handle much higher current surges than a DC, as the DC has brushes, which are the limiting factor in this case. Therefore, for our practical considerations, you can get a lot stronger AC servo motor than you could in DC or stepper configuration. Steppers, on the other hand, have economy as an advantage, and can be incorporated into a design to produce very smooth motion also. The trend for manufacturers of “serious” CNC machinery is to use AC servos. “Entry level” machines may have DC servos, or even steppers.

A resolver/encoder is a glass disc with very fine lines on it and an optical encoder that counts those lines as it rotates with the motor. This information is couple to the controller which tracks the counts, the rate that they go by, and through a host of feedback loops, logic, and controlling the amplifiers, produces the desired motion.

Stepper systems are often “open loop” which means that the controller only tells the motors how many steps to move and how fast to move, but does not have any way of knowing where they actually are. This can lead to errors, should a situation arise where the motors are unable to comply with the commanded move. This can be very obvious, where the motion stops and it sounds like you stripped a gear, or subtle, where the motor only misses a “few” steps. The result is the same - the controller thinks you are at X25.5, Y15.5 and in reality you might be at X25.3, Y15.4 . This can lead to a cumulative error, which may in turn lead to crashes, not to mention out of spec parts.

How the motors are controlled by the “controller” and amplifiers is a lengthy subject with a lot of technical jargon.



From contributor B:
I'm just getting ready to upgrade the steppers on my old DT902 to servos and will confess to a lack of understanding of how servos work. This upgrade is happening due to an unexpected opportunity that has left me on the short side of the technical comprehension curve.


From contributor E:
You may already know this, but the type of controller and the amplifiers for your DC steppers may not be compatible with servo drives. You should also be aware of a host of other challenges with the tuning of the servos. With steppers, all you really worry about is max speed and accel rate. With servos, you will have to consider several different gains, as well as type of feedback loop. Either velocity feedback or position feedback. Perhaps both. When upgrading to servos, you will want to consider inertial matching, and backlash. With the digital, do you have the split pinion to eliminate backlash? If not, consider upgrading that as well, otherwise I suspect you will have a dickens of a time keeping the servos from ringing or buzzing.

I hope that who-ever you are getting the servos from can help you with the tuning. Tuning is something of an art form in itself.



From contributor B:
Actually, I bought a complete 2nd DT902 that already had the servos installed. I'm pulling that gantry and putting it on my machine along with the servos and controllers. I am having someone come up and help with this, including setting up the servos properly as you described.

I don't believe DT ever put anti-backlash gearing on the 902. That was basically their first machine - a very nuts and bolts sort of setup. It's great for the type of work we do with it, but does have its drawbacks for more sophisticated or heavy duty use.



The comments below were added after this Forum discussion was archived as a Knowledge Base article (add your comment).

From contributor T:
I just finnished a course on linear control systems (servo systems), so I can give you the definitive difference between servo motors and stepper motors.

Stepper motors can lock into a fixed postion, while servo motors can not. It's that simple. A servo will compare the output (position converted to voltage) to the input (the desired position converted to voltage) and make them the same by changing the output. This is a balancing act. Any external event that changes the position of the motor will be corrected by an opposing torque produced from this balancing act. This correction takes time to settle. It will either be a slow position correction or a series of overshoots that will oscillate back and forth until a midpoint is found relatively quickly. Stepper motors have a much higher holding torque and will remain in a fixed position until overpowered. DC servo motors, however, have a higher torque *during rotation* than steppers and a much higher RPM. To match a stepper motor's holding torque, you would need an expensive high torque servo motor. Deciding wether to use a servo motor or stepper motor is based on the needed holding torque (steppers) versus torque while in motion (servo). And don't forget that servo motors have a higher RPM.



The comments below were added after this Forum discussion was archived as a Knowledge Base article (add your comment).

Comment from contributor M:
Servos, just like steppers have varying resolutions. One common resolution is 1024 counts per revolution. Also like steppers, servos can be used to "hold" a position. One example is this: you have a controller that says I want to spin in X direction at Y speed. The servo then does whatever it must to make that happen. Then, if you spin in X direction at 0 speed, you will follow that also. In other words when a servo is sitting still, that does not mean that it is not running. It may be running at 0 speed. What this means is that you are constantly putting voltage and current in a back and forth motion to maintain a stable position. A stepper though, also uses electricity to sit still as one or more coils that brought the motor to this position must be kept on consistently to sit "still."

Now, the specifics about accuracy and performance are all dependant upon your setup. You will use a PID not unlike heat controllers. This is the "how do I get there from here" thinking. It will be slow, but accurate and fast but risk overshoot. Then there is stability at question. Some servos are famous for "buzzing" or "chattering" at stand still - this is not necessary. This comes from the setup. If you don't care about maintaining position while stopped however, then this might not be an issue for you. The behavior while stopped is primarily an issue when you must keep the motor active at 0 speed. One reason for this is that you have multiple motors that are working with the same piece of material, or that move machine components that could "crash" if not controlled.

Much of these control factors comes from the units that you buy. The best controllers will be highly configurable. This way, you can set it up however you want, putting emphasis on the most critical performance areas.

One last item is that yes, servos are much more complex and expensive. However, by maintaining precise control over your motion, you can move much faster. If you are precise, then you can allow your machine components to get closer that would have previously been safe. Plus, then you can send a component at high speed knowing that you can still stop it on a dime, unlike the old days where you would slow down before your destination to stop things precisely.