J. Finbarr Moynihan
Analog Devices Inc.
The induction motor is simple and robust. It continues to be the most widely used ac motor, finding its way into everything from pumps and conveyors to home appliances.
Garden-variety induction motor applications only run at one fixed speed. It is possible to vary the speed of an induction motor, but only at some expense. The controls for variable speed are rather costly, and some control schemes demand alterations within the induction motor itself.
All this may be about to change, thanks to recent advances in digital signal processing and more clever ways of implementing a technique called vector control. The thinking is that these developments may make it possible to precisely control the speed of induction motor-powered appliances, and to do so over a wide speed range. This brings a number of potential advantages.
In the case of a washing machine, for example, a vector controller might be able to sense torque variations that indicate an unbalanced load. It could adjust power to the motor during the proper part of the cycle to compensate, and perhaps even rapidly accelerate and decelerate a few times to break up the offending lump. Moreover, vector control permits induction motors to run at higher speeds and speed ranges, perhaps eliminating the need for belt drives. It may be practical to greatly boost the drum speed during the spin cycle, extracting more moisture from clothes and reducing the amount of time they spend in a dryer.
One factor that makes DSP-based vector control a candidate for washing machines and similar uses is precise regulation. It is desirable for a washer to spin at speeds that vary less than 1 or 2% regardless of the load, and fast DSPs can provide this.
In contrast, traditional variable-speed control techniques provide poor speed regulation, perhaps within 10% at most. These simple constant volts/hertz control techniques have a dynamic response when accelerating and decelerating that can be too slow for more demanding applications.
Vector, or field-oriented, control offers potentially high dynamic response, perhaps in the 10 msec range, and smooth speed regulation down to zero with ordinary induction motors. The idea behind vector control is to formulate the control problem so that it resembles the control of a dc servomotor.
The classic vector control scheme synthesizes two currents that are the mathematical equivalent of the normal three-phase ac currents. If done properly, one of the synthesized currents controls motor flux directly, while the other controls torque directly.
Put another way, one component of the stator current vector is forced to lie along the vector representing the rotor flux. The other current component is then forced to lie in quadrature (90° out of phase) with the rotor flux vector.
The vector controller must maintain this relationship between the stator current vector and the rotor flux vector at all speeds and loads. The result of this synchronization is that the current component in phase with the rotor flux, often called the direct component, can be used to directly control the flux in the ac induction motor. The other component of the stator current, often referred to as the quadrature component, then controls motor torque.
This configuration is analogous to an equivalent, separately excited, dc motor where the direct-axis stator current corresponds to the dc field current. The quadrature-axis current is analogous to the dc motor armature current.
Traditional vector control schemes consist of what are called either direct or indirect methods, depending on whether there is feedback available about the rotor flux. Rotor flux is difficult to measure directly. The only practical techniques make use of Hall-effect sensors which are fragile and tend to be confused by flux from stator slots of the machine.
Alternative schemes use special windings on top of the stator that measure the rate of change of rotor voltage. Mathematical integration of this quantity provides a measure of flux. The problem is that the integration tends to be inaccurate at low speed, suffering from drift and offset problems.
Moreover, normal induction motors do not contain this special sense winding, so it represents an added motor modification. For obvious reasons, developers are most interested in speed control techniques that don’t require any special changes to the motors involved.
The difficulties associated with measuring motor flux directly have led developers to estimate rotor flux from other parameters. Indirect vector control makes use of these methods. It essentially takes as inputs a torque command T*e and a flux level command c*e and converts them to current components i*qs and i*ds to produce the desired flux and torque. These currents, along with data from an incremental encoder on the motor shaft, feed into a pulse-width modulator and voltage-source inverter circuits which actually generate the three-phase motor currents.
There are a couple of reasons why DSPs and their computational abilities come in handy for vector control. First, vector calculations use a mathematical model of the induction motor. The scheme only works properly if the motor model remains accurate. Trouble is, important parameters in the motor model change with temperature or as a function of magnetic saturation caused by motor current.
These parameters must be adjusted on the fly to keep the motor model accurate. DSPs can track the variation of these parameters as the motor operates and adjust them using techniques such as least-squares, Kalman filtering, or others.
Second, the basic vector transformations take place in software and are calculation intensive. They typically involve matrix manipulations that produce the required phase angles.
Ordinary microprocessors are hard pressed to work quickly enough to produce both the vector calculations needed for generating the three-phase currents, and the parameter estimation that keeps the motor model accurate. The approach usually taken is to handle vector transformations with add-on coprocessors or a separate dedicated board. This, of course, has limited the technique to applications that can bear the cost of the additional hardware.
Sensorless vector control of induction motors is an emerging application area that holds the promise of cutting costs drastically. It also is only practical because of fast DSPs. By eliminating the relatively fragile position sensor from the control scheme, it provides the ancillary benefit of ruggedness.
The obvious advantages explain why sensorless vector control is now an area of intense research. Techniques for sensorless control estimate motor qualities such as flux, torque, and speed from measurable motor terminal quantities such as voltage and current. One reason this is a potentially inexpensive approach is that modern low-cost induction motor drives already incorporate current and voltage sensing, usually through an inexpensive resistive divider and resistive shunt.
Sensorless vector controllers replace direct measurement of rotor position with complex estimation schemes that employ detailed models of the ac induction motor. Numerous methods have been proposed for estimating other rotor quantities. One such scheme relies on the use of a model reference adaptive system. The MRAS estimates rotor speed based on the stator and rotor equations of the induction motor. The idea is to formulate two equivalent models of the motor system, one depending on the quantity being estimated and one which doesn’t. A DSP computes the difference between the two to measure the inaccuracy of the estimates. The error is used to close the loop of a regulator.
Another widely used approach for estimating induction motor fluxes and currents is through what is called a state estimator. It uses stator and rotor voltage equations of the motor written in a discrete state-space representation. A model of the induction motor is computed in parallel as the real motor operates. Both the model and the real machine receive the same inputs, such as stator voltage. The model then computes some quantity, such as stator current, that is easily measured in the real system. The error between the estimated and measured currents serves as feedback to correct model errors caused by parameter uncertainties or initial conditions that weren’t correct. There are several different ways to construct systems this way depending on how the estimation error is used.
In general, however, all estimation schemes used so far suffer from two main drawbacks. First, wide variations in model parameters can cause difficulties for the estimators, resulting in estimates that are way off. Developers try to offset such problems by carefully selecting the feedback gain and tweaking the motor model to make it less sensitive to such inaccuracies.
Second, the fundamental motor voltages become quite small as the motor speed approaches zero. This makes it difficult to extract the needed measurements of motor voltage. Consequently, all estimation schemes tend to produce inaccurate estimates at extremely low speeds. This makes them useful only above a few hertz. Sensorless vector-control schemes able to work well down to zero speed are still under intensive research.
DSP motor control
Processors that calculate complex motor models and state estimation schemes must do so at sampling rates in the range of tens of kilohertz or more. Estimation schemes such as state observers, model reference adaptive systems, and Kalman filters are well suited for implementation on DSPs because the vector calculations they entail can be formulated as sequences of multiply and accumulate instructions, the stock and trade of DSPs.
DSP makers are also beginning to field chips specifically optimized for motor control with special peripheral circuits. For example, it is possible to find a DSP chip that also contains a high-accuracy pulse width modulation generation unit, needed to produce the signals that drive the power devices in the inverter.
Equally important is high-performance analog/digital conversion. In general, a/d converters with resolutions of at least 10 to 12 bits are preferred for these applications because they permit handling a voltage range wide enough to encompass peak motor current, which can run three to four times rated current, while providing enough resolution to work with the smaller currents and torques at low speeds.
Because the area of induction motor control is so promising, it is now possible to find DSPs configured with a/d converters within this range, as well as other ancillary features that promote connection to widely used sensors. Also appearing on these DSP chips are PWM generators with an ability to accept programming for generating the properly phased signals needed to drive the power converter stage of a typical induction motor drive.
The Vector-Control Promise: High Performance, Low Cost
To change the speed of an induction motor in a vector control scheme, a controller issues a new torque and flux command. These two commands determine the required induction motor speed and can be read from motor torque versus speed curves.
The principle of vector control is that one component of the three-phase stator current vector is forced to lie along the vector representing the rotor flux of the machine. The other current component is then forced to lie in quadrature with the rotor flux vector. The stator current vector must stay synchronized with the rotor flux vector at all speeds and under all loads. Under these conditions the induction motor-control problem reduces to one that resembles that for dc servomotors.
The classic vector control scheme for induction motors uses feedback from a position encoder to determine the proper phase relationships of the motor-drive currents. These drive currents come from a synchronous-frame current regulator, so named because it regulates current in a rotating frame that is synchronized with motor currents. The regulator in turn is part of a PWM signal generator and voltage-source inverter.
Feeding the regulator/PWM function are two synthesized currents, iqs* and ids*. These currents are produced from mathematical manipulations of two input commands, motor torque Te*, and rotor flux cr*. Here, iqs* controls motor torque directly and ids* controls motor flux.
The production of iqs* and ids* begins with a mathematical model of the induction motor that is a function of the number of poles p, magnetizing inductance, Lm, and rotor inductance,LI. These inductances can be affected by changes in motor parameters such as rotor resistance and rotor time constant, Te. The DSP updates these parameters on the fly.
The product of the torque commandTe* and the motor model is divided by the flux command cr*to obtain the component of current that produces torque, iqs*. (This from the fact that torque is the product of flux and current.) Induction motors generally run at their rated flux, so the flux command cr* is usually constant. However, there are modes of operation where, to hit high speeds, the controller backs off the flux (field weakening). DividingTe* by cr* provides a way of increasing the torque current to compensate.
Similarly, the differential term compensates for changes in the flux command, and reduces to zero when flux is constant. Dividing the flux command by the motor inductance yields flux current from the fact that flux is the product of current and inductance.
The quotient of torque and flux current yields a so-called slip angle v2, the difference between the induction motor stator and rotor fields. Integrating the slip angle produces a corresponding slip position which is in turn added to the actual position of the rotor. The sum serves as the synchronous angle used by the synchronous frame current regulator.
New methods may mean no more position sensors
Sensors for detecting rotor position tend to make vector control impractical for cost-sensitive uses such as home appliances. Sensorless vector-control schemes eliminate the need for rotor-position information by estimating the state of the induction motor based on motor voltage and current, both of which are easy to measure.
One sensorless approach under study employs a model reference adaptive system. The MRAS estimates rotor speed from induction motor stator and rotor equations. It continuously compares measurements of actual motor currents and voltages to what the model predicts. It uses the difference between the two to drive the estimation error to zero with a closed-loop regulator.
Another technique researchers are investigating is a state estimator. As in other sensorless approaches, it measures stator voltage and currents. The simplest estimators use just the stator and rotor voltage equations. Both the motor model and the motor itself receive the same commands. The model is used to compute some quantity, such as stator current, that is easily measured in the real system. The error between the estimated and measured currents then becomes a correction signal for errors possibly arising from changing parameters or incorrect initial conditions.
A simple state-space estimator uses feedback with a constant gain. This means feedback to the model is always proportional to the estimation error. The feedback gain is usually chosen to make the dynamic response of the estimator faster than that of the real system.
An alternative approach uses a Kalman filter to adjust the gains in the error feedback path. Kalman filtering estimates the state of a system from measurements containing random errors. It can be thought of as an optimal estimator technique in the sense that it can sift through measurement and quantization noise when selecting a gain. It recalculates an appropriate feedback gain in each estimation cycle.
The above descriptions are fairly abstract because it is possible to devise many different approaches for parameter estimators. There is no general theoretical method of designing an all-purpose estimator, and the path taken depends on the induction motor model, the applied input signals, and the measured states. All the estimation schemes estimate rotor flux or rotor current, which of course can’t be measured easily. These estimates can then be used to adjust torque and flux commands issued as part of vector control techniques.
In general, all such estimation schemes suffer from two main drawbacks. First, induction motor model parameters can and do vary widely. These wide variations can cause the estimators to make inaccurate estimates. The biggest problem, though, is that motor voltages become small at speeds below a few Hertz. It is difficult to extract them from high-frequency PWM components. Estimation schemes tend to produce inaccurate state estimates below this level, and thus are a subject of intensive research.
Implementing vector control with DSPs
The trend toward eliminating the need for a position sensor from vector-control schemes makes these techniques computationally intense. The sampling rates involved are on the order of 30 kHz or more. Estimation methods that employ state observers, model reference adaptive systems, and Kalman filters all can be formulated as sequences of multiply and accumulate operations. These are the forte of DSPs.
The ADMC300 single-chip DSP from Analog Devices is well suited for vector control of induction motors. Its 2k block of program ROM carries several useful mathematical and motor control functions that can be called as subroutines from the user program in its 4k RAM. It integrates a