Another method worth considering in any discussion of motor control is
vector control. The detailed formulation of this method to control the
torque and flux in PMSM was originally achieved by Jahns, Kliman, and
Neumann [1] in the mid-1980s.
Additional work has been done by many authors, and you will find
more information and explanation in references [2,3,4]. Here we will
simply summarize the concept and compare it to the 180-degree V/f
open-loop and closed-loop scalar control methods previously discussed.
When we examine the torque equation for a brushless DC motor, we
realize that the equation is really a vector formulation with the
vector product of the current and magnetic fields shown on the
right-hand side:

If we formulate a rotor frame that has a d-axis parallel to the
north-south line and a q-axis perpendicular to the d-axis, as
illustrated in Figure 47 below,
we can actually convert the stator currents
in the rotor frame.
 |
| Figure
47. Stator frame to rotor frame transformation for vector control. |
We then realize that the current along the d-axis creates pure flux,
whereas the current along the q-axis creates pure torque. Denoting
these two currents as Id and Iq, we can say that our control algorithm
must control both these currents to maintain proper flux and proper
torque in the system. We know that speed is directly related to torque,
and torque is related to the q-axis current.
Therefore, we must create a reference q-axis current to maintain the
speed. Then we can control the q-axis current through transformation of
our axes. In this way we convert the single-variable speed control into
control with more variables - speed, d-axis current, and q-axis
current - and we use a vector formulation to compute the quantities
that
we need to control. Hence we call this method "vector control."
Now let's take a look at the detailed steps necessary for vector
control. As Figure 48 below
shows, a profile module gives the speed command
to the control algorithm at some point in time.
On the right hand side, a control function outputs commands for the
inverter, which is connected to the motor. This configuration has two
current sensors to measure the phase U and phase W currents. The
sensors are connected to the ADC on the MCU. The motor also has an
encoder mounted on its rotor to give the quadrature pulses A, B and
also the zero synch pulse Z. All three signals are sent to the
input-capture and timer/counter peripheral for speed measurement.
 |
| Figure
48. Vector control flow diagram. |
At every carrier-frequency interrupt, three PWM signals are
generated. While all three PWM signals are applied, the system measures
two currents by triggering the ADC channels.
During the next interrupt execution, these currents are then
transformed from stator U, V, and W axes to d-q axes using matrix
multiplications that involve the rotor angle q at that time. The rotor
angle is measured by reading the A,B pulses and converting this reading
into a proper angle. The control system's firmware is greatly helped if
the MCU has a hardware timer with input capture and continuous counting
of A,B pulses.
Based on the rotor position theta, stator currents are transformed
in
d-q axes currents as we have noted. The speed measurement is fed into
the auto speed regulator (ASR), shown in Figure 48 above, which generates the
reference q-axis current required to maintain the commanded speed.
This reference q-axis current and measured q-axis currents are fed
into the auto current regulator (ACR) to create q-axis voltage to be
applied to the next PWM. The reference current in the d-axis is
maintained at constant level to maintain proper flux in the stator.
This reference d-axis current and the measured d-axis currents are
fed into a second ACR to create the d-axis voltage. Corrections are
made to the voltage calculations according to the number of pole pairs
and the reference currents in the d and q axes.
When the final values Vd and Vq are computed, they are transformed
from the rotor frame to the stator frame using inverse transformation
and that rotor angle value. Three voltages in the stator frame - Vu, Vv
and Vw - are converted into the PWM values that are to be output by the
three-phase timer unit.
Current measurements and auto current regulators are executed at
every carrier frequency. This process, which is known as "inner loop,"
uses the fastest control algorithm. In contrast, encoder measurements,
and especially speed measurements, are performed at a lower rate.
Therefore, the auto speed regulator and related computations are
performed using a slower process called "outer loop."
A typical carrier-frequency or inner loop rate is about 4kHz or
more, and the encoder-based speed computation or outer loop rate is
about 500Hz or so. Occasionally the outer loop rate can drop as low as
50Hz.
Experts agree that vector control method controls the torque and
flux very well, and it maintains the desired speed accurately. Vector
control requires one position sensor and two current sensors to perform
the necessary tasks. It also requires an MCU with high computing power
so that the inner-loop and outer-loop processes can be executed
properly. Additionally, the MCU must be capable of measuring two
currents simultaneously, so it must have two sample-and-hold circuits
in its ADC peripheral.
The vector-control method provides dynamic torque control based on
exact speed measurements and current measurements. Consider an example
in which the load changes during rotation. Since speed is measured
several times (typically at a 500Hz rate), any load changes that
affects the speed will be detected and for the next rotation, the
q-axis current will be adjusted properly to maintain the same speed.
If higher current is required, it will be provided. Control and
system experts generally regard vector control as the reference against
which the performance of other methods are compared and evaluated.
The vector-control method does have some drawbacks. It requires
sensors and thus adds cost to the final implementation. Also, it
mandates an MCU with high computing power, which may add cost.
In Table 6, below, we see a
comparison of the features, accuracy,
and required MCU resources for the three control methods we have
covered thus far: V/f open-loop, scalar, and vector control.
 |
| Table
6. Comparison of V/f open loop, scalar and vector control. |
Sensorless control
Since the vector control method we have just examined requires one
position sensor and two current sensors, the final system configuration
may be costly.
Consumer applications, especially white goods, are very
cost-sensitive and thus cannot afford this type of implementation. At
the same time, these applications do not require the same performance
accuracy for speed, as do industrial applications.
Therefore, two other control techniques have been developed that
provide adequate performance for the system, yet keep cost down. These
techniques are called sensorless because they do not require any
position sensors. Both methods use the same 180-degree modulation and
vector control algorithm.
The first of these methods eliminates the position sensor but keeps
the two current sensors. It is known as "DCCT-based sensorless vector
control" and is shown in Figure 49,
below. Because this method uses no
position sensor, angle and speed are estimated using the current
measurements and voltages applied the previous PWM cycle.
 |
| Figure
49. Position sensorless control with 2 DCCT current sensors. |
The method employs a Kalman-filter approach based on principles of
modern control theory, an observer-based model, and a state transition
matrix. Estimated angle and speed are used together in the same vector
control algorithm to control the current in the q-axis.
Such an implementation requires many matrix calculations, and thus
an MCU with high computing capability is a requirement. In fact, the
CPU bandwidth needed is nearly double that of vector control method.
Gain adjustment in the auto speed regulator and auto current regulator
is very difficult. Exact motor parameters must be known, particularly
the q-axis and d-axis inductance parameters, which are difficult to
measure. Despite the challenges, such control is a reality and has been
implemented in several applications.
In a second method, the position sensor and two DCCT sensors are
eliminated. Currents are measured using the shunt resistance installed
on the low side of the inverter, as shown in Figure 50, below. This shunt
resistance is a precision resistor capable of measuring the full
current range of the motor. Using one shunt, we measure two currents;
thus this method is known as "one shunt current detection vector
control" or simply "OSCD vector control."
 |
| Figure
50. One shunt current detection method that eliminates DCCT and
position sensor. |
The implementation shown in Figure
51, below, is similar to that of the DCCT
method, but it adds one more computing block, Current Meas. To
understand why this addition is necessary, we'll look at how the
current is measured.
 |
| Figure
51. OCSD implementation flow with current measurement module. |
First, remember that our setup has only one shunt resistor. To
measure individual phase currents, we must be careful. Figure 52 shows
us how the three PWM outputs are applied. In this figure, the W phase
has largest PWM time, V has next smaller, and U has the smallest.
If we measure the shunt current between the rising edge of W and the
rising edge of V, we know that only the W phase (that is, only the Wp
-upper W phase IGBT) is on at that time. So, we measure W phase
current. Next, if we measure the current between the rising edge of V
and the rising edge of U, then we are measuring the W and V phase
current together.
 |
| Figure
52. One shunt current measurement technique using a additional timers
to trigger ADC. |
This also means that we are measuring the U phase current, because
the sum of all currents in a star-winding motor is zero. Thus, we must
make 2 current measurements at precise time during our interrupt
processing. We need two other timer channels that can help us trigger
the ADC at a precise time.
An example is the Renesas M16C 3-phase timer unit. This unit has a
link with timer channels TB0 and TB1, such that it will trigger the ADC
channels AN0 and AN1 at a precise time. All we have to do is load the
appropriate register values.
As part of this process, we must compare the PWM values of all three
phases and determine exactly how much time we need to load channels TB0
and TB1. It is important to note that the three PWM values continue to
change constantly, so that W is not the largest.
Thus, we need to test the largest value every time and set the
proper flags for the current we are measuring. All the comparisons,
settings, and identifications required by this method make for complex
processing task, one that requires significantly more code and more CPU
time. The requirements for CPU bandwidth are generally more than double
those of other vector-control schemes. The more complex software and
higher computing power requirements keep many designers from using this
method.
Performance by both sensorless methods is adequate and useful for
applications that don't have tight accuracy requirements for speed.
Cost is less than full vector methods and response is good -definitely
better than that provided by scalar control.
 |
| Figure
53. Comparison of CPU bandwidth and code for six speed control
algorithms |
All six control algorithms we have examined, from 120-degree
modulation through OSCD control, have been implemented in the Renesas
M16C/28 series MCU with a prototype motor control platform.
Measured
performance, CPU bandwidth and code size are shown in Figure 53, above.
As we see, vector control with position and current sensors requires
about 40% of the CPU bandwidth, while DCCT sensorless control requires
about 74% or nearly double the bandwidth. Moreover, OSCD vector control
without position and current sensors requires nearly 90% of CPU
bandwidth, which is more than double the bandwidth used by vector
control with sensors.
Yashvant Jani is director of
application engineering for the system LSI
business unit at Renesas Technology
America.
To read Part 5, go to V/f
open-loop control in DC brushless DC motors.
To read Part 4: go to 180 degree modulation for brushless motor
control.
To read Part 3, go to Pros
and cons of sensor vs sensorless motor
control
To read Part 2, go to Brushless
motor control using Hall sensors
To read Part 1, go to The basics of brushless motor control.
References:
1. Interior Permanent-Magnet
Synchronous Motors for Adjustable Speed Drives, by T. M. Jahns, G. B.
Kliman and T. W. Neumann, IEEE transactions on Industry Applications,
Vol. IA-22, No. 4, pp. 738747, July/August 1986.
2. Dynamic Model of PM
Synchronous Motors, by Dal Y. Ohm, Drivetech Inc. Blacksburg, VA
3. Modeling and Parameter
Characterization of Permanent Magnet Synchronous Motors, by D. Y. Ohm,
J. W. Brown and V. B. Chava, Proceedings of the 24th Annual Symposium
of Incremental Motion Control Systems and Devices, San Jose, pp 81-86,
June 1995.
4. Power Electronics and AC
Drives, by B. K. Bose, Prentice-Hall 1986.
5. Power
Electronics and Variable Frequency Drives Technology and Applications,
Edited by Bimal K. Bose, IEEE Press, ISBN 0-7803-1084-5, 1997
6. Motor
Control Electronics Handbook, By Richard Valentine, McGraw-Hill,
ISBN 0-07-066810-8, 1998
7. FIRST
Course On Power Electronics and Drives, By Ned Mohan, MNPERE, ISBN
0-9715292-2-1, 2003
8. Electric Drives, By Ned
Mohan, MNPERE, ISBN 0-9715292-5-6, 2003
9. Advanced
Electric Drives, Analysis, Control and Modeling using Simulink, By
Ned Mohan, MNPERE, ISBN 0-9715292-0-5, 2001
10. DC Motors Speed Controls
Servo Systems including Optical Encoders, The Electro-craft Engineering
Handbook by Reliance Motion Control, Inc.
11. Modern
Control System Theory and Application, By Stanley M. Shinners,
Addison-Wesley, ISBN 0-201-07494-X, 1978
12. The Industrial
Electronics Handbook, Editor-in-Chief J. David Irwin, CRC Press and
IEEE Press, ISBN 0-8493-8343-9, 1997
|