By 2035, the world will consume more than 35 trillion kilowatthours of electricity per year, rising from just under 21 trillion kWh in 2015. Close to a third of the electrical energy needed today feeds the motors employed in industrial production. Many of these motors are based on simple AC designs because they are relatively low cost and easy to drive. They are also quite inefficient in terms of energy use, particularly at low speeds. However, such AC motors are not inherently wasteful. With the correct form of electronic control, their efficiency can improve dramatically. Using control techniques available today it is possible to reduce energy consumption for a given level of work by as much as 60 percent.
The simplest control technique in use today is that of volts per hertz. It is both conceptually simple and easy to implement on a basic microcontroller. The core algorithm takes advantage of a core property of the design of the AC motor. Each motor has a characteristic magnetizing current and a resulting maximum flux and torque. These properties are related through the volts per hertz ratio. The motor turns through the switching of stator coils arranged around the moving rotor that turns the mechanical load. Switching between the coils forces the magnetized elements of the rotor to turn in sympathy to move to a stable state where the magnetic fields are held in equilibrium.
An increase in the frequency at which the coils are switched will in turn increase the speed. But without a commensurate increase in electrical energy supplied, the torque applied falls. Volts per hertz control provides a simple way around the problem by increasing the line voltage with rising frequency so that torque can be maintained at a constant level. Unfortunately, the relationship is not particularly consistent at low speed. Higher voltages are required to maintain high torque at low speed, but the efficiency drops and increases the likelihood of coil saturation and overheating.
Fieldoriented control provides a means of optimizing motor control, particularly at low speeds, and additionally provides the ability to make positioning control of the motor much more precise. This increases the range of applications for AC motors overall, which helps to reduce the cost of industrial machinery as well as the cost of operation.
In fieldoriented or fluxvector control, the link between speed and torque implied by volts per hertz control is broken. The idea of fieldoriented control can be expressed using the model of a wound DC motor where the currents supplied to the stator and rotor are independent. In this model, the torque and the flux produced can be controlled independently. The strength of the field inside the motor set developed by the current determines the flux. The current supplied to the electromagnetic windings in the rotor controls the torque – as the magnetic fields try to align themselves into a stable state.
A DC motor uses a commutator on the rotor that performs the job of controlling which coils on the stator are energized at any one time. The commutator is designed such that the current switches to the windings that are mechanically aligned to produce maximum torque at that point. As a result, the windings are managed in such a way that the flux changes to keep the rotor windings orthogonal to the field developed in the stator.
In an AC motor, only the stator currents are under direct control. The rotor often uses permanent magnets to provide its field. This means flux and torque rely on the same current. But fieldoriented control provides the ability to manipulate them almost independently. In practice, the stator flux is controlled dynamically to provide the ability to independently manipulate torque. In general, stator coils can be driven so that they either generate torque or apply force along the axis of the stator, a mode that does not affect rotation. These directions are the quadrature and direct axes, respectively. To deliver motion, each coil is driven in turn to produce high quadrature force.
Several mathematical transforms are used to provide the ability for changes in current and voltage to decouple the torque and flux. Under fieldoriented control, the currents that flow through the different parts of the stator are represented by a vector. Matrix projections transform a threephase time and speeddependent system into a two coordinate timeinvariant system. The coordinates are conventionally described using the symbols d and q, which represent flux and torque components, respectively. In the (d,q) reference frame, the torque applied is related linearly to the torque component.
Under fieldoriented control, the electrical signals are received from the motor and incorporated into the (d,q) coordinate model. This model is normally calculated relative to the rotor making the calculation of desired flux easier. A typical method used for the calculation is to pair the Clarke and Park transforms.
The Clarke transform takes the currents from the different phases, usually three, and uses them to estimate currents in a Cartesian coordinate system. The axes of these systems use the symbols alpha and beta rather than the conventional x and y to reduce the potential for confusion with a spatial coordinate system. These are then applied to the Park transform to provide the current vectors that are seen in the rotating (d,q) coordinate system. Trigonometric functions provide the core of the transformations, requiring the use of a microcontroller or digital signal processor (DSP).
Through the Clarke and Park transforms, the flux and torque components of the current vector in the (d,q) space are derived from the currents fed to each electrical phase and the rotor flux position, which takes the symbol theta in most descriptions of the algorithm. This structure has applicability to a range of motors. An inverse Park transformation is used to yield voltage outputs that are then employed in an algorithm that controls power to each of the three phases. The overall structure is shown in Figure 1.
Figure 1: Basic configuration of transforms and control blocks for fieldoriented control.
The same core structure can be used to control both synchronous and induction machines by simply changing the flux reference and obtaining the rotor flux position. In a synchronous permanent magnet motor, the rotor flux is fixed, as it is determined by the permanent magnets. Induction motors need rotor flux to be created in order to function, so this is incorporated into the flux reference as a nonzero value.
Key to the success of fieldoriented control is realtime prediction of the rotor flux position. There is a complication to this control strategy. Inside an AC induction motor, the speed of the rotor does not match the speed at which the magnetic flux driving it rotates. The rotor tends to lag, leading to a difference known as the slip speed. In older schemes, motor manufacturers used sensors to analyze rotor position, but this lead to unwanted additional cost. In practice, it is possible to compensate for slip using feedback from the voltages and currents developed within the motor.
Many systems use the measured backEMF to estimate rotor slip. The magnitude of the back‐EMF voltage is proportional to the speed of the rotor. However, using this input directly causes problems at low speeds or at a standstill, and it is not easy to estimate the initial position. Starting from an unknown rotor position may lead to the motor reversing a small distance unexpectedly or to a full starting failure. A further drawback with simply sampling the backEMF is its sensitivity to stator resistance which is prone to change with temperature.
Indirect modelbased schemes provide greater performance. There is a strong tradeoff between computational overhead and performance, but in general, efficiency, especially at low speeds, is improved through the use of more sophisticated modelbased algorithms. An indirect modelbased scheme estimates the realtime values of these based on available sensor readings.
As with backEMF estimation, the core problem is determining the starting point for the motor. One solution is to start with an estimate of the initial state from which a vector of predicted outputs can be derived, which is compared with the measured output vector. This difference is used to correct the internal state vector of the model. However, noise can upset the stability of the model.
The extended Kalman filter can compensate for the effects of noise and sudden disturbances. The architecture of the Kalman filter allows updates deemed to have lower uncertainty to be given a higher weighting than those estimated to have a larger uncertainty. The filter works recursively such that each estimation requires only a set of new readings and the filter’s previous state to generate a new state.
The Kalman filter employs two main stages: prediction and update. In the prediction phase, the filter calculates the next state of the system based on the previous state, which, in the case of a motion algorithm, provides the last known speed and acceleration values. From this, the filter calculates a prediction of the current position.
In the update phase, the freshly sampled voltage and current values are compared to their predicted values. The closer the input data matches the prediction, the lower the error probability. This error probability feeds into the Kalman filter gain. At the algorithm level, the Kalman filter relies on a number of matrix multiplications and inversions. The key to implementing the extended Kalman filter in motor control is therefore high arithmetic performance, in common with other aspects of fieldoriented control.
To implement the many arithmetic operations required every second in a realtime motor control situation, a highperformance MCU or DSP is required. The TMS320F2833x family of devices produced by Texas Instruments was developed to handle the typical computational load of AC motor applications, supported by a variety of onchip peripherals to aid integration with the power conversion electronics.
The TMS320F2833x is built around a highperformance 32bit CPU with floatingpoint support that is compliant with the IEEE754 standard for singleprecision arithmetic. By implementing an IEEE compliant floatingpoint unit, the TMS320F2833x eases algorithm development as it handles a very wide numeric range with builtin support for errors such as notanumber (NaN) and dividebyzero conditions. A Harvard architecture coupled to a dual 16 x 16 multiplyaccumulate (MAC) unit provides high throughput for matrix and projectionbased operations. For additional precision, the units can be tied together to perform 32 x 32 MACs. Onchip peripherals include a 16channel analogtodigital converter (ADC) to perform sampling of voltage and current feedback signals from the motor.
As a member of the C2000 range of DSP enhanced MCUs, the TMS320F2833x is supported by the TI Digital Motor Control Library, which provides configurable software blocks that can be reused to implement a variety of control strategies. The library is composed of functions represented as blocks, which provide transforms such as the Clarke and Park, in addition to control blocks for closedloop operations, and peripheral drivers for functions such as pulsewidth modulation (PWM).
In a motor control situation, PWM outputs control six power transistors that together deliver voltage and current to the three electrical phases. Each phase uses a halfbridge transistor configuration. A common algorithm used for control in these situations is spacevector PWM. This reduces harmonics compared to simpler PWM techniques and employs eight switching states. There are six active states and two zero states, each of which is the target state of eight corresponding space vectors. The states are arranged in such a way that two sets of complementary states are active at any one time. One set is for the three highside power transistors and the other for the lowside. The algorithm cycles through the states to switch power to the states as required by the fieldoriented control model. The TMS320F2833x includes PWM hardware suitable for software control that employs spacevector switching. Six of the 18 total PWM outputs support highprecision control, with a resolution of 150 ps. The result is a digital controller that requires comparatively little external hardware to manage the power transistors, as shown in Figure 2.
Figure 2: Block diagram, showing control of power phases by PWM outputs of F2833x.
Conclusion
Utilizing a microcontroller that has the necessary core and highperformance building blocks, in conjunction with the TI Digital Motor Control Library, designers are poised to drive a new generation of efficient AC motors.
