induction motor control for hybrid electric …techniques. since these techniques require the...
TRANSCRIPT
ElectronicsMechanics
Computers
The Ohio State University Mechatronic Systems Program
INDUCTION MOTOR CONTROL FOR HYBRID ELECTRIC
VEHICLE APPLICATIONS
Amuliu Bogdan Proca [email protected]
Ali Keyhani
Keyhani.1@osu .edu
Mechatronics Laboratory Department of Electrical Engineering
The Ohio State University Columbus, Ohio 43210
2
TABLE OF CONTENTS
Page
1 Introduction ............................................................................................................................. 8
1.1 Induction Motor control for Hybrid Electric Vehicle applications ................................. 8
1.2 Research Objectives and Organization ......................................................................... 11
2 Literature review ................................................................................................................... 14
2.1 Model Identification...................................................................................................... 14
2.2 Parameter Estimation .................................................................................................... 17
2.3 Field oriented control .................................................................................................... 25
2.4 Sensorless control of induction motors ......................................................................... 27
3 Modeling and Parameter Estimation..................................................................................... 31
3.1 Model Identification...................................................................................................... 32
3.2 Parameter estimation ..................................................................................................... 34
3.2.1 Estimation of stator resistance............................................................................... 34
3.2.2 Estimation of Ll, Lm and Rr.................................................................................... 36
3.3 Sensitivity Analysis....................................................................................................... 39
3.4 Parameter mapping to operating conditions.................................................................. 43
3.4.1 Magnetizing inductance, Lm .................................................................................. 45
3.4.2 Leakage inductance, Ll .......................................................................................... 46
3.4.3 Rotor resistance, Rr ............................................................................................... 46
3.5 Core loss estimation ...................................................................................................... 51
3.5.1 Calculation of rotor losses at frequencies of interest ............................................ 51
3.5.2 Calculation of friction and windage losses using ANN ........................................ 52
3
3.5.3 Calculation of core losses...................................................................................... 56
3.5.4 Calculation of core resistance ............................................................................... 56
3.6 Alternative parameter estimation method ..................................................................... 57
3.6.1 Tests description.................................................................................................... 58
3.6.2 Parameter dependencies to operating conditions .................................................. 58
3.6.3 Estimation of Ll, Lm,Rr ........................................................................................... 59
3.7 Model Validation........................................................................................................... 62
3.7.1 Steady state- power input ...................................................................................... 62
3.7.2 Dynamic ................................................................................................................ 63
3.8 Summary ....................................................................................................................... 67
4 Sliding mode flux observer with online rotor parameter estimation..................................... 68
4.1 Effect of variation of rotor resistance on field orientation ............................................ 69
4.2 Sliding Mode Observer Design ..................................................................................... 71
4.3 Simulation Results......................................................................................................... 76
4.3.1 Convergence of the observer................................................................................. 76
4.3.2 Robustness to parameter variation ........................................................................ 81
4.4 Experimental Results..................................................................................................... 85
4.4.1 Observer convergence ........................................................................................... 85
4.4.2 Load Step............................................................................................................... 90
4.4.3 Tracking of a variable reference............................................................................ 92
4.5 Summary ....................................................................................................................... 94
5 Indirect field oriented Control algorithm .............................................................................. 95
5.1 Classical Field Oriented Control ................................................................................... 96
5.1.1 Outer loop.............................................................................................................. 98
5.1.2 Inner loop ............................................................................................................ 100
5.1.3 Flux and reference frame observer...................................................................... 101
5.1.4 Simulation Results............................................................................................... 102
5.2 Continuous time sliding mode control ........................................................................ 104
5.2.1 Simulation Results............................................................................................... 106
5.3 Discrete time sliding mode control ............................................................................. 112
4
5.3.1 Discrete time flux controller ............................................................................... 113
5.3.2 Simulation Results............................................................................................... 114
5.4 Experimental results.................................................................................................... 118
5.5 Summary ..................................................................................................................... 127
6 Adaptive sliding mode observer.......................................................................................... 128
6.1 Application conditions ................................................................................................ 128
6.2 Adaptive sliding mode observer.................................................................................. 129
6.2.1 Speed gain adaptation.......................................................................................... 132
6.2.2 Recursive offset cancellation .............................................................................. 134
6.2.3 Speed-flux estimation analysis............................................................................ 135
6.2.4 Analysis of flux – speed observation (integration errors) ................................... 136
6.2.5 Robustness to parameter uncertainty analysis..................................................... 140
6.2.6 Alternative speed estimation at very low speed .................................................. 142
6.3 Overall Control Diagram............................................................................................. 145
6.4 Simulations.................................................................................................................. 145
6.4.1 Operation at different speed ranges (except very low) ....................................... 146
6.4.2 Operation at very low speed................................................................................ 148
6.5 Experimental Results................................................................................................... 150
6.5.1 Flux-speed convergence...................................................................................... 150
6.5.2 Influence of parameter variation on speed estimation ........................................ 151
6.5.3 Operation at different speed ranges (except very low) ....................................... 158
6.5.4 Operation at very low speed................................................................................ 160
6.6 Summary ..................................................................................................................... 163
7 Intelligent sensorless control for low speed operation ........................................................ 164
7.1 Error analysis for sliding mode speed estimator ......................................................... 165
7.1.1 Sources of errors.................................................................................................. 165
7.1.2 Error compensation ............................................................................................. 169
7.2 Development of a fuzzy controller.............................................................................. 174
7.2.1 Fuzzification........................................................................................................ 176
7.2.2 Rule-base............................................................................................................. 179
5
7.2.3 Inference mechanism........................................................................................... 179
7.2.4 Defuzzification .................................................................................................... 181
7.3 Simulations.................................................................................................................. 183
7.4 Experimental results.................................................................................................... 191
7.5 Summary ..................................................................................................................... 197
8 Conclusions and Future Work............................................................................................. 198
8.1 Conclusions ................................................................................................................. 198
8.2 Future Work ................................................................................................................ 201
Bibliography................................................................................................................................ 203
Appendix A Experimental Setup............................................................................................. 210
Appendix B Modeling Simulations......................................................................................... 212
Appendix C Rotor Resistance Observer Simulations ............................................................. 227
Appendix D Field Oriented Control Simulations.................................................................... 237
Appendix E Sliding Mode Speed Observer Simulations ........................................................ 247
Appendix F Inteligent Control Simulations ............................................................................ 255
6
NOMENCLATURE
qsds vv , : stator voltage in stationary reference frame
eqs
eds vv , : stator voltage in synchronous reference frame
qsds ii , : currents in stationary reference frame
eqs
eds ii , : currents in synchronous reference frame
22 eqs
edss iiI += : stator current amplitude
qrdr λλ , : rotor fluxes in stationary reference frame
rλ : rotor flux in synchronous reference frame
re ωω , : synchronous and mechanical frequency (rad/s).
ess ωω /= : slip
sω : slip frequency (rotor current frequency)
lL , Lm: magnetizing and leakage inductance
mls LLL += : stator inductance
rs RR , : stator, rotor resistance
J : inertia of the rotor
7
m
r
R LR
T=≡ 1η : inverse of the rotor time constant
s
mLL−≡ 1σ : leakage coefficient
lL1≡β : inverse of leakage inductance
l
rsL
RR +≡γ : inverse of the stator time constant
eT : electromagnetic torque ( mN ⋅ )
pn : number of poles pairs
Jnp≡µ : constant
T: stator temperature
^, *: estimated, reference values
8
CHAPTER 1
1 INTRODUCTION
1.1 Induction Motor control for Hybrid Electric Vehicle applications
Hybrid electric vehicles (HEV) have become an increasing topic of research in recent years.
Compared to traditional Internal Combustion Engine (ICE) driven automobiles, HEV’s have the
potential to consume less fuel and pollute less. Results go as high as 50 % of the fuel
consumption of a conventional vehicle of the same size [71-83].
A Hybrid Electric Vehicle (HEV) is an automobile in which the propulsion comprises both an
Internal Combustion Engine (ICE) and an Electric Motor (EM). The most common type of HEV
is the parallel type, in which both ICE and EM are directly connected to the wheels. Fig.1.1
presents a diagram of the propulsion system of a parallel HEV. The ICE is known to have good
efficiency at certain operating curves (on a speed-torque diagram) and poor efficiency in the rest.
During transients efficiency drops considerably and pollution increases.
9
Supervisory Controller (Vehicle Control Unit)+Transmission and Clutch Controller)
Engine ControlUnit
Electric Machine ControlUnit(EMC) Motor/Generator
IC Engine
Engine Timing Control Signals
PWM
Voltages and currents
Torque/Speed/ Position sensors
Power converter
DSP system
DSP system
DSP system
High voltage battery
+ -
Figure 1.1 Parallel HEV powertrain
When properly controlled, an electric motor can have far better efficiency both in transients and
at different operating conditions. Therefore, in a parallel HEV the ICE is kept at steady state and
the electric motor is responsible in supplying the difference in torque between the torque
command and the torque supplied by the ICE. In a series HEV, the entire torque is produced by
the electric motor while the ICE only drives a generator to charge the batteries and supply the
EM. The induction motor is the electric propulsion solution of choice for most HEV, since it is
relatively low cost, robust and virtually maintenance free.
In high performance applications, the induction motor is controlled through field orientation
techniques. Since these techniques require the knowledge of the motor model parameters, a
mismatch in parameters is prone to create control errors. It is therefore important to accurately
model the induction motor. The induction motor parameters vary with the operating conditions,
as is the case with all electric motors. The inductances tend to saturate at high flux levels and the
10
resistances tend to increase as an effect of heating and skin effect. There are other effects that
contribute to the parameter variation, which make the dependency between operating conditions
and parameters even more complicated. Most of previous research in motor control uses a single
set of parameters for all operating condition or uses on-line adaptive procedures for the
estimation of only one parameter, namely the rotor resistance. The present research develops a
methodology for parameter estimation that can be easily applied on site (the motor does not need
to be tested separately); also, the parameters are mapped to the operating conditions.
Furthermore, for parameters that vary as a function of unmeasurable quantities (for example, the
rotor resistance varies as function of rotor temperature) or that can modify in time due to aging,
an on-line parameter estimator is developed.
Field orientation techniques also require knowledge of the rotor speed. Since speed sensors
decrease the reliability of a drive system (and increase its price), a common trend in motor
control is to eliminate them and use a rotor speed observer to calculate the speed. However, all
known speed estimators (open loop, MRAS, Kalman filter, Sliding mode etc) depend on the
induction motor model. This work corrected this problem by developing a speed observer that
has parameters adapting to operating conditions. All known speed estimation techniques behave
poorly at low speed and loading levels. An intelligent controller is developed to correct speed
estimation at low speed.
11
1.2 Research Objectives and Organization
The objectives of this work has the following main components:
Modeling and parameter estimation as a function of operating conditions
Many methods for parameter estimation exist. Most off-site and offline methods require special
testing procedures. Furthermore, most procedures test the motor with other inputs (pure
sinusoidal, step etc) than the ones used in motor control (PWM), neglecting the effects of the
later. On-site and off-line methods (self-commissioning) methods also exist, but they are usually
limited to constant parameters or only allow for a simplified version of the variation with
operating conditions. This work uses some of the existent estimation algorithms, but improves in
the use of more realistic conditions (use the power converter to generate input signals) and
relates the parameters of the motor to operating conditions.
Development of an on-line observer for rotor resistance and rotor time constant
For parameters that vary as a function of unmeasurable quantities (e.g. rotor temperature),
mapping is hardly possible. An on-line estimation method is preferred. On-line estimation
methods also exist, but most are limited to certain operating conditions or at steady-state
conditions. A sliding mode flux observer is developed in this work. The observer simultaneously
12
estimates rotor fluxes and rotor parameters (rotor resistance and time constant) continuously and
at all operating conditions, both at steady state and in transient
Development and analysis of field oriented control algorithms
Field oriented control was implemented almost two decades ago and considerable work has been
done in the area. However, a discrete time sliding mode controller for induction motor has not
been attempted by any researcher so far. The only implementations that exist for sliding mode
controllers are for continuous time sliding mode controllers.
A field-oriented control is implemented on DSP, using measurements of input voltage and
current and speed. Three controllers are implemented and tested, both in simulation and in
experiment: a classical PI control with decoupling, a continuous time sliding mode and a discrete
time sliding mode controller. The variation of parameters with operating conditions is included
in the algorithm. Critical analysis of the three controllers is performed.
Development and analysis of a sliding mode sensorless control algorithm
Many speed sensorless control algorithms exist in research. All of these algorithms have serious
speed estimation problems at low speed and/or when the parameters of the motor vary
considerably. This work focuses on sliding mode speed observer algorithms since they are more
robust to uncertainties and have fast dynamic response. An adaptive sliding mode speed-flux
observer is developed. The observer adapts itself to the speed range and adapts its parameters as
13
a function of operating conditions. Performance over the entire speed and loading range is
analyzed.
Development and analysis of an intelligent sliding mode sensorless control algorithm
Speed estimation errors occur in all experimental setups and at any speed range. However,
except for low speed, the effect of errors can be easily neglected since their impact on overall
control is minimal. An attempt to compensate the observer errors by analytically computing them
would be futile due to the uncertainties in the error sources. In this work an intelligent controller
is developed; the controller adapts the sliding mode speed observer to improve speed estimation.
This technical report is organized as follows. The background and literature review for this work
are summarized in Chapter 2. Chapter 3 presents the modeling, parameter estimation and
mapping as a function of operating conditions of the induction motor used in this research.
Chapter 4 presents the development of a sliding mode flux observer with online estimation of the
rotor parameters. Chapter 5 contains the development and analysis of field oriented control
algorithms. In Chapter 6 a sliding mode sensorless control algorithm is developed and analyzed.
In Chapter 7, the sensorless algorithm developed in Chapter 6 is enhanced to correct speed
estimation at low speed by using a fuzzy logic controller. Overall conclusions and future work
are presented in Chapter 8.
14
CHAPTER 2
2 LITERATURE REVIEW
This section is dedicated to the critical analysis of the existent research in the areas of modeling
and parameter estimation, online parameter estimation, field-oriented control, and sensorless
control of induction motors.
2.1 Model Identification
Although there are many models to describe induction motors, some are highly complex and not
suitable to be used in control. The author will only concentrate on the models that can be used in
induction motor control. Also, since modern induction motor control is field oriented, dq models
will be analyzed. An excellent presentation on available model types can be found in [37]. The
classical induction motor model (used in most control schemes) has identical d and q axis
circuits, as shown in the Fig. 2.1. Since the classical model is a fourth order system with 6
elements of storage (inductances) the model can be reduced to a simpler model without any loss
of information [37].
15
Vds
Rs Lls
Lm
Llr Rrω λr qr
p drλp dsλ
Vqs
Rs Lls
Lm
Llr Rrω λr dr
p qrλp qsλ
Figure 2.1 Equivalent circuit in d-q stationary
The transformation combines the leakage inductances in a single inductance. This schematic is
preferred for control applications and is called the Γ model (the classical model is denoted as the
T model). Depending on whether a stator flux or rotor flux controller is sought the leakage
inductance can be placed in the stator or in the rotor. The transformation is meant to have Lm’ be
equal either to Ls or Lm of the classical model. The Fig. 2.2 shows the reduced model for rotor
flux oriented (RFO) control.
Rs
Vqs
Ll
Lm’
Rr’ω λr dr
Rs
Vds
Ll
Lm’
Rr’ω λr qr
Figure 2.2 Reduced equivalent circuit in d-q stationary for RFO control
16
In respect with the classical model, the new parameters are:
mr
mm L
LLL ⋅== γ
2
' (2.1)
lrlsl LLL ⋅+= γ (2.2)
rr RR ⋅= 2' γ (2.3)
Although more complicated models, used in performance analysis, transient stability and short
circuit studies exist, their complexity (expressed in the number of differential equations used in
the model) makes them unattractive for control purposes. The known variations of the classical
model are derived by allowing parameter variations and by representing core losses. Although all
parameters are known to vary with the operating conditions, the effect of the variation of the
leakage inductances is usually neglected. The magnetizing inductance is shown to vary as a
function of the magnetizing current, rotor flux, or input voltage. The stator and rotor resistances
are mainly affected by the rotor temperature and skin effect. In steady state models, core losses
are typically represented as a resistance in parallel with the magnetizing inductance. However,
by doing so the order of the model increases by two and adversely affects the control task. In
literature, there are two trends to avoid this problem. One consists in adding the core loss
resistance in parallel with the rotor resistance. The other, [37], adds an R-L branch in both d and
q axis and supplies it with the voltage created by the rotor flux of the corresponding axis. Then
the differential terms associated with this branch are neglected to maintain the order of the
system. A third method consists in adding the core loss resistance in series with the magnetizing
inductance [9].
17
2.2 Parameter Estimation
In order to implement vector control of the induction motor, all parameters have to be known.
However, both the estimation method and the robustness to parameter uncertainty of the control
influence the accuracy of this knowledge. Depending on the type of tests performed on the
motor, the testing methods could be classified as:
- methods that test the motor separately from its application site (off-site),
- methods that test the motor on-site but off-line (self-commissioning),
- on-line methods, in which parameters are estimated while the motor is running on-site.
Off-Site Methods
The motor is tested individually, in the sense that it is not necessarily connected to the load it is
going to drive or in the industrial setup it is going to operate in. The most common such tests are:
the dc test, allowing the estimation of stator resistance; the locked-rotor test, allowing the
estimation of rotor resistance and leakage inductance; the no-load test, allowing for the
estimation of mutual inductance. The advantage of the above tests is their simplicity. They are
meant as steady state tests and only relatively simple equipment is needed for the measurements.
However, these tests usually represent poorly the real operating conditions of the machines (for
example, they lack the effect of PWM switching on the machine parameters). Steady-state
characteristics represent dependencies between measured values of the IM at steady state such
as: current vs. slip, input power vs. slip and torque vs. slip. Since these dependencies can be
expressed as an analytical expression, the parameters of the motor can be extracted from them. In
18
[2], an output error (OE) technique is used to extract the parameters of the motor, including core
losses. In [6], the authors use a genetic algorithm to estimate the parameters showing that it
converges faster than Newton-Raphson. The authors of [7] use a similar approach, the
parameters being compared to the parameters estimated from the no-load and locked rotor tests.
In [10], the authors analyze the sensitivity of the dependencies to each parameter and use it to
tune the estimation in an OE-type technique. There is a major drawback in the methods based on
steady-state characteristics. These measurements usually require a separate experimental setup
and individual measurements for each motor. Furthermore, these methods ignore the time change
of the parameters or their variation with operating conditions.
The authors of [3,4,5] use a linear IM model and least-square estimation. In order to eliminate
the rotor variables (rotor current or flux, which are not measurable), the system equations are
rewritten using derivatives of current and voltage. The parameter vector is then obtained through
least-square estimation. A similar approach is used in [11], but their method also estimates rotor
fluxes. The major disadvantage of this technique is the double differentiation of currents, which
is prone to high inaccuracies due to noise. The differentiation of voltages is also a problem when
using PWM input signals. Although the authors of [11] claim to be easily implementable on-line,
how this could be done (issues of robustness, convergence) is not mentioned.
The authors of [1] use an output error (OE) technique. The data is obtained through disturbance
of the steady-state operation of the machine by disconnecting the power supply and by
perturbing the load. Input voltage and currents and speed are measured simultaneously. Since
simultaneous estimation of all parameters is prone to inaccuracy, it is desirable to estimate first
those for which the output error is most sensitive. The estimation is iteratively performed in the
19
following steps: First estimate Lm, the load torque and inertia and consider the other parameters
known. Then estimate Rs and Rr and assume the other parameters known. Then estimate Lls and
Llr. The steps are repeated until the error is minimized to a satisfactory level. The parameters are
updated using the last information for each iteration. The procedure is started using manufacturer
parameters. Although the method seems widely applicable (the authors used it successfully in 4
motors), the parameters are assumed constant, no matter the operating conditions. Also, no proof
of algorithm convergence and robustness is shown for the method.
The authors of [8] assume that all motor parameters will vary as a function of the operating
conditions. The method uses the free acceleration test as input. Measurements of voltage, current
and speed are needed. The response is divided in regions in which the parameters are considered
constant. The parameters are then estimated for each region using Maximum Likelihood
estimation and then mapped to the operating conditions using neural networks. Incremental
inductances are also taken into account in the model. Although the method seems simple to
implement, the model is too complicated to be used for control. There is no formal proof of the
robustness of the method and that the method would converge for all cases. The variation of
parameters with operating conditions only represents the free acceleration case and does not
cover more important situations (saturation, flux weakening, heating, core losses, frequency
variation etc).
On-site and Off-line Methods
These methods are performed with the motor already connected in the industrial setup and
supplied by its power converter. These tests are usually meant to allow the tuning of the
20
controller parameters to the unknown motor it supplies and are also known as self-
commissioning. They are more convenient for the controller manufacturer (one control program
could work for different motors), but they usually are less precise than the individual tests. One
of the first such methods was proposed in [12]. The authors state a simple approximate method
for estimating the motor parameters at start-up. The stator resistance is determined by injecting
DC currents in the stator. Applying a step change in current and measuring the exponential
change time in voltage determines the rotor time constant. Applying a voltage step and
measuring the slope of the current determines the leakage inductance. However, since the
leakage inductance is likely to saturate, only an average value can be used. Although the
procedure is extremely simple and simple to implement, it assumes too many approximations,
which decrease the accuracy of the parameter estimation. Furthermore, the obtained parameters
are considered constant regardless of the operating conditions.
The authors of [13] propose a series of tests using the PWM inverter and the motor at standstill.
The parameters can be identified individually and directly (no iterative procedure). The stator
resistance is identified through a DC test. The stator transient inductance is determined by the
slope of a voltage pulse response in the q axis (assuming that the flux variation is small). The
authors do not take into consideration the variation of the parameters with operating conditions.
The calculation of the leakage inductance from a current slope is not that straightforward in
terms of implementation and neglects the effect of the magnetizing inductance.
The authors of [14] measure the rotor time constant using a sine-DC wave. Initially, a sinusoidal
current wave is applied on two phases; when the current reaches the value of the magnetizing
21
current, the current is changed to DC and the voltage transient that results is monitored. The
frequency of the initial sinusoidal current is varied until the smallest voltage transient is
obtained. The authors do not take into consideration the variation of the parameters with
operating conditions. The method is not as automated as the authors claim and still needs an
operator to monitor the voltage transient. Also, a no-load test needs to be performed prior to
applying the method, which may complicate the procedure (in case the motor is coupled to the
load).
The author of [15] uses steady state calculations for parameter estimation but includes the
variation of parameters with operating conditions. At steady state, if voltage, current and speed
are known (RMS values), then: if Ll is known, then Lm and Rr can be algebraically calculated. If
Lm is known, then Ll and Rr can be algebraically calculated.
However, a simultaneous calculation is impossible algebraically. In respect to sensitivities of the
calculations to slip:
- at low slip (s<1/10Tr) Lm is less sensitive than Ll in estimation,
- at high slip (s>1/2Tr) Ll is less sensitive than Lm in estimation.
The method the author uses consists in acquiring 5-8 sets of data for both regions of slip and then
calculates the less sensitive parameter for each set using previous estimates of the other
parameter. Rr will also be calculated using the low slip condition. The parameters will then be
mapped to the operating conditions through empirical equations.
The strength of the method consists in the possibility of determining the parameters (Ll and Lm)
as a function of operating conditions. However, the method assumes that slip variations can be
22
controlled (e.g. there is some way to control the load), which make it impractical in many
situations.
The authors of [16] adapt the DC test, no-load test and locked-rotor test so that no extra
mechanical (or electrical) components are needed. The DC test is trivial, although the authors try
to present it in d-q axis. The no-load test is performed by injecting *
_,* e
loadnodseds ii = ,
0*
=eqsi and ω*=ωrated. No torque will be produced and the input voltages will be unbalanced.
Then *e
dsi will be reduced until a balanced set is obtained. The locked-rotor test is performed by
supplying single-phase voltage (two terminals are shorted). There is a main shortcoming to this
method: the converter is commanded in d/q rotor reference frame. In order to implement this
frame transformation, knowledge of the parameters is needed at a time when they are not yet
estimated. However, the method could be adapted in a realistic fashion to a stator reference
frame (which could be calculated without knowing the parameters). Supplying single-phase
currents can directly use the locked-rotor test method in stationary reference frame.
On-line Methods
These methods are concerned usually with rotor parameters (Lm and Rr or the time constant, Tr)
and assume that the other parameters are known. These methods usually perform well only for a
good initial value of the parameter to be determined and for relatively small variations (within
10%).
Direct calculation methods compute rotor resistance values algebraically [11,17-19]. The author
of [17] mathematically integrates the motor equations in stationary reference frame over a small
23
period of time and calculates Rr and Lm as algebraic functions of the operating conditions,
assuming the other parameters known. The parameters are estimated at different operating
conditions. The author compares the results with the ones obtained form standard no-load and
locked-rotor test. The method shows the potential of obtaining the rotor parameters on-line,
without using complicating techniques. There is a potential of continuously monitoring the motor
parameters with the method. Also, the method is robust against variations of the other parameter.
The main problem with this method is the integration of the motor equations, which could
introduce errors. Another assumption prone to errors is the evaluation of initial conditions for the
integration, based on averaging previous values (which values are sinusoidal, not DC). As
presented by the author, the method would only work for steady-state conditions. The author of
[18] calculates the rotor resistance algebraically provided that there is a flux and speed transient.
The authors of [19] use the induced voltage in phase (of a modified PWM inverter) to calculate
rotor resistance. In [11], the authors eliminate the flux terms from the motor equations and use a
least squares algorithm to estimate the new system parameters
The authors of [20-22,33,36] use signal injection methods while the author of [121] uses
magnetic saliency to estimate rotor parameters. In [33], the authors propose a method of
estimating Ll, Rr, Lm using robust identifiers based on reactive energy; the method is valid while
the motor is at steady state. The procedure is implemented in 2 steps. The identification of
leakage inductance uses the injection of a high frequency component in the input. Since the
frequency is large (500 Hz), the Lm branch is neglected. The voltage and current are filtered
through a bandpass filter with band centered on the high frequency. An identifier independent of
other parameters can be used to determine the leakage inductance form the reactive energy. This
24
scheme works only at steady-state but it is robust against any variation of other parameters. The
strength of the method consists in the leakage inductance identification, which is robust against
variation of other parameters and does not need a speed measurement. Furthermore, although not
stated by the authors, if Rs is known, a real power identifier could be used to identify rotor
resistance. However, the procedure is not easy to implement on-line. The method also relies on
the existence of no-load condition for the Lm identification, which is not always the case. Since
simultaneous estimation of Tr and Lm is not possible and their values vary with operating
conditions, the method is prone to transmit errors from one identifier to another. Also, given the
conditions for the identifier to work, easier methods could be used for Lm and Tr.
The authors of [26,27,34,35] append a parameter equation to the motor equations and use an
extended Kalman filter(EKF) for the estimation of both fluxes and parameter. In [34] the 4
equations for the induction machine are appended with an equation for rotor resistance to create
an extended Kalman filter. A similar approach is used in [35], except that instead of the rotor
time constant the rotor resistance is generated. The procedure is computationally intense. Also,
EKF estimates are known not to converge to their real values when non-linear systems are used.
The method also depends on covariance matrix knowledge that is unlikely to be available.
Model reference adaptive systems (MRAS) were used by [23-25,117] to estimate rotor resistance
or the rotor time constant. The authors of [28-32] use non-linear adaptive observer to
simultaneously estimate fluxes and parameters.
25
2.3 Field oriented control
The control of induction motors is a challenging problem since it has a nonlinear model, rotor
variables are rarely measurable and its parameters vary with operating conditions.
One of the first ways of controlling induction machines was the volts/hertz speed control also
known as scalar method in which the machine was excited with constant voltage to frequency
ratio in order to maintain a constant air gap flux and hence provide maximum torque sensitivity
[107,108]. This method is relatively simple but does not yield satisfactory results for high
performance applications. This is due the fact that in the scalar method, an inherent coupling
exists between the torque and air gap flux, which leads to a sluggish response of the induction
machine.
To overcome the limitation of the scalar control method, field oriented methods (vector control)
were developed [88-100]. In vector control methods the variables are transformed into a
reference frame in which the dynamics behave like dc quantities. The flux can be linearly
controlled to a constant value using the flux producing current. The speed (or torque or position)
can be linearly controlled using the torque producing current. The decoupling control between
the flux and torque allows the vector controlled induction machine to achieve fast transient
response. The vector controlled induction machine drive therefore, can be used for high
performance applications where traditionally, dc machines have been used. There are many
variations of vector control of induction machine. Depending on the reference frame
transformation used, two types of vector control are currently known, the rotor flux oriented
(RFO) and the stator flux oriented (SFO). In the rotor flux oriented vector control, the reference
26
frame rotates synchronously with the rotor flux, while in the stator flux oriented the reference
frame rotates with the stator flux. In both these reference frames, the dynamics of an induction
machine appear similar to a dc machine allowing it to be controlled like a dc machine. The
vector control of induction machine can also be classified as a direct vector control or an indirect
vector control depending on how the flux information necessary to perform the reference frame
transformation is obtained. Field oriented control in its various forms (stator or rotor flux, direct
or indirect) allows for the independent control of flux and torque (or speed or position) and
exhibits good dynamic response. However, the classical field oriented control (PI based) is
sensitive to parameter variations and needs tuning of at least six control parameters (a minimum
of 3 PI controller gains).
More recently, continuous time sliding mode (CTSM) controllers have been used for induction
motor control [101-106]. Their advantages are that they are simple to implement, are more robust
to parameter variation and exhibit good dynamic response. Furthermore, since the output of the
controller is a switching function, it can be directly used to switch the power components.
However, since the switching frequency of the converter and the sampling frequency of the
controllers are limited, chattering will be produced. To reduce chattering, the control can be
modified to a so-called boundary layer control [101-103]; however, this type of control
eliminates the possibility of using sliding mode control directly to switch the power components
and the use of PWM becomes necessary. Discrete time sliding mode (DTSM) control is an
adaptation of CTSM control for systems that operate at discrete time samples (digital
controllers)[84]. It is based on the prediction of the state trajectory at next step and virtually
27
exhibits perfect tracking and dynamic response. However, it is sensitive to motor parameter
uncertainties.
2.4 Sensorless control of induction motors
There are 5 major speed estimation techniques in literature: open loop calculation (directly from
motor equations), model reference adaptive (MRA) based, extended Kalman filter based, signal
injection based and sliding mode observer based.
All methods use the induction motor model to construct a flux-speed observer out of which
speed information can be subtracted. Common problems observed in all methods are:
- low speed estimation: the sensitivity of the model to speed is low at low speed and
therefore estimation error increases,
- speed estimation during fast transients: due to the observed nature of the speed estimator,
speed estimates are usually delayed from the real speed,
- lack of robustness to parameter uncertainties: given mainly by the observer based nature
of the estimators; more likely to be observed at low speed,
- numerical problems: limited sampling frequency introduces integration errors, numerical
differentiation influenced by noise, numerical integration influenced by offsets etc.
All methods use the motor equations in stationary reference frame, as shown in the modeling
section. A short description of the speed sensorless techniques follows.
28
Direct calculation methods [110-114] use motor equations to directly compute speed and are
therefore prone to numerical errors (numerical derivative and/or integration is needed) and
steady state errors (no correction terms). Substituting stator equations in rotor equations and
solving for speed yields the speed. The advantage of such methods is its simplicity. However, the
pure integration of stator equations causes two problems at low speed. First at low speed the
frequency of the back emf is low, so small that variations of stator parameters can easily corrupt
the computation. Second, for low frequencies, the integration generates a large number that may
not be well accommodated by the control processor. Furthermore, since the estimated speed is
calculated in open loop (there is no correction term), this system is very sensitive to noise and
disturbance on the measured signal and the estimated speed. Other disadvantages include the
numerical differentiation of currents, which is prone to errors due to noise and an increased
sensitivity to variations in all parameters.
MRA based algorithms define two models (usually stator and rotor) that yield the same output
(flux, back-emf, reactive power etc). One model is speed independent (for example, the stator
equations) and is called the reference model. The other model contains the speed (for example
the rotor equations) and is called the adjustable model. The outputs of the two models are then
compared and their error is used to modify the value of the speed so that the error is driven to
zero. The adaptation mechanism (driving the error into a speed estimated) is usually a PI block.
All known MRA techniques [115-118] use stator equations for the reference model and rotor
equations for the adjustable model. The major difference between the methods is the choice of
the model outputs; the choice of output attempts to partially correct some of the known
estimation problems (pure integration, numerical differentiation, operation at low speed and lack
29
of robustness to parameter variation). In [115], the stator equations are used as the reference
model of the MRA system, while the rotor equations that contain the rotor speed act as the
adjustable model. The disadvantage of this method is the pure integration in the reference model.
This problem can be “partially” solved by using low pass filters instead of pure integrators.
However, the use of low-pass filters creates instabilities at low speed. The method still lacks
robustness to parameter estimation. Instead of using the rotor fluxes as the reference and
adjustable models, the system proposed in [116] uses the induced back EMF (voltages across the
magnetizing inductance) as the model output. The advantage of this method is that the pure
integration is eliminated. However, a numerical differentiation is present that can cause problems
at low speed levels. The model is still sensitive to parameter variation. In particular Rs (varying
with temperature) can affect the reference model at low speed. A method based on reactive
power is also presented in [116]. This method is similar to the previous in the sense that pure
integration is not used. The reference model is independent of the stator resistance and therefore
is not affected by the resistance variation. The reference model is however still influenced by Ll
and the adjustable model by Tr and Lm. The authors showed that variation on the value of Tr has
insignificant effect on the identification system and claim that since σLs and Lm and do not vary
with temperature, they can be measured precisely. An interesting approach is shown in [117].
The authors claim that their MRA based system can simultaneously predict speed and estimate
stator resistance by interchangeably using the reference and the adjustable model. The output of
the two models, D, does not have a physical interpretation. Their reference model does not
contain any pure integration, but there is numerical differentiation on currents, prone to noise
errors.
30
An extended Kalman Filter method is proposed in [119] for the rotor speed identification. The
idea consists in appending a fifth state (speed) to the motor equations and using an EKF to
observe this fifth state. Although the method is innovative, it still suffers from parameter
uncertainties and low speed estimation. Furthermore, the EKF (unlike the regular Kalman filter)
does not yield to correct state estimates; although the authors do not explicitly state this fact, it
could be observed even in their simulated data.
Signal injection methods [125-128] use high frequency signals and motor saliency to accurately
detect speed over wide ranges. Although these methods promise higher accuracy in speed
estimation, they produce undesired oscillations in the output torque, audible noise and additional
losses.
Sliding mode observers [84,129,130] use the estimated speed to correct a flux-current observer;
the correction is based on a sliding mode surface that combines the current error with flux
estimation.
31
CHAPTER 3
3 MODELING AND PARAMETER ESTIMATION
Accurate knowledge of the induction motor model and its parameters is critical when field
orientation techniques are used. The induction motor parameters vary with the operating
conditions, as is the case with all electric motors. The inductances tend to saturate at high flux
levels and the resistances tend to increase as an effect of heating and skin effect. Temperature
can have a large span of values, load can vary anywhere from no-load to full load and flux levels
can change as commanded by an efficiency optimization algorithm. It could then be expected
that the model parameters also vary considerably. The purpose of this chapter is the development
of an induction motor model with parameters that vary as a function of operating conditions. The
development is on-site and off-line. While stator resistance is measured through simple DC test,
the leakage inductance, the magnetizing inductance and the rotor resistance are estimated from
transient data using a constrained optimization algorithm. Through a sensitivity analysis study,
for each operating condition, the parameters to which the output error is less sensitive are
eliminated. The parameters are estimated under all operating conditions and mapped to them
(e.g. analytical functions relating parameters to operating conditions are created). A correlation
analysis is used to isolate the operating conditions that have most influence on each parameter.
A core loss resistance models core losses. This resistance is estimated using a power approach
and Artificial Neural Networks. No additional hardware is necessary. The same power converter
and DSP board that controls the motor in the industrial setting is used to generate the signals
32
necessary to model the motor. Therefore, phenomenons related to operation (for example PWM
effects) are captured in modeling.
3.1 Model Identification
Fig. 3.1 shows the induction motor model used in this research in stationary reference frame. As
noted in [37], the model is identical (without any loss of information) to the more common T –
model in which the leakage inductance is separated in stator and rotor leakage. The core loss
branch is added to account for both stator and rotor core losses.
Since the core loss resistance is much larger than the rotor resistance, it will be neglected in this
part of modeling. The following basic equations of induction machine can be derived:
Rs
Vqs
Ll
Lm
Rrω λr dr
Rs
Vds
Ll
Lm
Rrω λr qr
Rc
Rc
Figure 3.1 Induction motor model in stationary reference frame
33
JT
JBii
dtd L
rdsqrqsdrr −−�
�
���
� −= ωλλµω (3.1)
qrmqrdrrpqr iLn
dtd
ηηλλωλ
+−= (3.2)
drmdrqrrpdr iLn
dtd
ηηλλωλ
+−−= (3.3)
qss
qsqrdrrpqs v
Lin
dtdi
σγηβλλωβ 1+−+−= (3.4)
dss
dsdrqrrpds v
Lin
dtdi
σγηβλλωβ 1+−+= (3.5)
The electromagnetic torque expressed in terms of the state variables is:
��
���
� −=dsqrqsdre iiJT λλµ (3.6)
In synchronously rotating reference frame, the motor equations can be expressed as:
JT
JBi
dtd L
reqs
er
r −−⋅⋅= ωλµω (3.7)
34
edsm
er
er iL
dtd ⋅⋅+⋅−= ηληλ (3.8)
eqs
ser
eds
eqs
medsrp
errp
eqs
eqs v
Lii
Linnidt
diσλ
ηωλωβγ 1+−−−−= (3.9)
eds
sedr
eqs
meqsrp
er
eds
eds v
Li
Linidt
diσλ
ηωηβλγ 12
++++−= (3.10)
er
eqs
mrpe i
Lndt
dλ
ηωθ += (3.11)
and the expression for torque is given by :
eqs
ere iJT ⋅⋅= λµ (3.12)
3.2 Parameter estimation
3.2.1 Estimation of stator resistance
The estimation of the stator resistance was carried out through a DC test, as shown in Fig 3.2.
The resistance can be calculated as:
35
c
caS I
VVR −⋅=32 (3.13)
Va
Vb
Vc
Ic
Rs
RsRs
Figure 3.2 Circuit for stator resistance
To capture the effect of temperature on the stator resistance, the following sequence of testing
was used:
- at each test, the motor was run with an increased load;
- the stator resistance test was performed immediately after the motor stopped.
The temperature of the stator winding was also measured. The temperature dependency of the
stator resistance is shown in the Fig. 3.3.
36
Figure 3.3 Stator resistance as a function of temperature
3.2.2 Estimation of Ll, Lm and Rr
Transient data was used to determine Lm, Ll and Rr. The data consisted in small disturbance in
the steady state operation of the IM by stepping the supply voltage with 10%. The tests
encompass a wide variation of frequency, supply voltage and load:
- the frequency was varied from 30 Hz to 80 Hz in steps of 10 Hz,
- the supply voltage was varied from 10% to 100% of the rated voltage value in steps of
10% for each frequency,
- the load was varied from no-load to maximum load in 8 steps.
A total of 290 data files were obtained. The estimation was performed using a constrained
optimization method available in Matlab (‘constr’). Fig. 3.4 shows the block diagram of the
estimation procedure.
37
Induction motor(Plant)
Induction motormodel
Constrained optimization
Vd,Vq, ω Id, Iq
I*d , I*
q+
-
θConstraints
e
Figure 3.4 Estimation block diagram
The induction motor model can be expressed in state space form as:
BUAXX +=� (3.14)
and the output equation is:
XCY ⋅= (3.15)
where
[ ]Tdrqrdsqs iiX λλ= (3.16)
38
���������
�
�
���������
�
�
−−
−−
+−
−+−
=
m
rrr
rm
rr
ml
r
l
r
l
rsl
r
ml
r
l
rs
LRR
LRR
LLR
LLRR
LLLR
LRR
A
ω
ω
ω
ω
0
0
0
0
(3.17)
����
�
�
����
�
�
=
00001001
1
lLB �
�
���
�=
00100001
C (3.18)
and ��
���
�=
d
qVV
U
The initial conditions for the model were established as:
[ ]Trqqrdsqs iiX λλ ˆˆ)0()0(= (3.20)
The error between model and measurements was calculated as:
( ) ( )� −+−==
N
kkqskqskdskds iiiie
1
2)()(
2)()(
ˆˆ (3.21)
The constrained optimization function is used to minimize the error function by modifying the
parameter vector, θ:
39
[ ])0()0( ˆˆ drqrlrm LRL λλθ = (3.22)
The values of stator resistance were based on temperature measurements. The initial values of
the fluxes are not normally included in the parameter vector since they can be calculated from
the initial conditions of the currents at steady state. However, these currents are noise corrupted
and their measurement error will propagate into the calculation of the initial values of the flux.
Furthermore, since flux equations have a large time constant, the initial condition error would
influence the flux observation over the entire transient measurement (the self-correction of an
otherwise convergent flux observer [84] will not have the time to correct the initial condition
error) and will yield erroneous parameter estimates.
The author observed that the parameter vector modification increased the rate of convergence of
the algorithm. Constraints on Rr, Ll, and Lm were imposed as 10% of the rated value for the
lower bound and 300% for the upper bound. For λd(0) and λd(0) the constraints were imposed as
+/_ 200% of the saturation value (0.5 Wb).
3.3 Sensitivity Analysis
Since an output error estimation method is used, there is no theoretical guarantee that the
parameters will converge to their actual values. Therefore it is necessary to study the effect of
each parameter on the total error. It is obvious that those parameters with little effect on the total
error will be more prone to estimation errors than parameters that affect it more. For any data
point, the error can be expressed as:
40
)ˆsin(ˆ)sin()( ϕωϕω +⋅−+⋅= tItItE (3.23)
At steady state, the squared error per period is:
( ))ˆcos(ˆ2ˆ21)(1 22
0
22 ϕϕ −⋅−+=�= IIIIdttET
eT
(3.24)
The sensitivity of the squared error to a parameter (y) can be expressed as:
Iy
yyIyyIeSe
y ⋅∆∆+= ))(),(ˆ(2
(3.25)
For the proposed model, the steady state current (complex form) can be expressed as:
��
���
� ++++−
+⋅=
msmlrrs
ml
mr
XRXXs
RjsRRXX
jXs
R
VI)(
�
(3.26)
and I and ϕ are the module and phase angle of I�
.
The sensitivity analysis was conducted for a slip ranging from 0 to 10% (larger values of s are
unobtainable at steady state) and a frequency from 20 Hz to 100Hz. The rated values of the
parameters were used. Fig. 3.5 shows a comparison of sensitivity for Rr , Lm and Ll at 60 Hz.
Fig. 3.6-3.8 represent the sensitivity of each individual parameter for different frequencies and
slips. It can be seen that the sensitivity of the error to Ll or Rr is low at low slip. Large errors can
41
be introduced at low slip since their effect on the error is small. A limit of 2% on the slip was
imposed on the slip values. The Ll and Rr estimates below this value are discarded. For large
values of the slip the sensitivity of the error to Lm decreases to 0. Lm estimates for slip values
larger than 2% were discarded.
Figure 3.5 Sensitivity of error to parameters as a function of slip at 60 Hz
Figure 3.6 Sensitivity of error to Ll as a function of slip at different frequencies
42
Figure 3.7 Sensitivity of error to Lm as a function of slip at different frequencies
Figure 3.8 Sensitivity of error to Rr as a function of slip at different frequencies
43
Observation
The concept of sensitivity of the currents (error) to the parameters can be extended to more
classical induction motor tests: in the no-load test, only Lm is estimated whereas in the locked
rotor test Rr and Ll are estimated.
3.4 Parameter mapping to operating conditions
The model proposed here is dependent on the operating conditions. Up to this point, the
parameters of the motor were estimated for various operating conditions. The purpose of this
section is to find the relation of the parameters to the operating conditions in a form that allows
for use in a control environment. However, in order to be able to define an operating condition or
to relate (map) a parameter to a condition, a correlation analysis is necessary. This establishes
the “strong” and “weak” dependencies of parameters to operating variables. The variables for the
correlation study are selected intuitively as:
eqs
eds ii , – the stator currents in synchronous reference frame
Is – the stator current (peak value)
ws- slip frequency
It could be argued that temperature is also a factor in this mapping. However, since the only
temperature measurement available was the stator temperature (and was used for stator resistance
calculation) it was not used in this correlation study. The correlation between two variables (in
44
this case one variable is a parameter (y) and the other a operating condition variable (x)) can be
defined as:
( )
yx
N
kkk
yx
yyxxNC
σσ
� −−−= =1
,
))((1
1
(3.27)
where yx, are the mean of x and y respectively and yx σσ , are their standard deviations. Table
3.1 shows the results of the correlation:
Parameter edsi e
qsi Is ws
Lm -0.9287 0.0167 -0.6652 0.3473
Rr 0.1543 0.8061 0.8023 0.5485
Ll -0.3212 -0.4264 -0.7135 0.0177
Table 3. 1 Correlation between parameters and operating conditions
Mapping consists in expressing the parameters of the motor as analytical functions of the
operating conditions. The selection of the variables describing the operating conditions is based
on the correlation study.
45
3.4.1 Magnetizing inductance, Lm
A strong correlation was observed between Lm and edsi . Lm clearly saturates with an increase in
edsi . A second order polynomial was used to represent the dependency of Lm to e
dsi in the
saturated region.
322
1)( kikikiL eds
eds
edsm +⋅+⋅= (3.28)
Fig. 3.9 shows a comparison between the polynomial and the results of the estimation.
Figure 3.9 Lm as function of edsi
46
3.4.2 Leakage inductance, Ll
A strong correlation was also observed between Ll and Is. Ll saturates with an increase in Is. A
linear approximation was used to represent the dependency of Ll to Is and is shown in Fig. 3.10.
54)( kIkIL ssl +⋅= (3.29)
Figure 3.10 Ll as function of Is
3.4.3 Rotor resistance, Rr
It can be safely assumed that the rotor resistance varies as a function of two factors: slip
frequency (through skin effect) and rotor temperature (unmeasurable). However, Table 3.1
shows a correlation between Rr and ws but also eqsi . The correlation is shown in Fig. 3.11. The
47
correlation is due to the fact that both slip frequency and temperature are proportional to eqsi . It
was observed that the Rr( eqsi ) correlation holds only if the motor runs for a few minutes at a
certain operating condition, to allow for temperature to reach a steady state. A sudden variation
in eqsi would not determine a sudden change in Rr if slip frequency remains constant since
temperature does not change as fast. Therefore, the Rr( eqsi ) relation can only be used at steady
state.
Figure 3.11 Rr as function of eqsi
In order to establish the influence of slip frequency on Rr, a test similar to a locked rotor was
used. The difference was that the rotor was not mechanically locked, but the voltages were small
enough that the rotor would not move. The frequency was varied between 5 Hz and 120 Hz (1
Hz increments in the 5-10 Hz region and 10 Hz increments for the rest). Prior to each series of
48
tests, the motor was run under a loading condition (no-load, medium load and full load) to assure
heating of the rotor. A temperature sensor was mounted on the stator. This sensor was used for
an indication when temperature has reached a steady state (for each loading condition). Fig. 3.12
shows the results of the Rr estimation as a function of slip frequency (for locked rotor, equal to
stator frequency). Fig. 3.13 shows just the 5-10 Hz region, which is of more interest for us, since
slip rarely exceeds this range.
Observation 1
Since rotor frequency (slip frequency) influences the values of rotor resistance, the locked rotor
test must be carried out at a low frequency if the rated value of rotor resistance is sought. This is
particularly important for squirrel-cage motors in which skin effect is present. For example, for
the motor used in this research, a locked rotor test at rated frequency would yield a value of rotor
resistance approximately 3 times higher than real. Since rotor temperature measurements are
hardly possible, a precise off-line mapping of rotor resistance to operating conditions is
impossible. However, due to the linearity (within the range of interest) of the relation between
rotor resistance and slip frequency, an on-line observer can be developed.
The observer is based on the assumptions that the rotor temperature varies much slower than the
other variables (current, speed etc) and that steady state operating conditions exist (e.g. the motor
is not in continuous transient). The rotor resistance dependency to slip frequency and rotor
temperature can be expressed as:
49
Figure 3.12 Rotor resistance as function of slip frequency for different temperatures
Figure 3.13 Rotor resistance as function of slip frequency for lower frequencies
50
ssr kTRTR ωω ⋅+= 61 )(),( (3.30)
in which R1(T) is the influence of temperature (unknown). The coefficient k6 (influence of slip
frequency) can be estimated off line from the locked rotor tests measurements. At each operating
condition (steady state), the value of rotor resistance and slip frequency can be estimated with an
observer, as shown in the next section). Then for each loading condition (temperature):
ssr kTRTR ωω ˆ),(ˆ)(ˆ 61 ⋅−= (3.31)
Assuming that temperature changes slowly, at each instant of time, knowing the slip frequency
allows for the determination of rotor resistance. Each time a steady state condition is detected,
R1(T) is re-evaluated and rotor resistance calculated as function of slip frequency.
Observation 2
It can be argued that since rotor resistance is estimated, there is no need in determining R1(T).
This is true while the motor operates at steady state. However, for efficiency optimization it is
important to predict the variation of rotor resistance prior to a new steady state condition. For
this case it is important to have the value of R1(T) and predict the variation of Rr based on slip
frequency.
51
3.5 Core loss estimation
One should note that since the slip is non-zero for the no-load test and Rr is already known, Rc
could be theoretically calculated from the parallel resistance of Rr and Rc. However, even for
most precise speed encoders, the error in calculating a slip approaching zero could translate in an
order of magnitude of error when calculating Rr /s.
A power-based approach is used for calculating the core resistance.
3.5.1 Calculation of rotor losses at frequencies of interest
Use the no-load tests and calculate the rotor power losses for each data set:
2)cos( ssssrotor IRIVP −= ϕ (3.32)
A plot of these losses is shown in Fig. 3.14 for various frequencies. The losses increase with
both the frequency and the rotor flux.
52
Figure 3.14 Rotor power losses for no-load test
3.5.2 Calculation of friction and windage losses using ANN
Since core losses are zero when flux is zero, the intersection of the power curves with the vertical
axis determines the friction and windage losses for a specific frequency. To find the friction and
windage losses for all frequencies, an ANN was used to map the rotor losses to frequency and
flux. Multi-layer feedforward neural networks have often been used in system identification
studies. These networks consist of a number of basic computational units called processing
elements connected together to form multiple layers. A typical processing element forms a
weighted sum of its inputs and passes the result through a non-linear transformation (also called
transfer function) to the output. The transfer function may also be linear in which case the
weighted sum is propagated directly to the output path. The ANN used in this research consists
53
of processing elements arranged in three distinct layers. Data presented at the network input
layer are processed and propagated through a hidden layer, to the output layer. Training a
network is the process of iteratively modifying the strengths (weights) of the connecting links
between processing elements as patterns of inputs and corresponding desired outputs are
presented to the network.
In this work, the mathematical relationship between the input and output patterns can be
described as:
),(_ edlossesrotor NP ωλ= (3.33)
where Nd is a non-linear neural network mapping to be established. The ANN used in this study
is shown in Fig. 3.15 and consists of 2 processing elements in the input layer, corresponding to
each variable. A single processing element in the output layer corresponds to the losses being
modeled. The number of elements in the hidden layer is arbitrarily chosen depending on the
complexity of the mapping to be learned. A hyperbolic tangent (tanh) transfer function is used in
all hidden layer elements, while all elements in the input layer and output layer have linear (1:1)
transformations.
54
Σ
ω
λ r
Protor_loss
Input layer
H idden layer
O utput layer
Figure 3.15 ANN Model for Protor_losses
The back-propagation algorithm is used to train the neural network such that the sum squared
error, E, between actual network outputs, Ο, and corresponding desired outputs, ζ, is minimized
over all training patterns µ
� −=µ
µµζ 2][ OE (3.34)
After estimating the non-linear mapping Nd of Eqn. 3.33 in terms of the neural network, the
network output Protor_losses is computed from the 2x1 input vector P according to the following
equation:
55
2112_ )tanh( BBPWWP lossesrotor ++⋅⋅= (3.35)
W2 denotes the matrix of connecting weights from the hidden layer to the output layer. W1 is the
weight matrix from the input-layer to the hidden-layer. If there are m processing elements in the
hidden layer, W2 is of size 1xm, and W1 is of size mxl. Bias terms B2 and B1 are used as
connection weights from an input with a constant value of one. B2 and B1 denote the 1x1 and mx1
bias vectors from the bias to the output-layer, and from the bias to the hidden-layer respectively.
The task of training is to determine the matrices W1, W2, and bias vectors B1, B2 . The training
patterns for the neural network models are composed of the no-load test data. Each data set is a
vector of λ,ωe and Protor_losses. The results of the mapping are shown in Fig. 3.16. Friction and
windage losses can be calculated for ANN at zero flux.
Figure 3.16 Mapping of rotor losses using ANN
56
3.5.3 Calculation of core losses
Core losses for each frequency and flux can be determined by subtracting the friction and
windage losses and the resistive rotor losses from the rotor losses.
22&_ )(),(),( rrrwfdrlossesrotordrcore IRPPP −−= ωλωλω (3.36)
where )0,()0,(1_
22& ωω dlossesrotorrrwf NPI
ssRP ==−= (3.37)
Since 22
22&
1rrrrwf IRI
ssRP >>−= , the last term of the previous equation is neglected.
3.5.4 Calculation of core resistance
For each data point, calculate the core loss resistance as:
),(
),(),( 2
2_
drecorer
drelossesrotordrec
PI
PR
λω
λωλω
⋅= (3.38)
Map the core loss resistance to flux and frequency using ANN. The procedure is similar to the
rotor loss mapping. Fig. 3.17 presents the results of the mapping.
57
Figure 3.17 Rotor core loss as function of flux and frequency
3.6 Alternative parameter estimation method
The alternative method consists in parameter estimation from steady-state measurements. The
method assumes that the analytical form of the mapping between parameters and operating
conditions is known. The advantage of using such method is that the procedure is relatively
simple and robust numerically and therefore can be executed on site. The only condition for load
is that it can be disconnected form the motor for a no-load test. Furthermore, if the rotor
resistance mapping is not sought, there is no need for a speed sensor either.
58
3.6.1 Tests description
The tests performed on the induction motor are of two types:
– No load tests. These tests were performed with the motor disconnected from the load.
The tests were run with input voltage ranging from 10% to 100% of rated voltage (in
10% steps). For each voltage value, the frequency was varied from 40 Hz to 150 Hz.
– Locked rotor test. Due to the impracticality of locking the rotor, these tests were
performed by keeping the voltage to a low value that would not allow the motor to start.
The frequency of the input voltage was varied from 10 to 70 Hz. For all tests, the values
of supply voltage and supply currents and speed were recorded over a period of 200 ms.
For each data set, the amplitude of voltage, current and the phase shift was determined
using signal processing techniques as shown in the rotor resistance observer section.
3.6.2 Parameter dependencies to operating conditions
The dependencies of parameters to operating conditions were confined to a maximum of two
variables and used simple polynomial functions for mapping. These dependencies are:
Lm is a second order polynomial of the edsi current:
322
1)( kikikiL eds
eds
edsm +⋅+= (3.39)
59
Ll is a first order polynomial of the stator current:
54)( kIkIL ssl +⋅= (3.40)
Rs varies only as a function of temperature. Since temperature is not available for measurement,
Rs was considered constant. Rr varies as a function of temperature and rotor current frequency
(ωs) It is assumed that the two variables influence Rr independently. For constant temperature, Rr
is considered to vary linearly with ωs..
3.6.3 Estimation of Ll, Lm,Rr
For the circuit in Fig.3.1 phase voltage and current and their phase shift can be measured, and the
supply frequency is known. It is assumed that Rs can be determined through a DC test. One
complex algebraic equation (or two real algebraic equations) can describe every steady state
operating point. For each operating point:
If Ll is known, then Lm and Rr /s can be calculated as:
������
�
�
������
�
�
⋅−⋅
���
����
�−⋅
+⋅−⋅⋅=l
s
s
ss
s
ls
sm
LIV
RIV
LIVL
ωϕ
ϕωϕ
ω )sin(
)cos()sin(1
2
(3.41)
60
������
�
�
������
�
�
−⋅
���
����
�⋅−⋅
+−⋅=s
s
s
ls
s
ss
sr
RIV
LIV
RIVsR
)cos(
)sin()cos(/
2
ϕ
ωϕϕ (3.42)
If Lm is known, then Ll and Rr can be calculated as:
������
�
�
������
�
�
���
����
�−−−
−=2
)cos(4)()sin(1
22
ss
smm
s
sl
RIVLL
IVL
ϕωωϕ
ω (3.43)
���
����
�−
���
�
�
���
�
�
���
����
�−−−
+−=
ss
s
ss
smm
ss
sr
RIV
RIV
LL
RIVsR
)cos(4
)cos(4)(
)cos(/
22
2
ϕ
ϕωω
ϕ (3.44)
While locked rotor and no-load tests are commonly used for parameter estimation, two
assumptions are usually employed. The magnetizing inductance is considered constant (or
neglected) when a locked rotor test is used (since Rr <<ω Lm). The leakage inductance is
considered constant for a no-load test and the phase current is assumed to flow into the
magnetizing inductance (Rr /s is very large when the slip approaches 0). While these assumptions
61
considerably simplify parameter estimation, when estimating the parameters as function of
operating conditions, considerable errors are introduced:
- for the locked-rotor test at low frequency, the magnetizing inductance reactance is low
and can not be neglected,
- it is impossible to obtain synchronous speed of the rotor without additional mechanical
intervention (such as a dynamometer).
There will be some current flowing through the rotor resistance and the slip value will increase
with supply frequency as core, friction and windage losses increase. Besides the error introduced
by neglecting the rotor branch, an error will be introduced due to the saturation of the leakage
inductance. Since both magnetizing and leakage inductance will vary as a function of the
operating conditions, the estimation of one parameter will influence the estimation of the other
parameter. Based on sensitivity analysis, to reduce the cross-influence of one parameter
estimation to the other, Lm is estimated for no-load test. For this test, the influence of Ll will be
smaller. Ll and Rr estimated for the locked-rotor test. For this test, the influence of Lm will be
smaller. Furthermore, rather than using a constant value for Ll (or Lm respectively), their
dependencies were used and updated each time the parameter was estimated. The procedure
iterates through the no-load and locked rotor tests; a mapping of the “known” parameter is used
rather than using a single value of that parameter, while the other two parameters are calculated.
The procedure is insensitive to the values of rotor resistance or core resistance. The procedure
can be summarized as follows:
62
Initialization
Estimate Ll and Rr from all locked rotor tests neglecting Lm and calculate k4 and k5 using a least
square estimation procedure. Estimate Lm from all no-load tests and calculate k1, k2 and k3 using
a least square estimation procedure
Iterative procedure
a. For all locked rotor tests, approximate ω
λ sssm
IRV −= . Calculate Lm using the latest values of
k1, k2 and k3. Estimate Ll . Update the values of k4 and k5 using a least square estimation
procedure.
b. For no-load tests, calculate Ll and Rr using the latest available. Estimate Lm. Update the values
of k1,k2 and k3 using a least square estimation procedure.
End of procedure
Check if there is a significant change in the values of k1-k5 from the previous iteration. If there
is, repeat procedure. If not, end procedure.
3.7 Model Validation
3.7.1 Steady state- power input
In order to validate the model at steady state, tests encompassing the entire range of operation of
the induction motor were used. The frequency of the motor was varied from 30 to 70 Hz. The
63
supply voltage was varied from 10% to 100% of rated. For each voltage and frequency entry, the
load was varied from zero to maximum value. For all data sets, input power was measured and
compared to the input power calculated using measured voltage and speed and the model. Fig.
3.18 shows the results of the comparison.
3.7.2 Dynamic
The model was used to predict the transient performance after an input voltage disturbance. Figs.
3.19-3.20 present the results in terms of the stationary reference frame currents. The measured
and estimated currents are represented on the same graph (measured – solid line and estimated -
dotted line).
A second type of tests consisted in transient behavior when starting the motor. The start-up
currents (measured and simulated) are shown in Figs. 3.22-3.23 in synchronous reference frame.
Fig. 3.22 represents the results when variable parameters were used; whereas Fig. 3.23 represents
the results when rated (fixed) parameters were used.
64
Figure 3.18 Measured and calculated input power
Figure 3.19 Model validation for large disturbance test at low frequency
65
Figure 3.20 Model validation for large disturbance test at medium frequency
Figure 3.21 Model validation for large disturbance test at high frequency
66
Figure 3.22 Transient response for start-up from zero speed
Figure 3.23 Transient response for start-up from zero speed with rated fixed parameters
67
3.8 Summary
A systematic procedure for induction motor modeling was developed in this chapter. The model
includes the effects of inductance saturation (both for magnetizing and leakage inductance) and
the effects of the core losses. It is also shown that there is a variation of rotor resistance as a
function of slip frequency. The leakage inductance, magnetizing inductance and rotor resistance
are estimated from transient data information using a constrained optimization method.
Sensitivity analysis is employed to show that error sensitivity to parameters varies as a function
of slip. The analysis eliminates parameters with that yield low sensitivity. Analytical functions
are used to map the parameters to operating conditions. Core losses are estimated using a power
approach. ANN are used to map the total rotor losses (iron losses, friction and windage losses) to
flux and frequency. The core losses are obtained by subtracting the rotor losses at zero flux
(generated by the ANN) from the rotor loss surface. The model is validated using tests covering
various operating conditions. For steady-state validation, the model is shown to correctly predict
the power input of the motor. For dynamic validation, input voltage disturbance tests and start-
from-zero tests were employed. The model correctly predicted both tests.
68
CHAPTER 4
4 SLIDING MODE FLUX OBSERVER WITH ONLINE ROTOR
PARAMETER ESTIMATION
Field orientation techniques without flux measurements depend on the parameters of the motor,
particularly on the rotor resistance or rotor time constant. As shown in the previous chapter,
inductances can be mapped to operating conditions. However the rotor resistance varies as a
function of rotor temperature, which is immeasurable. It is therefore important that the value of
rotor resistance be continuously estimated online.
A fourth order sliding mode flux observer is developed in this chapter. The observer does not
depend on the values of the rotor resistance or rotor time constant. Two sliding surfaces
representing combinations of estimated flux and current errors are used to enforce the flux and
current estimates to their real values. Employing the use of Lyapunov functions, the author
proves that the sliding surfaces can be forced to zero in finite time by using two switching
functions. The equivalent values of the switching functions (low frequency components) are
proven to be the rotor resistance and the inverse of the rotor time constant. This later property is
used to simultaneously estimate the rotor resistance and inverse of the time constant without
69
prior knowledge of either the rotor resistance or the magnetizing inductance. Furthermore, since
the algorithm is quite robust to the variation of leakage inductance, the only offline (or self
commissioned) estimation needed is for the stator resistance.
4.1 Effect of variation of rotor resistance on field orientation
Field orientation methods need flux information to calculate the orientation angle. Flux can be
measured using flux sensors in the d-q axis positions; however, these sensors are costly and
reduce the overall reliability of the system. A preferred method in the absence of flux
measurements is the use of model based field observers. In this case, the variation of rotor
resistance impacts the field orientation. Direct field oriented controllers use the flux equations in
stationary reference frame to calculate the orientation angle. Indirect field oriented controllers
use the slip equation for the same purpose:
edsr
er
r iRdt
d⋅+⋅−= ληλ (4.1)
r
eqs
rrpe i
Rndt
dλ
ωθ+= (4.2)
70
Both methods depend on the rotor parameters ( rR,η ). Since rotor resistance varies as a function
of temperature and skin effect, both rotor parameters will be affected, and errors in the values of
these parameters will imply errors in field orientation. An error in field orientation will result in
an error in both the values of the tracked flux and of the tracked torque (assuming that the
controllers are well tuned). Table 4.1 shows the effect of the unaccounted for variation of rotor
resistance on the values of flux and torque for the motor used in this work.
Speed (rpm) 100 1000 2000 100 1000 2000 100 1000 2000
Load(ieqs in amps) 2 2 2 8 8 8 15 15 15
∆ λ(%) 49.38 50.73 52.64 71.95 72.25 71.11 74.05 73.86 74.34∆� Rr =−75�
∆ Τ(%) -34.21 -36.42 -37.73 68.88 69.02 67.81 73.22 73.09 73.44
∆λ(%)� 21.10 21.03 20.95 45.82 45.88 45.87 48.73 48.75 48.80∆� Rr =−50%
∆ Τ(%) -24.65 -26.57 -28.31 41.28 41.19 41.08 47.41 47.39 47.39
∆ λ(%) 7.04 6.99 6.91 21.53 21.57 21.59 23.91 23.93 23.96∆�
Rr =−25�%� ∆ Τ(%) -15.29 -16.24 -17.08 17.89 17.83 17.76 22.79 22.77 22.76
∆ λ(%) -3.85 -3.80 -3.74 -18.59 -18.62 -18.64 -22.77 -22.81 -22.84∆� Rr =25�%
∆ Τ(%) 13.78 14.47 15.05 -12.48 -12.36 -12.24 -20.56 -20.53 -20.50
∆ λ(%) -6.14 -6.05 -5.94 -34.33 -34.40 -34.42 -44.23 -44.32 -44.38∆� Rr =50��%
∆ Τ(%) 25.00 26.19 27.17 -20.25 -19.95 -19.69 -38.64 -38.57 -38.50
∆ λ(%) -7.59 -7.47 -7.32 -47.51 -47.60 -47.62 -64.28 -64.43 -64.53∆� Rr =75�%
∆ Τ(%) 33.98 35.54 36.80 -24.26 -23.76 -23.33 -54.16 -54.01 -53.88
Table 4.1 Effect of errors in Rr on flux and torque tracking
71
Since the sensitivity of the stator currents (e.g. torque and flux) to rotor resistance is larger at
higher loading, it could be observed that the higher the motor loading, the higher the tracking
error in torque and flux. At high speed and high load, the error for both flux and torque is almost
the same magnitude with the rotor resistance error.
4.2 Sliding Mode Observer Design
The sliding mode flux observer is developed based on the motor dynamic equations:
)ˆˆˆˆˆˆ(ˆ
qsrqsqssqrdrrpqs iRviRn
dtid
−+−+−= ληλωβ (4.3)
)ˆˆˆˆˆˆ(ˆ
dsrdsdssdrqrrpds iRviRn
dtid
−⋅+−+= ληλωβ (4.4)
qsrqrdrrpqr iRn
dtd ˆˆˆˆˆ
ˆ+−= ληλω
λ (4.5)
dsrdrqrrpdr iRn
dtd ˆˆˆˆˆ
ˆ+−−= ληλω
λ (4.6)
Define two sliding surfaces as:
22221 ˆˆ
dsdsqsqs iiiis −+−= (4.7)
drdsdsqrqsqs iiiis λλ ˆ)ˆ(ˆ)ˆ(2 −+−= (4.8)
Let a Lyapunov function (positive definite) be
72
ssV T⋅= 5.0 where ��
���
�=
2
1ss
s (4.9)
To prove the existence of a sliding mode, we are interested in finding the condition for which
02211 <⋅+⋅= ssssV ��� (4.10)
After some algebraic derivation, the derivative of s is
��
���
�⋅+�
�
���
�=
η
ˆ
2
1 rRGff
s� (4.11)
where:
qsqsdsdsqsdrdsqrqsdrdsqrrp
dsdrqsqrdsqsdsqssdsqsr
iviviiiin
iiiiiiRiiRf
∆+∆++−−−
−++−−+−+−=
ββλλλλωβ
λληβββ
)ˆˆˆˆ(
)()ˆˆ()( 2222221
)ˆˆ()ˆˆ(
)ˆˆ()ˆˆ()ˆˆ(2
dsdrqsqrsdrdrqrqr
dsdrqsqrrqsdrdsqrrpqsdrdsqrrp
iiR
iiRniinf
∆+∆−++
++−∆−∆−∆−∆=
λλβλλλλβη
λλβλλλλωβλλω
��
�
�
��
�
�
∆−∆−+−++∆+∆
+−+=�
�
���
�=
qsqrdsdrqrdrqsqrdsdrqsqsdsds
qsqrdsdrdsqs
iiiiiiii
iiiigggg
Gλλλλβλλβ
λλββˆˆ)ˆˆ()ˆˆˆˆ(ˆˆ
)ˆˆˆˆ()ˆˆ(22
22
43
21
qsqsqs iii ˆ−=∆ , dsdsds iii ˆ−=∆ , qrqrqr λλλ ˆ−=∆ drdrdr λλλ ˆ−=∆
73
Let ��
���
�
+⋅+⋅
−=��
���
�−=�
�
���
�
)()(
)(0
0
ˆ
ˆ
2412
2311sgsgsignKsgsgsignK
sGsignKKR rTrr
ηηη (4.12)
The Lyapunov function derivative becomes:
)()()()(
24122412
231123112211
sgsgsignsgsgKsgsgsignsgsgKsfsfV r
+⋅+⋅−−+⋅+⋅−+=
η
�
(4.13)
if ηKKr , are positive constants chosen so that:
221124122311 sfsfsgsgKsgsgKr +>+⋅++⋅ η (4.14)
then the Lyapunov function derivative is negative and s1 and s2 will converge to zero in a finite
time, implying the current estimates ( qsds ii ˆ,ˆ ) will converge to their real values in a finite time.
The choice of switching functions is not unique. Due to the fact that generally
2311 sgsg > , 1224 sgsg > , 01 >g while 2g can be made negative by choosing initial
values for the current close to the real values, the switching functions can be simplified to the
form:
��
���
�
⋅⋅−
=��
���
�
)()(
ˆ
ˆ
2
1ssignKssignKR rr
ηη (4.15)
74
This choice of switching functions is easier to compute (no need to compute matrix G) and it
allows the decoupling of the sliding surfaces. Both η,ˆrR are switching functions, containing
high order harmonics. The equivalent values of η,ˆrR (the smoothed estimates) can be found by
solving the equation 0,0 == ss� ([84], section 2.3). This yields:
]ˆ)ˆˆˆ(ˆ[ˆ)ˆ(
ˆ)ˆ(
ˆˆ
22111
22221
2
1
222
1
1
rsdsdsqsqs
ssrsr
rpqsqsdsdsrseq
iiiiieeeKiieiR
eeenivivRi
ee
λββλβ
ωηη
+∆+∆+−+−−
−−+∆+∆+
−= (4.16)
2211
2221
, ˆ)ˆˆˆ(ˆ)ˆ(ˆ
rsdsdsqsqs
srreqr
iiiiiee
KieRR
λββλβ
−∆+∆+
+−= (4.17)
where
)]ˆ([ˆ
)]ˆˆ()ˆˆ()ˆˆ([ˆ
2212
1
eenivive
niineK
rpqsqsdsdsr
qrqrdrdrqrdqrdrqrrpdsqrqsdrrp
−+∆+∆++
+++∆−∆−∆+∆−−=
ωηλβ
λλλλβηλλλλωβλλω
qsqrdsdr iie λλ +=1 , qsqrdsdr iie ˆˆˆˆ1 λλ += dsqrqsdr iie λλ −=2 , dsqrqsdr iie ˆˆˆˆˆ2 λλ −=
222 ˆˆˆ qrdrr λλλ += , 222qsdss iii +=
If the flux and current estimates converge to their real values, then:
11 ee = , 22ˆ ee = 0=K
75
and the equivalent values of η,ˆrR will converge to their real values.
reqr RR =,ˆ (4.18)
ηη =eqˆ (4.19)
To prove the current and flux convergence one needs to substitute the equations of eqeqrR η,,ˆ in
the observer equations and prove that the estimates converge to their real values. Due to the
complexity of the resultant system, the convergence of fluxes was not proven analytically.
However, simulation and results for various loading conditions presented below show the
validity of the concept.
The equivalent values of η,ˆrR cannot be used as given in Eqn. 4.16-4.17 since they contain
unknown terms. A low pass filter is used instead.
reqr Rs
R ˆ1
1ˆ , τ⋅+= (4.20)
ητ
η ˆ1
1ˆ⋅+
=seq (4.21)
76
4.3 Simulation Results
4.3.1 Convergence of the observer
The following simulations show the convergence error of the flux observer. The simulations
were run at low speed (100 rpm), medium speed (1000 rpm) and high speed (2000 rpm). For
each speed level, 3 loading conditions were considered: low load (2 Nm), medium load (8 Nm)
and high load (16 Nm). The graphs on the left side are the current and flux errors (respectively)
for the d-component (the q component is similar). The graphs on the right side represent the
estimates of rotor resistance and rotor time constant inverse; the dotted line represents the real
value. For these simulations it was considered that the rotor resistance is constant throughout the
experiment. The observer was started after the motor was operating at steady state.
Figure 4.1 Observer convergence for low speed/low load
77
Figure 4.2 Observer convergence for medium speed/low load
Figure 4.3 Observer convergence for high speed/low load
78
Figure 4.4 Observer convergence for low speed/medium load
Figure 4.5 Observer convergence for medium speed/medium load
79
Figure 4.6 Observer convergence high speed/medium load
Figure 4.7 Observer convergence for low speed/high load
80
Figure 4.8 Observer convergence for medium speed/high load
Figure 4.9 Observer convergence for high speed/high load
81
Table 4.2 summarizes the tracking errors for Rr and η (once the observer reaches steady-state).
Since errors in the observer yield errors in field orientation, the errors in rotor flux estimation (in
synchronous reference frame) and torque are also shown.
Speed (rpm) 100 1000 2000 100 1000 2000 100 1000 2000
Load(ieqs in amps) 2 2 2 8 8 8 15 15 15
∆ Rr (%) 4.73 6.00 15.25 0.98 0.55 1.19 1.10 0.19 0.49
∆ η(%) 5.59 7.44 17.53 1.33 0.66 0.52 0.34 -1.51 -3.20
∆ λ(%) 0.53 0.29 0.61 -0.16 0.36 0.73 0.54 0.37 0.68
∆ Τ(%) 0.03 0.30 0.60 0.38 0.71 1.29 0.83 0.62 1.08
Table 4.2 Convergence of the proposed observer for different values of speed and load
As expected, larger parameter estimation errors can be expected in the low load-high speed
region. However, the flux estimation errors are not large since the observer is least sensitive to
rotor parameters in that region.
4.3.2 Robustness to parameter variation
Two of the model parameters, Rr, η are estimated on-line using the presented observers, whereas
Rs, and Ll are not estimated on line. The effect of the variation of Rs and Ll over the estimation of
82
Rr, η and their impact on field orientation are shown in the tables 4.3 and 4.4. It can be seen that
the effect of uncertainties of the leakage inductance on flux and torque estimation is minimal
even for large uncertainties (within 7% for an error of +/- 75%). Furthermore, the leakage
inductance can be easily mapped to the stator current amplitude as a saturation function.
The effect of stator resistance uncertainties is not negligible, especially in the low speed range. In
situations in which the stator resistance varies considerably, a stator resistance observer is
needed. In this research, stator temperature was available from a temperature sensor. The stator
resistance was mapped to stator temperature as shown in the previous chapter.
83
Speed (rpm) 100 1000 2000 100 1000 2000 100 1000 2000
Load(ieqs in amps) 2 2 2 8 8 8 15 15 15
∆ Rr(%) 29.32 11.97 35.97 -15.23 0.42 8.30 -39.35 -5.06 -1.46
∆ η(%) 37.23 15.55 38.48 30.55 15.12 34.20 34.07 12.38 23.49
∆ λ(%) -11.79 -0.60 0.13 -38.56 -3.28 -1.38 -52.17 -6.17 -3.31 ∆ Rs=-75%
∆ Τ(%) -49.85 -4.03 -2.24 -43.33 -3.80 -1.40 -51.97 -6.37 -3.17
∆ Rr(%) 14.82 7.33 16.47 -9.98 -0.19 1.66 -25.98 -3.40 -1.56
∆ η(%) 25.96 9.80 19.29 21.53 6.32 8.95 24.74 4.89 3.93
∆ λ(%) -7.43 -0.30 0.27 -25.78 -1.99 -0.74 -34.31 -3.93 -2.01 ∆ Rs =-50%
∆ Τ(%) -32.13 -2.63 -1.21 -29.22 -2.22 -0.56 -34.26 -3.99 -1.81
∆ Rr(%) 11.02 6.66 15.89 -4.65 0.12 1.11 -12.31 -1.60 -0.59
∆ η(%) 16.96 8.61 18.42 12.59 3.14 3.23 13.69 1.51 -0.58
∆ λ(%) -3.22 -0.01 0.44 -13.08 -0.80 0.02 -16.75 -1.79 -0.64 ∆ Rs =-25%
∆ Τ(%) -15.78 -1.16 -0.31 -14.74 -0.75 0.39 -16.58 -1.69 -0.34
∆ Rr(%) -1.91 5.36 14.74 8.58 1.03 1.64 15.60 1.97 1.62
∆ η(%) -7.32 6.28 16.69 -11.88 -1.31 -0.56 -17.35 -4.31 -5.16
∆ λ(%) 4.12 0.58 0.78 11.29 1.50 1.42 17.02 2.48 1.97 ∆ Rs =25%
∆ Τ(%) 16.09 1.76 1.49 13.91 2.15 2.17 18.22 2.89 2.48
∆ Rr(%) -8.33 4.70 14.12 16.45 1.84 2.12 31.02 3.78 2.78
∆ η(%) -20.95 5.09 15.78 -27.14 -2.75 -1.43 -37.05 -6.78 -6.63
∆ λ(%) 7.75 0.87 0.95 21.58 2.63 2.10 33.43 4.55 3.24 ∆ Rs =50%
∆ Τ(%) 31.74 3.23 2.40 26.93 3.57 3.03 35.73 5.12 3.85
∆ Rr(%) -13.25 4.03 13.53 24.97 2.68 2.61 47.56 5.69 3.94
∆ η(%) -33.96 3.90 14.90 -42.59 -4.19 -2.31 -44.26 -9.20 -8.11
∆ λ(%) 11.70 1.16 1.11 32.09 3.76 2.78 49.86 6.63 4.51 ∆ Rs =75%
∆ Τ(%) 47.04 4.69 3.30 39.89 5.00 3.90 52.49 7.37 5.22
Table 4.3 Effect of uncertainty of stator resistance on observer
84
Speed (rpm) 100 1000 2000 100 1000 2000 100 1000 2000
Load(ieqs in amps) 2 2 2 8 8 8 15 15 15
∆ Rr(%) -7.72 -3.66 32.37 -14.63 -15.26 -12.53 -18.45 -19.44 -17.69
∆ η(%) -0.33 4.66 40.63 -30.42 -29.99 -23.67 -93.81 -92.02 -80.21
∆ λ(%) -5.55 -6.29 -6.02 -6.05 -7.00 -6.76 -7.52 -9.15 -9.14∆ Ll=-75%
∆ Τ(%) 2.14 0.85 1.12 1.79 1.03 1.57 1.86 0.95 1.30
∆ Rr(%) -3.29 -0.51 21.21 -8.78 -9.28 -7.82 -11.03 -11.88 -10.97
∆ η(%) 1.20 4.76 26.97 -19.81 -20.32 -17.90 -63.88 -66.23 -61.54
∆ λ(%) -3.74 -4.10 -3.78 -4.61 -4.42 -4.13 -4.70 -5.45 -5.37∆ Ll=-50%
∆ Τ(%) 0.66 0.61 0.88 0.48 0.86 1.43 1.02 0.79 1.16
∆ Rr(%) 0.83 2.70 16.19 -3.69 -4.05 -3.22 -4.51 -5.17 -4.71
∆ η(%) 3.33 5.92 20.11 -9.13 -9.80 -9.38 -31.69 -34.11 -34.39
∆ λ(%) -1.60 -1.90 -1.58 -2.52 -1.95 -1.62 -1.80 -2.25 -2.03∆ Ll=-25%
∆ Τ(%) 0.26 0.45 0.74 0.11 0.77 1.36 0.84 0.67 1.12
∆ Rr(%) 8.52 9.52 16.26 5.38 4.45 5.25 6.53 4.09 4.34
∆ η(%) 7.89 9.32 16.83 11.71 10.89 11.10 32.13 30.75 29.01
∆ λ(%) 2.65 2.47 2.79 2.32 2.50 2.89 1.82 2.35 2.74 ∆ Ll=25%
∆ Τ(%) -0.15 0.16 0.44 0.91 0.68 1.23 0.78 0.63 1.06
∆ Rr(%) 12.21 12.93 18.26 9.53 7.94 8.78 10.20 6.33 6.74
∆ η(%) 10.22 11.21 17.21 22.10 21.33 21.39 62.93 63.02 61.12
∆ λ(%) 4.77 4.64 4.96 4.55 4.45 4.86 1.50 3.68 4.14 ∆ Ll=50%
∆ Τ(%) -0.28 0.05 0.28 1.36 0.66 1.19 -0.06 0.68 1.11
∆ Rr(%) 15.85 16.45 20.74 13.47 11.12 11.81 10.39 7.18 7.69
∆ η(%) 12.59 13.33 18.19 32.50 31.99 31.70 92.67 95.63 93.80
∆ λ(%) 6.87 6.79 7.12 6.45 6.19 6.63 3.17 4.31 4.78 ∆ Ll=75%
∆ Τ(%) -0.37 -0.06 0.13 1.74 0.66 1.17 1.04 0.80 1.16
Table 4.4 Effect of uncertainty of leakage inductance on observer
85
4.4 Experimental Results
4.4.1 Observer convergence
Extensive testing has been performed with the proposed observer. Figs. 4.10-4.18 show the
convergence error of the flux observer. The experiments were run at low speed (100 rpm),
medium speed (1000 rpm) and high speed (2000 rpm). For each speed level, 3 loading conditions
were considered: No load, medium load (8 Nm) and high load (16 Nm). The graphs on the right
side are the current and flux errors (respectively) for the d-component (the q component is
similar). The graphs on the left side represent the estimates of rotor resistance and time constant
inverse; the dotted line represents the real value. The observer was started after the motor was
operating at steady state.
Figure 4.10 Observer convergence for low speed/no load
86
Figure 4.11 Observer convergence for medium speed/no load
Figure 4.12 Observer convergence for high speed/no load
87
Figure 4.13 Observer convergence for low speed/medium load
Figure 4.14 Observer convergence for medium speed/medium load
88
Figure 4.15 Observer convergence for high speed/medium load
Figure 4.16 Observer convergence for low speed/high load
89
Figure 4.17 Observer convergence for medium speed/high load
Figure 4.18 Observer convergence for high speed/high load
90
4.4.2 Load Step
Another set of tests consisted in a step in the motor load. The top graphs in Figures 4.19-4.21
show the behavior of the estimates of rotor resistance and inverse of time constant while the
bottom graphs show the torque current and the speed, respectively.
Figure 4.19 Load step at 400 rpm
91
Figure 4.20 Load step at 1000 rpm
Figure 4.21 Load step at 1600 rpm
92
4.4.3 Tracking of a variable reference
To represent a continuously dynamic condition, the speed reference was made sinusoidal. Fig.
4.22 shows the flux convergence and current convergence together with the estimates of rotor
resistance and inverse of time constant. Fig. 4.23 shows the reference and measured speed.
Figure 4.22 Observer behavior for a sinusoidal speed reference
93
Figure 4.23 Reference and measured speed reference
Fig. 4.24 shows the effect of heating of on the rotor resistance estimate for a relatively long
period of time (10 minutes). The motor was loaded at maximum load.
Figure 4.24 Rotor resistance estimate for heating
94
4.5 Summary
A sliding mode flux observer was developed in this chapter. The observer allows not only flux
observation but also calculates the values of rotor resistance and the inverse of the rotor time
constant. Due to the low sensitivity to rotor resistance of the stator currents, higher errors in the
Rr and η are obtained when the motor operates at low levels of torque. However, due to the same
sensitivity, the errors in flux and torque estimation are small. Furthermore, throughout the entire
speed and load range, provided that the leakage inductance and stator resistance are known, the
flux and torque estimation errors are small (below 2%). The observer is robust to uncertainties in
the leakage inductance values but relatively sensitive to uncertainties in the stator resistance
values. Simulations and experimental results prove the validity of the current approach.
95
CHAPTER 5
5 INDIRECT FIELD ORIENTED CONTROL ALGORITHM
The control of induction motors is a challenging problem since it has a nonlinear model, rotor
variables are rarely measurable and its parameters vary with operating conditions. Field oriented
control in its various forms (stator or rotor flux, direct or indirect) allows for the independent
control of flux and torque (or speed or position) and exhibits good dynamic response. However,
the classical (PI-based) field oriented control (CFOC) is sensitive to parameter variations and
needs tuning of at least six control parameters (a minimum of 3 PI controller gains). Continuous
time sliding mode (CTSM) controllers are simple to implement, are more robust to parameter
variation and exhibit good dynamic response. Theoretically, since the output of the controller is a
switching function, it can be directly used to switch the power components. However, since the
switching frequency of the converter and the sampling frequency of the controllers are limited,
chattering will be produced. To reduce chattering, the control can be modified to a so-called
boundary layer control. However, this type of control eliminates the possibility of using sliding
mode control directly to switch the power components and the use of PWM becomes necessary.
Discrete time sliding mode (DTSM) control is an adaptation of CTSM control for systems that
operate at discrete time samples. It is based on the prediction of the state trajectory at next step
and virtually exhibits perfect tracking and dynamic response. However, it is sensitive to motor
parameter uncertainties.
96
In this chapter, the three algorithms (CFOC, CTSM and DTSM) are implemented on a DSP-
based controller. Using theoretical observations and experimental results the three control
algorithms are compared on the basis of their dynamic response, reference tracking, ease of
implementation (tuning and algorithm complexity), robustness to parameter uncertainty and
stability of tracking (existence of chattering).
5.1 Classical Field Oriented Control
The objective of vector control of induction machine is to allow an induction machine to be
controlled just like a separately excited dc machine. This is achieved through transformations of
variables to a coordinate reference frame that rotates along with the rotor flux. Applying the
transformation to the rotor fluxes we have:
errqrdr
edr λλλλλ ==+= 22 0=e
qrλ (5.1)
Similar transformation can be applied to the d-q stator currents and a new state space model can
be derived with eeds
eqs
err ii θλω ,,,, as the transformed state variables.
JT
JBi
dtd L
reqs
er
r −−⋅⋅= ωλµω (5.2)
edsm
er
er iL
dtd ⋅⋅+⋅−= ηληλ (5.3)
97
eqs
ser
eds
eqs
medsrp
errp
eqs
eqs v
Lii
Linnidt
diσλ
ηωλωβγ 1+⋅
⋅⋅−⋅−⋅−⋅−= (5.4)
eqs
sedr
eqs
meqsrp
er
eds
eds v
Li
Linidt
diσλ
ηωλβηγ 12
+⋅⋅+⋅+⋅⋅+⋅−= (5.5)
er
eqs
mrpe i
Lndt
dλ
ηωθ+= (5.6)
and the expression for torque is given by :
eqs
ere iJT ⋅⋅= λµ (5.7)
The advantage of this transformation is that the new system has the states as DC quantities. The
main disadvantage is that the system becomes nonlinear and that the d-q equations for current are
coupled. Fig. 5.1 shows the block diagram of the controller used in this research.
98
abcto dqe
Flux, θeObserver
dqto abc
RrObserver
Flux controller
Lmcalculation
iqController
Tref Optimal fluxcalculation
Iqcalculation
idController PWM
θe
θe
Decouple
iaib
Va Vb
ωr
edsi
eqsi
drλ
*drλ
*edsi
*eqsi
dsV
qsVcompqsV _
compdsV _
ωslip
Figure 5.1 Control block diagram
5.1.1 Outer loop
The rotor flux dynamics are linear and only dependent on the d-current input. PI controllers can
be used to force the rotor flux to follow the reference value:
� ��
���
� −+��
���
� −= dtKKi er
erI
er
erP
eds
λλλλ*
2*
2*
(5.8)
99
where the starred variables represent the commanded (reference) values of the variables. The
flux reference can either be left constant or modified to accomplish certain requirements
(minimum current, maximum efficiency, field weakening) [38,42-69,107]. In this work, the flux
reference was chosen to minimize efficiency at steady state and was weakened for speeds above
rated. The optimal efficiency flux can be calculated as a function of the torque reference [38].
4 2
2_ �
�
�
�
��
�
�+⋅⋅= r
m
rsref
eoptdr R
LLRTλ (5.9)
However, since saturation is considered, the reference flux was limited to the saturation value
(0.5 Wb). For speeds above rated, it is necessary to weaken the flux so that the supply voltage
limits are not exceeded. The flux reference is calculated as:
actualr
ratederateddr
eoptdr
eoptdr
edr
__
*_
*_
* if ,
ωωλλλλ ⋅≤= (5.10)
actualr
ratederateddr
eoptdr
actualr
ratederateddr
edr
__
*_
__
* if ,
ωωλλ
ωωλλ ⋅>⋅= (5.11)
The q-current reference is calculated from the torque equation to provide fast torque tracking.
edr
refeqs
J
Ti
λµ ⋅⋅=
* (5.12)
100
5.1.2 Inner loop
The dynamics of stator currents with stator voltages as inputs are coupled and non-linear.
However if the stator voltages commands are given in the form:
compqseqs vuv _1
*−= (5.13)
compdseds vuv _2
*−= (5.14)
where
edses
errp
r
mer
eqs
eds
medsrp
errscompqs iLn
LLii
LinLv ωσλωλ
ηωλβωσ −−=��
�
�
��
�
�⋅⋅−⋅−−=_ (5.15)
)(2
_er
eqses
ere
dr
eqs
meqsrpscompds iL
iLinLv λβηωσλβη
ληωσ ⋅⋅+=
���
�
�
���
�
�
⋅⋅+⋅⋅+⋅= (5.16)
then the stator current dynamics reduce to
1uidt
di eqs
eqs +⋅−= γ (5.17)
101
2uidt
di eds
eds +⋅−= γ (5.18)
Since the current dynamics are linear and decoupled, PI controllers can be used for current
tracking i.e
� ��
���
� −+��
���
� −= dtiiKiiKu eqs
eqsI
eqs
eqsP
*1
*11 (5.19)
� ��
���
� −+��
���
� −= dtiiKiiKu eds
edsI
eds
edsP
*2
*2
*2 (5.20)
5.1.3 Flux and reference frame observer
Since flux is not measurable, an observer is needed to calculate its value. Depending on how this
is done, the terminology is Direct Vector Control (if flux estimated directly in stationary
reference frame) or Indirect (if it is estimated in synchronously rotating reference frame). The
indirect form was used. Specifically define the synchronous frequency, ωe as:
dtd ee θω = (5.21)
The slip angle can be expressed as:
102
er
eqs
r
mer
eqs
mrpesli
TLi
Lnλλ
ηωωω ==−= (5.22)
( )θ ω ω ωe e p r sldt n dt= = +� � (5.23)
The rotor flux can be calculated from the flux equation:
λ re m
rdseL
T si=
+1 (5.24)
5.1.4 Simulation Results
A series of simulations were conducted. The simulation (later conducted as an experimental test)
consisted of applying a change in torque reference, holding it for 1.2 seconds and then returning
to the previous reference. The load was modified so that each test is performed at a different
speed. Three tests are represented in the Figs. 5.2-5.4:
- torque reference change from 6 to 16 Nm at low speed,
- torque reference change from 4 to 6 Nm at medium speed,
- torque reference change from 2 to 4 Nm at high speed (flux weakening).
103
Figure 5.2 CFOC torque and flux tracking (simulation)
Figure 5.3 CFOC edsi and e
qsi tracking (simulation)
104
Figure 5.4 CFOC speed curves Figs. 5.2-5.4 show that good tracking of flux and torque can be obtained by properly tuning the
PI controller gains. There is no steady-state error and the transient response of the system is short
(limited only by the time constants of the system.
5.2 Continuous time sliding mode control
It is possible to apply sliding mode control directly (by defining the sliding surfaces as flux plus
its derivative and torque), as shown in [84,101]. However, this method does not offer a practical
way of limiting the currents. Therefore, a cascaded structure was used in the controller (like for
the CFOC). The inner loop (currents) consists of sliding mode controllers while the outer loop
generates current commands as shown in the previous section. The sliding surfaces for the
current controllers are defined as:
105
eds
eds
eqs
eqs
iis
iis
−=
−=
*2
*1
(5.25)
The sliding mode equations become:
eqs
s
er
eds
eqs
eqs
vL
iiitfdt
dsσ
λ 1),,,,(*
11 += (5.26)
eds
s
er
eds
eqs
eds
vL
iiitfdt
dsσ
λ 1),,,,(*
22 += (5.27)
If the control is chosen as:
max1)( Ussignveqs ⋅−= (5.28)
max2 )( Ussignveds ⋅−= (5.29)
the sliding surfaces will exponentially converge to zero, which means the reference trajectories
will be tracked. There is a net advantage over indirect vector control methods, in that the control
is robust to parameter uncertainties in the stator since it does not require the d-q decoupling
terms. However, the problems associated with the rotor parameters in vector control (errors in
the flux estimation and errors in reference frame conversion) will still exist. Since sliding mode
control is an high-gain type control, the dynamic response of the system will be faster than a
properly tuned PI control. However, due to the finite switching frequency of the converter (and
associated control board), chattering will appear in the response of the system, causing torque
pulsations and heat losses. In order to somewhat decrease the chattering, a boundary layer
control was employed. In this approach the switching function is substituted by a gain when the
sliding surface is within a boundary layer of zero.
106
U
s
Umax
-Umax
Figure 5.5 Boundary layer control
As shown in [101] it is generally not recommended to cascade continuous time sliding mode
controllers due to the oscillations that may appear in such structure. Therefore, the same flux
controller used in the previous section (PI based) was employed.
5.2.1 Simulation Results
The following graphs show the results of the simulations for CTSM. Since chattering is present,
for figure clarity, the graphs were represented separately for each test. The test from 4-6 Nm was
dropped intentionally since it does not present any problem.
107
Figure 5.6 CTSM torque and flux tracking for first test (simulation)
Figure 5.7 CTSM edsi , e
qsi tracking for first test (simulation)
108
Figure 5.8 CTSM torque and flux tracking for second test (simulation)
Figure 5.9 CTSM edsi , e
qsi tracking for second test (simulation)
109
It can be seen that the eqsi reference cannot be tracked for high speeds if limitations on current
and voltage are imposed. Also, the chattering level is still high. Two alternative solutions can be
used to solve this problem.
Inclusion of the decoupling terms
This adds the decoupling terms. The following simulation shows the results of adding the
decoupling terms. Although this method seems to solve the problem, it obviously decreases the
robustness of the algorithm to parameter variation and complicates the control.
Figure 5.10 CTSM with decoupling torque and flux tracking (simulation)
110
Figure 5.11 CTSM with decoupling edsi , e
qsi tracking (simulation)
Addition of an integral term of the error to the control
This method was also used for the implementation of CTSM. Although some extra tuning is
necessary for the integral term, the method preserves the robustness to parameter uncertainty of
the CTSM. The following simulation shows the results of adding the integral term of the error to
the control signal.
111
Figure 5.12 CTSM with integral term torque and flux tracking (simulation)
Figure 5.13 CTSM with decoupling edsi , e
qsi tracking (simulation)
112
5.3 Discrete time sliding mode control
The discrete time sliding mode (DTSM) control offers an alternative for chattering reduction in
sliding mode controllers even if the switching frequency is limited. By rewriting the discrete
version of the current equations one obtains:
)()()()1( *_
** nVbnVbniani eqscompqs
eqs
eqs ++=+ (5.30)
)()()()1( *_
** nVbnVbniani edscompds
eds
eds ++=+ (5.31)
where TSea ⋅−= γ* , s
**
L-ab
⋅⋅=
σγ1 , TS - sampling time
The control signals can than be calculated so that the currents reach their references in one
sample time.
)()(
)( _*
**
nVb
niainV compqs
eqs
eqse
qs −⋅−
= (5.32)
)()(
)( _*
**
nVb
niainV compds
eds
edse
ds −⋅−
= (5.33)
113
Since the calculated value of the control may exceed the maximal possibilities of the converter
(DC bus voltage), an equivalent control was used. For the d-axis the control is:
���
���
�
>⋅
≤
=maxmax
max
_ )( if ,)(
)()( if ),(
)( UnVnV
nVU
UnVnVnV e
dseds
eds
eds
eds
eeqds
(5.34)
The net advantage of such control is that it preserves the good dynamic performance of the
continuous time sliding mode control while eliminating chattering.
5.3.1 Discrete time flux controller
Due to the intrinsic structure of the discrete time controller (in which instead of the switch
function a continuous function is used), cascading is possible for the current and flux controllers.
Following the same concepts as in the design of the current controller, the flux controller
equation is:
*
**)()(
λ
λλb
nianiedr
edre
ds⋅−= (5.35)
where 2* TSea ⋅−= ηλ , m
** L
-ab ⋅=
ηλ
λ1
, TS2 - sampling time of the flux controller.
114
5.3.2 Simulation Results
The following graphs show simulation results of the proposed control for the same tests that
were used for the CFOC.
Figure 5.14 DTSM torque and flux tracking (simulation)
Figure 5.15 DTSM edsi , e
qsi tracking (simulation)
115
Figure 5.16 Speed for DTSM (simulation) Effects of parameter mismatches
However, the proposed control is sensitive to all parameters, noise and delays in the system and
can be looked at as an open-loop control. Figs. 5.17-5.18 show the effect of parameter
mismatches on the high and low speed tests. For these simulations, the following mismatches
were used:
Lls=2*Lls, Lm=0.8*Lm, Rr=1.5*Rr, Rs=0.8*Rs
Figure 5.17 DTSM torque and flux tracking with parameter mismatch (simulation)
116
Figure 5.18 DTSM edsi , e
qsi tracking with parameter mismatch (simulation)
Integral correction term
Since the control is dependent on all motor parameters and does not have an error correcting
term (like a PI controller has), any parameter mismatch will result in a steady state tracking error.
A small error integrating term was added to the control to correct the problem.
)())()(()()(*
__ neniniknVnV oldeds
edsi
eeqds
enewds +−⋅+= (5.36)
)1()]1()1([)(*
−+−−−= neninikne oldeds
edsiold , 0)1( =olde (5.37)
117
Figs. 5.19-5.20 show the results of the discrete time sliding mode controller with integral term
(DTSI) with the parameter mismatch problem.
Figure 5.19 DTSI torque and flux tracking with parameter mismatch (simulation)
Figure 5.20 DTSI, edsi and e
qsi tracking with parameter mismatch (simulation)
118
One could observe that an error persists on torque. The error is given by the flux observer and
the improper reference orientation due to the mismatch. The controllers closely follow their
references (currents and flux). Although the torque still presents errors, the error is much smaller
than in the case without an integral term. Also, the same type of error would appear in a vector
control case.
5.4 Experimental results
A series of tests were performed on the motor using the three control algorithms described earlier
(CFOC, CTSM and DTSM). The test consisted in applying a change in torque reference, holding
it for 1.2 seconds and then returning to the previous reference. The load was modified so that
each test is performed at a different speed. Three tests are represented in Figs. 5.21-5.23:
- torque reference change from 6 to 16 Nm at low speed,
- torque reference change from 4 to 6 Nm at medium speed,
- torque reference change from 2 to 4 Nm at high speed (flux weakening).
The dotted lines in all figures represent the reference values. Figs. 5.21-5.23 represent the
variation of significant values for the CFOC.
119
Figure 5.21 Torque and flux variation for CFOC (all 3 tests)
Figure 5.22 edsi and e
qsi variation for CFOC (all 3 tests)
120
Figure 5.23 Speed variation for CFOC (all 3 tests)
Figs. 5.21-5.23 show that good tracking of flux and torque can be obtained by properly tuning
the PI controller gains. There is no steady-state error and the transient response of the system is
short (limited only by the time constants of the system.
Figs. 5.24 and 5.25 represent the variation of significant values for the CTSM with a small
integral term correction in control. The speed is not represented since its variation is very similar
to the CFOC controller. The use of CTSM introduces considerable chattering in both d and q
axis currents. As one may observe, due to the limited memory storage capacity of our data
acquisition system, aliasing is present and therefore the frequency of chattering seems smaller
than reality. While chattering does not have much influence on flux tracking, due to the large
time constant of its system, it influences the waveform of the torque creating torque oscillations
and audible noise. However, due to the considerable inertia of the motor and load, torque
oscillations do not appear in the speed waveform.
121
Figure 5.24 Torque and flux variation for CTSM (all 3 tests)
Figure 5.25 edsi and e
qsi variation for CTSM (all 3 tests)
122
Figs. 5.26 and 5.27 represent the variation of significant values for the DTSM. The chattering
problem is solved by the DTSM control. However, due to parameter uncertainties, a visible
tracking error appears at high torque and low speed.
Figs. 5.28 and 5.29 represent the variation of significant values for the DTSM with integrator
term (DTSI). The integral term added to the DTSM solves the tracking error previously shown
without considerably influencing the dynamic response of the system.
Figure 5.26 Torque and flux variation for DTSM (all 3 tests)
123
Figure 5.27 edsi and e
qsi variation for DTSM (all 3 tests)
Figure 5.28 Torque and flux variation for DTSI (all 3 tests)
124
Figure 5.29 edsi and e
qsi variation for DTSI (all 3 tests)
Figs. 5.30-5.33 show a comparison between DTSI (top graph) and CFOC (bottom graph) in
respect to their dynamic response to a torque reference change. Both the torque response and the
flux response of the DTSI are faster than the CFOC. The following graphs show the reference
tracking for the d and q axis for DTSI (top graph) and CFOC (bottom graph). As there is little
difference in reference tracking for the d current (only the reference waveform is different), there
is better tracking on the q axis for the DTSI controller.
125
Figure 5.30 Torque response comparison for DTSI and CFOC
Figure 5.31 Flux response comparison for DTSI and CFOC
126
Figure 5.32 edsi response for DTSI and CFOC
Figure 5.33 eqsi response for DTSI and CFOC
127
5.5 Summary
As can be seen from simulation and experimental results, the CTSM controller has a fast
response in the current loop (the flux loop is identical to CFOC) but produces considerable
chattering. Its implementation is the easiest. There is no need for decoupling and little tuning is
necessary. However, due to large chattering in the currents, two alternative methods were
proposed to decrease it (decoupling and integral term of error). The DTSM controller eliminates
chattering but needs accurate knowledge of all motor parameters. Its implementation is
comparable in complexity to a CFOC, but no tuning is necessary. The dynamic response is
comparable with CTSM and better than CFOC. However, a mismatch in any motor parameter
will introduce a tracking error. The DSMI solves the tracking error problem of the DTSM while
preserving its dynamic response. Table 5.1 shows a comparison between the discussed control
methods.
CFOC CTSM DTSM DTSI
Dynamic response Good Very good Very good Very good
Tracking Very good Very good Good Very good
Tuning needed Yes Little None Little
Robustness Good Good Poor Good
Chattering None Considerable None None
Table 5.1 Comparison of control techniques
128
CHAPTER 6
6 ADAPTIVE SLIDING MODE OBSERVER
The goal of this chapter is the development of a sensorless torque control system for hybrid
electric vehicle applications. A sliding mode observer is preferred for speed estimation due to its
superior robustness properties. Due to the dependency of the control system to parameter
knowledge, the controller takes into account the parameter variation over a wide range of
operating. The parameters of the motor are mapped to the operating conditions and are
continuously updated while the motor is operating.
6.1 Application conditions
Since it is desired that HEV-s operation continue even with sensor failure, it is important that
sensorlesss control algorithms be developed (without the addition of extra hardware). All known
speed sensorless techniques are sensitive to variation of parameters. The induction motor
parameters vary with the operating conditions, as is the case with all electric motors.
Furthermore, for a propulsion application the operating conditions will vary continuously. Speed
(and input frequency) will change with driving cycles, traffic conditions etc. Temperature is
influenced by loading but also by ambient, season etc. and can have variations as high as from
129
100oC. Operating flux levels will change with loading demands in order to obtain maximum
energy efficiency. The parameters of the induction motor model will change as the motor
changes operating conditions, and these changes need to be accounted for in control.
6.2 Adaptive sliding mode observer
The sliding mode observer equations are based on the induction motor current and flux
equations:
qsl
qsqrdrrqs v
Li
dtid 1ˆˆˆˆˆ
+−+−= γληβλωβ (6.1)
dsl
dsdrqrrds v
Li
dtid 1ˆˆˆˆˆ
+−+= γληβλωβ (6.2)
qsmqrdrrqr iL
dtd ˆˆˆˆ
ˆηληλω
λ+−= (6.3)
dsmdrqrrdr iL
dtd ˆˆˆˆ
ˆηληλω
λ+−−= (6.4)
Define a sliding surface as:
qdddqq iiiis λλ ˆ)ˆ(ˆ)ˆ( −−−= (6.5)
130
Let a Lyapunov function (positive definite) be
25.0 sV ⋅= (6.6)
We are interested in finding the condition for which
0<⋅= ssV �� (6.7)
After some algebraic derivation:
rGFs ω⋅+=� (6.8)
where
)ˆˆ(
)ˆˆ()ˆˆ()ˆˆ(
drdrqrqrrp
qsdsdsqsmdrqrdrqrqrdsdrqs
n
iiiiLiiF
λλλλωβ
ηλλλληβλλγ
+⋅−
∆−∆+−+∆−∆−=
0)ˆˆ( 22 ≤+−= drqrG λλβ , qsqsqs iii −=∆ ˆ , dsdsds iii −=∆ ˆ , qrqrqr λλλ −=∆ ˆ , drdrdr λλλ −=∆ ˆ
Let )(ˆ 0 ssignr ωω = with ωo chosen so that GF>0ω at all times. Then
0))(( 0 ≤⋅+=⋅= ssignGFsssV ω�� (6.9)
131
This implies that s will converge to zero in a finite time, implying the current estimates ( qsds ii ˆ,ˆ )
will converge to their real values in a finite time. To find the equivalent value of rω (the
smoothed estimated of speed, since rω is a switching function), the equation 0=s� must be solved
(see [84], section 2.3). This yields:
2222 ˆˆ
ˆˆ
ˆˆ
ˆˆˆ
drqr
qrdrdrqr
pdrqr
drdrqrqrreq n λλ
λλλληλλ
λλλλωω
+
−−
+
+= (6.10)
The equation implies that if the flux estimates converge to their real values, the equivalent speed
will be equal to the real speed. Although it was shown both in simulations and in experiments,
the flux convergence could not be proven analytically. The equation for equivalent speed cannot
be used as given in the observer since it contains unknown terms. A low pass filter is used
instead.
ωτ
ω ˆ1
1ˆ⋅+
=seq (6.11)
The operation of the sliding mode observer can be summarized in the following block diagram.
132
Induction motor(Plant)
Induction motorObserver
Low passfilter
Vd,Vq Id, Iq
qdqd II λλ ˆ,ˆ,ˆ,ˆ
Sliding surfacegeneration
)(ˆ 0 ssignωω =
s
Gainselection
eqω
ParametercalculationId, Iq
Figure 6.1 Sliding mode speed observer block diagram
6.2.1 Speed gain adaptation
The selection of the speed gain (ω0) has two major constraints:
- the gain has to be large enough to insure that sliding mode can be enforced,
- a very large gain can yield to instability of the observer to discrete time integration.
To exemplify the two situations, the following simulations show the real and estimated speed
after a speed reference step when the gain was kept constant.
133
Figure 6.2 Observer with constant small gain
Figure 6.3 Observer with constant large gain
134
The author used a linear function to tune the gain of the sliding mode observer to the filtered
equivalent speed:
600.3ˆ eq0 +⋅= ωω (6.12)
6.2.2 Recursive offset cancellation
The presence of offsets in the measured signals can negatively influence the speed estimation. A
DC offset in the measured input voltage “sees” only small impedance (just like in a dc test) and
yields a large estimated current error. This in turn yields an oscillation in the estimated speed. In
order to compensate the offsets, a recursive average value estimator for the measured voltages
and currents was used.
NNk
NkVk offsetmeasuredoffset
1)(V1)()1(V −⋅+⋅=+ (6.13)
where N is the number of samples for averaging and should be larger than the number of samples
for one period at lowest input frequency. Since at steady state the signals are sinusoidal, the
mean average is equal to the measurement offset and must be subtracted from the measurements
prior to using into the observer. Fig. 6.4 shows a comparison of the observer performance with
and without offset compensation for a 1% offset in the voltage measurement.
135
Figure 6.4 Effect of measurement offsets on speed estimation
6.2.3 Speed-flux estimation analysis
The sliding mode observer structure is similar to a Luenberg observer in which the correcting
linear factor is replaced by a sliding mode controller. This structure allows for the simultaneous
observation of rotor fluxes. Due to the high-gain properties of sliding mode controllers, the
observed fluxes will reach their real values in a short time, regardless of the initial conditions. To
illustrate this property, the author used a second order flux observer based on measured speed to
generated “real” flux estimates:
136
qsmqrdrrqr iL
dtd
ηληλωλ
+−= ˆˆˆ
(6.14)
dsmdrqrrdr iL
dtd
ηληλωλ
+−−= ˆˆˆ
(6.15)
The results of this observer were compared to the ones of the sliding mode observer.
Furthermore, the initial conditions (currents and fluxes) were disturbed at a certain point in the
test (at 0.2 seconds in the test they were all made 0) and the sliding mode observer recovered
rapidly and converged. Figures 6.5-6.7 represent real and observed simulated data for low,
medium and high speed operation.
6.2.4 Analysis of flux – speed observation (integration errors)
As can be seen from the previous graphs, due to the limited sampling frequency, the numerical
integration of the fourth order observer equations yields errors on flux observation, although the
observer produces correct speed estimates. The integration error increases with supply
frequency. Fig. 6.8 shows the flux estimation error due to numerical integration. The solid line
shows the flux estimates obtained with the second-order observer with measured speed. The
dotted line represents the flux estimates using the flux-speed observer. Instead of using the flux-
speed estimator for flux estimates, a second order observer (Eqn. 6.14-6.15) was used. This
observer produces correct flux estimates.
137
Figure 6.5 Flux- speed observation with initial condition disturbance at 100 rpm
138
Figure 6.6 Flux- speed observation with initial condition disturbance at 1100 rpm
139
Figure 6.7 Flux- speed observation with initial condition disturbance at 1500 rpm
140
Figure 6.8 Flux estimates error due to numerical integration at 1800 rpm
6.2.5 Robustness to parameter uncertainty analysis
Like any model-based observer (MRA, Kalman filter etc), the sliding mode observer is still
sensitive to parameter uncertainties. For high-speed range, the speed term dominates the other
terms in the observer equation and therefore sliding mode can be easily enforced even with
parameter errors. However, as speed decreases the errors in parameter estimation transfer into
errors in speed estimation. Figs. 6.9-6.11 show the influence of parameter uncertainty on speed
estimation. An error of 10% in parameters was chosen as a test bench of uncertainty.
141
Figure 6.9 Effect of parameter error on speed estimation at low speed
Figure 6.10 Effect of parameter error on speed estimation at medium speed
142
Figure 6.11 Effect of parameter error on speed estimation at high speed
6.2.6 Alternative speed estimation at very low speed
The sliding mode observer with parameters mapped to the operating conditions cannot correctly
estimate speeds below 20 rpm (in simulation the estimator works down to approximately 1 rpm).
There are two main causes to this problem:
- the speed component in the observer equations becomes very small compared to the other
terms in the equation,
- in order to maintain a flux level below saturation, at low frequency the amplitude of supply
voltage is very small (below 5 volts for speed below 20 rpm). Since voltage transducers are
designed for approximately 100 times this value, there is considerable amount of noise and
measurement error.
143
Instead of the sliding mode speed observer, a input frequency observer was used. The observer is
based on a least square estimator. The procedure recursively calculates the phase difference
between two consecutive samples and then calculates the input frequency.
Let two samples of the d-q axis currents at instant k be:
)sin()( ϕω += tIkids (6.16)
)cos()( ϕω += tIkiqs (6.17)
Then the dsi current at next sampling time can be calculated as:
)sin()()cos()()sin()1( TSkiTSkiTStIki qsdsds ωωωϕω +=++=+ (6.18)
where TS is the sampling time.
Assuming that the input frequency does not change considerably over the estimation process
(approximately 5 ms), the last equation can be written as:
kkk hy θ⋅= (6.19)
where ](k) (k)[ qsdsk iih = and
)]sin( )[cos( TSTSk ωωθ =
The estimation process recursively calculates the parameter vector θk over 500 samples.
The procedure can be summarized as:
1. Initialize 111
1 h'hP ⋅=− (6.20)
2. Recursively estimate θn+1 using least squares:
nnnn h'hPP ⋅+= −− 11 (6.21)
'hPk nnnw ⋅=, (6.22)
144
),1 nnnnwnn -h(yk θθθ ⋅⋅+=+ (6.23)
3. After 500 samples, calculate:
)1()2(
)2((sin1
221
nn
nTS θθ
θω+
= − (6.24)
Fig. 6.12 presents the input frequency estimation using the above method for two sinusoidal (in
quadrature) waves that double their amplitude and frequency and change phase at a certain
moment.
The frequency of the output is continuously monitored. When it falls below 1 Hz, the output of
the sliding mode observer is not used anymore, and instead the supply frequency is used.
Although perfect field orientation is lost using this idea, the motor performed relatively well at
low speed.
Figure 6.12 Input frequency estimation with least squares method
145
6.3 Overall Control Diagram
A simplified block diagram of the control diagram is shown in the Fig. 6.13.
abcto dqe
Flux, θeObserver
dqto abc
Parameter calculation and
Sliding mode observer
Flux controller
iqController
TrefIq
calculation
idController PWM
θe
θe
Decouple
iaib
Va Vb
edsi
eqsi
drλ
*drλ
*edsi
*eqsi
dsV
qsV
compqsV _compdsV _
rω
drλ
lmrs LLRR ,,,
T
Figure 6.13 Control structure
6.4 Simulations
The effect of rotor resistance errors on speed estimation was analyzed since this parameter is
prone to more inaccuracy than others. Errors up to 100% in rotor resistance values were
considered. The analysis was conducted at three speed levels for which three loading levels
146
(represented by ieqs) were considered. The results are shown in Table 6.1. It can be seen that
except for the low speed and high load range, errors in rotor resistance values have little impact
on speed estimation.
Speed, Load(ieqs) ∆ Rr=-75% ∆ Rr=-50% ∆ Rr=50% ∆ Rr=75% ∆ Rr=100%100 rpm, 0.3 A 1.27 1.35 -1.01 -1.24 -1.56100 rpm, 10 A 26.21 17.26 -17.95 -26.22 -35.64100 rpm, 17 A 44.21 29.73 -30.21 -45.85 -60.25
500 rpm, 0.3 A 0.63 0.38 -0.41 -0.57 -0.69500 rpm, 10 A 5.34 3.46 -3.75 -5.52 -7.38500 rpm, 17 A 10.02 6.31 -6.62 -9.16 -12.13
1000 rpm, 0.3 A 0.49 0.41 -0.45 -0.53 -0.661000 rpm, 10 A 3.81 1.79 -1.86 -2.81 -3.751000 rpm, 17 A 4.82 3.17 -2.93 -4.43 -6.11
Table 6.1 Speed estimation errors (%) as function of Rr error
6.4.1 Operation at different speed ranges (except very low)
For operation of the motor above 20 rpm, the control scheme performed very well. The
following graphs show different simulation tests performed at various speeds. The top graph
shows the measured (dotted line) versus estimated speed (solid line). The bottom graph shows
the torque reference tracking. The observed torque is calculated using an observer that uses
speed measurements. It can be seen that good tracking can be obtained in the entire range (except
very low speed).
147
Figure 6.14 Torque tracking at large speed
Figure 6.15 Torque tracking at medium speed
148
Figure 6.16 Torque tracking at low speed
6.4.2 Operation at very low speed
The following graphs show different tests performed at very low speed. The top graph shows the
measured (dotted line) versus estimated speed (solid line). It can be observed that in the regions
where speed fell below the threshold, speed estimates are constant for larger periods of time.
This is due to the intrinsic delay of the least-square observer. The bottom graph shows the torque
reference tracking. Although speed tracking is relatively poor, the system can still track torque.
Furthermore, the very low speed operation of the induction motor is relatively rare in propulsion
system for automotive application so the overall performance of the motor-controller system will
not be affected considerably.
149
Figure 6.17 Simulated torque and speed tracking at very low speed (example1)
Figure 6.18 Simulated torque and speed tracking at very low speed (example 2)
150
6.5 Experimental Results
6.5.1 Flux-speed convergence
The speed-flux observer was tested at various operating conditions. One test consisted in
disturbing the initial conditions (currents and fluxes were made equal to zero at 1 second) and
then observing if the observer recovers and converges (dotted line, Fig. 6.19). For comparison,
the flux estimates from the second order flux observer (with speed measurements) were used
(solid line). Both speed and flux converge in a short time as shown.
Figure 6.19 Flux- speed observation with initial condition disturbance at 100 rpm
151
6.5.2 Influence of parameter variation on speed estimation
The sliding mode speed observer was tested using rated parameters and varying (model-based)
parameters. The flux and load levels were varied within their bounds. It was observed that except
for rated conditions, the speed estimates for the model with rated (fixed) parameters exhibited
considerable more error than for the model with varying parameters. It should be noted that
temperature variation was relatively low (30oC) during the lab tests; for larger temperature
variation a larger difference in errors between the two models is expected. Figures 6.20-6.27
present results of the tests.
Figure 6.20 Estimated speed at high speed, low flux, low load
152
Figure 6.21 Estimated speed at high speed, medium flux, high load
Figure 6.22 Estimated speed at medium speed, low flux, medium load
153
Figure 6.23 Estimated speed at medium speed, medium flux, high load
Figure 6.24 Estimated speed at low speed, low flux, low load
154
Figure 6.25 Estimated speed at low speed, medium flux, high load
Figure 6.26 Estimated speed at very low speed, high flux, medium load
155
Figure 6.27 Estimated speed at very low speed, low flux, low load
In order to quantify the observer performance, the mean and the rms error between measured and
estimated speed was recursively calculated. The estimation errors for all speed ranges (maximal
values) are summarized in Table 6.2 for the model with constant parameters and in Table 6.3 for
the proposed model. The mean, maximal and standard deviation of the error are calculated at
steady state. All relative values are in respect to the measured speed. As reported for other speed
estimators the relative value of the mean error decreases with a speed increase. While the relative
mean error at speed above 1000 rpm is small for both models, considerable difference can be
observed below this speed. For speed below 20 rpm, both models performed poorly, justifying
the use of a non model-based speed estimator; its estimation errors are shown in Table 6.4.
156
Speed Mean Error Standard deviation Maximal Error
(rpm) Abs
(rpm)
Relative
(%)
Abs
(rpm)
Relative
(%)
Abs
(rpm)
Relative
(%)
20 7.73 38.63 3.19 15.97 10.27 51.34
50 6.90 13.80 2.18 4.35 9.31 18.61
100 9.52 9.52 1.45 1.45 12.60 12.60
200 25.57 12.79 7.99 4.00 39.37 19.68
500 21.50 4.30 6.81 1.36 33.63 6.73
1000 20.23 2.02 6.52 0.65 29.01 2.90
1200 16.96 1.41 1.80 0.15 19.72 1.64
1800 7.89 0.44 3.25 0.18 17.21 0.96
2000 11.76 0.59 3.64 0.18 18.45 0.92
2400 11.92 0.50 3.71 0.15 17.45 0.73
Table 6.2 Estimation Error Characteristics for model with rated parameters
157
Speed Mean Error Standard deviation Maximal Error
(rpm) Abs
(rpm)
Relative
(%)
Abs
(rpm)
Relative
(%)
Abs
(rpm)
Relative
(%)
20 2.36 11.78 2.69 13.47 6.03 30.14
50 4.03 8.07 2.27 4.55 6.11 12.22
100 8.23 8.23 3.26 3.26 13.75 13.75
200 7.16 3.58 5.96 2.98 13.44 6.72
500 6.82 1.36 4.42 0.88 12.50 2.50
1000 6.53 0.65 3.40 0.34 15.03 1.50
1200 8.15 0.68 2.62 0.22 10.66 0.89
1800 7.73 0.43 3.62 0.20 18.32 1.02
2000 9.70 0.48 3.71 0.19 19.10 0.96
2400 10.20 0.43 4.51 0.19 21.32 0.89
Table 6.3 Estimation Error Characteristics for proposed model
158
Speed Mean Error Standard deviation Maximal Error
(rpm) Abs
(rpm)
Relative
(%)
Abs
(rpm)
Relative
(%)
Abs
(rpm)
Relative
(%)
0.5 1.91 382.00 1.82 364.00 4.1 820.00
5 3.64 72.80 2.49 49.80 8.96 179.20
10 3.24 32.40 1.38 13.80 3.97 39.70
15 3.14 20.93 1.01 6.73 4.78 31.87
20 3.88 19.40 1.72 8.60 6.71 33.55
Table 6.4 Estimation Error Characteristics for least-square estimator
6.5.3 Operation at different speed ranges (except very low)
For operation of the motor above 20 rpm, the control scheme performed well. The following
graphs show different tests performed at various speeds. The top graph shows the measured
(dotted line) versus estimated speed (solid line). The bottom graph shows the torque reference
tracking. The observed torque is calculated using an observer that uses speed measurements. It
can be seen that good tracking can be obtained in the entire range (except very low speed).
159
Figure 6.28 Torque tracking at medium speed
Figure 6.29 Torque tracking at low speed
160
6.5.4 Operation at very low speed
To qualify the situations in which the speed falls below the 20 rpm limit and which can produce
large speed estimation errors, the frequency of the supply voltage was used as a measurement of
speed. The supply frequency is continuously monitored. When it falls below 1 Hz, the output of
the sliding mode observer is not used anymore, and instead the supply frequency is used.
Although perfect field orientation is lost using this idea, the motor performed relatively well at
low speed. The following graphs show different tests performed at very low speed. The top
graph shows the measured (dotted line) versus estimated speed (solid line).
The addition of the least square-based algorithm for input frequency estimation could not be
fitted within the real-time process. The zero-crossing detection was used instead for input
frequency determination, and therefore used a least precise algorithm.
It can be observed that in the regions where speed fell below the threshold, speed estimates are
constant for larger periods of time. This is due to the zero crossing detection that has an intrinsic
half-period delay. The bottom graph shows the torque reference tracking. The observed torque is
calculated using an observer that uses speed measurements (at low speed the torque estimates
with and without speed measurement would differ considerably). Although torque tracking is
relatively poor, it can still track torque. Furthermore, the very low speed operation of the
induction motor is relatively rare in propulsion system for automotive application so the overall
performance of the motor-controller system will not be affected considerably.
161
Figure 6.30 Torque control at very low speed (example1)
Figure 6.31 Torque control at very low speed (example 2)
162
Figure 6.32 Torque control at very low speed (example 3)
Figure 6.33 Torque control at very low speed (example 4)
163
6.6 Summary
A sensorless torque control system for induction motors is developed in this chapter. The system
allows for fast and precise torque tracking over a wide range of speed, from 20 rpm to 2400 rpm.
Both the speed observer and the control scheme are model based. The speed estimator is an
adaptive sliding mode observer. Gain adaptation of the observer is needed to stabilize the
observer when integration errors are present. The design and implementation issues of the
observer were analyzed (gain adaptation, offset cancellation etc). The observer can accurately
observe speed down to approximately 20 rpm. Below this level, due to the low levels of voltage
(1% of full scale) and to possible parameter mismatches the speed observations are inaccurate.
An alternative method is developed in which the input frequency is used as an observation of
speed. The overall control was shown to perform very well except for the very low speed ranges.
This poor performance at very low speed is due to the inaccurate speed observations at those
speeds. However, the motor is able to respond with a speed increase when an increased torque
command is received. Also, once the very low speed range is passed, the high performance
control resumes.
164
CHAPTER 7
7 INTELLIGENT SENSORLESS CONTROL FOR LOW SPEED
OPERATION
The analysis of the performance of the observer showed that the sliding mode speed observer
performs well for all speed ranges except for very low speed (below 20 rpm).
For all known speed observers, the percentage error for low speed estimation is very large (in
simulation the proposed estimator works down to approximately 1 rpm). There are a few main
causes to this problem:
- the speed component in the observer equations becomes very small compared to the other
terms in the observer equations,
- in order to maintain a flux level below saturation, at low frequency the amplitude of supply
voltage is very small (below 5 volts for speed below 20 rpm). Since voltage transducers are
designed for approximately 100 times this value, there is considerable amount of noise and
measurement error (nonlinearities of sensors, offsets etc),
- the delays in measurements generated by A/D delays, low pass filters (for PWM
measurements) etc, negatively affect the speed estimation at low speed.
To compensate the effects of these errors, a fuzzy-logic based speed estimator was designed for
lower speed ranges (0-20 rpm).
165
7.1 Error analysis for sliding mode speed estimator
7.1.1 Sources of errors
Estimation errors occur in all experimental setups and at any speed range. However, except for
low speed, the effect of errors can be easily neglected since their impact on speed estimation is
minimal. In order to compensate for the errors, the main sources of errors were identified as
being:
Measurement errors
This type of error is a combination of sensor, signal conditioning and A/D conversion errors.
Assuming that the induction motor is operated at constant flux, at low speed the supply voltage is
substantially smaller than the rated voltage. For our motor, rated at 250 volts, the supply voltage
needed for an 18-rpm operation is approximately 2.5 volts. Most precise voltage sensors have a
precision of approximately 0.1% of the full range. When operated at low range, this precision
can become (worst scenario) 10%. A similar phenomenon happens in the signal conditioning
circuits. For the same reasons, the A/D conversion is also affected by this error (the percentage
quantization error increases with the decrease in signal range). In a mathematical sense, the
voltage equations for the speed-flux observer become:
)1(1ˆˆˆˆˆ
mvL
idtid
qss
qsqrdrrqs ∆++−+−=
σγληβλωβ (7.1)
166
)1(1ˆˆˆˆˆ
mvL
idtid
dss
dsdrqrrds ∆++−+=
σγληβλωβ (7.2)
where m∆ represents the voltage measurement percentage error
Uncertainties in parameter estimation
Even with excellent parameter estimation techniques, there will always be some degree of error
in the estimation of motor parameters. Assuming for simplicity that there is no error in the
leakage inductance (its error actually affects very little the speed estimation), the parameter
estimation error will be reflected in all four observer equations as:
( )qsqrqss
qsqrdrrqs iv
Li
dtid ˆˆ1ˆˆˆˆˆ
21 ∆+∆++−+−= λσ
γληβλωβ (7.3)
( )dsdrdss
dsdrqrrds iv
Li
dtid ˆˆ1ˆˆˆˆˆ
21 ∆+∆++−+= λσ
γληβλωβ (7.4)
( )qsqrqsmqrdrrqr iiL
dtd ˆˆˆˆˆˆ
ˆ43 ∆+∆++−= ληληλω
λ (7.5)
( )dsdrdsmdrqrrdr iiL
dtd ˆˆˆˆˆˆ
ˆ43 ∆+∆++−−= ληληλω
λ (7.6)
where 4321 ,,, ∆∆∆∆ represent the error in the parameters multiplying the fluxes and currents
(due to errors in Rs, Rr, Lm).
Delays in measurements
The low pass filters primarily create these delays in the control system. Besides the filters in the
signal-conditioning unit, a low pass filter is used for PWM voltage measurements (to prevent
167
aliasing, the PWM signal is filtered in hardware). Delays are also introduced by the fixed
sampling rate of the signals. The effect of delays on the observer equations will be:
( ))()(1)(1ˆˆˆˆˆ
tvttvL
tvL
idtid
qsqss
qss
qsqrdrrqs −∆−++−+−=
σσγληβλωβ (7.7)
( ))()(1)(1ˆˆˆˆˆ
tvttvL
tvL
idtid
dsdss
dss
dsdrqrrds −∆−++−+=
σσγληβλωβ (7.8)
Numerical integration
Due to the relatively limited sampling time and of the need of using relatively simple integration
techniques (that have little computational burden) integration errors appear. It is likely that with
the continuous improvement of DSP’s these errors will be avoided in the future. They were
however taken into account for this research by using discrete time controllers (in simulations)
that have the same sampling time as the DSP used in experiments.
Offset in measured signals
Although there is no pure integration in the observer (an offset would drive the integration
virtually to infinity), the offset influences the speed estimation by yielding an oscillation in the
offset curve. This oscillation has the same frequency with the input, and it is therefore difficult to
filter at low speed. Furthermore, due to the low level of voltages at low speed, an otherwise small
offset could produce a large level of oscillation. For example, a 100mV offset in our setup (rated
at 250 volts, e.g. 0.04%) will induce a 90% oscillation at 5 rpm as shown in Fig. 7.1.
168
Figure 7.1 Effect of offsets in the measured voltage (100mV offset)
As this error cannot be compensated by the current approach, the offset is calculated on-line
through a low pass filter with a large time constant (3 minutes) and subtract it from the
measurements.
Noise
The present algorithm (sliding mode) is very robust to noise. Noise is considered in the
simulations and development of the controller but has less effect on speed estimation than the
other errors due primarily to the robustness properties of the sliding mode controller. Fig. 7.2
shows the effect of noise with 20% signal to noise ratio on speed estimation at 5 rpm.
169
Figure 7.2 Noise effect on speed estimation
7.1.2 Error compensation
The combined effect of all errors on the speed observer (except for noise and offsets) can be
expressed as:
iqqss
qsqrdrrqs ev
Li
dtid
++−+−=σ
γληβλωβ 1ˆˆˆˆˆ
(7.9)
iddss
dsdrqrrds ev
Li
dtid
++−+=σ
γληβλωβ 1ˆˆˆˆˆ
(7.10)
qqsmqrdrrqr eiL
dtd
ληληλωλ
++−= ˆˆˆˆˆ
(7.11)
ddsmdrqrrdr eiL
dtd
ληληλωλ
++−−= ˆˆˆˆˆ
(7.12)
170
where
( ))()()1(1ˆˆ 21 tvttvL
ie qsqsms
qsqriq −∆−∆++∆+∆=σ
λ
( ))()()1(1ˆˆ 21 tvttvL
ie dsdsms
dsdrid −∆−∆++∆+∆=σ
λ
qsqrq ie ˆˆ 43 ∆+∆= λλ dsdrd ie ˆˆ 43 ∆+∆= λλ
Fig. 7.3 presents a plot of the percentage speed estimation error as a function of speed and
loading (represented by the eqsi current). As can be seen from the last 4 equations, an attempt to
compensate the observer errors by analytically computing them would be futile due to the
uncertainties multiplying the measured and observed terms. The approach used in this research is
based on the observation that by multiplying the current dsqs ii ˆ,ˆ terms with a gain varying
between 0 and 1, the error can be compensated. This gain is not constant and varies as a function
of speed and loading. The observer structure becomes:
171
Figure 7.3 Speed estimation percentage error for low speed estimation
qss
eqeqsBqsqrdrr
qs vL
ikidtid
σωγληβλωβ 1)ˆ,(ˆˆˆˆ
ˆ+⋅−+−= (7.13)
dss
eqeqsBdsdrqrr
ds vL
ikidtid
σωγληβλωβ 1)ˆ,(ˆˆˆˆ
ˆ+⋅−+= (7.14)
)ˆ,(ˆˆˆˆˆ
eqeqsBqsmqrdrr
qr ikiLdt
dωηληλω
λ⋅+−= (7.15)
)ˆ,(ˆˆˆˆˆ
eqeqsBdsmdrqrr
dr ikiLdt
dωηληλω
λ⋅+−−= (7.16)
172
The authors of [111] observed a similar effect. Their research claims that both the stator and
rotor resistance can be modified (decreased as speed decreases) to values that seem unrealistic to
compensate the estimated speed error. Both stator and rotor resistance are varied simultaneously
and with the same a function of speed (and not of load).
)( rr fR ω= (7.17)
)( rro
sos f
RR
R ω= (7.18)
where Rso and Rro are stator and rotor resistances at rated conditions.
As can be seen from the observer equations, a similar effect is obtained by multiplying with kb
except that the terms multiplying the flux (rotor time constant) are not modified by kb. A fuzzy
controller was used to map this gain to speed and loading. Fig. 7.4 shows a block diagram of the
sliding mode-fuzzy speed observer.
Flux-speedObserver
Low passfilter
Vds,Vqsqrdrqsds II λλ ˆ,ˆ,ˆ,ˆ
Sliding surfacegeneration
)(ˆ 0 ssignωω =
s
Gainselection
eqω
Fuzzycontrol
kbeqI
qsds II ,
Figure 7.4 Sliding mode-fuzzy speed observer
173
The following steps were taken in determining kb (both in simulation and experimentally).
- The motor speed was varied between 0 and 20 rpm in steps of 1 rpm.
- For each speed, the load was varied so that the eqsi current varied between 0.1 amps and 15
amps. Since the kb variation (and error variation) is larger at lower eqsi currents, more steps
were taken in the lower range and less in the upper range.
- For each operating point, the kb coefficient was varied between (0.4 and 1) in steps of 0.05
and the average speed error was calculated after the system reached steady-state.
Fig. 7.5 shows the effect of compensation for an example of speed estimation in which
measurement errors, parameter uncertainties, delays in measurements and integration errors are
present. Fig. 7.6 presents the speed estimation error for all operating conditions at low speed
when kb is used.
Figure 7.5 Compensation of speed estimation errors
174
Figure 7.6 Speed estimation percentage error when mapped kb is used
7.2 Development of a fuzzy controller
It was shown in the previous section that for every set of speed and load (quantified here by the
eqsi current) there exists a value of the coefficient kb that minimizes the speed estimation error.
However, due to the analytical complexity of the problem and due to the uncertainties existent in
the system (parameter estimation error, sensor non-linearities etc) it is quite difficult (if not
impossible) to find an analytical expression of kb as function of the measured variables.
175
The variation of the parameter kb as function of eqsi and speed can however be quantified in
expressions of the type:
“If eqsi is around 1 amp and speed is around 10 rpm then use kb around 0.75”
This type of linguistic description makes the object of fuzzy logic. A typical fuzzy logic system
is shown in Fig. 7.7.
Fuzz
ifica
tion
Def
uzzi
ficat
ionFuzzy
inferencemechanism
Rule-base
inputs outputs
Figure 7.7 Fuzzy system
The fuzzification process consists in conversion from a crisp set (e.g. numbers) of inputs into a
linguistic classification of the inputs. The rule base is a mechanism deciding which fuzzy output
corresponds to every combination of fuzzy inputs. The inference mechanism uses the fuzzy
inputs and the rules from the rule base to determine which rules are ON and which are OFF. The
defuzzification process consists in the conversion from a fuzzy set of outputs to a crisp set.
176
7.2.1 Fuzzification
The first step in fuzzification is to quantify the linguistic meaning of the inputs using
membership functions. The membership function calculates in a continuous (probabilistic)
manner whether an input belongs (is a member of) to a certain linguistic statement. The
following picture shows the graph of the membership function “around 3 amps” (for simplicity
the notation iq3 is used for this membership function). It is obvious that if the value of eqsi is
exactly 3 than eqsi has the maximum (1) probability to be in the “around 3 amps” class. If e
qsi is
0.1 or 6, it is going to fall outside the “around 3 amps” class and the probability (certainty) of
being in that class is 0.
1 3 5
µ iq3
iq
1
Figure 7.8 Example of a membership function
The shape of the membership does not have to be triangular, as it can also be trapezoidal,
Gaussian shaped or non-symmetrical (as is the case with some of our membership functions. A
triangular shape was chosen for its ease in DSP implementation.
Figs. 7.9-7.11 show the membership functions for the 2 inputs and one output used in this work.
177
Figure 7.9 Current membership function
Figure 7.10 Speed input membership function
Figure 7.11 Output membership function
178
Except for the outer margins and the weights (center of the membership function), every input or
output will be a member of two linguistic statements (e.g. the membership function will be non-
zero). For example, eqsi =2.5 amps will be part of both “around 3 amps” (iq3) and “around 1
amp” (iq1) classes, with more certainty in the iq3 (75%) than in iq1 (25%).
The choice of number of membership functions is a compromise between two alternatives:
- a large (dense) number of membership functions will create a precise controller paying the
price of computational burden,
- a small number of membership functions is easier to implement but may suffer
approximation errors.
The density (position of the centers and margins) of the membership functions is dependent on
each application. In our case, more dense membership functions were needed toward small speed
values and small currents. The spread of the kb values was however uniform.
Fuzzification consists in calculating all the values of the membership functions for each input
variable. For example if eqsi =2.5 amps and speed=3.5 rpm then:
75.03 =iqµ 25.01 =iqµ
5.03 =rpmµ 5.04 =rpmµ
and all other values of membership functions are 0.
179
7.2.2 Rule-base
The rule base is the collection of all rules that can be derived about that controller in a linguistic
form. For example one rule is:
“If eqsi is around 1 amp and speed is around 10 rpm then use kb around 0.45”
A rule base is the set of all such rules. The total number of rules is the product of the numbers of
membership functions of each input. In case there are two or less inputs, the rule base can be
expressed in tabular form, as shown in Table 7.1 for our application.
Speed/iq rpm2 rpm3 rpm4 rpm5 rpm6 rpm9 rpm12 rpm15 rpm18 rpm20
iq01 kb73 kb64 kb50 kb45 kb45 kb45 kb45 kb45 kb45 kb45
iq02 kb86 kb82 kb73 kb68 kb64 kb50 kb45 kb45 kb45 kb45
iq03 kb91 kb86 kb82 kb77 kb77 kb68 kb59 kb55 kb50 kb45
iq05 kb93 kb91 kb86 kb86 kb86 kb82 kb77 kb73 kb73 kb68
iq07 kb93 kb93 kb91 kb91 kb91 kb86 kb82 kb82 kb82 kb77
iq1 kb95 kb93 kb93 kb93 kb93 kb91 kb91 kb86 kb86 kb86
iq3 kb98 kb97 kb97 kb97 kb97 kb97 kb97 kb97 kb96 kb96iq5 kb99 kb99 kb99 kb98 kb99 kb99 kb98 kb98 kb98 kb98
Table 7.1 Rule Base Table
7.2.3 Inference mechanism
The inputs to the inference mechanism are the rules that are ON (their membership functions are
non-zero). The output of the mechanism is a set of output fuzzy sets (implied by the rules that are
180
on). For our application, there can be a maximum of 4 pairs of inputs at any time (2 for each
input). For example if eqsi =2.5 amps and speed=3.5 rpm then the membership that are ON are:
iq3 and iq1 for the first input rpm3 and rpm4 for the second input.
These membership functions yield the following 4 possible linguistic premises:
(iq3, rpm3), (iq3, rpm4), (iq1, rpm3) and (iq1, rpm4).
In order to evaluate the “certainty” of each linguistic premise, one needs to quantify them using
the values of their membership function. The two most common ways for quantification are the
minimum and the product of their membership function. In our application the minimum was
used. The values for our sets are:
5.0)()min( 3333 =),(=),( rpmiqrpmiq µµµ
5.0)()min( 4343 =),(=),( rpmiqrpmiq µµµ
25.0)()min( 3131 =),(=),( rpmiqrpmiq µµµ
25.0)()min( 4141 =),(=),( rpmiqrpmiq µµµ
The other linguistic premises are obviously 0 for this example. By looking at the rule base table,
one can observe that each linguistic premise implies an output fuzzy set. The output of the
premise mechanism will therefore be a collection of 4 implied fuzzy sets each being associated a
certainty:
5.0)97( =kbµ
5.0)97( =kbµ
25.0)93( =kbµ
25.0)93( =kbµ
181
7.2.4 Defuzzification
Defuzzification is the conversion of the fuzzy sets into a crisp value (real number). The most
popular form of defuzzification is the center-of-gravity method, due to its low computational
burden. If ci is the center of gravity of each rule (where the output membership function is 1),
then the “crisp” output is calculated as:
� �
� �⋅=
ii
iii
crisp
cu
µ
µ (7.19)
where � iµ is the value of the membership function of the ith rule.
Furthermore, in case the rules are triangular, the equation can be simplified to:
��
�
�
��
�
�−=
2
2hhbucrisp (7.20)
where b is the base of the triangular rule and h represents the value of the membership function
of that rule. Fig. 7.12 shows the mapping of kb to eqsi and speed as obtained with simulated data.
Fig. 7.13 shows the same graph as obtained with measured data.
182
Figure 7.12 Mapping of kb as function of eqsi and speed (simulation)
Figure 7.13 Mapping of kb as function of eqsi and speed (experimental)
183
7.3 Simulations
Extensive simulation and experimental results have been obtained to prove the validity of the
current approach. The algorithm has been tested both on the premise of torque control and speed
control. To mimic a realistic situation, the following assumptions were made. Noise has a
variance of 0.1 (signal-to-noise ratio between 20 and 200) on voltage measurements and 0.05 on
current measurements (signal-to-noise ratio between 80 and 300). Voltage measurements are
delayed by 1 ms from current measurement. The estimated rotor resistance and stator resistance
have a +3% error. The estimated magnetizing inductance has a -4% error. The sampling time is
60 µs. A fixed step integration method (Euler) is used for the observer equations. The fuzzy
controller works at a sampling rate of 480 µs (it generates kb at this rate). The following
simulations show the results as follows:
- Torque regulation (reference is stepped) in the low speed range (Figs. 7.14-7.17). The results
of this test in the absence of the fuzzy controller are also shown.
- Torque reversal with small load and large load (Figs. 7.18-7.19).
- Speed regulation (reference is stepped) in the low speed range (Figs. 7.20-7.23). For
comparison, the results of this test in the absence of the fuzzy controller are also shown.
- Speed reversal with small load and large load (Figs. 7.24-7.25),
- Operation with a change in rotor resistance of 100% (Figs. 7.26-7.27). This assumes that
although the rotor resistance has changed the change is known,
- Load disturbance (Figs. 7.28).
184
Figure 7.14 Torque regulation (change from 0.3 Nm to 1.5 Nm) with fuzzy controller
Figure 7.15 Torque regulation (change from 0.3 Nm to 1.5 Nm) without fuzzy controller
185
Figure 7.16 Torque regulation (change from 1 Nm to 3 Nm) with fuzzy controller
Figure 7.17 Torque regulation (change from 1 Nm to 3 Nm) without fuzzy controller
186
Figure 7.18 Torque reversal at low speed (example 1)
Figure 7.19 Torque reversal at low speed (example 2)
187
Figure 7.20 Speed regulation at light load with fuzzy controller
Figure 7.21 Speed regulation at light load without fuzzy controller
188
Figure 7.22 Speed regulation at medium load with fuzzy controller
Figure 7.23 Speed regulation at medium load without fuzzy controller
189
Figure 7.24 Speed reversal at light load
Figure 7.25 Speed reversal at high load
190
Figure 7.26 Torque regulation with fuzzy controller and Rr doubled (and known)
Figure 7.27 Torque regulation without fuzzy controller and Rr doubled (and known)
191
Figure 7.28 Load disturbance
It can be seen that the addition of the fuzzy logic controller greatly enhances the performance of
the speed observer. The steady state error in speed and torque estimation is considerably reduced
from the case where the controller is not used. The fast dynamic performance of the sliding mode
observer is maintained. The observer is robust to parameter variation as long as it is known.
7.4 Experimental results
Extensive simulation and experimental results have been obtained to prove the validity of the
current approach. The algorithm has been tested both on the premise of torque control and speed
control.
192
The following plots show the results as follows:
- Torque regulation (reference is stepped) in the low speed range (Figs. 7.29-7.30),
- Torque reversal with small load and large load (Figs. 7.31-7.32),
- Speed regulation (reference is stepped) in the low speed range (Figs. 7.33-7.34),
- Speed reversal with small load and large load (Figs. 7.35-7.36),
- Load disturbance (Figs. 7.37).
Figure 7.29 Torque regulation (step change from 0 to 7 Nm)
193
Figure 7.30 Torque regulation (step change from 0 to 3 Nm)
Figure 7.31 Torque reversal at low speed (example 1)
194
Figure 7.32 Torque reversal at low speed (example 2)
Figure 7.33 Speed regulation with light load (step from 5 to 15 rpm)
195
Figure 7.34 Speed regulation with full load (step from 5 to 15 rpm)
Figure 7.35 Speed reversal at light load
196
Figure 7.36 Speed reversal at full load
Figure 7.37 Load disturbance
197
7.5 Summary
An adaptive sliding mode controller was appended with a fuzzy logic controller for low speed
estimation. It was observed that by modifying the observer to include a variable gain in front of
the current terms, the speed estimation error could be compensated. The fuzzy logic controller
generates this gain as a function of speed and loading.
Through extensive simulations and experiments it was demonstrated that the proposed approach
greatly reduces the speed estimation and torque tracking error and yields far better results than
when without the fuzzy controller. It was observed that the fuzzy controller performs
satisfactorily even when motor parameters change, provided that this change is known. However,
if parameters change considerably and their change is not known, the algorithm performs
unsatisfactorily.
198
CHAPTER 8
8 CONCLUSIONS AND FUTURE WORK
8.1 Conclusions
Hybrid electric vehicles consume less fuel and pollute less than conventional vehicles. The
propulsion system of a HEV has both an Internal Combustion Engine and an Electric Motor.
Since an electric motor has far better efficiency in transients and over various operating
conditions, in a HEV the ICE is kept at optimal steady state conditions and the electric motor
supplies the power necessary for transients. The induction motor is the electric motor of choice
for most HEV for its low cost, robustness and low maintenance. However, unlike the more
traditional industrial setting, in which the induction motor operates mostly at steady state, the
HEV applications require high performance control to obtain fast transient responses and energy
efficiency.
High performance control of induction motors can be achieved through field orientation. Several
aspects of field-oriented controllers were investigated in this work. Since both speed estimation
techniques and vector control are based on the induction motor model, a systematic procedure
for induction motor modeling was developed. A Γ model is used as model structure. A core loss
resistance is then added in parallel with the magnetizing inductance. All parameters are assumed
199
to be varying to capture the effects of saturation, heating, skin effect etc. The stator resistance is
estimated through a dc test. The leakage inductance, magnetizing inductance and rotor
resistance are estimated from transient data information using a constrained optimization method
to reduce the error. Sensitivity analysis is employed to show that error sensitivity to parameters
varies as a function of slip. The analysis eliminates parameters that yield low sensitivity. A large
set of data is obtained and a correlation study is employed to determine which variables correlate
with parameters. Analytical functions are used to map the parameters to operating conditions.
The core losses are estimated using a power approach. ANN are used to map the total rotor
losses (iron losses, friction and windage losses) to flux and frequency. The core losses are
obtained by subtracting the rotor losses at zero flux (generated by the ANN) from the rotor loss
surface. Since the core loss resistance is a function of both flux and frequency an ANN is used to
map it. The model is validated using tests covering various operating conditions. Large
disturbance tests and start-from-zero tests were employed.
A sliding mode flux observer was also developed in this work. The observer allows not only flux
observation but also calculates the values of rotor resistance and the inverse of the rotor time
constant. Due to the low sensitivity to rotor resistance of the stator currents,
higher errors in the Rr and η are obtained when the motor operates at low levels of torque.
However, due to the same sensitivity, the errors in flux and torque estimation are small.
Furthermore, throughout the entire speed and load range, provided that the leakage inductance
and stator resistance are known, the flux and torque estimation errors are small (below 2%). The
observer is robust to uncertainties in the leakage inductance values but relatively sensitive to
200
uncertainties in the stator resistance values. Simulations and experimental results prove the
validity of the current approach.
Three rotor field oriented control algorithms were implemented and compared. Besides the
classical PI approach, sliding mode controllers were used. The continuous time sliding mode
controller (CTSM) provides fast dynamic response and robustness to parameter variation but
yields unacceptable chattering. The discrete time sliding mode controller combines the fast
response of any sliding mode controller while eliminating the chattering characteristic to
continuous time sliding mode controllers.
An adaptive sliding mode speed-flux observer was developed. This observer eliminates some of
the problems shown by other observers (numerical integration or differentiation etc) while
yielding accurate estimates of the speed. The design and implementation issues of the observer
were analyzed (gain adaptation, offset cancellation etc). The observer can accurately observe
speed down to approximately 20 rpm. Below this level, due to the low levels of voltage (1% of
full scale) and to possible parameter mismatches the speed observations are inaccurate. An
alternative method of speed estimation was developed. The method estimates input frequency
through a least square procedure for speed values lower than 20 rpm.
This method assumes an intrinsic error (slip frequency is not accounted for) and has a slower
transient response (the input frequency is calculated from past measurements). It was observed
that by modifying the observer to include a variable gain in front of the current terms, the speed
estimation error could be compensated. A fuzzy logic controller was designed to generate this
gain as a function of speed and loading ( eqsi current). Through extensive simulations and
experiments it was demonstrated that the proposed approach greatly reduces the speed estimation
201
and torque tracking error and yields far better results than when without the fuzzy controller. The
fuzzy controller performs satisfactorily even when motor parameters change, provided that this
change is known.
8.2 Future Work
Within the scope of this work, there still remain a few aspects to be addressed to improve the
induction motor control for HEV applications:
The sliding mode speed estimation algorithms (and all model-based speed estimators) need
precise information of the rotor resistance to operate properly. However, the online rotor
resistance estimation needs speed information. Future work in this area would need to address
the simultaneous estimation of speed and rotor resistance without signal injection. Some basic
algorithms exist in literature but their results only apply at certain operating conditions. As
pointed out in [22], the main problem with the simultaneous estimation is that it can only be
performed only if the flux amplitude varies, which is rarely the case (flux is mainly kept constant
except for the high speed region).
Both rotor resistance estimation and speed estimation require the knowledge of stator resistance.
This resistance was mapped to stator temperature in this work, but it is desirable to eliminate the
temperature sensor in practical applications, and therefore use online estimation for the stator
resistance during motor operation (a DC test could easily be used if the motor is stopped).
Although online stator resistance algorithms exist, most rely on the knowledge of rotor resistance
and speed. Only recently [29] was an algorithm for the simultaneous estimation of stator and
202
rotor resistance developed; however, the algorithm suffers from high complexity; furthermore,
the author of this work attempted to duplicate the results of [29], using their own parameters but
the results were far worse than the ones published.
The fuzzy controller developed in Chapter 7 greatly improves speed estimation at low speed
provided that the parameters are known. Future work would need to address the problem of
either parameter estimation in conjunction with the fuzzy controller or the adaptation of the
fuzzy controller online to match the parameter change (without necessarily estimating the
parameters).
Another aspect that needs consideration in the future is efficiency optimization. While this is
already realized in this work for steady state conditions (by modifying the flux level), given the
operation of the induction motor in an HEV (a great deal of transient present), it becomes
important that efficiency optimization be performed during transients as well.
203
9 BIBLIOGRAPHY
[1] J. A. de Kock, F. S. van der Merwe, H. J. Vermeulen, “Induction motor parameter estimation through an output error technique,” IEEE Transactions on Energy Conversion, Vol. 9, No. 1, 1994, pp. 69-76
[2] A.M.N. Lima, C.B. Jacobina, E.B.F. de Souza, “Nonlinear parameter estimation of steady-state induction machine models,” IEEE Transactions on Industrial Electronics, Vol. 44, No. 3, 1997, pp. 390-397
[3] C.B. Jacobina, J.E. Chaves, A.M.N. Lima, “Estimating the parameters of induction machines at standstill,” IEEE-IAS Conference, 1999, pp. 446-448
[4] P. J. R. de Oliveira, P. F. Seixas, L.A. Aguirre, Z.M.A. Peixoto, “Parameter estimation of a induction machine using a continuous time model,” IECON Proceedings (Industrial Electronics Conference), Vol. 1, 1998, pp.292-296
[5] L.A. de Souza Ribeiro, C.B. Jacobina, A.M. Nogueira Lima, “Linear parameter estimation for induction machines considering the operating conditions,” IEEE Transactions on Power Electronics, Vol. 14, No. 1, 1999, pp. 62-73
[6] P. Pillay, R. Nolan, T. Haque, “Application of genetic algorithms to motor parameter determination for transient torque calculations,” IEEE Transactions on Industry Applications, Vol. 33, No. 5, 1997, pp. 1273-1282
[7] E.B. Souza Filho, A.M.N. Lima, C.B. Jacobina, “Characterization of induction machines with a genetic algorithm,” IEEE-IAS Conference 1999, pp. 446-448
[8] S.I.Moon, A. Keyhani, S. Pillutla, “Nonlinear neural-network modeling of an induction machine,” IEEE Transactions on Control Systems Technology, Vol. 7, No. 2, 1999, pp. 203-211
[9] E. Mendes, A. Razek, “A simple model for core losses and magnetic saturation in induction machines adapted for direct stator flux orientation control,” IEE Conference Publication, Vol. 399, 1994, pp.192-197
[10] S. Ansuj, F. Shokooh, R. Schinzinger, “Parameter estimation for induction machines based on sensitivity analysis,” IEEE Transactions on Industry Applications, Vol. 25, No. 6, 1989, pp. 1035-1040
[11] J. Stephan, M. Bodson, J. Chiasson, “Real-time estimation of the parameters and fluxes of induction motors,” IEEE Transactions on Industry Applications, Vol. 30, No. 3, 1994, pp. 746-759
[12] X. Xu, D.W. Novotny, “Implementation of direct stator flux orientation control on a versatile DSP based system,” IEEE Transactions on Industry Applications, Vol. 27, No. 4, 1991, pp. 694-700
[13] J.K. Seok, S.I. Moon, S.K. Sul, “Induction machine parameter identification using PWM inverter at standstill,” IEEE Transactions on Energy Conversion, Vol. 12, No. 2, 1997, pp. 127-132
[14] C. Wang, D.W. Novotny, T. A. Lipo, “An automated rotor time constant measurement system for indirect field-oriented drives,” IEEE Transactions on Industry Applications, Vol. 24, No. 1, 1988, pp. 151-159
[15] N. R. Klaes, “Parameter identification of an induction machine with regard to dependencies on saturation,” IEEE Transactions on Industry Applications, Vol. 29, No. 6, 1993, pp. 1135-1140
[16] Y.N. Lin, C.L. Chen, “Automatic IM parameter measurement under sensorless field-oriented control,” IEEE Transactions on Industrial Electronics, Vol. 46, No.1, 1999, pp. 111-118
[17] S.K. Sul, “A novel technique of rotor resistance estimation considering variation of mutual inductance,” IEEE Transactions on Industry Applications, Vol. 25, No. 4, 1989, pp. 578-587
204
[18] K. Akatsu, A. Kawamura, “Online rotor resistance estimation using the transient state under the speed sensorless control of induction motor,” IEEE Transactions on Power Electronics, Vol. 15, No.3, 2000, pp.553 –560
[19] H.A.Toliyat, M.S. Arefeen, K.M. Rahman, D. Figoli, “Rotor time constant updating scheme for a rotor flux-oriented induction motor drive,” IEEE Transactions on Power Electronics, Vol.14, No.5, 1999, pp. 850 -857
[20] M. Montanari, S. Peresada, A. Tilli, A. Tonielli, “Speed sensorless control of induction motor based on indirect field-orientation,” Conference Record of the 2000 IEEE Industry Applications Conference, Vol.3, 2000, pp.1858-1865
[21] I-J. Ha, S-H. Lee, “An online identification method for both stator-and rotor resistances of induction motors without rotational transducers,” IEEE Transactions on Industrial Electronics, Vol. 47, No. 4, 2000, pp.842 –853
[22] H. Kubota, K. Matsuse, “Speed sensorless field-oriented control of induction motor with rotor resistance adaptation,” IEEE Transactions on Industry Applications, Vol. 30, No.5, 1994, pp. 1219-1224
[23] M.S. Nait Said, M.E.H. Benbouzid, “Induction motors direct field oriented control with robust on-line tuning of rotor resistance,” IEEE Transactions on Energy Conversion, Vol. 14, No.4, 1999, pp.1038 –1042
[24] F-J. Lin, H-M. Su, “A high-performance induction motor drive with on-line rotor time-constant estimation,” IEEE Transactions on Energy Conversion, Vol. 12, No.4, 1997, pp.297 –303
[25] R.D. Lorenz, D.B. Lawson, “A simplified approach to continuous on-line tuning of field-oriented induction machine drives,” IEEE Transactions on Industry Applications, Vol. 26 No.3, 1990, pp.420–424
[26] L. Salvatore, S. Stasi, L. Tarchioni, “A new EKF-based algorithm for flux estimation in induction machines,” IEEE Transactions on Industrial Electronics, Vol. 40, No.5, Oct. 1993, pp.496 –504
[27] M.S.N. Said, M.E.H. Benbouzid, A. Benchaib, “Detection of broken bars in induction motors using an extended Kalman filter for rotor resistance sensorless estimation,” IEEE Transactions on Energy Conversion, Vol. 15, No.1, March 2000, pp.66 –70
[28] B. Aloliwi, H.K. Khalil, E.G. Strangas, “Robust speed control of induction motors using adaptive observer,” Proceedings of the American Control Conference, Vol. 2, 1999, pp.931 –935
[29] R. Marino, S. Peresada, P. Tomei, “On-line stator and rotor resistance estimation for induction motors,” IEEE Transactions Control Systems Technology, Vol. 8, May 2000, pp. 570 -579
[30] R. Marino, S. Peresada, P. Tomei, “Global adaptive output feedback control of induction motors with uncertain rotor resistance,” IEEE Transactions on Automatic Control, Vol. 44, No. 5, May 1999, pp. 967 –983
[31] R. Marino, S. Peresada, P. Tomei, “Output feedback control of current-fed induction motors with unknown rotor resistance,” IEEE Transactions on Control Systems Technology, Vol. 4, No. 4, July 1996, pp. 336-347
[32] R. Marino, S. Peresada, P. Tomei, “Exponentially convergent rotor resistance estimation for induction motors,” IEEE Transactions on Industrial electronics, Vol. 42, No. 5, Oct. 1995, pp. 508-515
[33] T. Noguchi, S. Kondo, I. Takahashi, “Field-oriented control of an induction motor with robust on-line tuning of its parameters,” IEEE Transactions on Industry Applications, Vol. 33, No. 1, Jan-Feb 1997, pp. 35-42
[34] 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, 1992, pp. 96-104
[35] D.J. Atkinson, P.P. Acarnley, J.W. Finch, “Observers for induction motor state and parameter estimation,” IEEE Transactions on Industry Applications, Vol. 27, No. 6, 1991, pp. 1119-1127
[36] S. Wade, M.W. Dunnigan, B.W. Williams, “New method of rotor resistance estimation for vector-controlled induction machines,” IEEE Transactions on Industrial Electronics, Vol. 44, No. 2, 1997, pp. 247-257
205
[37] G.R. Slemon, “Modelling of induction machines for electric drives,” IEEE Transactions on Industry Applications, Vol. 25, No. 6, 1989, pp. 1126-1131
[38] K. Matsuse, T. Yoshizumi, S. Katsuta, S. Taniguchi, “High response flux control of direct-field-oriented induction motor with high efficiency taking core loss into account,” IEEE Transactions on Industry Applications, Vol.35, No. 1, Jan-Feb. 1999, pp.62-69
[39] C. Canudas de Wit, J. Ramirez, “Optimal torque control for current-fed induction motors,” IEEE Transactions on Automatic Control, Vol. 44, No. 5, 1999, pp. 1084-1089
[40] S. Taniguchi, T. Yoshizumi, K. Matsuse, “Method of speed sensorless control of direct-field-oriented induction motor operating at high efficiency with core loss consideration,” IEEE - APEC, Vol.2, 1999, pp. 1244-1250
[41] P. Marino, M. Milano, F. Vasca, “Linear quadratic state feedback and robust neural network estimator for field-oriented-controlled induction motors,” IEEE Transactions on Industrial Electronics, Vol. 46, No. 1, 1999, pp. 150-161
[42] R.S. Wieser, “Optimal rotor flux regulation for fast-accelerating induction machines in the field-weakening region,” IEEE Transactions on Industry Applications, Vol. 34, No. 5, 1998, pp. 1081-1087
[43] F. Abrahamsen, F. Blaabjerg, J.K. Pedersen, P.Z. Grabowski, P. Thogersen, “On the energy optimized control of standard and high-efficiency induction motors in CT and HVAC applications,” IEEE Transactions on Industry Applications, Vol. 34, No. 4, 1998, pp. 822-831
[44] O. Wasynczuk, S.D. Sudhoff, I.G. Hansen, L.M. Taylor, K.A. Corzine, J.L. Tichenor, P.C. Krause, “Maximum torque per ampere control strategy for induction motor drives,” IEEE Transactions on Energy Conversion, Vol. 13, No. 2, 1998, pp. 163-169
[45] O. Ojo, M. Vipin, I. Bhat, “Steady-state performance evaluation of saturated field oriented induction motors,” IEEE Transactions on Industry Applications, Vol. 30, No. 6, 1994, pp. 1638-1647
[46] G.O. Garcia, J.C. Luis, S. Mendes, E.H. Watanabe, “An efficient controller for an adjustable speed induction motor drive,” IEEE Transactions on Industrial Electronics, Vol. 41, No. 5, 1994, pp. 533-539
[47] L. Huang, Y. Tadokoro, K. Matsuse, “Deadbeat flux level control of direct-field-oriented high-horsepower induction servo motor using adaptive rotor flux observer,” IEEE Transactions on Industry Applications, Vol. 30, No. 4, 1994, pp. 954-962
[48] I.T. Wallace, D.W. Novontny, R.D. Lorenz, D.M. Divan, “Increasing the dynamic torque per ampere capability of induction machines,” IEEE Transactions on Industry Applications, Vol. 30, No. 1, 1994, pp. 146-153
[49] G. Kim, I. Ha, M. Ko, “Control of induction motors for both high dynamic performance and high power efficiency,” IEEE Transactions on Industrial Electronics, Vol. 39, No. 4, 1992, pp. 323-333
[50] R.D. Lorenz, S.M. Yang, “Efficiency-optimized flux trajectories for closed-cycle operation of field-orientation induction machine drives,” IEEE Transactions on Industry Applications, Vol. 28, No. 3, 1992, pp. 574-580
[51] S. Sangwongwanich, M. Ishida, S. Okuma, Y. Uchikawa, K. Iwata, “Realization of time-optimal single-step velocity response control of field-oriented induction machines under the condition of nonsaturation of flux,” IEEE Transactions on Industry Applications, Vol. 27, No. 5, 1991, pp. 947-955
[52] T. Murata, T. Tsuchiya, I. Takeda, “Quick response and high efficiency control of the induction motor based on optimal control theory,” IFAC Symposia Series - Proceedings of a Triennial World Congress, Vol. 4, 1991, pp. 539-544
[53] P.C. Famouri, J. Jimmie, “Loss minimization control of an induction motor drive,” IEEE Transactions on Industry Applications, Vol. 27, No. 1, 1991, pp. 32-37
206
[54] S. Sangwongwanich, M. Ishida, S. Okuma, Y. Uchikawa, K. Iwata, “Time-optimal single-step velocity response control scheme for field-oriented induction machines considering saturation level,” IEEE Transactions on Power Electronics, Vol. 6, No. 1, 1991, pp. 108-117
[55] F.M.H. Khater, R.D. Lorenz, D.W. Novotny, K. Tang, “Selection of flux level in field-oriented induction machine controllers with consideration of magnetic saturation effects,” IEEE Transactions on Industry Applications, Vol. IA-23, No. 2, 1987, pp. 276-282
[56] D.S. Kirschen, D.W. Novotny, T.A. Lipo, “Optimal efficiency control of an induction motor drive,” IEEE Transactions on Energy Conversion, Vol. EC-2, No. 1, 1987, pp. 70-76
[57] I. Takahashi, T. Noguchi, “New quick-response and high-efficiency control strategy of an induction motor,” IEEE Transactions on Industry Applications, Vol. IA-22, No. 5, 1986, pp. 820-827
[58] D.S. Kirschen, D.W. Novotny, T.A. Lipo, “On-line efficiency optimization of a variable frequency induction motor drive,” IEEE Transactions on Industry Applications, Vol. IA-21, No. 3, 1985, pp. 610-616
[59] H.G. Kim, S.K. Sul, M.H. Park, “Optimal efficiency drive of a current source inverter fed induction motor by flux control,” IEEE Transactions on Industry Applications, Vol. IA-20, No. 6, 1984, pp. 1453-1459
[60] I. Takahashi, Y. Ohmori, “High-performance direct torque control of an induction motor,” IEEE Transactions on Industry Applications, Mar.1989, pp. 257-264.
[61] S.K. Sul, M.H. Park, “Novel technique for optimal efficiency control of a current-source inverter fed induction motor,” IEEE Transactions on Power Electronics, Vol. 3, No. 2, Apr. 1988, pp. 192-199
[62] A. Baba, E. Mendes, A. Razek, “Losses minimization of a field-oriented controlled induction machine by flux optimization accounting for magnetic saturation,” IEEE IEMDC 1997, pp. MD1 2.1-2.3
[63] J. Moreno-Eguilaz, M. Cipolla, J. Peracaula, P.J. da Costa Branco, “Induction motor optimum flux search algorithms with transient state loss minimization using a fuzzy logic based supervisor,” Record – IEEE PESC, Vol. 2, 1997, pp.1302-1308
[64] G.C.D. Sousa, B.K. Bose, J.C. Cleland, “Fuzzy logic based on-line efficiency optimization control of an indirect vector-controlled induction motor drive,” IEEE Transactions on Industrial Electronics, Vol. 42, No. 2, 1995, pp.192-198
[65] I. Kioskeridis, N. Margaris, “Loss minimization in induction motor adjustable speed drives,” IEEE Transactions on Industrial Electronics, Vol.43, No.1, Feb.1996, pp.226-231
[66] J.C. Moreira, T.A. Lipo, V. Blasko, “ Simple efficiency maximizer for an adjustable frequency induction motor drive,” IEEE Transactions on Industry Applications, Vol. 27, No. 5, Sep-Oct 1991, pp. 940-946
[67] K. Matsuse, T. Yoshizumi, S. Katsuta, S. Taniguchi, “High response flux control of direct-field-oriented induction motor with high efficiency taking core loss into account,” IEEE Transactions on Industry Applications, Vol.35, No.1, Jan-Feb. 1999, pp.62-69
[68] J.K. Seok, S.K. Sul, “ Optimal flux selection of an induction machine for maximum torque operation in flux-weakening region,” IEEE Transactions on Power Electronics, Vol. 14, No.4, July 1999, pp.700-708
[69] R.T. Novotnak, J. Chiason, M. Bodson, “High performance motion control of induction motor with magnetic saturation,” IEEE Transaction on Control Systems Technology, Vol.7, No.3, May 1999, pp.315-327
[70] K. Matsuse, S. Katsuta, M. Tsukakoshi, M. Ohta, L. Huang, “Fast rotor flux control of direct-field-oriented induction motor operating at maximum efficiency using adaptive rotor flux observer,” Conference Record - IAS Annual Meeting (IEEE Industry Applications Society), Vol. 1, 1995, pp.310-317
[71] H. Oman, “Electric and hybrid vehicle performance,” IEEE Aerospace and Electronic Systems Magazine, Vol.14, No.4, 1999, pp. 43-45
207
[72] J.M. Miller, A.R. Gale, P.J. McCleer, F. Leonardi, J.H. Lang, “Starter-alternator for hybrid electric vehicle: Comparison of induction and variable reluctance machines and drives,” Conference Record - IAS Annual Meeting (IEEE Industry Applications Society), Vol.1, 1998, pp. 513-523
[73] D.O. Neacsu, K. Rajashekara, “Comparative analysis of torque-controlled IM drives with applications in electric and hybrid vehicles,” IEEE Workshop on Power Electronics in Transportation, 1998, pp. 3-10
[74] B.K. Powell, K.E. Bailey, S. R. Cikanek, “Dynamic modeling and control of hybrid electric vehicle powertrain systems,” IEEE Control Systems Magazine, Vol. 18, No. 5, 1998, pp. 17-33
[75] H.D. Lee, S.K. Sul, “Fuzzy-logic-based torque control strategy for parallel-type hybrid electric vehicle,” IEEE Transactions on Industrial Electronics, Vol. 45, No. 4, 1998, pp. 625-632
[76] G.A. Hubbard, K. Youcef-Toumi, “Modeling and simulation of a hybrid-electric vehicle drivetrain,” Proceedings of the American Control Conference, Vol. 1, 1997, pp. 636-640
[77] G.A. Hubbard, K. Youcef-Toumi, “System level control of a hybrid-electric vehicle drivetrain,” Proceedings of the American Control Conference, Vol. 1, 1997, pp. 641-645
[78] S. R. Cikanek, K. E. Bailey, B. K. Powell, “Parallel hybrid electric vehicle dynamic model and powertrain control,” Proceedings of the American Control Conference, Vol. 1, 1997, pp. 684-688
[79] A. Nikopoulos, H. Hong, T. Krepec, “Energy consumption study for a hybrid electric vehicle,” SAE Special Publications, Vol. 1243, 1997, pp. 11-18
[80] M. Ehsani, K.M. Rahman, H.A. Toliyat, “Propulsion system design of electric and hybrid vehicles,” IEEE Transactions on Industrial Electronics, Vol. 44, No. 1, 1997, pp. 19-27
[81] J.I. Ha, E.S. Koo, H.D. Lee, J.S. Kim, S.K. Sul, “Advanced control strategy of parallel hybrid low emission electric vehicle,” IEEE Workshop on Power Electronics in Transportation, 1996, pp. 71-76
[82] K.M. Rahman, M. Ehsani, “Performance analysis of electric motor drives for electric and hybrid electric vehicle applications,” IEEE Workshop on Power Electronics in Transportation, 1996, pp. 49-56
[83] K. E. Bailey, B. K. Powell, “Hybrid electric vehicle powertrain dynamic model”, Proceedings of the American Control Conference, Vol.3, 1995, pp. 1677-1681
[84] V. Utkin, J. Guldner, J. Shi, Sliding mode control in electromechanical systems, Taylor & Francis, 1999
[85] D.P. Bertsekas, Nonlinear programming, Athena Scientific, 1995
[86] R.D. Lorenz, S.M. Yang, “Efficiency-optimized flux trajectories for closed-cycle operation of field-orientation induction machine drives,” IEEE Transactions on Industry Applications, Vol. 28, No. 3, 1992, pp.574-580
[87] R.D. Lorenz, S.M. Yang, “AC induction servo sizing for motion control applications via loss minimizing real-time flux control,” IEEE Transactions on Industry Applications, Vol. 28, No. 3, 1992, pp.589-593
[88] D. Casadei, G. Serra, K. Tani, “Implementation of a direct control algorithm for induction motors based on discrete space vector modulation,” IEEE Transactions on Power Electronics, Vol. 15, No. 4, July 2000, pp. 769 –777
[89] B. Robyns, F. Berthereau, J.P. Hautier, H. Buyse, “A fuzzy-logic-based multimodel field orientation in an indirect FOC of an induction motor,” IEEE Transactions on Industrial Electronics, Vol. 47, No. 2, April 2000, pp. 380 –388
[90] J. Jinhwan, N. Kwanghee, “A dynamic decoupling control scheme for high-speed operation of induction motors,” IEEE Transactions on Industrial Electronics, Vol. 46, No. 1, Feb. 1999, pp. 100 –110
[91] S. Tadakuma, I.S. Tanaka, H. Naitoh, K. Shimane, “Improvement of robustness of vector-controlled induction motors using feedforward and feedback control,” IEEE Transactions on Power Electronics, Vol. 12, No. 2, March 1997, pp. 221 –227
208
[92] H. Hofmann, S.R. Sanders, C.R. Sullivan, “Stator-flux-based vector control of induction machines in magnetic saturation,” IEEE Transactions on Industry Applications, Vol. 33, No. 4, July-Aug. 1997, pp. 935 –942
[93] B. Heber, L. Xu, Y. Tang, “Fuzzy logic enhanced speed control of an indirect field-oriented induction machine drive,” IEEE Transactions on Power Electronics, Vol. 12, No. 5, Sept. 1997, pp. 772 –778
[94] D.C Lee, S.K. Sul, M.H. Park, “High performance current regulator for a field-oriented controlled induction motor drive,” IEEE Transactions on Industry Applications, Vol. 30, No. 5, Sept.-Oct. 1994, pp. 1247 –1257
[95] Y.T. Kao, C.H. Liu, “Analysis and design of microprocessor-based vector-controlled induction motor drives,” IEEE Transactions on Industrial Electronics, Vol. 39, No. 1, Feb. 1992, pp. 46 –54
[96] T.G. Habetler, F. Profumo, M. Pastorelli, L.M. Tolbert, “Direct torque control of induction machines using space vector modulation,” IEEE Transactions on Industry Applications, Vol. 28, No. 5, Sept.-Oct. 1992, pp. 1045 –1053
[97] R.D. Lorenz, D.M. Divan, “Dynamic analysis and experimental evaluation of delta modulators for field-oriented AC machine current regulators,” IEEE Transactions on Industry Applications, Vol. 26, No. 2, March-April 1990, pp. 296 –301
[98] I. Takahashi, Y. Ohmori, “High-performance direct torque control of an induction motor,” IEEE Transactions on Industry Applications, Vol. 25, No. 2, March-April 1989, pp. 257 –264
[99] S. Ogasawara, H. Akagi, A. Nabae, “The generalized theory of indirect vector control for AC machines,” IEEE Transactions on Industry Applications, Vol. 24, No. 3, May-June 1988, pp. 470 –478
[100] M.N. Marwali, A. Keyhani, W. Tjanaka, “Implementation of indirect vector control on an integrated digital signal processor-based system,” IEEE Transactions on Energy Conversion, Vol. 14, No. 2, 1999, pp.139-146
[101] K.D. Young, V.I. Utkin, U. Ozguner, “Control engineer's guide to sliding mode control,” IEEE Transactions on Control Systems Technology, Vol. 7, No. 3, 1999, pp.328-342
[102] A. Benchaib, A. Rachid, E. Audrezet, “Sliding mode, input-output linearization and field orientation for real-time control of induction motors,” IEEE Transactions on Power Electronics, Vol.14, No.1, 1999, pp. 3-13
[103] A. Benchaib, A. Rachid, E. Audrezet, M. Tadjine, “Real-time sliding-mode observer and control of an induction motor,” IEEE Transactions on Industrial Electronics, Vol.46, No.1, 1999, pp. 128-137
[104] K.K. Shyu, H.J. Shieh, “New switching surface sliding-mode speed control for induction motor drive systems,” IEEE Transactions on Power Electronics, Vol. 11, No. 4, 1996, pp. 660-667
[105] R. Soto, K.S. Yeung, “Sliding-mode control of an induction motor without flux measurement,” IEEE Transactions on Industry Applications, Vol. 31, No. 4, 1995, pp.744-751
[106] M.H. Park, K.S. Kim, “Chattering reduction in the position control of induction motor using the sliding mode,” IEEE Transactions on Power Electronics, Vol. 6, No.3, 1991, pp. 317-325
[107] W. Leonard, Control of Electrical Drives, Springer, Berlin, Heidelberg, 1985
[108] B. K. Bose, Power Electronics and AC Drives, Prentice Hall, 1986.
[109] R. Marino, S Peresada, P. Valigi, “Adaptive Input-Output Linearizing Control of Induction Motors,” IEEE Transactions on Automatic Control, Vol. 38, No. 2, Feb 1993, pp. 208-220
[110] T. Ohtani, N. Takada, K. Tanaka, “Vector Control of Induction Motor Without Shaft Encoder,” IEEE Transactions on Industry Applications, Vol. 28, No.1, Jan. 1992
[111] K. Akatsu, A. Kawamura, “Sensorless very low-speed and zero-speed estimations with online rotor resistance estimation of induction motor without signal injection,” IEEE Transactions on Industry Applications, Vol. 36, No. 3, May-June 2000, pp. 764 –771
209
[112] M-H Shin, D-K. Hyun, S-B Cho, S-Y Choe, “Improved stator flux estimation for speed sensorless stator flux orientation control of induction motors,” IEEE Trans on Power Electronics, Vol. 15, No. 2, 2000, pp. 312-318
[113] E.G. Strangas, H.K. Khalil, B. Al Oliwi, L. Laubinger, J.M. Miller, “Robust torque controller for induction motors without rotor position sensor: Analysis and experimental results,” IEEE Transactions on Energy Conversion, Vol. 14, No. 4, 1999, pp. 1448-1456
[114] J.S. Lee, T. Takeshita, N. Matsui, “Stator-flux-oriented sensorless induction motor drive for optimum low-speed performance,” IEEE Trans on Industry Applications, Vol. 33, No. 5, 1997, pp. 1170-1176
[115] C. Schauder, “Adaptive Speed Identification for Vector Control of Induction Motors without Rotational Transducers,” IEEE Transactions on Industry Applications, Vol. 28, No. 5, Sept 1992
[116] F.Z. Peng, “Robust Identification for Speed-Sensorless Vector Control of Induction Motors,” IEEE Trans on Industry Applications, Vol. 30, No. 5, Sept 1994
[117] L. Zhen, L. Xu, “Sensorless field orientation control of induction machines based on a mutual MRAS scheme,” IEEE Transactions on Industrial Electronics, Vol. 45 No.5, Oct. 1998, pp.824 –831
[118] J. Maes, J. Jehudi, J.A. Melkebeek, “Speed-sensorless direct torque control of induction motors using an adaptive flux observer,” IEEE Transactions on Industry Applications, Vol. 36, No.3, 2000, pp. 778-785
[119] Y.R Kim, S.K Sul, M.H. Park, “Speed Sensorless Vector Control of Induction Motor Using Extended Kalman Filter,” IEEE Transactions on Industry Applications, Vol. 30, No.5, Sept 1994, pp. 1225-1233
[120] P.L Jansen, R.D Lorenz, “Transducerless Position and Velocity Estimation in Induction and Salient AC Machines,” IEEE Transactions on Industry Applications, Vol. 31, No. 2, Mar 1995, pp. 240 –247
[121] K. D. Hurst, T.G. Habetler, G. Griva, F. Profumo, P.L. Jansen, “Self-tuning closed-loop flux observer for sensorless torque control of standard induction machines,” IEEE Transactions on Power Electronics, Vol. 12, No.5, 1997, pp. 807-815
[122] H. Miyashita, H. Fujita, Y. Ohmori, “Speed sensorless instantaneous vector control with identification of secondary resistance,” Conf. Rec. IEEE-IAS Annual. Meeting, 1991, pp. E130–E135
[123] J. Jiang, J. Holtz, “High dynamic speed sensorless ac drive with on-line model parameter tuning for steady-state accuracy,” IEEE Transactions on Industrial Electronics, Vol. 44, Apr. 1997, pp. 240–246
[124] M. Tursini, R. Petrella, F. Parasiliti, “Adaptive sliding-mode observer for speed-sensorless control of induction motors,” IEEE Transactions on Industry Applications, Vol. 36, No. 5, 2000, pp. 1380-1387
[125] F.J. Lin, R.J. Wai, P.C. Lin, “Robust speed sensorless induction motor drive,” IEEE Transactions on Aerospace and Electronic Systems, Vol. 35, No. 2, 1999, pp.566-578
[126] L. Zhen, L. Xu, “Fuzzy learning enhanced speed control of an indirect field-oriented induction machine drive,” IEEE Transactions on Control Systems Technology, Vol. 8, No. 2, 2000, pp.270-278
[127] B. Robyns, F. Berthereau, J.P. Hautier, H. Buyse, ”Fuzzy-logic-based multimodel field orientation in an indirect FOC of an induction motor,” IEEE Transactions on Industrial Electronics, Vol. 47, No. 2, 2000, pp.380-388
[128] B.K. Bose, N.R. Patel, K. Rajashekara, “Neuro-fuzzy-based on-line efficiency optimization control of a stator flux-oriented direct vector-controlled induction motor drive,” IEEE Trans on Industrial Electronics, Vol. 44, No. 2, 1997, pp.270-273
210
10 APPENDIX A EXPERIMENTAL SETUP
The experimental setup used in this research is shown in Fig. A.1.
R
Powerconverter
Filter
Signalconditioning
DSPboard
V I
P.C.
S.G.
speed
E
I.M.
Excitationcontrol
Figure A.1 Experimental setup
The setup consists of:
- 3 phase, 4 pole, 5Hp, 1750 rpm 220 V squirrel cage induction motor,
- 2 phase, 2 pole, 5 Hp 440 V synchronous generator used as a load,
211
- 5 kW variable resistor box to load the synchronous generator,
- a variable DC power supply to control the excitation of the synchronous generator,
- 400V/30 A power converter capable of switching at 20 kHz,
- a dual processor (TMS320C31 Master and TMS320P14 Slave) DSP board used both for
control and data acquisition,
- voltage and current sensors and signal conditioning circuit,
- 1024 pulse/revolution incremental optical encoder used for speed measurement.
The PWM cycle is 240 µs and the data acquisition sampling time is 60 µs. In order to avoid
aliasing, the measured voltage is passed through a low pass filter prior to being acquired. The
synchronous generator can be controlled simultaneously with the motor using the DSP board.
The control is realized through the excitation voltage.
Extensive simulation and experimental results have been obtained to prove the validity of the
current approach. The algorithm has been tested both on the premise of torque control and speed
control.
212
11 APPENDIX B MODELING SIMULATIONS
The appendix contains the main Matlab programs and Simulink blocks used for modeling. The
next file is the code implementing constrained optimization.
%----------------------------------------------------begin program -------------------------------------------------------- % estimates R, L from pwm step % states Iqs, Ids, phi_d, phi_q clear all global Iqs global Ids global Iqs0 global Ids0 global T global Vqs global Vds global it global Rs0 global Rr0 global Lm0 global Lls0 global Llr0 global np global wr global ws global we global time global best_error global Y we=2*pi*30; vect=[ 'p0640';'p1040'; 'p1161'; 'p1450'; 'p1750'; 'p0530'; 'p0760'; 'p1060'; 'p1330'; 'p1460'; 'p1752'; 'p0540'; 'p0930'; 'p1130'; 'p1340'; 'p1530'; 'p1760'; 'p0640'; 'p0940'; 'p1140'; 'p1350'; 'p1540'; 'p1762'; 'p0730'; 'p0950'; 'p1150'; 'p1360'; 'p1730'; 'p1770'; 'p0740'; 'p0951'; 'p1160'; 'p1430'; 'p1740']; a=size(vect); for l=1:a(1) name=['load ',vect(l,:),'.mat']; eval(name);
213
ag=vect(l,:) vca=-y(1,:)'; vbc=-y(2,:)'; % vab=-vca-vbc; ia=y(3,:)'; % ic=y(4,:)'; % ib=-ic-ia; speed=y(5,:)'; np=2; wr=mean(speed)*pi/30*np; ws=we-wr; s=ws/we; if(s<2) time=x'; va=(vab-vca)/3; vb=(vbc-vab)/3; vc=(vca-vbc)/3; T = 5e-5; Vqs=va; Vds=sqrt(3)/3*(vc-vb); Iqs2=ia; Ids2=sqrt(3)/3*(ic-ib); %subtract the offset one_period=2*pi/we/T; offset_vq=mean(Vqs(1:2*one_period)); Vqs=Vqs-offset_vq; offset_vd=mean(Vds(1:2*one_period)); Vds=Vds-offset_vd; Ids0=mean(Ids2(1:20));Iqs0=mean(Iqs2(1:20));Ia0=mean(ia(1:20)); it = length(Vqs); filt1=-1/1e-4; filt2=-filt1; %filter Iqs and Ids as Vds and Vqs where [Iqs,mm]=lsim(filt1,filt2,1,0,Iqs2,time,Iqs0); [Ids,mm]=lsim(filt1,filt2,1,0,Ids2,time,Ids0); [ia,mm]=lsim(filt1,filt2,1,0,ia,time,Ia0); % moving average filter
214
window=20; it1=1500; it2=it1-window; Vqs1=mov_av(Vqs(1:it1),window); Vds1=mov_av(Vds(1:it1),window); Iqs1=mov_av(Iqs2(1:it1),window); Ids1=mov_av(Ids2(1:it1),window); V=zeros(it1,1); I=zeros(it1,1); for n=1:it2 V(n)=Vqs1(n)^2+Vds1(n)^2; I(n)=Iqs1(n)^2+Ids1(n)^2; end Vd=sqrt(mean(V)); Id=sqrt(mean(I)); np=2; Rs0=.39; Rr0=.22; Lls0 = 6e-3; Llr0=0; Lm0=60e-3; Rs=Rs0; teta =[1 1 1 0 0]; %teta =[1 1]; OPTIONS(2) = 1e-4; OPTIONS(3) = 1e-2; OPTIONS(14) =3500; VLB=[0.2 0.2 .1 -.7 -.7]; VUB=[3 2 2 .7 .7]; x=teta; x =constr('return6',teta,OPTIONS,VLB,VUB); %--------------------------------------------------------- Rr=x(1)*Rr0; Lm=x(2)*Lm0; Rr_trans=Rr; Lm_trans=Lm; Lls=Lls0*x(3); Llr=Llr0;
215
Xlr=0; s=ws/we; Rrs_trans=Rr_trans/s; Xm_trans=Lm_trans*we; Im_trans=Id*sqrt(Rrs_trans^2+Xlr^2)/sqrt(Rrs_trans^2+(Xm_trans+Xlr)^2); Ir_trans=Id*Xm_trans/sqrt(Rrs_trans^2+(Xm_trans+Xlr)^2); aa=vect(l,2:5); if(l==1) matr2=[str2num(aa) we Vd Id Rs Rr_trans Lm_trans Lls Llr s Im_trans Ir_trans best_error]; else matr2=[matr2; str2num(aa) we Vd Id Rs Rr_trans Lm_trans Lls Llr s Im_trans Ir_trans best_error]; end plotres(x) x2=[1 1 1 x(4) x(5)]; figure plotres(x2) pause close all %save din32.dat matr2 -ascii end %endif end %-------------------------------------------------------end program--------------------------------------------------------
The next program is the subroutine calculating the model error (return6.m)
%------------------------------------------------------- begin program-------------------------------------------------------- function [e,g]=return2(teta) global Iqs global Ids global Iqs0 global Ids0 global T global Vqs global Vds global it global Rs0 global Rr0
216
global Lm0 global Lls0 global Llr0 global np global wr global ws global we global time global Y global VLB global VUB global best_error global best_teta Rr=teta(1)*Rr0; Lm=teta(2)*Lm0; Lls=Lls0*teta(3); %Lls0; % teta(3)*Lls0; Llr=0;%*teta(6); % teta(4)*Llr0; Rs=Rs0; Lr=Lm+Llr;Ls=Lm+Lls; eta=Rr/Lr; shigma=1-Lm^2/Ls/Lr; betha=Lm/shigma/Ls/Lr; gama=1/shigma/Ls*(Rs+Lm^2/Lr^2*Rr); % calculate the continuous time state-space matrices A = [-gama 0 eta*betha -betha*wr; 0 -gama betha*wr eta*betha; eta*Lm 0 -eta wr; 0 eta*Lm -wr -eta]; B = 1/shigma/Ls*[1 0;0 1;0 0;0 0]; C=[1 0 0 0;0 1 0 0]; D=[0 0;0 0]; U=[Vqs Vds]; % initial conditions xx = [Iqs0;Ids0; teta(4); teta(5)]; [Y,X1]=lsim(A,B,C,D,U,time,xx); iy=length(Y); error=[Iqs(20:iy) Ids(20:iy)]-Y(20:iy,:);
217
your_error_is = error(:,1)'*error(:,1)+error(:,2)'*error(:,2); e=your_error_is; best_error=e; g=-1; %-------------------------------------------------------end program------------------------------------------------------- The following program plots the measured versus simulated data using the estimated parameters.
%------------------------------------------------------ start program------------------------------------------------------- function []=plot_res(teta) global Iqs global Ids global Iqs0 global Ids0 global T global Vqs global Vds global it global Rs0 global Rr0 global Lm0 global Lls0 global Llr0 global np global wr global ws global we global time global Y global VLB global VUB global best_error global best_teta Rr=teta(1)*Rr0; Lm=teta(2)*Lm0; Lls=Lls0*teta(3);%*teta(5); %Lls0; % teta(3)*Lls0; Llr=0;%*teta(6); % teta(4)*Llr0; Rs=Rs0; Lr=Lm+Llr;Ls=Lm+Lls; eta=Rr/Lr; shigma=1-Lm^2/Ls/Lr; betha=Lm/shigma/Ls/Lr; gama=1/shigma/Ls*(Rs+Lm^2/Lr^2*Rr); % calculate the continuous time state-space matrices
218
A = [-gama 0 eta*betha -betha*wr; 0 -gama betha*wr eta*betha; eta*Lm 0 -eta wr; 0 eta*Lm -wr -eta]; B = 1/shigma/Ls*[1 0;0 1;0 0;0 0]; C=eye(4);%[1 0 0 0;0 1 0 0]; D=[0 0;0 0;0 0; 0 0]; U=[Vqs Vds]; % initial conditions xx = [Iqs0;Ids0; teta(4); teta(5)]; [Y,X1]=lsim(A,B,C,D,U,time,xx); subplot(221) plot(time,Iqs,'k') hold plot(time,Y(:,1),'k:') hold ylabel('Iq') axis([0 .2 min(Iqs)*1.2 max(Iqs)*1.2]) xlabel('time in seconds') ylabel('Iq_stationary in amps') subplot(223) plot(time,Ids,'k') hold plot(time,Y(:,2),'k:') hold ylabel('Id') axis([0 .2 min(Ids)*1.2 max(Ids)*1.2]) xlabel('time in seconds') ylabel('Id_stationary in amps') Iqs2=zeros(length(time),1); Ids2=zeros(length(time),1); Iqs3=zeros(length(time),1); Ids3=zeros(length(time),1); phi=0;cos_theta=0;sin_theta=0; for n=1:length(time) phi=sqrt(Y(n,4)*Y(n,4)+Y(n,3)*Y(n,3)); cos_theta=Y(n,3)/phi; sin_theta=Y(n,4)/phi; Iqs2(n)=-Ids(n)*cos_theta+Iqs(n)*sin_theta; Ids2(n)=Ids(n)*sin_theta+Iqs(n)*cos_theta; Iqs3(n)=-Y(n,2)*cos_theta+Y(n,1)*sin_theta;
219
Ids3(n)=Y(n,2)*sin_theta+Y(n,1)*cos_theta; end var_iqs=std(Iqs2); mean_iqs=mean(Iqs2); var_ids=std(Ids2); mean_ids=mean(Ids2); subplot(222) plot(time,Iqs2,'k:') hold plot(time,Iqs3,'k') hold axis([0 .2 min(Iqs3)-.5*abs(min(Iqs3)) max(Iqs3)*1.5]) xlabel('time in seconds') ylabel('Iq_synchronous in amps') subplot(224) plot(time,Ids2,'k:') hold plot(time,Ids3,'k') hold axis([0 .2 min(Ids3)-.5*abs(min(Ids3)) 1.5*max(Ids3)]) xlabel('time in seconds') ylabel('Id_synchronous in amps') %-------------------------------------------------------end program-------------------------------------------------------
The next program plots the sensitivity of the current error to the parameters of the induction
machine as a function of slip.
%----------------------------------------------------- start program------------------------------------------------------- % plot sensivities of I to Lm, Ll and Rr as function of s clear Rr=.25; Lm=60e-3; Ll=6e-3; w=2*pi*60; Xm=w*Lm; Xl=w*Ll; nmax=1000; for n=1:nmax s(n)=n/nmax; Rrs=Rr/s(n);
220
Xl1=Xl*1.1;Rrs1=Rrs*1.1;Xm1=Xm*1.1; I=(Rrs+j*Xm)/(-Xl*Xm+j*Rrs*(Xl+Xm)); I_ll=(Rrs+j*Xm)/(-Xl1*Xm+j*Rrs*(Xl1+Xm)); I_lm=(Rrs+j*Xm1)/(-Xl*Xm1+j*Rrs*(Xl+Xm1)); I_rr=(Rrs1+j*Xm)/(-Xl*Xm+j*Rrs1*(Xl+Xm)); e_ll(n)=(abs(I_ll)^2+abs(I)^2-2*abs(I_ll)*abs(I)*cos(angle(I_ll)-angle(I)))/1.1; e_lm(n)=(abs(I_lm)^2+abs(I)^2-2*abs(I_lm)*abs(I)*cos(angle(I_lm)-angle(I)))/1.1; e_rr(n)=(abs(I_rr)^2+abs(I)^2-2*abs(I_rr)*abs(I)*cos(angle(I_rr)-angle(I)))/1.1; end mLm=max(abs(e_lm)); mLl=max(abs(e_ll)); mRr=max(abs(e_rr)); plot(s*100,e_ll/mLl) hold plot(s*100,e_lm/mLm,'m') plot(s*100,e_rr/mRr,'g') hold xlabel('slip in percent') ylabel('didLl, didLm') legend('Ll','Lm','Rr') %-------------------------------------------------------end program------------------------------------------------------- The following block diagrams were used for validating the model.
221
Figure A.2 Block diagram of the system
Figure A.3 Plant block diagram
222
Figure A.4 Induction motor block
223
Figure A.5 Variable parameter block
Figure A.6 Block for flux equation in d-axis
224
Figure A.7 Block for flux equation in q-axis
Figure A.8 Block for current equation in q-axis
225
Figure A.9 Block for current equation in q-axis
The following program is the Matlab function used in the variable parameter block.
% param calculates the parameters at each instant
%----------------------------------------------------begin program -------------------------------------------------------- function parameters=param(u); k1=-0.306; k2=0.163; k3=0.048; phi=u(1); Id=u(2); speed=u(3); %in radians input_freq=u(4); Rr0=.25; Lls=.01-.0006*Id; if(Lls<.004) Lls=0.004; end Rr=Rr0+.35/70*(input_freq-speed); Lm=k1*phi^2+k2*phi+k3; Llr=0; Rs=.4; Lr=Lm+Llr;Ls=Lm+Lls; eta=Rr/Lr; shigma=1-Lm^2/Ls/Lr; betha=Lm/shigma/Ls/Lr; gama=1/shigma/Ls*(Rs+Lm^2/Lr^2*Rr); parameters(1)=gama; parameters(2)=eta*betha; parameters(3)=betha;
226
parameters(4)=1/shigma/Ls; parameters(5)=eta*Lm; parameters(6)=eta; parameters(7)=Lm; parameters(8)=Rr; parameters(9)=Lls; %----------------------------------------------------end program --------------------------------------------------------
227
12 APPENDIX C ROTOR RESISTANCE OBSERVER SIMULATIONS
The appendix contains the main blocks used in the rotor resistance observer simulations.
Figure A.10 System diagram
228
Figure A.11 Controller diagram
229
Figure A.12 Plant diagram
230
Figure A.13 Motor diagram
231
Figure A.14 Flux/rotor resistance observer
232
Figure A.15 First sliding surface generator
233
Figure A.16 Second sliding surface generator
234
Figure A.17 D matrix generator
Figure A.18 Id observer equation block
235
Figure A.19 Iq observer equation block
Figure A.20
Figure A.21 Observer equation block for q flux
236
Figure A.22 Observer equation block for d flux
Figure A.23 Parameter calculation block
237
13 APPENDIX D FIELD ORIENTED CONTROL SIMULATIONS
This section presents the main simulation diagrams for the field-oriented controllers.
Figure A.24 Simulation system
238
Figure A.25 Induction motor block
239
Figure A.26 Induction motor model in stationary reference frame
Figure A.27 Field Oriented Controller
240
Figure A.28 Flux reference generator
Figure A.29 Flux controller
Figure A.30 Iq generator Simulink diagram
241
Figure A.31 Decoupling block Simulink diagram
Figure A.32 PI controller for Iq current
Figure A.33 PI controller for Id current
242
Figure A.34 Flux and reference frame observer
243
Figure A.35 CTSM controller Simulink diagram
Figure A.36 DTSM controller Simulink diagram
244
Figure A.37 Discrete time flux controller
Figure A.38 Stationary reference frame to synchronous reference frame transformation
245
Figure A.39 Angle and speed calculation from encoder information
Figure A.40 Synchronous to stationary reference frame transformation
246
Figure A.41 ABC to synchronous reference frame transformation
Figure A.42 Synchronous to ABC transformation
247
14 APPENDIX E SLIDING MODE SPEED OBSERVER SIMULATIONS
Figure A.43 Simulation system
248
Figure A.44 Induction motor block
Figure A.45 Induction motor model in stationary reference frame
249
Figure A.46 Simulink diagram of the sliding mode controller
250
Figure A.47 Sliding mode Speed Observer
Figure A.48 Least squares input frequency observer
251
Figure A.49 Selection block between speed observer and input frequency
Figure A.50 Discrete time flux controller
Figure A.51 Discrete time current controller
252
Figure A.52 Iq reference generator:
Figure A.53 Decoupling block
253
Figure A.54 Flux and reference frame observer
Figure A.55 Stationary reference frame to synchronous reference frame transformation
254
Figure A.56 Synchronous to stationary reference frame transformation
Figure A.57 ABC to synchronous reference frame transformation
Figure A.58 Synchronous to ABC transformation
255
APPENDIX F INTELIGENT CONTROL SIMULATIONS
The appendix contains the main blocks used in the intelligent sensorless torque control
simulations.
Figure A.59 Simulation system
256
Figure A.60 Induction motor block
Figure A.61 Induction motor model in stationary reference frame
257
Figure A.62 Simulink diagram of the sliding mode controller
Figure A.63 Sliding mode Speed Observer
258
Figure A.64 Fuzzy logic controller
Figure A.65 Discrete time flux controller
Figure A.66 Discrete time current controller
259
Figure A.67 Iq reference generator:
Figure A.68 Decoupling block
260
Figure A.69 Flux and reference frame observer
Figure A.70 Stationary reference frame to synchronous reference frame transformation
261
Figure A.71 Synchronous to stationary reference frame transformation
Figure A.72 ABC to synchronous reference frame transformation
262
Figure A.73 Synchronous to ABC transformation