7.
Sisteme numerice de reglare cu durată finit ă a regimului tranzitoriu Cuprins
1. Sisteme cu durată durată finită a regimului regimului tranzitoriu ................................. .................................
1.1. Caracterizarea sistemelor cu durată finită a regimului tranzitoriu (SDFRT) ....................................... ............................................................... ............................................ ............................. ......... 1.1.1. Formularea proprietăţii de durată finită fi nită a regimului tranzitoriu (DFRT) ................................................ ................................................................ ....................................... ....................... 1.1.2. Condiţiile necesare şi suficiente pentru ca un sistem discret să fie sistem cu durată finită a regimului tranzitoriu (SDFRT) ...... 1.1.3. Exemplu de sistem cu comportare DFRT diferită pentru răspunsul liber şi ş i cel forţat ......................................................... ......................................................... 1.2. Descrierea în domeniul z a sistemelor cu durată finită a regimului tranzitoriu ................................................ ................................................................ .......................................... .......................... 1.2.1. Transformata Z a unui şir de numere cu valoare constantă la infinit ........................................... ................................................................. ............................................ ......................... ... 1.2.2. Răspunsul unui sistem discret cu funcţie de transfer proprie cu număr finit de poli în origine ............. .................................... 2. Sinteza sistemelor numerice folosind metoda dead beat clasic ..........
2.1. Formularea problemei ........................................... ............................................................... ............................ ........ 2.2. Metoda dead beat clasic pentru sisteme fără timp mort .................... 2.2.1. Algoritmul dead beat clasic pentru sisteme fără timp mort ....... 2.2.2. Comportarea în circuit închis ....................................... ..................................................... .............. 2.2.3. Evoluţia în circuit închis a mărimii de comandă ........................ 2.2.4. Exemplu de aplicare şi implemen tare a metodei dead beat timp mort de ordinul unu unu .................. clasic pentru sisteme fără timp 2.2.5. Exemplu de aplicare şi implementare a metodei dead beat timp mort de ordinul doi doi ................... clasic pentru sisteme fără timp 2.3. Metoda dead beat clasic pentru sisteme cu timp mort ....................... 2.3.1. Forma discretă a funcţiei de transfer a părţii fixe cu timp mort . 2.3.2. Algoritmul dead beat clasic pentru sisteme cu timp mort .......... 2.3.3. Comportarea în circuit închis ....................................... ..................................................... .............. 1
2.4. Metoda dead beat clasic cu număr extins de paşi .............................. .............................. 2.4.1. Formularea problemei .......................................... ................................................................ ...................... beat clasic cu număr extins extins de paşi cu un 2.4.2. Algoritmul dead- beat grad de libertate .......................................... ................................................................ ................................ .......... 2.4.3. Comportarea în circuit închis ....................................... ..................................................... .............. 2.4.4. Evoluţia în circuit închis a mărimii de comandă ........................ 3. Sinteza sistemelor numerice folosind metoda dead de ad beat după stare ..
3.1. Formularea problemei ............................................................... ....................................................................... ........ 3.2. Extinderea problemei de conducere către o stare oarecare ............... 3.3. Controlabilitatea sistemului pur discret ............................................. ............................................. 3.3.1. Definiţii şi notaţii ............................................... .................................................................... ........................ ... 3.3.2. Domeniile de controlabilitate controlabilitate ............................................... ..................................................... ...... 3.4. Algoritmul de conducere în timp minim ........................................... ........................................... 3.4.1. Legea de comandă în circuit deschis ....................................... .......................................... ... 3.4.2. Legea de conducere în circuit închis î nchis .......................................... .......................................... 3.4.3. Comportarea sistemului în circuit închis ................................... 3.4.4. Procedura de calcul a legii de conducere ................................... ................................... beat după stare pentru un un 3.5. Exemplu de aplicare a metodei dead- beat sistem de ordinul doi ............................................ ................................................................ ............................. ......... 3.6. Proiectarea legii de conducere discretă după criteriul timpului minim pentru sisteme cu mai multe intrări ........................................ ........................................ 3.6.1. Formularea problemei de conducere .......................................... .......................................... 3.6.2. Domenii de controlabilitate controlabilitate .................................................. ........................................................ ...... 3.6.3. Algoritmul Algoritmul de conducere ....................................................... ............................................................ .....
2
2.4. Metoda dead beat clasic cu număr extins de paşi .............................. .............................. 2.4.1. Formularea problemei .......................................... ................................................................ ...................... beat clasic cu număr extins extins de paşi cu un 2.4.2. Algoritmul dead- beat grad de libertate .......................................... ................................................................ ................................ .......... 2.4.3. Comportarea în circuit închis ....................................... ..................................................... .............. 2.4.4. Evoluţia în circuit închis a mărimii de comandă ........................ 3. Sinteza sistemelor numerice folosind metoda dead de ad beat după stare ..
3.1. Formularea problemei ............................................................... ....................................................................... ........ 3.2. Extinderea problemei de conducere către o stare oarecare ............... 3.3. Controlabilitatea sistemului pur discret ............................................. ............................................. 3.3.1. Definiţii şi notaţii ............................................... .................................................................... ........................ ... 3.3.2. Domeniile de controlabilitate controlabilitate ............................................... ..................................................... ...... 3.4. Algoritmul de conducere în timp minim ........................................... ........................................... 3.4.1. Legea de comandă în circuit deschis ....................................... .......................................... ... 3.4.2. Legea de conducere în circuit închis î nchis .......................................... .......................................... 3.4.3. Comportarea sistemului în circuit închis ................................... 3.4.4. Procedura de calcul a legii de conducere ................................... ................................... beat după stare pentru un un 3.5. Exemplu de aplicare a metodei dead- beat sistem de ordinul doi ............................................ ................................................................ ............................. ......... 3.6. Proiectarea legii de conducere discretă după criteriul timpului minim pentru sisteme cu mai multe intrări ........................................ ........................................ 3.6.1. Formularea problemei de conducere .......................................... .......................................... 3.6.2. Domenii de controlabilitate controlabilitate .................................................. ........................................................ ...... 3.6.3. Algoritmul Algoritmul de conducere ....................................................... ............................................................ .....
2
1. Sisteme cu durată durată finită a regimului tranzitoriu 1.1. Caracterizarea sistemelor cu durată finită a regimului tranzitoriu (SDFRT) 1.1.1. Formularea proprietăţii de durată finită a regimului tranzitoriu (DFRT)
Prin sistem cu durată finită a regimului tranzitoriu (SDFRT) se înţelege un sistem a cărui evoluţie intră în starea de echilibru după un interval finit de timp, cu condiţia ca intrarea să fie constantă, oricare ar fi acea valoare constantă a intrării şi oricare a fost evoluţia anterioară momentului din care intrarea se menţine constantă. Proprietatea “durată finită a regimului tranzitoriu (DFRT) ” este specifică sistemelor discrete în timp. Sistemele liniare în timp continuu nu au această proprietate. Există cazuri particulare de sisteme neliniare în timp continuu ce au proprietatea DFRT. DFRT. Pentru concretizare se consideră un sistem discret în timp, cu intrarea şirul de valori uk ∈ U , ieşirea şirul yk ∈ Y şi starea xk ∈ X , descris prin ecuaţiile de stare : xk +1 = f k ( xk , uk ) , (1.1.1) Error! Bookmark not defined. yk = g k ( xk , uk ) . (1.1.2) Se consideră că pentru k ≥ ≥ k 0 intrarea este menţinută constantă la o valoare, notată u e , adică e uk = u , ∀ k ≥ k 0 (1.1.3) şi că rezultatul evoluţiei anterioare este concentrat în starea xk 0 = x 0 . Sistemul (1.1.1), (1.1.2) este un sistem cu durată finită a regimului tranzitoriu (SDFRT), dacă există un moment finit de timp k 1 ≥ k 0 astfel încât: xk = x e , ∀k ≥ k 1 , ∀u e ∈U , ∀ x 0 ∈ X . (1.1.4) Starea de echilibru x e asigur ă un regim staţionar în raport cu ieşirea dacă relaţia de ieşire (1.1.2) este invariantă în timp, adică yk = g ( xk , uk ) , (1.1.5) astfel că valoarea de regim staţionar a ieşirii este e e e y = g ( x , u ) . (1.1.6) O evoluţie cu DFRT este ilustrată în Fig. 1.1.1. Evoluţia sistemului pentru k ≥ ≥ k 0 în condiţiile de mai sus, reprezintă de fapt răspunsul unui sistem discret la intrare a treaptă de valoare u = u e aplicată la momentul k = = k 0 , adică e uk = u ⋅ 1(k − k 0 ) (1.1.7) din starea iniţială xk 0 = x 0 oarecare. 3
Fig. 1.1.1. Echivalent, se poate exprima că un sistem discret este SDFRT dacă răspunsul prin stare şi ieşire la intrare treaptă oarecare şi condiţii iniţiale nenule oarecare, rămâne constant după un număr finit de paşi. Numărul finit de paşi în care se atinge regimul de echilibru, definit prin N = k 1 − k 0 , (1.1.8) în general nu este constant. Pentru sistemele liniare el depinde numai de starea iniţială xk 0 , iar la sistemele neliniare depinde şi de val oarea u e a semnalului treaptă aplicat. Sistemul (1.1.1), (1.1.2) poate reprezenta modelul matematic matematic al unui sistem de reglare în care intrarea uk este mărimea prescrisă a sistemului. În acest caz, sistemul asigură un răspuns în raport cu mărimea impusă cu durată finită a regimului tranzitoriu , iar condiţia de eroare staţionară nulă în raport cu mărimea prescrisă se exprimă, prin relaţia: e e e e e e y = u ⇔ g ( x , u ) = u , ∀u ∈ U . (1.1.9) În alte exemple, sistemul (1.1.1), (1.1.2) poate reprezenta modelul matematic al unui sistem de reglare în care intrarea uk este o perturbaţie aplicată sistemului de reglare. În acest caz, sistemul asigură un răspuns în raport cu perturbaţia , cu durată finită a regimului tranzitoriu t ranzitoriu,, iar condiţia de rejecţie a perturbaţiei se exprimă, prin relaţia: y e = 0 ⇔ g ( x e , u e ) = 0, ∀u e ∈U . (1.1.10) În multe probleme de sinteză se impune ca modelul matematic al unui sistem de conducere în circuit închis, în raport cu mărimea prescrisă sau în raport cu o perturbaţie, să fie un SDFRT. SDFRT. Se poate sintetiza legea de conducere din acel sistem astfel a stfel încât numărul N de de paşi în care se atinge regimul de echilibru să aibă valoare minimă sau să aibă o valoare prestabilită. Sinteza legilor de conducere pentru a asigura o evoluţie în circuit închis cu DFRT, se poate realiza, la modul general, inclusiv pentru sisteme neliniare sau sisteme liniare variabile în timp, folosind teoria sistemelor optimale. 4
Pentru sistemele liniare sunt larg utilizate o serie de metode de sintez ă simple, care fac şi obiectul prezentului curs. Există numeroase exemple de procese, tehnice, economice, biologice în care condiţia de DFRT este esenţială. 1.1.2. Condiţiile necesare şi suficiente pentru ca un sistem discret să fie sistem cu durată finită a regimului tranzitoriu (SDFRT)
Sistemul discret (1.1.1), (1.1.2) este un SDFRT dacă şi numai dacă sunt îndeplinite următoarele două condiţii: 1. Condiţia de existenţă a stării de echilibru: (1.1.11) ∃k 1 finit, ∀u e ∈ U , ∃ x e ∈ X , x e = f k ( x e , u e ), ∀k ≥ k 1 . 2. Condiţia de stare de echilibru la un moment finit de timp: e e e e e e e x = f k 1 −1 ( f k 1 − 2 ( f k 1 − 3 (...( f k 0 +1 ( f k 0 ( x 0 , u ), u )...), u ), u ), u ), ∀u ∈U , ∀ x 0 ∈ X . (1.1.12) Condiţia (1.1.11) presupune existenţa unor stări de echilibru, c are sunt soluţii ale ecuaţiei algebrice : e e e x = f k ( x , u ) . (1.1.13) Condiţia (1.1.12) impune ca starea xk 1 în care se ajunge la pasul k 1 finit, în urma evoluţiei cu intrarea uk = u e , k ≥ k 0 din starea iniţială oarecare xk 0 = x 0 , să fie una din stările de echilibru date de (1.1.13). În cazul unui sistem liniar invariabil în timp discret (SLITD), cu mai multe intrări şi mai multe ieşiri descris prin: (1.1.14) xk +1 = A ⋅ xk + B ⋅ uk , yk = C ⋅ xk + D ⋅ uk , (1.1.15) în care se notează k 0 = 0, k 1 = N , (1.1.16) condiţia (1.1.11) implică existenţa unor soluţii x e , ∀u e ∈ U ale ecuaţiei
(1.1.17) = A ⋅ x e + B ⋅ u e sau ( I − A) ⋅ x e = B ⋅ u e . Dacă det ( I − A) ≠ 0 , adică sistemul (1.1.14) nu are caracter integrator, atunci există o soluţie unică : −1 x e = ( I − A) B ⋅ u e , ∀u e ∈ U . (1.1.18) Având în vedere expresia soluţiei unui SLITD , x
e
xk = A
k − k 0
k −1
⋅ xk + ∑ j = k Ak − j −1 ⋅ B ⋅ u j , 0
0
k ≥ k 0
+1,
condiţia (1.1.12), aplicată pentru (1.1.14) cu notaţia (1.1.16), devine : N −1 N j e N x = A ⋅ x 0 + ∑ j =0 A − −1 ⋅ B ⋅ u j . 5
(1.1.19) (1.1.20)
Înmulţind relaţia (1.1.20) la stânga cu ( I − A) în care se substituie u j = u e şi se foloseşte (1.1.17), după reducerea termenilor din dreapta, se obţine în final : (1.1.21) ( I − A) ⋅ A N ⋅ x 0 − A N ⋅ B ⋅ u e = 0, ∀ x 0 ∈ X , ∀u e ∈ U . Identitatea (1.1.21), la care se adaugă condiţia ∃ N finit, exprimă condiţia necesară şi suficientă pentru ca un SLITD să fie SDFRT. Pentru sistemul (1.1.14), i dentitatea (1.1.21) este echivalentă cu condiţiile :
(1.1.22) ∃ N finit, A N = 0 ⇔ ∆( z ) = det ( zI − A) = z N , adică toate valorile proprii ale matricei A sunt nule. Aceasta înseamnă că un SDFRT se comportă ca o linie de întârziere cu N paşi. Datorită condiţiei (1.1.22) matricea de transfer H ( z ) a sistemului (1.1.14), (1.1.15), dată de −1 H ( z ) = C ⋅ ( zI − A) ⋅ B + D (1.1.23) este de forma H ( z ) =
1 N
z
⋅ M ( z ) ,
(1.1.24)
unde M ( z ) este o matrice de polinoame. Forma (1.1.24) a matricei de transfer face ca răspunsul forţat să fie de tip medie alunecătoare ponderată. Un astfel de sistem are răspunsul la impuls nul pentru k ≥ N , adică este un sistem de tipul FIR ( Finite Impulse Response). Valoarea finală la ieşire y e a unui SDFRT este y
e
= lim (1 − z −1 ) ⋅ Y ( z ) = H (1) ⋅ u e = [C ⋅ ( I − A)−1 ⋅ B + D ] ⋅ u e . z →1
(1.1.25)
Dacă polinomul caracteristic ∆( z ) al unui sistem complet controlabil şi complet observabil are cel puţin o rădăcină nenulă , atunci sistemul nu mai are proprietatea DFRT pentru nici o componentă a vectorului de ieşire. Se notează prin y i
H ij ( z ) = H u j ( z ) =
M ij ( z ) Lij ( z )
,
(1.1.26)
componenta (ij) a matricei de transfer ce exprimă legătura dintre co mponenta j a intrării, uk j , şi componenta i a ieşirii, yk i . Este posibil ca anumite componente N ij
să îndeplinească condiţia de DFRT, adică să aibă Lij ( z ) = z , iar altele să nu îndeplinească această condiţie. Astfel de situaţii sunt posibile numai dacă sistemul (1.1.14), (1.1.15) nu îndeplineşte condiţia de controlabilitate sau observabilitate. Este posibil ca răspunsul forţat, descris prin funcţii de transfer, să fie de tip DFRT însă nu şi răspunsul liber. H ij ( z )
6
1.1.3. Exemplu de sistem cu comportare DFRT diferită pentru răspunsul liber şi cel forţat
Se consideră un sistem disc ret de forma (1.1.14), (1.1.15), cu o singură intrare T B = b şi o singură ieşire C = c , D = d , caracterizat prin matricele: Error!
Bookmark
not
defined.Error!
Bookmark
0.95 0 0 0 2 0 .5 2 0 0 0 , b = 0 , c = − 1.2375 , d = [2] . defined. A = 0 2 0 0 0 0.6625 0 0 0.5 0 0 − 0.3562 Se calculează polinomul caracteristic, ∆( z ) = z 3 ⋅ ( z − 0.95) , deci nu îndeplineşte condiţia de DFRT (1.1.22). Funcţia de transfer a sistemului (1.1.27) este descrisă prin 2( z + 1.823)( z − 0.95)( z − 0.8229)( z − 0.5) , H ( z ) = z 3 ( z − 0.95) adică o funcţie reductibilă cu factorul comun (z - 0.95). Forma redusă a funcţiei de transfer 2( z + 1.823)( z − 0.8229)( z − 0.5) H ( z ) = 3 z
not
(1.1.27)
(1.1.28)
(1.1.29)
(1.1.30)
îndeplineşte condiţia de DFRT (1.1.22). În Fig. 1.1.2.a sunt reprezentate răspunsu l liber yk liber generat de starea iniţială T 0 x = [0.01 0.01 0.01 0.01] şi răspunsul forţat yk fortat determinat de intrarea u e = 1 . Se observă că răspunsul forţat are caracter DFRT, dar cel liber nu este cu DFRT. În Fig. 1.1.2.b este reprezentat răspunsul global yk global = yk liber + yk fortat .
Fig. 1.1.2. 7
1.3. Descrierea în domeniul z a sistemelor cu durată finită a regimului tranzitoriu 1.3.1. Transformata Z a unui şir de numere cu valoare constantă la infinit N Se consideră un şir de numere { y N k }k > 0 pentru care primele N valori yk au o
formă oarecare yk , iar restul sunt egale cu valoarea y N , unde N este un număr întreg finit. Terme nul general al acestui şir este: 0 ≤ k ≤ N − 1 yk , N yk = . ≥ y , k N N Dacă y N = 0, şirul { y N k }k > 0 este denumit şir cu număr finit de termeni şi se ,0 notează { y N k }k > 0 . Pentru evaluarea transformatei Z se aplică formula fundamentală. Rezultă:
Y ( z ) = N
N −1
{ }= ∑ y =0
N Z yk
∞
⋅ z + ∑ yk ⋅ z − k , − k
k
(1.2.1)
k = N
k
sau, dezvoltat: Y ( z ) = y0 ⋅ z N
=
0
−1
+ y1 ⋅ z + ⋅ ⋅ ⋅ + y N −1 ⋅ z
y0 ⋅ z N −1 + y1 ⋅ z N −2
− ( N −1)
∞
+ y N ⋅ ∑ z − k = k = N
+ ⋅ ⋅ ⋅ + y N −2 ⋅ z1 + y N −1 ⋅ z 0 N −1
z
+ y N ⋅ z
− N
∞
⋅ ∑ z −i . i =0
Evaluând şi ultima sumă, în condiţ iile precizate, r ezultă: Y ( z ) = N
M ( z )
unde,
N −1
z
+ y N ⋅ z
− N
⋅
z z − 1
, | z | > 1 =
Y N Rc
,
(1.2.2)
N −1
+ y1 ⋅ z N −2 + ⋅ ⋅ ⋅ + y N −2 ⋅ z1 + y N −1 ⋅ z 0 este un polinom în z de gradul N − 1 , dacă y0 ≠ 0 . M ( z ) = y0 ⋅ z
N , 0 Un şir cu un număr finit de termeni { y N k } = {yk }, unde y k = y N = 0, ∀k ≥ N , definit prin (1.2.3) { y N k ,0 }= { y N k }0< k < N −1 = { y0 , y1,⋅ ⋅ ⋅, y N − 2 , y N −1}
are transformata Z N , 0
Y
( z ) =
{
N Z y k ,0
}=
M ( z ) N −1
z
=
N −1
y0 ⋅ z
+ y1 ⋅ z N −2 + ⋅ ⋅ ⋅ + y N −2 ⋅ z1 + y N −1 ⋅ z 0 N −1
z
, (1.2.4)
o raţională proprie dacă y 0 ≠ 0 , cu Y N ,0 (∞) = y0 ,
(1.2.5) 8
şi N - 1 poli în originea planului complex. Pentr u un şir de numere cu valoare constantă la infinit nenulă y N ≠ 0 , transformata Z este o raţională proprie , dacă y0 ≠ 0 , dată de: N
Y
1 M N ( z ) Y ( z ) = N −1 ⋅ M ( z ) + y N ⋅ , | | 1 z R (1.2.6) = > = c 1 N − 1 z − ( 1 ) z z z ⋅ − 1
N
unde,
+ ( y1 − y0 ) z N −1 + ⋅ ⋅ ⋅ + ( y N −1 − y N −2 ) z1 + ( y N − y N −1 )z 0 (1.2.7) este un polinom în z de gradul N dacă y0 ≠ 0 . M ( z ) = y0 z N
N
1.3.2. Răspunsul unui sistem discret cu funcţie de transfer proprie cu număr finit de poli în origine
Se consideră o funcţie Y ( z ) raţională proprie cu un număr finit p ≥ 1 de poli în originea planului z, pe care o notăm: p p −1 + ⋅ ⋅ ⋅ + b1 ⋅ z1 + b0 ⋅ z 0 M ( z ) b p ⋅ z + b p −1 z Y ( z ) = , (1.2.8) = p p z
unde M ( z ) =
z
∑ = (b ⋅ z ) , b p
≠ 0 (1.2.9) este un polinom de gradul p cu termenul liber nenul. Se arată că, dacă b0 ≠ 0 , transformata Z inversă a acestei funcţii, notată , conform (1.2.4), prin Y ( z ) = Y N ,0 ( z ) = Y p +1,0 ( z ), este un şir finit de N = p + 1 termeni, ∑ p bi ⋅ z i { y pk +1,0 }k ≥ 0 = Z −1{Y p +1,0 ( z )}= Z −1 i = 0 p = { y0 , y1,, y p −1, y p } = z = {b p , b p−1 , , b1 , b0 } (1.2.10) cu termenul general { yk p +1,0 }k ≥ 0 = b0 p, − k , 0k ≤≥ k p≤+ p1 . (1.2.11) Într-adevăr, dacă expresia (1.2.8) se interpretează ca şi serie infinită degenerată (prin împărţire cu z p ), se obţine: ( p ) (p ) p Y ( z ) = b p ⋅ z 0 + b p −1 ⋅ z −1 + ⋅ ⋅ ⋅ + b1 ⋅ z − −1 + b0 ⋅ z − + 0 ⋅ z − +1 + ⋅ ⋅ ⋅ care, prin interpretarea ei ca şi formulă fundamentală, conduce la (1. 2.11). Expresia (1.2.11) poate fi obţinută şi prin aplicarea formulei de inversiune cu reziduuri, pentru care structura polilor în funcţie de parametrul p este dată de polii familiei de funcţii: i 0
i
i
0
9
Gk ( z ) = Y ( z ) ⋅ z
k −1
=
M ( z ) z
p
⋅ z k −1 ,
z ≠ 0, p ≥ 1, b0
≠ 0.
Pentru k ≥ p + 1 , funcţia k − − p Gk ( z ) = z 1 , z ≠ 0, p ≥ 1, b0 ≠ 0 nu are nici un pol astfel că : p + − M ( z ) k − − p yk = yk 1,0 = Z 1 p = ∑ Rez [ M ( z ) ⋅ z 1 ] = 0, z Nici un pol Pentru 0 ≤ k ≤ p , funcţia Gk ( z ) =
M ( z ) z p − k +1
(b ⋅ z ) =∑= , z ≠ 0, p ≥ 1, b p
k ≥ p + 1 .
(1.2.12)
i
i i 0 p − k +1
0
z
≠0
are un pol, z = 0, multiplu de ordinul ( p − k + 1) . Atunci 1 M ( z ) k − − M ( z ) yk = Z 1 p = ∑ Rez p ⋅ z 1 = ∑ Rez M ( z ) ⋅ p − k +1 . z z Polul z = 0 z Polul z =0 Se obţine: ( p − k )
1 1 yk = ⋅ z p − k +1 ⋅ M ( z ) ⋅ p − k +1 = ⋅ [ M ( z )] ( p − k ) z = 0 , 0 ≤ k ≤ p , ( p − k ) ! ( p − k ) ! z z = 0 sau ( p − k ) p p 1 1 i yk = ⋅ ∑ bi ⋅ z = ⋅ ∑ bi ⋅ ( z i ) ( p − k ) z = 0 = b p − k , 0 ≤ k ≤ p . ( p − k ) ! i = 0 ( p − k ) ! i = 0 1
z = 0
Deoarece:
0 , i < p − k i ( p − k ) i = p − k = ( p − k )!, ( z ) (1.2.13) i! i − p + k i > p − k , (i − p + k )! ⋅ z se obţine că 0, i ≠ p − k ( z i ) ( p − k ) z = 0 = . (1.2.14) ( ) ! , p k i p k − = − Reunind cele două ramuri, pentru k ≥ p + 1 şi 0 ≤ k ≤ p se scrie: ∑ p bi z i b , 0 ≤ k ≤ p yk = Z −1 i p = p − k = yk p +1,0 , (1.2.15) 0 , 1 k p ≥ + z adică transformata Z inversă a unei funcţii raţionale proprii cu un număr finit p de poli în originea planului z este un şir finit de p + 1 valori cu yk = b p − k , 0 ≤ k ≤ p . 10
Exemplu:
Funcţia raţională cu doi poli în origine : 2 z + 4 z − 5 Y ( z ) = 2 z
se mai poate scrie − − − Y ( z ) = 1 ⋅ z 0 + 4 ⋅ z 1 − 5 ⋅ z 2 + 0 ⋅ z 4 + ⋅ ⋅ ⋅ astfel că se deduc: y0 = 1, y1 = 4, y2 = -5, y3 = 0, y4 = 0, ... Ca şi exerciţiu de validare a formulei cu reziduuri se calculează: z 2 + 4 z − 5 k −1 z 2 + 4 z − 5 yk = ∑ Rez ⋅ z = ∑ Rez 2−k +1 . 2 z Polul z = 0 z Polul z =0 z 2 + 4 z − 5 (3−1) 1 1 2 4 5 k = 0, y0 = Rez z z = + − = ⋅ 2 = 1. [ ] (3 − 1)! z =0 3 z =0 2 ! z
z 2 + 4 z − 5 (2 −1) 1 1 2 [ 4 5 ] k = 1, y1 = Rez z z = + − ⋅4 = 4. z =0 = 2 z = 0 2 1 ! 1 ! ( ) − z z 2 + 4 z − 5 (1−1) 1 1 2 [ 4 5 ] k = 2, y2 = Rez z z = + − = ⋅ (− 5) = (− 5) . (1 − 1)! z =0 z =0 0 ! z + k + k ≥ 3, yk = Rez ( z 2 + 4 z − 5)⋅ z 2 1 = 0 . Nici un pol
2. Sinteza sistemelor numerice folosind metoda dead-beat clasic 2.1. Formularea problemei
Se consideră sistemul n umeric de reglare convenţională reprezentat discret în variaţii faţă de un regim staţionar ca în Fig. 2.1.1 , unde: H R ( z ) = K AN K NA ⋅ D( z ) , H ( s) G ( z ) = (1 − z −1 ) ⋅ Z F , s Y p ( z ) = Z H F ( s ) ⋅ P ( s) . p
11
în timp (2.1.1) (2.1.2) (2.1.3)
Fig. 2.1.1.
Sinteza după metoda dead- beat clasică presupune determinarea funcţiei de transfer Z a legii de reglare H R ( z ) astfel încât să fie îndeplinite următoarele performanţe definite, în momentele de eşantionare, pe răspunsul la intrare treaptă unitate a mărimii impuse: vk = 1, k ≥ 0
⇔
V ( z ) =
1 1 − z
−1
.
(2.1.4)
1. Durată finită a regimului tranzitoriu (2.1.5) ∃m finit, astfel încât yk = ym , ∀k ≥ m . 2. Eroare staţionară de poziţie nulă: * yk = vk = 1, ∀ k ≥ m ⇔ ε k = vk − yk = 0, ∀ k ≥ m ⇒ ε 0∞ = lim ε k = 0 . k → ∞
3. Mărimea de comandă uk stationar: uk = um , ∀k ≥ m .
(2.1.6) rămâne constantă la atingerea noului regim (2.1.7)
4. Timp minim de răspuns, exprimat prin valoarea minimă a pasului m la care se atinge noul regim staţionar. 2.2. Metoda dead-beat clasic pentru sisteme fără timp mort 2.2.1. Algoritmul dead-beat clasic pentru sisteme fără timp mort
Se consideră forma discretă a părţii fixe ca fiind o raţională strict proprie: G ( z ) =
B( z −1 )
,
(2.2.1)
− − −m B ( z 1 ) = b1 ⋅ z 1 + ⋅ ⋅ ⋅ + bm ⋅ z ,
(2.2.2) (2.2.3)
A( z −1 )
unde: A( z −1 ) = 1 + a1 ⋅ z −1 + ⋅ ⋅ ⋅ + am ⋅ z − m .
Faptul că G( z) este strict proprie, implică b0 = 0 şi deci y0 = 0 , 12
(2.2.4)
adică valoarea răspunsului yk la pasul iniţial k = 0 este nulă. Ţinând cont de (2.2.4) şi de (2.1.6), transformata Z a răspunsului yk trebuie să fie de forma: − − (m −1) Y ( z ) = y1 ⋅ z 1 + ⋅ ⋅ ⋅ + ym −1 ⋅ z + ym ⋅ z − m + z −(m +1) + ⋅ ⋅ ⋅ , ym = vm = 1 . (2.2.5) Termenul din paranteză este o serie geometrică cu raţia z −1 , convergentă pentru | z | > 1 , astfel că pentru Y ( z ) se obţine: Y ( z ) = y1 ⋅ z
−1
+ ⋅ ⋅ ⋅ + ym −1 ⋅ z
− ( m −1)
+
z −
m
1 − z −1
.
(2.2.6)
În acelaşi mod se exprimă şi transformata Z a mărimii de comandă: U ( z ) = u0
−1
+ u1 ⋅ z + ⋅ ⋅ ⋅ + um −1 ⋅ z
− ( m −1)
+ um ⋅
z −
m
1 − z −1
, | z | > 1 ,
(2.2.7)
în care s-a folosit condiţia (2.1.7). Dacă referinţa are o variaţie treaptă unitate (2.1.4) atunci , V ( z ) =
1 1 − z
−1
(2.2.8)
şi funcţia de transfer Z în circuit închis, H v ( z ) , este: −m −1 z −( m−1) H v ( z ) = . (2.2.9) = (1 − z ) ⋅ y1 z + ⋅ ⋅ ⋅ + ym−1 ⋅ z + −1 V ( z ) z − 1 Se vede că H v ( z ) se poate exprima prin − H v ( z ) = P ( z 1 ) , (2.2.10) unde P ( z −1 ) = p1 ⋅ z −1 + p2 ⋅ z −2 + ⋅ ⋅ ⋅ + pm ⋅ z − m (2.2.11) este un polinom în z −1 ai cărui coeficienţi pk , 1 ≤ k ≤ m , se obţin prin identificare cu cei din (2.2.9) şi sunt daţi de: p1 = y1 p2 = y2 − y1 ...................... pk = yk − yk −1 (2.2.12) ...................... ( pm = ym − ym−1 , dar ym = vm = 1) . pm = 1 − ym −1 Prin însumarea relaţiilor (2.2.12) se obţine: m (2.2.13) ∑i pi = P(1) = 1 ⇒ H v (1) = 1 ⇒ ε*0∞ = 0 .
Y ( z )
−1
Se ştie că, eroarea staţionară de poziţie în momentele de eşantionare ε*0∞ este dată de: 13
ε*0∞ = lim(1 − z −1 ) ⋅ E ( z ) = lim{(1 − z −1 ) ⋅ [1 − H v ( z )]⋅ V ( z )} = 1 − H v (1) . (2.2.14) z →1
z →1
În acelaşi mod se exprimă funcţia de transfer dintre mărimea de comandă şi referinţă, numită pe scurt funcţie de transfer de comandă: −m U ( z ) z −1 −1 −(m −1) H c ( z ) = = (1 − z ) ⋅ u0 + u1 ⋅ z + ⋅ ⋅ ⋅ + um−1 ⋅ z + um ⋅ −1 (2.2.15) V ( z ) z − 1 care, prin identificare, conduce la H c ( z ) = Q ( z −1 ) , (2.2.16)
unde Q( z −1 ) este un polinom în z −1 de forma: Q( z −1 ) = q0 + q1 ⋅ z −1 + ⋅ ⋅ ⋅ + qm ⋅ z − m cu: q0 = u0 q1 = u1 − u0 ...................... qk = uk − uk −1 ...................... qm = um − um −1 . Prin însumarea relaţiilor (2.2.18) se obţi ne: m
∑= q
i
= Q(1) = um .
(2.2.17)
(2.2.18)
(2.2.19)
i 0
Din prima relaţie (2.2.18) rezultă că prima comandă u0 aplicată de legea de reglare, după variaţia treaptă unitate a referinţei este u0 = q0 . (2.2.20) Aşa cum se poate vedea în Fig. 2.1.1, funcţia de transfer a părţii fixe G( z) este G ( z ) =
Y ( z ) U ( z )
.
(2.2.21)
Ţinând cont de (2.2.9) şi de (2.2.10), ieşirea sistemului este: Y ( z ) = H v ( z ) ⋅ V ( z ) = P ( z −1 ) ⋅ V ( z ) . (2.2.22) Asemănător, utilizând (2.2.15) şi (2.2.16), şi considerând numai efectul mărimii impuse, adică Y p ( z ) ≡ 0 , pentru mărimea de comandă avem: U ( z ) = H c ( z ) ⋅ V ( z ) = Q( z −1 ) ⋅ V ( z ) .
(2.2.23)
Substituind aceste ultime două relaţii în (2.2.21) se obţine: G ( z ) =
H v ( z )V ( z ) H c ( z )V ( z )
=
H v ( z ) H c ( z )
=
P ( z −1 ) −1
Q( z )
sau 14
,
(2.2.24)
P ( z −1 )
+ ... + pm ⋅ z − m G ( z ) = . (2.2.25) −1 = −1 −m Q( z ) q0 + q1 ⋅ z + ... + qm ⋅ z Se cunoaşte faptul că factorul de amplificare de poziţie al părţii fixe din (1.2.1), în momentele de eşantionare , este K pF *
= lim G ( z ) = z →1
p1 ⋅ z −1 + p2 ⋅ z −2
lim yk
k → ∞
lim uk
k → ∞
=
y∞ u∞
=
B(1) A(1)
,
(2.2.26)
unde se r eaminteşte că yk şi uk reprezintă valorile în momentele de timp t = kT ale mărimilor y(t ) şi uF (t ) , care exprimă variaţiile mărimilor fizice y a (t ) = yF a (t ) a a şi respectiv u F a (t ) faţă de anumite valori în regim staţionar Y Fst , U Fst . Ieşirea din partea fixă şi deci intrarea în CAN, notată y a (t ) = yF a (t ) , este o a funcţie oarecare de timp cu o reprezentare în variaţii, faţă de o valoare Y Fst : a a a a y (t ) = y (t ) − Y Fst = y F (t ) − Y Fst . (2.2.27) Aceasta determină la ieşirea din CAN, deci la intrarea în legea de reglare, un şir de numere a cărui reprezentare în variaţii este : a a yk = y (kT ) = y a (kT ) − Y Fst = yF a (kT ) − Y Fst . (2.2.28) Ieşirea din CNA şi deci intrarea în partea fixă, notată u F a (t ) , este o funcţie de timp constantă pe porţiuni (în ipoteza utilizării unui extrapolator de ordinul zero la a CNA) a cărei reprezentare în variaţii, faţă de o valoare U Fst , este: a a u F (t ) = u F (t ) − U Fst . (2.2.29) Expresia în timp a acestei variabile în variaţii u F (t ) este: a a u F (t ) = u Fst (t ) − U Fst = uk −1 , ∀t ∈ ((k − 1)T , kT ] (2.2.30) dependentă de şirul de numere uk , care apare la ieşirea legii numerice de reglare considerată în variaţii. Algoritmul numeric de conducere, implementat prin program, generează de fapt un şir de numere exprimat la ieşirea CNA printr-o variabilă uk a . Această variabilă este rep rezentată în variaţii faţă de o valoare de bias echivalentă la ieşirea CNA, U bias = K NAW bias , prin şirul uk , definit prin: uk = uk a − U bias . (2.2.31) Faptul că intervalul de timp din (2.2.30) este închis la dreapta, asigură pentru t = kT , valorile a a u F (t ) t = kT = u F (kT ) = u Fst − U Fst = uk −1 , (2.2.32) adică, se confirmă afirmaţia de mai sus , cum că uF (t ) în momentul t = kT . 15
uk −1
reprezintă valoarea mărimii
În cazul de faţă, ţinând cont de (2.2.25), K pF *
= G (1) =
P (1) Q(1)
=
1 um
,
(2.2.33)
în care s-au folosit condiţiile (2.2.13) şi (2.2.19). Ultima valoare a mărimii de comandă um aplicată de legea de reglare este deci, um
=
1 F ∗
K p
m 1 = = Q(1) = qi . G (1) i =0
∑
(2.2.34)
Din (2.2.1) şi (2.2.24) se obţine identitatea: G ( z ) =
−
P ( z 1 ) − Q( z 1 )
≡
−
B( z 1 ) − A( z 1 )
,
(2.2.35)
adică −
− −m − q0 ⋅ (b1 z 1 + ... + bm z ) q0 B( z 1 ) + p 2 z −2 + ... + pm z − m ≡ − = − −m − −m = − . Q( z 1 ) q0 + q1 z 1 + ... + qm z q0 ⋅ (1 + a1 z 1 + ... + am z ) q0 A( z 1 ) (2.2.36) Aceasta conduce la: − − P ( z 1 ) = q0 ⋅ B ( z 1 ) , (2.2.37) Q( z −1 ) = q0 ⋅ A( z −1 ) . (2.2.38) În particular, pentru z = 1, şi ţinând cont că P(1) = 1, relaţia (2.2.37) conduce
P ( z 1 )
p1 z
−1
la: q0
=
P (1) B(1)
=
1 . b1 + ... + bm
(2.2.39)
Pentru structura din Fig. 2.1.1. se calculează H R ( z ) =
1 H ( z ) , ⋅ v G ( z ) 1 − H v ( z )
(2.2.40)
în care, dacă se substituie (2.2.1) şi (2.2.10) , se obţine: H R ( z ) =
− A( z 1 ) −
⋅
− P ( z 1 ) −
B( z 1 ) 1 − P ( z 1 )
.
(2.2.41)
Ţinând cont de (2.2.37) rezultă H R ( z ) =
A( z −1 )
⋅
q0 B( z −1 )
B( z −1 ) 1 − q0 B ( z −1 )
=
q0 A( z −1 )
1 − q0 B( z −1 )
.
Deci, legea de reglare obţinută prin metoda dead -beat clasic, pentru sisteme fără timp mort, este: H R ( z ) =
q0 A( z −1 )
1 − q0 B( z −1 )
.
(2.2.42) 16
Prima comandă aplicată este u0
= q0 =
1 1 , = B(1) b1 + ... + bm
(2.2.43)
iar ultima comandă aplicată la ieşire de către legea de reglare este 1 1 A(1) 1 + a1 + ... + am um = F ∗ = = = . G (1) B(1) b0 + b1 + ... + bm K p Algoritmul numeric de conducere automată i mplementat este deci: q0 D( z ) =
W ( z ) E N ( z )
=
1 K AN K NA
⋅ H R ( Z ) =
K AN K NA
(2.2.44)
A( z −1 )
1 − q0 ⋅ B( z −1 )
.
(2.2.45)
2.2.2. Comportarea în circuit închis
Funcţia de transfer în circuit închis realizată de acest sistem este − − − H v ( z ) = P ( z 1 ) = p1 ⋅ z 1 + p2 z 2
+ ... + pm ⋅ z − m
sau −1
−1
B ( z )
−1
H v ( z ) = P ( z ) = q0 B ( z ) =
B (1)
=
1 ⋅ (b1 ⋅ z −1 + ... + bm ⋅ z − m ) . (2.2.46) B (1)
Relaţia (2.2.46) care se poate rescrie sub forma: b1′ ⋅ z m−1 + b2′ ⋅ z m−2 + ... + bm′ −1 ⋅ z + bm′ H v ( z ) = m z
sau H v ( z ) = b1′ ⋅ z
−1
+ b2′ ⋅ z −2 + ... + bm′ ⋅ z − m ,
(2.2.47) (2.2.48)
unde bi′ =
bi
bi
(2.2.49) = p , 1 ≤ i ≤ m . + ... + bm B(1) i Se observă că se asigură o comportare în circuit înc his care depinde numai de numărătorul funcţiei G( z). De asemenea, sistemul are în circuit închis m poli în originea planului complex z şi realizează o medie alunecătoare, întârziată cu un pas, pe ultimele m valori ale mărimii prescrise. Din (2.2.48) şi (2.2.22) rezultă − − −m Y ( z ) = H v ( z ) ⋅ V ( z ) = (b1′ ⋅ z 1 + b2′ ⋅ z 2 + ... + bm′ ⋅ z ) ⋅ V ( z ) , sau − − −m Y ( z ) = b1′ ⋅ z 1 ⋅ V ( z ) + b2′ ⋅ z 2 ⋅ V ( z ) + ... + bm′ ⋅ z ⋅ V ( z ) , care, în domeniul timp, reprezintă media alunecătoare cu suma coeficienţilor de ponderare egală cu unitatea: b1 + b2
=
17
y k = b1′ ⋅ vk −1 + b2′ ⋅ vk −2
+ ... + bm′ ⋅ vk −m ,
sau (2.2.50) = p1 ⋅ vk −1 + p2 ⋅ vk − 2 + ... + pm ⋅ vk − m . Un sistem de tip medie alunecătoare este denumit şi sistem discret cu răspuns la impuls finit (FIR <=> Finite Impulse Response). Această comportare este asigurată numai dacă comenzile uk nu depăşesc anumite valori limită care menţin valabilă descrierea prin modele liniare. Dacă mărimea impusă este un semnal treaptă , comportarea în circuit închis este cea impusă prin condiţiile (2.1.5), (2.1.6), (2.1.7). Pentru oricare alte intrări, răspunsul dat de (2.2.50) atinge o valoare de regim staţionar egală cu valoarea constantă a mărimii impuse (dacă mărimea impusă ramâne constantă m perioade de eşantionare), deci se asigură eroare staţionară de poziţie nulă pentru oricare formă de variaţie a mărimii impuse, dacă aceasta se menţine la o valoare constantă m perioade de eşantionare. De asemenea, se observă că dacă toţi coeficienţii bi′ , i ∈ [1, m] au acelaşi semn, atunci răspunsul sistemului în circuit închis este monoton , dacă, în plus, valorile mărimii impuse vk păstrează acelaşi semn cel puţin m paşi. yk
2.2.3. Evoluţia în circuit închis a mărimii de comandă
Din (2.2.16) şi (2.2 .38) rezultă că funcţia de transfer de comandă este, − − − −m H c ( z ) = Q( z 1 ) = q0 ⋅ A( z 1 ) = q0 ⋅ (1 + a1 ⋅ z 1 + ... + am ⋅ z ) (2.2.51)
sau H c ( z ) = a0′
+ a1′ z −1 + a′2 z −2 + ... + am′ z − m = q0 + q1 ⋅ z −1 + ... + qm ⋅ z − m (2.2.52)
cu
= ai′ =
ai
b1 + b2
=
ai
, 0 ≤ i ≤ m, a0 = 1 . (2.2.53) + ... + bm B(1) Din (2.2.23) şi (2.2.52) rezultă că: − − −m U ( z ) = H c ( z ) ⋅ V ( z ) = (a0′ + a1′ z 1 + a′2 z 2 + ... + a′m z ) ⋅ V ( z ) , sau ′ z − m ⋅ V ( z ) , U ( z ) = a0′ ⋅ V ( z ) + a1′ z −1 ⋅ V ( z ) + a′2 z −2 ⋅ V ( z ) + ... + am de unde se obţine că (2.2.54) uk = a0′ ⋅ vk + a1′ ⋅ vk −1 + a2′ ⋅ vk − 2 + ... + a′m vk − m qi
care, în domeniul timp, reprezintă media alunecătoare de m paşi, începând cu pasul curent. Pentru intrare treaptă unitate, din (2.2.18) sau din (2.2.54) se obţine succesiunea comenzilor aplicate de către legea de reg lare, date de: u0 = q0 u0 = a0′ 18
u1 = a0′ + a1′ = u 0 + q1 = q0 + q1 u2 = u1 + q2 = q0 + q1 + q2 u 2 = a0′ + a1′ + a′2 .......................... .......................... (2.2.55) uk = uk −1 + qk = q0 + q1 + ... + qk −1 + qk uk = a0′ + a1′ + ... + a′k −1 + ak ′ .......................... .......................... um = um −1 + qm = q0 + q1 + ... + qm −1 + qm um = a0′ + a1′ + ... + a′m −1 + a′m unde: u0 înseamnă prima comandă aplicată, u1 înseamnă a doua comandă aplicată, ... , um înseamnă ultima comandă aplicată, dacă mărimea impusă are o variaţie treaptă unitate aplicată la momentul k = 0 şi sistemul se află în regim staţionar cu starea nulă. Această comportare este asigurată numai dacă comenzile uk nu depăşesc anumite valori limită care menţin valabilă descrierea prin modele liniare. u1
2.2.4. Exemplu de aplicare şi implementare a metodei dead-beat clasic pentru sisteme fără timp mort de ordinul unu
Fie un sistem cu funcţia de transfer a părţii fix e de ordinul unu H F ( s ) =
K 1 T 1 ⋅ s + 1
(2.2.56)
condus cu calculator numeric prevăzut cu extrapolator de ordinul zero, la care perioada de eşantionare este T . Se calculează funcţia de transfer discretă a părţii fix e: − − H F ( s ) K 1 ⋅ (1 − λ ) K 1 ⋅ (1 − λ ) ⋅ z 1 B( z 1 ) −1 G ( z ) = (1 − z ) ⋅ Z = = = −1 −1 , (2.2.57) z − λ 1 − λ ⋅ z A( z ) s unde: −
T
λ = e T , (2.2.58) B ( z −1 ) = K 1 ⋅ (1 − λ ) ⋅ z −1 = b1 ⋅ z −1 ⇒ b1 = K 1 ⋅ (1 − λ ) , (2.2.59) − − − A( z 1 ) = 1 − λ ⋅ z 1 = a0 + a1 ⋅ z 1 ⇒ a0 = 1, a1 = −λ . (2.2.60) Dacă mărimea impusă are o variaţie treaptă unitate , d in (2.2.43) se calculează valoarea primei comenzi aplicate, astfel: 1
u0
= q0 =
1 1 . = B(1) K 1 ⋅ (1 − λ )
(2.2.61)
Folosind (2.2.42), expresia legii de reglare discrete va fi dată de: 1 ⋅ (1 − λ ⋅ z −1 ) −1 q0 ⋅ A( z ) K 1 ⋅ (1 − λ ) H R ( z ) = , sau = 1 −1 1 − q0 ⋅ B( z −1 ) 1 − ⋅ [ K 1 ⋅ (1 − λ) ⋅ z ] K 1 ⋅ (1 − λ ) 19
1 ⋅ (1 − λ ⋅ z −1 ) q0 ⋅ (1 − λ ⋅ z −1 ) q0 ⋅ ( z − λ ) K 1 ⋅ (1 − λ ) H R ( z ) = = = . −1 −1 z − 1 1 − z 1 − z
(2.2.62)
Se observă că legea de reglare are un pol z = 1, deci are caracter integrator, care de fapt garantează că eroarea staţionară de poziţie este nulă în momentele de eşantionare, adică este îndeplinită condiţia (2.1.4). Dacă factorii de conversie AN şi NA sunt respectiv K AN , K NA, algoritmul numeric de reglare ANRA este este dat de − 1 W ( z ) C ⋅ (1 − λ ⋅ z 1 ) D ( z ) = , (2.2.63) ⋅ H R ( z ) := N = K AN ⋅K NA 1 − z −1 E ( z ) unde s-a notat C =
q0 K AN ⋅ K NA
.
(2.2.64)
Transformata Z a mărimii de comandă numerică este : C ⋅ (1 − λ ⋅ z −1 ) W ( z ) = (2.2.65) ⋅ E N ( z ) , −1 1 − z care, în domeniul timp, conduce la relaţia recursivă de implementare a ANRA dată de: N wk = wk −1 + C ⋅ ε N (2.2.66) k − λ ⋅ C ⋅ ε k −1 . Programul de implementare: Dacă initializare, Read C, λ, W, E1 Altfel, la fiecare pas Read V, Y E=V-Y W = W + C * (E - λ * E1) E1 = E Write W Din (2.2.61) se observă că valoarea primei comenzi aplicat e u0 (în cazul sistemului de ordinul întâi a ceasta este şi ultima) este puternic dependentă de valoarea perioadei de eşantionare. Se poate reprezenta grafic valoarea produsului K 1u0 în funcţie de raportul x = T / T 1 , ca în Fig. 2.2. K 1 ⋅ u0
=
1 (1 − λ )
=
1 (1 − e − x )
, x =
T T 1
20
(2.2.67)
Fig. 2.2. 2.2.5. Exemplu de aplicare şi implementare a metodei dead-beat clasic pentru sisteme fără timp mort de ordinul doi
Fie un sistem cu funcţia de transfer a părţii fix e H F ( s ) de ordinul doi cu poli reali, condus cu calculator numeric prevăzut cu extrapolator de ordinul zero, la care perioada de eşantionare este T = 1 sec: H F ( s ) =
10 K F = ( s + 1) ⋅ ( s + 2) (T 1 ⋅ s + 1)(T 2 ⋅ s + 1)
(2.2.68)
Se calculează: K F = 5 , T 1 = 1 sec , T 2 = 0.5 sec şi H F ( s ) se rescrie sub forma: H F ( s ) = K 1 =
K 1 T 1s + 1
K F ⋅ T 2 T 1 − T 2
λ1 = e
−
T T 1
−
T
K 2 T 2 s + 1
, unde
5 ⋅1 5 ⋅ 0.5 K ⋅ T = 10 , K 2 = F 2 = = −5 , 1 − 0.5 T 2 − T 1 0.5 − 1
= −
+
1 1
= e = 0.367879441... ≈ 0.368 , −
1 0.5
λ 2 = e = e = 0.135335283... ≈ 0.135 . Transformata Z a părţii fixe va fi: H F H (s ) G ( z ) = (1 − z −1 ) ⋅ Z F = (1 − z −1 ) ⋅ Z , s s T s T s ⋅ ⋅ + ⋅ + ( 1 )( 1 ) 1 1 T 2
sau G ( z ) =
K 1 (1 − λ 1 ) z − λ 1
+
K 2 (1 − λ 2 ) z − λ 2
=
21
B ( z
−1
)
A( z −1 )
,
(2.2.69)
unde − − − − − − B ( z 1 ) = b1 ⋅ z 1 + b2 ⋅ z 2 , A( z 1 ) = 1 + a1 ⋅ z 1 + a2 ⋅ z 2 ,
cu
1 − λ1 1 − λ 2 ≈ 2 , − T 1 − T 2 T 2 T 1 T T − λ 2 (1 − λ1 ) − λ1 (1 − λ 2 ) ≈ 0.73 , b2 = K F 1 2 − T 1 − T 2 T 2 T 1 a1 = −(λ1 + λ 2 ) ≈ −0.503 , a2 = λ1λ 2 ≈ 0.04968 . Rezultă: − − − − − − A( z 1 ) = 1 − 0.503 ⋅ z 1 + 0.04968 ⋅ z 2 , B ( z 1 ) = 2 ⋅ z 1 + 0.73 ⋅ z 2 , de unde: − − − 2 ⋅ z −1 + 0.73 ⋅ z −2 B( z 1 ) b1 ⋅ z 1 + b2 ⋅ z 2 , G ( z ) = = = A( z −1 ) 1 + a1 ⋅ z −1 + a2 ⋅ z − 2 1 − 0.503 ⋅ z −1 + a2 ⋅ z − 2 sau 2 ⋅ z −1 (1 + 0.365 ⋅ z −1 ) G ( z ) = . (2.2.70) (1 − 0.368 ⋅ z −1 ) ⋅ (1 − 0.135 ⋅ z −1 ) Atunci: B(1) = b1 + b2 = K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 ) = 2.73 . b1
= K F
q0
=
T 1T 2
1 1 1 = = = 0.366 . B(1) K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 ) 2.73
Legea discretă de reglare cu număr minim de paşi , m = 2, este q0 ⋅ A( z −1 ) q0 (1 + a1 ⋅ z −1 + a2 ⋅ z −2 ) H R ( z ) = , = 1 − q0 ⋅ B ( z −1 ) 1 − q0 ⋅ (b1 ⋅ z −1 + b2 ⋅ z − 2 )
sau 0.336 ⋅ (1 − 0.503 ⋅ z −1 + 0.04968 ⋅ z −2 ) H R ( z ) = , 1 − 0.366 ⋅ (2 ⋅ z −1 + 0.73 ⋅ z − 2 )
(2.2.71)
0.366 − 0.185 ⋅ z −1 + 0.019 ⋅ z −2 0.366 − 0.185 ⋅ z −1 + 0.019 ⋅ z −2 H R ( z ) = . = 1 − 0.732 ⋅ z −1 + 0.268 ⋅ z − 2 (1 − z −1 ) ⋅ (1 + 0.267 ⋅ z −1 )
Se observă că z = 1 este un pol, deci eroarea staţionară de poziţie este nulă, oricare ar fi intrarea vk care atinge un regim staţionar. Deoarece ambii coeficienţi b1 şi b2 sunt pozitivi, răspunsul este monoton la variaţia monotonă a mărimii prescris e. Ca urmare a variaţiei treaptă unitate a mărimii prescrise, d in (2.2.55) se calculează prima comandă aplicată, dată de 22
= a0′ = q0 ⋅ a0 = q0 ⋅1 =
u0
1 K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 )
= 0.366 ,
iar a doua comandă, care este şi ultima, va fi: u1
= a0′ + a1′ = q0 ⋅ a0 + q0 ⋅ a1 = q0 ⋅ (1 + a1 ) =
1 − ( λ1 + λ 2 ) , K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 )
u1 = 0.366 ⋅ (1 − 0.503) = 0.1819 .
Ambele comenzi au valori subunitare şi de acelaşi semn. Evoluţia în timp a acestui sistem e ste prezentată în figurile de mai jos, considerând următoarele situaţii: a. Asupra părţii fixe nu acţionează nici o perturbaţie: p(t ) = 0. 0.4 1
Comanda u 0.35
Referinta v Iesirea y
0.8 v a t n i r 0.6 e f e R , y a 0.4 e r i s e I
u 0.3 a d n a m o C 0.25
0.2
0.2
0
0.15 0
1
2
3
4 5 Timp (sec)
1
6
7
8
9
0
2
4 6 Timp (sec)
8
10
Eroarea: eps = v - y
0.8 n o l i 0.6 s p e a e r a 0.4 o r E
0.2
0 0
1
2
3
4 5 Timp (sec)
6
7
8
9
b. Asupra părţii fixe acţionează o perturbaţie: p(k ) = 1(k ) plasată la ieşirea părţii fixe, ca în figura următoare: pk + y’k y vk k u ε k k + RN PF + -
23
Considerând referinţa v(k ) = 0, e voluţia în timp a acestui sistem este prezentată în figurile de mai jos: -0.15
1
v a t n i r e f e R , y a e r i s e I
Referinta v Iesirea y' = y + p Iesirea y
Comanda u -0.2
0.5 u -0.25 a d n a m o C -0.3
0
-0.5 -0.35
-1 0
1
2
3
4 5 Timp (sec)
6
7
8
-0.4
9
0
2
4 6 Timp (sec)
8
10
0
-0.2 n o l i -0.4 s p e a e r a -0.6 o r E
-0.8
Eroarea: eps = v - y' = v - (y+p)
-1 0
1
2
3
4 5 Timp (sec)
6
7
8
9
c. Asupra părţii fixe acţionează o perturbaţie: p(k ) = 1(k ) plasată la ieşirea părţii fixe, ca în figura următoare: vk
εk
+
RN
uk +
-
pk + u +p k k
PF
yk
Considerând referinţa v(k ) = 0, e voluţia în timp a acestui sistem este prezentată în figurile de mai jos:
24
2.5
0 Referinta v Iesirea y
Comanda u -0.2
2 v a t n i r e f e R , y a e r i s e I
-0.4
1.5
u a -0.6 d n a m o -0.8 C
1
0.5 -1 0
-0.5
-1.2
0
5
10 Timp (sec)
15
-1.4
20
1.2
0
5
10 Timp (sec)
15
20
0.5 Intrarea in proces u + p
1 p + u s e c o r p n i a e r a r t n I
0
0.8 n -0.5 o l i s p e -1 a e r a o r E -1.5
0.6 0.4 0.2 0
-2
-0.2
-2.5
Eroarea: eps = v - y 0
5
10 Timp (sec)
15
20
0
5
10 Timp (sec)
15
20
Dacă însă perioada de eşantionare este de 10 ori mai mică, T = 0.1 sec, atunci
λ1 = e
−
λ2 = e
T T 1
−
=e
−
T T 2
=e
0.1 1
−
0.1 0.5
= 0.9048374... ≈ 0.9048 , = 0.818730 ... ≈ 0.819 ,
1 1 1 = = = 11.59416 , B(1) K F ⋅ (1 − λ1 ) ⋅ (1 − λ 2 ) 0.08625 u0 = 11.59416 , u1 = q0 ⋅ [1 − (λ1 + λ 2 )] = −8.389172 . q0
=
În acest caz, pe lângă faptul că ambele comenzi sunt supraunitare în modul , au şi semne diferite. Pentru ca o instalaţie cu constante de timp de ordinul secu ndelor să atingă regimul staţionar în 2 zecimi de secundă evident sunt necesare comenzi de valori mari. 2.3. Metoda dead-beat clasic pentru sisteme cu timp mort 2.3.1. Forma discretă a funcţiei de transfer a părţii fixe cu timp mort
Dacă partea fixă a sis temului are un timp mort τ , echivalat la intrare sau la ieşire, şi este descrisă prin funcţia de transfer 25
τ
H F ( s ) = H F ( s) ⋅ e
− τ⋅ s
, (2.3.1) iar timpul mort se află faţă de perioada de eşantionare T în relaţia: (2.3.2) τ = ( N + 1) ⋅ T − α ⋅ T , α ∈ (0, 1], N ∈ℵ , atunci funcţia de transfer discretă a părţii fixe comandată prin extrapolator de ordinul zero, este H F τ (s ) − ( N +1) M G ( z, α) −1 G ( z ) = (1 − z ) ⋅ Z ⋅ , (2.3.3) = z LG ( z , α ) s unde M G ( z , α) şi LG ( z, α) sunt polinoame în z de acelaşi grad, dacă α ∈ (0, 1) . Pentru α = 1 şi H F ( s) strict proprie, atunci grd { M G } < grd {LG } şi G ( z ) = z
− N
⋅
−
B( z 1 )
−1
A( z )
(2.3.4)
unde: − − −m B ( z 1 ) = b1 ⋅ z 1 + ... + bm ⋅ z , −
A( z 1 ) = 1 + a1 ⋅ z
−1
+ ... + am ⋅ z − m .
(2.3.5)
2.3.2. Algoritmul dead-beat clasic pentru sisteme cu timp mort
Se poate aplica procedura anterioară de la sisteme fără timp mort dacă se echivalează G ( z ) din (2.3.4) ca fiind raportul a două polinoame cu gradele m + N în variabila z −1 , astfel: G ( z ) = z
− N
−
⋅
B( z 1 ) A( z −1 )
~ = ~
−
B ( z 1 ) A( z −1 )
,
(2.3.6)
unde: ~
−
B ( z 1 ) = z
− N
~ m
~
⋅ B( z −1 ) = b1 z − ( N +1) + ... + bm z − ( N + m) = ∑ bi ⋅ z −i ,
(2.3.7)
i =1
~
~ = m + N , b m i
0, = bi − N ,
0 ≤ i ≤ N ~ N + 1 ≤ i ≤ m
~
~ m
= ∑ a~i ⋅ z − i
(2.3.9)
, a~0 = a0 = 1 . ~ m +1≤ i ≤ m
(2.3.10)
A( z −1 ) = A( z −1 ) = 1 + a1 z −1 + ... + am z − m
ai , ~ ~ m = m + N , ai = 0,
(2.3.8)
0≤i≤m
i =1
Polinoamele (2.3.7), (2.3.9) au forma polinoamelor (2.2.2), (2.2.3) în care, în ~ , astfel că se pot considera condiţiile (2.1.4)÷(2. 1.7) cu m ~ în loc loc de m apare m de m pentru care sunt valabile toate relaţiile (2.2.4)÷(2.2.55), dar în care fiecărei mărimi i se ataşează semnul ~ . 26
Folosind (2.3.7), (2.3.9), legea de reglare (2.2.42) devine ~ −1 ~ ⋅ A q q0 ⋅ A( z −1 ) ( z ) 0 H R ( z ) = , ~ −1 = − N −1 ~ 1 − q0 ⋅ B ( z ) 1 − q0 ⋅ z ⋅ B( z ) deoarece ~ q 0
1 1 1 1 = − N = = = q0 . B (1) 1 ⋅ B(1) B(1) b1 + ... + bm
=~
(2.3.11)
(2.3.12)
De asemenea, din (2.2.54), comanda la pasul k este dată de media alunecătoare, ~ m
u k
= ∑ a~i′ ⋅ vk −i = a0′ ⋅ vk + a1′ ⋅ vk −1 + a′2 ⋅ vk −2 + ... + am′ ⋅ vk −m
(2.3.13)
i =0
deoarece,
ai′ = ai / q0 , 0 ≤ i ≤ m ~ = m + N . m i m + ≤ ≤ 0 , 1
~′ = a i
(2.3.14)
2.3.3. Comportarea în circuit închis
Dacă mărimea impusă vk se menţine constantă la o valoare V pe un interval mai mare decât m, vk = V , k ∈ [k 0 , k 0 + p], p ≥ m , (2.3.15) atunci, după m paşi, comanda rămâne constantă uk =
m
∑=
~′ ⋅ v a i
i 0
m
k − i
= V ⋅ ∑ ai′ = V ⋅ i =0
A(1) B(1)
= V ⋅ q0 ⋅ A(1),
k ∈ [k 0 + m, p]
(2.3.16)
atâta timp cât intrarea este constantă. Şi în cazul sistemelor cu timp mort, comenzile aplicate ca urmare a variaţiei treaptă unitate a mărimii impuse , vk = 1(k ) , pornind din regim staţionar cu stare nulă, sunt date de relaţiile (2.2.55): k ∑ ai′ , 0 ≤ k ≤ m i = 0 u k = (2.3.17) m a′, k ≥ m + 1 i i∑ =0 În acelaşi timp, din (2.2 .46)÷(2.2.50) rezultă că funcţia de transfer în circuit închis în raport cu mărimea impusă , H v ( z ) , este:
~
H v ( z ) = P ( z
−1
1 ~ −1 z − N ⋅ B( z −1 ) ~ ) = q0 B ( z ) = = ⋅ (b1 z − ( N +1) + ... + bm z − ( N + m) ) B (1) B(1)
sau 27
− N + H v ( z ) = b1′ ⋅ z ( 1)
+ b2′ ⋅ z − ( N + 2) + ... + bm′ ⋅ z − ( N + m) , bi′ =
bi B (1)
astfel că mărimea de ieşire la pasul k , yk = b1′ ⋅ vk − ( N +1) + b2′ ⋅ vk − ( N + 2 ) + ... + bm′ ⋅ zk − ( N + m )
, 1 ≤ i ≤ m , (2.3.18)
(2.3.19)
este dată de o medie alunecătoare întârziată cu N + 1 paşi. Sistemul în circuit închis răspunde cu o întârziere de N + 1 paşi la modificările mărimii impuse. Şi în cazul sistemelor cu timp mort, răspunsul sistemului în circuit închis este monoton dacă toţi coeficienţii bi′, i ∈ [0, m] , au acelaşi semn şi dacă valorile mărimii impuse v k păstrează acelaşi semn cel puţin m paşi. 2.4. Metoda dead-beat clasic cu număr extins de paşi 2.4.1. Formularea problemei
Aşa cum s-a văzut, metoda dead - beat presupune atingerea regimului staţionar, cu eroare staţionară nulă, într -un număr de paşi egal cu ordinul m al sistemului discret G ( z ) , care exprimă partea fixă liniară , cu extrapolator de ordinul zero. Legea de reglare depinde strict de ordinul m şi de parametrii funcţiei de transfer G ( z ) . Dacă m = 1 înseamnă că, pentru o aceeaşi instalaţie, trebuie să se atingă regimul staţionar într-o singură perioadă de eşantionare, indiferent dacă perioada este 1 msec sau 1 sec. Aceasta presupune aplicarea unor comenzi a căror valoare este, în modul, cu atât mai mare cu cât perioada de eşantionare este mai mică. Deoarece, practic, valorile comenzilor posibile sunt limitate, se poate extinde metoda dead- beat introducând mai multe grade de libertate care să asigure valori dorite ale primelor comenzi aplicate, în dauna duratei regimului tranzitoriu care este prelungită cu un număr de paşi egal cu numărul de grade de libertate considerat. De exemplu, dacă în loc de m paşi se impune atingerea regimului staţionar în m + 1 paşi, apare un grad de libertate care se poate consuma impunând o valoare dorită pentru prima comandă aplicată. Aceasta corespunde aşa -numitului algoritm dead-beat clasic cu număr extins de paşi cu un grad de libertate . Dacă se impune atingerea regimului staţionar în m + 2 paşi, atunci apar două grade de libertate care se consumă impunând valori dorite pentru două comenzi aplicate, şi algoritmul se numeşte Algoritmul dead-beat clasic cu număr extins de paşi cu două grade de libertate. Algoritmii cu număr extins de paşi se pot aplica atât pentru sisteme fără timp mort, cât şi cu timp mort, procedând exact ca în cazul anterior.
28
2.4.2. Algoritmul dead-beat clasic cu număr extins de paşi cu un grad de libertate
Se consideră sistemul numeric de reglare cu structura din Fig. 2.1 pentru care s-au calculat: −
G ( z ) =
B( z 1 ) −1
A( z )
−
, cu
(2.4.1)
b0 = 0 ⇒ y0 = 0 , + ... + bm ⋅ z − m , A( z −1 ) = 1 + a1 ⋅ z −1 + ... + am ⋅ z − m , a0 = 1 . Pentru variaţia treaptă a mărimii prescris e B ( z 1 ) = b1 ⋅ z
−1
vk = 1, k ≥ 0 pentru care V ( z ) =
1 1 − z −1
,
se impun performanţele: 1. Durată finită a regimului tranzitoriu ∃ m finit , yk = ym +1 , ∀k ≥ m + 1 . 2. Eroare staţionară nulă yk = vk = 1, k ≥ m + 1 ⇔ ε k = vk − yk = 0, k ≥ m + 1 ⇒ ε*0∞ = lim ε k = 0 . k → ∞
(2.4.2) (2.4.3) (2.4.4)
(2.4.5)
(2.4.6)
3. Mărimea de comandă rămâne constantă la atingerea noului regim stationar uk = um +1 , ∀k ≥ m + 1 . (2.4.7) 4. Timp minim de răspuns, exprimat prin valoarea minimă a pasului m + 1 la care se atinge noul regim staţionar. Din condiţia 1, şi deoarece s-a presupus b0 = 0 ⇒ y0 = 0 , transformata Z a mărimii de ieşire în circuit închis pentru intrarea (2.4.4) este de forma: − − − m− − m − m+ − m+ Y ( z ) = y1 z 1 + y2 z 2 + ... + ym −1 z ( 1) + ym z ( ) + ym +1 ⋅ [ z ( 1) + z ( 2) + ...] cu (2.4.8) y m +1 = v m +1 = 1 , astfel că, funcţia de transfer z în circuit închis, este − ( m +1) Y ( z ) −1 −1 − ( m −1) − m z −1 H v ( z ) = = (1 − z ) ⋅ y1 z + ... + ym −1 z + ym z + −1 = P ( z ) , V ( Z ) 1 − z adică un polinom P( z −1 ) , de gradul m + 1 , în z −1 , unde: P ( z −1 ) = p1 ⋅ z −1 + p2 ⋅ z −2 + pm ⋅ z − m + p m +1z − ( m +1) , cu p1 = y1 , pk = yk − yk −1 , 2 ≤ k ≤ m , ( pm +1 = ym +1 − ym , dar ym +1 = vm +1 = 1) . pm +1 = 1 − ym . 29
(2.4.9) (2.4.10)
Prin însumare se obţine: m +1
∑= p
= P(1) = 1 ⇔ H v (1) = 1 ⇔ ε*0∞ = 0 .
i
(2.4.11)
i 1
Din condiţia 3 de mai sus, transformata Z a mărimii de comandă este : U ( z ) = u0
−1
+ u1 z + ... + um −1 z
− ( m −1)
+ um z
−m
+ um +1 ⋅
z − ( m +1)
1 − z −1
, | z | > 1 . (2.4.12)
Atunci, funcţia de transfer intrare-comandă este: − m+ U ( z ) z ( 1) −1 −1 −m −1 ( ) (2.4.13) H c ( z ) = Q z = (1 − z ) ⋅ u0 + u1 z + ... + um z + um +1 ⋅ = −1 V ( z ) 1 z − adică, un polinom Q( z −1 ) , de gradul m + 1 în variabila z −1 , unde: Q( z −1 ) = q0 ⋅ z 0 + q1 ⋅ z −1 + q2 ⋅ z −2 + ... + qm ⋅ z − m + qm +1 z − ( m +1) cu q0 = u0 , qk = uk − uk −1 , 1 ≤ k ≤ m + 1 . Prin însumare se obţine: m +1
∑= q
i
= Q(1) = um +1 ,
(2.4.14) (2.4.15) (2.4.16)
i 0
adică ultima comandă aplicată. Se remarcă faptul că prima comandă aplicată este u0 = q0 . (2.4.17) Elementul esenţial al metodelor de tip dead -beat îl constituie identitatea dintre două funcţii raţionale explicată şi interpretată prin relaţiile (2.2.21)÷ (2.2.35). Ultima relaţie din acest set este: G ( z ) =
P ( z −1 )
≡
−1
Q( z )
B( z −1 ) −1
A( z )
(2.4.18)
în care, pentru cazul analizat, A şi B sunt polinoame de gradul m, iar P şi Q sunt polinoame de gradul m + 1 în variabila z −1 . O posibilitate de efectuare a identităţii (2.4.18) constă în exprimarea polinoamelor P şi Q sub forma unor produse cu factorul comun (α − z −1 ) , unde α este un parametru liber, astfel: − − − P ( z 1 ) = P′( z 1 ) ⋅ (α − z 1 ) , (2.4.19) −
−
−
(2.4.20)
+ p′2 ⋅ z −2 + ... + p′m ⋅ z − m , ′ ⋅ z −m . Q′( z −1 ) = q0′ ⋅ z 0 + q1′ ⋅ z −1 + q′2 ⋅ z −2 + ... + qm
(2.4.21) (2.4.22)
Q( z 1 ) = Q′( z 1 ) ⋅ (α − z 1 ) ,
în care: −
P′( z 1 ) = p1′ ⋅ z
−1
30
Din (2.4.20), prin identificare, se obţin relaţiile: q0 = α ⋅ q0′ , (2.4.23) (2.4.24) qk = α ⋅ q′k − q′k −1 , 1 ≤ k ≤ m , qm +1 = − q′m . (2.4.25) Identitatea (2.4.18) ce asigură performanţele impuse, se exprimă pentru α − z −1 ≠ 0, q0′ ≠ 0 în mod echivalent prin: − B( z 1 )
A( z −1 )
≡
− − P′( z 1 ) ⋅ (α − z 1 )
Q′( z −1 ) ⋅ (α − z −1 )
⇔
− B( z 1 )
A( z −1 )
≡
− P′( z 1 )
Q′( z −1 )
⇔
− q0′ ⋅ B( z 1 )
q0′ ⋅ A( z −1 )
≡
− P′( z 1 )
Q′( z −1 )
. (2.4.26)
O condiţie suficientă , pentru ca (2.4.18) să aibă loc, este ca să fie simultan îndeplinite identităţile: − − P′( z 1 ) = q0′ ⋅ B ( z 1 ) , (2.4.27) Q′( z −1 ) = q0′ ⋅ A( z −1 ) .
(2.4.28)
În aceste condiţii, cu (2.4.27), polinomul P( z −1 ) din (2.4.18) devine: P ( z −1 ) = q0′ ⋅ B ( z −1 ) ⋅ (α − z −1 ) .
(2.4.29) Înlocuind z = 1 în (2.4.29), şi ţinând cont de condiţia (2.4.11) , pentru α ≠ 1 , rezultă: q0′
=
1 , B(1) ⋅ (α − 1)
(2.4.30)
astfel că, folosind (2.4.17) şi (2.4.23) se obţine q0′
=
u0
=
1 , B(1) ⋅ (α − 1)
(2.4.31)
α de unde se deduce expresia valorii primei comenzi aplicate , ca o funcţie de parametrul liber α , astfel: α u0 = . (2.4.32) B(1) ⋅ (α − 1) Invers, dacă în (2.4.32) se impune o valoare dorită a primei comenzi u0 = uˆ0 , se obţine valoarea parametrului α : uˆ ⋅ B(1) . (2.4.33) α= 0 uˆ0 ⋅ B(1) − 1 Conform celor prezentate în (2.2.40), (2.2.41), legea discretă de reglare este : − − 1 H v ( z ) A( z 1 ) P ( z 1 ) H R ( z ) = , (2.4.34) ⋅ = ⋅ G ( z ) 1 − H v ( z ) B ( z −1 ) 1 − P ( z −1 ) care, ţinând cont de (2.4.19), în care se substituie (2.4.27), devine : 31
H R ( z ) =
A( z −1 ) −1
P′( z −1 ) ⋅ (α − z −1 )
⋅
−1
−1
B ( z ) 1 − P′( z ) ⋅ (α − z )
=
A( z −1 ) −1
⋅
q0′ ⋅ B ( z −1 ) ⋅ (α − z −1 ) −1
−1
B( z ) 1 − q0′ ⋅ B ( z ) ⋅ (α − z )
.
În final, după simplificare şi substituirea expresiei (2.4.31) , se deduce: uˆ0 ⋅ A( z −1 ) ⋅ (α − z −1 ) H R ( z ) = α . (2.4.35) uˆ0 1 − ⋅ B( z −1 ) ⋅ (α − z −1 ) α Folosind şi condiţia (2.4.33) se exprimă direct legea discretă de reglare în funcţie de valoarea dorită a primei comenzi u0: uˆ ⋅ B(1) 1 uˆ0 − ⋅ A( z −1 ) ⋅ 0 − z −1 B(1) uˆ0 ⋅ B(1) − 1 . H R ( z ) = (2.4.36) uˆ ⋅ B(1) 1 ⋅ B( z −1 ) ⋅ 0 1 − uˆ0 − − z −1 B(1) uˆ0 ⋅ B(1) − 1 Deci, pentru sinteza, în această variantă , a legii de reglare, pentru sistemul cu structura din Fig. 2.1 , se dau funcţia de transfer H F ( s ) , perioada de eşantionare T şi valoarea dorită uˆ0 a primei comenzi. Se calculează, folosind (2.1.2),
polinoamele (2.4.36).
A( z −1 ) , B ( z −1 )
şi parametrul α din (2.4.33) care se substituie în
2.4.3. Comportarea în circuit închis
Funcţia de transfer în circuit închis realizată de acest sistem, conform (2.4.29), poate fi exprimată în formele: − − − (2.4.37) H v ( z ) = P ( z 1 ) = q0′ ⋅ B( z 1 ) ⋅ (α − z 1 ) , H v ( z ) = p1 ⋅ z H v ( z ) =
p1 ⋅ z
−1
+ ... + pm ⋅ z − m + pm +1 ⋅ z −( m +1) ,
m
+ p2 ⋅ z m −1 + ... + pm ⋅ z1 + pm +1 ⋅ z 0 m z +1
(2.4.38) .
(2.4.39)
Prin identificare, din (2.4.37), în (2.4.38) şi (2.4.39) coeficienţii de ponderare pi se exprimă în funcţie de valoarea dorită a primei comenzi u0 = uˆ0 aplicată de legea de reglare ca urmare a unui semnal treaptă unitate a mărimii impuse, vk = 1( k ) , pornind dintr-un regim staţionar cu stare nulă. Aceşti coeficienţi depind numai de numără torul B( z −1 ) al funcţiei discrete G( z), adică: uˆ ⋅ B(1) , (2.4.40) α= 0 uˆ0 ⋅ B(1) − 1 32
q0′
=
uˆ0
, (2.4.41) α p1 = q0′ ⋅ α ⋅ b1 , (2.4.42) pk = q0′ ⋅ (α ⋅ bk − bk −1 ), 2 ≤ k ≤ m , pm +1 = − q0′ ⋅ bm . Răspunsul general, în domeniul timp, este dat de media alunecăt oare: yk = p1 ⋅ vk −1 + p2 ⋅ vk − 2 + ... + pm ⋅ vk − m + pm +1 ⋅ vk − ( m +1) , (2.4.43) la care suma coeficienţilor de ponderare este : P (1) = p1 + p2 + ... + pm + pm +1 = 1 . (2.4.44) Din (2.4.13), (2.4.20) şi (2.4.28) rezultă că funcţia de transfer de comandă este: − − − H c ( z ) = Q( z 1 ) = q0′ ⋅ A( z 1 ) ⋅ (α − z 1 ) (2.4.45) şi poate fi exprimată în formele: − −m − m+ H c ( z ) = q0 ⋅ z 0 + q1 ⋅ z 1 + ... + qm ⋅ z + qm+1 ⋅ z ( 1) , sau (2.4.46) H c ( z ) =
q0 ⋅ z
m +1
+ q1 ⋅ z m + ... + qm ⋅ z1 + pm +1 ⋅ z 0 z
m +1
.
(2.4.47)
Prin identificare, din (2.4.45), în (2.4.46) şi (2.4.47), coeficienţii de ponderare ai legii de comandă qi se exprimă în funcţie de valoarea dorită a primei comenzi aplicată de legea de reglare ca urmare a unui semnal treaptă unitate a mărimii impuse, vk = 1(k ) , pornind dintr-un regim staţionar cu stare nulă. Aceşti coeficienţi depind atât de numitorul A( z −1 ) al funcţiei discrete G( z), cât şi de numărătorul acesteia B( z −1 ) , prin coeficientul q0′ . Se obţine: uˆ0 ⋅ B(1) uˆ , q0′ = 0 , (2.4.48) α= α uˆ0 ⋅ B(1) − 1 (2.4.49) q0 = q0′ ⋅ α ⋅ a1 , a0 = 1 , qk = q0′ ⋅ (α ⋅ ak − ak −1 ), 1 ≤ k ≤ m , (2.4.50) qm +1 = −q0′ ⋅ am . (2.4.51) 2.4.4. Evoluţia în circuit închis a mărimii de comandă
Răspunsul general, în domeniul timp al mărimii de comandă es te dat de media alunecătoare, uk = q0 ⋅ vk + q1 ⋅ vk −1 + q2 ⋅ vk − 2 + ... + qm ⋅ vk − m + qm +1 ⋅ vk − ( m +1) , (2.4.52) la care suma coeficienţilor de ponderare este : 33
Q(1) = q0
+ q1 + q2 + ... + qm + qm +1 = q0′ ⋅ A(1) ⋅ (α − 1) ,
A(1) 1 uˆ ⋅ B (1) − 1 = Q (1) = 0 ⋅ A(1) ⋅ ˆ B (1) u0 ⋅ B(1) − 1 B(1)
=
1 1 = F * . G (1) K p
(2.4.53) (2.4.54)
Se calculează valoarea comenzii k aplicată de legea de reglar e ca urmare a unui semnal treaptă unitate a mărimii impuse, vk = 1(k ) , pornind dintr-un regim staţionar cu stare nulă şi se obţine: k 0 ≤ k ≤ m + 1 ∑ qi , i=0 (2.4.55) u k = m+1 1 ∑ qi = Q(1) = , k ≥ m + 2 F * i=0 K p Prima comandă aplicată, în condiţiile de mai sus, este u0
= q0 = q0′ ⋅ α ⋅ 1 =
uˆ0
α
⋅ α ⋅1 = uˆ0 ,
(2.4.56)
adică valoarea dorită uˆ0 . A doua comandă aplicată este, u1 =
1
∑= q
i
= q0 + q1 = q0′ ⋅ α ⋅ a0 + q0′ ⋅ (α ⋅ a1 − a0 ) = q0′ ⋅ α ⋅ (1 + a1 ) − q0′ ,
i 0
deoarece
a0 = 1 , sau u1 = uˆ0 ⋅ a1 +
1 . B(1)
(2.4.57)
Se pot impune condiţii suplimentare asupra valorii u1, de exemplu: 1 uˆ > 0 (1 − a ) ⋅ B(1) , 1 − a1 > 0 1 uˆ0 > 0 , u1 < uˆ0 ⇒ 1 uˆ0 < , 1 − a1 < 0 (1 − a1 ) ⋅ B(1) 1 uˆ < 0 (1 − a ) ⋅ B(1) , 1 − a1 > 0 1 uˆ0 < 0 , u1 > uˆ0 ⇒ 1 uˆ0 > , 1 − a1 < 0 (1 − a1 ) ⋅ B(1) Egalitatea primelor două comenzi înseamnă u0
= uˆ0 ,
u1 = uˆ0
⇒ uˆ0 =
1 , 1 − a1 ≠ 0 . (1 − a1 ) ⋅ B(1)
34
(2.4.58)
(2.4.59)
(2.4.60)
Procedând în aceeaşi manieră, metoda se poate extinde la mai multe grade de libertate, impunând valori dorite, în mod independent, la mai multe comenzi succesive. De asemenea, se poate extinde şi la sisteme cu timp mort prin utilizarea ~ ~ polinoamelor extinse A( z −1 ) şi B ( z −1 ) : G ( z ) = z
− N
⋅
−
B( z 1 ) − A( z 1 )
~ =~
−
B ( z 1 ) − A( z 1 )
(2.4.61)
şi se obţine: uˆ0 H R ( z ) =
⋅ A( z −1 ) ⋅ (α − z −1 )
α , uˆ0 1 − ⋅ B( z −1 ) ⋅ (α − z −1 ) α
(2.4.62)
unde
α=
uˆ0 ⋅ B(1) uˆ0 ⋅ B(1) − 1
.
(2.4.63)
3. Sinteza sistemelor numerice folosind metoda dead-beat după stare 3.1. Formularea problemei
Metoda dead-beat după stare, denumită şi metoda substituţiei, asigură legea de conducere după stare a unui obiect condus descris printr -un sistem liniar invariabil în timp de ordinul n astfel încât să se asigure evoluţia în originea spaţiului stărilor într-un număr minim de paşi, durata regimului tranzitoriu fiind determina tă de perioada de eşantionare T . Metoda se poate aplica la sisteme cu o singură intrare sau la sisteme cu mai multe intrări. Pentru început, considerăm cazul sistemului condus cu o singură intrare, descris prin ecuaţiile de stare (3.1.1) şi (3.1.2) x (t ) = A ⋅ x(t ) + b ⋅ u (t ) , (3.1.1) T (3.1.2) y (t ) = c ⋅ x(t ) + d ′ ⋅ u (t ) , în care vectorul de stare n-dimensional este: x(t ) = x1 (t ) ... x i (t ) ... x n (t )
,
(3.1.3)
iar legea de conducere asigură o funcţie constantă pe porţiuni pe intervale cu lungimi egale cu perioada de eşantionare T , u (t ) = u ( kT + ), t ∈ ( kT , (k + 1)T ] . (3.1.4) Se notează, 35
+
u ( kT ) = uk ,
iar şirul de valori uk este obţinut prin relaţia:
= hT ⋅ xk = h1 ⋅ x1k + ... + hi ⋅ xk i + ... + hn ⋅ xk n , unde s-a notat,
(3.1.5)
uk
[
= xk = [ x1k ... xk i ... xk n ] . (3.1.6) Această structură de conducere este ilustrată în Fig. 3.1.1 şi exprimă modelul în timp continuu al sistemului în circuit închis. x(kT ) = x1 (kT ) ... x i ( kT ) ... x n (kT )
]
T
T
Fig. 3.1.1.
Se consideră că sistemul de conducere cu calculator de proces primeşte informaţii despre starea instalaţiei conduse x(t ) având câte un traductor, cu i , pentru fiecare componentă x i (t ) a vectorului de stare. factorul K Tr Aceste informaţii sunt convertite numeric, cu un acelaşi factor de conversie analog-numerică K AN pentru fiecare componentă a vectorului de stare x i (t ) , în variabilele numerice X i , i = 1, 2,, n , memorate la pasul k , astfel: X
i
i = K AN ⋅ K Tr ⋅ xi (kT ) ,
i = 1, ... , n .
La fiecare pas k se calculează suma valorilor d i , i = 1, 2, , n , sub forma: U = d 1 ⋅ X 1 + ... + d i X i
(3.1.7) i
X
ponderată prin n coeficienţi
(3.1.8) + d n X n . Valoarea numerică U este convertită, prin factorul de conversie numeric analogică K NA, într-o mărime, tensiune sau curent, uk , ca şi intrarea u în procesul condus: uk = K NA ⋅ U , (3.1.9) care se menţine constantă pe un interval de timp T conform (3.1.4). Procedura descrisă mai sus este ilustrată în schema bloc din Fig. 3.1.2. 36
Fig. 3.1.2.
S-a notat prin d T vectorul coeficienţilor de ponderare care se înscriu în programul de conducere, T d = [d 1 d 2 ... d i ... d n −1 d n ] (3.1.10) şi prin K Tr , K AN matricele coeficienţilor traductorului , respectiv ai conversiei AN: 1 K Tr 0 ... 0 K AN 0 . . . 0 0 K 2 . . . 0 0 K AN . . . 0 Tr K = K Tr = , . (3.1.11) AN . . . . . . . . . . . .n 0 . . . . K 0 . . . . K AN Tr Mărimea de comandă la pasul k este uk = K NA d K AN K T r x (kT ) = T
n
∑= (K
i NA d
i
i
i
K AN K Tr x ( kT )
)
(3.1.12)
i 1
u (t ) = uk ,
t ∈ ( kT , (k + 1)T ] .
(3.1.13)
Dacă se grupează toţi coeficienţii de mai sus într -un singur vector hT dat de: T T (3.1.14) h = K NA ⋅ d ⋅ K AN ⋅ K T r h
T
= [h1 h2 ... hi ... hn−1 hn ]
(3.1.15)
cu i i , = K NA ⋅ d i ⋅ K AN ⋅ K Tr mărimea de comandă se scrie sub forma: T T uk = h ⋅ x(kT ) = h ⋅ xk , sau
hi
uk =
n
∑= h ⋅ x (kT ) = h ⋅ x
1
i
i
1
k
+ h2 ⋅ xk 2 + ... + hi ⋅ xk i + ... + hn ⋅ xk n .
(3.1.16) (3.1.17) (3.1.18)
i 1
Aceste relaţii echivalente stau la baza reprezentării schemei bloc din Fig. 3.1.1. 37
Un program de calculator care execută procedura de mai sus, fără a prezenta condiţiile de iniţializare , poate fi de forma:
FOR i =1, n Citeste Xi END U = d1*X1+d2*X2+...+dn*Xn Scrie U Se observă că în acest program se implementează numai coeficienţii d i , ceilalţi parametr i, K AN , K NA , K Tr , nu apar explicit în programul de calculator, dar trebuie să se ţină cont de ei. Schemele bloc din Fig. 3.1.1 şi Fig. 3.1.2 evidenţiază modelele în timp continuu. Putem însă pune în evidenţă şirurile de numere uk şi xk astfel că sistemul de conducere în circuit închis apare ca un sistem pur discret în timp ca în Fig. 3.1.3.
Fig. 3.1.3.
Această formă pur discretă este posibilă deoarece în procesul de conducere se folosesc numai valorile xk = x( kT ) ale vectorului de stare şi din punct de vedere fizic intrarea sistemului continual este o mărime constantă pe porţiuni: u (t ) = uk , t ∈ (kT , ( k + 1)] . (3.1.19) Modelul discret al părţii continuale este exact, adică valorile şirului xk reprezintă valorile x (kT ) ale sistemului continuu fără nici o aproximaţie. În Fig. 3.1.4 se ilustrează modul de încorporare în partea ce se discretizează a elementelor din structura continuală prezentate în Fig. 3.1.2. Este bine cunoscut modelul discretizat al unui sistem continual liniar (3.1.1) cu intrări constante pe porţiuni, obţinut cu ajutorul matricei de tranziţie: (3.1.20) xk +1 = Φ (T ) ⋅ xk + g (T ) ⋅ uk . În acest scop se calculează matricea de tranziţie Φ( t ) cu relaţia:
Φ(t ) = L−1 {(sI − A) −1}= L−1{Φ( s)} = e At 38
(3.1.21)
sau, folosind diagrama de stare, se evaluează componentele Φ ij ( s ) ale transformatei Laplace Φ( s ) a matricei de tranziţie:
Fig. 3.1.4.
Φ ij (s ) =
i
X ( s ) j
x (0) x k ( 0 ) = 0, k ≠ j , U ( s ) = 0
,
(3.1.22)
din care se deduc componentele în domeniul timp: Φ ij (t ) = L−1{Φ ij (s )} .
(3.1.23)
În ecuaţia de stare (3.1.20) matricele sunt: Φ (T ) = e AT = Φ ,
(3.1.24)
T
∫
A(T − τ )
g (T ) = e
b d τ = g
.
(3.1.25)
0
Dacă det A ≠ 0 (matricea A este nesingulară), atunci vectorul g se poate calcula cu relaţia: g = A−1 [e AT − I ]b = [e AT − I ] A−1 b , (3.1.26) T
altfel se evaluează analitic sau numeric integrala ∫ e − Aτ b d τ . 0
Deoarece, de obicei, vectorul b conţine multe elemente nule, se calculează mai întâi vectorul (3.1.27) ψ(t ) = Φ(t ) ⋅ b = e At ⋅ b şi apoi se evaluează integrala T AT g = e ∫ ψ (T − τ) d τ . (3.1.28) 0 39
Sistemul din Fig. 3.1.3. caracterizat prin sistemul de ecuaţii: xk +1 = Φ ⋅ xk + g ⋅ uk , uk = h
(3.1.29)
(3.1.30) ⋅ xk , este o structură clasică de conducere cu reacţie după stare către originea spaţiului stărilor, xk = 0 . În circuit închis, acesta este un sistem liniar omogen de forma: T
(3.1.31) = Ψ ⋅ xk , Ψ = Φ + g ⋅ hT , unde matricea Ψ trebuie să fie stabilă. Problema de sinteză se referă la determinarea vectorului hT folosind diferite criterii şi metode, iar problema de implementare constă în calculul vectorului d T folosind relaţia xk +1
d i
=
hi K NA ⋅ K AN ⋅ K Tr i
i
, i = 1, ... , n .
(3.1.32)
Vectorul h se poate determina în mai multe moduri, folosind: 1. Teoria controlului optimal prin care se extre mizează difer ite criterii globale de calitate având ca metode de rezolvare Programarea dinamică discretă sau Principiul maximului discret . 2. Metode de proiectare bazate pe tehnici de alocare poli-zerouri. 3. Proprietăţile de controlabilitate ale sistemelor discrete. Metoda dead-beat după stare exploatează proprietăţile de controlabilitate ale sistemelor discrete şi determină vectorul h, astfel încât sistemul să evolueze în
originea spaţiului stărilor cât mai repede posibil (într -un număr minim de paşi de eşantionare) şi să rămână în origine. Mai explicit, trebuie determinat vectorul h astfel încât, dacă sistemul pur discret (3.1.29), rescris (3.1.33), xk +1 = Φ ⋅ xk + g ⋅ uk (3.1.33) se află la pasul k în starea xk , şi i se aplică comenzile (3.1.30), rescrise (3.1.34), T uk = h ⋅ xk , (3.1.34) sistemul să ajungă la pasul k + p, cu p minim posibil, în originea spaţiului stărilor şi să rămână în origine : xk ≠ 0 ⇒ xk + p = 0 , (3.1.35) x j
= 0, ∀ j ≥ k + p ,
(3.1.36)
p minim posibil
(3.1.37) Această problemă de conducere se poate aplica oricărui sistem pur discret exprimat de la început sub forma (3.1.33), (3.1.34) sau în structura din Fig. 3.1.3. 40
3.2. Extinderea problemei de conducere către o stare oarecare
Dacă se urmăreşte conducerea sistemului (instalaţiei), nu în originea xˆ = xk + p = 0 a spaţiului stărilor, ci într -o altă stare oarecare xˆ ≠ 0 , se exprimă această stare dorită sub forma unui produs (3.2.1) xˆ = Q ⋅ w , unde w ≠ 0 este un vector constituit dintr-o serie de parametri cu valori dorite constante în timp, iar Q este o matrice constantă n × n . Printr-o schimbare de variabilă (3.2.2) ξ = x − Q ⋅ w ⇔ ξ = x − xˆ , problema se poate transforma într-o problemă echivalentă de conducere în originea unui spaţiu al stărilor extins, definit prin vectorul ~ = ξ . x (3.2.3) w De exemplu, dorim ca sistemul să aibă o evoluţie astfel încât mărimea sa de ieşire y (considerăm sistemul strict propriu, adică d ′ = 0 în (3.1.2)), T y = c ⋅ x (3.2.4) să evolueze către o valoare dorită yˆ = v (3.2.5) şi să rămână în această valoare. Mărimea v are semnificaţia unei mărimi prescrise. Aceasta înseamnă că starea x trebuie să evolueze către o valoare dorită xˆ care satisface ecuaţia: T c ⋅ xˆ = v . (3.2.6) Ecuaţia (3.2.6) cu necunoscuta vectorul xˆ , adică n c1 ⋅ xˆ1 + c2 ⋅ xˆ 2 + ... + cn ⋅ xˆ = v (3.2.7) are n − 1 grade de libertate pe care le putem consuma după alte criterii. De exemplu, alegem: i xˆ = 0, i = 2, 3 , ... , n (3.2.8) astfel că soluţia sist emului (3.2.6) sau (3.2.7) este T
v 0 0 ... 0 xˆ = c1 şi relaţia (3.2.1) impune alegerea: 1 / c1 0 . . . 0 0 0 . . . 0 Q= , . . . . . . 0 0 . . . 0
(3.2.9)
(3.2.10) 41
w = v .
(3.2.11)
Deci am exprimat starea dor ită xˆ sub forma (3.2.1): Q ⋅ w = xˆ . (3.2.12) Pe modelul pur discret se impune ca, dacă la pasul k ieşirea este yk (adică starea sistemului este xk care satisface cT xk = yk ), atunci această ieşire să evolueze către yk → yk + p = v , (3.2.13) y j = v , ∀ j ≥ k + p . (3.2.14) Trebuie menţionat faptul că, pentru comanda unui sistem continual, folosind un calculator de proces cu pe rioada de eşantionare T , se pot controla numai valorile ieşirii din momentele de eşantionare yk = y (kT ) şi, în această analiză, nu se poate spune nimic despre valorile sale între momentele de eşantionare. Dacă se impun mai multe condiţii asupra ieşirii, atunci este posibil ca vectorul w să aibă mai multe componente. Deci, dacă se doreşte o evoluţie către o valoare a stării xˆ ≠ 0 , se exprimă aceasta sub forma (3.2.1), în care vectorul w este constant în timp, xˆ = Q ⋅ w . (3.2.15) Se defineşte o nouă variabilă (3.2.16) ξ = x − Q ⋅ w a cărei derivată în timp este, (3.2.17) ξ = x − Q ⋅ w (3.2.18) ξ = x deoarece = 0. w (3.2.19) Se poate defini un vector extins ξ ~ ξ , ~ x = , x = (3.2.20) w w ~ ~ ~ = A ⋅ x~ + b ⋅ u , x (3.2.21) unde, ~ A A Q ~ b A = (3.2.22) 0 0 , b = 0 . Aceeaşi problemă de conducere rezolvată pentru perechea ( A, b), dacă se evoluează în originea spaţiului stărilor x = xˆ = 0 , se rezolvă şi pentru perechea ~ ~ ( A, b ) care presupune evoluţia către x~ = x~ˆ = 0 , dar care, în realitate, asigură o evoluţie către starea x = xˆ ≠ 0 , unde xˆ = Q ⋅ w . 42
Din această cauză, în continuare se va considera numai evoluţia către originea spaţiului stărilor. 3.4.4. Procedura de calcul a legii de conducere
Pentru calculul legii de conducere se procedează astfel: 1. Se determină matricea A şi vectorul b ai sistemului continual, presupus de ordinul n, condus prin reacţie după stare cu un echipament numeric cu perioada de i i eşantionare T şi factorii de conversie K NA şi K AN , K Tr pe canalul i = 1 : n , conform (3.1.10). Se exprimă sistemul (3.1.1) (3.1.21) x (t ) = A ⋅ x(t ) + b ⋅ u (t ) . 2. Se apreciază dacă este vorba de conducere către starea nulă sau către o altă stare xˆ . În acest caz se exprimă, folosind (3.2.1)÷(3.2.14) xˆ = Q ⋅ w (3.2.1) şi se determină sistemul echivalent cu (3.2.15)÷(3.2.22) ~ ~ ~ ~ = A x ⋅ x + b ⋅ u (3.2.22) ~ ~ după care se va considera A = A şi b = b 3. Se calculează (3.1.24) Φ(T ) = e AT = Φ T
∫
A(T − τ )
g (T ) = e
⋅ b ⋅ d τ = g
(3.1.25)
0
sau (3.1.26) = A−1 ⋅ [e AT − I ]⋅ b dacă det A ≠ 0 4. Se consideră sistemul pur discret (3.1.29) sau (3.4.10) xk +1 = Φ ⋅ xk + g ⋅ u k (3.4.10) cu matricea Φ şi vectorul g calculaţi ca la punctul 2 cu xk = x(kT ) sau daţi iniţial dacă se cere conducerea unui sistem original pur discret. 5. Se calculează vectorii g
si
= [si1 , , si j ] ∈ Χ = ℜ n T
(3.3.9)
= Φ −i ⋅ g , i ≥ 0 , Φ ⋅ si = si −1 şi matricea de controlabilitate (3.3.12) sau (3.3.13) sau (3.4.1) S = [s1 si sn ] si
6. Se verifică independenţa liniară eventual evaluând, det S = det[s1 si sn ] ≠ 0 . 43
(3.3.8), (3.3.11) (3.3.12) (3.4.1)
7. Se calculează matricea q1T q T −1 P = S = 2 . T qn 8. Se extrage linia q1T şi se notează h
(3.4.7)
= −q1T
T
(3.4.13)
= [h1 h2 hi hn −1 hn ] 9. Legea de conducere (3.1.30) sau (3.1.34) sau (3.4.22) este T uk = h ⋅ xk 10. Se calculează vectorul T d = [d 1 d 2 d i d n −1 d n ] cu h
T
d i
=
hi K NA ⋅ K Tr ⋅ K Tr i
i
,i = 1 n
(3.1.15) (3.4.22) (3.1.10) (3.1.32)
11. Se scrie programul de implementare şi se verifica rezultatele, inclusiv comportarea mărimii de comandă uk . 3.5. Exemplu de aplicare a metodei dead-beat după stare pentru un sistem de ordinul doi
În acest exemplu se va calcula legea de conducere folosind metoda dead-beat după stare, pentru o instalaţie continuală cu funcţia de transfer, H (s ) =
1 s ⋅ (s + 1)
=
Y (s ) U (s )
(3.5.1)
care să asigure evoluţia în origine în timp minim. Se realizează funcţia de transfer (3.5.1) prin ecuaţii de s tare în forma compagnon controlabilă, T x (t ) = A ⋅ x(t ) + b ⋅ u (t ) , y = c ⋅ x (3.5.2) cu 0 1 , 0 , 1 A = b c = = (3.5.3) 1 0 0 − 1 Ecuaţiile de stare (3.5.2), (3.5.3) se scriu pe componente, x1 = x 2
= − x 2 + u y = x1
x 2
(3.5.4) 44
care se reprezintă grafic printr -o diagramă de stare ca în Fig. 3.5.1, în două forme. Funcţia de transfer (3.5.1) poate reprezenta , de exemplu, un sistem fizic de poziţionare în care variabila x1 ∈ [−200, 200] mm reprezintă poziţia unui organ de lucru în care s-a făcut o schimbare de variabilă x1 = z − zˆ unde zˆ reprezintă valoarea dorită a poziţiei fizice a acelui obiect , iar variabila x 2 ∈ [−10, 10] mm / sec reprezintă viteza de deplasare a obiectului respectiv. Mărimea de comandă u ∈ [−10, 10] Volt este mărimea de ieşire din calculatorul de proces, echivalent ieşirea din convertorul numeric analogic CNA.
x2(0+) u U(s)
x 2
+
x1(0+) 2 1 x s
+ +
+
x 1
+
1 1 x =y s
+
X2(s
≡
X1(s
-1 x2(0+) u U(s)
+ +
x1(0+) 1
s +1
2
x
+
+
X2(s)
1 1 x =y s 1 X (s)
Fig. 3.5.1.
Mărimea de comandă u este o funcţie constantă pe porţiuni, u (t ) = wk , t ∈ (kT , (k + 1)T ] , unde numărul wk este obţinut din algoritmul numeric. Sunt folosite două traductoare care furnizează la ieşire tensiuni r 1 , r 2 ∈ [−5, 5] Volt , cu factorii de conversie, K Tr 1
=
5 − (− 5) 10 V = = 0.025 200 − (− 200 ) 400 mm
(3.5.5)
K Tr 2
=
5 − (− 5) 10 V = = 0.5 10 − (− 10 ) 20 mm / sec
(3.5.6)
Structura sistemului de conducere este prezentată în Fig. 3.5.2. Un program de calculator care implementează această structură poate fi, Citeşte X1 Χ1 = x1 N = K AN ⋅ K TR1 ⋅ x1 (kT ), x1 (kT ) = x1k 45
Χ 2 = x 2 N = K AN ⋅ K TR 2 ⋅ x 2 (kT ) , W = d 1 ∗ Χ1 + d 2 ∗ Χ 2
Citeşte X2 Calculează
x 2 (kT ) = xk 2
⇔ wk = d 1 ⋅ x1k + d 2 ⋅ xk 2 ⇔ u (t ) = K NA ⋅ wk , t ∈ (kT , (k + 1)T ] ⇔ u (t )uk , t ∈ (kT , (k + 1)T ], uk = K NA ⋅ wk
Scrie W
Deci putem scrie uk = K NA ⋅ K AN ⋅ K Tr 1 ⋅ d 1 ⋅ x1k + K NA ⋅ K AN ⋅ K Tr 2 ⋅ d 2 ⋅ xk 2
(3.5.7)
Fig. 3.5.2.
şi notăm
(3.5.8) = K NA ⋅ K AN ⋅ K Tr 1 ⋅ d 1 , h2 = K NA ⋅ K AN ⋅ K Tr 2 ⋅ d 2 , (3.5.9) unde componentele vectorului hT = [h1 h2 ] (3.5.10) se calculează conform procedurii de proiectare 3.4.4. După efectuarea acestor calcule, în programul de calculator se implementează valorile, h1
d 1
=
d 2
=
h1 K AN ⋅ K NA ⋅ K Tr 1
h2 K AN ⋅ K NA ⋅ K Tr 2
(3.5.11)
(3.5.12) 46
Structura sistemului de conducere din Fig. 3.5.2 este echivalentă cu schema din Fig. 3.5.3 în care legea de conducere este uk = h1 ⋅ x1k + h2 ⋅ xk 2 (3.5.13) Se calculează 1 1 Φ(s ) = (sI − A)−1 = 0s s−+11 = s s(s + 1) (3.5.14) 1 0 s + 1
Fig. 3.5.3. Componentele transformatei Laplace a matricei de tranziţie Φ( s) pot calcula folosind relaţia + (3.5.15) X ( s ) = Φ ( s ) ⋅ x (0 ) + Φ ( s ) ⋅ b ⋅ U ( s ) adică Φij(s) este raportul dintre răspunsul dat de componenta X i ( s) a stării, determinat numai de condiţia iniţială xq (0+ ) , dacă U (s) = 0 şi toate celelalte condiţii iniţiale sunt nule, xq (0+ ) = 0, ∀q ≠ j . În acest scop se pot manipula reprezentările grafice date de diagrama de stare, în cazul de faţă din Fig. 3.4.2.
Φ ij (s ) =
X i ( s ) x j (0
+
) U (s )= 0, x (0 + )= 0, ∀q ≠ j q
Se calculează
47
(3.5.16)
e−λ − 1 1 Φ(λ ) = L {Φ(s )} = −λ , 0 e 1 1 e−λ − Φ = Φ(T ) = −λ , 0 e T ( 1 − e − (T − τ ) )d τ T ∫ , g (T ) = ∫ [Φ (T − τ ) ⋅ b] ⋅ d τ = 0 T 0 − (T − τ ) e d τ ∫ 0 T − 1 + e −T g (T ) = −T . 1− e Se calculează vectori s1 şi s 2 . −1
eT T − 1 + e −T T + 1 − eT 1 1 − s1 = Φ (− T ) ⋅ g = T ⋅ −T = T 0 1 1 e e e − − 1 1 − e 2T ⋅ T − 1 + e −T = T − e2T + eT s2 = Φ(− 2T ) ⋅ g (T ) = 2T 2T −T T 0 e 1 − e e − e Matricea de controlabilitate este: T + 1 + eT T − e2T + eT S = [s1 s2 ] = T T 2T e − 1 e − e eT e2T − eT − T T 2 T q1T ( ) 1 T e − −1 1 T e ( ) − P = S = = T T 1 T + 1 − e q2 T T ( ) ( ) 1 1 T e T e − − Deci, eT e 2T − eT − T T T h = −q1 = − , cu T 2 T T (e − 1) T (e − 1) h1 h2
= =
e
(
T e
(3.5.18)
(3.5.19)
(3.5.20) (3.5.21)
(3.5.22)
(3.5.23)
(3.5.24)
T
− 1)
T
(3.5.25)
e 2T − eT − T
(
(3.5.17)
(3.5.26)
− 1) din care se calculează d 1 şi d 2 cu relaţiile (3.5.11) şi (3.170 ) care se introduc în algoritmul de implementare. T
T e
2
48