Machine Design

Smooth rotation

An adaptive algorithm kills jerky motions in motors.

Boaz Kramer
ACS Motion Control Inc.
Plymouth, Minn.

Cogging action boosts position errors in motion-control systems as shown by the position-error graph on the top. The harmonic graph on the bottom identifies specific bands of harmonic frequencies generated by motor cogging. The test system used an SpiiPlus controller by ACS Motion Control turning a motor at a slow but constant velocity of 1 rps (60 rpm).

These two graphs (top and bottom) show the position error and harmonic content after an adaptive algorithm that compensates for cogging action was added to the controller. The algorithm injects the compensation signal directly into the current command of the controller. As the graphs show, the algorithm reduces the amount of position error and the level of harmonics generated. Subsequent testing indicated that the algorithm also minimizes the velocity ripple of the motor.

The two oscilloscope traces (top and bottom) display the before and after effects of feed-forward compensation used to reduce ripple effects. A rotary brushless motor connected to an ACS SPiiPlus motion controller was first accelerated in one direction, held to a constant rpm, and then brought to a stop. The same profile was then executed with the motor turning in the opposite direction. The scope displays show the reference velocity, the actual velocity, and the position error of the motor with and without feed-forward compensation of the major disturbing harmonic. The scope shows that velocity ripple and the position error during the constant velocity phase are virtually undetectable when using compensation.

High-performance motion-control applications commonly use three-phase permanent-magnet synchronous motors, popularly known as brushless motors. These motors are typically operated by servodrives that deliver sinusoidal currents to produce a relatively smooth motion.

However, brushless-motor shafts don't rotate smoothly. They experience a number of periodic disturbances from imperfections in motor structure and nonideal phase commutation. These disturbances create a certain amount of speed fluctuation, vibration, acoustic noise, and an excitation of lightly damped electrical resonances.

Though small, the disturbances can introduce critical errors in applications that need smooth motion at low velocities — such as for scanning and printing. Knowledge of the main contributors to these periodic disturbances reveals several methods for suppressing them.

The most common brushless motors are rotary types with surface-mounted magnets. But most of the principles and methods apply to all brushless motors, including linear.

There are five main sources for periodic disturbances, or torque ripples, in a brushless motor: cogging, dc offsets, back-EMF harmonics, current harmonics, and phase/gain imbalances. Cogging is mainly caused by the slots in the stator combined with a nonuniform air gap. The permanent-magnet flux in the rotor creates a "cogging" torque as it seeks a path of minimum reluctance. The effect exists even when the drive is disabled. The level of the disturbance depends on design of the motor structure. Some motor structures generate little or no cogging action. But they are typically more expensive.

Drives usually control two of the motor phases. Imperfections in the servodrive and current sensing circuitry formed by component tolerances produce dc offsets in one or both controlled phases. When the dc offset interacts with the permanent-magnet field of the motor, it gives rise to a periodic disturbance synchronized with the electrical angle of the motor.

Manual offset compensation, usually available either at the drive or the controller, mitigates the offset to cancel the disturbance. However, in multidrive systems each drive needs its own compensation — a rather tedious process. And even the best manual compensation cannot fully eliminate the problem. For example, thermal drift and component aging shifts the offset over time, necessitating periodic touch-ups.

Drives with digital current loops, like the SPiiPlus CM from ACS Motion Control, produce significantly lower dc offsets. Compensation can take place automatically using a simple approach. The drive measures the phase currents for a zero reference as part of the drive-enable process. The measured values are then used for offset compensation. This kind of compensation is transparent to the user and significantly minimizes the associated disturbance.

The electromagnetic torque of brushless motors results from an interaction between the motor current and its back-EMF. Those used in high-performance motion applications are usually designed for sinusoidal back-EMF. This involves sinusoidal distribution of the armature windings, as well as specific shapes for the rotor and permanent magnets. A combination of sinusoidal supply currents and sinusoidal back-EMF should ideally produce a smooth and ripple-free torque.

However, imperfections in the motor structure may give the magnetic flux linkage and its back-EMF undesired high-order harmonics that create torque ripple. This ripple depends on the electrical angle of the motor and has a dominant sixth-order harmonic.

Cheaper designs also involve high-order harmonics and the back-EMF will not be perfectly sinusoidal. Common low-cost motors often have a so-called "trapezoidal back-EMF." These motors are not designed to operate with sinusoidal currents and generate a relatively large torque ripple.

It is incorrect to claim that these motors generate less torque ripple when operated with rectangular currents. Ideal rectangular phase commutation is not feasible. The back-EMF waveform is typically not an ideal trapezoid shape.

Sinusoidal commutation may exhibit nonideal characteristics as well. Currents may possess high-order harmonics that generate additional torque ripple. In particular, the currents in pulse-width-modulation (PWM) drives usually have high-frequency harmonics associated with switching that can appear in the motor torque. Fortunately, PWM switching frequencies are usually high so the harmonics have negligible effect on motion performance.

It is important to note that the degree of torque disturbances caused by back-EMF or current harmonics depends on the current amplitude. Unlike cogging or dc offsets, their effect is more pronounced when currents rise.

The normal tolerance differences found in the phase windings and servodrive circuitry contribute to the torque ripple. Variations in phase impedance, current-control circuitry, and the conduction ability of the power semiconductors create a current imbalance between the phases. The associated ripple depends on the electrical angle of the motor and mainly includes a second harmonic. If the motor and drive are in proper working order, the amplitude of this ripple is relatively small. However, ripple level rises with motor current.

There are several techniques available that reduce or even eliminate torque-ripple disturbances. The optimal-current method selectively eliminates torque-ripple harmonics by intentionally injecting high-order harmonics into the motor-current profile. The injected harmonics interact with the back-EMF harmonics to generate ripple-free torque.

The main disadvantage of this method is that it requires prior knowledge of the back-EMF and other motor parameters. In addition, it involves a relatively complicated calculation that usually takes place off-line. For this reason, the method is impractical for many uses. It's definitely not usable in general-purpose motion controllers that can connect to many different motors. In addition, this method cannot eliminate cogging disturbances related to the mechanical angle of the motor rather than the electrical angle.

A different method sometimes offered by motion controllers is feed-forward compensation: A selected number of sinusoidal signals are added to the drive output as feed-forward commands. Each command is founded on an integer multiple of the mechanical angle and has a constant amplitude. The latter assumption is not necessarily correct, but it is reasonable for many of the common disturbances.

The order of the major harmonic, amplitude, and phase are found by a simple experiment in which the motor moves at a relatively low velocity. It is assumed that the frequency of the major disturbances is low and well within the velocity loop bandwidth. The order, amplitude, and phase of the major torque harmonics are identified by analyzing the velocity loop output.

Though the feed-forward method reduces torque ripple, it does have several disadvantages. It is complicated and tedious to manually set its parameters while handling only a limited number of harmonic disturbances. The technique does not take into account disturbances that vary as a function of the current amplitude; nor does it take into account the variance and time dependency of some of the disturbances.

An adaptive cogging-compensation algorithm just recently developed overcomes most of the disadvantages mentioned above. It offers automatic and more effective compensation of multiple disturbance harmonics. The controller identifies major disturbance components by an iterative learning process that runs during homing of the system. The controller then injects a compensation signal into the command for current.

The adaptive algorithm compensates for any time dependency or command dependency of the disturbances. The compensation is also active when the motor is in open-loop mode. The user can feel the effectiveness of the algorithm by rotating the motor shaft by hand. The shaft turns smoothly without any noticeable cogging action.

ACS Motion Control Inc.,
(763) 559-7669,


Ripple Source


Pulsating frequency



Nslots ×fM

Dc offsets in currents



Back-EMF harmonics


6 × fE

Current harmonics


6 × fE

Phase/gain imbalances


2 × fE

The table summarizes the most common ripple sources and their resulting periodic disturbances. In the table, fE is the electrical motor frequency, fM is the mechanical motor frequency equal to fE/p where p is the number of pole pairs, and Nslots is the number of stator slots.

Calculating torque ripple
Phase currents and back-EMF shape the electromagnetic torque of servomotors. Their interaction is best expressed by the following equation:
T = (ia × ea + ib × eb + ic × ec)/wm where wm = motor velocity; ia, ib, and ic = motor-phase currents; and ea, eb, and ec = phase back-EMFs.

If motor-phase currents and back-EMFs were perfectly balanced, the motor would not exhibit any torque-ripple effect. Unfortunately, all motors possess small imperfections and thus generate torque harmonics. As an example, assume a motor has a Y-connection, a dc offset in one of the phases designated as I0, and a gain imbalance signified by the factor k. At any given electrical angle θθ , the phase currents are:
ia(θ) = I0 + I1sinθ ;
ib(θ) = I1(1 + k)sin (θ – 2π/3);
ic(θ) = –ia(θ) – ib(θ).

In addition, the motor used in this example has nonsinusoidal backEMF with additional third and fifth harmonics:
ea(θ) = E1sin θ+ E3sin 3θ + E5sin 5θ ;
eb(θ) = E1sin (θ– 2π /3) + E3sin 3θ + E5sin 5(θ – 2π /3);
ec(θ) = E1sin (θ + 2π /3) + E3sin 3θ + E5sin 5(θ + 2π /3).

The three harmonics create a waveform that is nearly trapezoidal in shape.

Substituting the second and third sets of equations into the first set gives the torque results for the motor that consists of:
A dc component that mainly depends on the fundamental harmonics of the current and back- EMF:
T0 = (3/2 wm) × I1E1;

A first-order torque harmonic that depends on the fundamental harmonic of the back-EMF and the current offset:
T1(θ) = (1.732/ wm) I0E1cos(θ +π/3);
A second harmonic that depends on the gain imbalance, k:
T2(θ) = (1.732k/2 wm) I1E1sin(2θ +π /3);
And a sixth-order harmonic that depends on the fundamental harmonic of current and the fifth harmonic of the back-EMF:
T6(θ) = –(3/2 wm) I1E5cos 6θ .

The other harmonic components are negligible, although it's interesting to note that the third harmonic of the back-EMF has almost no effect when the motor has a Y-connection.


Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.