Title: ECE 8830 Electric Drives
1 ECE 8830 - Electric Drives
Topic 18 Sensorless and Adaptive Vector
Control of Induction Motor Drives
Spring 2004
2 Introduction
- Position encoders/resolvers are expensive and
introduce reliability concerns for vector
controlled ac motor drives. It is therefore
desirable to have a vector control scheme that
does not require this type of sensor. - The concept of sensorless control is to use
estimation techniques to estimate the position of
the rotor from motor terminal voltage and current
signals. These signal processing methods are then
implemented into ac motor drives using DSP chips.
3 Introduction (contd)
- For drives where only moderate dynamic
performance is required, three types of open loop
control approaches may be used - Back emf-based estimation
- Constant V/Hz control
- Space harmonics-based speed estimation
-
- These are discussed in the Holtz paper in some
detail.
4 Introduction (contd)
- For high performance drives, vector control
based systems can be used. These methods include - Rotor field orientation
- Model reference adaptive systems
- Feedforward control of stator voltages
- Stator flux orientation
- Estimation of rotor flux and torque current
5 Introduction (contd)
- As the rotor speed drops, the open loop
estimation models lose accuracy. At lower speeds,
closed loop approaches provide improved
performance. Also, adaptive/self-tuning
approaches are useful when machine parameters are
not fully known. We will consider various
adaptive approaches in this discussion. Finally,
rotor speed estimation is not possible at motor
start up and so special techniques to start the
motor must be used. These are not described here.
6Rotor Speed Estimation Methods
- Rotor speed estimation methods for an ac
induction motor may be classified as follows - Slip calculation
- Direct synthesis from state equations
- Model referencing adaptive system
- Speed adaptive flux observer
- Extended Kalman filtering
- Slot harmonics
- Injection of auxiliary signal on salient rotor
7 Slip Calculation
- If we know the slip frequency ?sl then we can
calculate the rotor speed from the relation, ?r
?e- ?sl. How can we determine ?sl and ?e ? -
- where and .
8 Slip Calculation (contd)
- Accurate calculation of ?sl is difficult for
high efficiency motors, especially near
synchronous speed because the signal amplitude is
small and strongly dependent on motor parameters.
Also, at low speeds, direct integration of the
motor terminal voltages is problematic to obtain
?sl and ?e.
9Direct Synthesis from State Equations
- The state equations in the ds-qs reference
frame can be manipulated to yield the rotor
speed. - The stator voltage in the ds-qs reference
frame is given by -
- But
- ? where
10Direct Synthesis from State Equations (contd)
- This equation can be rewritten as
- A similar expression can be derived for ?qrs as
- The rotor flux equations in a stationary ds-qs
- reference frame can be written as
- and
11Direct Synthesis from State Equations (contd)
- The angle ?e between de and ds is given by
-
- But
- Ignoring higher order terms, we can write
-
?qrs
qs
?e
?drs
ds
de
12Direct Synthesis from State Equations (contd)
- ?
- Combining these equations and some
- algebra gives
13Direct Synthesis from State Equations (contd)
- A block diagram of this method is shown
below -
-
- Note This approach is highly sensitive to
motor parameter values.
14Model Reference Adaptive System (MRAS)
- In the model reference adaptive system (MRAS)
approach, the output of a reference model is
compared to the output of an adjustable/adaptive
model until the errors between the two models
converge. The reference model is based on stator
equations and the adaptive model is based on the
rotor equations. A figure showing speed
estimation using the MRAS scheme is shown on the
next slide.
15Model Reference Adaptive System (MRAS) (contd)
16Model Reference Adaptive System (MRAS) (contd)
- The stator-side equations are given by
- where vdss and idss are the stator-side d-axis
voltage and currents in the stationary reference
frame and vqss and iqss are the stator-side
q-axis voltage and currents in the stationary
reference frame.
17Model Reference Adaptive System (MRAS) (contd)
- Thus the rotor fluxes and can be
obtained by integration of these equations. - The adaptive model is developed from the
rotor-side current flux equations given by
18Model Reference Adaptive System (MRAS) (contd)
- With the correct value of rotor speed, the
fluxes determined from the two models should
match. An adaptation algorithm with P-I control
can be used to tune the speed value until the two
flux values match. - Three issues are important regarding this
approach - 1) Stability of the adaptation control loop
- 2) Convergence of the adaptation algorithm.
- 3) Integrator drift/inaccuracy
-
19Model Reference Adaptive System (MRAS) (contd)
- The overall stability of the system can be
achieved using Popovs criteria for
hyperstability (see Bose text). - Accuracy and drift problems inherent to the
integration process in the reference model at low
speed are alleviated by using a delay element
(low pass filter) instead of an integrator in the
stator model (see Holtzs paper for details).
20 Slot Harmonics
- This is one of the simplest methods for rotor
speed estimation. The slots on the surface of the
rotor of an induction motor provide reluctance
modulation which creates harmonics in the airgap
flux. These in turn modulate the stator flux
linkage with a frequency proportional to the
rotor speed. Thus, induced stator voltage waves
will contain a ripple voltage component whose
frequency and magnitude are proportional to the
rotor speed.
21 Slot Harmonics (contd)
-
- If the number of rotor slots is not a multiple
of 3, the desired slot harmonic signals can be
separated from the much larger fundamental emf by
taking the sum of the 3 phase voltages in a wye
connected winding. This eliminates all
nontriplen harmonic voltage components (including
the fundamental) and the slot harmonic voltages
add up. Their frequency is proportional to the
rotor speed.
22 Slot Harmonics (contd)
- The slot harmonic frequency is locked onto
using a PLL while other harmonics are filtered
using an adaptive BPF. The output of the PLL
gives the rotor speed. - Because of the low number of rotor slots, the
speed resolution of this approach is poor at low
speeds. Nevertheless, it is a useful method for
high speed sensorless drive applications.
23 Adaptive Observers
- The accuracy of open loop estimation methods
decreases as the rotor speed decreases. The
performance of these techniques depends on how
closely the machine parameters match those used
in the models. - The robustness of sensorless control to
parameter mismatch and noise can be improved
using closed loop estimation methods. Such closed
loop estimators are referred to as observers (as
opposed to estimators) and are described next.
24 Full Order Nonlinear Observers
- A signal flow diagram for a full order
nonlinear observer is shown below -
25Full Order Nonlinear Observers (contd)
- The addition of the error compensator makes it
an observer. The error between the model current
and the motor current is . The error signal is
used to correct the inputs to the dynamic
subsystems of the stator and rotor. These
corrections are based on the following observer
equations (derived from the motor model - see
Holtzs paper)
26Full Order Nonlinear Observers (contd)
- The complex gain factors G(?) are selected so
as to ensure good dynamic response of the control
system. It should also be recognized that the
gain factors themselves are dependent on the
estimated angular mechanical rotor speed ? since
the system is nonlinear. - This type of full order nonlinear observer has
demonstrated performance down to speeds as low as
0.034 p.u. or 50 rpm.
27 Sliding Mode Control
- The effective gains of the error compensator
can be increased by using a sliding mode
controller to tune the observer for both speed
adaptation and for rotor flux estimation. It
provides robust performance for a drive with
respect to variations in motor parameters as well
as rapid changes in load torque. - This control approach is nonlinear where the
drive response is forced to slide along a
predefined trajectory in a phase plane by a
switching algorithm despite parameter variations
or load disturbances.
28 Sliding Mode Control (contd)
- The control DSP detects any deviation from the
predefined trajectory and changes the switching
strategy to get the system back on track. - The general principle of sliding mode control
will be reviewed and then its application to
vector control of induction motors studied.
29 Sliding Mode Control (contd)
- Consider a sliding mode controller (SMC) for a
simple second-order undamped linear system with a
variable plant gain, K. The SMC controller
comprises two switches with the option of
positive or negative feedback as shown in the
figure below. -
30 Sliding Mode Control (contd)
- In either the positive or negative feedback
case, the system can be shown to be unstable.
However, when switched between the two states,
not only can stability be achieved but the system
can be made robust against variations in K.
31 Sliding Mode Control (contd)
- Consider first the case of negative feedback,
i.e. switch 1 closed. In this case, - X1R-C
- or R-X1C where X1loop error
- Differentiating this expression gives
-
- or
32 Sliding Mode Control (contd)
- To satisfy the loop relation, we can also
write - Combining these equations gives
- The general solution to this equation is
33 Sliding Mode Control (contd)
- Combining these equations gives
- This is the equation of an ellipse as shown
below -
34 Sliding Mode Control (contd)
- Similarly, in the positive feedback mode,
(switch 2 closed) the equations become - and
- Combining these equations gives
35 Sliding Mode Control (contd)
- The general solution to this equation is
- Squaring and combining these equations gives
- This equation describes a set of hyperbolas as
shown on the next slide.
36 Sliding Mode Control (contd)
-
- The straight line asymptote equations are
obtained by setting B1B20 which gives - gt
37 Sliding Mode Control (contd)
- The system can be switched back and forth
between these two modes. The superposition of the
two phase plane diagrams results in the figure
shown below -
- The hyperbolic asymptote line is described by
- where ?0 is on
the line.
38 Sliding Mode Control (contd)
- Assume that system at t0 is in -ve feedback
mode at pt. X10. It moves along the ellipse until
the ve feedback mode is invoked at pt. B. It
will then (ideally) move along B0 to settle at 0
at steady state, where X1 and X1 are zero. Let us
define a straight line reference trajectory by
the equation - where Clt so that the line slope is lower than
and beyond the range of the variation in K.
39 Sliding Mode Control (contd)
- Notice that the ve and -ve feedback ellipses
and hyperbolas cross the reference trajectory in
opposite directions. This results in a zigzag
variation about the reference trajectory until
steady state is reached (as the operating
condition is switched back and forth between ve
and -ve feedback).
40 Sliding Mode Control (contd)
- The time domain response is given by
- where t0 is the time to reach the sliding
line. This equation represents a deceleration to
the steady state point with an exponential decay
of X1. -
41 Sliding Mode Control (contd)
- Note the polarities of ?, ?X1 and ?X2 above
and below the sliding line shown in the previous
figure. The strategy of switching control is
defined by these polarities. - In order to ensure that the reference
trajectory is crossed on each switching action, a
reaching equation must be satisfied as given
below - for ? 0
42 Sliding Mode Control (contd)
- We now consider how to apply SMC to a
vector-controlled induction motor drive. A block
diagram of such a drive is shown below -
43 Sliding Mode Control (contd)
- We want to make the drive response robust to
variations in the following parameters - Torque constant, Kt, Moment of inertia, J
- Friction damping coeff., B and load torque
- disturbance, TL.
- If we have a step command of ?r, we can
write down the following equations -
-
.
44 Sliding Mode Control (contd)
- The second-order plant model can be expressed
in state-space form in terms of the state
variables X1 and X2 as follows -
- ?
- where bB/J, aKtK1/J, and d1/J.
45 Sliding Mode Control (contd)
- The proposed sliding mode control is shown in
detail in the figure below -
46 Sliding Mode Control (contd)
- Three main loops in this control system
- 1) Primary loop receives position loop error X1
and generates U1with gains ?i and ?i. - 2) Secondary loop takes X2 input (from the speed
input ?m) and generates U2 with gains ?i and ?i. - 3) An auxiliary loop injects a constant signal A
and generates output U0 to eliminate steady state
error due to coulomb friction and load torque TL. - All the loops contribute to the resultant
signal U which is the sum of U0, U1 and U2.
47 Sliding Mode Control (contd)
- The sliding trajectory during acceleration,
deceleration and constant speed is shown below -
48 Sliding Mode Control (contd)
- The sliding trajectory may be defined as
follows for the three segments -
- Acceleration segment
- where X10 initial position error
- Constant speed segment
-
- where -X20 max. ve speed
49 Sliding Mode Control (contd)
- Deceleration segment
- Note In all cases, ?0 gt reference
trajectory. - Only the primary loop is required but the
secondary loop improves system performance. - The control parameters for each of the loops
is derived for each segment in the Bose text. The
resulting control rules are presented in the next
three slides.
50 Sliding Mode Control (contd)
- Acceleration Segment
- In the primary loop, ?1lt0 and ?1gt0.
- In the secondary loop,
-
51 Sliding Mode Control (contd)
- Deceleration Segment
- In the primary loop, ?3gt0 and ?3lt0.
- In the secondary loop,
-
52 Sliding Mode Control (contd)
- Constant Speed Segment
- In the primary loop, ?2gt0 and ?2lt0.
- In the secondary loop,
-
53 Sliding Mode Control (contd)
- Practical implementation of sliding mode
control requires a fast signal processor and
Holtz reports running such a controller down to
0.036 p.u. minimum speed. - Recently, SMCs combined with fuzzy logic have
been reported in the literature.
54 Extended Kalman Filters
- Extended Kalman filters (EKFs) can also be
used for rotor speed estimation and motor
control. The EKF is a full-order stochastic
observer that allows estimation of a nonlinear
dynamic system corrupted by noise (due to
measurement and modeling inaccuracies). - A block diagram of the EKF algorithm is shown
on the next slide.
55Extended Kalman Filters (contd)
56 Extended Kalman Filters (contd)
- The EKF algorithm uses the full motor dynamic
model. The augmented motor model can be expressed
as - where , ,
- and
-
57 Extended Kalman Filters (contd)
and
58 Extended Kalman Filters (contd)
- These equations are of 5th order. Assuming a
constant rotor speed, the motor model is linear.
For DSP implementation of the EKF algorithm, the
model must be expressed in a discrete form as - X(k1)AdX(k)BdU(k)V(k)
- Y(k) CdX(k)W(k)
- where V(k) and W(k) are zero mean, Gaussian
white noise vectors of X(k) and Y(k).
59 Extended Kalman Filters (contd)
- The statistical variations due to noise and
errors in measurements are incorporated into
three covariance matrices, expressed as Q, R and
P. Q is a 5x5 covariance matrix that is
associated with system noise, R is a 2x2
covariant matrix associated with fluctuations in
the measurements, and P is a system state vector
covariance matrix that is also 5x5.
60 Extended Kalman Filters (contd)
- A detailed flow diagram is shown below
-
61 Extended Kalman Filters (contd)
- There are two main stages - a prediction stage
and a filtering stage. - In the prediction stage, the next predicted
values of states X(k1) are calculated by the
motor model and the previous estimated values.
Also, the predicted P(k1) is calculated using
the covariance vector Q. -
62Extended Kalman Filters (contd)
- In the filtering stage, the next estimated
states - (k1) are obtained from X(k1) by adding a
correction term eK, where eY(k1) -Y(k1) and
KKalman filter gain. The EKF computations are
performed iteratively until e approaches 0. - This is a rather complex approach and is
rather slow because of the extensive computation
required. It is therefore not suitable for high
speed applications. Lower order models (3rd and
4th order) requiring less extensive computation
have been demonstrated (see Holtzs paper).
63 Fuzzy Logic Control
- Fuzzy logic control emulates fuzzy human
thinking. It is one of a set of techniques
referred to as intelligent control which also
include expert systems and neural networks. - Fuzzy logic control is a powerful technique
for modeling complex, nonlinear systems. The
dynamic d-q model of an ac motor is an example of
a multivariable, complex, nonlinear system that
is well suited to fuzzy logic control.
64Fuzzy Logic vs. Aristotelian Logic
- In Aristotelian logic, a quantity is either a
member of a set or is not a member of a set. The
set has sharp (or crisp) boundaries. - In fuzzy logic, a quantity may be a member of
a set to some degree or not be a member of a set
to some degree. The boundaries of the set are
fuzzy rather than crisp.
65 Fuzzy Systems
- A fuzzy system is a rule-based mapping of
inputs to outputs for a system. -
- It can be theoretically proven that a fuzzy
system is a universal approximator. - see Fuzzy Engineering by Bart Kosko
66 Membership Functions
Courtesy Jim Sibigtroth, Motorola
67Complete Fuzzy System
Input
Output
Rules Processor
Defuzzifier
Fuzzifier
Knowledge Database
68Fuzzy System Block Diagram
Courtesy Jim Sibigtroth, Motorola
69Rule Activation over Control Surface
Courtesy Jim Sibigtroth, Motorola
70 3-D Control Surface
Courtesy Jim Sibigtroth, Motorola
71Example Two input, two rule Fuzzy Model
n1
Rule1
m1
F1
A1
S1
m2
Rule2
F2
n2
A2
S2
72 Techniques for Inference
Mamdani Implication F1 min (m1, n1)
F2 min (m2,
n2) Defuzzification Conversion Weighted Average
A1, A2 areas of output membership functions S1,
S2 singletons of output membership functions.
73 Mamdani Approach
- Most commonly used approach to developing fuzzy
logic models for control applications. - Uses expert knowledge to generate rule set.
- Uses membership functions for both input and
output variables. - Computationally intensive compared to Sugeno
approach.
74 Sugeno Approach
- Output membership functions are singletons
(zero order) or polynomials (first order). - The rule in a first order Sugeno model may be
expressed as - if x is A and y is B then zpxqyr
- where p, q, and r are constants.
- Computationally efficient.
- Well suited to optimization/adaptation.
75 Supervised Learning
- In supervised learning, an initial set of
- membership functions and rules are
- generated. The model is then optimized
- using neural network algorithms (e.g. back
- propagation) to minimize the error between
- training data and model-generated data.
76 Unsupervised Learning
- In unsupervised learning, the initial set of
- membership functions and rule set are self-
- generated using clustering algorithms.
- Optimization can then be performed using
- neural network algorithms.
77Fuzzy Logic Control of Induction Motor Drive
Example
- Consider the fuzzy speed controller shown
below for a vector-controlled drive system. The
controller observes the pattern of the speed loop
error signal and updates the output DU so that
?r ?r. -
78Fuzzy Logic Control of Induction Motor Drive
Example (contd)
- Two input signals to the fuzzy controller -
error E ?r- ?r and CE dE/dt. Based on the
physical operation of the controller, we can
write the simple control rule - IF E is near zero (ZE) AND CE is slightly
positive (PS) THEN the controller output DU is
slightly negative. -
- This is implemented
- as shown
-
79Fuzzy Logic Control of Induction Motor Drive
Example (contd)
- A two rule control is shown below with rules
- Rule 1 IF EZE AND CENS THEN DUNS
- Rule 2 IF EPS AND CENS THEN DUZE
-
80Fuzzy Logic Control of Induction Motor Drive
Example (contd)
- Now consider a more detailed fuzzy logic model
for speed control of a vector-controlled
induction motor drive. The membership functions
for e, ce and du in per unit values are shown on
the next slide with the following definitions of
terms - NB-ve big NM-ve medium NS-ve small
- NVS-ve very small ZZero
- PVSve very small PSve small
- PMve medium PBve big
-
81Fuzzy Logic Control of Induction Motor Drive
Example (contd)
82Fuzzy Logic Control of Induction Motor Drive
Example (contd)
- The rule matrix for fuzzy speed control is
shown in the table below with the rules in the
form - IF e(pu)PS AND ce(pu)NM THEN du(pu)NS
-
-
83Fuzzy Logic Control of Induction Motor Drive
Example (contd)
- The general design control guidelines are
- 1. If both e(pu) and ce(pu) are zero, maintain
the present control setting du(pu)0. - 2. If e(pu) ? 0 but is approaching zero at a
satisfactory rate, then maintain the present
control setting. - 3. If e(pu) is growing the change the control
signal du(pu) depending on the magnitude and sign
of e(pu) and ce(pu) to force e(pu) towards zero. - See pp. 584 Bose for detailed fuzzy control
- algorithm description.
84Fuzzy Logic Control of Induction Motor Drive
Example (contd)
- The response of the fuzzy controller for a
particular motor with steps of speed command and
load torque with nominal inertia (J) is shown
below -
85Fuzzy Logic Control of Induction Motor Drive
Example (contd)
- The response of the fuzzy controller for the
same motor with steps of speed command and load
torque with 4x nominal inertia (4J) is shown
below -