Microelectromechanical Devices - Department of Electrical and

advertisement
ECE 8830 - Electric Drives
Topic 18: Sensorless and Adaptive Vector
Control of Induction Motor Drives
Spring 2004
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.
Introduction (cont’d)



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.
Introduction (cont’d)





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
Introduction (cont’d)
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.
Rotor 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
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 ?
 sl 
1   STr  Lsiqs
 r ( ds   Ls ids )
; e 
2
m
(vqss  iqss Rs ) dss  (vdss  idss Rs ) qss
L
Lr
where   1 
and  r 
.
Ls Lr
Rr
2
s
Slip Calculation (cont’d)
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.
Direct 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:
s
s
di
d

s
ds
dm
vds  ids Rs  Lls
But 
s
dr
dt

dt
Lr s
  dm  Llr idss
Lm
s
L
d

s
s
m
dr
v


(
R


L
s
)
i
 ds
s
s
ds
Lr dt
L2m
where   1 
Lr Ls
Direct Synthesis from State
Equations (cont’d)
This equation can be rewritten as:
d drs
Lr s Lr

vds 
( Rs   Ls s)idss
dt
Lm
Lm
A similar expression can be derived for qrs as:
d qrs
Lr s Lr

vqs 
( Rs   Ls s )iqss
dt
Lm
Lm
The rotor flux equations in a stationary ds-qs
reference frame can be written as:
d drs
Lm s
1 s
s

ids   r qr   dr
dt
r
r
and
d qrs
dt

Lm
r
iqss   r drs 
1
r
 qrs
Direct Synthesis from State
Equations (cont’d)
The angle e between de and ds is given by:

 e  arctan 

s
qr
s
dr
qrs



e
x3 x5
But arctan( x)  x    ...
3 5
qs
r
drs
ds
de
Ignoring higher order terms, we can write
  qrs
 e   s
  dr



Direct Synthesis from State
Equations (cont’d)

d e

dt
 drs  qrs  qrs  drs
 
s 2
dr
Combining these equations and some
algebra gives:
s s
s s



i


d e Lm
dr qs
qr ids
r 



s2
dt  r 
 dr

Lm s s
1  s s
s
s
s s 
 s 2  dr qr  qr dr    dr iqs  qr ids 
 dr 
r

Direct Synthesis from State
Equations (cont’d)
A block diagram of this method is shown below:
Note: This approach is highly sensitive to motor
parameter values.
Model 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.
Model Reference Adaptive System
(MRAS) (cont’d)
Model Reference Adaptive System
(MRAS) (cont’d)
The stator-side equations are given by:
d drs
Lr s Lr

vds 
( Rs   Ls s)idss
dt
Lm
Lm
d qrs
Lr s Lr

vqs 
( Rs   Ls s )iqss
dt
Lm
Lm
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.
Model Reference Adaptive System
(MRAS) (cont’d)
Thus the rotor fluxes 
s
dr
s

and qr can be
obtained by integration of these equations.
The adaptive model is developed from the
rotor-side current flux equations given by:
d drs
Lmidss
1 s
s

  r qr   dr
dt
r
r
d qrs
dt

Lmiqss
r
  r 
s
dr
1
r
 qrs
Model Reference Adaptive System
(MRAS) (cont’d)
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
Model Reference Adaptive System
(MRAS) (cont’d)
The overall stability of the system can be
achieved using Popov’s 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
Holtz’s paper for details).
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.
Slot Harmonics (cont’d)
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.
Slot Harmonics (cont’d)
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.
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.
Full Order Nonlinear Observers
A signal flow diagram for a full order
nonlinear observer is shown below:
Full Order Nonlinear Observers
(cont’d)
The addition of the error compensator makes
it an observer. The error between the model
current and the motor current is ei  i s  i s .
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 Holtz’s paper):
di s
kr
1
 '
 i s   j e  'i s 
(1  j r )ψ r  v s  Gr ( )e s
dt
r  r
r
dψ r
r
 ψ r   j ( e   ) r ψ r  lh i s  Gr ( )e s
dt
Full Order Nonlinear Observers
(cont’d)
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.
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.
Sliding Mode Control (cont’d)
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.
Sliding Mode Control (cont’d)
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.
Sliding Mode Control (cont’d)
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.
Sliding Mode Control (cont’d)
Consider first the case of negative feedback,
i.e. switch 1 closed. In this case,
X1=R-C
or
R-X1=C
where X1=loop error
Differentiating this expression gives:
d
dC
( R  X1 ) 
 X2
dt
dt
or
dX 1
 X2
dt
Sliding Mode Control (cont’d)
To satisfy the loop relation, we can also
write:
dX 2
  KX 1
dt
Combining these equations gives:
d 2 X1
 KX 1  0
dt
The general solution to this equation is:
X 1  A sin( Kt   )
dX 1
X2 
 K A cos( Kt   )
dt
Sliding Mode Control (cont’d)
Combining these equations gives:
X 12

2
A

X 22
KA

2
1
This is the equation of an ellipse as shown
below:
Sliding Mode Control (cont’d)
Similarly, in the positive feedback mode,
(switch 2 closed) the equations become:
dX 1
 X2
dt
and
dX 2
 KX 1
dt
Combining these equations gives:
d 2 X1
 KX 1  0
2
dt
Sliding Mode Control (cont’d)
The general solution to this equation is:
X 1  B1e
Kt
 B2 e 
Kt
dX 1
X2 
 K B1e
dt
Kt
 K B2e 
Kt
Squaring and combining these equations gives:
X 12
X 22

1
4 B1B2 4 B1B2
This equation describes a set of hyperbolas as
shown on the next slide.
Sliding Mode Control (cont’d)
The straight line asymptote equations are
obtained by setting B1B2=0 which gives:
KX 12  X 22  4 KB1 B2  0
=>
X 2   K X1
Sliding Mode Control (cont’d)
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:
  K X1  X 2 where =0 is on the line.
Sliding Mode Control (cont’d)
Assume that system at t=0 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:
  CX1  X 2  0
where C< K so that the line slope is lower
than and beyond the range of the variation in
K.
Sliding Mode Control (cont’d)
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).
Sliding Mode Control (cont’d)
The time domain response is given by:
X 1 (t )  X 1 (t0 )e C (t t0 )
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.
Sliding Mode Control (cont’d)
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:
d
lim 
0
for 
0
dt
Sliding Mode Control (cont’d)
We now consider how to apply SMC to a
vector-controlled induction motor drive. A
block diagram of such a drive is shown
below:
Sliding Mode Control (cont’d)
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:
Te  K t iqs  K t K1U ;
X 1   r*   r ;
1
dX 1 d r* d r


  m  X 2 ; (Te  TL )
 X2 .
dt
dt
dt
Js  B
Sliding Mode Control (cont’d)
The second-order plant model can be
expressed in state-space form in terms of the
state variables X1 and X2 as follows:
JsX 2  BX 2   Kt K1U  TL
K t K1
dX 2
B
1
  X2 
U  TL
dt
J
J
J

 dX 1 
 dt  0 1   X 1   0 
0

U



  X   a 
 d  TL
dX
0

b
 2  
 
 2 
 dt 
where b=B/J, a=KtK1/J, and d=1/J.
Sliding Mode Control (cont’d)
The proposed sliding mode control is
shown in detail in the figure below:
Sliding Mode Control (cont’d)
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.
Sliding Mode Control (cont’d)
The sliding trajectory during acceleration,
deceleration and constant speed is shown
below:
Sliding Mode Control (cont’d)
The sliding trajectory may be defined as
follows for the three segments:
Acceleration segment:
 1   X 22  ( X 1  X 10 )
where X10 = initial position error
Constant speed segment:
 2  X 2  X 20
where -X20 = max. +ve speed
Sliding Mode Control (cont’d)
Deceleration segment:
 3  CX1  X 2
Note: In all cases, =0 => 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.
Sliding Mode Control (cont’d)
Acceleration Segment:
In the primary loop, 1<0 and 1>0.
In the secondary loop,
1
1  2 dT


L
 2 b X 2
2 a X 2

; 1
1  2 dT


L
 2 b X 2
2 a X 2

Sliding Mode Control (cont’d)
Deceleration Segment:
In the primary loop, 3>0 and 3<0.
In the secondary loop,
C  b

3 
a
;
C  b

3 
a
Sliding Mode Control (cont’d)
Constant Speed Segment:
In the primary loop, 2>0 and 2<0.
In the secondary loop,
2 
dTL  b
a
;
dTL  b
2 
a
Sliding Mode Control (cont’d)
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, SMC’s combined with fuzzy logic
have been reported in the literature.
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.
Extended Kalman Filters (cont’d)
Extended Kalman Filters (cont’d)
The EKF algorithm uses the full motor
dynamic model. The augmented motor
model can be expressed as:
dX
 AX  BVs
dt
Y  CX
where X  i
s
ds
s
qs
i

1 0 0 0 0 
C

0 1 0 0 0 
s
dr

s
qr
 r  , Y  i
T
s
ds
and Vs  v
s
ds
s T
qs
v 
T
i  ,
s
qs
Extended Kalman Filters (cont’d)
  L2m Rr  L2r Rs 

 Ls L2r



0

A  
Lm Rr

Lr


0



0
0
L R


2
m
r
 L2r Rs 
 Ls L2r
0
Lm Rr
 Ls L2r

Lm r
 Ls Lr
Lm r
 Ls Lr
Lm Rr
 Ls L2r
Rr
Lr
 r

Lm Rr
Lr
r
0
0

Rr
Lr
0

0
 1

 L

 s

0


 0
 and B  
0
 0



 0
0
 0

0 

0 

1 
 Ls 
0 

0 
0 
Extended Kalman Filters (cont’d)
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(k+1)=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).
Extended Kalman Filters (cont’d)
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.
Extended Kalman Filters (cont’d)
A detailed flow diagram is shown below:
Extended Kalman Filters (cont’d)
There are two main stages - a prediction
stage and a filtering stage.
In the prediction stage, the next predicted
values of states X*(k+1) are calculated by
the motor model and the previous
estimated values. Also, the predicted
P*(k+1) is calculated using the covariance
vector Q.
Extended Kalman Filters (cont’d)
In the filtering stage, the next estimated states
X (k+1) are obtained from X*(k+1) by adding a
correction term eK, where e=Y(k+1) -Y(k+1)
and K=Kalman 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 Holtz’s paper).
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.
Fuzzy 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.
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
Membership Functions
Courtesy Jim Sibigtroth, Motorola
Complete Fuzzy System
Input
Fuzzifier
Rules
Processor
Knowledge
Database
Defuzzifier
Output
Fuzzy System Block Diagram
Courtesy Jim Sibigtroth, Motorola
Rule Activation over Control Surface
Courtesy Jim Sibigtroth, Motorola
3-D Control Surface
Courtesy Jim Sibigtroth, Motorola
Example: Two input, two rule Fuzzy Model
n1
m1
Rule1
F1
A1
S1
m2
Rule2
n2
F2
A2
S2
Techniques for Inference
Mamdani Implication: F1 = min (m1, n1)
F2 = min (m2, n2)
Defuzzification Conversion: Weighted Average
n
SystemOutput 
S AF
i 1
n
i
i
i
AF
i 1
i
i
A1, A2: areas of output membership functions
S1, S2: singletons of output membership functions.
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.
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 z=p*x+q*y+r
where p, q, and r are constants.
Computationally efficient.

Well suited to optimization/adaptation.


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.
Unsupervised Learning
In unsupervised learning, the initial set of
membership functions and rule set are selfgenerated using clustering algorithms.
Optimization can then be performed using
neural network algorithms.
Fuzzy 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*.
Fuzzy Logic Control of Induction
Motor Drive Example (cont’d)
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:
Fuzzy Logic Control of Induction
Motor Drive Example (cont’d)
A two rule control is shown below with rules:
Rule 1: IF E=ZE AND CE=NS THEN DU=NS
Rule 2: IF E=PS AND CE=NS THEN DU=ZE
Fuzzy Logic Control of Induction
Motor Drive Example (cont’d)
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
Z=Zero
PVS=+ve very small
PS=+ve small
PM=+ve medium
PB=+ve big
Fuzzy Logic Control of Induction
Motor Drive Example (cont’d)
Fuzzy Logic Control of Induction
Motor Drive Example (cont’d)
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”
Fuzzy Logic Control of Induction
Motor Drive Example (cont’d)
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.
Fuzzy Logic Control of Induction
Motor Drive Example (cont’d)
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:
Fuzzy Logic Control of Induction
Motor Drive Example (cont’d)
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:
Download