Designer’s guide: motor drivers evolving toward smart motion control
Getting motors to run is easy, but controlling their operation with any precision means a lot more work
the rise in robotics, industrial automation, and the Internet of Things, the
need for sophisticated motor control has dramatically increased. But sensorless
operation and sophisticated algorithms such as field-oriented control have
typically required complex programming and powerful computation, keeping them
out of reach for many developers. Newer control motor driver chips are entering
the market, however, bringing smooth, precise, and power-efficient motion
control within the reach of the non-expert.
its most basic, an electric motor is a simple concept. It consists of permanent
magnets and electric field coils arranged around a drive shaft that forms a
rotation axis. When the field coils are energized, they attract the permanent
magnets in a way that causes the drive shaft to rotate to bring the two in
alignment. By properly phasing the way that the field coils get energized, this
movement can be made continuous. When the alignment is almost complete, simply
switch the energy to the next coil in sequence (a process called commutation)
to reposition the point of alignment. Like leading a donkey with a carrot held
just out of reach, the result is that the motor keeps turning.
first practical electric motors appeared back in 1834 and have proliferated in
size and type since then. Today, we have large electric motors powering trucks
and cars, tiny motors powering palm-sized quad-copters, and everything in
between. Motor types now include AC synchronous and induction types and DC
motors with both mechanical (brushed) and electronic (brushless) commutation.
There are also many variations within these broad categories.
many developers, the operation of a motor also seems simple: You apply power, and it spins. But there is a lot more going on than that, and precise control
of the motor’s operation is increasingly important in robotics and many other
systems. Furthermore, different types of motors require different types of control,
adding even more complexity.
of the most popular motor types in motion control are the stepper motor and the
brushless DC (BLDC) motor. Stepper motors, as their name suggests, are a
variant of AC motors designed to rotate in small, discrete arcs or steps. They can
pause between steps to provide a set-and-hold-position kind of motion. A BLDC
motor, on the other hand, is designed for continuous rotation. Both are commonly
used when precision motion control is desired, the exact choice depending on
A rise in robotics is bringing with it
increased demand for precision motion control that newer ICs are making less
difficult. (Image source: Rethink Robotics)
provide controlled motion, however, you need to know where the motor is in its
rotation arc. This knowledge is not only essential for determining position, it
is helpful in controlling the motor’s speed. There are rotary encoder sensors that
one can clamp onto the drive shaft to provide this information, or there are
sensorless methods that use the back EMF from the field coils.
most cases, you also need to control the speed of motion: velocity,
acceleration, and even “jerk,” the time derivative of acceleration. You
implement this control by modulating the current driving the field coils, and
that current varies with rotational position, motor mass, load on the drive
shaft, and the motor’s magnetic dynamics. So that seemingly simple operation
quickly proves to be a complex problem in control loop theory for motors. A
number of increasingly complex control loop approaches have evolved, often
named for the basic shape of their drive waveforms, including sinusoidal, trapezoidal, and field-oriented control, also known as vector control.
Optimizing motion control for a given application, then, can require
considerable knowledge and expertise.
Advanced motor control algorithms can
seem daunting, but vendors are ramping up developer support with libraries,
tools, and even pre-programmed devices.
you no longer need to be a control loop and motor expert to obtain a reasonable
degree of precision movement. Companies have started creating motor controllers,
sometimes called motion controllers or motion processors, that have these
to varying degrees. In some cases, they are parameterized so that you need only
input some data about your motor choices. From there, you simply send the device
your motion commands, and it takes care of the rest. These intelligent motor
control devices take a great deal of the complexity out of the design.
motors have particularly benefited from the advances in motor control chips.
Moving machinery in steps can create mechanical noise, but with control of
acceleration and jerk, steppers can provide fast and smooth motion with minimal mechanical noise. Asthis video shows, intelligent
stepper control using advanced control algorithms also smooths out motion.
move to pre-configured motor control is only just getting started, however, so
motion control chips come in a range of functional levels. Industry staples
Toshiba, and Texas Instruments offer motor
controllers with library software and tool support for implementing advanced
algorithms such as FOC and sensorless operation. Other companies, like Active-Semi,
Performance Motion Devices (PMC), and Trinamic, are competing by offering
fully pre-programmed devices that handle most of the complexity automatically.
Because the industry is in flux, developers
working with motors and motion control should seek out news on the latest
introductions before making their choices. Evaluate devices by keeping in mind
the type of motor you will be controlling, speed and load constraints, any
requirement for sensorless operation, and what kinds of control algorithms you
want to use. Chips typically specialize in one or more of these areas. If you
can find one that meets all of your parameters and is available with substantial
libraries or even pre-programmed, you will be saving yourself a great deal of
effort that you can spend on perfecting your application instead of tweaking
the motion control.