Transforming motion: field-oriented control of ac motors
By Aengus Murray, International Rectifier - September 27, 2007
Once the control method of choice only in high-performance industrial ac-servo drives, FOC (field-oriented control) is finding its way into lower end industrial and many appliance applications with the advent of integrated FOC implementations.
Various electrical machines share common operating principles that a simple example can illustrate (Figure 1a). In this mechanism, the field winding produces a magnetic field in the air gap that interacts with the current-carrying coil on the armature. The first operating principle is that the electromagnetic force on the armature coil due to the magnetic field produces a torque proportional to the coil current. The second principle is that moving the coil in the magnetic field generates a voltage, known as back EMF (electromotive force), proportional to the angular velocity. When the coil rotates, the leading conductor continuously moves between poles of opposite polarity. Switching the polarity of current in the coil as it switches its alignment with the magnetic poles maintains unidirectional torque. The back EMF in the armature coil also switches polarity as it rotates. Thus, in an ideal machine, electrical energy continuously flows into the coil, equaling the continuous mechanical-energy output.
In the idealized form of this electric machine, a mechanical commutator switches the polarity of the coil connection to the brushes so that there are time-varying-dc currents and voltages (Figure 1b). This ideal dc electrical machine is a core element in the models of real dc and ac machines that control-system developers use. The following equations define machine torque (T), back EMF (eA), and pole flux (φ) in terms of the armature current (iA), the rotor’s angular velocity (ω), and an armature constant (kA) that accounts for the number of coil turns and the number of magnet-pole pairs: T=kAφPiA,and eA=kAφPω. Combining these equations results in Tω=kAφPiAω=eAiA, which shows that the system satisfies conservation of energy. The pole flux is a function of the field current (iF) in a wound-field machine, φ=F(iF)L≈LMiF, but is a constant in motors that use permanent magnets to generate the field, φ=φM.
In the dc machine, the magnetic-field system is fixed, and the current-carrying coils on the armature rotate. The real dc-machine model includes the winding inductance and resistance (Figure 2). If the voltage drop across the armature-winding resistance is relatively small, then the motor’s back EMF will closely track the input dc voltage. A controller that increases the motor armature voltage as a function of the target speed can achieve open-loop speed control of the dc machine.
An alternative speed-control approach reduces the field-winding current and keeps the armature voltage constant. In this case, the speed is inversely proportional to the pole flux, and the controller uses less current. Industrial-control-system designers prefer armature-voltage control because the speed is a linear function of the input voltage. However, field-voltage control allows the motor to further increase its speed after reaching the limit of its armature-supply voltage.
Closed-loop control provides a good dynamic response—a requirement in control systems for industrial robots and assembly equipment. The closed-loop-control system typically has an inner current loop that compensates for the motor winding’s natural dynamic response and an outer velocity loop that compensates for the mechanical system’s dynamics. Typical designs set the current loop’s bandwidth an order of magnitude wider than the velocity loop’s bandwidth so that the dynamic response of the current loop does not affect the velocity loop’s gain over its band of interest.
A dc machine has a stationary field coil that controls the air-gap flux and rotating armature windings that carry the torque-producing currents. An ac machine has rotating field coils and stationary stator windings that generate torque. In either case, alignment of the current with the air-gap flux is necessary to produce a constant torque. In the ac machine, synchronization of the stator-frequency current with that of the rotor achieves this alignment. In the dc machine, the action of the brushes and commutator aligns the armature current with the stationary field system.
Considering the ac machine from a reference frame synchronized with the rotor makes the field system appear stationary. The stator windings appear as rotating-armature-type coils, and you can imagine a commutator system that switches the polarity of the current in these coils as they rotate. This principle is the basis of FOC, which models ac machines using equivalent dc machines with the aid of coordinate transformations. The dc models simplify the machine analysis by transforming ac currents and voltages that vary in both magnitude and frequency into dc currents and voltages.
Modeling ac machines
In the simple machine of Figure 1a, the direct axis is the axis aligned with the field system, and the quadrature axis is normal to this axis. The machine produces maximum torque by aligning the armature coil with the quadrature axis. The two-phase ac machine contains a fixed-field system on the rotor, but magnetic flux coupled with the stator windings varies with the spinning rotor, so these windings generate ac voltages (Figure 3).
The spatial separation of the windings imposes a time delay between the flux waveforms coupled with each winding. The converse is also true, and driving time-phase-separated ac currents into spatially separated ac windings can generate a field system that appears to rotate at the frequency of the ac currents. The current in the Phase A winding acts along the X axis, and the Phase B winding acts along the Y axis. The ac currents in the winding are out-of-phase in time by 90°, so that the peak of the Phase A current occurs when the Phase B current is zero and vice versa. At the 0° electrical point, when the Phase A current is at its peak, the net field acts along the positive X axis. After a quarter of a cycle in time, Phase B is at its peak, and the net field acts along the Y axis. After a further quarter-cycle in time, the field acts along the negative X axis. In one electrical cycle of the ac-winding currents, the field rotates through a full 360°. Thus, the stationary two-phase windings with ac currents produce the same effect as a rotating winding with dc currents.
Several mathematical transforms help simplify modeling ac machines by transforming circuit descriptions between fixed-and rotating-reference frames. The forward-Park transform is a simple vector-rotation function that calculates the stator-winding flux as a function of the rotor flux and the rotor angle. It is a mapping between the rotating-reference frame of the rotor and the stationary-reference frame of the stator.
The reverse-Park transform calculates the equivalent rotating rotor-flux vectors corresponding to the stator-winding flux. This computation transforms the two-phase ac-machine currents and voltages in the two-phase ac machine’s stator windings into an equivalent set of currents and voltages in rotating windings. The current values that the transform provides have two components: one directly aligned with the rotor flux (ID) and another in quadrature with the rotor flux (IQ). The direct component is equivalent to field-winding current, and the quadrature component is equivalent to dc-armature current. The transform simplifies the analysis of the two-phase ac machine by providing an analytic link in an equivalent dc model. This principle easily extends to the Clarke transform for three-phase machines by resolving the flux for each winding into components along the X and Y axes, which are necessary to calculate the two-phase-machine equivalent values.
FOC of ac Machines
Electric-machine-design engineers many years ago developed the Park and Clarke transforms to simplify ac-machine modeling. In modern applications, these transforms help improve ac-machine-controller designs. The basic principles in ac-machine control are that the stator-voltage magnitude must increase with frequency and the rotor speed must track this frequency. An open-loop control system uses a three-phase power inverter to vary the motor-winding voltages using a constant volt-per-hertz control law. However, this type of control does not deliver good dynamic control or maximize efficiency. Good dynamic control is possible using dc motors by controlling the armature current. In the dc-servo system, the outer loop calculates the torque necessary to correct the velocity error, and the inner loop adjusts the voltage to drive the current necessary to produce the desired torque (Figure 4). The control-loop tuning compensates for the armature-winding inductance and resistance.
The application of Clarke and reverse-Park transforms to stator-current values calculates the equivalent torque- and flux-current components in the rotating-reference frame. The transformed ac model now behaves like a wound-field dc machine. The ac-machine controller independently controls the torque and flux current by adjusting the rotating-reference- frame voltages VD and VQ (Figure 5).
The space-vector pulse-width modulator accepts the two-phase ac-reference inputs and calculates the three-phase inverter’s timing signals. A major advantage of this control structure is that the current-loop compensation is independent of the stator frequency. The velocity-control loop performs the same function as it does in the dc-servo system and provides the input reference to the IQ current loop that controls torque. The flux-control loop maintains a constant flux at low speeds to maximize efficiency but reduces flux at higher speeds in a field-control mode when the stator voltage reaches its limit.
In a permanent-magnet ac machine, the controller sets the ID-current reference to zero at low speeds because the rotor magnet produces all the flux. An induction motor requires magnetization current, so the controller sets ID to maintain the rated flux in the low-speed range. Permanent-magnet ac machines operate with greater efficiency than induction machines at low speeds because they require no magnetization current. The converse is true in the high-speed range, because permanent-magnet ac machines require ID-current injection to weaken the field to operate above the base speed.
A key variable in the application of FOC is the angle of the rotor flux. In the case of a permanent-magnet ac machine, the rotor flux aligns directly with the rotor. An ac-servo drive uses resolvers or absolute encoders to measure the rotor’s angular position. The situation is more complex in ac-induction machines, because the rotor currents flow at the slip frequency and are inaccessible.
An accurate machine model combined with rotor-speed measurement enables flux estimation, but the rotor resistance varies significantly with frequency and temperature and is difficult to track (Reference 1). The slow reaction of the rotor circuit makes it difficult to achieve good dynamic performance. The permanent-magnet ac motor is preferable in most high-performance industrial drives because of its superior dynamic performance. However, a number of spindle drives use induction motors because of their superior performance in the high-speed field-weakening range.
In appliance and low-end industrial applications, a direct measurement of the rotor position is cost-prohibitive. However, the dramatic reduction during the past several years in the cost of computation has made economical a sensorless measurement of rotor position based on machine models. The two-phase circuit model of a permanent-magnet ac machine includes sine and cosine functions for the rotor flux. The Clarke transform calculates the two-phase-current values from three-phase motor-current measurements. The two-phase voltage values are outputs from the current control loops.
A simple reordering of the equation terms and mathematical integration yield the sine and cosine terms. Both angle and velocity data derive from a phase-locked-loop-tracking algorithm, similar to the type that resolver-to-digital-conversion ICs use (Reference 2):