Welcome! Log In Create A New Profile


Servo motor VS Stepper motor

Posted by Jared Harvey 
Servo motor VS Stepper motor
November 25, 2007 08:00AM
I wanted to comment on the Servo vs Stepper motor usage. Steppers are often considered easy to use, I disagree. I consider them easy to prototype with and extremely hard to use for production purposes. First I'll talk about servos then I'll trash steppers.

--- Servos don't have to be expensive. Check out this modification to a RC servo


This modification gets a programmable CW and CCW RPM motor. I don't see why the pot needs removing. I'd be tempted to break the pot PCB traces and run wires from the pot to the outside world so it could be used as shaft position feed back. But that comes later.

The big thing here is that the real complicated parts have been taken care of and tested over many years. The RC servos electrical design is quite robust. It's had several improvements over the years and is very low cost for the level of design that backs it. It also allows for easy MCU interfacing for direction control and speed control. Lets not forget many of it's parts could potentially be made with the REPRAP.

There are a variety of methods that can be used for position feed back. A common technique is a shaft encoder. Here is one example of RC motor with shaft encoder.


I'm sure more and better examples can be found. Perhaps something along the lines of leaving the pot in place on the first noted modification.

With out the servo option, your making trade off like running the machine slow to reduce the chances of skipped steps, and your removing potential features like automatic back lash compensation.

--- With stepper motors, the analog side is much harder to work with them you might expect. Ed Nisley from Circuit Cellar wrote an article called Stepper Failure in issue 191 June 2006, where he talks about investigating a stepper motor failure problem. The overall issue, was a company had about a 25% failure rate with burnt traces in the stepper motors. Ed's analysis found the issue was related to stray resistance causing tank circuit oscillations, allowing the generation of very high voltages, which would burn out traces. In this case, the burns where in the motors, but the weak point could have easily been on the PCB's. The stray resistance was caused by a poor connection where the motor interfaced with the PCB. Sounds like the problem Bri Pettis had from Make, I'd bet others have experience similar problems as well.

So a good stepper motor analog design would include a planned failure point and a replaceable fuse on the PCB side of the system, so that when un-expected resistance arises (and it will) the problem can be corrected, then fixed with an easy to replace part.
Re: Servo motor VS Stepper motor
November 25, 2007 09:49AM
Hi Jared,

... i'm working with steppers since over 30 years ...

When i started with my first plotter-design, i had to build a driver-pcb with discrete transistors, later with single-ic 3479P, last with the IMT901 microstep-driver.

Main advantage is the ability to 'clock and forget' - when the motor doesn't skip steps, he is exactly at the position, i counted as steps - with a 200-step-motor and a 1/8-microstepper i have 1600 discrete positions per turn.

When the torque is a bit 'overdesigned', there is no problem with errors or disposition and i can achieve a position-accuracy in the micron-range (submicron too!) with a motor-driver-combination for 60$ or so.

For a servo with the same precision i have to pay much more, and the software is more complex, than the 'clock to position' ...

It's clear, that with a servo you can drive faster and with a (very) high-resolution-encoder position with the same accuracy - but it's as far not so easy, as building a micropositioning system with a salvaged stepper and an IMT-driver!

Re: Servo motor VS Stepper motor
November 25, 2007 07:50PM
Last I heard the conclusion was to use steppers in Darwin 1.0 and the majority of other offshoots/repstraps (with the very notable exception of Tommelise) because once you've got the electronics down the programming/running is very easy, for the reasons Viktor pointed out. However, for 2.0 and beyond servo motors are tentatively scheduled in because of the lower cost at the accuracies we're looking at here. That approach makes sense to me.
Jared Harvey
Re: Servo motor VS Stepper motor
November 26, 2007 05:59AM
I remember some of the problems I've had with steppers and skipped steps and I can't help but continue to think blah about steppers. I remember a little stepper based desktop CNC I was using where it would loose steps, but generally in one direction. No matter how slow I ran the X-Y table it would loose steps. The problem turned out to be a mechanical resonance problem where in one direction it was pushing the table similar to a truck pulling a trailer. In the other direction it was similar to driving a truck and trailer in reverse. They go much nicer forward then they do in reverse. Mechanically it would have micro vibrations that would cause spikes of short term torque causing skipped steps. Lubrication, spring loading your drive shaft and long Gib's can help, but still your running a truck and trailer in reverse. If you need to go slower, it really shouldn't bugger your measurements.

I've often felt that servo doesn't have to involve PID controllers and special complicated techniques. Once you have feedback, simple turn on the motor and start counting clicks. Personally I feel steppers are more complicated in software because you have to count clicks and control at the same time, where with servo you can control only at the beginning and end, in between start and stop, your only counting. Makes code for ramp up and ramp down a bit easier to handle, I think. Often folks go over board with designing PID controllers and concerns of 2nd and 3rd order systems. I've done that as well and it's hog wash for most cases. In this case if you follow the below sequence of moving from point a to b, then you'll have a nice 2nd order system, and even better, other folks will be able to follow the programming.

-- CPU says to move to point B at X FPS, Current position should be known so
-- Set FPS via PWM or what have you
-- Calculate number of feed back clicks until at point B
-- Calculate 90% number of feed back clicks until at point B
-- Start the motor in the proper direction.
-- Feed back click counting should be hardware driven so you simply have to wait. If you want to get fancy, you can set IRQ to wait for you, but a simple program loop will probably do just fine.
-- Check and loop until 90% clicks is reached, then set FPS to XX%
-- Check and loop until 100% clicks then stop.

If you find over shooting either decrease 90% or decrease XX%. These values for 90% and XX% would be set during machine setup. Once set should be forgetable unless something changes on the machine.
Re: Servo motor VS Stepper motor
November 26, 2007 06:15AM
Hi Jared,

... one big point for steppers is the ability to 'synchronize stepwise', when moving 2- and 3-dimensional lines or interpolating 3D-curves.

It's the same, as with the Bresenham-algorhytm, where you count the pixels of the longer side and synchrone insert the steps for the shorter side, so the line runs straight from X1/Y1 to X2/Y2 (or {X1,Y1,Z1} to {X2,Y2,Z2} for 3D)

So for exact feeding along a 2D- or 3D-path you have to sync a servo-system and recalculate and control speeds over the complete path, not only at start and stop ...

Jared Harvey
Re: Servo motor VS Stepper motor
November 27, 2007 12:23PM
I don't think I follow fully, I think what your saying is that when the head moves from say 0,0 to 1,1 the angle movement might not go as well with a servo? The stepper would do a step say to .25, .25 then .5, .5 ect. Is that what you mean by synchronize stepwise?

I don't see why the servo couldn't tell the motors to go from 0 to 1 on one axis then 0 to 1 on the other, then while it's moving it could check the feed back say at .25, .5 ect, if the other axis is not .25 it knows something is wrong.
Re: Servo motor VS Stepper motor
November 27, 2007 01:53PM
Hi Jared,

... a better example: - say the extruder have to draw a straight line from 0,0 to 80,5

Then i simple divide 80:5=16 - so i know exactly how to move: every 16 steps in Y comes 1 step in X, until i count 80 steps in Y - and i can calculate the right faktor for the speed (idle-time between the steps) before i start ...

With a servo i have to control the motion over the full path with encoders, as the motors mostly didn't drive with the defined PWM-speed or the friction in the axes isn't equal and so on.

So it's much easier to 'clock' the steppers to the target-position, then control the actual speed and synchronisation of servos to draw a straight line ...

Jared Harvey
Re: Servo motor VS Stepper motor
November 29, 2007 12:29PM
In the move to 80,5 you have effectively broken the line into several small steps. Couldn't the servo do the same steps? So the move would be broken down into a move to 16,1 then 32,2, ect.
Re: Servo motor VS Stepper motor
November 29, 2007 02:14PM
Hi Jared,

... obviously the servo can do the same (and faster too!), but the driving of two steppers is simply clocking with a constant waiting time between steps or output single step-pulses until you reach the target-position, when a timer counts down.

Servos needs much more software, as you have to control the moving-speed very accurate in respect to the actual position and the way the special servo has to move ...

When i use a simple 1,8
Anonymous User
Re: Servo motor VS Stepper motor
November 30, 2007 04:59AM
Where does the 250 nanometer resolution encoder wheel come from? It needs to be able to encode about 400 steps per revolution to get the same precision as the stepper. And that is assuming the stepper doesn't lose steps (which we all know to be untrue). Microstepping doesn't add precision, it reduces vibration.

So we need a shaft encoder and a controller with more complex software. That's more expensive as a stepper controller. But the servomotor itself is cheaper than a stepper (since it is just a motor, see the servos Forrest has built for example). In the end the cost is about the same.

And for low resolution projects like RepRap you don't even need a shaft encoder. A cdrom motor has 36 'steps'. Coupled directly to an m5 rod that gives a resolution of 0.8/36 = 0.022 mm per step. Controllers for a cdrom motor are all over the net, and most of the designs are free. You'll need to rewrite the software though.

Re: Servo motor VS Stepper motor
November 30, 2007 06:19AM
Hi Blerik,

... microstepping does add presision!

If you drive your 200-steps-motor with half-steps, you receive 400 (nearly) accurate steps with positions inbetween the 'normal' 200-step-matrix - with 1/4 and 1/8 then ever more (Some companies sell 1/128-drivers too), so an 1/8-microstep-driver turns your stepper with 1600 discrete steps per turn!

The absolute position isn't so absolutelly nanometer-exact, but it's enough, to drive a slider on a threaded rod with an absolute and repeatable accuracy of 1 to 2 microns.

If you can use this accuracy in your setup, depends on other parameters, mostly rigidity and accuracy of your mechanik ...

Re: Servo motor VS Stepper motor
December 07, 2007 02:45AM

Viktor to right microstepping does add resolution but not precision a stepper has an accuracy of +- 5% of full step i.e. 0.18

Re: Servo motor VS Stepper motor
December 07, 2007 04:08AM
Hi Ian,

... AFAIK this +-5%-inaccuracy is the 'springy' area, the magnetic fixed rotor can be moved with changing load or tangential forces on the shaft.

So it's on the design and the right torque-selection to compress the error-range ...

When you do microsteps, then you have this 'springy' area around your microstep-positions too, so when you have a setup with constant load, then you can measure and output your 1600 steps on a 200-fullstep-motor!

I did this for a perpendicular oriented laser-optic with 500 grams load and could measure a repeateable position-accuracy of 0,01mm with my digital caliper (it wasn't fine enough to get more winking smiley ) with a theoretical step-width of 0,6 microns.

In a horizontal orientation with changing loads (when you change moving direction), you have the 'springy' area as backslash-play, but it should be no problem to solve the accurater positioning with changing directions too per software, so you can calculate with real 1600 steps per turn when driving a 200-step-motor with an 1/8-microstep-driver as the IMT901 i use ...

Re: Servo motor VS Stepper motor
December 07, 2007 09:50AM

Sorry guys I have gotta intrude.

Micro stepping does not add precision
Micro stepping does not add accuracy

Micro Stepping does add resolution in a system where there is no method to adequately determine whether the added resolution is either accurate or precise.

For Engineering definitions of accuracy and precision check out..


Under varying load conditions (and yes the load on a Z axis in a raised/lowered bed fabing system does by definition vary otherwise you would not be fabbing, the X Y may vary also as hoppers empty, or milling gear engage a work piece etc)

The size of the micro step is proportional to the load versus how much energy and the ratios of the energy you are switching or chopping into the respective windings to achieve the sub step. (Think of it as modulation, and you have th idea)

As a stepper classically has no mechanical feedback as to it's real position only its assumed one as a function of energy input, the real position of a given microstep is in actual fact an educated guess as to where it really is between the previous and following full steps.

If you are reliant on microsteps for accuracy or precision you are relying on educated guesswork between two Relatively known points.

If for some reason you have dropped or gained a major steps you are well out and there is no feedback to help you either detect, correct or debug short of catastrophic failure (ie The fabbing run fails or produces less than acceptable results)

You are all correct in that ideally Stepping systems sans feedback should be designed so as to make sure that their torque characteristics and resistance to unwanted resonances are such that either step loss is not possible or those operating the system have a very clear set of instructions that clearly specify points of loading beyond which step loss is likely to occur. (Function of probability)

In a system that is coping with varying dynamic forces both of these routes are usually brought into play through over engineering and underspecification.

If you want an over engineered and underspecified system you are going to have to pay the associated costs.

Over all in a system constructed from guestimates and whatever the scrap box had at the time, a servo system will help you work out where a problem is quicker and where it has the power to do so corrects for a positional error and allows work to continue.

A stepper system where it looses it losses it from there on in and will get progressively worse as it looses/gains more major steps.

In what you are building here, for the money it is costing and the fun it is giving the degree of precision and accuracy is arguably acceptable the way it is for this round.

The question is do you want to go for something else next round.


Steppers equals

Cleverer mechanics and motors versus simpler software, no positional feedback, resolution only changeable at great expense or loss of predictable precision and accuracy. Stepper motors arguably not very cheep.

Servos equals

Simpler mechanics and motors versus cleverer software, positional feedback, resolution dependent only on sensor, resolution can be increased without replacing the motor and without impact on accuracy or precision where sensor is up to it.

That in a nutshell is it for me, Horses and Courses, the usual engineering trade offs neither is a panacea. (Pick your course then breed your horse to match)



Necessity hopefully becomes the absentee parent of successfully invented children.
Re: Servo motor VS Stepper motor
December 07, 2007 11:53PM
For the given hardware design, how about running the stepper into the wall every so often? At full speed, find (one of) the limit sensor(s), and use that to recalibrate on the fly. If you attached two per axis, find the one that is supposedly closest. If you only have one, find it every so often.
Re: Servo motor VS Stepper motor
December 08, 2007 08:01AM
Roach_S Wrote:
> For the given hardware design, how about running
> the stepper into the wall every so often? At full
> speed, find (one of) the limit sensor(s), and use
> that to recalibrate on the fly.

One issue here is that you can't do it while extruding. Perhaps it could be done when moving up in the Z for the next layer.

If using the stepper, your chances of skipped steps increases as you increase your speed. So quick calibrations may take longer then expected. Especially if your having skipped steps at low speed. If your not missing steps at low speed then the rapid moves may cause skipped steps. Also if you are missing steps for some reason like increased friction, your maximum speed will be reduced. If you attempt to go at the original max speed, it will just sit there making some noise.
Re: Servo motor VS Stepper motor
December 08, 2007 08:42AM
Lubrication for steppers is extremely critical. In short use white lithium grease and do NOT use silicon or oil based lubricants.

Lets look at the un-lubricated slide. It's a shaft with a plastic slide being pushed by a bolt and nut. Also look at this woodpecker toy


The un-lubricated slide works much like this woodpecker, if you tied a string to it. Use the string to pull the woodpecker up and it goes just fine, but let the woodpecker go down and you'll notice spikes of power that slow down the over all traverse speed.

The nut and bolt pushing the slide typically do it from one side of the slide, so that when the nut moves in one direction it is like pulling the string attached to the wood pecker. Once you start moving the slide in the other direction, it's much like the woodpecker when released. The speed needs to be reduced to keep the system stable. With the stepper you see spikes of torque often causing skipped steps. Steppers can see these mechanical vibrations in both directions, but often sees more spikes in one direction.

So how do you avoid these spikes, try greasing up the woodpeckers pole and see how that changes his bounce. Grease it up good so that the woodpecker doesn't touch the pole. Now he'll slip to the bottom rather then bounce his way down. If he were pushed by a stepper rather then gravity, the spikes of force would have gone away and you wouldn't have skipped steps. If it were non-lubricated, you would have skipped steps and wouldn't reach the bottom when predicted.

A key reason why grease or some lubricate that takes up space is important is that it fills in the gaps and prevents the mechanical vibration. Silicone chemically bonds with iron and even though it is very slippery, it's only nanometers thick. You still have the bouncing action which is the cause of the spikes. You want a lubricant that will fill in the gaps to help avoid the micro mechanical vibrations.

Silicon bonds with iron and some other metals, once it's applied grease and other lubricants will tend to slide off and out of the way, removing the abilities to fill the gaps. So don't use silicon at all. Once silicon is used, removing it requires that you sand it off or chemically remove it. You don't want to do either. Bottom line don't use it on your slide mechanisms.

I also don't recommend oils and greases for these types of projects. Oil is good for larger equipment that has an oil pump that keeps oil pumped in nooks and crannies, but that's a bit beyond what we are looking for here. I recommend the lithium grease because it's a high compression grease which means if you get a spike, it often still lubricates where oils and greases often prevent the spikes but don't lubricate in the event of a spike. With grease these spikes often push the grease out of the way, removing the gap filling quality, causing more spikes, but the lithium tends to remain in place.
Re: Servo motor VS Stepper motor
December 11, 2007 04:30AM
If someone can confirm this, I nominate it be added to Wiki. (lube advice)
Re: Servo motor VS Stepper motor
December 11, 2007 12:01PM
A favourite lubricant could also be graphite, the locksmiths favourite. Pure and simple.

Take pencil and rub

It is also cheap to try and easily cleaned off if no good.

Actually changing the nuts for ball nuts would be better. (But you are starting to get into purpose built lead screw territory here and that is disproportionately expensive)

Yes lubrication should yeild a big improvement both in terms of torque and speed but ball nuts have a much higher inherent efficiency.

Losses to excessive friction have this effect on both....

BTW it is worth considering using lubricant and or bearings on the slides too not just the lead screws.

Thoughts for what they are worth.


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: Servo motor VS Stepper motor
December 11, 2007 12:20PM
... for my Tripod-linear-drives i made blocks from PTFE (Teflon) with M5-threading, what seems to work very good without lubricating - it's a bit tricky to adjust the grip/play of the threading, as the PTFE is a bit elastic when tapping ...

Re: Servo motor VS Stepper motor
December 11, 2007 12:47PM
Ummmm, Teflon is slipy stuff, good, thinks me it is (In best yoda style)

Talking of which. there is Teflon depositing lubricant that comes in aerosol spray cans for bicycle chains etc. this should also help no end. And is easily within fiscal reach.


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: Servo motor VS Stepper motor
December 11, 2007 02:00PM
Ah, Andy must be from over the big lake. Here in the states it's almost impossible to get Teflon spray. Our police forces here have had great concern about the use of this spray to coat the tips of bullets. Teflon is a very high compression lubricant and can easily allow passage through Kevlar. Because of this, it has been banned from import and production in the USA. You can do it but you need to buy a special spray machine, cost $200 to $300 for cheap ones. This seems to detour the average criminal.

I once read an article that claimed standard threading is about 50% efficient in terms of linear forces. I found the below from wikipedia


Note the UTS is what you buy at the hardware store and is not very efficient. ACME is easily machined and common for linear motion, the ball screw page notes 50% efficiency, so I would guess standard has to be less. Ball screw is the most efficient up to 90%, but quite expensive because it's hard to make. It often comes with the balls that allow for zero backlash.

You can use a threaded rod directly into the plastic as your drive and guide, but you may want to be careful about friction heat. If you have nice machined parts with smooth surfaces, your not likely to get a significant problem, but if you try the hardware store cheap threads, you can get into initial start binding issues. When you run the thread it will heat up the plastic, and can melt the inside thread just slightly. Then when you stop, it mildly glues it's self to the thread. If you have smooth surfaces, it won't glue very well, but if you have cheap threads, it will tend to bond much better. This increases the starting torque. The friction and heat also increases with time as dust as debris collect. The most successful has been to separate the slide and drive. The drive is usually a threaded rod and nut, the slides vary based on cost and forces required.
Re: Servo motor VS Stepper motor
December 11, 2007 03:21PM
... in my old CNC-mill-repstrap i have ball-screws with zero backlash, so it's good for milling with higher speeds and forces and massively overdesigned for 'only' driving the extruder- and laser-heads (but i use it as mill too, so it' no problem winking smiley ).

The only pain is the main-screw, which seems to were driven without proper lubricating and with a much to high compressed ball-screw, so it have now a 'rattling' play - i have to exchange it, what's 120 Euros or so more ...

With my tripod i used the PTFE-blocks with M5-threading, what's very soft and baklash-free too, but my experiment with a gliding fin in a slit of the aluminum-profile wasn't so good, there's angular play, so i have to replace the gliding-fins with linear ball-bearings for better feeding.

When i have more time next year, then i plan to build a 'mega-tripod'-eye-catcher with bamboo-sticks and some wood-milling, so it could be really big (2x2x2 meters or so) but lightweight enough (or easy separable) so we could transport it to some exhibitions or fairs.

I have some ACME-rods with 50cm travel-range (and an lending-offer from ISEL of 3 linear drives with 80cm), but it's not enough for a 1x1x1 meter working-range, so i'll maybe work with lever-arrangement, wire-driving or a sort of wire-tripod instead ...

Re: Servo motor VS Stepper motor
December 11, 2007 04:15PM
There's something desperately wrong with the logic...

(Sorry cultural differences in play here)

You can have assault weapons, guns and bullets but no Teflon.....

It's a bit like saying you can molest children but are not allowed Vaseline.

Sorry, yes, I am from across the pond.....

There are also friction reducing car fuel and/or oil additives that do similar I think it is called Slick50 or Slick90. (Again I think Teflon based)

I don't know if these would be any good/modifiable.


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: Servo motor VS Stepper motor
December 11, 2007 05:16PM
Being a locksmith we now use Super Lube which is Teflon based and still available??
(and the same stuff you put on bike chains.)

the problem with graphite is that it is a fine abrasive open a 10 year old lock that has graphite added on a normal schedule it is worn like some body added sand just takes longer..

Bruce W
Re: Servo motor VS Stepper motor
December 11, 2007 06:30PM

I never said I was a good locksmith.... smiling bouncing smiley


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: Servo motor VS Stepper motor
December 11, 2007 06:41PM
same here that is why I am in the electronic side of things...

hot smiley
Re: Servo motor VS Stepper motor
December 11, 2007 07:50PM
So, you dont have to worry about overshoot or undershoot of your position when using steppers? The momentum of the axis won't carry the motor past its position? It seems that with either a stepper or a servo(already a closed loop) you would need some sort of closed lood feedback system. Especially if your making a large part.

Sorry, I have no experience with steppers.

Joe McKibben
Re: Servo motor VS Stepper motor
December 11, 2007 10:29PM
Hi Joe,

... i worked over a long time with steppers in my different CNC-mills and in some homebrewed and a 'professional' laser-plotter i developed some years ago - with the right 'overdesigning' of the steppers (as made in most systems on the market) there is a fair range of possible speeds and loads, until the system begins loosing steps.

With my actual CNC-mill-repstrap i run in halfstep (i want to optimize it later for 1/8 microsteps) with heavy load until 6000 Hz without losses - without the mill-head i tested until 8 kHz, then i had errors - the system is capable of max. 10 kHz output.

In my previous job i optimized a similar 'halfstep'-CNC-mill to 1/8-microstepping and milled until 5 kHz in plastic and 3 kHz in aluminium without losses - fast moving was possible until 10 kHz (maximum of the software) - with theoretical 2,5 microns per step i calculated and measured 25 mm/s at 10 kHz ...

With a vertical aligned optic-head for a laser, i developed for a customer with a RF-stamp (80c51-core), i tested until 15 kHz, but this wasn't a comparable setup, as the mechanic was very smooth (~0,6 micron per step)

Re: Servo motor VS Stepper motor
December 12, 2007 11:21AM
Following on from Sean's post earlier

Error correction and re indexing steppers.

As you observe zeroing the heads at regular intervals is not a bad idea.

But as later observed breaking off from work to do this is impractical.

There is a general assumption to all of this that zeroing is achieved by running the steppers up to a physical stop (Risky and likely to contribute to burn outs to motors or driving circuitry. if not physical misalignment of parts ie knackered) or limit switches/opto sensors are placed at the end of the travels on the axes.

In reality a more sensible solution is to place finely slotted opto pickups at the center of travel for all axes and center all jobs on the same point.

That way when ever the head passes center (regularly if the work is centered) an index pulse is generated that the driving processors can use to verify expected versus actual positioning. This is also achieved without stopping milling/printing/extruding etc.

No where near as regular as Servo Control but certainly better than either nothing or only end limit detection.

A suggestion for those whose religion specifically prohibits the use of Servo Control smiling bouncing smiley


Necessity hopefully becomes the absentee parent of successfully invented children.
Sorry, only registered users may post in this forum.

Click here to login