discrete-time sliding mode control of an induction motor

4 downloads 0 Views 173KB Size Report
Abstract: A discrete-time sliding mode with block control aided design is applied to a nonlinear discrete-time induction motor model where the load torque is ...
Copyright © 2002 IFAC 15th Triennial World Congress, Barcelona, Spain

DISCRETE-TIME SLIDING MODE CONTROL OF AN INDUCTION MOTOR 1 Alexader G. Loukianov, Jorge Rivera and José M. Cañedo CINVESTAV del IPN, Automatic Control Department, Apdo. Postal 31-438, C.P. 44550, Guadalajara, Jalisco, México, e-mail ([email protected]),([email protected]), ([email protected])

Abstract: A discrete-time sliding mode with block control aided design is applied to a nonlinear discrete-time induction motor model where the load torque is considered as unknown perturbation. With full state measurements, both rotor speed and rotor flux amplitude tracking objectives are satisfied. Then, a reduced order observer is implemented where speed and current measurements provide the observation for the unreachable fluxes and load torque. The simulations predict the system to be robust with respect to external load torques. Copyright © 2002 IFAC Keywords: Inductions motors, discrete-time systems, sliding mode control, observer.

1. INTRODUCTION Induction motor is one of the most used actuator for industrial applications due to its reliability, ruggedness and relatively low cost. The control of induction motor is challenging, since the dynamical system is multivariable, coupled, and highly nonlinear. A classical technique for induction motor control is field oriented control (Blaschke, 1972), which involves nonlinear state transformation and feedback for asymptotic decoupling of the rotor speed and rotor flux, and applying linear control methods such as PID. More recently, various nonlinear control design approaches have been applied to the induction motor control problem for better performance, like backstepping (Tan, and Chang; 1999), passivity (Ortega, et al., 1996), adaptive input-output linearization (Marino, and Tomei, 1995), and sliding modes (Utkin, et al., 1999; Doods, 1999). All of these approaches are based on the continuous-time model of the plant, and for practical implementation in a digital device, is necessary to design the controller for a discrete-time _________________ 1

Work supported by Conacyt, Mexico, under grant 36960A

a discrete-time model of the plant. This research work is based on a digital sliding mode (Utkin, et al., 1999) with block control aided design approach to achieve rotor speed and rotor flux amplitude tracking objectives for the fixed reference frame model. The uncertainty accounted for is an unknown load torque The paper is organized as follows. Section 2 briefly reviews the continuous-time induction motor model and using the solution of the mechanical and rotor flux dynamics systems, this model is discretized. The main results are presented in Section 3, where the discrete-time sliding mode block control and the rotor flux and load torque observer, are designed. Section 4 deals with the proposed control law and observer simulations. Finally, in Section 5 are some concluding remarks drawn from simulations and control technique. 2. DISCRETIZATION OF THE CONTINUOSTIME INDUCTION MOTOR MODEL In this section, it is developed another representation of the induction motor model, called discrete-time

induction motor model. Under the assumptions of equal mutual inductance and a linear magnetic circuit, a fifth-order induction motor model is given as

0 where ℑ= 1

dω T = µI Tℑ − L dt J d = −α + n pωℑ + αMI dt dI 1 =ϕ + u σ dt − 1 is the skew matrix, and has the 0 

following property: z T ℑz = 0 ; the other variables and parameters have the following definitions: ∈ R 2 is the rotor flux vector, I ∈ R 2 is the stator current vector, which in current-fed motors is the control input, u ∈ R 2 is the control input voltage vector, ω is the rotor angular velocity, TL is the load torque, J is the rotor moment of inertia, and αβψα + n p βωψβ − γiα  ϕ=  αβψβ − n p βωψα − γiβ  α =

((k + 1)T ) = e −αT (kT ) + M [1 − e −αT ] (kT ) . Defining a common notation x k = x(kT ) , yields

) Tk ℑ k − TLJ k T

k +1 = e −αT k + M [1 − e −αT ] k

ω k +1 = ω k +

M2 3 Mnp L s , Lr and M are the σ = Ls − , µ= , Lr 2 JLr stator, rotor and mutual inductance respectively, R s ,

( (

ψ kβ+1 = sin n pθ k +1

(1)

where θ = ω , yields the following bilinear model

where

(

ρ1 = a cos(npθk )ψkα + sin(npθk )ψkβ +(

)

(

)

1 − a M cos(npθk )ikα

(

ρ2 = a cos(npθk )ψkβ

(

)

+ sin(npθk )ikβ

− sin(npθk )ψkα

)

)

+ (1 − a)M cos(npθk )ikβ − sin(npθk )ikα

)

The rotor position is calculated from θ = ω , in the same way, yielding TL µ 1  T − (1 − a) M (ikβψ kα − ikαψ kβ ) − k T 2 α  α 2J 

There are left two differential current equations to discretize, by a first order Taylor series T ikα+1 = ϕαk + ukα , σ

where

T ikβ+1 = ϕβk + ukβ σ

ϕ kα = ikα + αβTψ kα + n p βTω kψ kβ − γTikα

Finally, putting all together, the discrete-time version of the induction motor model, is feature ωk +1 = ωk +

( (

(

)

µ (1 − a)M ikβψ kα − ikαψ kβ −  T TL k α J

) )

( (

) )ρ2

ψ kα+1 = cos n pθ k +1 ρ1 − sin n pθ k +1 ρ2 ψ kβ+1 = sin n pθ k +1 ρ1 + cos n pθ k +1 T α uk σ T ikβ+1 = ϕkβ + ukβ σ ikα+1 = ϕkα +

(4)

θ k +1 = θ k + ωkT +

T 1 µ  T − (1 − a ) M (ikβψ kα − ikαψ kβ ) − Lk T 2  α α 2J 

Fig. 1 compares the open-loop velocity simulation of both models. Comparison of the continuous and discrete velocity 220 Discrete Continuous

200

(2)

180

T (kT )ℑ (kT ) − Lk T J

Velocity (rad/sec)

160

Founding a solution to (2) involves integral operations, where it is assumed that control is applied in a piecewise constant fashion. So, the control is constant over the integration time interval [ kT , (k + 1)T ], k = 0,1,2,..., where T > 0 is the sampling time. The solution to (2) in this time interval is

(

) ( ) )ρ1 + cos(n pθ k +1 )ρ2

ϕ kβ = ikβ + αβTψ kβ − n p βTω kψ αk − γTikβ

To face the problem of discretization it is necessary to found the solution of the system, but this system has no analytic solution at all. To overcome this problem, the model is divided in a current-fed induction motor third-order model, where the current inputs are considered as pseudo-inputs, and a secondorder subsystem that only models the currents of the stator with voltages as inputs. The current-fed model will be exactly discretized by solving the set of differential equations and the other subsystem will be discretized by a first-order Taylor series (Kazantzis and Kravaris; 1999). Making use of the following globally defined change of coordinate:

T

)

ψ kα+1 = cos n pθ k +1 ρ1 − sin n pθ k +1 ρ2

and n p is the number of pole pairs.

µ ω ((k + 1)T ) = ω (kT ) + 1 − e −αT α

(

µ (1 − a )M ikβψ kα − ikαψ kβ −  T TL k α J

ω k +1 = ω k +

R r are the stator and rotor resistances respectively,

dω T = µX T ℑY − L dt J d = −αY + αMX dt

(3)

where a = e−αT . Taking (3) to the original states with a inverse transformation of (1), finally yields

θ k +1 = θ k + ωkT +

Rr M 1 M 2 Rr Rs = , β = , γ = + , σ Lr Lr Tr σ σL2r

Y = e − npθℑ , X = e − npθℑI

(

µ 1 − e −α T α

140 120 100 80 60

simulation C vs D

40 20 0

0

0.5

REFERENCES 1.5 2 2.5

1

3

3.5

4

Time (sec)

Fig. 1. Comparison of the continuous and discrete velocity.

There is a slight amount of error introduced by the current dynamical equations that were discretized by a first order Taylor series. Since the control input appears in these equations, the error can be eliminated. 3. DISCRETE-TIME SLIDING MODE CONTROL Given full state measurements, the control objectives are to develop velocity and flux amplitude tracking for the electromechanical dynamics founded in the discrete-time induction motor model (4), using block control and discrete-time sliding mode. 3.1 Control design  x1  ω − ωkr   x3  iα  (5) , x2k =  k4  =  kβ  x1k =  k2  =  k r  xk  ψ k − ψ k   xk  ik  2 2 where ψ k = ψ αk + ψ kβ is the rotor flux magnitude,

and

ψ kr

are reference signals. If the resulting

control, drives the state x 1k toward zero, then ω k and ψ k will track exactly their respective reference signals, accomplishing in that way the control objectives. The system (4) involving (5), can be represented in the Block Controllable Form (BCF) consisting of two blocks (6) x1k +1 = f 1(x1k ) + B1(x1k )x2k xk2 +1 = f 2 (x1k , x2k ) + B2uk   T  ωk −  TLk − ωkr +1 1   J 1 f    f =  2 =   2  f  a2 (ψ ) + (1 − a)2 M 2  iα 2 + i β  − ψ r  k k k +1  k     1 ϕαk  c 0  − ψ kβ ψ αk  2 f  B1 =  1 , f =  2 =  β   α  β  0 c2   ψ k ψ k   f  ϕk  T   u α  c = µ (1 − a )M , 0  uk =  kβ  , 1 α , B2 =  σ uk  T c2 = 2a(1 − a )M . 0   σ Note that matrices B1 and B2 have full rank, that is:

rank (B1 ) = rank (B 2 ) = 2 , and B1 ≤ β1,

B2 ≤ β2.

(7)

Applying the block control technique, define an error vector, z1k is defined as z1k = ( z1k , zk2 )T = x1k , then, the error dynamical equation is z1k +1 = f 1(x1k ) + B1(x1k )x2k

(8)

Handling x2k as a fictitious control for (8) and making the error z1k to tends to zero, with the anticipation of its dynamics as follows z1k +1 = f 1 (x1k ) + B1 (x1k )x 2k = K1z1k

(9) where K 1 = diag{k1 , k 2 } , with k1 > 0 and k 2 > 0 .

Then, the desired value x k2 from (9) as

=

The error dynamical equation is z 2k +1 = f 2 − B2uk

where

[

]

f 2 = B1 − f 1 + K1z1k +1 − f 2

with −1

c 0  − ψ β ψ α  k +1 B1 =  1   k +1 0 c2   ψ αk +1 ψ β  k +1    

[

d

of x 2k is calculated

B1−1 (x1k ) − f 1 (x1k ) +

K1z1k

].

  T  ω k +1 −  TLk +1 − ωkr + 2   J   f =  2 2 a 2 (ψ ) + (1 − a )2 M 2  iα + i β  − ψ r  1 1 2 k k k + + + k +1     1

Since all the states variable are measurable at time ‘kT’ , the states variables at time ‘(k+1)T’ are calculated from (4). It is assumed that the load signal is constant, so TLk +1 = TLk . The system (6) in the new coordinates is (10) z1k +1 = K1z1k − B1z 2k z k2+1 = f 2 − B2uk .

The next step is to design the control law from the last results. The first step in sliding mode control is to choose the surface S k = 0 , and, a smart selection is Sk = z 2k = 0 .

where

d x 2k

 z3  d z 2k =  k4  = x2k − x2k .  zk 

and

Let us define the following states as

ω kr

It is desired that xk2 = x 2k d . In this way, it is defined a second new error vector, z 2k as

This surface will be zeroing as the state trajectories reach the surface, and then the control objectives will be accomplished. The transformed system (10) is redefined as (11) z1k +1 = K1z1k − B1z 2k S k +1 = f 2 − B2u k

In order to design a control law, a discrete-time sliding mode version (Utkin, et al., 1999), is implemented as ukeq  uk =  ukeq u0  ukeq

for

ukeq ≤ u0

for

ukeq > u0

where u keq is calculated from S k +1 = 0 of the form

[]

u keq = B −2 1 f 2

and u 0 is the control resources that bound the control. Proceeding with a stability analysis, where the case u keq ≤ u0 is first analyzed. To reveal the structure of u keq and S k +1 , let us represent them as the following functions: d u keq = B −21 f 2 + S k − x k2 + x 2k    and d

S k +1 = S k + f 2 − x k2 + x 2k − B 2u k .

(12)

In order to decrease S k monotonically to zero, it is

necessary to satisfy S k +1 − S k ≤ 0 , and using the fact that control can vary within u keq ≤ u0 , then, the

4

condition that guarantees sliding mode stability, is calculated as

B −21  f 2

d − x k2

+

x 2k 

≤ u0 .

2 0 3.654

(12) yields  u  + x 2k 1 − 0    u keq  d u ≤ Sk + f 2 − xk2 + xk2 − 0 B2−1

S k +1

   

S k +1 < Sk

due to (13). Hence S k decreases monotonically to zero, and, after a finite number of steps, u k ≤ u0 is achieved, i.e. d

Sk = z k2 = 0 ⇒ xk2 = x2k .

Discrete-time sliding mode will take place from the following sampling point onwards. Under the condition (7), the transformed system (11) of order 4, reduces its order to 2, and it is modeled by z1k +1 = K1z1k . This system represents the sliding mode dynamics which achieves the control objectives. It is an obvious fact that the proposed control u k depends on f 2 in order to eliminate old dynamics, but this function depends of control u k squared, due 2

Im k =

2 + ikβ

.

It is assumed that Im k is constant, i.e. Im k +1 = Im k . Then the observer is presented as the original plant plus a tracking error ˆIm = ˆIm + ge I k +1

k

3.658

3.66 3.662 Time (sec)

3.664

3.666

3.668

3.656

3.658

3.66 3.662 Time (sec)

3.664

3.666

3.668

error

2

k

where = Im k − ˆIm k is the tracking error. Taking one step ahead ekI +1 = (1 − g )ekI it is easy to see that with the following condition: 2>g >0 the observer error will tends asymptotically to zero, and the estimation ˆIm will track the real value ekI

k

Im k . Avoiding the control dependency of u k squared. Fig. 2 shows a simulation of the observer.

0 -2 3.654

Fig. 2. (1) Comparison of Im k with Iˆm k . (2) The tracking error. Again, there is an error that can be eliminated by the control action. 3.2 Reduced order nonlinear observer The last control algorithm works with the full state and parameters measurement assumption. But in reality, the rotor fluxes and torque measurement is a difficult task. Here, it is design a reduced order nonlinear observer for fluxes and load, with the rotor speed and currents measurements only. System (4) is written as ω k +1 = ω k + I k ℑ% k − (T J )T Lk I k +1 = ϕ k + (T σ )u k

% k +1 = aG k k + (1 − a) MG k I k

(14)

where G k is defined as

cos(npTωk ) − sin(npTωk ) Gk =  .  sin(npTωk ) cos(npTωk ) 

The proposed observer for the system (14), assumes the speed and current measurements, and an unknown constant load T  ωˆ k +1 = ωk + Iℑ%ˆ k −  TˆLk + l1(ωk − ωˆ k ) J ˆ ˆ TLk +1 = TLk + l2 (ωk − ωˆ k )

2

to term ikα+1 + ikβ+1 , that appears in f 1 , making the system in that way, unsolvable. To overcome this problem it is designed an observer only with current measurements, for the new variable Im k , defined as follows 2 ikα

3.656

(13)

  Note that otherwise, the control resources are insufficient to stabilize the system. Let us turn to the u keq case when u keq ≤ u0 . Replacing u k = u0 in u keq d  S k +1 =  Sk + f 2 − x2k

Im Îm

6

Let

, eω k

(15)

%ˆ k +1 = aGk ˆ k + (1 − a)MGk I k .

be the difference between the measured rotor

speed and the estimated one, i.e. eωk = ω k − ωˆ k . Then the following error definition is ekL , and represents the difference between the real and the estimated load e L = T − Tˆ k

Lk

Lk

and the difference between real flux vector and the estimated one is as follows e  = % k − %ˆ k . k

Taking one step ahead of the three error equations, it yields to the dynamical error equations eωk +1   − l − T  eωk   (16)  L = 1 J   L  + i k ℑe k  e   ek +1  − l2 1  k  ek +1 = aG k ek

A Lyapunov function can be used to proof stability of ek T

Ψ. Vk = eΨ k ek

Taking one step ahead of the Lyapunov function T 2 T Ψ. Vk +1 = e Ψ k a G k G k ek The increment of the Lyapunov function should be negative, and is expressed as T

(

)

∆Vk = ekΨ a 2GTk G k − I 2x 2 eΨ k