Regardless of their primary field, sooner or later, most designers have to deal with motor controls. Broadly speaking, there are two methods to incorporating these components in your design. First, designers can start with one of the many choices of microcontrollers that are available and then address the challenges of making the control do what they want. Or second, designers can start at the other end and examine the interaction between motors and controllers—what goes into and comes out of the feedback loops, for example.
LEVEL 1: HEURISTICS
Ignoring the subtleties, it’s reasonable to say that a variable-speed ac drive system rectifies the incoming ac and pulsewidth modulates the output voltage and frequency of a three-phase power inverter, which it applies to the motor. A closed-loop controller calculates switching frequency and voltage required to achieve any desired speed and torque, based on control signals and various inputs from the motor.
In operation, the controller executes initialization and diagnostic instructions in a power-up sequence. Then, the motor is started and run with the control loop open until the back electromotive force (EMF) reaches a minimum level, at which point the control loop is closed.
It would be fairly easy to write a control algorithm that used feedback from a resolver to indicate the rotor’s mechanical position at any time, but it proves expensive to implement. Given economies of scale, and a fast enough computing engine, software is cheaper. Moreover, the control task can be accomplished simply by sampling voltages and currents.
Borrowing from some general information about motor control on the Analog Devices Web site, the basic pulse-widthmodulation (PWM) motor-control loop includes a system control interface block that provides I/O via some communications protocol link (Fig. 1). A number of isolation devices will separate the digital controller and its grounds from the rest of the circuit.
The controller itself can be a microcontroller, FPGA, DSP, or custom logic. Following the motor-control device and its isolation, a gate driver and the power devices apply the PWM drive to the motor itself. The power devices can be MOSFETs or insulated gate bipolar transistors (IGBTs).
For voltage and current sensing, one or more analog-to-digital converters (ADCs) monitor voltage and current for each of the motor’s phases. In the case of a three-phase motor, this might be a six-channel, simultaneously sampling ADC. Given the relatively low switching frequencies, it often employs a successive-approximation register (SAR) architecture with a 250-ksample/s sampling speed or greater, providing 12 or more bits of resolution per channel.
There also will be a current-sense amplifier and ADC to monitor the MOSFET or IGBT output current. As a result, the controller can shut down the drive if the motor starts to draw excess current, as it would if the motor stalled or shorted a winding.
LEVEL 2: BASICS VECTOR AND FIELD-ORIENTED CONTROL
In vector control, the stator phase currents are digitized and converted into a corresponding complex (space) vector, which is then transformed to a coordinate system rotating with the machine’s rotor. It isn’t necessary to use a resolver to obtain the rotor position, since position can then be obtained by integrating the shaft speed.
A rotor flux linkage vector can be estimated based on the stator current vector and the magnetizing inductance. Then, using the rotor flux linkage vector, the stator current vector can be transformed into a coordinate system whose real axis is aligned with the rotor flux linkage vector. This makes it possible to use the real-axis component of the stator current vector in the rotating coordinate system to control the rotor flux linkage while the imaginary y-axis component is used to control torque.
The most efficient approach to vector control is field-oriented control (FOC). In an FOC feedback loop, an algorithm in the controller digitizes the stator phase currents and converts them to a complex vector. By integrating the speed of the rotating vector, it’s possible to extract shaft position information, producing a rotating vector that’s stationary with respect to the position of the machine’s rotor. That part eliminates the need for a resolver on the motor shaft.
Next, the rotor flux linkage vector is estimated by multiplying the stator current vector with magnetizing inductance and lowpass- filtering the result with the rotor no-load time constant, i.e., the ratio of the rotor inductance to rotor resistance. Using this rotor flux linkage vector, the stator current vector is further transformed into a coordinate system where the real x-axis is aligned with the rotor flux linkage vector.
Now the real x-axis component of the stator current vector in this rotor flux-oriented coordinate system can be used to control the rotor flux linkage, while the imaginary y-axis component would control the motor torque. Typically, proportional integrated (PI) controllers control these currents to their reference values. But bang-bang-type current control, which provides better dynamics, is also possible.
The controllers’ outputs are the x-y components of the voltage-reference vector for the stator. Usually due to the cross coupling between the x- and y-axes, a decoupling term is further added to the controller output to improve control performance when there are big and rapid changes in speed, current, and flux linkage.
Generally, to avoid destabilization caused by by switching noise, the PI controller also needs lowpass filtering at either its input or output. Unfortunately, the filtering also limits the dynamics of the control system. To deal with this, designers will use quite high switching frequencies (typically more than 10 kHz).