Motor control

Jan. 1, 2006
Since the mid 1990s, motor control algorithms have grown increasingly complex, driven by several factors. Among the most important are lower energy consumption

Since the mid 1990s, motor control algorithms have grown increasingly complex, driven by several factors. Among the most important are lower energy consumption and better functionality. One example is reversing the direction of an ac induction motor driving a washing machine. This allows the load to balance automatically, thereby increasing spin rate and reducing energy consumed by the dryer.

Another factor behind sophisticated control algorithms is low-cost microprocessors and digital signal processors (DSPs). These devices make it affordable to add vector control to multiphase motors, and make ac induction motors — the workhorse of most household products — more productive and efficient.

Multiphase motor basics

Brushless dc motors are generally three-phase devices. They have a Wye or Delta configuration where the current input at any given time for two coils equals the current output at the third. That is, C = -(A+B) where A, B, and C represent the current through each leg of the motor.

These three coils generate the dynamic magnetic field on the stator (the nonrotating, outer part of the motor), while permanent magnets produce the static magnetic field associated with the rotor. This is why brushless dc motors are also referred to as brushless pm motors.

Rotor and stator fields interacting to create rotational torque make electric motors work. In brushless dc motors, current timing and relative magnitude through each stator winding must synchronize with the rotor position; this keeps the stator electrical field aligned as the rotor rotates. In single-phase dc brush motors, a mechanical commutator with brushes helps generate rotational torque. In brushless dc motors, an external controller provides the timing that leads to rotational torque.

Sinusoidal output waveform generation for phases A, B, and C is denoted as:

A = command × cos (θ)

B = command × cos (θ - 120°)

C = command × cos (θ - 240°)

where command is the desired output torque and θ is the rotor electrical angle.

Stator vector torque generation

For a given command current in each of the three windings, Ia, Ib, Ic, current in the x and y-axis stator directions is given by:

Ix = 0.866Ib - 0.866 Ic

Iy = Ia - 0.5Ib - 0.5Ic

Magnitude and direction (angle) of the space vector Is are defined as:

Is = -(Ix)2 + (Iy)2)

Is angle = atan(Ix/Iy)

where Ix is current in the stator x-axis direction, Iy is current in the stator y-axis direction, Is is current in the space vector magnitude, and Is angle measures the angle of the space vector.

Hall-based commutation

Three common techniques for controlling brushless motors are Hall-based (six-step commutation), sinusoidal commutation, and field-oriented control (FOC). Of these, Hall-based is easiest to implement, requiring only three Hall-effect or optical position sensors. Usually, these three binary sensors define six useable rotation states (000 and 111 are excluded) which are converted through a simple look-up table to appropriate motor output drive signals for each winding.

Hall-based commutation is not without drawbacks, though. As the rotor turns, the stator's electrical phase angle should be adjusted continuously to maximize Q. It does, however, break the overall electrical cycle into six 60° sections. So, at worst, the generated torque vector is off by 30° positive or negative with respect to the desired angle, which wastes energy and causes variations in motor torque with rotor position.

At low speed, Hall-induced torque ripple normally isn't a problem, although if an application requires constant torque on the load, then Hall-based commutation is not practical. For applications running at high speed, however, torque ripple is injected as cyclic energy into the load mechanics at the electrical rotation frequency, where it is damped or amplified by the load's natural resonances. This unwanted vibration can appear as excessive noise, positioning inaccuracy, or servo instability.

Sinusoidal commutation and FOC

Sinusoidal commutation and FOC are more advanced control approaches that vary the stator angle continuously, rather than in discrete 60° steps. Employing position encoders rather than Hall sensors for feedback accomplishes this. Measuring back-EMF (electromotive force) from each coil is another way to monitor the rotor's angle. The downside to back-EMF is that it's not as precise as direct measurement and is only useable after establishing rotation.

Special math functions (Park and Clarke transforms) convert between the D/Q frame and the phased A/B sinusoidal commutation frame. Four equations are associated with the transforms, one each in the forward and inverse directions.

Clarke transform: from three-phase (120°) Ia, Ib, Ic to two-phase (90°) Iα, Iβ:

Iα = Ia

Iβ = (2ib + la/-3

Park transform: from two-phase Iα, Iβ at angle θ to two-phase “de-rotated” Id, Iq:

Id = iα cos(θ) + Iβ sin(θ)

Iq =- iα sin(θ) + Iβ cos(θ)

Inverse Park transform: from “de-rotated” Id, Iq back to two-phase Iα, Iβ at angle θ:

Iα = Idcos(θ) - Iqsin(θ)

iβ = Idsin(θ) + Iqcos(θ)

Inverse Clarke transform:

Ia = iα

Ia = (-1/2)iα + (-(3)/2)iβ

Although the difference between the two control approaches is negligible at low rotational speed, it is significant at high speed. In sinusoidal commutation, current in each phase becomes increasingly inaccurate as the motor speeds up, due to limitations in the bandwidth of the current loop. Another way to look at this is that all control loops have some lag. So the current loop operating on these position-related error signals lags the desired current, meaning that the useable force vector's (Q) location lags the desired force vector. In short, the higher the rotational speed, the greater the phase lag.

FOC avoids this lag because the current loop operates on the Q and D forces, which are independent of motor rotational speed. The determined Q and D loop outputs are then referenced to the A and B phase command using Park and Clarke transforms and converted into specific voltage commands for each coil.

For this reason, when both types of control are available, FOC is preferred over sinusoidal. However, one advantage sinusoidal commutation has over FOC is that vectorization (splitting a single torque command into specific commands for each phase of the motor) is separate from current control. This is helpful when using off-the-shelf motion cards with separate amplifiers, as many ‘dumb' amplifiers support multiphase A and B inputs, but not FOC connected to an external motion card.

Ac induction motors

Most household ac induction motors are single phase and driven directly by the 60-Hz ac wall current. Therefore, they operate in virtually one mode: on or off. Like brushless dc motors, three separate phases wire larger ac motors, as well as those requiring more sophisticated control. And, also like brushless motors, the three coils generate a stator electrical field. However, the difference is that ac motors do not contain magnets in the rotor. Instead, the stator magnetic field induces a current in the rotor coils, producing a magnetic field on the rotor.

The angle and magnitude of this induced current vector depend on stator winding frequency and magnitude, as well as the type of rotor iron material. Since current is induced, it typically lags the frequency of the stator current, and is not fixed relative to the mechanical rotor position. This difference is slip angle, or slip frequency.

Flux vector control is one way to determine the rotor magnetic angle. It uses the mechanical angle of the rotor and stator excitation signals to estimate rotor flux. Note that “flux vector control” is a widely used term and can refer to this estimation technique, FOC, or proprietary multiphase control approaches.

A second way to determine the rotor magnetic angle is by measuring back-EMF of the three coils. After obtaining the angle, a technique such as FOC can control the motor. However, the D desired force can't be set to zero.

In brushless dc motors, permanent magnets generate rotor magnetic flux, and for control purposes, the D command is set to zero. Conversely, in ac motors, applied electrical energy induces a magnetic flux in the rotor. Thus, the desired D value is generally set to a constant — characteristic of the rotor magnetic properties and drive voltage. For sophisticated applications, modifying D on-the-fly is often referred to as “field weakening,” which helps avoid magnetic saturation.


Multiphase motor basics

Hall-based commutation

Sinusoidal commutation and FOC

Ac induction motors

Voice your opinion!

To join the conversation, and become an exclusive member of Machine Design, create an account today!