What is the difference between a stepper motor and a servo motor?
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.
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.
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.
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.
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.