Stepper
motors are a category of electric motors that accomplish motion by pulling the
rotor to many discrete positions per rotation. This allows for simple speed
control by incrementing the desired position at a desired rate, as well as
simple position control, by continuing to pull the rotor to the desired
position once it has been reached.
To
accomplish these tasks, a drive is required to control the direction and
magnitude of the current in the motor windings. These drives can be voltage
controlled, where the resistance of the windings and the input voltage control
the magnitude of the current in the windings, or current controlled, where a
circuit senses the current in the windings, and repeatedly disconnects and
reconnects the windings from the source voltage in order to limit the current
to a given level. This second type of drive, commonly referred to as a chopper
drive, allows for higher source voltages, increasing the maximum speed of the
motor, while ensuring the motor windings are not damaged.

|
Both
of these drive types have been around for years and have limited utility on
their own. In order for any but the simplest tasks to be completed, some
intelligence is required to tell the drive when to take a step and which
direction to take the step in. Preferred features for drives include the
ability to create acceleration and deceleration ramps, as well as a counter to
keep track of the position of the motor. Some system designers choose to create
their own controller and driver, spending time up front creating a drive
optimized for their application. This is desirable when the project has the
budget and time to invest, but when development time is most important, an
off-the-shelf solution is best.
In
the past, a common approach has been to program a separate controller, which
then provided the drive with a signal indicating the direction to take a step
in, as well as pulses when it was time to take a step. This works well for the
movement of the motor, but doesn't provide easy access to the drive's other
parameters, such as current during the move, current when not moving, and how
long after a step to switch from one current level to the other.
Integrated
Intelligence
Many
companies have recently begun taking advantage of the shrinking size of
components and more powerful processors to integrate intelligence into the
drive. This allows for reduced cost and size, as well as control of all the
drive's parameters through the same interface that controls the motor's
movements. It has also opened the door for more advanced features, such as
increasing the current when the motor is accelerating against a load and
backing off the current when at a stable speed, allowing larger loads to be
moved without risk of burning out the motor or drive. These drives are
generally programmed using a proprietary language, most of which have common
features such as looping, branching based on inputs and settings outputs.
|
The
focus of these drives has been to give as much power to the system designer as
possible, allowing complex applications to be handled without additional
controllers. The drawback to this is that, for a system designer to begin to
work with one of these drives, there is usually an entirely new programming
language that must be learned.
The
purpose of buying an off-the-shelf drive is to save time; investing the time
you saved by not designing your own controller into learning how to use someone
else's controller defeats the purpose of using an off-the-shelf drive to begin
with. The best way to save time in the development cycle is to use a drive that
is simple to program and use.
In response to market demand for these types of drives,
more companies are beginning to offer such products. An example of this is
Haydon Kerk's programmable IDEA drive,
available as a stand-alone unit or mounted to the back of the motor. All
programming is completed through the use of a graphical user interface with
on-screen buttons such as "Extend," "Retract" and "Move To Position." Programs
are built sequentially, top to bottom, with the completion of one command
immediately followed by the command below it.

|
While
simplicity is a major point of interest for such drives, designers also need
the programming power that made the controller a necessary part of their
project to begin with. A key consideration when looking to use a simple drive
with enough programming power for a variety of application is to ensure that
basic features are included, such as: position counters, acceleration and
deceleration ramps, conditional branching, inputs and outputs. More advanced
features to consider are multiple different interrupt sources with different
priority levels, and the ability to increase the current for the acceleration
or deceleration portion of a movement. These features allow for a high degree
of motor control and interaction with the rest of the system.
Josh Pyne is electrical design engineer at Haydon
Kerk Motion Solutions.