# steppers vs servo's



## TimPa (Jan 4, 2011)

as we continue to plan for our new turnkey cnc purchase, this option keeps coming up. it seems the servo's are touted as better than steppers. will it be noticeable on a 4x4 or 3x4 machine cutting hardwoods? worth the upgrade?

this will be a small production machine. cutting shallow mortises on one job, circular discs with holes, on another and ultimately a 7x15" board with complex curves. 

any suggestions appreciated


----------



## 4DThinker (Feb 16, 2014)

Servos communicate back their current position where steppers only follow commands. With that feedback the CNC controller always knows exactly where the cutter is. This comes in handy when you have a CNC with no limit switches that might try to run past its mechanical limits. With steppers that would mean the rest of the cut will be offset by how ever much the machine "thought" it moved vs where it actually moved. With Servos you would either get an error when the cut tried to make the servo move and it couldn't, or the cut would simply continue on where it left off once the g-code tries to move it back into accessible cutting area. 

So will you notice the difference? I doubt it. Most production machines are built to high standards that will result in perfect cuts when the material can be cut perfectly with the bit used and commands you've given it. 

4D


----------



## RainMan 2.0 (May 6, 2014)

I'm going to build a cnc wood router table using Servos instead of steppers , just as soon as I win the lottery .
What I'm trying to convey is , you better be sitting down when your ordering Servos


----------



## CharleyL (Feb 28, 2009)

A stepper motor has increments like teeth. Basic stepping will jump the position one tooth notch at a time. It's difficult to make them move anything less than an increment. Most applications just send direction and step commands to the motor and require a home position. All positioning is based on the numbers of steps sent to the motor from this home position. It's quite easy for a stepping motor to miss one or more steps, especially if heavily loaded or run at high speeds. If it is not sent to home frequently to re-zero the count, the motor can have increasing positional errors. At high stepping speeds it will also have significantly reduced torque. The stepping motors draw full current all the time, so run very hot whenever powered.

A servo motor is analog, actually a precision built linear motor, but with a tachometer and encoder attached to the same shaft to measure it's speed and position. It does not require homing for accuracy if the encoder is an "absolute" type as it's controller will always know exactly where it is, even if powered off and then back on. It's motion will be smooth and accurate to the resolution of the smallest step of the absolute encoder. It will have it's rated torque at all operating speeds and will only draw significant power if not on it's commanded position so the motor will run very cool in most applications, whether running or holding position. Servo motors can be run at much higher speeds than stepper motors. 

Much of my career was spent designing servo motor systems, frequently to replace stepper motor systems that had proved inadequate for their application. Price will be dependent on the motor size needed, the power supply needed to move the load, and the type of encoder required.

There are also two kinds of servo systems, a rate servo and a positioning servo. If you are controlling the motor speed, such a holding the speed of a lathe at some desired speed regardless of the changing load, you don't need the positioning encoder or that part of the electronics. I have built some cheap speed control servo systems using just a couple of cheap DC motors that were removed from toys, so the whole system had a value of about $30, so expensive, hardly. 

Hook the two shafts together with a coupling, use one as a tachometer to measure the speed of the other by the amount of electricity and polarity generated as it's shaft spins, and power the second motor from an analog power supply with the sensing input to this supply being the algebraic sum of the generated tachometer voltage and the speed command voltage, usually coming from a speed control knob. When set at a given speed, only enough current will be fed to the motor to overcome friction and keep it at the set speed. When a load is applied, the motor current will automatically increase to keep the motor running at the same speed, up to the capacity of the motor and the power supply feeding it. If the load should spin the motor and tachometer faster than it's set speed, the design will actually apply reverse current to the motor to brake it and achieve the desired set speed. This is a rate stable servo, and is also the front end of a positioning servo. The addition of the position encoder and the positioning electronics makes it into a positioning servo system that is both rate and positioning stable.

I've tried to keep this as simple to understand as possible, but I'm certain that there will be questions. Unfortunately, it sometimes takes some lab experiments and hands-on demonstrations before some people can wrap their head around it. I took the two toy motors and set them up in the lab as a demonstration to help a mechanical engineer understand and appreciate what a servo could do. I set the motor speed for 1 RPM and then told him to try to stop the motor by grabbing the coupling between the motors with his fingers. Even with just those toy motors spinning at such a slow speed, he was not able to stop them from turning. With just one of the motors hooked to a fixed voltage power source (like a battery) it was very easy to stop by grabbing the motor shaft with two fingers. The difference was the tachometer that was generating a voltage proportional to the motor speed being constantly compared with the speed command voltage coming from the speed control knob and this voltage difference causing the power supply to increase the power going to the motor to overcome the load (two fingers) that was trying to slow the motor down. 

I helped resolve some design problems with the electric servo motor systems that were used to power the Lunar Rovers, so there are actually several examples of hardware that I worked on still up on the Moon, and with fresh new batteries, they could be used again. It's been kind of fun to think about that every now and then. 

Charley


----------



## subtleaccents (Nov 5, 2011)

One small fact I considered when purchasing my machine was frequent power loss from the local supplier (outdated supply lines etc). With the servo you can home the machine again to 0,0,0 and continue cutting the part without loosing the material. With a stepper it may be difficult and/or time consuming trying to find 0,0.0 to start again on the same piece.


----------



## ggom (Apr 5, 2017)

Just wonder if 
could be any motor type, but with positional encoding...

Regards
gg


----------



## CharleyL (Feb 28, 2009)

ggom, (wish I knew your name - please fill out your personal profile so I can refer to you by at least your first name), what kind of motor are you talking about? 

Even a 3 phase motor can be used in a servo system if the right electronics is used to drive it. A single phase AC motor will not work, because it has a centrifugal switch to switch in and out a start winding at a certain speed. The 2 phase will work because you can vary the phases to cause slight positional movements in rotation, with the right electronics to drive it. Most any DC is the commonly used type of motor for positioning type servo work because it easily reverses by swapping the polarity of the power to it The key here is the ability of the motor to be reversed easily and that does not have a starting winding. A 3 phase motor can be used if the right electronics are used to drive it. 3 phase motors are a great choice of rotating needs that require speed control without stopped positioning. These are rate servos and frequently used used in applications similar to lathes and drill presses.

When trying to use a stepping motor as well as an encoder, it's difficult to get the two set so that the encoder increments match the stepper motor increments. You will frequently not be able to stop the motor on a desired single count position of the encoder if they are not matched. The encoder will say it is not on position, but one more step of the stepper and it will be off position in the other direction. I've seen engineers try to use them together and it has never worked out well, unless a position that satisfies the encoder is several steps of the stepper motor in width, but this usually does not satisfy the desired system accuracy.

A linear motor will not have this problem if the servo amplifier (motor driver) has the gain setting high enough for it to stop within the one count of the encoder position. 

If an incremental encoder is used with count up/count down electronics, the encoder will be much less expensive, but the system will need to go to a home position in order to establish a zero position, and then work from there, but a linear servo motor is the preferred choice whenever using an encoder because of the above problem. 

Using stepper motors and no encoder will require that the stepper motor never miss a step. If it does, your parts will not be made correctly until the system is again sent back to home to re-establish zero. Missed steps occur if there is any sudden change in friction of the system or load, or the stepping rate is close to the maximum that the stepper and driver electronics can handle reliably. The faster that the motor is stepped, the less power it will have to prevent missed steps. It's just an electronic version of a ratchet wheel.

In any CNC machine, going to home on power up or when restarting a part mid-way through the program always needs software and/or hardware that raises the Z axis to home before moving the X and Y axis to home. If this function is not included, tool crashes will be frequent. If additional axis of movements are installed, they may also need to be homed before moving Z or X and Y to home. 

I used to add a hardware button for the operator to push whenever access to robot stations was desired. This button would stop the robot program and record the last position in the program that the robot had completed and send the robot to a designated "safe position" with an included sequence to retract Z and anything else that was needed before it moved there. This position had a sensor that the robot end of arm tooling would activate. While this sensor was activated, a light indicating to the operator that it was "safe to enter" would light and the access door through the safety curtain could be opened for the operator to correct the problem, then close the door and push another button to continue the program from where it left off, including a sequence for the safe return to that point. 

If the robot somehow moved off of this "safe position" sensor while the access door was open, the whole robot station would power off, and a complete program restart would be required, including the software/hardware sequence to move back to home safely. This usually also required scrapping, or hand finishing the part that the robot had been working on.

In any location with sudden power down conditions, you will need the program to be written to record each completed step somehow in a non-volatile memory, so that when power is returned and the tool has gone to home, the program can be restarted from the last completed position, in the program, usually repeating the work that may have been in process in the partially completed next step of the program. If the program is not written this way It will be necessary to start the program from the beginning, which will consume considerable additional time, and may also require scrapping the partially completed part, or possibly removing it to be completed manually. Getting the CNC station and the operator back in sync with each other is something that must be conveyed during operator training, and may need to be different for each program and part that is run. It cannot be left to chance. 

I think this is enough education for one day. It's tough to get your head to absorb a lot of this all at once, especially when trying to do it without a "hands on" lab.

Please ask questions. The only dumb question is the one not asked. 

Charley


----------

