Maker Pro
Maker Pro

Getting more accuracy out of a stepper motor

M

Michael Brown

Jan 1, 1970
0
Hey all - I'm a bit new to using steppers, but I've got a quick
question about this stuff because I know so little :)

Is there a well-known method to getting high accuracy AND speed out of
a stepper? I'm talking like 100 deg/sec at a resolution of around
40,000 steps (0.009 degree accuracy). The application is for small
camera PTZ mounts.

I'm assuming some reduction gearing would be involved, and possibly
using optical encoding (just from what I've learned googling). Anyone
got any insight on this? I'm not aware of any setups that can get this
kind of speed and accuracy, but I may be just out of the loop.

Thanks!

-Mike
 
M

Michael Brown

Jan 1, 1970
0
Ok after reading a little more I guess you wouldn't need any optical
encoding with a stepper motor, that looks like a technique that only
applies to dc motors.. does that sound correct? I've been reading a
little about microstepping controllers, but have yet to determine if
stepper motors are even capable of high speed with gear reduction
used...
 
S

Stanislaw Flatto

Jan 1, 1970
0
Michael said:
Hey all - I'm a bit new to using steppers, but I've got a quick
question about this stuff because I know so little :)

Is there a well-known method to getting high accuracy AND speed out of
a stepper? I'm talking like 100 deg/sec at a resolution of around
40,000 steps (0.009 degree accuracy). The application is for small
camera PTZ mounts.

I'm assuming some reduction gearing would be involved, and possibly
using optical encoding (just from what I've learned googling). Anyone
got any insight on this? I'm not aware of any setups that can get this
kind of speed and accuracy, but I may be just out of the loop.

Thanks!

-Mike
A stepper motor is just that. The variance may be in number of steps per
revolution and the speed at which it makes them. Any required changes
have to be in external mechanics, and those have to be spring loaded so
there is no free play when changing directions.
And there is NO such thing like 'half a step'.
So be conservative and design your setup for worst case probability.

HTH

Stanislaw.
 
J

John Larkin

Jan 1, 1970
0
A stepper motor is just that. The variance may be in number of steps per
revolution and the speed at which it makes them. Any required changes
have to be in external mechanics, and those have to be spring loaded so
there is no free play when changing directions.

And there is NO such thing like 'half a step'.
So be conservative and design your setup for worst case probability.


Half-stepping drive is common, as is microstepping. You can buy a
1/256 step microstepping driver, and get very smooth motion with no
perceptable stepping, but 1/256 step position accuracy probably isn't
achievable.

John
 
J

Jeff L

Jan 1, 1970
0
John Larkin said:
Half-stepping drive is common, as is microstepping. You can buy a
1/256 step microstepping driver, and get very smooth motion with no
perceptable stepping, but 1/256 step position accuracy probably isn't
achievable.

John

I also agree that 1/256 step position accuracy would be pretty hard to do,
and would move with any change in torque load on the motor. AC servo motors
with optical encoder feedback are much better at maintaining really small
increments, but are costly. They are basically a stepper with really large
steps and optical position feedback. They also don't "cog" when turned
manually.

I still find microstepping noisy and resonance prone. AC servo drives are
really smooth and can be very quiet - often the high precision ball screws
they drive and the high precision linear ball slides make more noise. Even
large ones rated for 7.5 HP are quiet. The linear motors we have are however
very loud, but they accelerate at around 4 G and move at 40 to 50" per
second.

One of our solder paste printers uses microstepping, and achieves a 3 sigma
accuracy (the new ones are 6 sigma!) of 0.001" with 1.8deg per step steppers
driving ball screws with about 1/2" pitch. That's after accounting for the
X,Y, Z, Theta table axis, in which the z axis moves about 4" or 10 cm after
the vision processor camera reads the fiducials (which is not perfect), and
the camera head moves in on linear motors (basically a long, flat stepper -
electrically they are the same) with a slat pitch of about 1 mm (about
0.040"), which gives a stepping pitch of about 0.5 or 0.25 mm. I figure the
steppers must achieve a repeatable ~1/20 step, and the linear motors 3 or 4
times better (the linear motors are sitting on air cushions). Other then the
zero setting home position sensors, there is no feedback for mechanical
position, which I think is quite bad in this precision application,
especially when the motors get old or abused (like getting jammed up and the
motor field continues to rotate, while the rotor stays put - we all know
what strong alternating magnetic fields do to magnets) and start slipping
from core demagnetization. Steppers in the range of 70 to 500 W are not
cheap. Platens for linear motors are around $3k


For the original poster, take a look at floppy drives for the stepper
actuated head, and look at modern high speed optical drive laser moving
mechinisims.
 
B

Benj

Jan 1, 1970
0
Michael said:
Hey all - I'm a bit new to using steppers, but I've got a quick
question about this stuff because I know so little :)

Is there a well-known method to getting high accuracy AND speed out of
a stepper? I'm talking like 100 deg/sec at a resolution of around
40,000 steps (0.009 degree accuracy). The application is for small
camera PTZ mounts.

Stepper motors have limitations on speed and accuracy. Speed is a
function of the maximum steps per second the motor (and driver) can
do. It is limited by the induction of the motor coils. There are
tricks to force more current through the windings faster to get higher
speed, but there are limits and steppers are not especially fast as
motors go.

You'd think that stepper accuracy is limited to the number of steps
per revolution. And for the most part it is. However, if you add a
step between two given steps (by energizing both coils at once) you
double the number of steps. which works pretty well. You can carry
that further by what is termed "micro-stepping" Here you essential
vary the voltage between the two simultaneously energized coils to
produce fine variations between two steps. However, as someone else
noted you lose torque. The bottom line is that with a simple set of
driver currents (say set by series resistors) you can get maybe 16
microsteps. BUT don't expect any torque. And friction will kill most
accuracy. I've got that working pretty well if you are driving a
MIRROR on the end of the stepper shaft. But if there are gears or
friction, you'll need a huge stepper to generate the torque.
I'm assuming some reduction gearing would be involved, and possibly
using optical encoding (just from what I've learned googling). Anyone
got any insight on this? I'm not aware of any setups that can get this
kind of speed and accuracy, but I may be just out of the loop.

Optical encoding (really an analog motor technique) can be combined
with variable current half-stepping to create stable and repeatable
micro-stepping. The accuracy is set by the encoder and the current
drivers supply the torque. It's sort of a hybrid stepper and DC motor
with optical encoder system.

Hope this helps.
 
C

ChairmanOfTheBored

Jan 1, 1970
0
Stepper motors have limitations on speed and accuracy. Speed is a
function of the maximum steps per second the motor (and driver) can
do.


Jeez, folks... all one needs to do is look back some years at the line
printers that were around. They were controlled by stepper motors, as
well as by both linear and rotary optical encoders, and they had some
fairly good accuracy.

For heavier applications like machine tool bed transitions, sure the
task will be more difficult, but still quite doable.

Cincinnati Milacron, as well as any good Japanese CNC machine tool
maker achieves 10,000th inch accuracies EVERY DAY! Guess what their
drive mechanisms are?
 
S

Spehro Pefhany

Jan 1, 1970
0
Jeez, folks... all one needs to do is look back some years at the line
printers that were around. They were controlled by stepper motors, as
well as by both linear and rotary optical encoders, and they had some
fairly good accuracy.

Yes, and disk drive (HDD) positioners, back 20+ years ago. But no
more, except for your <$10 FDD. Too slow and too inaccurate.
For heavier applications like machine tool bed transitions, sure the
task will be more difficult, but still quite doable.

Cincinnati Milacron, as well as any good Japanese CNC machine tool
maker achieves 10,000th inch accuracies EVERY DAY! Guess what their
drive mechanisms are?

*Closed-loop* AC servos even on low-end machine tools like Haas, let
alone high end machine tools such as Okuma. The only stepper is in the
$10 floppy disk drive (which Haas charges $1.000 for).


Best regards,
Spehro Pefhany
 
Ok after reading a little more I guess you wouldn't need any optical
encoding with a stepper motor, that looks like a technique that only
applies to dc motors.. does that sound correct? I've been reading a
little about microstepping controllers, but have yet to determine if
stepper motors are even capable of high speed with gear reduction
used...

Stepping motors are just synchronous motors. The motor coils generate
a magnetic field that varies - more or less sinusoidally around the
circumference of the motor, and the rotor lines itself up with that
magnetic field.

If the currents through the two coils are held constant, and you try
and rotate the rotor, you will have to apply a progressively
increasing torque to move it out of alignment with that magnetic
field, up to a certain angle, where the restoring force will start
decreasing, falling to zero at twice that angle after which the rotor
will experiece an increasing force in the opposite direction, driving
it to the next stable alignment.

The peak restoring force is the drop-out torque of the stepper motor.

In a synchronous motor, you modulate the the currents through the two
coils to create a rotating magnetic field that drags the rotor around
with it. The resisitng torque that has to be overcome to allow the
rotor to rotate causes the rotor to lag the field by an angle that
depends on the ratio of the resisting torque to the drop-out torque.

When a synchronous motor is used as a stepping motor, the current
through the coils is switched on and off to create square wave
approximations the ideal sinusoidal modulation.

Microstepping drives generate stair-case approximations to the ideal
sinusoids.

http://www.cs.uiowa.edu/~jones/step/physics.html

In practice, not all stepping motors produce smooth rotation when
driven by sinusoidal fields - an early example of a 1024-microstep
microstepping drive written up in the then Journal of Physics E:
Scientific Instruments (now Mreasurment Science and Technology) ended
up being used to generate some 800 not too evenly spaced microsteps,

ESCAP still seems to sell stepping motors designed for microstepping

http://www.boxdoerfer.de/turbodsc.pdf

Getting stepping motors to rotate fast involves modulating the current
through the coils fast enough to rotate the magnetic field at the
appropriate rate, despite the inductance of the coils. This means
driving the coils with a voltage very much higher than the
manufacturers ticket voltage, which is just the rated current through
the coils multiplied by the resistance of the coils.

I've used 60V on a nominally 5V motor, and this wasn't exceptionally
high.
 
J

John Larkin

Jan 1, 1970
0
I also agree that 1/256 step position accuracy would be pretty hard to do,
and would move with any change in torque load on the motor. AC servo motors
with optical encoder feedback are much better at maintaining really small
increments, but are costly. They are basically a stepper with really large
steps and optical position feedback. They also don't "cog" when turned
manually.

I still find microstepping noisy and resonance prone. AC servo drives are
really smooth and can be very quiet - often the high precision ball screws
they drive and the high precision linear ball slides make more noise. Even
large ones rated for 7.5 HP are quiet. The linear motors we have are however
very loud, but they accelerate at around 4 G and move at 40 to 50" per
second.

One of our solder paste printers uses microstepping, and achieves a 3 sigma
accuracy (the new ones are 6 sigma!) of 0.001" with 1.8deg per step steppers
driving ball screws with about 1/2" pitch. That's after accounting for the
X,Y, Z, Theta table axis, in which the z axis moves about 4" or 10 cm after
the vision processor camera reads the fiducials (which is not perfect), and
the camera head moves in on linear motors (basically a long, flat stepper -
electrically they are the same) with a slat pitch of about 1 mm (about
0.040"), which gives a stepping pitch of about 0.5 or 0.25 mm. I figure the
steppers must achieve a repeatable ~1/20 step, and the linear motors 3 or 4
times better (the linear motors are sitting on air cushions). Other then the
zero setting home position sensors, there is no feedback for mechanical
position, which I think is quite bad in this precision application,
especially when the motors get old or abused (like getting jammed up and the
motor field continues to rotate, while the rotor stays put - we all know
what strong alternating magnetic fields do to magnets) and start slipping
from core demagnetization. Steppers in the range of 70 to 500 W are not
cheap. Platens for linear motors are around $3k

If you grab a typical classic Slo-Syn type stepper motor and connect
it to a microstepper drive, the accuracy won't be good, because the
tooth profiles were optimized for torque in full-step mode. If you
program slow, smooth motion, you'll get nonlinear angular motion,
maybe even a zero-velocity flat spot every 4 steps. Some people make
steppers that are optimized for microstepping, but even these probably
can't do 1/256 accurately. Not to mention static friction, which no
open-loop system can deal with.

I once wrote an n/c compiler for a Whitney punch press. It would slam
around 12-foot long steel sheets at impressive speeds and whack them
with a hydraulic punch, a hole a second or so, and the building would
shake when we did the bigger holes in 1/8 inch steel. It used dc drive
motors and linear encoders and was rarely more than a couple of mils
(that's thous! not mm) off.

John
 
R

Robert Baer

Jan 1, 1970
0
Stanislaw said:
A stepper motor is just that. The variance may be in number of steps per
revolution and the speed at which it makes them. Any required changes
have to be in external mechanics, and those have to be spring loaded so
there is no free play when changing directions.
And there is NO such thing like 'half a step'.
So be conservative and design your setup for worst case probability.

HTH

Stanislaw.
You are incorrect; there is a "half-step".
"Ordinary" steps are made when one winding is energizes, a
"half-step" is made when two windings are energized.
Now the torque of a half-step *is* less than that of a full step...
 
Top