Superior characteristics and performance, less cost.
Steppers made sense only when encoders and digital servo controllers were
expensive. Encoders and controllers are cheap now, so steppers are
obsolete, except for the smallest and lowest-torque applications.
Hence the question. :) "Hobby" range PMDC motors cost about twice as much as
"hobby" steppers of roughly equal speed and torque. Simpler drives can be
used with steppers, and the encoder is optional. So what are the superior
characteristics? The only that comes to mind is static current draw for
steppers; they draw power just sitting still. That seems to be of very
Here's just one......One of the advantages of a CNC setup is that one
can walk away and leave it to finish what was started. You've probably
seem a drill bit get jammed in the workpiece while manually drilling.
The same thing can happen while CNC drilling or milling. If this
happens with a stepper setup chances are the X and Y axes will do their
best to not only destroy the part but destroy themselves and Z axis
components as well, behind your back, since there is no switch or
feedback to tell the software or the other axes that something went
Closed loop is undoutedly a Good Thing (TM). It's not exclusive to servos,
however. You only need an encoder, and software or controller that reads it.
Why else might I consider discarding the steppers for servos? Motor and
drive cost is about $300 per axis; I already have the encoders.
Actually, closed loop in our context is exclusive to servos. It is not
exclusive to DC servos. So far we have been using servo to mean DC
servo and stepper to mean open loop stepper. A closed loop stepper
setup (using encoder etc.) is also a servo. We seldom have to make the
distinction since stepper based servos are very rare.
>You only need an encoder, and software or controller that reads it.
You just need an encoder and a closed loop stepper drive (encoder
feedback). The most popular CNC software doesn't have a clue as to what
is receiving the steps it ouputs since there is no feedback from the
drive to the software. All it does is output a finite number of steps
for a particular move. It will do that even if nothing is connected to
Don't discard anything if you're satisfied with it.
This kind of cost comparison isn't appropriate. Steppers perform
dismally. They are only "cheap" when they aren't moving, but the
purpose of the system is to move. Steppers are rated with holding
torque, but nothing like that torque is available in motion. The
"simpler" drive only works up to a few hundred rpms. To get higher
speeds you need a sophisticated drive that costs as much or more than a
servo drive. And the torque still dribbles off.
Torque is misleading you. Motion components should be compared in terms
of power, that is, torque times speed. Steppers start losing their
torque at rather low speeds, and that makes them much more expensive for
the equivalent performance of servos. The top speed is a fraction of a
Steppers are also absurdly inefficient in converting electrical power to
mechanical work. This means you need a power supply many times larger
than what a servo would require, and this adds further up-front expense.
Servos have guts. You can run them at multiples of their rated torque
for short periods. This is exactly what you need to move a mechanism
with stiction, which is to say any type of machine tool. Or to avoid
stalling on a cut with a difficult momentary load. With steppers,
moving and cutting is always stuck underneath the reciprocal of the peak
force requirements, instead of the average.
Steppers are appropriate for slow, tiny, low-torque applications, like
printer mechanisms and disk drive heads. They have no place in machine
tools any more, other than as a hobbyist toy to get the cheapest
possible motion no matter how dismal the speed.
This is speculative fantasy. Gecko controlled servos do not behave this
way. PID digital feedback yields smooth motion.
More silliness. That's not how PID digital controls work.
The step/direction signals are simply a method of *communication*
between PC and controller. The motion does not exhibit stepping.
Your efficiency notion is also wrong. Geckos use PWM MOSFETs which are
very efficient. Heatsinks are hardly necessary for many high-power
So -- what happens if you feed it a pulse, wait five seconds and
then feed it another pulse? Are you saying that it is going to
*predict* exactly when that second pulse will come, and will move at a
steady speed just right so when the second pulse comes it will be in
the right place? If so, it must have some rather impressive CPU power
built into it -- and I see no provisions for that.
Here -- you are obviously misreading me. I did not claim that
the Gecko was energy inefficient. Instead, I was saying that the
*analog* servo amplifiers which *I* have and use are energy inefficient,
and I had hoped that Gecko would have come out with a *real* servo
amplifier using PWM drivers. They have so far disappointed me in that
Email: < firstname.lastname@example.org> | Voice (all times): (703) 938-4564
(too) near Washington D.C. | http://www.d-and-d.com/dnichols/DoN.html
Just about any motion control scheme should cause a jump in linear
postion based on a single step. I see where you are trying to go with
this so I'll save you the trouble. It is the **frequency** of the step
input that excites resonance in a stepper motor. The DC motor is
isolated from the **frequency** of the step input. The only
**frequency** the DC motor sees is the frequency of the PWM signal
applied to the controlling H-bridge. It is constant and bears no
relationship whatsoever to the step input **frequency**.
It is the duty cycle of the PWM signal that is varied in order to
provide a moving equilibrium between step input and encoder counts in
response to changes in step input **frequency**. The tuning of the DC
servo system will determine the behaviour of the movement mentioned. If
the **frequency** of the step input suddenly changes then the P & D
settings (aka gain and damping) are supposed to critically damp the
movement in a properly tuned system. An improperly tuned system can
break out into violent oscillations similar to a stepper in resonance.
Perhaps this is what you've seen and confused it with resonance.
The problem with simply disabling the amp when approaching a limit is
that the motor will then coast. This may not be a problem at low
velocity if there's plenty of room between the switch and a hard stop,
but if the motor is heading balls-to-the-wall toward the end of travel,
disabling the amp isn't going to prevent a crash. Most dedicated motion
controllers have interrupt driven travel limits that do a better job at
getting the motor stopped quickly.
Position control systems almost always run in torque (current) mode,
rather than velocity (voltage) mode. The amp is set up to output current
proportional to the command voltage.
Tachs haven't been used for many years on servos, the exception being
velocity control apps where an exceptionally wide speed range is
required. And even in those cases it's more common to see the tach
signal being synthesized from an encoder output. Some mfrs offer an
option on their amps that'll take an encoder input and use it in a
velocity loop. This sort of thing is also available on four quadrant DC
drives and AC vector drives. You do have to be careful that the encoder
resolution is adequate at ultra low speeds.
Which brings us back to the point that positioning systems with digital
motion controllers run the amp in current mode, so there's no place for
a tach signal. The encoder is connected only to the controller, which
generates the command signal to the amp based on position error.
While I agree that the step and direction scheme that Gecko uses is a
less than ideal kludge for driving servos in a system that was designed
for steppers, I would still consider it a real servo amp. There's
nothing in the definition of a servo that dictates how the various
components communicate. In fact the first servos were mechanical, there
are plenty of servos that use proprietary links between the various
parts, and many more recent systems talk over standard communication
I gather from a quick look at the literature this isn't how the Gecko
amp operates. It appears the amp includes a PID loop that takes the
input pulses and generates a command that's a function of the position
error and the PID tuning. IOW, once it's tuned properly, it behaves as
you suggest it ought to. Moving the PID loop out of the controller,
where it's traditionally located, is really the key to controlling the
servo with a pulse train intended for driving a stepper.
This is not a totally software solution, but I have a device that allows
step rates up to 300,000 steps/second on each of 4 axes. The boards can
be daisy-chained for more axes, if needed. It is supported by drivers
in the EMC software. See http://pico-systems.com/univstep.html
for more info.
If you want to look at a complete system with high performance, check
out http://www.cncteknix.com They have controllers which can handle
40,000 steps/sec per channel (max 4 channels), with high current
capability, and G-code interpreter all included.
Regards, Ian Kirby.
Not really. Just wanted to know the highest step frequency one can
expect from popular CNC software these days. Looks as though it's
DeskCNC at 125 kHz because it uses the serial instead of parallel port.
You'll need a compatible controller in order to get the needed step and
direction outputs so it's really a software/hardware combo like other
pulse generation schemes mentioned except probably more costly with
even lower step rate.
The guys at cncteknix use DeskCNC as their control software, because it
(DeskCNC) uses its own embedded chip for the interpreter function.
Their hardware controller is designed to optimise the DeskCNC chip.
Regards, Ian Kirby.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.