Professional Documents
Culture Documents
ESTIMATOR
A Thesis in
Electrical Engineering
by
David M. Reed
c 2009 David M. Reed
Master of Science
August 2009
The thesis of David M. Reed was reviewed and approved∗ by the following:
Heath F. Hofmann
Associate Professor of Electrical Engineering
Thesis Advisor
Jeffrey L. Schiano
Associate Professor of Electrical Engineering
W. Kenneth Jenkins
Professor of Electrical Engineering
Head of the Department of Electrical Engineering
∗
Signatures are on file in the Graduate School.
Abstract
iii
Table of Contents
List of Figures vi
Acknowledgments xi
Chapter 1
Field-Oriented Control of Induction Machines 1
1.1 Basic Drive System and Background . . . . . . . . . . . . . . . . . 1
1.2 Field-Oriented Control . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Basic Principles of Field-Oriented Control . . . . . . . . . . 6
1.2.2 Shortcomings of Field Oriented Control . . . . . . . . . . . . 8
1.2.3 Rotor Resistance Compensation In Literature . . . . . . . . 10
1.3 Thesis Contributions and Organization . . . . . . . . . . . . . . . . 13
Chapter 2
Induction Machine Model 15
2.1 Smooth Airgap Dynamic d − q Model . . . . . . . . . . . . . . . . . 15
2.2 Observability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 State Space Model . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.2 Observability Test . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Simulink
R Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Chapter 3
Controller Design 25
3.1 Direct Field-Oriented Controller . . . . . . . . . . . . . . . . . . . . 25
iv
3.2 Rotor Flux Estimator Design . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 Derivation using Trapezoidal Integration . . . . . . . . . . . 30
3.2.1.1 Voltage-Based Estimator . . . . . . . . . . . . . . . 31
3.2.1.2 Current-Based Estimator . . . . . . . . . . . . . . 34
3.2.2 Dead-Time Effect and Compensation . . . . . . . . . . . . . 36
3.3 Adaptive Rotor Resistance Estimator . . . . . . . . . . . . . . . . . 39
3.3.1 Derivation and Lyapunov Stability Proof . . . . . . . . . . . 40
3.3.2 Steady State Analysis . . . . . . . . . . . . . . . . . . . . . 43
3.4 Simulink Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Chapter 4
Implementation and Experimental Verification 50
4.1 Induction Machine Parameter Estimation . . . . . . . . . . . . . . . 50
4.1.1 Parameter Estimation Technique . . . . . . . . . . . . . . . 51
4.1.2 Experimental Setup and Results . . . . . . . . . . . . . . . . 53
4.2 Dead Time Measurement . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 Controller Experimental Verification . . . . . . . . . . . . . . . . . 58
4.3.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.2 Experimental Verification . . . . . . . . . . . . . . . . . . . 64
Chapter 5
Discussion and Future Work 69
5.1 Controller Performance and Limitations . . . . . . . . . . . . . . . 69
5.1.1 Dependence on Operating Point . . . . . . . . . . . . . . . . 70
5.1.2 Flux Estimator Performance . . . . . . . . . . . . . . . . . . 71
5.2 Suggestions for Future Work . . . . . . . . . . . . . . . . . . . . . . 73
Bibliography 76
v
List of Figures
vi
3.14 Simulink block diagrams of the Park (left) and Inverse Park (right)
transforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.15 Simulink block diagram of a PI regulator. . . . . . . . . . . . . . . . 49
vii
List of Tables
viii
List of Commonly Used Symbols
ix
ωse = ωe − ωre Electrical Slip Frequency.
H Moment of Inertia.
B Mechanical Damping.
0 −1
J= 90◦ Rotation Matrix.
1 0
1 0
I= The Identity Matrix.
0 1
0 0
0= The Zero Matrix.
0 0
x
Acknowledgments
I would like to thank Dr. Heath Hofmann for his guidance throughout this project.
I have learned a great deal from him, and with him, in the past year. I would also
like to thank Dr. Jeff Schiano for serving on my committee, and teaching me a
great deal about control theory and design. Additionally, I wish to thank Dr.
Jack Mitchell, Prof. Mark Wharton, Dr. Jeff Mayer, Dr. Javier Gomez-Calderon,
and all the teachers who have inspired me throughout my education. I have been
fortunate to have had so many excellent teachers.
Finally, I would like to thank my family and friends for all of their love and
support. Because of you, I can safely say that I have come out of grad school with
my sanity intact.
xi
Chapter 1
Field-Oriented Control of Induction
Machines
The term “electric drive” generally refers to the power electronics, controller and
electrical sensors required to operate an electric machine in specific applications
where control over torque, speed and operating points is desired. While electric
drives can be used with a variety of electric machines (AC and DC), the focus of
this thesis will be the control of induction machines using an electric drive. The
basic motor drive system architecture, shown in Figure 1.1, gives us control over
the frequency of the AC voltage used to drive the motor.
2
(dSpace)
va
vb
vc
It should be noted that, while the focus of this thesis is the control of 3-
phase induction machines, the control techniques used are based on a two-phase
equivalent model which will be discussed in the following chapter. The use of two-
phase models is common practice as it leads to reduced order models which are
easier to work with, and may be used with higher-than-three-phase machines as
well. For three-phase machines, the electrical variables (a,b,c) can be transformed
into their equivalent two-phase values (d,q,0) using the Clark transform (1.1).
xd 2/3 −1/3 −1/3 xa xa
x = 0 √3/3 −√3/3 x = T23 x
q b b (1.1)
x0 1/3 1/3 1/3 xc xc
resistance is the primary motivation for the work presented in this thesis.
The resistance change with temperature, in this case for the rotor, can be
described by the following equation [14]:
0.0042
where α is the temperature coefficient (typically for aluminum, αAl = ◦C ) and
∆ϑp = ϑrotor − ϑambient is the rotor temperature increase. In [14] the authors used
a first order equivalent RC circuit to model the rotor temperature increase:
d∆ϑt ∆ϑt
Ct = ploss − (1.5)
dt Rt
where Ct and Rt are the thermal capacitance and resistance respectively, and the
subscript t refers to the thermal model. Least-squares was used to estimate the
thermal capacitance and resistance from experimental data for a 1.5 kW induction
machine running at the manufacturers rated conditions. The resulting thermal
time constant, Tt = Rt Ct , was found to be 2490 seconds. Their plot, evaluating
the accuracy of the thermal model (1.5) has been provided in Figure 1.2.
Inspection of these results yields two important observations as it concerns this
thesis. First, using the data in Figure 1.2 and (1.4), we find that the rotor resis-
tance would have increased approximately 25%. Secondly, inspection of Figure 1.2
and the thermal time constant, Tt = 2490s, reveals that the rotor resistance will
change very slowly with respect to time. This will allow us to make an impor-
tant assumption when deriving our adaptive rotor resistance estimator in a later
chapter.
DATA OF THE INVESTIGATED INDUCTION MACHINES
btained measuring points in the time do- rameter model from the temperature estimated by the thermal
1.2 Field-Oriented Control
model is less than 3 C for all three motors.
The units of the thermal resistor and the thermal capacitor are
(33) mixed
As mentioned earlier, p.u.the
andinterest
SI units.in
Usually, the physical
field-oriented unit ofstems
control the thermal
from the ability to
resistor is . In this case the motor losses are derived as
of rotor temperature with respect
obtaintoa the p.u.
nearly quantities. Therefore,
instantaneous torquethe unit of the
response thermal
(i.e. resistor in this performance)
DC machine-like
ed in Figs. 7–9 for the investigated mo- paper is only . The physical meaning of the thermal resistor
mal parameters and in well
as induction
as the machines. This performance
can be explained with the help ofis the
achieved by exploiting
steady-state temperaturethe natural de-
of (33)
coupling which results when the characteristic equations for an induction machine
(34) (35)
are written in the rotor-flux reference frame.
chines are summarized in Table II. The If the p.u. total losses are, e.g., 5% of the reference power (5), the
f the temperature estimated by the pa- steady-state rotor temperature is 5% of . The physical unit of a
1.2.1 Basic Principles of Field-Oriented Control
use limited to: Penn State University. Downloaded on June 14, 2009 at 15:49 from IEEE Xplore. Restrictions apply.
syn
q
syn
syn
syn x d
q
syn
syn
syn xd cos (θsyn ) sin (θsyn ) xd −Jθ
~x = = = e syn ~x (1.6)
syn
xq −sin (θsyn ) cos (θsyn ) xq
It has been shown [1] that the torque expressions for various AC machines
simplify when expressed in certain synchronous reference frames. For this reason
Park transforms are used in field-oriented control, despite the added complexity.
Once transformed into a synchronous reference frame, standard control techniques
can be applied. The output is then transformed back into a stationary reference
frame using the inverse Park transform (1.7) [1].
A common analogy used to describe the operation of field-oriented AC drives,
8
is that of a separately excited DC motor drive [2]. The general torque expression
for a DC machine is given by
P
τe = λaf (if ) ia , (1.8)
2
where P is the number of poles, λaf (if ) is the armature flux linkage expression
which is a function of the field winding current, if , in a separately excited DC
machine, and ia is the armature current. Inspection of (1.8) reveals that if can be
used to regulate the armature flux linkage, and ia can be used to regulate torque.
This decoupling is inherent in DC machines because the fields produced by
ia and if are orthogonal by design. However, it will later be shown that this
decoupling and a similar torque expression can be achieved for induction machines
by transforming the electrical variables into the rotor flux linkage reference frame.
In general, there are two types of field-oriented controllers for induction machines
which are based on the rotor flux linkage reference frame, indirect (or feedforward)
and direct (or feedback). The latter method will serve as the basis for the controller
proposed in this thesis.
Despite the high performance which can be achieved using field-oriented control,
there are shortcomings as well. There are two primary methods of estimating flux
linkages for use in control algorithms, which will be discussed in detail later. If a
flux linkage estimator is used in the control algorithm, performance at either low
frequencies or high frequencies will suffer depending on the type of estimator used.
These estimators can also suffer from parameter variations, and if speed-sensorless
control is being performed, the loss of observability at DC excitation [16] will likely
9
need to be addressed [18]. For simplicity in our work, we allowed ourselves the use
of a position encoder, from which rotor speed was derived.
While direct field-oriented controllers can be implemented by directly measur-
ing the magnitude and position of the aig-gap flux in the machine using either
pickup coil or hall-effect sensors, this method is not favored as it requires modifi-
cations to the machine to place the sensors in the air-gap, and will still be prone
to error. Therefore, direct field-oriented controllers are often implemented using
estimators to determine the rotor flux linkage.
Both the indirect and direct methods tend to lack robustness, having similar
sensitivities to variations in machine parameters [15]. In fact, when a flux estima-
tor is used with the direct method, the parameter variation of concern for both
methods is that of the rotor resistance, which is a function of temperature and
frequency. This is because a change in the rotor resistance, which may exceed 50%
[2], causes a change in what is referred to as the rotor time constant, Tr = Lr /Rr .
The accuracy of this parameter is critical for the slip frequency computation per-
formed when using the indirect method. Likewise, it is of importance in the flux
estimators commonly used to implement the direct method.
A mismatch between the actual rotor resistance and the value used in a field-
oriented controller can lead to significant steady-state errors in torque regulation
if the mismatch is severe enough. To demonstrate the potential severity of such
a mismatch, Simulink simulations were performed for a 1 N-m torque command
using a direct field-oriented controller with ±50% variations in the value of Rr
[Figure 1.4]. Inspection of the torque responses in Figure 1.4 reveals that while the
steady-state error due to rotor resistance mismatches can be rather large, there
are also oscillations in the response that indicate that the stability of the system
could be degraded as well. For these reasons, a great deal of research has been
10
1.6
∆ Rr = + 50%
1.4
1.2
∆ Rr = 0%
1
τ3ph [N-m]
0.8
0.6
∆ R = - 50%
0.4 r
0.2
0
0 0.5 1 1.5 2 2.5 3
Time [Seconds]
Figure 1.4. Simulated torque responses for a 1 N-m command with Rr mismatch using
direct field-oriented control with flux estimation for torque regulation.
done to find a practical method for updating the value of the rotor resistance in
field-oriented control algorithms.
update (1.9) will result in a singularity as the slip frequency goes to zero, ωsl → 0.
ω̂r − ωr
∆Tr = T̂r (1.9)
ωsl
Other adaptive techniques have been proposed as well [24]-[28]. However, the
controller proposed in [24] uses adaptation laws derived from a dynamic model
of the induction machine which is based on the stator current reference frame.
Since the electrical variables used in the adaptive estimator are constant in such
a reference frame, the system lacks persistency of excitation [10] under steady-
state operating conditions, and so it must rely on transients to tune the resistance
estimation. A non-linear adaptive sliding mode controller was derived in [25];
however, it has not been tested on hardware. The other adaptive estimation papers
[26]-[28] present the evolution of a speed-sensorless direct field-oriented controller
with adaptive rotor time constant estimation. Their first attempt [26] estimated
the rotor resistance, R̂r , as being proportional to their stator resistance adaptation:
d d
R̂r = Rsrn R̂s = −λ1 (eids îds + eiqs îqs ) (1.10)
dt dt
where eids = ids − îds , eiqs = iqs − îqs , λ1 > 0 is a control gain, and Rsrn is the ratio
of the nominal values of the stator and rotor resistance. This method is flawed
however, as the stator and rotor resistances will vary quite differently for a number
of reasons. First, the stator windings consist of copper wire while the rotor cage
consists of aluminum bars. Secondly, the rotor and stator are separated by an
air-gap which makes it unlikely that the stator and rotor temperatures will be the
same. Therefore, the relation between the stator resistance and rotor resistance
cannot be described by a simple constant.
The next evolution of the controller [27] proposes a new rotor time constant
12
d n o
(1/τ̂r ) = λ2 /Lr eids (φ̂dr − M îds ) + eiqs (φ̂qr − M îqs ) (1.11)
dt
where eids = ids − îds , eiqs = iqs − îqs , and λ2 is an arbitrary positive gain. The
authors direct readers to a prior conference paper [29] in which the estimator was
proposed and stability verified using the Lyapunov stability criteria. Their proof
however, only yields a negative semi-definite result, as stated by the authors. This
result only proves that the estimator is stable in the sense of Lyapunov, it does not
guarantee that the rotor time constant estimation will converge to the true value
(i.e. eτr → 0 as t → ∞). Later evolutions of this estimator [28] are all derived
from the original adaptation law (1.11) by rewriting it in the electrical reference
frame and in terms of rotor resistance. Therefore, the convergence of these later
incarnations is also unproven.
Other techniques for updating the rotor time constant have been proposed as
well [19, 20]. The method proposed in [19], uses a modified switching scheme to
extend the zero crossing of a particular phase current. This forces the current in
one of the phases to be zero, simplifying the dynamic equations for the induction
machine and allowing a direct calculation of the rotor time constant using known
and measurable parameters. However, the accurate convergence of this estima-
tion technique is unproven and would likely be difficult to prove. Additionally,
the modified switching technique used to implement the estimator is for Current
Regulated Pulse-Width-Modulated (CRPWM) converters and it is unclear how it
could affect the performance of the field-oriented controller. Lastly, the authors
only provide experimental results for the implementation of the switching scheme
and not the rotor time constant estimation.
13
The organization of this thesis is as follows. The standard smooth airgap two-
phase induction machine model is presented in Chapter 2 in order to familiarize the
reader with the model and assumptions which will serve as the basis of our control
design. The following sections of Chapter 2 present an observability analysis of the
electrical variables necessary to our control design, followed by the implementation
of the induction machine model in Simulink.
The theoretical details of our control design are presented in Chapter 3. We
begin by introducing the basic direct field-oriented control theory followed by the
derivation of our rotor flux linkage estimators using trapezoidal integration. A
subsection discussing the dead-time effect and a method for its compensation is
included as well. The next section details the derivation and stability proof of
our rotor resistance estimator, and includes a steady-state analysis as well. The
chapter concludes with a Simulink implementation and simulation results for an
idealized implementation of the resulting controller.
Chapter 4 begins with a description of our induction machine parameter es-
timation technique along with the experimental setup and resulting machine pa-
rameters. We then discuss our experimental measurement of the dead time, and
conclude with the experimental verification of our direct field-oriented controller
and adaptive rotor resistance estimator.
Finally, Chapter 5 discusses the performance of our controller over a range
of rotor speed and slip frequencies. The limitations which were predicted and
discovered are summarized as well. The chapter concludes with recommendations
for future work and suggestions for a practical implementation of the resulting
controller.
Chapter 2
Induction Machine Model
There are a variety of ways to model the operation of an induction machine. Natu-
rally, the design of high performance drive systems requires the use of a dynamical
model for the induction machine. The model which will be used for the remain-
der of this document is referred to as the Smooth Airgap Dynamic d − q Model.
This model will be presented along with an observability analysis and Simulink
implementation of the model.
These assumptions are typical and appropriate under normal operating condi-
tions. A cross-sectional depiction of the smooth air-gap d − q model is provided in
Figure 2.1.
be neglected. The order reduction achieved by using the d − q model can now
be appriciated as the charateristic equations for a two-phase equivalent induction
machine model [Figure 2.2] are presented.
s ls lr r
s r
s s r re r
The stator and rotor flux linkages (designated by ~λ) in an arbitrary reference
frame (designated by the superscript x) are given by the following relationships:
where Ls = Lls + M and Lr = Llr + M , are the stator and rotor self-inductances,
~isx and ~ir x are the stator and rotor currents, M is the mutual inductance, Lls and
d~λs
~vs = Rs~is + (2.3)
dt
18
Similarly, the rotor voltage expressed in the rotor electrical reference frame
(denoted by the superscript re), is given by the same relationship as above:
d~λ re
~vr re = Rr~ir re + r (2.4)
dt
This relationship can then be expressed in the stationary reference frame by rewrit-
ing the previous equation as follows:
Finally, we arrive at our desired expression for the rotor electrical dynamics:
d~λr
~vr = Rr~ir − ωre J~λr + =0 (2.6)
dt
It should be noted that in our analysis, we have modeled the induction machine
as having a squirrel-cage rotor “winding” and so the rotor voltage is equal to
zero (the terminals are shorted together). Additionally, the machine used in our
experimental testing was in fact a squirrel-cage type induction machine.
To derive the torque expression for an induction machine, we will use the
concept of co-energy [1, 3, 4]. It can be shown that the expression for co-energy is
given by
1 1
Wc = Ls k~is k2 + Lr k~ir re k2 + ~isT M (θre )~ir re (2.7)
2 2
19
∂θre P
where = .
∂θr 2
Substituting (2.7) into (2.8) yields the following torque expression (2.9).
3P ~ T
τ3ph = is M JeJθre~ir re (2.9)
4
While the torque expression above (2.9) is valid, it is not particularly useful
due to its dependence on the rotor electrical angular displacement (θre ). This
dependence can be eliminated however, by recognizing that ~ir re = e−Jθre~ir , and so
we obtain our desired result:
3P ~ T ~
τ3ph = M i s Ji r (2.10)
4
dωr 1
= [(τ3ph − τl ) − Bωr ] (2.11)
dt H
where H is the combined moment of inertia of the rotor and load, B is the me-
chanical damping on the rotor, and τl is the load torque applied to the rotor.
20
The observability analysis presented in this thesis will be limited to the electri-
cal dynamics of the induction machine. While the rotor velocity, whose dynamics
are given by (2.11), will be present in the state equations, we will argue that the
time scale associated with them is considerably slower than that of the electrical
dynamics. Therefore, the rotor velocity will be treated as a constant in our anal-
ysis, since in reality it is changing much more slowly than the electrical variables.
Additionally, we will be measuring the rotor velocity with an optical encoder in
our experiments, and so an instantaneous measurement will always be available.
The same argument will be used in the following chapter to derive flux estimators
using trapezoidal integration. By making this assumption we not only reduce the
order of the state space equations, but also obtain a linear model.
d e
~x = A~x e + B~vs e
dt (2.12)
~ise = C~x
The state space equations in the electrical reference frame (denoted by the
superscript e) for the smooth airgap d − q model of an induction machine [16] can
21
be derived using the equations presented in the previous section. The resulting
vectors and matrices are given as follows:
~e
e is
~x = (2.13)
~λ e
r
(Rs L2r + Rr M 2 )
M Rr
− 2L
I − ωe J 2
I − ωre J
σ r σ Lr
A= (2.14)
Rr M Rr
I − I − (ωe − ωre ) J
Lr Lr
Lr
I
B = σ2 (2.15)
0
C= I 0 (2.16)
To verify the observability of the electrical variables (i~se and λ~r e ), we will use the
standard test from linear systems theory [7, 8]. The observability matrix can then
be formed as follows:
C
CA
Q= (2.17)
CA2
3
CA
22
Even with the reduction in model order, the result is a rather large and complex 8-
by-4 matrix. However, from linear algebra we know that the rank of a matrix ρ (Q),
which is the maximum number of linearly independent columns, must be less-than-
or-equal-to the minimum dimension. Since the matrix Q has a minimum dimension
of 4, the rank of the matrix must be less-than-or-equal-to 4. Additionally, the rank
of a matrix is also equivalent to the number of linearly independent rows [12].
In our analysis, we seek to prove that the electrical variables are completely
observable by showing that the observability matrix has full rank (i.e. ρ (Q) = 4)
for all values of ωe and ωre . Fortunately, this can be proven by showing that the
first four rows of the observability matrix are linearly independent. These rows are
given by
I 0
C
Q1−4 = = (2.18)
2 2
CA (Rs L r + R r M ) M Rr
− I − ωe J I − ω re J
σ 2 Lr σ 2 Lr
Inspection of (2.18) reveals that the only way the bottom two rows could be a linear
combination of the top two rows is when we and wre both equal zero, along with
either M or Rr . While the first condition (we = wre = 0) is not only possible, but
a very likely operating condition, the second condition (M or Rr = 0) is physically
impossible. Therefore, the matrix Q has full rank and so the electrical variables
i~se and λ~r e are completely observable for all non-zero values of we and wre .
2.3 Simulink
R Model
Simulations were performed in order to test our controller’s stability and perfor-
mance before implementation with hardware. The software package Simulink was
23
chosen for its familiarity, ease of use and its simple interface with dSpace. However,
before a controller could be simulated, we first needed to implement our induction
machine model in Simulink.
Our simulink model of an induction machine consists of three “layers”. The
bottom layer [Figure 2.3] implements the current/flux linkage relationships given
by
~isx = Lr ~λsx − M ~λr x (2.19)
σ2 σ2
1
lambda _sd 1
i_sd
Lr/sig^2
2 Lr/sig^2 Add
lambda _sq 2
i_sq
M/sig^2
M/sig^2
M/sig^2
3 M/sig^1 3
i_rd
lambda _rd
Ls/sig^2
Add 2
4 4
Ls/sig^2
lambda _rq i_rq
These relationships can be derived from the flux linkage expressions (2.1 – 2.2)
presented earlier. The electrical dynamics, which are given by equation (2.3) and
(2.6), are implemented in the next layer [Figure 2.4]. The final layer [Figure 2.5]
implements the mechanical dynamics (2.11 – 2.10) and performs the necessary
Clark transforms.
24
Rs1
Rs
Rs
Rs
1
1 lambda_sd i_sd 1
s
Vsd i_sd
Integrator
1
2 lambda_sq i_sq 2
s
Vsq i_sq
Integrator 3
lambda_rd i_rd 3
3 1 i_rd
w_re -1
s
Product J Integrator 1 lambda_rq i_rq 4
i_rq
Current / Flux Relations
Rr
1
1 Rr
s
Product 1 J1 Integrator 2 Rr1
Rr
a 1
i_sd d
i_a
Vsd
b 2
1 a d
i_b
v_ a
i_sq q c 3
2 b q
i_c
v_ b Vsq 2 -3 Phase Conversion
3 c 0 i_rd
v_ c Terminator Product tau_3ph
abc -dq 0 Conversion 3 *P*M /4
1 w_r
1 /H 4
w_re Add s
i_rq Rotor _ Speed
3 *P *M /4 1 /H Integrator
Product 1 Add 1
IM _ dq _ model
4 B
Load _Torque
B
w_re
P/2
P /2
Until now, we have kept the discussion of our control algorithm very general,
gradually building upon the basic concepts. In this chapter however, we will begin
presenting the detailed derivation and design of our controller. The direct field-
oriented control technique will be first be discussed along with the derivation of
our rotor flux linkage estimators. Afterwards, the derivation and stability proof
of our adaptive rotor resistance estimator will be presented as well as simulations
verifying the stability and performance of the resulting controller.
syn
syn
λr
q λr λr syn
d
Figure 3.1. Transformation of electrical variables into the rotor flux linkage reference
frame.
3P ~ T ~
τ3ph = M is Jir
4 !
3P ~ T λ~r M~
= M is J − is
4 Lr Lr
3P M ~ T ~
= is Jλr − M~isT J~is
4 Lr
3P M ~ T ~
= i Jλr
4 Lr s
3P M
= (λrd isq − λrq isd ) (3.1)
4 Lr
Taking the electrical variables to be in the rotor flux linkage reference frame, the
expression above (3.1) can be rewritten as follows:
3P M ~
τ3ph = ||λr || cos (θλr − θsyn ) iλsqr − ||~λr || sin (θλr − θsyn ) iλsdr
4 Lr
3P M ~ λr
= ||λr ||isq (3.2)
4 Lr
27
d~
λr = −Rr~ir + ωre J~λr
dt !
λ~r M~
= −Rr − is + ωre J~λr
Lr Lr
Rr ~ Rr M ~
= ωre J − I λr + is (3.3)
Lr Lr
h iT
Noting that in the rotor flux linkage reference frame ~λr = ||~λr || 0 we arrive at
the following expression
d ~ Rr Rr M λr
||λr || = − ||~λr || + i (3.4)
dt Lr Lr sd
Therefore, isdλr can be used as a control input to regulate and shape the dynamics
of the rotor flux linkage magnitude, while iλsqr can be used to regulate torque for a
give rotor flux linkage magnitude [Figure 3.2].
One challenge which remains to be addressed is the estimation of the rotor flux
linkage. As it has been shown, the rotor flux linkage is needed to perform the
necessary reference frame transforms. Since it is impossible to directly measure
28
a
b
1 c
3P M
4 Lr
λr
λr
r
the rotor flux linkage, estimators must be used to compute it based on electrical
parameters which are known or can be measured.
There are two primary methods of estimating the rotor flux linkage in an induction
machine. The first method, sometimes referred to as the “stator voltage-based
estimator”, directly solves for the stator flux linkage by integrating the stator
voltage minus the resistive drop (3.5). The stator flux linkage can then be used
along with the stator current to calculate the rotor flux linkage (3.6).
Z
ˆ
~λ s = ~vs − Rs~is dt (3.5)
ˆ
~λ Lr ~ˆ σ 2~
r = λs − i s (3.6)
M M
Z
ˆ ˆ
~λ s =
~ ~
~vs − Rs is − K λs dt (3.7)
The second method of calculating the rotor flux linkage, often referred to as
the “current-based estimator”, can be implemented by integrating the equation
for the rotor electrical dynamics given by (3.3). The resulting expression has been
provided below.
Z
ˆ
~λ Rr ~ˆ Rr M ~
r = ωre J − I λr + is dt (3.8)
Lr Lr
Rr
p1,2 = − ± jΩre (3.9)
Lr
ˆ
~λ ~ˆ
r [k + 1] − λr [k] Rr ~ˆ Rr M ~
= ωre J − I λr [k] + is [k]
Ts Lr Lr
ˆ ˆ
~λr [k + 1] = ~λr [k] + Ts ωre J − R r ˆ Rr M ~
I ~λr [k] + Ts is [k]
Lr Lr
ˆ
~λ Rr ˆ Rr M ~
r [k + 1] = 1 − Ts I + Ts ωre J ~λr [k] + Ts is [k] (3.11)
Lr Lr
Rr
A= 1 − Ts I + Ts ωre J (3.12)
Lr
inspection of which reveals that the eigenvalues (or poles) of the estimator are
31
located at
Rr
p1,2 = 1 − Ts ± jTs ωre (3.13)
Lr
Therefore, the estimator will only be stable for “small” values of ωre , eventually
becoming unstable at high speeds when the poles move outside the unit circle,
which is the stability boundary for discrete-time systems. It can be shown that
this will occur when r 2
1− 1− Ts R
Lr
r
ωre = (3.14)
Ts
For this reason, and accuracy concerns, the decision was made to use rotor flux
linkage estimators derived using trapezoidal integration.
Since the voltage-based estimator (3.5) is only marginally stable due to the pure
integration theoretically required to solve for the stator flux linkage, stable ap-
proximations to ideal integrators (3.7) are typically used in practice. While the
use of a first order approximation or “leaky” integrator is typically sufficient, our
adaptive rotor resistance estimation algorithm necessitates the use of a higher or-
der approximation. This is due in part to sensitivity of our adaptive algorithm to
phase errors, as well as the need to completely null DC offsets.
1
In the s-domain, an ideal integrator is given by , the first order approximation
s
1
of which is given by . Our proposed approximation is given by
s+K
s
Gint (s) = (3.15)
s2 + 2ζωn + ωn2
where ζ is the damping coefficient and ωn is the natural frequency which gives the
corner frequency of the filter, much like K in the first order approximation. A
32
Bode plot has been provided [Figure 3.3] which compares the frequency response
of an ideal integrator to the first and second order approximations with corner
frequencies of 1 rad/sec. Inspection of Figure 3.3 reveals that the phase response
40
Ideal
Magnitude [dB]
20 First Order (K = 1)
Second Order (ω = 1, ζ = 0.2)
n
0
-20
-40 -1 0 1 2
10 10 10 10
100
50
Phase [deg]
-50
-100 -1 0 1 2
10 10 10 10
Frequency [rad/sec]
of the second order approximation is capable of reaching the ideal shift of 90 degrees
before the first order approximation.
To obtain a trapezoidal form of (3.15) for implementation, we first need to
derive state space equations which describe the transfer function. This can be
done by splitting the transfer function as follows:
Y (s) P (s) 1
Gint (s) = = [s] 2 (3.16)
P (s) U (s) s + 2ζωn + ωn2
33
ẋ1 = x2 (3.17)
y = x2 (3.19)
Ts
x1 [k + 1] = x1 [k] + {x2 [k + 1] + x2 [k]} (3.20)
2
Ts
u[k + 1] − ωn2 x1 [k + 1] − 2ζωn x2 [k + 1] · · ·
x2 [k + 1] = x2 [k] +
2
Ts
u[k] − ωn2 x1 [k] − 2ζωn x2 [k]
+ (3.21)
2
By assuming u[k + 1] = u[k] the following equations can be found after some
substitutions and rearranging:
Ts2 2
1 2 2 Ts
x1 [k + 1] = u[k] + 1 + 2ζd + d − ωn x1 [k] + Ts x2 [k] ,
1 + 2ζd + d2 2 2
(3.23)
1
Ts u[k] − ωn2 Ts x1 [k] + 1 − 2ζd − d2 x2 [k] ,
x2 [k + 1] = 2
(3.24)
1 + 2ζd + d
Ts
where d = ωn . Provided the trapezoidal rule was applied correctly, the stability
2
of the filter is assured so long as ωn and ζ are appropriately chosen. This is because
trapezoidal integration, which is the basis of the bilinear transform, preserves the
34
p
p1,2 = −ζωn ± jωn 1 − ζ2 (3.26)
Therefore, our second order approximation will be stable so long as ωn and ζ have
positive real values. To apply this integrator approximation to our voltage-based
flux estimator we simply let y = λsx and u = vsx − Rs isx .
The current-based rotor flux linkage estimator can be derived using trapezoidal
integration as follows:
ˆ
~λ ~ˆ Ts 1 ˆ
~ 1 ˆ
~ M~
r [k + 1] = λr [k] + ωre J − I λr [k + 1] + ωre J − I λr [k] + 2 is [k]
2 Tr Tr Tr
Ts ˆ
~ ˆ
~ 1 ˆ
~ M~
⇒ 2+ I − Ts ωre J λr [k +1] = 2λr [k]+Ts ωre J − I λr [k] + 2 is [k]
Tr Tr Tr
h i"
Ts #
ˆ 2 + T
I + Ts ωre J
T
ˆ M T
r s s~
⇒ ~λr [k + 1] = 2 2− I + Ts ωre J ~λr [k] + 2 is [k]
Ts 2 Tr Tr
2 + Tr + (Ts ωre )
ˆ ˆ
⇒ ~λr [k + 1] = A~λr [k] + B~is [k], (3.27)
where 2
2 Ts
4 − (Ts ωre ) − Tr I + 4Ts ωre J
A= 2 (3.28)
2 + TTrs + (Ts ωre )2
h 2
i
2 MTTr s 2+ Ts
Tr
I+ 2 M TTsrωre J
B= 2 (3.29)
2+ Ts
Tr
+ (Ts ωre )2
35
Note that the rotor time constant, Tr = Lr /Rr , was used to slightly simplify the
equations. Again, the eigenvalues of the system matrix A are given by
2
2
4 − (Ts ωre ) − TTrs 4Ts ωre
p1,2 = 2 ± j 2 (3.30)
2 + TTrs + (Ts ωre )2 2 + TTrs + (Ts ωre )2
For comparison, the eigenvalues/poles of the system matrix were plotted as a fuc-
tion of ωre , in Matlab, for both the Forward Euler and Trapezoidal implementations
using typical parameters [Table 3.1].
0.08 Trapezoidal
Forward Euler
Unit-Circle
0.06
0.04
0.02
Imaginary
-0.02
-0.04
-0.06
-0.08
Figure 3.4. Pole locus comparison of Forward Euler and Trapezoidal methods.
D high
BUS vge, high
ix(t)
BUS vxn(t)
BUS
D low
vge, low
When driving inductive loads, such as an electric motor, the output current
ix (t) will continue flowing during the dead-time interval when both IGBTs are
OFF. As a result, this current will bias either Dhigh or Dlow ON depending on
its direction. This essentially connects either the positive or negative bus to the
output, vxn (t). The effect of dead-time on the output voltage of a single phase of
the inverter is depicted in Figure 3.6. It should be noted that the neutral point,
n, created by splitting the bus voltage across two capacitors is for conceptual
37
ge, high
ON ON
OFF
ge, low
ON
OFF OFF
+ BUS
xn
d d
- BUS
x s s
illustration only. The neutral point is generally not needed in practice and so a
single or parallel combination of capacitors are typically used.
Assuming that the current doesn’t change direction during a given switching
period, the average value of the voltage due to the dead-time effect is given as
2td VBU S
hvdead (t)i = −sgn(ix (t))
Ts 2
where D = tON /Ts is the duty cycle for a particular inverter phase.
When viewed on a longer timescale, the average dead-time voltage appears as
a squarewave which is 180 degrees out-of-phase with the current for a particular
phase [Figure 3.7]. Assuming the current waveforms are sinusoidal, our proposed
method of compensating for the dead-time voltage is to compute its first harmonic
and add it to our commanded voltages before computing the rotor flux linkage using
the voltage-based estimator. This assumption is valid as our controller regulates
the direct and quadrature currents in order to regulate torque.
x
dead
ix 4
v̂dead ≈ − td fs VBU S (3.34)
||ix || π
The decision to use the first harmonic was motivated by a concern that the higher
order harmonics contained in the squarewave approximation of the dead-time volt-
age could adversely affect the performance of our controller.
39
The rotor flux linkage estimators designed in the previous section are an important
component in our adaptive rotor resistance estimator. For this reason, a great deal
of effort was spent designing them. The final controller will use the current-based
rotor flux linkage estimator, which will receive updated resistance values from the
adaptive estimator during acceptable operating conditions. The criteria for these
operating conditions will be discussed in greater detail later; however, an obvious
criteria can be explained now.
Since both rotor flux linkage estimators will be needed to estimate the rotor
resistance, the estimation must be performed in a frequency range where both
estimators are reliable. As mentioned earlier, the need to approximate an ideal
integrator using a stable transfer function makes the voltage-based estimator un-
reliable at low frequencies near wn . Additionally, while the use of trapezoidal in-
tegration greatly improves the accuracy and operating range of the current-based
estimator, its reliability will still suffer at high frequencies due to hardware limi-
tations such as rounding errors. Therefore, the rotor resistance must be tuned in
a “midband” where both estimators are working accurately.
This section will present the derivation of our rotor resistance estimator along
with a stability proof using the Lyapunov stability criterion and Barbalat’s lemma
[5, 6]. A quasi-steady-state analysis will also be presented which will prove the
asymptotic convergence of the rotor resistance error and reveal some fundamental
limitations of the estimator which will help us determine acceptable operating
conditions for tuning the rotor resistance.
40
Assuming that the magnetic parameters are constant and well known, and that
the measurements of rotor velocity and stator current are sufficiently accurate, the
current-based estimator dynamics can be written as
!
d ~ˆ R̂r ˆ R̂r M ~
λr = − I + ωre J ~λr + is , (3.35)
dt Lr Lr
where R̂r is the estimated rotor resistance. The difference between the actual and
estimated rotor resistance is defined as follows:
If there is a difference between the actual and estimated rotor resistance, then
there will also be a difference between the actual and estimated rotor flux linkages.
This error is defined as follows:
ˆ
~eλr = ~λr − ~λr (3.37)
The dynamics of the rotor flux linkage error can therefore be written as
d d~ dˆ
~eλr = λr − ~λr
dt dt dt
" ! #
Rr Rr M R̂r ˆ R̂r M
= − I + ωre J ~λr + ~is − − I + ωre J ~λr + ~is
Lr Lr Lr Lr
Rr eRr ~ˆ eRr M ~
= − I + ωre J ~eλr − λr + is (3.38)
Lr Lr Lr
d ˆ
R̂r = −K~ir T ~eλr (3.39)
dt
41
ˆ 1 ˆ M
where ~ir = ~λr − ~is and K > 0 is a constant control gain.
Lr Lr
Assuming the actual rotor resistance is changing very slowly
d
Rr ≈ 0 (3.40)
dt
d ˆ
eRr = K~ir T ~eλr (3.41)
dt
To prove the stability and convergence of our rotor resistance estimator, we will
use the Lyapunov stability criterion and Barbalat’s lemma. For a given K > 0, we
choose the following Lyapunov function candidate:
d T d d
V̇ = K ~e ~eλr + ~eλrT ~eλr + 2eRr eRr (3.43)
dt λr dt dt
T
Rr eRr ~ˆ eRr M ~
V̇ = K − I + ωre J ~eλr − λr + is ~eλr · · ·
Lr Lr Lr
Rr eRr ~ˆ eRr M ~ ˆ
T
+K~eλr − I + ωre J ~eλr − λr + is + 2KeRr~ir T ~eλr
Lr Lr Lr
Rr −1 ~ˆ T M ~ T ˆ
2
= 2K − ||~eλr || + λ + is ~eλr eRr + ~ir ~eλr eRr T
Lr Lr r Lr
Rr ˆ ˆ
= 2K − ||~eλr || − ~ir ~eλr eRr + ~ir ~eλr eRr
2 T T
(3.44)
Lr
42
Rr
V̇ = −2K ||~eλr ||2 (3.45)
Lr
Therefore, we may acknowledge at this point that our estimator is stable in the
sense of Lyapunov, given this negative semidefinite result. We desire however,
to prove that our estimator is asymptotically stable and therefore the rotor flux
linkage and rotor resistance errors will converge to zero. To do this, we will use
Barbalat’s lemma as given in Applied Nonlinear Control by J.-J. E. Slotine [5].
As it applies to our problem, we will show that our Lyapunov function, V , which
is differentiable and has a finite limit as t → ∞, has a first derivative, V̇ , which
is uniformly continuous and so V̇ → 0 as t → ∞. To show that V̇ is uniformly
continuous, we will prove that its derivative, V̈ , is bounded. The second derivative
of our Lyapunov function with respect to time can be computed as follows:
Rr d T d
V̈ = −2K ~e ~eλr + ~eλrT
~eλr
Lr dt λr dt
Rr Rr ˆ
= −4K − ||~eλr || − eRr~ir ~eλr
2 T
Lr Lr
2
Rr Rr ˆ
= 4K ||~eλr ||2 + 4K eRr~ir T ~eλr (3.46)
Lr Lr
• V ∈ L∞ since V̇ ≤ 0
ˆ
• Therefore ~eλr ∈ L∞ and eRr ∈ L∞ ⇒ ~ir T ∈ L∞
While we have shown that the estimator is stable in the sense of Lyapunov and
that the rotor flux linkage error will go to zero as time goes to infinity, we have
yet to show that the rotor resistance error will converge to zero as well. To show
this, we will use a quasi-steady-state analysis.
For this analysis to be valid, we much choose the adaptive estimator gain, K,
such that the rotor resistance error dynamics are much slower than the electrical
dynamics in the expression (3.41). It should also be noted that we have shown
that the rotor flux linkage estimators are stable in previous sections. Therefore we
can rewrite the rotor resistance error dynamics assuming the electrical dynamics
are in steady state:
d ˆT ~
h
ˆ
i
ˆ ~
~
eRr = K Ir Λr − Λr = K I~r T Λ
~ r (3.47)
dt
where
ˆ M Ωse T̂r h i
I~r is = − 2 Ωse T̂r I + J I~s s
i
(3.48)
Lr
1 + Ωse T̂r
~ r = Lr I~r + M I~s
is is is 1 Ωse Tr ~ is
Λ =M 2I − 2 J Is (3.49)
1 + (Ωse Tr ) 1 + (Ωse Tr )
We have used expressions written in the stator current reference frame, denoted
by the superscript is , to obtain a result which describes the estimator’s dependency
on the slip frequency. The use of this reference frame will not affect the final
results however, as the final expression will depend on the magnitude of rotor flux
linkage, which is the same for all reference frames. Substituting (3.48) and (3.49)
44
h i
2
d M 2Ω T̂
se r T̂r − Tr 2
eRr = −K h ih Is
i ~ (3.50)
dt Lr 1 + Ω T̂ 2 1 + Ω T 2
se r se r
where 2
2 λr 2 λr 2
2 ~
Λ r
Is = Isd + Isq = 1 + Ωse Tr
~ (3.51)
M2
Lr
Noting that T̂r − Tr = eRr and substituting (3.51) into (3.50), we obtain the
R̂r Rr
desired expression:
2
Ωse Lr
d Lr Rr − eRr 2
eRr = −K Λr eRr
2 ~ (3.52)
dt Rr
Ωse Lr
1+
Rr − eRr
2
Ωse Lr
Lr Rr − eRr 2 2
V̇ = −2K Λr eRr
2 ~ (3.54)
Rr
Ωse Lr
1+
Rr − eRr
Λr > 0. Inspection of (3.54) reveals that V̇ < 0 for all values of eRr 6= 0
where ~
45
and Ωse 6= 0, and so we may conclude that the rotor resistance estimator’s error
dynamics are asymptotically stable under these conditions. Since a method for
turning the adaptation off at low slip frequencies will be proposed in Chapter 5,
the restriction on Ωse is not a concern.
Simulations were performed to verify the stability and performance of our con-
troller using the parameters in Table 3.2. To keep simulation times reasonable, we
neglected the inverter in our simulations and instead directly supplied the ideal
sinusoidal command voltages to the induction machine model. Additionally, we
used simulink’s continuous time integrators and transfer functions to implement
our controller. The simulink block diagrams have been provided in Figures 3.9-
3.15. To better match the laboratory testing conditions the simulation results
[Figure 3.8] provided are for a fixed rotor velocity of 1200 RPM.
4
τ3ph
2
τ [N-m]
τcmd
0
τload
-2
0 1 2 3 4 5 6 7 8 9 10
2
Rr [Ohms]
1 True Rr
Estimated Rr
0
0 1 2 3 4 5 6 7 8 9 10
0.4
||Λr|| [V-s]
0.2 ||Λr||cmd
||Λr||
0
0 1 2 3 4 5 6 7 8 9 10
200
vs [V]
-200
0 1 2 3 4 5 6 7 8 9 10
10
is [A]
-10
0 1 2 3 4 5 6 7 8 9 10
Time [Seconds]
1
cos (theta _lambda _r)
Math Divide
Function 2 1e-10
1 I_sd
lambda _rd_hat 2
i_sd lambda _rd u Constant
3 w_re
3
w_re sqrt || lambda _r ||
2 i_sq Add 3
lambda _rq_hat 2 Add 2 Math
i_sq lambda _rq u
Function 1
Rr
Math
Current Based Est Function
Divide 1
2
sin (theta _lambda _r)
M1
1/Lr
Add 7 1/Lr1
1/Lr i_r_hat
M Ka
Add 6 1/Lr
1
M -Ka Rr_hat
s
i_sd Dot Product Integrator 2 To Workspace
lambda _rd
i_sq Add 4
e_lambda _r
4 v _a
v_a lambda _rq
5 v _b Add 5
v_b
Voltage Based Est
Figure 3.9. Simulink block diagram of resistance estimator and reference frame calcu-
lator.
1 M
i_sd
Rs Ls M 1
Rs Ls
Add lambda_rd
Lr/M
s Add1
3 a d s2+2*zeta*wns+wn^2 Lr/M
v_a Add2 Int Approx
4 b q
v_b
Mod. Clark Trans.
2 M
i_sq
Rs Ls M1 2
Rs1 Ls1
Add3 lambda_rq
Lr/M
s Add4
s2+2*zeta*wns+wn^2 Lr/M1
Add5 Int Approx 1
Figure 3.10. Simulink block diagram of voltage-based rotor flux linkage estimator.
48
1/Lr2
1/Lr
Product5
1
s 1
Product lambda_rd_hat
Integrator
Add
Product2
1 M/Lr
i_sd
M/Lr1
4
Rr_hat 1/Lr
Product4 1/Lr3
3
w_re
1
2
s
Product1 lambda_rq_hat
Add1 Integrator1
Product3
2 M/Lr
i_sq
M/Lr
Figure 3.11. Simulink block diagram of current-based rotor flux linkage estimator.
qr i_b
b v _b
1/((3*P/4)*(M/Lr)) in out
refd i_c
Divide
PI3 q q
Torque Conv c v _c
1 Tem_c refq
w_r
t_em To Workspace1
Load_Torque theta _r
Step
IM_3ph_Model
d d a
dr
q q b
refd i_sd
cos (theta _lambda _r)
qr i_sq
P/2
refq
sin (theta _lambda _r) w_re P/2
v _a
|| lambda _r ||
v _b
Rotor Flux -Linkage Est and
Adaptive Rotor Resistance Est
1 1 1 1
a d d a
sqrt(3)/3 1/2 2
b
2 1/2
sqrt(3)/3 3
q c
2 2*sqrt(3)/3
b 2 sqrt(3)/2
q
2*sqrt(3)/3 sqrt(3)/2
Figure 3.13. Simulink block diagrams of the Modified (left) and Inverse (right) Clark
transforms.
Product3
Product 3 4
4
refq
refq
2
2
qr Product1
q Product 1
Figure 3.14. Simulink block diagrams of the Park (left) and Inverse Park (right)
transforms.
Kp 1
out
Kp
1
1 Ki
s
in
Ki Integrator
The implementation of our direct field-oriented controller and adaptive rotor resis-
tance estimator require the experimental determination of the induction machine
parameters along with an accurate measurement of the dead time. This chapter
will present the experimental methods used to determine these parameters. Specif-
ically, an induction machine parameter estimation technique based on least-squares
will be presented along with the resulting parameters. Additionally, the details re-
garding the implementation of our controller using dSpace will be presented along
with experimental results.
are computed based on two data points and are therefore more prone to experi-
mental error. Additionally, the locked rotor test cannot be performed at nominal
flux-levels due to current limitations, and so the results do not reflect a normal
operating condition. The technique we have used in our work uses multiple data
points at a constant nominal flux level to determine values from which the specific
machine parameters can be computed.
The parameter estimation technique we used is based on the stator current lo-
cus in the stator flux linkage reference frame [Figure 4.1]. When the direct and
quadrature currents are plotted as a function of the slip frequency in this refer-
M2 ~
ence frame, they trace out a circle which has a radius r = 2 ||Λ s || and center
2σ Ls
1 1 Lr ~ s ||.
xo = + 2 ||Λ
2 Ls σ
¸s
Isq Ðse
I~s ¸s
jj~¤sjj r Lr ~
Ls ¾ 2 jj¤sjj
¸s
Ðse = 0 xo Ðse = §1 Isd
Figure 4.1. Stator current locus as a function of slip frequency in the stator flux linkage
reference frame.
52
Our technique fits experimental data to this circle using a recursive algorithm
created by Dr. Heath Hofmann. The algorithm, which was implemented in Matlab,
approaches the problem by starting with a range of guesses for the location of the
center of current locus, x̄o . The algorithm then uses a loop to compute the least-
squares estimation of the square of the radius, r̄2 (i), for each guess, x̄o (i). The
norm-squared error, e(i), is then computed for each guess, from which the guess
yielding the smallest error, x̄o (imin ), is chosen as the best estimate for the center
of the locus, x̂o , along with the corresponding radius, r̂ = sqrt(r̄2 (imin )).
λs λs
1: Algorithm Parameter Estimation(Isd ,Isq ,x̄o,min ,x̄o,max ,N ):
Once the best estimates of the center location, x̂o , and radius, r̂, have been
determined, the stator inductance can be computed:
~ s ||
||Λ
L̂s = (4.1)
x̂o − r̂
Next, we make the standard assumption that the stator and rotor inductances are
the same (i.e. L̂s = L̂r ) [4] and compute the leakage term:
~ s ||
L̂r L̂s ||Λ
σ̂ 2 = (4.2)
2L̂s x̂o − ||Λ~ s ||
53
q
M̂ = L̂s L̂r − σ̂ 2 (4.3)
To estimate an expected value for the rotor resistance, we will again use least-
squares:
−1
x̂ = DT D DT y (4.4)
where D and y are m × 1 column vectors whose j th elements are given by:
!
~ s ||j
||Λ
λs
Dj = Isd j
− (4.5)
L̂s
!
~ s ||j M̂ 2
||Λ ~ s ||j
||Λ λs
yj = 2
Ωsej + Ωsej − Isd Ωsej Ωsej (4.6)
L̂s σ̂ L̂s j
σ̂ 2 √
R̂r = x̂ (4.7)
L̂s
r r
a
b a
b
BUS
Gate Gate
Drive Drive
Signals Signals
User User
Inputs Inputs
Before we could record the data needed to estimate the 1.5 Hp test machine’s
parameters, we first needed to measure the stator winding resistance, using a dig-
ital multimeter, and the dead time. These parameters were needed to implement
the voltage-based stator flux estimator, which was used to adjust the voltage lev-
55
els such that a constant stator flux linkage magnitude of 0.2 V-s was maintained.
The procedure used to measure the dead time is outlined in the following section,
and the Simulink block diagram used to generate the code for the dSpace micro-
controller has been provided in Figure 4.3. It should be noted that the safety
shutdown controllers have been cut out of the figure to save space. f() Host Service #1
<ServiceName>
Trigger
Data Capture
1
Va
a v_sa
2*pi*60 Electrical Frequency vsd d D_a Duty cycle a
we 2
Vb
b v_sb
necessary data. The electrical frequency was fixed at 60 Hz and the dyne was Overvoltage Shutdown
used to vary the rotor speed, which varied the slip frequency, from 1800 RPM
a d
i_sd
I_sd
Iq Peak Stator Current
Overcurrent Shutdown
b q
i_sq
down to 1720 RPM, in 10 RPM increments. As mentioned previously, the voltage
ab-dq
Conversion
magnitude was adjusted to maintain a stator flux linkage magnitude of 0.2 V-s.
The two-phase equivalent stator currents in the stator flux linkage reference frame
were recorded for each rotor speed. This data was then entered into our recursive
algorithm to obtain the test machine parameters in Table 4.2. A plot comparing
the experimental data to the fitted circle has also be provided along with the
normalized error [Figure 4.4].
56
6 0.07
Fitted Circle
Experimental Data
4 0.06
2 0.05
||e||
λs
Isq
0 0.04
e
−2 0.03
−4 0.02
−6 0.01
0 5 10 5 6 7 8
λs
Isd x̄o
Figure 4.4. Comparison of experimental data and fitted stator current locus (left) with
normalized error (right).
As mentioned earlier, the IGBTs in the three-phase inverter are switched ON and
OFF by what are referred to as gate drives. These gate drives have a built in dead
time, td , to protect the IGBTs which they are connected to, and while maximum
and minimum dead times are specified in the manufacturer’s data sheet, the range
was too wide, and a more exact value was needed.
To measure this dead time we connected a resistor and inductor in series with
57
a single phase of the inverter [Figure 4.5]. We then commanded a constant 20%
duty cycle at a switching frequency of 10 kHz in dSpace and observed the output
voltage, Vo , on an oscilloscope using a Tektronix High-Voltage probe [Figue 4.6].
Using the oscilloscope, we measured the pulse width of the voltage waveform and
subtracted it from the ideal pulse width of 20 µs to get a dead time of 3.88 µs.
D high
vge, high
BUS
74.7 Ω
o
D low
vge, low 408.7 mH
To test the performance of our controller, we used the same motor-generator config-
uration [Figure 4.2] that was used to collect data for estimating the machine param-
eters. In our experiments, VBU S , was generated by rectifying a 208 VRM S three-
phase power supply using a diode bridge (not pictured). The variable-frequency
AC voltage used to drive the induction machine was generated from the DC bus
voltage using an IGBT bridge [Figure 4.7] and Conventional Pulse-Width Modu-
lation (CPWM). Our control algorithm uses measurements of the stator currents
(ia and ib ), provided by Hall-Effect sensors, and a measurement of the DC bus
voltage, along with torque and rotor-flux commands, to generate the appropriate
duty cycles (Da+ . . . Dc− ), which turn the IGBTs ON and OFF, using the CPWM
technique.
Da+ D b+ Dc+
BUS a b c
4.3.1 Implementation
As mentioned earlier, our control algorithm was implemented using dSpace, which
is the name of the German company who produces a Rapid Control Prototyping
59
A key feature of the dSpace package is the ability to program the controller
board by converting a Simulink block diagram to C-code, which is then loaded
onto the DS1104 controller board. This allowed us to copy our simulation block
diagram [Figure 3.12] for the control algorithm into the triggered subsystem [Figure
4.9]. We then entered all of the machine and controller parameters into the various
blocks, replaced the continuous-time integrators with discrete-time versions, and
replaced the continuous-time flux linkage estimators with our trapezoidal versions.
60
Host Service #1
f()
<ServiceName>
Trigger
Data Capture
0.01
|| lambda_r ||* ||lambda_r||* v_sa
v_a D_a Duty cycle a
0 t_3ph*
t_3ph* i_a
i_b v_b v_sb
V_bus
theta_r Int_Reset D_b Duty cycle b
v_c
w_r v_sc
DFOC w/ Adaptive Rr Est.
omega_r
D_c Duty cycle c
Encoder V_bus
Interface
Duty Cycle Generator
0
Int_Reset Reset
PWM Stop PWM Stop
0 STOP
STOP STOP Shutdown
DS1104SL_DSP_PWM3
0 Reset
Reset PWM Stop
w_r
Overspeed Shutdown OR double
Reset Data Type Conv
PWM Stop
V_bus Vbus Logical
Overvoltage Shutdown Operator
i_sa a d Reset
i_sd
I_sd PWM Stop
Iq
i_sb b q Overcurrent Shutdown
i_sq
Current
Measurements
Figure 4.9. Simulink block diagram of controller implementation for dSpace code gen-
eration.
The use of a triggered subsystem gives us the ability to execute our control
algorithm in synchronism with the switching period of the power electronics. This
was done by using the PWM interrupt signal from the DS1104 controller board to
trigger our control algorithm, which was running in the subsystem, between switch-
ing transitions. This ensures that the dSpace control board does not sample during
a high-voltage transient which can generate a significant amount electromagnetic
interference (EMI).
The duty cycle commands sent out to the dSpace controller board were calcu-
61
1 hvxn (t)i
Dx (t) = + , (4.8)
2 VBU S
where hvxn (t)i is the desired line-to-neutral voltage computed by our control algo-
rithm. While angular brackets indicate that the command voltage is an average
value, sinusoidal voltages can be commanded as long as there is a sufficient sepa-
ration between the switching frequency, fs , and the frequency of the commanded
fs
AC voltage ,fxv . The general “rule of thumb” is that ≥ 20 [1]. The Simulink
fxv
block diagram for this computation has been provided in Figure 4.10.
1
v_sa 1
Product1 D_a
0.5
0.5
2
v_sb 2
Product2 D_b
3
v_sc 3
Product3 D_c
4
V_bus
Coef Calc
1+2zd+d^2
1+2zd-d^2
1-2zd-d^2
wn^2Ts
Product 1
Ts/2
Gain 2 Product 2
1
1
z lambda _s_k
Divide
1 Delay
Subtract
1 (Ts^2)/2 z
e_k Divide 1 Product
Delay 1
Subtract 1
Gain 1
Ts
Gain
Figure 4.11. Simulink block diagram of second order integrator approximation for the
voltage-based estimator.
3
1-2zd-d^2
Add2
zeta
2
zeta 1+2zd-d^2
2
u Add1
Junk
wn Ts/2 d
1
1+2zd+d^2
wn 1
Gain 2 Product Add
Constant1 Constant
2
u Ts 4
wn^2Ts
Junk1
Gain1
Figure 4.12. Simulink block diagram of coefficient calculation for the second order
integrator approximation.
Gain 2
1
1 2 1
z lambda _rd
I_sd Divide
Add Delay
Product
Product 1 Product 3
Product 6
2
w_re
w_re[k] w_re[k] w_re[k]
a[k] w_re[k] b[k] Rr c[k] d[k] e[k]
Rr Rr Rr
a[k] calc b[k] calc c[k] calc d[k] calc e[k] calc
4
Rr
Product 2 Product 4
Product 7
1
2
z lambda _rq
Divide 1
Delay 1
3 2 Add1
i_sq Product 5
Gain 1
2
1 Ts u
w_re[k]
Gain1 Math 1 4*Ts 1
Function1 1
a[k] w_re[k] b[k]
Add Gain1
2 Ts/Lr 4-u[1]^2
Rr
Fcn2
Gain2
Figure 4.14. Simulink block diagrams of the current-based estimator coefficients a[k]
(left) and b[k] (right).
1
Ts/Lr 2+u[1] w_re[k]
Fcn2 1
Gain d[k]
2 Ts*Ts*M/Lr Product1
1 Rr
Product1 c[k]
1 Ts*M/Lr
Rr Gain1
Gain1
Figure 4.15. Simulink block diagrams of the current-based estimator coefficients c[k]
(left) and d[k] (right).
2
1 Ts u
w_re[k]
Gain1 Math
Function 1
Add e[k]
2 Ts/Lr (2+u[1])^2
Rr
Fcn
Gain
Figure 4.16. Simulink block diagram of the current-based estimator coefficient e[k].
64
The experimental results presented in this section were obtained using the machine
parameters, hardware, and controller described in prior sections of this thesis. Fig-
ure 4.17 shows the experimental transient response of our adaptive rotor resistance
estimator for initial values of 1.5 ohms (top) and 0.5 ohms (bottom). These re-
sponses were taken at a fixed rotor velocity of 1200 RPM and with the following
controller specifications: Flux Regulator Gains:(Kp = 10, Ki = 100), Current Reg-
ulator Gains:(Kp = 20, Ki = 200), Ka = 20, ζ = 0.2, ωn = 5 rad/sec. It should
also be noted that sampling frequency of our experimental controller is always the
same as the switching frequency, fs = 10 kHz.
2
Estimated Rr
1.5
Rr [Ohms]
Expected R
r
1
Adaptation ON
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4
1.5
Rr [Ohms]
Adaptation ON
1
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Time [Seconds]
Figure 4.17. Adaptive estimator experimental transient responses.
65
To test the torque response capabilities of our controller, we adjusted the reg-
ulator gains to achieve a very fast transient response. The following controller
specifications were used: Flux Regulator Gains:(Kp = 25, Ki = 2000), Current
Regulator Gains:(Kp = 30, Ki = 4000), Ka = 20, ζ = 0.2, ωn = 5 rad/sec. The
resulting plots for a 2 N-m torque step at a rotor velocity of 1200 RPM, have been
provided in Figure 4.18.
The top plot compares the calculated torque response (computed using equation
3.1) with the step command value (indicated by the subscript cmd ). The next
plot compares the estimated rotor resistance with the expected value obtained
from our parameter estimation experiments; inspection of which reveals that our
resistance estimator remains stable under torque transients. We will see in the
following chapter however, that the steady state value of this resistance estimation
is significantly affected by rotor velocity as well as the slip frequency.
The next plot compares the estimated rotor flux linkage magnitude, as com-
puted by the current-based flux estimator, with the commanded value. Inspection
of this plot reveals that flux regulator is not affected by torque transients. Thus,
the desired decoupling between flux and torque regulation was achieved. The re-
maining plots show the commanded stator voltages (the actual stator voltages were
not measured) and the measured stator currents. The smooth sinusoidal nature
of these currents is an indicator that our torque regulating direct field-oriented
controller is working well.
66
4
τ [N-m]
2 τ3ph
τcmd
0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
1.5
Rr [Ohms]
1
Estimated Rr
0.5
Expected Rr
0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
0.4
||Λr|| [V-s]
0.2 ||Λr||est
||Λr||cmd
0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
200
vcmd [Volts]
-200
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
10
is [Amps]
-10
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
Time [Seconds]
In order to verify that the adaptive rotor resistance estimator was working cor-
rectly, we compared “true” and estimated torque responses, which were computed
using the following methods. The estimated torque response was computed using
the equation from Chapter 3:
3P M
τ3ph = (λrd isq − λrq isd ) (4.9)
4 Lr
where λrd and λrq were provided by the current-based estimator. The “true” torque
response was computed using the following equation:
3P
τ3ph = (λsd isq − λsq isd ) (4.10)
4
where λsd and λsq were provided by the voltage-based estimator. This computation
was taken as “truth” because it does not depend on the rotor resistance. In
practice, the estimation of the stator flux linkage using the voltage-based flux
estimator is very reliable provided the electrical frequency is sufficiently high.
The estimated torque response (referred to as the “Rotor-Based Torque”) and
the true torque response (referred to as the “Stator-Based Torque”) were captured
at a fixed rotor velocity of 1200 RPM, and at a rotor flux linkage magnitude of
0.3 V-s. The adaptation was turned off during this test (i.e. Ka = 0), so that
the rotor resistance used by the current-based estimator could be fixed at values
of 1.5 ohms and 0.5 ohms. Finally, the adaptation was turned on long enough to
tune the rotor resistance value before being turned off for the final comparison.
The resulting plots for the mismatched and tuned resistances have been provided
in Figure 4.19.
68
R̂r = 1.5
4
3
τ [N−m]
0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
R̂r = 0.5
4
3
τ [N−m]
0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
R̂r = 1.04 (Adaptation Tuned)
4
3
τ [N−m]
2
Rotor−Based Torque
1 Stator−Based Torque
Torque Command
0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
Time [Seconds]
Figure 4.19. Comparison of torque steps for mismatched and tuned rotor resistances.
Inspection of the torque steps in Figure 4.19 reveals that our rotor resistance
estimator is meeting our objective. When the estimated rotor resistance, R̂r , is
fixed at incorrect values of 1.5 ohms and 0.5 ohms, the mismatch results in a large
steady-state error in the regulated torque (top two plots). When our adaptive
estimator is allowed to tune the rotor resistance, the regulated (rotor-based) torque
matches the “true” (stator-based) torque very well (bottom plot).
Chapter 5
Discussion and Future Work
This chapter will discuss the limitations of our controller and present experimental
data pertaining to these limitations. Additionally, recommendations for further
research will be made. The first section will discuss the limiting factors as related
to the rotor resistance estimator’s performance at various operating points, as well
as the rotor flux linkage estimator’s performance over a range of frequencies. The
final section will propose acceptable operating points, based on the observed data,
for tuning the rotor resistance estimation as well as considerations for improving
the performance of the estimator.
Limiting factors have been discussed throughout this thesis. In this section we
will present experimental data which verifies these limitations. The limitations
regarding the accuracy of our rotor resistance estimator will be presented first,
followed by data indicating the frequency limitations of our rotor flux linkage
estimators.
70
While testing our rotor resistance estimator, it became apparent that the resistance
estimation had a dependency on the operating point of the induction machine as
defined by the rotor speed and slip frequency [Figure 5.1]. Inspection of this plot
reveals some interesting trends. The estimated resistance increases with rotor
velocity; this could potentially be attributed to core losses, which tend to increase
with frequency.
1.5
1
Est. Rr [Ohms]
Ωr = 200 RPM
0.5 Ωr = 600 RPM
Ωr = 1000 RPM
Ωr = 1400 RPM
Ωr = 1800 RPM
Expected Rr
0
2 3 4 5 6 7 8 9 10 11 12
Ωse [Rad/Sec]
!
~λT ~λr,i
r,v
|eφ | = φvi = cos−1 (5.2)
||~λr,v || ||~λr,i ||
where the subscript v indicates the value is obtained from the voltage-based es-
timator, and a subscript i indicates the value is obtained from the current-based
estimator. It should be noted that the estimator parameters used in this test were
the same as those used in the experimental verification. The resulting plots have
been provided in Figure 5.2.
Inspection of the rotor flux linkage magnitude difference, e||Λr || , reveals that the
voltage and current-based estimators are in relatively good agreement, particularly
72
above 1000 RPM. This trend was expected as the dead-time effect becomes less
significant at high speeds due to the increase in stator voltage magnitude, and so
the voltage-based estimator becomes more accurate as the rotor velocity increases.
The phase difference, |eφ |, between the voltage and current-based estimators is
particularly interesting. While it tends to reach a minimum around 600 RPM, it
begins to increase again as the rotor velocity increases. While it is not clear at this
time what mechanism is the cause of this trend, we suspect it could be the result
our discrete-time implementation of the flux linkage estimators. Unmodeled time
delays inherent to the DSP implementation could be contributing to the additional
phase shifts.
0.06
Ω = 2 Rad/Sec
se
Ω = 4 Rad/Sec
se
0.04 Ω = 6 Rad/Sec
se
e||Λr|| [V-s]
Ωse = 8 Rad/Sec
Ω = 10 Rad/Sec
se
0.02 Ωse = 12 Rad/Sec
0 200 400 600 800 1000 1200 1400 1600 1800 2000
0.08
0.06
|eφ| [Radians]
0.04
0.02
0
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Rotor Speed [RPM]
Figure 5.2. Open-loop characterization of agreement between the voltage and current-
based rotor flux linkage estimators.
73
This thesis has presented a unique adaptive rotor resistance estimator in addition
to rotor flux linkage estimators which yield improved performance over an impres-
sive speed range. Both the resistance and flux linkage estimators were subjected
to a thorough analysis and experimental evaluation of their performance at vari-
ous operating points. The resulting direct field-oriented controller, utilizing these
estimators, has provided an acceptable level of performance over a wide range of
these operating points. However, changes which remain to be investigated and
implemented, will likely improve the controller’s performance even further. One
such improvement is the incorporation of magnetic saturation into the induction
machine model.
s ls lr r
s r
s s r re r
While there are a variety of techniques which may be used to model magnetic
saturation in an induction machine, the proposed method incorporates the satu-
ration effect by making the mutual inductance a nonlinear function of the air-gap
flux linkage magnitude [Figure 5.3]. This nonlinearity may be determined experi-
mentally and then implemented using either a look-up table, or computed using a
formula which has been fitted to the experimental data.
74
Due to time constraints, a method for turning the rotor resistance adaptation
on and off, was not tested. Based on the experimental transient responses [Figure
4.17], a technique which would simply switch the adaptive control gain between
a value of 0 (off) and an acceptable value Ka > 0 (on), could be used without
degrading the stability of the system. A better method, however, would be to use
a weighting function to gradually adjust the adaptive gain. Both methods would a
calculation of the electromagnetic torque, and a measurement of the rotor velocity
to determine when the rotor resistance can be estimated accurately. It should be
noted that torque has been suggested in place of slip frequency because it is more
readily available. Based on the current performance, the acceptable operation
points would likely be when the rotor speed is between 600 and 1000 RPM, and
when the slip frequency is between 4 and 12 radians per second [Figure 5.1].
3ph r
a τ3ph r
s
a
re
Figure 5.4. Block diagram of the proposed method for turning the resistance estimator
ON and OFF.
75
Additional suggestions for future work include improving the method used to
compensate for the dead-time effect, as well as exploring the feasibility of using
filtered stator voltage measurements in the control algorithm. Also, improving
the control design by attempting to model any additional time delays which have
been overlooked or neglected, may yield improved performance as well. Finally,
improvements to the induction machine model such as incorporating core loss in
addition to magnetic saturation may prove worthwhile.
Bibliography
[2] B. K. Bose. Modern Power Electronics and AC Drives. Prentice Hall PTR,
New Jersey, 2002.
[5] J.-J. E. Slotine, W. Li. Applied Nonlinear Control. Prentice Hall, New Jersey,
1991.
[6] H. K. Khalil. Nonlinear Systems. 3rd ed., Prentice Hall, New Jersey, 2002.
[8] C.-T. Chen. Linear System Theory and Design. Holt, Rinehart, and Winston,
New York, 1984.
[9] C. L. Phillips, H. T. Nagle. Digital Control System Analysis and Design. 3rd
ed., Prentice Hall, New Jersey, 1995.
[10] K. J. Astrom, B. Wittenmark. Adaptive Control. 2nd ed., Dover, New York,
2008.
[12] S. Venit, W. Bishop. Elementary Linear Algebra. 4th ed., Brooks/Cole, Cali-
fornia, 1996.
77
[20] L.-C. Zai, C. L. DeMarco, T. A. Lipo. “An Extended Kalman Filter Approach
to Rotor Time Constant Measurement in PWM Induction Motor Drives,”
IEEE Transactions on Industry Applications, vol. 28, no. 1, January/February
1992.
[22] Y. Koubaa and M. Boussak. “Rotor Resistance Tuning for Indirect Stator
Flux Oriented Induction Motor Drive Based on MRAS Scheme,” European
Transactions on Electrical Power, vol. 15, 2005.
[24] H.-J. Shieh, K.-K. Shyu, F.-J. Lin. “Adaptive Estimation of Rotor Time Con-
stant for Indirect Field-Oriented Induction Motor Drive,” IEE Proceedings-
Electric Power Applications, vol. 145, no. 2, March 1998.