138
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 53, NO. 1, FEBRUARY 2006
Lyapunov-Function-Based Flux and Speed Observer for AC Induction Motor Sensorless Control and Parameters Estimation Pavel Vaclavek, Member, IEEE, and Petr Blaha
Abstract—AC induction motors have become very popular for motion-control applications due to their simple and reliable construction. Control of drives based on ac induction motors is a quite complex task. Provided the vector-control algorithm is used, not only the rotor speed but also the position of the magnetic flux inside the motor during the control process should be known. In most applications, the flux sensors are omitted and the magneticflux phasor position has to be calculated. However, there are also applications in which even speed sensors should be omitted. In such a situation, the task of state reconstruction can be solved only from voltage and current measurements. In the current paper, a method based on deterministic evaluation of measurement using the state observer based on the Lyapunov function is presented. The method has been proven in testing on a real ac induction machine.
The algorithms need an accurate model of the controlled drive to compute a good estimate of unknown state variables. The parameters, especially resistances, can change dramatically during the drive operation because of working-temperature changes. There are some methods for ac induction-machineparameter estimation [7]. It would be very useful if the observer algorithm could also directly estimate some of the ac inductiondrive parameters. Another problem is the observer stability. In this paper, we are trying to present observer design that should guarantee the algorithm stability.
Index Terms—AC motor drives, Lyapunov methods, nonlinear systems, observers.
There are many models of ac induction motors. We use the so-called t-model structure, known also as Kovacs model
A. AC Induction-Motor Model
I. I NTRODUCTION
I
NDUCTION motors have become more and more popular due to their reliable construction. If we intend to use an ac induction motor in a low-cost application (e.g., mass-produced washing machine), it is necessary to optimize production costs. Many applications require precise speed control. The speed sensor is quite an expensive device compared to other parts of the drive. That is why we are trying to develop a reliable control system that estimates the rotor speed from electrical quantities instead of using a speed sensor. The idea of using a state observer for evaluation of the signals needed for ac inductionmotor control is known [1]–[3]. In most cases, such applications exploit the Kalman-filter algorithm to estimate the values of states that cannot be measured directly [4]. The Kalman filter provides a unified method for the state-observer design, and that is why it is relatively easy to use. Another possibility is to find a state observer fitted exactly for the drive. It is possible to use a simple structure similar to Luenberger’s observer with many advantages, e.g., low computational demands and results similar to the Kalman-filter algorithm [5], [6]. Manuscript received May 25, 2004; revised November 23, 2004. Abstract published on the Internet November 25, 2005. This work was supported by the Ministry of Education of the Czech Republic under Project 1M0567 “Center for Applied Cybernetics,” by the Czech Science Foundation under Project 102/06/0949, and by Freescale Semiconductor Czech Republic (former division of Motorola). The authors are with the Center for Applied Cybernetics, Brno University of Technology, Brno 61200, Czech Republic (e-mail:
[email protected];
[email protected]). Digital Object Identifier 10.1109/TIE.2005.862305
(1)
dΨr = jzp ωΨr − Rr ir dt
(2)
1 dω = (T − Tload ) dt J
(3)
Ψs = Ls is + Lm ir
(4)
Ψr = Lm is + Lr ir
(5)
T = 1.5zp (Ψs is )
(6)
where Ψs = Ψsα + jΨsβ , Ψr = Ψrα + jΨrβ are the stator and rotor magnetic-flux phasors in αβ coordinates; us = usα + jusβ is the stator-voltage phasor; is = isα + jisβ , ir = irα + jirβ are the stator and rotor current phasors; ω is the rotor angular velocity; T , Tload are the driving and load torques; Rs , Rr are the stator and rotor resistances; zp is the number of pole pairs; J is the rotor inertia; and Ls , Lr , Lm are the inductances. As the load torque and the rotor inertia are not usually known, it is not possible to use (3) and (6). The remaining equations can be, after some computations, transferred into a more suitable form
0278-0046/$20.00 © 2006 IEEE
Downloaded from http://www.elearnica.ir
dΨs = us − Rs is dt
dis = us − ξ1 is + Ψr (ξ2 − jωzp ) dt dΨr = ξ3 is − Ψr (ξ2 − jωzp ) dt
(7) (8)
VACLAVEK AND BLAHA: AC INDUCTION MOTOR SENSORLESS CONTROL AND PARAMETERS ESTIMATION
139
We can define error functions describing the difference between real and estimated values of the variables
∆is = ˜is − is
(16)
˜ − Ψ ∆Ψr = Ψ r r
(17)
∆ω = ω ˜ −ω
(18)
∆ξ1 = ξ˜1 − ξ1
(19)
∆ξ2 = ξ˜2 − ξ2
(20)
∆ξ3 = ξ˜3 − ξ3 .
(21)
From (16) and (17), we can get d∆is d˜i di = s− s dt dt dt
Fig. 1.
Speed and flux observer structure.
˜ d∆Ψr dΨ dΨr r = − dt dt dt
where is = is
Ls Lr − Lr
Ψr = Ψr ξ1 =
L2m
Lm Lr
Rs L2r + Rr L2m Ls L2r − Lr L2m
Rr ξ2 = Lr ξ3 = Rr
(9) (10) (11) (12)
L2m . Ls L2r − Lr L2m
(13)
Equations (7) and (8) represent some kind of model normalized according to the motor inductances. The model has only three independent parameters ξ1 , ξ2 , and ξ3 . It is clear that inductances also have to be known to use (9)–(13), but it is not usually a problem. Inductances can be measured offline and we can suppose that they do not change significantly during normal drive operation. II. S TATE O BSERVER The used control structure is shown in Fig. 1. The state observer can use measurement of stator voltage and modified current us and is . It should estimate modified rotor magnetic flux Ψr , rotor angular velocity ω, modified stator current is (filtering purposes), and, if possible, also parameters ξ1 , ξ2 , and ξ3 . Let us suppose an estimator structure in the form d˜is ˜ (ξ˜2 − j ω = us − ξ˜1˜is + Ψ ˜ zp ) + δ r dt ˜ dΨ r ˜ (ξ˜2 − j ω = ξ˜3˜is − Ψ ˜ zp ) r dt
(22)
(23)
and after substitution of (7) and (14) into (22) and (8) and (15) into (23) d∆is ˜ − ∆i ξ˜1 − i ∆ξ1 = (∆ξ2 − jzp ∆ω)Ψ r s s dt + jzp (∆ω − ω ˜ ) − ∆ξ2 + ξ˜2 ∆Ψr + δ d∆Ψr ˜ + ∆i ξ˜3 + i ∆ξ3 = − (∆ξ2 − jzp ∆ω)Ψ s s r dt − jzp (∆ω − ω ˜ ) − ∆ξ2 + ξ˜2 ∆Ψr .
(24)
(25)
Equations (24) and (25) represent a dynamical system of estimation errors. We will try to find such correction δ that will minimize estimation errors. Also, the best possible coincidence of the model and the real system is achieved when ∆is = 0.
(26)
It is possible to transfer the task of estimation-error minimization to the task of solving the estimation-error dynamic-system stability. We can state dx = ∆is dt
(27)
(14)
where x is an auxiliary state variable. It is clear that if (27) is stable, then (26) is valid. The system (27) can be stabilized if it has the form
(15)
dx = y − k1 x dt
where x ˜ stands for the estimate of variable x, and δ is a correction based on the estimated and measured stator current.
(28)
where y is another auxiliary state variable that should go to 0. Now, we have to solve problem of stabilizing state variable y.
140
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 53, NO. 1, FEBRUARY 2006
This simple trick improves observer convergence as the current estimation error will go approximately exponentially to 0. Equations (27) and (28) lead to y = ∆is + k1 x d∆is
dx dy = + k1 dt dt dt
(29)
(30)
and after substitution of (24) and (27) into (30), we will get
It is necessary to fulfill the following conditions to achieve the validity of (33): k1 > 0 k2 > 0 ξ˜2 > 0 ξ˜3 > 0 d∆ω dt ˜ − ∆Ψ =0 + (y − ∆Ψr ) Ψ r r kω d∆ξ1 dt − yis = 0 kξ1 d∆ξ2 dt
kξ2 dy ˜ − ∆i ξ˜1 − i ∆ξ1 = (∆ξ2 − jzp ∆ω)Ψ s s r dt + jzp (∆ω − ω ˜ ) − ∆ξ2 + ξ˜2 ∆Ψr + δ + k1 ∆is .
d∆ξ3 dt
kξ3
1 2 1 2 1 2 |x | + |y| + |∆Ψr | 2 2 2 +
1 (∆ω)2 1 (∆ξ1 )2 1 (∆ξ2 )2 1 (∆ξ3 )2 + + + . 2 kω 2 kξ1 2 kξ2 2 kξ3
(32)
The system will be stable if dV