Sunteți pe pagina 1din 170

MATLAB N MODELAREA, SIMULAREA I CONTROLUL SISTEMELOR

GHID PRACTIC PENTRU STUDENI

Clin RUSU Enik SZKE Melinda RADIAN KREISER

Cuprins

Refereni tiinifici: Prof.dr.ing. Tiberiu COLOI Universitatea Tehnic din Cluj-Napoca Prof.dr.ing. Petru DOBRA Universitatea Tehnic din Cluj-Napoca Prof.dr.ing. Viorel TRIFA Universitatea Tehnic din Cluj-Napoca

Cuprins

iii

CUPRINS
Prefa 1. Introducere n MATLAB
1.1. Obiectivele lucrrii 1.2. Introducere 1.2.1. Mediul MATLAB 1.2.2. Variabile, expresii si comenzii 1.2.3. Funcii i operaii elementare 1.2.4. Trasarea graficelor 1.3. Matlab n controlul i analiza sistemelor 1.4. Verificare

7 11
11 11 12 14 24 28 29 33

2. Modelarea sistemelor liniare


2.1. Obiectivele lucrrii 2.2. Consideraii teoretice 2.2.1. Modelarea sistemelor 2.2.2. Transformri de reprezentare 2.2.3. Extragerea datelor din model 2.3. Verificare

35
35 35 35 40 41 42

3. Conectarea sistemelor liniare


3.1. Obiectivele lucrrii 3.2. Consideraii teoretice 3.2.1. Conectarea serie (n cascad) 3.2.2. Conectarea paralel 3.2.3. Conectarea n bucl nchis 3.2.4. Reducerea diagramelor bloc 3.3. Modelarea sistemelor n Simulink 3.4. Verificare

43
43 43 43 45 46 48 51 54

Cuprins

4. Introducere n Simulink
4.1. Obiectivele lucrrii 4.2. Introducere 4.2.1. Lansare Simulink 4.2.2. Crearea unui model 4.2.3. Elemente de baz (blocuri i linii) 4.2.4. Exemplu de simulare 4.3. Modelarea sistemelor

55
55 55 56 57 58 63 67

5. Analiza rspunsului tranzitoriu


5.1. Obiectivele lucrrii 5.2. Consideraii teoretice 5.2.1. Zerourile i polii unui sistem 5.2.2. Parametrii rspunsului tranzitoriu 5.2.3. Analiza sistemelor de ordinul I 5.2.4. Analiza sistemelor de ordinul II 5.3. Verificare

83
83 83 84 86 86 90 98

6. Analiza regimului stabil


6.1. Obiectivele lucrrii 6.2. Consideraii teoretice 6.2.1. Erori n regim staionar la semnalele de test 6.2.2. Erori statice ale sistemelor cu reacie negativ unitar 6.2.3. Constante de eroare static 6.2.4. Tipuri de sisteme 6.2.5. Erori ale regimului stabil datorate perturbaiilor 6.2.6. Erorile staionare ale sisteme cu reacie negativa neunitar 6.2.7 Sensibilitatea sistemelor 6.2.8 Eroari stationare pentru sistemele modelate prin ecuaii de stare 6.3. Verificare

101
101 101 102 102 104 107 108 110 111 112 112

7. Analiza sistemelor cu metoda locul rdcinilor


7.1. Obiective lucrrii 7.2. Consideraii teoretice 7.2.1. Locul rdcinilor 7.2.2. Locul rdcinilor n Matlab 7.2.3. Rspunsul sistemelor 7.2.4. MATLAB SISO Design Tool 7.2.5 Sensibilitatea fa de locul rdcinilor 7.3. Verificare

115
115 115 116 118 121 124 124 125

Cuprins

8. Proiectarea sistemelor de control cu metoda locul rdcinilor


8.1. Obiectivele lucrrii 8.2. Introducere 8.3 Proiectarea sistemelor de control 8.3.1 Proiectarea unui regulator de tip P 8.3.2 Proiectarea unui regulator de tip PD 8.3.3. Proiectarea unui compensator cu avans de faz

129
129 129 130 131 138 144

9. Proiectarea sistemelor compensate prin metoda diagramelor Bode


9.1. Obiectivele lucrrii 9.2. Proiectarea sistemelor compensate 9.2.1 Compensarea de tip phase-lead 9.2.2 Compensarea de tip phase-lag

149
149 149 149 158

Proiect de curs Bibliografie

167 169

Cuprins

PREFA
De-a lungul timpului MATLAB i Simulink au devenit standarde educaionale pentru mediile universitare, att n cadrul unor cursuri de iniiere ct mai cu seam pentru cursurile avansate din diferitele domenii ale ingineriei, matematicii sau tiinelor aplicate.
Prezenta lucrare reprezint un ghid practic de utilizare a mediului MATLAB n rezolvarea problemelor legate de modelarea, simularea si proiectarea sistemelor de control specifice domeniului Ingineriei Sistemelor. Cartea este destinat n primul rnd studenilor din anul II, de la Facultatea de Inginerie Electric dar, la fel de util poate fi i studenilor altor faculti de inginerie, precum i inginerilor care utilizeaz i dezvolt aplicaii industriale de control. Coninutul acestei cri se bazeaz pe cunotiinele teoretice dobndite n cadrul cursului de Teoria Sistemelor i reprezint o continuare fireasc a acestui curs punnd accentul pe latura aplicativ. Prin modul de prezentare, autorii au ncercat s se pun sub o form gradual aspectele legate de modelarea, simularea i proiectarea sistemelor de control. Coninutul acestei lucrri este structurat pe 9 capitole care pot fi sintetizate dup cum urmeaz: Capitolul 1 face o prezentare general a mediului MATLAB i pune accentul ntr-o prim parte pe caracteristicile care definesc particularitile limbajului de programare. Acest limbaj are trsturi comune cu limbajele tradiionale de programare - C i respectiv, Fortran. Sunt evideniate

viii

Prefa

avantajele pe care acest mediu de simulare numeric le ofer n rezolvarea problemelor care pot fi puse sub o forma matematic compact, precum i facilitile de reprezentare grafic divers de care dispunee. Capitolul 2 trateaz aspecte legate de modelarea sistemelor liniare i invariante (LTI) n Matlab. Sunt prezentate cteva moduri de reprezentare ale sistemelor liniare precum i modalitile de conversie dintr-o form n alta a acestor forme de reprezentare. De asemenea sunt menionare funciile din Matlab prin intermediul crora se pot extrage date dintr-un astfel de model. Capitolul 3 prezint modurile de interconectare ale blocurilor funcionale ce compun un sistem. Reducerea complexitii prin determinarea unei funcii de transfer echivalente reprezint un aspect important care este abordat n cadrul aceastui capitol. Pornind de la ideea reprezentrii sistemelor prin diagramele bloc se introduce modelarea n Simulink. Capitolul 4 este dedicat n ntregime prezentri mediului grafic de modelare i simulare Simulink. Sunt prezentate elementele de baz din Simulink care permit modelarea grafic a unui sistem. De asemenea, este artat modul de salvare a modelului creat ntr-un fiier de tip mdl, precum i ncrcarea n zona de lucru a unui model deja existent. n faza urmtoare, sunt prezentate facilitile oferite de Simulink n simularea sistemelor n vederea analizei acestora. Capitolul 5 abordeaz problema analizei rspunsului tranzitoriu pentru sistemele liniare modelate prin funcii de transfer. Este analizat rspunsului sistemului de ordinul I, de ordinul II i ordinul II modificat cu un pol sau zerou cnd la intrare se aplic un semnal treapt. Pentru fiecare din aceste cazuri sunt introdui parametrii care caracterizeaz faza de rspuns tranzitoriu. Capitolul 6 se ocup cu analiza rspunsului n regim stabilizat. Sunt introduse erorile care pot s apar n aceast faz de rspuns a unui sistem, atunci cnd la intrarea sistemului se aplic un semnal standard de test. Este prezentat conceptul de sensibilitate al unui sistem. Sunt de asemenea introduse erorile stationare pentru sistemele modelate prin ecuatii de stare.

Prefa

ix

Capitolul 7 este dedicat prezentrii metodei Locul rdcinilor i a analizei pe baza acestei metode. Tot acum se introduc noiunile de compensator, sistem compensat i de stabilitate a unui sistem. n MATLAB trasarea locului se face prin comanda rlocus, iar alegerea coeficienilor presupune utilizarea funciei rlocfind. Metoda ofer informaii utile asupra comportamentului sistemului n bucl nchis. Prin inserarea unui compensator adecvat, se poate obine un rspuns dorit pentru sistem, n concordan cu condiiile impuse n faza iniial de proiectare. Capitolul 8 abordeaz problema proiectrii sistemelor de control pe baza metodei locul rdcinilor. Este prezentat n detaliu metoda grafic de proiectare ce utilizeaz funcia sisotool din Matlab. In cadrul acestei lucrri se prezint proiectarea sistemelor de control cu regulator proporional, proporional derivativ i cu compensator cu avans de faz. Pentru fiecare din exemplele considerate se face analiza rspunsului la semnalul treapta precizndu-se parametrii ce caracterizeaza rspunsul. Capitolul 9 se ocup cu problema proiectrii sistemelor de control n domeniul frecvenei pe baza diagramelor Bode. n lucrare sunt prezentate metodele de proiectare ale sistemelor compensate pe baza compensatoarelor cu avans i ntirziere de faz. Pentru fiecare din exemple se prezint n mod comparativ diagramele Bode i rspunsul sistemului nainte i dup compensare. n sperana c aceast lucrare poate fi util celor interesai de domeniul ingineriei sistemelor n dobndirea cunotiinelor legare de modelarea, simularea i proiectarea sistemelor de control, autorii mulumesc anticipat celor care vor aprecia sau vor avea un punct de vedere constructiv la adresa coninutului acestei lucrri. Opiniile se pot trimite pe adresa: calin.rusu@edr.utcluj.ro Nu n ultimul rnd dorim s mulumim Editurii UT Press pentru sprijinul acordat la apariia acestei lucrri. Martie 2008, Cluj - Napoca Dr. ing. Clin Gh. Rusu

Prefa

Introducere n MATLAB
Lucrarea nr. 1
1.1. Obiectivele lucrrii
- prezentarea mediului MATLAB, comenzi de baz - operaii elementare cu matrici i vectori - exemple de operaii i funcii uzuale n controlul sistemelor - operaii matematice, extragerea rdcinilor unui polinom - transformarea Laplace directa i invers

1.2. Introducere
MATLAB este un mediu de modelare i simulare interativ utilizat pentru calcule i analize tiinifice. nglobeaz diverse posibiliti de lucru, precum: analiza numeric, calculul matricial, procesarea semnalelor sau reprezentarea grafic, ntr-un mediu uor de utilizat. Formularea enunurilor i soluiile problemelor se exprim exact cum sunt scrise matematic, nefiind necesar o programare tradiional. Numele acestui mediu provine de la matrix laboratory. n calcule complexe programul se bazeaz pe operaiile cu matrici.

12

Introducere n MATLAB

1.2.1 Mediul MATLAB


Cnd lansai MATLAB-ul pe desktop apar mai multe ferestre care vor gestiona fiierele, variabilele i aplicaiile asociate acestui mediu de programare. Dac pornii prima dat programul, atunci pe desktop trebuie s obinei o fereastr identic cu cea din figura 1.1, altfel fereastra Launch Pad poate s conine alte intrri.

Figura 1.1 Mediul MATLAB Fereastra de comenzi - Command Window Aici putei s introducei comenzi, de exemplu s specificai valoarea unei variabile sau s rulai un fiier cu comenzi i/sau instructiuni MATLAB - script m-file. Prin urmare printr-un m-file se va ntelege un fier care execut o serie de comenzi MATLAB sau poate s conin funcii care accept argumente.

Introducere n MATLAB

13

Prompterul mediului este >>, indicator dup care se pot introduce valori, expresii i scripturi m-file. Fereastra comenzilor anterioare - Command History Liniile introduse n Command Window se nregistreaz n fereastra Command History. n Command History, putei s identificai funcia anterior folosit, se pot copia i executa liniile selectate. Textul urmtor %-- 11:18 AM 4/04/04 --% indic ora exact cnd a fost executat comanda respectiv. Fereastra cilor de cutare - Launch Pad Fereastra furnizeaz calea de acces la biblioteci - tools, demo-uri i documentaii. Biblioteca Simulink i Control System Toolbox sunt cel mai des utilizate n acest curs. Fereastra de lucru - Workspace Fereastra de lucru conine setul de variabile (vectori sau matrici) memorate de MATLAB ntr-o sesiune de lucru. Putei s adunai o variabil utiliznd funcii, rulnd un m-file i ncrcnd workspace-ul salvat. Ca s vedei informaiile despre fiecare variabil facei click pe Workspace sau folosii funcia who i whos. Figura 1.2 arat fereastra Workspace.

14

Introducere n MATLAB

Figura 1.2. MATLAB Workspace

1.2.2 Variabile, Expresii i Comenzi n MATLAB


Dac ce ne-am familiarizat cu mediul MATLAB vom trece la expresiile de baz recunoscute de MATLAB. n command window se introduc direct comenzile, ca de exemplu atribuirea unei valori pentru o variabil sau rularea unui m-file ce contine aceleai comenzi. Expresii i variabile Expresiile introduse fr nume de variabil sunt evaluate de MATLAB i memorate ntr-o variabil afiat numit ans (answer). Rezultatul unei expresii se pot atribuii unei variabile pe care o identific. Variabila este alctuit dintr-o liter urmat de orice numr, liter, cifr sau printr-un nume. MATLAB utilizeaz numai primele 31 de caractere din numele unei variabile. MATLAB face diferen ntre liter mic i mare (adic este case sensitive). MATLAB afieaz rezultatul cu 5 cifre significante (de obicei: format short). Comenzile de format sunt urmatoarele:

Introducere n MATLAB

15

format short e format long, format long e Aceste comenzi vor afia numrul cu 5 cifre in format flotant, respective 15 cifre n format ntreg i 15 cifre n format flotant. Primul exemplu este o expresie fr nume de variabil cu rspuns memorat automat n ans. Expresia a doua este o expresie matematic ce utilizeaz funcia cos. Funciile matematice vor fi explicate n cadrul seciunii Funcii Elementare. >> 13 ans = 13 >> cos(3.1416/3) ans = 0.49999787927255 >> n exemplul doi se vor afia expresii a cror valoare este memorate n variabilele a i b. >> a= 234.56778 a = 2.3457e+002 >> b=3.1416*(cos(3.1416/6))+2 b = 4.7207e+000 n rspunsul afiat, semnul % indic faptul c expresia tastat este convertit n comentariu, respectiv dac dup expresia matematic se pune ; atunci se omite rspunsul. n exemplul urmtor se arat acest lucru. n prima

16

Introducere n MATLAB

expresie nu se afieaz valoarea lui a1 dei este nc n workspace, iar pe linia a doua a1 este considerat un comentariu. >> a1=3.5445/64; >> % a1=3.5445/64 >> Utiliznd comanda fprintf putei s manipulai direct formatul ieirii. Aceast comand afieaz rezultatul n formatul dorit pe ecran sau n fiierul specificat. %8.4f, indic faptul c la ieire avei un numr float format din 8 caractere din care 4 sunt zecimale. Dac lungimea numrului este mai mic decat 8, (7 de exemplu) al 8-lea element este spaiul (blank). Expresia din interiorul semului va fi afiat. \n indic trecere pe o linie nou a ieirii urmtoare. Expresia tastat dup virgul , va fi evaluat. >> fprintf('Area of a circle is %8.4f Square meters\n', 3.1416*3^2) Area of a circle is 28.2744 Square meters >> MATLAB are o serie de variabile predefinite dup cum se arat n tabelul urmtor, Tabel1.1. ans computer eps i,j inf nan pi realmax realmin Tabel 1.1. Variabile i constante speciale Ultimul rspuns Tipul calculatorului Numr real cu virgul mobil Unitate imaginar Infinit Nu e numr 3,141459265358. Cel mai mare numr real n virgul mobil Cel mai mic numr real n virgul mobil

Introducere n MATLAB

17

MATLAB are o serie de comenzi speciale dup cum apar n Tabelul 1.2. clc clear variable diary Tabel 1.2. Comenzi speciale terge toate intrrile i ieirile din Command Window terge coninutul i variabila respectiv din workspace.Dac toate variabilele sunt terese atuci ntregul workspace este gol. Determin o copie despre toate comenzile de intrare i majoritatea comenzilor de ieire adugat n fiierul respectiv. Dac nu exist nici un fiier menionat se utilizeaz fiierul diary. Ieire din MATLAB Help pentru comanda respectiv Analog clc. Citete coninutul fiierului MAT salvat. Salveaz workspace-ul ntr-un fiier binar denumit fiier MAT cu extensia .mat Afieaz variabilele din workspace. Afieaz numrul elementelor unei variabile. Dac nu se indic variabila, atunci se afieaz valoarea fiecrui element.

exit help command home load save who whose variable

Caracter de tip String Un ir de caractere cuprins ntre dou semne apostrof se numete caracter de tip string sau vaiabil text. Aceste iruri se pot combina [ir unu,ir doi]. Vezi exemplul urmtor: >> c='Transilvania' c = Transilvania >> cs=[c,',Cluj'] cs =

18

Introducere n MATLAB

Transilvania, Cluj Definirea matricilor Cea mai simlp metod de a introduce o matrice este scrierea explicit, adic niruirea elementelor cuprinse n paranteze ptratice [ ]. Coloanele matricei se despart prin virgul sau spaiu, iar rndurile prin ; sau carriage return. O matrice de o singur linie se introduce n MATLAB n dou feluri: utiliznd spaiu sau virgul. >> A=[4 32 31 5] A = 4 32 31 5 >> A=[4,32,31,5] A = 4 32 31 5

O matrice de o singur coloan se introduce n MATLAB n dou feluri: utiliznd ; sau carriage returns (n acest exemplu am folosit ;). >> B=[3;4;5] B = 3 4 5 Combinnd instruc iunile de creare a matricei coloan cu matricea linie, se obine o matrice m x n. . 1 2 Matrice C = se introduce n MATLAB utiliznd spaiu sau virgul cu 3 4 punct i virgul sau carriage return, dup cum urmeaz:

Introducere n MATLAB

19

>> C=[1 2;3 4] C = 1 3 2 4

O linie sau o coloan ntreag se adreseaz prin utilizarea punctului i virgul ;. De exemplu, pentru a ob ine prima linie din matricea C, se procedeaz dup cum urmeaz. Numrul 1 arat c este vorba de prima linie sau coloan n funcie de poziia lui. Dac numrul se afl pe prima poziie atunci, la ieire avem ntreaga linie, iar dac se afl pe poziia a doua atunci, la ieire avem ntreaga coloan. n exemplul nostru, numrul 1 se afl pe prima poziie; deci la ie ire avem prima linie . ncercai s interschimbai coloana i numrul introdus pentru a vedea modificarea la ieire. >> frow = C(1,:) frow = 1 >> Un element din matrice se poate accesa printr-o expresie (i,j), unde i este linia i j este coloana elementului corespunztor. De exemplu, pentru a obine elementul de pe prima linie i coloana a doua din matricea C, care este 2, se procedeaz dup cum urmeaz. >> f12=C(1,2) f12 = 2 >> 2

20

Introducere n MATLAB

Operaii de baz cu matrici i vectori Matricile de aceeai dimensiune se pot aduna i scdea. Dac ele sunt de dimensiuni corespunztoare, atunci se poate executa operaia de nmulire sau de mprire. Pentru nmulirea i mprirea element cu element, MATLAB utilizeaz operatorul dot, sau punctul zecimal. n Tabelul 1.3 sunt enumerate opera iile ce se pot executa element cu element. Se dau dou matrici C i D. Pentru opera ia de nmul ire se tasteaz >>C*D, iar pentru nmul ire element cu element se ntroduce >>C.*D, >>C\D este echivalent cu C-1D, i >>C/D este echivalent cu CD . Inversa matricei se noteaz cu C i se obine utiliznd comanda >>inv(C). n continuare se prezint cteva exemple. >> C = [1 2;3 4] C = 1 3 2 4
-1 -1

>> D = [5 6;7 8]

Introducere n MATLAB

21

D = 5 7 >> C*D ans = 19 43 >> C\D ans = -3.0000 -4.0000 4.0000 5.0000 >> inv(C)*D ans = -3.0000 -4.0000 4.0000 5.0000 >> C.*D ans = 5 21 + .* ./ .\ .^ .' 12 32 Tabel 1.3. Operaii matematice Adunare Scdere nmulire element-cu-element nprire element-cu-element mprire la stnga element-cu-element division Ridicare la putere element-cu-element Transpusa unei matrici 22 50 6 8

22

Introducere n MATLAB

Un vector n este un vector linie sau o matrice coloan a n numere. n MATLAB, elementele incluse n paranteze p trate i separate de punct i virgul genereaz un vector coloan. Transpusa unui vector linie este un vector coloan i i n v e r s . A c e s t a s e o b i ne n MATLAB utiliznd simbolul (apostrof). Ur m t or ul exemplu a r a t transpusa matricei D. >> E = D' E = 5 6 >> Un vector se poate genera specificnd primul i ultimul element, respectiv incrementul alocat pentru fiecare element. De exemplu, dac se propune crearea unui vector linie avnd primul element 1 i ultimul element 9 cu un increment de 1, atunci sintaxa utilizat arat dup cum urmeaz . Incrementul implicit este 1 deci, dac nu se men ioneaz ca i parametru explicit, valoarea sa va fi 1,. n urm toarea comand Matlab >>F = (1:9), se ob ine acela i rezultat ca i n cazul: >> F = (1:1:9) F = 1 2 3 4 5 6 7 8 9 7 8

>> F = (1:9) F = 1 2 3 4 5 6 7 8 9

Introducere n MATLAB

23

n Matlab exost definite matrici speciale care sunt prezentate n tabelul urmtor, Tabel 1.4. Table 1.4 Matrici elementare eye Matricea unitate meshgrid X i Y matrici pentru desenare 3-D ones Matricea cu toate elementele 1 zeros Matricea cu toate elementele 0 rand Genereaz numere aleatoare cu distribuie uniform randn Genereaz numere aleatoare cu distribuie normal Avnd o matrice dat se poate ca din aceasta s se extrag informaii utile n calcule. ncercai urmtoarele comenzi i determinai modul lor de aciune. Vezi tabelul 1.5 pentru detali. Table 1.5 Operaii elementare n matrici disp Afieaz matricea isempty Adevarat pentru o matrice vid isequal isnumeric issparse length ndims numel size Adevarat pentru o matrice identic Adevrat pentru o matrice numeric Adevrat pentru o matrice rar Lungimea unui vector Numrul dimensiunii Numrul elementelor Dimensiunea matricei

n Tabelul 1.6 i respective 1.7 sunt cuprinse cteva funcii utile n crearea i manipularea matricelor. Studiai i vedei cum funcioneaz. Table 1.6 Funcii pentru manipulare matrice diag Creaz sau extrage diagonalele fliplr Rotete matricea n jurul axei verticale (inverseaza ordinea coloanelor) flipud Rotete matricea n jurul axei orizontale (inverseaza ordinea liniilor) reshape Schimb dimensiunea matricei rot90 Rotete matricea cu 90 degrade Index n matrice, rearanjare matrice : (colon)

24

Introducere n MATLAB

det trace inv eig poly exp logm sqrtm

Table 1.7 Operaii n matrici Determinantul matricei Suma elementelor de pe diagonal Inversa matricei Valoarea proprie a unei matrici vectorului Polinomul caracteristic Exponent Logaritm Rdcin ptrat

1.2.3 Funcii i operaii elementare


Operaiile de baz precum adunare, sc dere, nmul ire, mprire se reprezint prin urmtoarele simboluri + , - , * , /. Pentru a ridica un numr la putere, se insereaz simbolul ^ ntre numr i exponent. S presupunem, c se dorete determinarea valorii 26, se tasteaz >> 2^ Dup cum am artat mai devreme pentru matrici sau tablouri, operaiile de ridicare la putere, nmulire i mprire sunt diferite. Cteva dintre funciile de baz care opereaz pe elemente sunt date n Tabelul 1.8. Tabel 1.8 Funcii elementare matematice abs Valoare absolut sau modul acos Arc cosinus acosh Arc cosinus hiperbolic angle Argument asin Arc sinus asinh Arc sinus hiperbolic atan Arc tangent atanh Arctangent hiperbolic conj Conjugatul unui numr complex cos Cosinus exp Exponenial baz e cosh Cosinus hiperbolic floor Rotunjire spre infinit fix Rotunjire spre zerou imag Partea imaginar log Logaritm natural

Introducere n MATLAB

25

log10 real rem round sign sinh sqrt tan tanh Operaii Logice

Logaritm zecimal Partea real Restul mpririi Rotunjire ctre cel mai apropiat ntreg Funcia semn Sinus hiperbolic Rdcin ptrat Tangent Tangent hiperbolic

Operatorii relaionali compar doi scalari i produc 1 dac opera ia este adev rat i respectiv 0 dac este fals. De exemplu, dac se tasteaz >> t = 17>55, MATLAB rspunde cu t = 0. n cazul matricilor, operatorii relaionali compar elementele corespunztori. De exemplu, >> L = D <= X va determina compararea fiecrui element din D c u elementele corespunztoare din X. Dac elementul din D e s t e mai mic sau egal dect elementul corespunztor din X, atunci elementul corespunztor din L va fii 1. Altfel, elementul corespunztor din L va fi zero. Operatorul logic & pentru AND, | pentru OR, i ~ pentru NOT returneaz 1 pentru adevrat i 0 pentru fals. Urmrii exeplul de mai jos. >> >> >> >> H = [1 I = [0 J = [2 lgcal1 3 2 2 = 5 3 6 H 7 4 3 < 9]; 5]; 4]; I

lgcal1 = 0 0 0 0 0

>> lgcal2 = H>I

26

Introducere n MATLAB

lgcal2 = 1 1 1 1 1

>> lgcal3 = (H>I)&(H>=J) lgcal3 = 0 1 0 1 1

Crearea fiierelor MATLAB (m-file) Fiierele care conin instruciuni MATLAB se numesc m-files. Un fiier de acest tip se realizeaz dac se deschide un editor de text i aici se vor introduce funcii i comenzi recunoscute de MATLAB. Exist dou tipuri de fiiere m: Funcii care nu accept paramentrii de intrare sau care returneaz parametrii de ie ire. Acestea opereaz asupra variabilelor din workspace. Funcii care accept parametrii de intrare i returneaz valori de ieire. Aceste variabile sunt locale funciilor.

Dac suntei un programator nceptor n MATLAB, atunci creai fiierul m-file direct n directorul curent. Pe msur ce realizai mai multe fiiere proprii o s avei nevoia s le organizai n alte directoare i n biblioteci personalizate ce vor fii adugate n calea de cutare a MATLABlui. Dac MATLAB-ul ntlnete dou fiiere cu acela denumire, atunci execut primul fiier pe care l ntlnete n cale de cutare. Fiecare nume de fiier se termin cu .m Comenzile din fiier se execut prin ntroducerea n fereastra de comenzi (Command Window) numele fiierului fr extensa .m. Un m-file se creaz executnd click pe >FILE>NEW>M-FILE dup care apare o fereastr unde se poate ntroduce comenzile dorite. Vezi figura 1. 3.

Introducere n MATLAB

27

Figura 1.3. Fereastra editorului din Matlab (m-file) Definirea funciilor Pentru a crea o funcie se introduce prima dat cuvntul cheie function dup care urmeaz denumirea funciei i parametrii de ieire respectiv de intrare, dup cum urmeaz: function [output arguments] = function_name(input arguments) Instruciuni de control a programului MATLAB are posibilitatea de control a fluxului de operaii, exact ca n orice alt limbaj de programare. Structurile repetitive i decizionare puse la dispoziia utilizatorului sunt prezentate n Tabelul 1.9. Comenzile for, while, i if sunt similare cu cele utilizate n alte limbaje. Fiecare ciclu for, while, i if se termin cu o comand end. Comanda break se utilizeaz pentru a iei definitiv din ciclu. Comanda if se

28

Introducere n MATLAB

poate utiliza npreun cu funciile nargin, nargout, i error pentru verificarea mai bun asupra funciei. n interiorul unei funcii, nargin i nargout este egal cu numrul parametrilor de intrare i ieire, care s-a utilizat n funcia call. Funcia error(message) returneaz control asupra tastaturii i afieaz mesajul. Pentru mai multe informaii referitoare la aceste comenzi tastai >> help <command>. Tabel 1.9. Comenzi pentru controlul programului break Termin execuia ciclului else Utilizat cu if elseif Utilizat cu if and nchide ciclul for, while, i if error Afieaz mesajul i abandoneaz funcia for Ciclu repetitiv de un numr dat de ori if Instruciune condiionat return Return n funcie invocat while Instruciune repetitiv de un numr nedefinit de ori

1.2.4 Trasarea graficelor


MATLAB poate crea diverse tipuri de grafice, cum ar fi: 2D, 3D, liniare, logaritmice, semilogaritmice, reprezentri n coordonate polare, etc. Cteva dintre modalitaile de reprezentare a graficelor 2D sunt: plot, loglog, semilogx, semilogy, polar, i bar. Comanda grid adaug linii ajuttoare graficelor, iar comenzile title(text), xlabel(text), ylabel(text), i text(text) pot fi utilizate pentru plasarea de etichete sau texte pe grafice. MATLAB realizeaz scalarea automat. Funcia axis([xmin, xmax, ymin, ymax])impune scalare manual. Pentru a exemplu s lum reprezentarea unei sinusoide. Fie y = 2 sin x , unde x este abscisa (un unghi) i y este ordonata. Not: unghiurile sunt date n radiani. >> x=(0:0.002:2*pi);

Introducere n MATLAB

29

>> y=2*sin(x); >> plot(x,y); title('Sinusoidal waveform'); Semnalul de ieire arat ca n figura 1.4.

Figura 1.4. y = 2sin(x).

1.3 MATLAB n controlul i analiza sistemelor


Funciile prezentate sunt fundamentale i sunt utilizate n mod frecvent n aplicaii de control. Numere complexe Numerele complexe sunt introduse in MATLAB utilzndu-se funciile speciale i sau j. Opera iile matematice sunt similare cu cele realizate cu numere reale. Ca exemplu, s presupune operaiile de baz ntre dou numere complexe. Fiind dat: (25 + j 65) i (30 + j80) (adunare i mprire)

30

Introducere n MATLAB

>> (25+65j)+(30+80j) %Adunare ans = 5.5000e+001 +1.4500e+002i >> (25+65j)/(30+80j) %mprire ans = 0.8151 - 0.0068i >> Dintr-un numr complex se poate extrage faza, modulul, partea real i p a r t e a imaginar. D e e x e mp l u , dac se dorete s se obin faza i modului numrului complex (25 j 65), prima dat se converte te unghiul n grade prin nmul ire cu / 180 (rspunsul n unghi este ntotdeauna n radiani). >> abs(25-65i) ans = 69.6419 >> angle(25-65i)*(180/pi) ans = -68.9625 >> real(25-65i) ans 25 >> imag(25-65i)

Introducere n MATLAB

31

ans -65 >> Polinoame Un polinom se reprezint ca un vector linie care conine coeficienii polinomului ca elemente ale vectorului. De exemplu, polinomul s 3 + 32s 2 + 32 se reprezint ca

>>x = [1 32 0 32] x = 1 >> Primul element din vector este coeficientul termenului de grad cel mai mare, iar ultimul coeficientul termenului de grad cel mai mic. 0 este inclus deorece nu exit termen de grad unu n polinoml. Polinomul se poate descompune sub form factorizat a c rui r d cini se ob ine cu func ia poly(), dup cum urmeaz. P = s ( s + 2 ) ( s 4 ) ( s + 5 ) , care poate fii >> x = poly([0 2 4 5]) x = 1 3 -18 -40 0 Pentru polinomul caracteristic dat, rdcinile se obin cu comanda roots(). 32 0 32

32

Introducere n MATLAB

>> roots([1 3 -18 -40 0]) ans = 0 4.0000 -5.0000 -2.0000 Dou polinoame se nmulesc i se mpart folosind comanda conv()
i respectiv deconv().

>> x = [1 2 1]; >> y = [2 5]; >> m = conv(x,y) m = 2 9 12 5

>> n = deconv(x,y) n = 0.5000 >> n tabelul 1.10 sunt enumerate alte funcii utilizate n control, analiz i proiectare. Table 1.10. Alte funcii de baz pentru controlul aplicaiilor. ilaplace Genereaz transformata Laplace invers pentru un polinom din domeniul complex s laplace Genereaz transformata Laplace polinom din domeniul timp polyval residue Evaluare polinomial. Descompunere n fracii simple -0.2500

Introducere n MATLAB

33

1.4 Verificare
1. Generai polinoamele urmtoare n Matlab. N ( s) = 2s 2 + 6s + 9 D( s) = s 3 + 2s 2 9s + 1 2. Fie N (s) o expresie raional. Descompunei n fracii simple folosind D( s) comenzile din Matlab.

3. Fie polinomul P ( s) = 2s 4 3s + 9 . Determinai rdcinile acestuia utiliznd comenzi Matlab. 4. Fiind dat intervalul de timp 0 t 10 s , desena i r spunsul func iei f (t ) = e t 4 cos(t ) cu o rezoluie de 0.1s. 5. Determinai produsul celor dou polinoame specificate la punctul 1. 2s + 3 6. Evaluai polinomul F ( s ) = 2 utiliznd funcia polyval. s 3s + 5 s = 2

34

Introducere n MATLAB

Modelarea sistemelor liniare


Lucrarea nr. 2
2.1 Obiectivele lucrrii
- reprezentarea sistemelor n MATLAB - transformri ale reprezentrilor - proprieti ale sistemelor liniare - extragerea datelor dintr-un sistem

2.2 Consideraii teoretice


2.2.1 Modelarea sistemelor
Modelarea prin funcii de transfer Din punct de vedere matematic un sistem liniar i invariant (LTI) se poate reprezenta n Matlab sub mai multe moduri. Pentru a simplifica lucrurile vom considera cazul sistemelor cu o intrare i o ieire (SISO). Modelul cel mai utilizat n analiza unui sistem LTI este funcia de transfer. Aceasta se definete ca raport a dou polinoame de un anumit grad n s, unde s reprezint variabila complex din transformata Laplace.

36

Modelarea sistemelor liniare

Astfel c putem scrie:

G(s) =

N ( s) D( s )

(2.1)

unde N(s) este polinomul de la numrtorul funciei de transfer de forma:

N ( s ) = bm s m + bm 1 s m 1 + ... + b1 s + b0
iar D(s) este polinomul de la numitorul funciei de transfer de form:

(2.2)

D( s) = a n s n + a n 1 s n 1 + ... + a1 s + a0 .

(2.3)

n MATLAB, funcia sys=tf(num,den) este utilizat pentru a genera o reprezentare prin funcie de transfer pentru un sistem. Variabilele num i den sunt folosite pentru desemnarrea numrtorului, respectiv numitorului funciei de transfer. S considerm funcia de transfer G(s), unde:

G ( s) =

s+3 . s 2s + 1
3

(2.4)

Pentru a reprezenta aceast funcie de transfer vom scrie:


>> num = [1 3] num = 1 3 >> den = [1 0 2 1] den = 1 0 -2 1 >> sys=tf(num,den)

Modelarea sistemelor liniare

37

Transfer function: s + 3 ---------------s^3 - 2 s + 1 >> Modelarea prin ecuaii de stare

Un alt mod de reprezentare utilizat n analiza i modelarea unui sistem LTI este dat de ecuaiile de stare, cu urmtoarea form general:

d x = Ax + Bu dt y = Cx + Du

(2.5)

unde A, B, C, i D sunt matrici, reprezentnd intrarea, ieirea i tranziiile dintre intrare i ieirea sistemului. S considerm sistemul:

1 0 0 x= x + 2.083u dt 0 1.71 y = [1.05 5]x d

(2.6)

Pentru a genera o reprezentare prin ecuaii de stare se utilizeaz funcia sys=ss(A,B,C,D), dup cum urmeaz:
>> A = [0 1; 0 1.71] A = 0 0 1.0000 -1.7100

>> B = [0;2.083] B =

38

Modelarea sistemelor liniare

0 2.0830 >> C = [1.05 5] C = 1.0500 >> D = 0 >> sys=ss(A,B,C,D) a = x1 x2 b = x1 x2 c = y1 d = y1 x1 1.05 u1 0 x2 -5 x1 0 0 u1 0 2.083 x2 1 -1.71 D = 0 -5.0000

Continuous-time model. >>

Modelarea sistemelor liniare

39

Modelarea Poli-Zerouri i Factor de amplificare

Uneori este necesar crearea unui model pentru un sistem liniar dat prin specificarea zerourilor, polurilor i a factorului de amplificare. Funcia sys=zpk(z,p,k), este utilizat pentru a genera un model de acest tip. S considerm un sistem liniar cu urmtoarele caracteristici: Poli = 0, -2, -3, -4 Zerouri = -1, -2 Factorul de amplificare = 2 Reprezentarea matematic este de forma:

G (s) = k

( s + z1 )( s + z 2 )...(s + z m ) ( s + 1)( s + 2) =2 . s( s + 2)( s + 3)( s + 4) ( s + p1 )( s + p 2 )...(s + p n )

n MATLAB vom avea:


>> z = [-1 2] z = -1 -2

>> p = [0 2 3 4] p = 0 >> k=2 k = 2 >> sys=zpk(z,p,k) Zero/pole/gain: -2 -3 -4

40

Modelarea sistemelor liniare

2(s+1)(s+2) ------------------s(s+2)(s+3)(s+4) >>

2.2.2 Transformri de reprezentare


MATLAB are funcii care pot realiza conversii ale acestor moduri de reprezentare dintr-o form n alta. Aceste transformri sunt utile n rezolvarea unor probleme de control i sunt enumerate mai jos:
Conversia Funie de transfer - Spaiul strilor

Un sistem liniar exprimat sub forma funciei de transfer se poate transforma ntr-o reprezentare prin ecuaii de stare utiliznd funcia tf2ss n urmtoarea linie de comand:
[A,B,C,D] = tf2ss(num,den),

unde num i den este numrtorul i respectiv numitorul de tip polinomial a funciei de transfer.
Conversia Ecuaii de stare - Funcie de transfer

Un sistem liniar scris sub forma ecuaiei de stare se poate converti n reprezentare funcie de transfer dac se apeleaz funcia ss2tf din linia de comand:
[num,den]=ss2tf(A,B,C,D). Conversia Funie de transfer - Zerou-Pol-Factor de amplificare

Un sistem liniar modelat prin funcie de transfer se poate transforma n reprezentare prin zerou-pol-factor de amplificare utiliznd funcia tf2zp apelat n linia de comand

Modelarea sistemelor liniare

41

[z,p,k]=tf2zp(num,den). Conversia Zerou-Pol-Factor de amplificare - Funie de transfer

Transformarea unui model din reprezentarea zerou-pol-factor de amplificare n reprezentare funcie de transfer se realizeaz prin apelul funciei zp2tf n comanda:
[num,den]=zp2tf(z,p,k). Conversia Zerou-Pol-Factor de amplificare - Ecuaii de stare

Reprezentarea zerou-pol-factor de amplificare se poate transforma n reprezentarea prin ecuaii de stare utiliznd funcia zp2ss
[A,B,C,D]=zp2ss(z,p,k). Conversia Ecuaii de stare - Zerou-Pol-Factor de amplificare

Conversia modelului din reprezentarea prin ecuaii de stare n reprezentare prin zerou-pol-factor de amplificare se poate face prin apelul funciei ss2zp
[z,p,k]=ss2zp(A,B,C,D).

2.2.3 Extragerea datelor din model


Rezolvarea unui sistem liniar este uurat de folosirea mediului MATLAB.
Extragerea datelor din reprezentarea Funie de transfer

Polinoamele numrtorului i numitorul unui sistem exprimat prin variabila sys reprezint informaii n cazul funciei de transfer. Aceste polinoame se pot obine prin utilizarea funciei tfdata din Matlab.
[num,den]=tfdata(sys).

42

Modelarea sistemelor liniare

Extragerea datelor din reprezentarea Ecuaii de stare

Matricea de sistem A, matricea intrrilor B, matricea ieirilor C i matricea de tranziie D a unui sistem dat sys reprezint informaii care se pot extrage din reprezentarea prin ecuaii de stare. Acestea se obin prin apelul funciei ssdata din Matlab.
[A,B,C,D]=ssdata(sys). Extragerea datelor din reprezentarea Zerou-Pol-Factor

Zeroul, pol i factorul de amplificare a unui sistem considerat exprimat prin variabila sys reprezint informaii care pot fi extrase din acest model. Aceste informatii se obin prin apelul funciei zpk din Matlab.
[z,p,k]=zpkdata(sys).

2.3. Verificare
1. Obinei reprezentarea sub forma funciei de transfer, a ecuaiilor de stare i a modelului zerou-pol-factor de amplificare pentru sistemele a caror comportamente sunt descrise prin ecuaiile difereniale urmtoare: 5 d2 d d y (t ) + 2 y (t ) + 3 y (t ) = x(t ) + x(t ) ; 2 dt dt dt 2 y '' ' + y '' = x .

2. Avnd date urmtoarele sisteme, extragei toate informaiile posibile.


G ( s) = s +1 ; s + 2s + 3
2

G ( s) =

( s + 1)( s + 2) 25 10 ; G ( s) = + . 3 2 s + 3 s +1 s 2s + 3s 2

3. Obinei soluiile n domeniul timp pentru sistemele SISO prezentate mai sus.

Conectarea sistemelor liniare


Lucrarea nr. 3
3.1 Obiectivele lucrrii
- interconectarea sistemelor n Matlab - reprezentarea modelelor prin diagrame bloc - utilizarea SIMULINK n modelarea sistemelor

3.2 Consideraii teoretice


Pentru a descrie diferite pri componente ale unui sistem liniar invariant (LTI) vom utiliza reprezentrile prin diagrame bloc. Fiecare bloc din sistem se reprezint printr-o funcie de transfer, care indic o relaie dintre intrri i ieiri.

3.2.1 Conectarea serie (n cascad)


Blocurile unui sistem LTI se pot interconecta n multe feluri. Dac o mulime de blocuri sunt conectate n serie, ele se pot combina ntr-un singur bloc a crui funcie de transfer este produsul funiilor de transfer individuale. Conectarea acestor blocuri se numete conectare n cascad.

44

Conectarea sistemelor liniare

Figura 3.1 reprezint conectarea n cascad a sistemelor, iar ecuaia (3.1) reprezint funcia de transfer echivalent ntregului sistem.

Figura 3.1 Conectare serie (n cascad)

G ( s ) = G1 ( s ) G1 ( s ) L G N ( s ) G ( s) = Gk ( s)
k =1 N

(3.1)

Fiecare element al sistem liniar se poate modela prin funcie de transfer, prin ecuaii de stare, sau prin zerou-pol-factor de amplificare. n MATLAB, fiecare element se va reprezinta prin sys1, sys2, , sysn, funcia de transfer echivalent sys se va obine prin nmulire sau prin folosirea funciei series din MATLAB.
>> sys = sys1 * sys2 * * sysn

sau
>> sys = series(sys1,sys2)

Funcia series poate fi aplicat odat doar pentru dou elemente. Ca exemplu, s considerm dou funcii de transfer date de relaiile (3.2) i respectiv (3.3).

G1 ( s ) = G2 ( s ) =

2s + 1 s + 10s 2 2s + 1
3

(3.2) (3.3)

s+2 ( s + 3)( s 3)

Pentru a determina funcia de transfer, se procedeaz astfel:

Conectarea sistemelor liniare

45

>> sys1 = tf([2 1],[1 10 2 1]); >> sys2 = zpk([2],[-3 3],[1]); >> sys = series(sys1,sys2) Zero/pole/gain: (s-2) ----------(s+3)(s-3) >>

3.2.2 Conectarea paralel


Dac dou blocuri sunt conectate n paralel, atunci acestea se pot reduce la un singur bloc a crui funcie de transfer echivalent este suma funciilor de transfer individual. Figura 3.2 reprezint conectarea n paralel a sistemelor. Ecuaia (3.4) reprezint funcia de transfer echivalent ntregului sistem.

Figura 3.2. Conectarea n paralel a sistemelor

46

Conectarea sistemelor liniare

G ( s ) = G1 ( s) + G1 ( s) + L + G N ( s ) G ( s ) = Gk ( s)
k =1 N

(3.4)

n MATLAB, fiecare element se reprezint prin sys1, sys2, , sysn, funcia de transfer echivalent sys se obine prin adunare sau prin folosirea funciei parallel din MATLAB.
>> sys = sys1 + sys2 + + sysn

sau
>> sys = parallel(sys1,sys2)

Funcia parallel poate fi aplicat deodat doar la dou elemente. Ca exemplu, s considerm nc odat funciile de transfer date de relaiile (3.2) i (3.3). Pentru a determina funcia de transfer, se procedeaz astfel:
>> sys1 = tf([2 1],[1 10 2 1]); >> sys2 = zpk([2],[-3 3],[1]); >> sys = parallel(sys1,sys2) Zero/pole/gain: (s+11.71)(s-2.323)(s^2+0.6175s+0.4044) ---------------------------------------(s+10.21)(s+3)(s-3)(s^2-0.2056s+0.09799) >>

3.2.3 Conectare n bucl nchis


Dac dou blocuri sunt conectate astfel nct semnalul de ieire a sistemului format de cele dou blocuri va fi aplicat la intrarea sistemului, atunci conectarea lor se numete conectare n bucl nchis (Close-loop sau feedback). Figura 3.3 reprezint conectarea n bucl nchis a celor dou

Conectarea sistemelor liniare

47

blocuri ce compun sistemul, iar relaia (3.5) reprezint funcia de transfer echivalent a ntregului sistem.

Figura 3.3. Dou blocuri n conexiune de tip bucl nchis


G ( s) = G1 ( s ) 1 m G1 ( s ) G2 ( s )

(3.5)

Pentru a reduce acest sistem la o singur funcie de transfer, se utilizeaz funcia feedback din MATLAB.
>> sys = feedback(sys1,sys2,+1)

n cazul unei reacii pozitive sau


>> sys = feedback(sys1,sys2,-1)

n cazul unei reacii negative. S considerm blocul a crui funcie de transfer este dat de relaia (3.2) ca fiind elementul de pe calea direct i respectiv blocul a crui funcie de transfer este dat de relaia (3.3) ca fiind elementul de pe calea invers (reacie). Aplicnd o reacie negativ sistemului format din cele dou blocuri vom avem:
>> sys1 = tf([2 1],[1 10 2 1]); >> sys2 = zpk([2],[-3 3],[1]); >> sys = feedback(sys1,sys2,-1) Zero/pole/gain:

48

Conectarea sistemelor liniare

2(s-3)(s+3)(s+0.5) --------------------------------------------(s+10.23)(s+2.94)(s-2.99)(s^2-0.1795s+0.1223)

3.2.4 Reducerea diagramelor bloc


Reduce un sistem prin folosirea funciilor series, parallel i feedback poate fi destul de complicat, de aceea se utilizeaz comenzile blkbuild i connect. Prima dat se numr funciile de transfer pe care le conine sistemul. Prin nblock se definete numrul total de blocuri al sistemului, iar bldblocks convertete fiecare bloc la o reprezentare prin ecuaii de stare, considerndu-le independente (ne conectate). Comanda Matlab
[A,B,C,D] = connect(a,b,c,d,q,iu,iy)

reconecteaz blocurile corespunztor matricei q care specific numrul de interconectri. Primul element de pe fiecare linie din matricea q reprezint numrul blocului. Restul elementelor indic numrul intrrilor care sunt nsumate la blocul respectiv. Dac intrarea n sumator este negativ, numrul blocului va fi introdus cu semn negativ. iu i iy sunt vectori de tip linie, indicnd blocurile de intrare i de ieire. n final, pentru a obine funcia de transfer echivalent a ntregului sistem, se utilizeaz funcia ss2tf din MATLAB care face reconversia din forma ecuaiilor de stare n reprezentarea funcie de transfer. Pentru a exemplifica procedura descris mai sus vom considera sistemul a crui diagram bloc este prezentat n figura 3.4.

Figura 3.4. Exemplu de diagram bloc.

Conectarea sistemelor liniare

49

Astfel se pot pune n eviden urmtori pai necesari pentru a determina funcia de transfer echivalent.
Pasul 1 Numerotai fiecare bloc din schem prezentat n figura 3.4 ncepnd cu 1. Vezi figura i modul n care s-a fcut numerotarea. Pasul 2 ntroducei pentru fiecare bloc numrtorul i numitorul sub form polinomial. Numrtorul i numitorul blocului i se definete ca ni respectiv di. Pentru diagrama bloc din figura precedent numrtorul i numitorul arat dup cum urmeaz: >> >> >> >> >> >> >> >> n1=1; d1=1; n2=0.5; d2=1; n3=4; d3=[1 4]; n4=1; d4=[1 2]; n5=1; d5=[1 3]; n6=2; d6=1; n7=5; d7=1; n8=1; d8=1;

Not: Gradul numrtorului trebuie s fie mai mic dect a numitorului, altfel n fiierul script blkbuild va exista o eroare.
Pasul 3 Specificai numrul total de blocuri. Folosii pentru aceasta variabila nblocks. ntroducei fiierul script blkbuild pentru a construii modelul descris prin ecuaii de stare. >> nblocks = 8; >> blkbuild; Pasul 4 Scriei o matrice care s indic configuraia diagramei bloc. Pentru Figura 3.4, matricea arat astfel:

50

Conectarea sistemelor liniare

>> >> >> >> >> >> >> >>

q 2 3 4 5 6 7 8

= 1 2 3 4 3 4 5

[1 0 0 0 0 6 7 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]

q = 1 0 2 1 3 2 4 3 5 4 6 3 7 4 8 5 >>

0 0 0 -6 -7 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Pasul 5 Specificai intrrile i ieirile sistemului. Pentru figura 3.4, intrarea este conectat la primul bloc, iar ieirea este conectat de blocul numrul 5. >> iu = [1]; >> iy = [5]; Pasul 6 ntroducei declaraia urmtoare: >> [A,B,C,D]=connect(a,b,c,d,q,iu,iy); Pasul 7 Creaz ecuaiile de stare. >> sys = ss(A,B,C,D); Pasul 8 Folosii funcia tf din MATLAB pentru a realiza conversia din reprezentarea prin ecuaii de stare n reprezentare prin funcie de transfer.

Conectarea sistemelor liniare

51

>> sys = tf(sys) Transfer function: 2 -----------------------s^3 + 13 s^2 + 56 s + 80 >>

3.3 Modelarea sistemelor n SIMULINK


SIMULINK este o componenta a mediului MATLAB care prezint o interfa grafic cu utilizatorul, ceea ce permite reprezentarea mai uoar a sistemelor, conectarea acestora i studierea rezultatelor. Pentru a rula SIMULINK-ul, este necesar ca prima dat s pornim MATLAB-ul. Odat ce programul MATLAB ruleaz, se tasteaz comanda simulink. Va apare o fereastr cu denumirea Simulink Library Browser identic cu cea din figura 3.5.

52

Conectarea sistemelor liniare

Figura 3.5. Fereastra Simulink Library Browser S ncercm acum s construim un sistem care s arate ca cel din figura 3.6. Pentru aceasta, din fereastra SIMULINK se face click pe FILE>NEW>MODEL. Prin acesta aciune se creaz noua fereastr vid denumit untitled Care va conine sistemul nostru. Acum se face dublu-click pe simbului grafic Continuous i se trage cu mouse-ul blocul Transfer Fcn n fereastra untitled. Se selecteaz simbolul Math i se pune blocul Gain n fereastra untitled. Repetm acest

Conectarea sistemelor liniare

53

procedeu pentru a plasa blocul Integrator din Continuous. Din biblioteca Sources, se scoate blocul Step, iar din biblioteca Sink, se ia blocul Scope i se plaseaz n fereastra untitled. Vom continua s plasam i restul blocurilor care apar n figura 3.6. Pentru a modifica proprietile blocurilor se va face dublu click pe fiecare element.

Figura 3.6. Fereastra aplicaiei untitled

54

Conectarea sistemelor liniare

3.4 Verificare
1. Determinai funcia de transfer echivalent pentru urmtoarele sisteme conectate n serie folosind Matlab G1 ( s ) = 2 ; s+3 G2 ( s) = 2s + 5 ; s 5s + 7
2

G3 ( s ) =

s2 s 2)( s + 5 j )( s 5 j )

2. Pentru sistemele de la punctul 1 s determinai funcia de transfer echivalent n cazul conectrii lor n paralel. 3. Considernd figura 3.7 de mai jos i utiliznd funciile de transfer de la punctul 1 i 2, determinai funcia de transfer echivalent a ntregului sistem. s4 2s + 1 s 1 ; G5 ( s ) = 2 ; G6 ( s) = 1 G4 ( s) = 2 2s + 3s 2 + s 3 s +3 s 2s + 2 4. Determinai rspunsul la semnalul treapt pentru funcia de transfer echivalent cu ajutorul funciei step(sys). 5. Reprezentai pe osciloscop rspunsul la semnal treapt pentru diagrama bloc din figura 3.7 care se va implementa n SIMULINK. Salvai fiierul.

Figura 3.7. Exemplu de diagram bloc.

Introducere n Simulink
Lucrarea nr. 4
4.1 Obiectivele lucrrii
- prezentare general - crearea fiierelor de tip model (mdl) - elemente de baz (blocuri i linii) - exemplu de simulare - modelarea sistemelor

4.2 Introducere
Simulink este o component grafic interactiv a mediului MATLAB, fiind utilizat n modelarea, simularea i analiza sistemelor. n Simulink, un sistem se reprezint prin diagrame bloc. Exist mai multe biblioteci de blocuri utile care corespund funciilor de transfer, sumatorelor, dispozitivelor virtuale de intrare i ieire sau de alta natur. Simulink este integrat n MATLAB de aceea, transferul datelor ntre aceste componente se realizeaz foarte uor. n aceast prezentare vom utiliza mediul grafic Simulink n modelarea sistemelor, implementarea i simularea sistemelor de control.

56

Introducere n Simulink

4.2.1 Lansare Simulink


Simulink se lanseaz din MATLAB tastnd n Command Window comanda:
>> simulink

sau prin click pe butonul New Simulink Model de pe bara de simbuluri grafice a MATLAB-lui dup cum se observ n figura 4.1.

Figura 4.1. Bara cu simboluri grafice din Matlab Command Window Dup lansare, Simulink afieaz dou ferestre. Prima reprezint fereastra principal Simulink Library Browser, figura 4.2.

Introducere n Simulink

57

Figura 4.2. Biblioteca de simboluri grafice din Simulink Library Browser Cea de a doua fereastr care este destinat aplicaiei apare cu denumire untitled. n acesata se va desena noul modelul.

4.2.2 Crearea unui model


n Simulink, un model este alctuit dintr-o mulime de blocuri interconectate ntre ele. ncrcarea unui model care a fost deja creat i salvat se poate realiza din meniul File al ferestrei Simulink Library Browser sau din fereastra de comanda a MATLAB-ului. S considerm urmtorul model,

58

Introducere n Simulink

1 s+ 1 Step Transfer Fcn Scope

pe care-l vom crea i dup care vom salva acest model ntr-un fiier al directorului de lucru Work din Matlab, sub denumirea simple.mdl. Pentru a rencrca acest model n fereastra activ a aplicaiei vom introduce comanda
>>simple

n Matlab Command Window. Sau n fereastra Simulink Library Browser vom deschide acest fiier tastnd comanda Open din meniul File (mai scurt Ctrl+O). Pe ecran va apare fereastra din figura 4.3 ce reprezint modelul creat.

Figura 4.3. Dac se dorete crearea unui nou model, atunci se va selecta New din meniul File (sau combinaia Ctrl+N).

4.2.3 Elemente de baz (blocuri i linii)


n Simulink exist dou clase mari de obiecte: blocuri i linii. Blocurile se utilizeaz n generarea, prelucrarea, combinarea, ieirea i afiarea semnalelor. Liniile se utilizeaz n transferul semnalelor dintre blocuri.

Introducere n Simulink

59

Blocuri

Exist mai multe clase de blocuri. Dintre acestea menionam: Sources: Utilizate n generarea diferitelor semnale Sinks: Utilizate n afiarea semnalelor Discrete: Conine elemente liniare n domeniu discret (funcie de transfer, model prin ecuaii de stare, etc.) Linear: Conine elemente liniare n domeniu continu (sumator, amplificator, funcie de transfer, ecuaii de stare, etc.) Nonlinear: Conine elemente neliniare (saturaie, ntrziere, etc.) Connections: Multiplexor, Demultiplexor, etc. Un bloc poate s conin una sau mai multe intrri i de asemenea una sau mai multe ieiri. Urmtorul bloc definete o funcie de transfer cu o intrare i o ieire.

Linii

Liniile transmit semnale n direcia indicat de sgeat. Liniile trebuie s transmit ntotdeauna semnale de la ieirea unui bloc la intrarea altui bloc. O excepie este cazul n care un semnal se bifurc n dou semnale. n acest caz punctul de ramificare se numete nod i semnalul de intrare este acelai pentru cele dou blocuri de ieire, vezi figura 4.4 care se obine din exemplul considerat iniial.

Figura 4.4. Exemplu n care apare un nod de bifurcaie

60

Introducere n Simulink

Liniile nu pot s alimenteze cu semnal o alt linie. Acestea se pot combina cu ajutorul anumitor blocuri ce realizeaz operaii aritmetice (de exemplu bloc sumator sau multiplicare). Un semnal poate s fie de tip scalar, dar poate fi i de tip vectorial. n cazul unui sistem cu o singur intrare i cu o singur ieire (SISO) se utilizeaz n mod general semnalul de tip scalar. La un sistem cu intrri i ieiri multiple (MIMO) se va folosi un semnal de tip vectorial, compus din dou sau mai multe semnale scalare. Liniile utilizate pentru a transmite semnalele scalare sau vectoriale sunt identice. Tipul semnalului transmis de linie este determinat la blocul aflat la fiecare sfrit de linie.
Analiza exemplului anterior figura 4.3.

Acest model simplu este alctuit din trei blocuri: Step, Transfer Fcn, i Scope. Step este un bloc de tip surs prin care se genereaz un semnal de tip treapt. Acest semnal este transferat n direcia indicat de sgeat liniei la blocul liniar Transfer Function. Funcia de transfer modific semnalul de intrare i scoate la ieire noul semnal. Blocul Scope afieaz semnalul asemntor unui osciloscop. n Simulink exist i alte tipuri de blocuri, dar unele dintre acestea vor fi discutate mai trziu. Momentan vom examina doar aceste trei blocuri.
Modificare bloc

Un bloc se poate modifica fcnd dublu-click pe el. De exemplu, prin dublu-click pe blocul "Transfer Fcn" din modelul examinat, se va afia urmtoarea fereastr de dialog, figura 4.5.

Introducere n Simulink

61

Figura 4.5. Fereastra de dialog Aceast fereastr conine cmpuri pentru numrtorul i numitorul funciei de transfer. Tastnd coeficienii numrtorului i numitorului sub forma a doi vectori, practic se introduce funcia de transfer. De exemplu, pentru a modifica numitorul la expresia s^2+2s+4, se va tasta n cmpul destinat numitorului vectorul de elemente: [1 2 1] dup care se apas pe butonul close. Fereastra cu model modificat este prezentat n figura ce urmeaz, figura 4.6.

Figura 4.6. Modelul modificat pentru funcia de transfer Rezultatul se observ n noua valoare a numitorului funciei de transfer.

62

Introducere n Simulink

Dac se face dublu-click pe blocul "step", se afieaz urmtoarea fereastr de dialog, figura 4.7.

Figura 4.7. Fereastra de dialog Parametrul implicit din fereastra de dialog genereaz o funcie treapt unitar la momentul de timp t=1 sec. Fiecare dintre aceste cmpuri se pot modifica cu valorile dorite. Cel mai complicat bloc din cele trei enumerate este blocul "Scope". Dac facem dublu click pe simbolul grafic se va afia urmtoarea fereastr pentru osciloscop, figura 4.8.

Figura 4.8. Fereastra osciloscopului

Introducere n Simulink

63

Atunci cnd se execut simularea semnalul care intr n osciloscop este afiat pe ecran.

4.2.4 Exemplu de simulare


Pentru simualre, vom utiliza fiier cu modelul anterior simple2.mdl. Se va deschide fiierul n Simulink pe baza instruciunilor anterioare. Astfel c se va deschide urmtoarea fereastr ce conine diagrama bloc a modelului.

Figura 4.9. Diagrama bloc a modelului nainte de simularea sistemului propus, se va deschide fereastra osciloscopului prin dublu click pe blocul osciloscopului. Dup care pentru a porni simularea se va selecta Start din meniul Simulation (vezi figura 4.10 de mai jos) sau cu combinaia de taste Ctrl-T din fereastra modelului.

Figura 4.10. Pornirea simulrii Simularea se execut foarte rapid, iar fereastra osciloscopului cu rezultatul obinut va arat ca cea din figura 4.11.

64

Introducere n Simulink

Figura 4.11. Rezultatul simulrii Not: semnalul de ieire (desenat cu galben) este foarte mic relativ la axa osciloscopului. Pentru a se putea studia mai bine semnalul, se folosete butonul de autoscalare (binoclu), dup care semnalul va arata ca n figura 4.12.

Figura 4.12. Rezultat simulare cu autoscalare

Introducere n Simulink

65

Not: rspunsul la treapta de semnal ncepe la t = 1 . Acesta se poate modifica prin dublu-click pe blocul "step". Dac se schimb parametrii sistemului atunci se reface simularea din nou. S facem acum dublu-click pe blocul "Transfer Fcn" i s modific numitorul funciei de transfer [1 20 400] Rulm din nou simularea (apsai Ctrl-T) i s observm cum arat acum semnalul pe osciloscop. Se va activa butonul de autoscalare i ieirea trebuie s se obin identic cu cea din figura 4.13.

Figura 4.13. Rezultat simulare cu autoscalare Not: butonul de autoscalare modific doar axa vertical. Deoarece noua funcie de transfer are un rspuns foarte rapid, faza de regim tranzitoriu apare ca foarte ngust n comparaie cu timpul total de simulare. Timpul de simulare a sistemului este de zece secunde, dar n acest caz sistemul ajunge n stare stabil ntr-o perioad mai mic de o secund. Pentru a vizualiza mai bine faza de regim tranzitoriu se vor modifica parametrii de simulare. n fereastra modelului se vom select Parameters din meniul Simulation. Ca efect se va afia urmtoarea fereastr de dialog, figura 4.14.

66

Introducere n Simulink

Figura 4.14. Fereastra opiuni pentru parametri de simulare Exist o serie de opiuni pentru parametri de simulare; noi vom discuta doar despre timpul de start i timpul de stop, cu care practic fixm perioada de simulare. Modificm timpul de Start de la 0.0 la 0.8 (deoarece treapta ajunge valoarea 1 la momentul de timp t = 1 ). Vom modifica i timpul de Stop de la 10.0 la 2.0, pentru a afia un timp mai scurt. Acum se poate nchide fereastra de dialog i se revine la simulare. Dup ce s-a apsat butonul de autoscalare, osciloscopul arat noul rspuns ca cel din figura 4.15.

Introducere n Simulink

67

Figura 4.15. Rezultat simulare cu autoscalare

4.3 Modelarea sistemelor


n aceast seciune vom studia modul de implementare a modelelor cu ajutorul blocurilor din bibliotecile Simulink. S propune urmtorul sistem, figura 4.16.

Figura 4.16. Modelul unui sistem de control cu feedback

68

Introducere n Simulink

Prima dat se achiziioneaz din biblioteci toate blocurile necesare. Dup care se modific blocurile astfel nct s corespund cu cele date n model. Urmeaz conectarea blocurilor cu ajutorul liniilor, iar n final se simuleaz ntregul sistem.
Achiziionarea blocurilor

Urmrii urmtorii pai necesari n realizarea modelului considerat. Se va crea un model nou prin (New din meniul File sau Ctrl-N) deschiderea unei noi ferestre de aplicaie, figura 4.17.

Figura 4.17. Fereastra iniial a aplicaiei Dublu-click pe simbolul garafic Sources din fereastra principal Simulink Library Browser, figura 4.18.

Introducere n Simulink

69

Figura 4.18. Simulink library browser Se deschide biblioteca Sources ce conine blocurile generatoare de semnal. Click pentru a afla mai multe informaii despre blocuri.

70

Introducere n Simulink

Figura 4.19. Biblioteca de simboluri Sources Acum se aduce blocul Step din fereastra Sources n partea stng a ferestrei de modelare, figura 4.20.

Figura 4.20. Fereastra aplicaiei

Introducere n Simulink

71

Dublu-click pe simbolul grafic Linear din fereastra principal Simulink va deschide biblioteca blocurilor liniare.
Biblioteca blocurilor liniare

Se vor aduce blocurile Sum, Gain i de dou ori Transfer Fcn n fereastra de model i se vor aranja asemntor figurii de mai jos. Alinierea exact nu este important deoarece acesta se poate modifica ulterior. Doar ncercai s gsii poziia relativ corect. Observai c blocul Transfer Fcn adus a doua oar are un 1 dup nume. Acesta deoarece nu pot s existe dou blocuri cu aceai nume. Motiv pentru care, Simulink n mod automat ataeaz un numr dup nume pentru a realiza diferena ntre cele dou blocuri.

Figura 4.21. Fereastra aplicaiei Acum facem dublu-click pe simbolul grafic Sinks din fereastra principal Simulink pentru a deschide biblioteca Sinks.
Bibiloteca Sinks

Se ia blocul Scope i se pune n partea dreapt a ferestrei ce va conine modelul ce trebuie realizat, figura 4.22.

72

Introducere n Simulink

Figura 4.22. Fereastra aplicaiei


Modificarea blocurilor

Se vor realiza urmtorii pai pentru a face modificarea n model. Dublu-click pe blocul Sum. Deoarece se dorete ca intrarea a doua s fie sczut, se introduce +- n cmpul destinat semnelor. Se nchide fereastra de dialog. Dublu-click pe blocul Gain. Se modific factorul de amplificare la 2.5 i se nchide fereastra de dialog. Dublu-click pe blocul din stnga Transfer Fcn. Se modific numrtorul la [1 2] i numitorul la [1 0]. Se nchide fereastra de dialog. Dublu-click pe cealalalt bloc Transfer Fcn bloc. Numrtorul rmne [1], dar se schimb numitorul la [1 2 4]. Se nchide fereastra de dialog. Modelul va trebui s arate ca n fereastra 4.23.

Figura 4.23. Fereastra aplicaiei

Introducere n Simulink

73

Se va modifica numele primului bloc Transfer Fcn prin click pe unul dintre cuvinte "Transfer Fcn". Se va afia un chenar cu cursorul de editare, figura 4.24.. Folosim tastatura (mouse-ul este de asemenea util) pentru a terge denumirea existent i introducem noul nume, "PI Controller". Click oriunde n afar pentru a termina editarea.

Figura 4.24. Fereastra aplicaiei Analog, se modific numele blocului Transfer Fcn la "Plant". Acum toate blocurile sunt introduse corespunztor, iar modelul trebuie s arate ca n figura 4.25.

Figura 4.25. Fereastra aplicaiei


Conectarea blocurilor cu linie

Acum c toate blocurile sunt aliniate corect urmeaz conectarea lor. Se vor executa urmtorii pai.

74

Introducere n Simulink

Se aps pe mouse i se trage o linie de la ieirea blocului Step la intrarea pozitiv a blocului Sum. Lsai butonul mouse-lui numai dac ai ajuns la intrarea potrivit. Vezi urmtoarea figura 4.26.

Figura 4.26. Fereastra aplicaiei Linia rezulat este cu o sgeat nnegrit. Dac sgeata este fr haur, nseamn c linia nu s-a conectat la bloc, vezi urmtoarea figur 4.27.

Figura 4.27. Fereastra aplicaiei Se face click pe sgeat (considerat acum ca ieire) i se duce linia pna la intrarea blocului sumator. Sau altfel, dac dorii s redesenai linia pentru c s-a conectat greit, atunci aceasta se terge i se deseneaz din nou. Pentru a terge o linie (sau orice alt obiect), se face click pe ea (astfel se selecteaz) i se apas tasta Delete de pe tastatur.

Introducere n Simulink

75

Conectai acum blocul Sum cu intrarea blocului Gain. Urmeaz o linie ntre Gain i PI Controller, ntre PI Controller i Plant, respectiv ntre Plant i Scope. Trebuie s obinei urmtoarea schem, figura 4.28.

Figura 4.28. Fereastra aplicaiei Linia rmas netrasat este reacia sistemului care conecteaz ieirea din Plant la intrarea negativ a blocului Sum. Pentru conectarea liniei se ine apsat tasta Ctrl ct timp se trage de mouse din punctul de unde vrem s exit conexiunea. n acest caz, se pornete din partea dreapt a blocului Plant. Desenai pn cnd obinei colul din stnga jos a reaciei respective, vezi figura 4.29.

Figura 4.29. Fereastra aplicaiei

76

Introducere n Simulink

Acum, sgeata se trateaz ca o ieire a unui terminal. Desenm linia de aici pn la intrarea negativ a blocului Sum.

Figura 4.30. Fereastra aplicaiei Acum putem s alini blocurile pentru a obine o schem bloc cu un aspect plcut. Pentru a modifica poziia unui bloc se selecteaz i se trage cu mouse-ul. Liniile vor rmne conectate i se vor redesena automat. Analog, dac se trage de col sau de mjlocul unei linii acestea se vor deplasa. Pornii din partea stng i mutai fiecare linie pn cnd vor fi orizontale. Adaptai spaiul dintre blocuri pentru a lsa loc etichetelor. Modelul trebuie s arate ca n figura 4.31.

Figura 4.31. Fereastra aplicaiei n final, se pun etichetele pentru a identifica semnalele. Pentru a plasa o etichet oriunde pe model, se va efectua dublu click n punctul n care

Introducere n Simulink

77

dorii s existe aceast etichet. Se va ncepe cu dublu click deasupra liniei ce leag blocul Step de blocul Sum. Se afieaz un chenar gol n interiorul cruia este cursorul de editare, vezi figura 4.32 de mai jos.

Figura 4.32. Fereastra aplicaiei Se va tasta (r), etichetnd astfel semnalul de referin dup care se face click n exterior pentru a termina editarea. Etichetai n acela mod cu (e) eroarea, cu (u) semnalul de control i cu (y) ieirea. Modelul final arat ca n figura 4.33.

Figura 4.33. Fereastra aplicaiei Pentru a salva modelul, se va selecta Save As din meniul File i se va introduce numele modelului.

78

Introducere n Simulink

Simulare

Modelul fiind acum complet se poate simula. Selectai Start din meniul Simulation pentru a rula modelul. Se face dublu-click pe blocul Scope pentru a vizualiza semnalul. Apoi se apas butonul de autoscalare (binoclu) i se obine figur 4.34 de mai jos.

Figura 4.34. Rezultat simulare


Preluarea variabilelor din MATLAB

n unele cazuri parametrii se pot calcula n MATLAB. Astfel c nu este necesar s se introduc rezultatul direct n Simulink. S presupunem c factorul de amplificare se noteaz cu variabila K. Se va introduce n fereastra Command Window urmtoarea comand Matlab:
>>K=2.5

dup care apsai Enter. Aceast variabl se poate acum utiliza n Simulink. Dublu-click pe blocul Gain i ntroducei variabila K n cmpul destinat factorului de amplificare.

Introducere n Simulink

79

nchidei fereastra de dialog. Acum blocul Gain din Simulink arat variabila K i nu un numr.

Figura 4.35. Fereastra aplicaiei Rulai din nou sistemul i urmrii semnalul de ieire pe osciloscop. Rezultatul trebuie s fie identic cu cel obinut mai sus.

80

Introducere n Simulink

Figura 4.36. Rezultat simulare Dac se modific orice variabil utilizat n modelul Simulink, atunci simularea utilizeaz noua valoare doar n rularea urmtoare. Pentru a ncerca aceasta, modificai n MATLAB, valoarea lui K, prin ntroducerea n Command Window a urmtoarei comand: K=5 Simulai din nou sistemul, deschidei osciloscopul i apsai butonul de autoscalare. O s vedei noua ieire, dar acum cu un factor de amplificare mai mare, figura 4.37.

Introducere n Simulink

81

Figura 4.37. Rezultat simulare

82

Introducere n Simulink

Analiza regimului tranzitoriu


Lucrarea nr. 5
5.1 Obiectivele lucrrii
- se definesc polii i zero-urile pentru sistemele liniare - se determin parametrii rspunsului n domeniul timp - se determin rspunsul sistemelor; - se determin tipul rspunsului: oscilant, subamortizat, amortizat critic sau supraamortizat.

5.2 Consideraii teoretice


Analiza i proiectarea sistemelor de control trebuie s in seama de: rspunsul tranzitoriu, eroarea regimului stabilizat, stabilitatea.

Aceast lucrare de laborator se bazeaz pe prima consideraie menionat, analiza rspunsului tranzitoriu pentru un sistem dat. Pentru a proiecta un sistem de control, trebuie s se treaca prin mai multe etape. n primul rnd, modul de comportament al sistemelor (electrice

84

Analiza regimului tranzitoriu

i/sau mecanice) care se vor analiza trebuie s fie descrie printr-un set de ecuaii diferentiale care caracterizeaz funcionarea acestora (legile fizice ale domeniului legile lui Kirchoff i respectiv legile lui Newton). Astfel c, metode precum cea de rezolvare a ecuaiilor difereniale (Newton) sau cea a trasformatei Laplace se vor folosi pentru a determina rspunsul n timp a diferitelor tipuri de sisteme. Pasul urmtor n proiectarea unui sistem de control consta n analiza rspunsului n domeniul timp a sistemului n sine, lucru care reprezint esena acestei lucrari de laborator.

5.2.1 Zerourile i polii unui sistem


Polii i zerourile joac un rol esenial n analiza i proiectarea sistemelor de control. Polii funciei de transfer sunt dai de acele valori ale variabilei complexe s = + j a transformatei Laplace pentru care funcia de transfer devine infinit. Pe de alta parte, zerourile sunt valorile lui s care fac ca funcia de transfer s devin zero. O metod de vizualizare a locului polilor si zerourilor este reprezentarea grafic n planul complex s. n MATLAB polii si zerourile pot fi reprezentai grafic folosind functia pzmap care genereaza reprezentarea pol-zero pentru funcia de transfer pe care o desemnm prin variabila sys. Ca exemplu, s considerm funcia de transfer G ( s ) exprimat prin:
s 2 + 2s + 1 G(s) = 3 s + 2 s 2 + 3s 1 (5.1)

Folosind MATLAB pentru a evidentia numaratorul si numitorul vom avem:


>> num = [1 2 1]; >> den = [1 2 3 1]; >> roots(num) ans = -1 -1 >> roots(den)

Analiza regimului tranzitoriu

85

ans = -1.1378 + 1.5273i -1.1378 - 1.5273i 0.2757 >>

Dup cum se poate vedea din exemplul de mai sus, s-au gsit dou zerouri, ambele de coordonate (-1,0), precum i trei poli dintre care doi poli complex conjugai localizai n plan la (-1.1378, j1.5273) si (-1.1378, j1.5273), respectiv al treilea pol pe axa real la (0.2757,0). Pentru reprezentarea grafic a polilor i a zerourilor unui sistem dat, vom utiliza urmatoarele comenzi MATLAB:
>> sys = tf(num,den) Transfer function: s^2 + 2 s + 1 --------------------s^3 + 2 s^2 + 3 s 1 >> pzmap(sys)

Diagrama pol-zero este generat dup cum se poate vedea n figura 5.1.

86

Analiza regimului tranzitoriu

Pole-Zero Map 2

1.5

0.5 Imaginary Axis

zerou poli

-0.5

-1

-1.5

-2 -1.2

-1

-0.8

-0.6

-0.4 Real Axis

-0.2

0.2

0.4

Figura 5.1. Diagrama poli-zerouri

5.2.2 Parametrii rspunsul tranzitoriu


Unul dintre obiective proiectrii sistemelor de control este de a obine un rspuns tranzitoriu n concordan cu specificaiile impuse iniial. Analiza rspunsului tranzitoriu implic determinarea urmtorilor parametrii: - timpul de cretere - t r , - timpul de intrare n regim stabilizat - t ss , - timpul de atingere a supracreterii maxime - t p , - supracreterea maxim - PO , exprimat n %, precum i determinarea constantelor sistemului.

5.2.3 Analiza sistemelor de ordinul I


Un sistem de ordinul nti poate fi descris ca un sistem care are un singur pol, fiind exprimat printr-o funcie de transfer de forma:

Analiza regimului tranzitoriu

87

G(s) =

a s+a

(5.2)

Dac acestui sistem i aplicm la intrare o treapt unitar, atunci rspunsul sistemului va fi:
Y ( s) = R( s) G ( s) Y (s) = a s( s + a)

(5.3)

Aplicnd transformata Laplace invers acestei expresii va rezulta:


y (t ) = y f (t ) + y n (t ) = 1 e at

(5.4)

Parametrii care caracterizeaz performantele rspunsului (de exemplu constanta de timp a sistemului, timpul de cretere i timpul de stabilizare) pot fi evaluai din aceast expresie. Constanta de timp a rspunsului la semnalul treapt este timpul necesar pentru ca valoarea ieirii s scad la 37% din valoarea iniial. Alternativ, costanta de timp este timpul n care rspunsul treapt ar creste la 63% din valoarea sa final. Astfel c, aceast constant de timp este egal cu 1/a. Pentru a determina constanta de timp a unui anumit sistem de ordinul nti n MATLAB, trebuie facut reprezentarea grafic a rspunsului la treapt. Funcia step(sys) este o comanda din MATLAB care ploteaz rspunsul treapt a sistemului sys. De asemenea, functia impulse(sys) este o comand care ploteaz rspunsul sistemului la semnalul impuls aplicat sistemului sys. S considerm funcia de transfer G ( s ) = 5 . s+5

Pentru reprezentarea grafic a rspunsului la treapta unitate a lui G ( s) avem: >> num = 5; >> den = [1 5]; >> sys = tf(num,den)

88

Analiza regimului tranzitoriu

Transfer function: 5 ----s + 5 >> step(sys)

Dup cum se poate vedea n figura 5..2, rspunsul treapt a sistemului de ordinul I este dat de diferena dintre exp(at ) i semnalul unitate, adic este 1 exp(at ) .

Figura 5.2. Rspunsul treapta pentru sistemul de ordinul I Dac pe graficul obinut se pune cursorul sgeat i se face click, atunci se va obine pentru acel punct valoarea amplitudinii i timpul aferent acestei valori, figura 5.3.

Analiza regimului tranzitoriu

89

Figura 5.3. Evaluarea constantei de timp a sistemului cu ajutorul cursorului Un alt parametru care este evaluat n sistemul de ordinul I este timpul de cretere - t r . Timpul de cretere este definit ca fiind timpul necesar formei de und s creasca de la 0.1 pna la 0.9 din valoarea sa final. Timpul de cretere este dat de relaia:
tr =

2,2 a

(5.5)

Al treilea parametru care este de asemenea evaluat n analiza unui sistem de ordinul I este timpul de stabilizare - t s . Timpul de stabilizare este este definit ca fiind timpul necesar formei de und pentru a atinge 98% din valoarea semnalului aplicat la intrare. Timpul de stabilizare este dat de relaia:
ts =

4 . a

(5.6)

90

Analiza regimului tranzitoriu

5.2.4 Analiza sistemelor de ordinul II


Un sistem de ordinul II este definit de relatia:
G ( s) =

n 2 s + 2 n s + n
2

(5.7)

unde n este frecvena natural proprie n ipoteza c toate amortizrile sunt nlaturate. Valorile acestui parametru ne dau indicaii referitoare la viteza de rspuns a sistemului. Cel de-al doile parametru, pe de alta parte, este o mrime adimensional i reprezint raportul sau factorul de amortizare. Raportul de amortizare ne ofer o informaie despre natura rspunsului tranzitoriu a sistemului (dac acest rspuns va fi unul oscilant sau amortizat). De asemenea ne poate oferi o informaie asupra numrul de supracreteri i oscilaii pe care le poate avea rspunsul unui sistem de ordinul II. Prin urmare vom distinge urmatoarele cazuri posibile n funcie de valoarea parametrului . Cazul 1. = 0 , sistem oscilator Amplasarea celor doi poli este pe axa imaginar - j , a planului s, unde de aceast dat s = j n deoarece = 0 . Cazul 2. > 1 , sistem supraamortizat Amplasarea celor doi poli n planul complex s este dat de valoarea acesora
s = n n 2 1 . Cazul 3. = 1 , sistem critic amorsat Amplasarea polilor n acest caz este dat de relaia s = n (identici) Cazul 4. 0 < < 1 , sistem subamortizat Polii sistemului sunt exprimai de relaia:

Analiza regimului tranzitoriu

91

s = n j n 1 2 . Din punct de vedere practic rspunsul tranzitoriu al unui sistem de ordinul II prezint deseori oscilaii nainte ca s ajung la un regim stabilizat. Rspunsul subamortizat la o intrare treapt a sistemului de ordinul II, supus unor condiii iniiale, este dat de relaia: c(t ) = 1 unde 1

e nt sin( n t + )

(5.8)

= 1 2 i = tan 1

(5.9)

Criteriile de performan care sunt folosite pentru a caracteriza rspunsul tranzitoriu la o intrare treapt n acest caz, includ analiza timpul de crestere, a timpul de vrf, a supracreteri maxime, i a timpul de stabilizare. Timpul de cretere este timpul necesar rspunsului sistemului s creasca de la 10% la 90% din valoarea final, la fel ca la un sistem de ordinul I. Timpul de vrf este timpul necesar rspunsului la trepta s atinga primul i cel mai mare vrf de cretere:
tp =

n 1 2

(5.10)

Procentul de supracretere maxim este definit ca raportul dintre valoarea maxim minus valoarea final, avnd expresia:
% PO = e

1 2

x100%

(5.11)

Timpul de stabilizare - t ss , este timpul necesar ca rspunsul la trepta al sistemului de ordinul II s prezinte oscilaii mici (sub 5%) n jurul valorii finale. n mod uzual, dac se consider c variaiile oscilaiilor se ncadreaz n pragul de 2% din valoarea final, atunci timpul de atingere a regimului stabil se poate determina cu relaia:

92

Analiza regimului tranzitoriu

t ss =

(5.12)

Rspunsul sistemului de ordinul II la treapt

n aceast seciune vom analiza influiena pe care o are adugarea unui pol i/sau zerou asupra rspunsului unui sistem standard de ordinul II, atunci cnd la intrare aplicm un semnal treapt unitar. Funcia de transfer n bucl deschis i funcia de transfer n bucla nchis pentru un sistem standard de ordinul II sunt date de relaiile (5.13). Rspunsul sistemului n bucl nchis la semnalul treapt unitar, pentru un factor de atenuare = 0.5 i o frecven natural n = 4rad / sec este prezentat n figura 5.4. Polii sistemului n bucl nchis sunt s = - 2 j3.46 . G ( s) =
2 2 n Y ( s) n ; = 2 2 R( s ) s + 2 n s + n s ( s + 2 n )

(5.13)

Figura 5.4. Rspunsul sistemului de ordinul II

Analiza regimului tranzitoriu

93

Rspunsul sistemului de ordinul II modificat cu un zerou

Sistemul standard de ordinul II nu conine zerouri n funcia de transfer. Dac un astfel de sistem este modificat prin introducerea unui zerou, atunci supracreterea i timpul de stabilizare se vor modifica n mod semnificativ, dup cum vom arta mai jos. S presupunem c sistemul standard de ordinul II n bucl deschis este modificat prin inserarea unui zerou. Factorul de amplificare al funciei de transfer se va modifica cu termenul 1/z, astfel c constanta vitezei de eroare nu i schimb valoarea iniial atunci cnd zeroului introdus i modific valoarea. Valorile pentru factorul de atenuare - i frecvena natural - n , ramn neschimbate. G ( s) =
2 2 (s + z) Y ( s) (s + z) n n ; = 2 2 2 s ( s + 2 n ) R( s ) s + (2 n + n / z ) s + n

(5.14)

Vom considera 6 valori distincte pentru zeroul introdus n forma standard a sistemului de ordinul II. Fiecare din locaiile alese se va considera n partea stnga a planului complex s. Valorile alese pentru zeroul introdus sunt: s = -0.2, -0.5, -1, -2, -5, -10. Polii sistemului n bucl deschis sunt fixai la valorile s = 0 si s = -4. Rspunsurile corespunzatoare sistemului, pentru fiecare valoare distinct a zeroului, la semnalul treapt unitar sunt prezentate n figura 5.5. Acestea pot fi comparate cu rspunsul sistemului standard de ordinul II, figura 5.4.

94

Analiza regimului tranzitoriu

Figura 5.5. Rspunsul sistemului de ordinul II modificat cu un zerou Valorile polilor sistemului n bucl nchis sunt prezentate n tabelul urmtor.
z = 0.2
-83.8091 -0.1909

z = 0.5
-35.5499 -0.4501

z=1
-19.1652 -0.8348

z=2
-10.4721 -1.5279

z=5
3.6000+j1.7436 -3.6000-1.7436

z = 10
-2.8000+j2.8566 -2.8000-j2.8566

Comparai valoarea real a polilor din vecinatatea axei imaginare j cu timpul corespunztor de intrare n regim stabilizat al rspunsului la semnalul treapt. De asemenea menionm c pentru primele 4 valori ale zeroului z (0.2, 0.5, 1, 2) cei doi poli corespunztori sistemului n bucl nchis sunt reali, astfel c nu exist supracretere la rspunsul treapt a sistemului. Aceste situaii sunt similare cu cazul de rspuns supraatenuat pentru sistemul standard de ordinul II. Pentru ultimele dou valori ale zeroului z (5, 10), polii sistemului sunt compleci conjugai i prin urmare exist o supracrestere a rspunsului la semnalul treapt. Pentru z = 5 valoarea efectiv a factorului de atenuare este = 0.9 , cruia i corespunde o supracrestere de 0.15%. Pentru z = 10 valoarea efectiv a factorului de

Analiza regimului tranzitoriu

95

atenuare este = 0.7 , cruia i corespunde o supracrestere de 4.6%. Dei valorile supracreterilor sunt crescatoare n fiecare din cazurile anterioare, totui legtura dintre parametrii ce caracterizeaz rspunsul n timp la semnalul treapt i parametrii sistemului - (factorul de atenuare), respectiv n (frecvena natural), rmne i n aceasta situaie (sistem de ordinul II cu zerou suplimentar) nc valabil. Timpul de cretere se mreste dac valoarea zeroului suplimentar se deplaseaz spre stnga n planul complex s. Atunci zeroul suplimentar este n vecintatea axei imaginare j i de asemenea, sistemul n bucl nchis prezint un pol tot n vecintatea axei imaginare j . Prin urmare, timpul de atingere a regimului stabilizat este mai mare dect n cazul unui sistem standard de ordinul II.
Rspunsul sistemului de ordinul II modificat cu un pol

Sistemul standard de ordinul II prezint doi poli pentru funcia de transfer. Dac sistemul se modific prin includerea unui al treilea pol, atunci timpul de atingere a regimului stabiliza i supracreterea vor fi dependente de locatia noului pol, depinznd de poziia n planul complex s (semiplanul stng sau drept). S presupunem c sistemul de ordinul II n bucl deschis este modificat prin adaugarea unui pol, dup cum se prezint mai jos n prima relaie. Atunci noua funcie de transfer a sistemului (modificat) n bucl nchis este dat de relaia a doua. G (s) =
2 p n ; s( s + 2 n )( s + p)

2 Y (s) (s + z) n = 3 2 R( s ) s + (2 n + p) s 2 + 2 n ps + n p

(5.15)

Vom considera 5 valori pe care la poate lua polul introdus suplimentar. Fiecare dintre aceste valori se gsete n semiplanul stng al planului complex. Aceste valori sunt: s = -1, -2, -5, -10, -20. Pentru sistemul standard n bucl deschis vom considera c polii au valorile fixate la s = 0 si s = 4 . Rspunsurile sistemului n bucl nchis pentru diferitele valori ale

96

Analiza regimului tranzitoriu

polului suplimentar p sunt prezentate n figura 5.6. Acestea pot fi comparate cu rspunsul aferent unui sistem de ordinul II standard. Locaiile polilor pentru sistemul n bucl nchis sunt aratate n tabelul de mai jos. S remarcm c acum avem 3 poli pentru sistemul n bucl nchis. Comparm valoarea prtii reala a polului aflat cel mai aproape de axa imaginar j cu timpul de stabilizare corespunzator rspunsului la semnalul treapt. De asemenea, comparm raportul dintre partea imaginar i partea real aferent polului (sistemului n bucl nchis) care este cel mai apropiat de axa imaginar j . Acest raport este direct dependent de factorul de atenuare
1 imag (clp ) efectiv eff = cos real (clp ) tan . S remarcm c timpul de atingere a regimului stabilizat ct i supracresterea, vor descrete dac polul suplimentar se deplaseaz ctre stnga n planul complex s. Totui, chiar i cu o valoare mare s = 20 parametrii de rspuns supracreterea i timpul de intrare n regim stabilizat, vor avea valori mai mari decit n cazul rspunsului unui sistem standard de ordinul II.

Figura 5.6. Rspunsul sistemului de ordinul II modificat cu un pol

Analiza regimului tranzitoriu p=1 -4.8549 -0.0725+j1.8139 -0.0725- j1.8139 p=2 -5.5926 -0.2037+ j2.3833 -0.2037j2.3833 p=5 -7.7513 -0.6244+j3.1514 -0.6244-j3.1514 p = 10 -11.7551 -1.1224+j3.5144 -1.1224-j3.5144

97 p = 20 -20.9054 -1.5473+j3.5935 -1.5473 - j3.5935

Rspunsul sistemului de ordinul superior

n practic, analiza comportamenrul unui sistem de ordin superior sau a unui sistem cu zerouri pe baza unor aproximari fcute asupra unui sistem de ordinul II este foarte util. Dei calculele fcute n cazul unui sistem standard de ordinul II nu vor conduce n mod exact la rezultate corespunzatoare acestor sisteme, totui aceste rezultate pot furniza o acceptabil aproximare n cele mai multe cazuri.

5.3 Verificare
Determinai parametrii de rspuns n domeniul timp pentru sistemele urmtoare: 1. H (s) =
10 4s 2 + 8s + 10 ; 2. H ( s ) = ; 2 s+3 (s + 2)(s 2s + 5)

3. H ( s ) =

2s + 5 ; s 6s + 1
2

3 2 1 d x + u s 2 + 5s + 25 x= 4. H (s) = ; 5. dt 0 1 0 ; (s + 2 j)(s 2 j)(s + 2)(s + 1) y = [1 0] x

6. H ( s ) =

s 2 + 2s + 1 . s 2 + 2s + 2

7. Determinai parametrii de rspuns n timp pentru ecuaiile difereniale date folosind descompunerea n fracii partiale.

98

Analiza regimului tranzitoriu

25

d2 d d y (t ) 10 y (t ) + 5 y (t ) = 15 u (t ) + 2u (t ) 2 dt dt dt

8. Determinai parametrii de rspuns n timp pentru ecuaiile diferentiale date folosind orice metod. 5 d2 d d y (t ) + 5 y (t ) + y (t ) = 2 u (t ) + 3u (t ) 1 2 dt dt dt

9. Determinai rspunsul la semnalul treapt pentru circuitele din figura urmtoare.

Pentru circuitul RLC se vor considera urmtoarele seturi de valori: - R = 1K, L = 1mH, C = 1uF - R = 200, L = 1mH, C = 1uF - R = 40, L = 1mH, C = 1uF (Supra-atenuat) (Critic atenuat) (Sub-atenuat)

10. Determinai parametrii de rspuns la semnalul treapt pentru filtrul trece jos din figura urmtoare:

Analiza regimului tranzitoriu

99

11. Ce se va ntampla cu circuitul din figura urmtoare dup ce intrerupatorul va fi nchis. Explicai.

100

Analiza regimului tranzitoriu

Analiza regimului stabil


Lucrarea nr. 6
6.1 Obiectivele lucrrii
- determin erorilor regimului stabil - alegerea parametrilor unui sistem pentru o eroare dat - introduce conceptului de sensibilitate a sistemului - prezint erorilor regimului staionar n cazul sistemele modelate prin ecuaii de stare

6.2 Consideraii teoretice


Analiza i proiectarea unui sistem de control se axeaza pe 3 tipuri de specificaii: - rspunsul regimului tranzitoriu; - erorile regimului stabil (permanent); - stabilitatea sistemului. Elementele de rspuns n regim tranzitoriu au fost introduse n lucrarea precedent. Aceast lucrare se concentreaz asupra celei de-a doua

102

Analiza regimului stabil

specificaii, adic analiza regimului (stabil) permanent pentru sistemele continuue n timp.

6.2.1 Erori ale regimului staionar la semnale de test


Erorile n regim stationar, arat diferena dintre intrarea i ieirea unui sistem, cnd timpul tinde la infinit. Intrrile de test folosite pentru determinarea erorilor din regimul permanent sunt descrise n tabelul urmator. Tabelul 6.1. Semnal de intrare treapt ramp parabol
Interpretarea fizica Funcia de timp Transformata Laplace

Constanta de poziie Constanta de vitez Constanta acceleraie de

1(t ) t t2

1 s 1 s2 1 s3

6.2.2 Erorile statice ale sistemelor cu reacie negativ unitar


n figura 6.1 se prezint un sistem cu reacie negativ n care funcia de transfer pe calea direct este G ( s) , iar funcia de transfer pe calea invers este H ( s ) = 1 .

Analiza regimului stabil

103

R(s) + -

E(s) G ( s)

C(s)

Figura 6.1. Sistem cu reacie unitar negativ Examinnd diagramadin figur, se observ c eroarea - E ( s ) , este dat de diferena dintre intrare de referin R( s ) i ieire C ( s ) , i este de forma: E ( s) = R( s) C ( s) (6.1)

Ieirea - C ( s ) , este egal cu produsul dintre intrare - R( s ) , i funcia de transfer, G ( s ) , fiind de forma: C ( s) = E ( s) G ( s) (6.2)

Putem substitui relaia (6.2) n (6.1) rezultnd soluia pentru eroarea E ( s ) dup cum urmeaz: E ( s) = R( s) 1 + G(s) (6.3)

Aplicnd teorema valorii finale, putem determina eroarea de regim stationar - e() , n forma: e() = lim s R( s) s 0 1 + G ( s ) (6.4)

dac se cunoate intrarea R( s ) i funcia de transfer G ( s) a sistemului Dac aplicm diferite intrri de test pentru R( s ) , putem trage concluzii privitoare la relaiile care exist ntre sistemul n bucl deschis - G ( s ) i natura erorilor din regimul staionar - e() .

104

Analiza regimului stabil

Pentru o intrare de test de tip treapt, erorile din regimul staionar se pot determina cu relaia: e() = lim 1 . s 0 1 + G ( s ) (6.5)

Pentru o intrare de tip ramp, erorile din regimul staionar se pot determina cu relaia: e() = lim
s 0

1 . s G(s)

(6.6)

Iar, pentru o intrare de test parabolic, erorile la regim permanent se pot determina cu relaia:
1 . s G ( s)
2

e() = lim
s 0

(6.7)

6.2.3 Constante de eroare static


Erorile statice ale regimului stabilizat sunt erori care ofer informaii asupra performanei rspunsului unui sistem. Pentru o intrare de tip treapt, constanta de eroare static din regimul stabil este dat de K P = lim G ( s ) .
s 0

(6.8)

Acest lucru provine din relaia (6.5). Ecuaia (6.8) se mai numete eroare static de poziie. Pentru o intrare de tip ramp sau parabol, constantele statice de erore din regimul stabil se pot exprima pe baza relaiilor (6.6) i respectiv (6.7) i sunt date de: K v = lim s G ( s )
s 0

(6.9)

Analiza regimului stabil

105

K a = lim s 2 G ( s )
s 0

(6.10)

Aceste constante de eroare static din regimului stabil pentru intrarea ramp i respectiv parabol se mai numesc eroare static de vitez i respectiv eroare static de acceleraie. Se consider sistemul cu reacie negativ din figura 6.2. R(s) + E(s) C(s)

500( s + 2)( s + 5) ( s + 8)( s + 10)( s + 12)

Figura 6.2. Sistem cu reacie negativ Utiliznd MATLAB se poate, pentru exemplul din figura anterioar, s se scrie:
>> numg = 500*poly([-2 5]); >> deng = poly([-8 10 12]); >> sysg = tf(numg,deng) Functia de transfer: 500 s^2 + 3500 s + 5000 -------------------------s^3 + 30 s^2 + 296 s + 960 >> sysg = minreal(sysg) Functia de transfer: 500 s^2 + 3500 s + 5000 -------------------------s^3 + 30 s^2 + 296 s + 960 >>

106

Analiza regimului stabil

Pentru a determina constanta de eroare static, trebuie sa folosim funcia dcgain(sys). Ca exemplu, considerm un sistem cu reacie unitar care are intrarea de tip treapt, ca n figura 6.2, iar funcia de transfer direct este G ( s) . Pentru a determina eroarea static de poziie vom scrie:
>> Kp = dcgain(sysg) Kp = 5.2083 >>

Apoi, folosind relaia (6.5) i calculnd erorile din regimul stabil pentru o intrare de tip treapt, vom scrie:
>> err = 1/(1+Kp) err >> 0.1611

Se observ c erorile statice ale regimului stabil pentru un sistem pot fi calculate folosind funcia dcgain(sys) din Matlab. Acest lucru e valabil att timp ct sistemul G ( s ) este stabil, adic nu exist poli n semiplanul dreapt al planului complex s. Dac dorim s determinm erorile stationare ale regimului stabil pentru un sistem cu intrare de tip ramp, putem utiliza relaia (6.9) nmulind G ( s ) cu s. In MATLAB avem:
>> numsg = >> densg = >> syssg = Functia de conv([1 0],numg); poly([-8 10 12]); tf(numsg,densg) transfer:

500 s^3 + 3500 s^2 + 5000 s ---------------------------s^3 + 30 s^2 + 296 s + 960 >> syssg = minreal(syssg)

Analiza regimului stabil

107

Functia de transfer: 500 s^3 + 3500 s^2 + 5000 s ---------------------------s^3 + 30 s^2 + 296 s + 960 >>

Pentru a determina eroarea static de vitez vom scrie:


>> Kv = dcgain(syssg) Kv = >> 0

Din relaia (6.6), pentru a determina eroarea static a regimului stabil, vom utiliza urmtoarea comand MATLAB:
>> err=1/Kv Warning: Divide by zero. err = Inf >>

Aceasta arat c eroarea static a regimului stabilizat, pentru un sistem cu o intrarea de tip ramp tinde la infinit.

6.2.4 Tipuri de sisteme


Valorile erorilor statice ale regimurilor stabile sunt dependente de funcia de transfer de pe calea directa - G ( s ) , n care conteaz numarul de integrri pure pe care funcia de transfer le conine. De altfel, pe baza acestor integratori vom defini noiunea de tip de sisteme, care depinde n mod direct de numrul de integrri pure din sistem. Astfel c, orice funcie de transfer dat pentru un sistem liniar se poate exprima sub forma:

108

Analiza regimului stabil

G ( s) =

( s + z1 )( s + z 2 ) K s ( s + p1 )( s + p 2 ) K
n

(6.11)

n care n reprezint numrul de integrri pure. Dac n = 0 , adic nu exist integratori n funcia de transfer, atunci sistemul este de Tipul 0. Dac n = 1 , (exist un singur integrator pur), atunci sistemul este de Tipul 1. Asemantor, dac n = 2 , sistemul este de Tipul 2, i aa mai departe. Relaiile dintre: tipul semnalului aplicat la intrare, tipul sistemului (adic caracteristica funciei de transfer de pe calea direct), constanta de eroarea static i eroarea static a regimului stabil, sunt aratate in Tabelul 6.2. Tabel 6.2
Semnal de intrare Formul a de calcul a erorii Sistem de tip 0 Constant Eroare a de eroare static Sistem de tip 1 Constant Eroar a de e eroare static Sistem de tip 2 Constant Eroar a de e eroare static

Treapt,

u (t )
Ramp,

e ss 1 1+ K p 1 Kv 1 Ka

Kp = k

1 1+ K p

Kp =

Kp =

tu (t )
Parabol ,

Kv = 0 Ka = 0

Kv = k Ka = 0

1 Kv

Kv = Ka = k

t 2 u (t )

1 Ka

6.2.5 Erori ale regimului stabil datorate perturbaiilor


Un sistem n bucl nchis supus unei perturbaii - D( s ) , aplicate ntre regulatorul - C ( s) i elementul controlat - G ( s ) , este artat n figura 6.3.

Analiza regimului stabil

109

R(s)
+

E(s) C ( s)
+ +

D(s) G( s)

Y(s)

B(s) Figura 6.3. Sistem de control cu perturbaie Expresia erorii din regimul stabil este dat de relaia:
E ( s) = G2 ( s ) 1 R( s) D( s) 1 + G1 ( s )G2 ( s ) 1 + G1 ( s )G2 ( s )

(6.12)

1 este o funcie de 1 + G1 ( s )G2 ( s ) transfer asociat cu eroarea E ( s) n raport cu intrarea R( s) , iar termenul G2 ( s) este o funcie de transfer asociat cu eroarea E ( s ) n 1 + G1 ( s )G2 ( s ) raport cu intrarea de perturbaie D( s ) . Aplicnd teorema valorii finale vom putea determina valoarea erorii staionare a regimului stabil. n aceasta relaie (6.12), termenul Astfel c avem: E R () = lim s R( s) s 0 1 + G ( s )G ( s ) 1 2
s R( s) G2 ( s) s 0 1 + G ( s )G ( s ) 1 2

(6.13)

E D () = lim

(6.14)

Relaia (6.13) este expresia erori staionare a regimului stabil datorat intrrii R( s ) , iar relaia (6.14) este expresia eroarea staionare a regimului stabil datorat perturbaiei - D( s ) . Pentru o perturbaie de tip treapt, eroare stationar a regimului stabil este dat de relaia:

110

Analiza regimului stabil

E D ( ) =

1 1 + lim G1 ( s ) lim G2 ( s ) s 0
s 0

(6.15)

6.2.6 Erorile staionare ale sistemelor cu reacie negativ neunitar


Un sistem n bucl nchis cu reacie negativ neunitar este artat n figura 6.4. Funcia de transfer de pe calea directa este G ( s ) (elementului controlat al sistemului), iar funcia de transfer de pe reacie (calea invers) este H ( s ) . O metod de a rezolva eroarea stationar const n a converti sistemul dat ntr-un sistem cu reacie unitar, aa cum se prezint n figura 6.5. R(s) + B(s) E(s) G ( s)

C(s)

H ( s)

Figura 6.4. Sistem n bucl nchis cu reacie neunitar

Analiza regimului stabil

111

R(s) + B(s) -

E(s) G ( s) 1 + G ( s) H ( s) G ( s)

C(s)

Figura 6.5. Sistem n bucl nchis cu reacie unitar (echivalent)

Folosind metoda reducerii diagramelor bloc, funcia de transfer rezultat este n cazul sistemului din figura 6.5 dat de expresia: T (s) = G(s) 1 + G ( s) H ( s) G ( s) (6.16)

Mai departe se aplic consideraiile teoretice ale paragrafului anterior.

6.2.7 Sensibilitatea sistemelor


Sensibilitatea este definit ca i gradul n care modificrile parametrilor sistemului afecteaz funcia de transfer i performanele sistemului. Pentru un sistem cu sensibilitate 0, nseamn c modificarea parametrilor nu are nici un efect asupra funciei de transfer, care este i cazul ideal. Cu ct sensibilitatea este mai mare, cu att mai mare este efectul asupra funciei de transfer. Matematic, sensibilitatea este dat de produsul dintre raportul F variaiilor funciei de transfer i funcia de transfer ( ) i raportul F P variaiilor (derivata) parametrilor i parametrii P ( ), aa cum este artat P n relaia (6.17).
F SP =

P F F P

(6.17)

112

Analiza regimului stabil

6.2.8 Eroari stationare pentru sistemele modelate prin ecuaii de stare


Pentru sistemele descrise prin ecuaii de stare n bucl nchis, eroarea regimului stationar este dat de relaia: lim sE ( s ) = lim sR( s ) 1 C (sI A) B
1
s 0 s 0

(6.18)

unde, A este matricea de tranziie a sistemului, B este matricea de intrare, C este matricea de ieire i I este matricea unitar de aceeai dimensiune cu matricea A.

6.3 Verificare
1. Pentru sistemul din figura 6.1 determinai erorile de regim stationar pentru sistemului G ( s ) de mai jos, atunci cnd la intrare se aplic o treapt, o ramp i respectiv o parabol. G(s) = 15( s + 2)( s + 3) ( s + 3)( s + 4)( s + 5)( s + 6)

2. Pentru sistemul din figura 6.1 determinai erorile de regim stationar ale sistemului G ( s ) de mai jos, pentru o intrare de tip treapt, ramp i parabol. G ( s) = 25( s + 1)( s + 2) s ( s + 3)( s + 4)

3. Pentru sistemul din figura 6.1 determinai erorile de regim stationar ale sistemului G ( s ) de mai jos pentru o intrare de tip treapt, ramp i respectiv parabol.

Analiza regimului stabil

113

G ( s) =

10( s + 5)( s + 6) s 2 ( s + 2)( s + 3)

4. Pentru sistemul din figura 6.3 determinai eroarea de regim stationar pentru perturbaii de tip treapt, ramp i parabol in cazul C ( s) = 25 s . i G ( s ) = s+2 ( s + 1)( s + 2)

4. Pentru sistemul din figura 6.4 valoarea erorii din regimul stationar 1 10 . Se cere s se determine valoarea lui K dac C ( s ) = este , 100 s+3 100 k . G(s) = i H ( s ) = s ( s + 1)( s + 2) s+5

114

Analiza regimului stabil

Analiza sistemelor prin metoda locul rdcinilor


Lucrarea nr. 7
7.1 Obiectivele lucrrii
se prezint modul de obinere a locului rdcinilor se analizeaz comportarea sistemelor pe baza locului rdcinilor este introdus conceptul de compensator se prezint proiectarea sistemelor de control

7.2 Consideraii teoretice


Analiza i proiectarea unui sistem de control va lua n considerare urmatoarele specificaii:
rspunsul regimului tranzitoriu, erorile din starea stabil; stabilitatea sistemului.

Elementele legate de rspunsul tranzitoriu i de erorile strii stabile au fost deja introduse n cadrul lucrrilor anterioare. Stabilitatea este a 3-a specificaie care se va discuta n cadrul prezentei lucrri folosind metoda de analiz i proiectare cunoscut de metoda Locul rdcinilor.

116

Metoda locul rdcinilor

7.2.1 Locul rdcinilor


Locul rdcinilor este o metod grafic care se bazeaz pe reprezentarea polilor sistemului n bucl nchis, atunci cnd un parametru al sistemului (factor de compensare) este modificat. Aceasta metod este intens folosit n analiza i proiectarea stabilitii, precum i a rspunsului tranzitoriu pentru sistemele de control. Se consider sistemul n bucl nchis descris de urmtoarea funcie de transfer: T (s) = Y ( s) p( s) = R( s) q( s) (7.1)

unde p(s) si q(s) sunt polinoame n s. Rdcinile ecuaiei caracteristice q( s ) = 0 determin modurile de rspuns ale sistemului. Pentru sistemul n bucl nchis prezentat n figura 7.1, ecuaia caracteristic este dat de relaia:

1 + K G (s) = 0

(7.2)

unde K este un parametru ajustabil. Rdcinile ecuaiei caracteristice trebuie s satisfac relaia (7.2), acestea situndu-se n planul complex s. R(s) + B(s) Figura 7.1. Sistem de control n bucl nchis cu un parametru K variabil Un exemplu de reprezentare a locului rdcinilor este artat n figura 7.3. Acest rezultat s-a obinut pentru sistemul din figura 7.2, a crui funcie de transfer echivalent s-a notat prin T(s). E(s) Y(s)

G(s)

Metoda locul rdcinilor

117

R(s) + B(s) -

E(s)

K ( s + 1) s ( s + 2) 1 s+3

Y(s)

Figura 7.2. Sistem de control n bucl nchis

T (s) =

Y (s) K ( s + 1)( s + 3) = R( s ) s ( s + 2)( s + 3) + K ( s + 1)

(7.3)

Figura 7.3. Locul rdcinilor pentru sistemul n bucl nchis - T ( s )

118

Metoda locul rdcinilor

7.2.2 Locul rdcinilor n Matlab


Pentru a obine reprezentarea grafic din figura 7.3 s-a utilizat mediul Matlab. Graficul are la baza funcia de transfer T ( s ) a sistemului din figura 7.2, a crei expresie este dat de relaia (7.3). Primul pas n obinerea locului rdcinilor este de a ne asigura c exist valori pentru care ecuaia (7.2) este satisfcut. Pentru exemplul considerat, ecuaia caracteristic poate fi scris astfel: 1+ K s +1 = 0. s ( s + 2)( s + 3) (7.4)

Aceast forma este necesar pentru a putea apela functia rlocus din Matlab. Pentru obinerea locului rdcinilor pentru funcia de transfer din relaia (7.4) se vor scrie urmatoarele linii de comand:
>> p = [1 1]; >> q = [1 5 6 0]; >> rlocus(p,q) >> Aceste linii pot fi salvate ntr-un fisier m-script i vor produce graficul prezentat n figura 7.3. O alternativ a funciei rlocus din Matlab pentru obinerea locului rdcinilor este utilizarea liniei de comand [r,K]=rlocus(p,q),

care va returna sub forma unei matrice r, valorile rdcinilor din planul complex s pentru factorul de amplificare K. Se poate vedea c n figura 7.3 pentru valori cresctoare ale parametrului K exist dou ramuri ale locului rdcinilor care se departeaz de axa real. Aceasta nseamn c pentru valori mari ale parametrului K n ecuaia caracteristic vom avea dou rdcini complex conjugate. Pentru a gsi valoarea parametrului K care s corespund pentru o pereche de rdcini complexe se va folosi funcia rlocfind din Matlab, apelat sub forma
>> rlocfind(sys).

Metoda locul rdcinilor

119

Aceasta funcie se poate apela numai dup ce am obinut figura cu reprezentarea grafic a locului rdcinilor cu funcia rlocus. Execuia funciei rlocfind va conduce la apatiia unui cursor n form de cruce n figura grafic. Acest cursor poate fi deplasat de-a lungul locului rdcinilor, iar prin click pe un anume punct al figurii funcia rlocfind va furniza valoarea corespunzatoare pentru parametrul K, aa cum se prezint n figura 7.4.

Figura 7. 4. Cursorul cruce apare dup apelul funciei rlocfind

120

Metoda locul rdcinilor

>> rlocfind(p,q) Select a point in the graphics window selected_point = -2.0636 + 3.4306i ans = 13.6002 >>

Dup marcarea facut pe grafic vor apare polii selectai aa cum indic figura 7.5.

Figura 7.5. Polii marcai dup alegere

Metoda locul rdcinilor

121

7.2.3 Rspunsul sistemelor


Din examinarea figurii 7.5 se poate vedea c exist 3 polii pentru funcia de transfer a sistemului n bucl nchis:
2,0636 + j 3,4306 polii: s = 2,0636 j 3,4306 0.8454

Acetia corespund unui factor de amplificare (parametru) 13.6002.

K =

Obinerea rspunsului la semnalul treapt pentru sistemul considerat presupune folosirea funciei de transfer T ( s ) din relatia (7.4), astfel c ieirea este: 13,6002( s + 1)( s + 3) 1 . ( s + 2)( s + 3) + 13,6002( s + 1) s

Y (s) =

(7.5)

Prin descompunerea n fracii simple a lui Y ( s ) i apelarea funciei residue din Matlab vom obine ca rezultat expresia lui y (t ) .
>> >> >> >> K = 13.6002; num = K*poly([-1 -3]); den = [1 5 6+K K 0]; % with R(s) included [r,p,k]=residue(num,den)

r = -1.2983 - 1.1461i -1.2983 + 1.1461i -0.4033 3.0000 p = -2.0773 + 3.4311i -2.0773 - 3.4311i

122

Metoda locul rdcinilor

-0.8454 0 k = [] >>

Descompunerea n fracii simple este dat n relaia (7.6): Y (s) =

1.2983 j1.1461 1.2983 + j1.1461 + s + 2.0773 j 3.4311 s + 2.0773 + j 3.4311 0.4033 3 + + s + 0.8454 s

(7.6)

Aa cum se poate vedea din relaia anterioar (7.6), efectul datorat polului s = - 0.8454 este foarte mic n comparaie cu ceilali doi poli. Astfel c, dac l neglijm putem face urmtoarea aproximare: Y (s) =

1.2983 j1.1461 1.2983 + j1.1461 3 + + s + 2.0773 j 3.4311 s + 2.0773 + j 3.4311 s

(7.7)

Pe baza relaiei (7.7) se poate determina factorul de amortizare - , frecvena natural - n i timpul de stabilizare - t ss .
>> poly([-2.0773-3.4311i 2.0773+3.4311i]) ans = 1.0000 4.1546 16.0876 >>

Pentru sistemul de ordinul doi scris sub forma standard consacrat T (s) =

n2 , s 2 + 2 s n + n

(7.8)

Metoda locul rdcinilor

123

se poate calcula att factorul de amortizare - , ct i frecventa natural n . Astfel c se obine:

n = 16,0876 n = 4,0109 = 0,5179

2 n = 4,1546

Pentru un factor de amortizare cuprins intre 0 < < 1 , se consider c avem un sistem cu rspuns subatenuat, cu un timp de stabilizare 4 t ss = = 1,93 secunde. Rezultatul obinut este prezentat n figura 7.6. n

Figura 7.6. Rspunsul sistemului la treapta de semnal (timp de stabilizare t s = 1,93 s)

124

Metoda locul rdcinilor

7.2.4 MATLAB SISO Design Tool


Componenta SISO Design Tool a bibliotecii Control System din Matlab este o funcie performant ce utilizeaz metoda lucul rdcinilor n analiza i proiectarea sistemelor de control. Aceast component permite vizualizarea ntr-o fereastr grafic a locului rdcinilor, precum i a polilor pentru un sistem dat. Acetia pot fi ajustai prin folosirea pointerului de la mouse aa cum este prezentat n figura 7.7.

Figura 7.7. Fereastra grafic a componentei SISO Design Tool.

7.2.5 Sensibilitatea fa de locul rdcinilor


Rdcinile ecuaiei caracteristice ale unui sistem dat determin rspunsul tranzitoriu pentru sistemul n bucl nchis. Efectul datorat variaiei parametrului reprezint o metod util de msurare a sensibilitii n raport cu rdcinile. Astfel c vom defini sensibilitatea prin relaia:

Metoda locul rdcinilor


s SK =

125

P F K s s SK = F P s K

(7.9)

n care s este locaia curent a polului, iar K este valoarea curent a ctigului. Folosind relaia (7.9) i convertind derivatele partiale la incremente finite, variaile actuale ale polilor n bucl nchis se pot aproxima prin:
s = SK

s K s K

(7.10)

unde

K este modificarea fracionar datorat ctigului - K. Sensibilitatea este K un numr complex care se poate exprima sub forma
s SK = + j r ,

s reprezint modificarea fracionar datorat locaiei polului - s, iar s

(7.11)

s unde mrimea i orientarea lui S K furnizeaz o msur a sensibilitii n raport cu rdcina.

7.3. Verificare
1. Folosind funcia rlocus s se obin locul rdcinilor pentru urmatoarele funcii de transfer corespunztoare unor sisteme de control cu structur identic cu cea prezentat n figura 7.1, dac parametrul K variaza ntre: 0 < K < . (a) (c) 5 s 2 + 3s + 1 G ( s ) ; = ; (b) s 3 + 5s 2 + 2 s + 1 s 3 + 2s 2 s + 1 s3 + s2 + s +1 G ( s) = 6 . s + 12s 2 23s + 5 G(s) =

126

Metoda locul rdcinilor

2. Un sistem cu reacie negativ unitar are funcia de transfer n bucl deschis dat de expresia KG ( s ) = K

(s 2s + 2) . s (s + 3s + 2 )
2 2

Folosind MATLAB reprezentai locul rdcinilor i artai cu ajutorul funciei rlocfind c valoarea maxim a parametrului K pentru ca sistemul s fie stabil este K = 0.79. 3. Se consider sistemul cu reacie prezentat n figura 7.1 unde funcia de transfer G ( s ) este G ( s) = s +1 . s2

Pentru ce valoare a parametrului K, factorul de atenuare este egal cu

= 2?
4. Se consider sistemul de control cu reacie din figura de mai jos.
R(s) E(s) Y(s)
C(s)

+
B(s)

G(s)

Figura 7.8. Sistem de control n bucl nchis cu regulator C ( s ) Avem trei posibile regulatoare pentru sistem considerat anterior: (a) (b) (c)
G(s) = K K G ( s) = s K G ( s) = 2 s

(regulator proportional) (regulator integral) (regulator proportional, dublu integral)

Metoda locul rdcinilor

127

Condiia de proiectare care trebuie satisfcut este dat de timpul de atingere a regimului stabil, adic t ss < 10 s. Se cere: 1. Locul rdcinilor pentru fiecare regulator i determinarea valoarii parametrului K astfel ca, condiia impus s fie ndeplinit. 2. Reprezentarea grafic n cadrul aceleiai figuri a rspunsului la semnalul treapt uniate pentru fiecare regulator, pentru sistemul n bucl nchis. 3. Compararea rezultatelor obinute pentru fiecare din cele trei cazuri i interpretarea din punctul de vedere a rspunsului tranzitoriu i a regimului stabilizat.

128

Metoda locul rdcinilor

Proiectarea sistemelor de control cu metoda locul rdcinilor


Lucrarea nr. 8
8.1 Obiectivele lucrrii
- Prezentarea funciilor sisotool si rltool - Proiectarea unui sistem cu regulator de tip P - Proiectarea unui sistem cu regulator de tip PD - Proiectarea unui sistem cu compensator cu avans de faz

8.2 Introducere
Biblioteca Control Systems din MATLAB conine dou funcii sisotool i rltool utile n proiectarea sistemelor de control. Acestea se bazeaz pe metoda grafic Locul rdcinilor i reprezint de fapt dou proceduri de analiz i proiectare interactiv a sistemelor liniare de control cu o intrare i o ieire (SISO). Atunci cnd este apelat, funcia sisotool deschide o fereastr grafic n care se vor reprezenta ulterior graficele pentru Locul rdcinilor i respectiv, Diagramele BODE.

130

Proiectarea sistemelor de control cu metoda locul rdcinilor

Funcia rltool dac se apeleaz va deschide o fereastr grafic n care se va putea reprezenta numai graficul Locul rdcinilor. Aceste dou proceduri cu interfaa grafic permit proiectarea n mod interactiv a compensatoarelor pe baza reprezentrii grafice a Locului rdcinilor, Diagramelor BODE i Nichols, n cazul unui sistem n bucl deschis. Astfel c, pentru a deschide o sesiune de lucru, se va introduce urmtoarea comand n fereastra de comenzi a MATLAB-ului:
>> sisotool

Apelul funciei sisotool se poate face cu sau fr argumente, dup cum urmeaz. De exemplu:
sisotool(Gp), sau sisotool(Gp, Gc).

unde prin Gp se reprezint modelul (funcia de transfer) pentru sistemul controlat, iar Gc se reprezint modelul (funcia de transfer) pentru compensator. De asemenea, este permis importarea modelului n cadrul procedurii de proiectare prin metoda Locul rdcinilor, astfel c aceasta se poate ncrca: din spaiul de lucru al MATLAB (MATLAB workspace); dintr-un fiier de tip MAT ( mat-file); dintr-o diagram SIMULINK (mdl-file). n mod similar, funcia rltool va deschide o sesiune de proiectare pentru un sistem de tipul SISO liniar n care se va putea vizualiza numai graficul Locul rdcinilor. n continuare se va exemplifica modul de proiectare pe baza caracteristicilor metodei Locul rdcinilor.

8.3 Proiectarea sistemelor de control


n sistemul de control care se prezint n figura urmtoare, se consider c Gc ( s ) este un regulator, iar G p ( s ) este sistemul controlat a

crui funcie de transfer este G p ( s) =

1 . s( s + 2)( s + 5)

Proiectarea sistemelor de control cu metoda locul rdcinilor

131

8.3.1 Proiectarea unui regulator de tip P


S considerm c Gc ( s ) din figura de mai sus este un regulator de tip proporional K. Utiliznd procedura de proiectare sisotool, se cere s se proiecteze un sistem de control care s ndeplineasc urmtoarele caracteristici: (a) Domeniul lui K pentru ca stabilitatea sistemului s fie garantat. (b) Valoarea polilor compleci dominani s corespund unui factor de atenuare = 0,6 . Pentru aceste valori obinute se vor indica: marginea de ctig (gain margin - GM) i marginea de faz (phase margin - PM). De asemenea se va determina rspunsul la semnalul treapt precum i parametrii ce caracterizeaz rspunsul n domeniul timp. Pentru a determina modelul sistemului de control i pentru a ncepe procedura de proiectare, vom introduce urmtoarele comenzi MATLAB:
>> Gp = tf(1, [1 7 10 0]) >> sisotool

n rspuns, se va deschide fereastr grafic iniial prezentat n figura 8.1.

132

Proiectarea sistemelor de control cu metoda locul rdcinilor

Figura 8.1. Fereastr grafic iniial Procedura de proiectare presupune n mod implicit c, compensatorul este pe calea direct a sistemului de control. Butonul grafic FS se poate utiliza pentru a schimba aceast configuraie, punnd compensatorul fie pe calea invers (feedback) fie pe calea direct. Prin apsare succesiv va bascula ntre aceste dou configuraii. Acum vom selecta opiunea Import Model din meniul File. Aceast aciune va deschide fereastra de dialog Import System Data, prezentat n figura 8.2. Configuraiile sistemului de control apar n Model Listbox. Astfel c, blocurile sunt desemnate dupa cum urmeaza: F - bloc preamplificator, G - modelul sistemului controlat, H - modelul senzorului, K - modelul compensatorului, a crui valoare iniial este 1. Se va selecta Gp prin click pe simbolul graphic pentru a introduce acesta vasloare n cmpul G.

Proiectarea sistemelor de control cu metoda locul rdcinilor

133

Figura 8.2. Fereastra de introducere a datelor Butonul Other basculeaz de asemenea ntre dou configuraii posibile. Facem click OK. Dup aceste aciuni se vor afia n zona de reprezentare grafic Locul rdcinilor (RL) si Diagramele BODE (DB) corespunztoare sistemului n bucl deschis, figura 8.3. Ptrelele roi de pe RL reprezint polii sistemului n bucl nchis pentru o valoare a factorului de ctig 1 (implicit valoarea este C(s) = 1). De asemenea, pe diagramele BODE apar reprezentate marginea de ctig (GM) si marginea de faz (FM) ce corespund unui factor de ctig implicit 1 (C(s) = 1).

134

Proiectarea sistemelor de control cu metoda locul rdcinilor

Figura 8.3. Fereastra cu graficele RL i Diagramele BODE n procedura de proiectare, prin apsarea butonului din dreapta al mouse-ului se apeleaz meniurile specifice regiunilor de reprezentare grafic. Acestea prezint mai multe opiuni aa cum se pot vedea n figura 8.4.

Click dreapta pentru locul radacinilor

Click dreapta pentru diagramele Bode

Figura 8.4. Meniuri specifice pentru graficele RL si diagramele BODE

Proiectarea sistemelor de control cu metoda locul rdcinilor

135

Dac se dorete modificarea factorului de ctig al compensatorului se va modifica valoarea din cmpul aferent lui C ( s ) . De asemenea, factorul de ctig se mai poate modifica n mod grafic prin deplasarea polilor (ptrelele roii de pe graficul RL), de-a lungul graficului ntr-o alt locaie dorit. Pentru modificarea prin aceast operaie, se sugereaz ca mai nti s se selecteze din meniu opiunea Zoom XY prin click-dreapta pe mouse. Apoi se selecteaz regiunea dorit din graficul locul rdcinilor, dup care se face operaiune de deplasare (hold and place) a ptrelelor. Ca o alternativ, aceast operaie se poate face i prin utilizarea opiunii Zoom icons de pe meniul toolbar, vezi figura 8.5. Prin click pe Mouse Zoom icon (Zoom n XY), i apoi click pe locaia dorit din locul rdcinilor care se dorete mrit. Se nchide opiunea Mouse Zoom, dup care se deplaseaz polii sistemului n bucl nchis n locaia dorit.

Figura 8.5. Simbolurile grafice ale Toolbar pentru Zoom (a) Pentru a gsi valoarea marginii de stabilitate se vor deplasa polii sistemului de-a lungul locului pn la intersecia cu axa. Se activeaz opiunea Mouse Zoom dup care se ncadreaz (delimiteaz) regiunea polilor i la eliberarea mouse-ului se realizeaz zoom-ul zonei selectate. Se deplaseaz polii n poziia exact de intersecie a locului cu axa din care rezult marginea de stabilitate. Se dezactiveaz Zoom-ul i rezult rezultatul din figura 8.6.

136

Proiectarea sistemelor de control cu metoda locul rdcinilor

Figura 8.6. Determinarea marginii de stabilitate (b) Pentru a determina ctigul n cazul unui factorul de atenuare = 0,6 , se vor deplasa polii compleci pn ce factorul de atenuare afiat n mod continuu n partea de jos a zonei de reprezentare grafic ajunge ca valoare n vecintatea lui 0.6. Acum se activeaz opiunea de Zoom i se vor deplasa polii pn ce valoarea factorului va fi exact de 0.6. Rezultatul obinut va fi cel din figura de mai jos, figura 8.7.

Proiectarea sistemelor de control cu metoda locul rdcinilor

137

Figura 8.7. Alegerea polilor pentru un factor = 0,6 Factorul de ctig determinat este K 0 = 8,89 . De asemenea, unul din polii compleci precum i frecvena natural n sunt afiai n partea de jos a reprezentrii grafice i n cazul de fa au urmtoarele valori, s1 = 0,766 + j1,02 i respectiv n = 1,28 rad/s. n plus, marginea de ctig (GM) i marginea de faz (PM) sunt de asemenea indicate pe diagramele Bode i au valorile GM=17,9 dB, si PM=58,6. Acum, din meniul principal al procedurii de proiectare se va selecta Loop responses/Close-Loop Step pentru a obine rspunsul la semnalul treapt. Se va face click dreapta pe graficul obinut i se va selecta opiunea Characteristics, iar mai apoi Rise Time i Peak Overshoot. Dac pe graficul de rspuns trasat cu linie albastr se face click stnga, se vor afia parametrii ce caracterizeaz rspunsul n domeniul timp pentru sistemul analizat, figura 8.8.

138

Proiectarea sistemelor de control cu metoda locul rdcinilor

Figura 8.8. Rspunsul la semnalul treapt

8.3.2 Proiectarea unui regulator de tip PD


Pentru sistemul din exemplul anterior se cere s se proiecteze un regulator C(s) care s satisfac urmtoarele cerine: Poli dominani s corespund unui factor de atenuare = 0,707 Timpul de atingere a regimului stabilizat sa fie t s = 2 sec. ts = 4 , i = 0,5 sec. 1 1 n = = = 2 , i tan 1 (0,707) = 45 0,5 Prin urmare s1 = 2 + j 2 Pentru a determina modelul sistemului ce trebuie controlat i pentru a porni procedura de proiectare a acestui sistem SISO, vom introduce urmtoarele comenzi MATLAB

Proiectarea sistemelor de control cu metoda locul rdcinilor

139

>> Gp = tf(1, [1 7 10 0]) >> sisotool

Ca rspuns, vom obine urmtoarea fereastr iniial, ce nu conine nici o reprezentare n zona grafic pentru Locul rdcinilor i Diagramele BODE, figura 8.9.

Figura 8.9. Fereastra iniial din procedura SISO Design Tool Vom ncepe prin a selecta Import Model din meniul File. Aceast aciune va deschide csua de dialog Import System Data. Acum vom selecta Gp prin click pe pentru ca n cmpul G s se transfere valoarea corespunztoare funciei Gp. Acest lucru este prezentat n figura 8.10.

140

Proiectarea sistemelor de control cu metoda locul rdcinilor

Figura 8.10. Activarea funciei Gp din fereastra Import System Data Se face acum click pe OK. n acest moment se vor afia graficele corespunztoare pentru Locul rdcinilor i respectiv Diagramele BODE n regiunile de reprezentare grafic corespunztoare. Vezi figura 8.11.

Figura 8.11. Graficele pentru locul rdcinilor i diagramele BODE

Proiectarea sistemelor de control cu metoda locul rdcinilor

141

Procedura de proiectare a sistemelor de control SISO liniare ofer cteva constrngeri care uureaz modul de ndeplinire a specificaiilor de proiectare iniiale. Acestea se pot utiliza numai dac proiectantul dorete acest lucru. Plasarea perechii de poli compleci pe diagram n locaia ce corespunde unui factor de atenuare = 0,707 , se va face prin selectarea opiunii Design Constraints dup care se activeaz New din meniul clickdreapta corespunztor Locului Rdcinilor. Aceast aciune va deschide editorul Design Constraints. n cmpul corespunztor factorului de atenuare se va introduce valoarea 0,707. Acest lucru va conduce la afiarea unei perechi de raze umbrite corespunztoare pantei cutate. Adugarea timpului de stabilizare se face prin redeschiderea opiunii New Constraint i vom alege timpul de stabilizare din meniul pull-down prin setarea n cmpul aferent a valorii 2. Pentru a avea un pol a sistemului n bucl nchis de valoarea s1 = 2 + j 2 , va trebui s adugm un zerou pentru ca diagrama locului s se deplaseze spre stnga semiplanului complex s. Adugarea unui zerou, se face prin activarea din meniul toolbar a simbolului i plasarea acestuia pe axa real n partea stnga a polilor, asfel nct s aibe o valoare ct mai mica. Acum vom deplasa polii sistemului n bucl nchis n partea superioar a locului rdcinilor, ctre punctul de intersecie rezultat din condiiile impuse pentru factorul de atenuare i respectiv . Se va activa funcia Zoom i se va plasa ptratul n zona ce conine zeroul controlerului i polul buclei nchise. Corectm poziia zeroului pe axa real i n acelai timp se ine apsat butonul din stnga al mouse-ului i se deplaseaz polul buclei nchise pn cnd polul ajunge n poziia dorit, aa cum se observ n figura 8.12.

142

Proiectarea sistemelor de control cu metoda locul rdcinilor

Figura 8.12. Proiectarea controlerului pe baza specificaiilor impuse Pentru a salva valorile obinute pentru compensatorul rezultat, se va selecta opiunea Export din meniul File. Aceast aciune va deschide sesiunea SISO Tool Export. Acum se va selecta opiunea Compensator C din coloana Component. Pentru a schimba numele, vom face double-click n celula corespunztoare pentru Compensatorul C i vom schimba numele punnd PD. Facem click pe butonul corespunztor opiunii Export to Workspace. Dup aceste operaiuni vom introduce comanda:
>> PD

iar ca rspuns se va afia: Zero/pole/gain:

Proiectarea sistemelor de control cu metoda locul rdcinilor

143

10.0157 (s+2.397) Astfel c, controlerul de tip PD are o expresie aproximativ (rezultat n urma unei trunchieri) dat de C ( s) = 10s + 24 . Acum din meniul principal vom selecta opiunea Loop responses/Close-Loop Step pentru a obine rspunsul la treapta de semnal. Facem click-dreapta pe graficul de rspuns i selectm Characteristics dup care Rise Time i respectiv Peak Overshoot. Dac poziionm mouse-ul pe linia albastr a rspunsului i se face click-stnga, atunci se vor afia parametrii ce caracterizeaz rspunsul n domeniul timp, aa cum este artat n figura 8.13. de mai jos.

Figura 8.13. Rspunsul sistemului n bucl nchis cu controler de tip PD De asemenea, s notm c pe diagramele BODE, ale sistemului n bucl deschis sunt afiate att marginea de ctig GM, ct i marginea de faz PM pentru sistemul compensat.

144

Proiectarea sistemelor de control cu metoda locul rdcinilor

8.3.3. Proiectarea unui compensator cu avans de faz


Pentru sistemul din exemplul 1 s se proiecteze un compensator cu K (s + z 0 ) care s ndeplineasc urmtoarele avans de faz C ( s ) = 0 (s + p0 ) specificaii: Polii dominani s prezinte un factor de atenuare = 0,707 Polii dominani s asigure un timp de atingere a regimului stabil t s = 2 sec. Avem c:

= 0,5 sec. t s = 4 = 2 1 1 n = = = 2 i tan 1 (0,707) = 45 . 0.5


Prin urmare va exista un pol de valoare s1 = 2 + j 2 Graficul corespunztor Locului rdcinilor va reprezenta punctul de pornire pentru procedura de proiectare. Pentru nceput vom selecta un controler nul i vom folosi cerinele date pentru a gsi locaia corespunztoare polului controlerului, precum i factorul de ctig corespunztor. n acest exemplu vom selecta zeroul ca fiind plasat pe axa real n punctul 1.75. Pentru a determina modelul sistemului controlat i pentru a ncepe procedura de proiectare a sistemului de control vom introduce urmtoarele comenzii:
>> Gp = tf(1, [1 7 10 0]) >> sisotool

Ca rspuns, vom obine o fereastr iniial fr grafice, corespunztoare procedurii SISO Design Tool. Se va selecta opiunea Import Model din meniul File. Acum se va deschide csua de dialog

Proiectarea sistemelor de control cu metoda locul rdcinilor

145

Import System Data, unde vom selecta Gp prin click pe simbulul pentru a activa cmpul G i astfel se vor ncarca datele corespunztoare modelului Gp de mai sus. Se face click pe OK, dup care se vor afia graficele corespunztoare Locului Rdcinilor i respectiv Diagramele BODE n zonele aferente ale ferestrei. Acum urmeaz s plasm perechea de poli compleci pe diagrama Locului n poziia corespunztoare unui factor de atenuare = 0,707 . Pentru aceasta vom selecta opiunea Design Constraints dup care vom alege New din meniul corespunztor obinut prin click-dreapta pe graficul Locul rdcinilor. Aceast aciune va deschide editorul Design Constraints. n cmpul corespunztor factorului de atenuare vom introduce valoarea impus de 0,707. Acum pe grafic vor aprea o pereche de raze umbrite a cror pante corespunde valorii introduse. Pentru a aduga i timp de atingere a regimului stabilizat vom redeschide fereastra New Constraint i vom alege din meniul pull-down valoarea 2 n cmpul corespunztor. Acum vom plasa cursorul n poziia corespunztoare controlerului C(s) unde vom face click pentru a deschide csua de dialog. n locaia Edit Compensator C vom introduce 1.75 corespunztoare polului real. De asemenea, adugarea unui pol real se poate face i prin activarea meniului toolbar. Se alege simbolul corespunztor pentru pol - i se plaseaz pe axa real n dreapta polului cu valoarea cea mai mare. Se va deplasa polul corespunztor sistemului n bucla nchis ctre intersecia corespunztoare condtiilor impuse pentru i respective . Acum se poate activa din mouse funcia Zoom i se plaseaz ptratul n regiunea care conine zeroul controlerului i polul z1 al sistemului n bucl nchis. Se va corecta poziia polului pe axa real i n acelai timp se ine apsat butonul din stnga al mouse-ului deplasndu-se polul buclei nchise pn cnd polul ajunge n locaia dorit aa cum este artat n figura 8.14.

146

Proiectarea sistemelor de control cu metoda locul rdcinilor

Figura 8.14. Plasarea polilor pe baza condiiilor impuse Salvarea compensatorului obinut se face prin selectarea opiunii Export din meniul File. Aceast aciune va deschide SISO Tool Export. Acum vom selecta Compensator C din coloana Component. Pentru a schimba numele se face double-click n celula corespunztoare Compensatorului C i se schimb numele punnd n cazul de faa PhLead. Dup aceasta se face click pe butonul Export to Workspace. Acum n fereastra de comenzi a MATLAB-ului se introduce
>> PhLead

care va determina afiarea funciei de transfer a controlerului. Zero/pole/gain:

Proiectarea sistemelor de control cu metoda locul rdcinilor

147

64,2588 ( s + 1.75) s + 8.023 Expresia obinut n urma procedurii grafice de proiectare se poate aproxima 64 ( s + 1.75) . cu ( s + 8) Pentru a obine rspunsul sistemului n bucl nchis la semnalul treapt, din meniul principal selectm Loop responses/Close-Loop Step. Vizualizarea parametrilor de rspuns n domeniul timp pentru sistem se poate face dac pe graficul obinut vom face click-dreapta i vom selecta opiunea Characteristics dup care alegem Rise Time i Peak Overshoot. Prin click-stnga pe linia albastr vom putea vizualiza parametrii de rspuns ai sistemului n domeniul timp, aa cum se prezint n figura 8.15.

Figura 8.15. Rspunsul sistemului n bucl nchis cu compensator cu avans de faz

148

Proiectarea sistemelor de control cu metoda locul rdcinilor

Proiectarea sistemelor de control prin metoda diagramelor BODE


Lucrarea nr. 9
9.1 Obiectivele lucrrii
- sisteme compensate cu avans de faz - sisteme compensate de faz ntrziat

9.2 Proiectarea sistemelor compensate


9.2.1 Compensarea de tip phase-lead
Exemplul 1: S se proiecteze un sistem de control cu compensator cu 1 , astfel nct eroarea n starea avans de faz pentru sistemul G (s ) = s(s + 1) stabil s fie mai mic dect 0.1 pentru un semnal treapt unitar aplicat la intrarea sistemului, iar supracreterea maxim a rspunsului tranzitoriu s fie mai mic de 25%.

150

Proiectarea sistemelor de control cu metoda diagramelor BODE

Specificarea erorii din starea stabil

K V = lim sG (s ) = lim s
s 0 s 0

K 1 =K s(s + 1)

(9.1)

ess =

1 1 = < 0.1 K 10 KV K
Specificarea supracreterii din rspunsul tranzitiriu (%)

Reamintim c relaia dintre supracreterea exprimat n (%) a rspunsului i factorul de atenuare - , este data de Overshoot(%) = 100e

1 2

(9.2)

n Figura 9.1 s-a reprezentat dependena grafic dintre aceti 2 factori.


100 90 80 70 % Overs hoot 60 50 40 30 20 10 0 0 0.1 0.2 0.3 0.4 0.5 damping ratio 0.6 0.7 0.8 0.9

Figura 9.1 Supracreterea (%) vs. Factor de atenuare ( )

Proiectarea sistemelor de control cu metoda diagramelor BODE

151

Astfel, relaia dintre marginea de faz - phase margin (PM), si factorul de atenuare - ( ) pentru cazul special al unei funcii de transfer n bucl nchis G (s ) =
PM = tan
1

2 n este dat de relaia urmtoare s(s + 2 n )

1 + 4 2 2 2 2

(9.3)

ceea ce arat c marginea de faz pentru un sistem compensat ar trebui s fie mai mare de 45o pentru a obine o supracretere maxim mai mic de 25% i aa cum se prezint n Figura 9.2.
80 70 60 P has e M argin (P M ) 50 40 30 20 10 0

0.1

0.2

0.3

0.4 0.5 0.6 damping ratio

0.7

0.8

0.9

Figura 9.2 Marginea de faz (PM) vs. Factor de atenuare ( )

152

Proiectarea sistemelor de control cu metoda diagramelor BODE

Procedur de proiectare a compensatorului cu avans de faz

i.)

ii.)

Se alege o constant de ctig K astfel nct eroarea staionar n starea stabil care a fost specificat s fie satisfcut. Din cele artate anterior, se cunoate c K trebuie s fie mai mare sau egal cu 10, astfel c vom considera K = 10 . Se va determina pe reprezentarea grafic marginea de ctig (gain margin GM) i marginea de faz (phase margin - PM) corespunztoare sistemului necompensat n cazul factorului de ctig constant K considerat la punctual anterior (i.) cu scopul de a determina valoarea fazei de avans m care s asigure o margine de faz care s corespund supracreterii specificate.
Bode Diagrams Gm = Inf, Pm=17.964 deg. (at 3.0842 rad/sec) 60 40 Phase (deg); Magnitude (dB) 20 0 -20 -100 -120 -140 -160 -180 10
-1 0

10

Frequency (rad/sec)

Figura 9.3 Diagramele Bode pentru sistemul necompensat - K G (s )

Proiectarea sistemelor de control cu metoda diagramelor BODE

153

Din figura 9.3, marginea de faz PM, a sistemului necompensat este PM uncomp 20 o . Astfel, alegnd o margine de faz PM pentru sistemul compensat egal cu PM comp = 45o , rezult c avem nevoie de o valoare adiional de faz m = PM comp PM uncomp = 25o . Acum c m a fost determinat, se poate determina parametrul al compensatorului cu avans de faz, care se va alege = 0.3 i care va corespunde unei faze maxime de avans de 33o . iii.) Faza maxim de avans m trebuie s fie adugat la valoarea nou a frecvenei de trecere m . Compensatorul cu avans de faz introduce un factor de ctig a crui valoare este n jur de 10 log(0.3) = 5.2dB corespunztor unei frecvene noi m . Astfel, trebuie determinat frecvena la care sistemul necompensat are o amplificare de 10 log(0.3) = 5.2dB . Prin urmare, m ar trebui s fie egal cu aceast frecven astfel ca, aceasta s devin noua frecven de trecere 0-dB pentru sistemul compensat. Prin analiza Figurii 9.3, factorul de ctig al sistemului necompensat este egal cu 5.2dB la o frecven = 4.5 rad sec . Fie m = 4.5 rad sec . iv.) Se vor calcula parametrii compensatorului cu avans de faz pe baza valorilor obinute n paii (i.) pn la (iii.). Funcia de transfer a compensatorului cu avans de faz este dat de C (s ) = sau jT + 1 jT + 1 1 unde T = . C ( j ) = cu < 1 (9.5) s +1 T s + 1 T 1

(9.4)

Astfel, pentru = 0.3 , T = 0.41 sec . Aceasta conduce la urmtorul compensator cu avans de faz:

154

Proiectarea sistemelor de control cu metoda diagramelor BODE

C (s ) =

0.41s + 1 0.123s + 1

(9.6)

Rezultate simulate pentru compensatorul Phase-lead

Simulrile n Matlab au la baz urmtoarele comenzii care se pot salva ntrun fiier m-script.
clear all; wm = 4.5; alpha = 0.3; % gain-crossover frequency % phase-lead compensator % parameter T = 1/wm/sqrt(alpha); % phase-lead compensator % time constant K = 10; % DC compensator gain % Phase-lead compensator C(s) cnum = K*[T 1]; cden = [T*alpha 1]; % Open-loop sys G(s) gnum = [1]; gden = [1 1 0]; % Unity-Gain Feedback Loop H(s) hnum = [1]; hden = [1]; % Open-loop sys C(s)*G(s) numo = conv(cnum,gnum); deno = conv(cden,gden); % Closed-loop sys [gnumc,gdenc] = feedback(K*gnum,gden,hnum,hden,-1); [numc,denc] = feedback(numo,deno,hnum,hden,-1); bode(cnum,cden);

Rezultatul simulrii compensatorului este prezentat n figura 9.4

Proiectarea sistemelor de control cu metoda diagramelor BODE


Bode Diagrams

155

30

Phase (deg); Magnitude (dB)

25

20 30 20 10

10

-1

10

10

10

Frequency (rad/sec)

Figura 9.4 Diagrama Bode pentru compensatorul cu avans de faz C (s ) Acum pentru a vedea diferena dintre sistemul necompensat i sistemul compensat vom considera urmtorul fiier de comenzii Matlab:
sys1 = tf(K*gnum,gden); sys2 = tf(numo,deno); [mag1,ph1,w]=bode(K*gnum,gden,logspace(-1,2,500)); [mag2,ph2,w]=bode(numo,deno,logspace(-1,2,500)); subplot(211); semilogx(w,20*log10(mag1),'r',w,20*log10(mag2),'b') ; title('Bode Diagrams'); ylabel('Magnitude (dB)'); legend('uncompensated','compensated', -1); subplot(212); semilogx(w,ph1,'r', w,ph2,'b');

156

Proiectarea sistemelor de control cu metoda diagramelor BODE

ylabel('Phase (deg)'); xlabel('Frequency (rad/sec)'); legend('uncompensated','compensated', -1);

Rezultatul simulrii conduce la obinerea figurii 9.5.


Bode Diagrams 50 M agnitude (dB) uncompensated compensated

-50

-100 -1 10 -80 -100 Phase (deg) -120 -140 -160 -180 -1 10

10

10

10

compensated system uncompensat ed system


10 10 Frequency (rad/sec)
0 1

uncompensated compensated

10

Figura 9.5. Diagrama Bode pentru sistemul necompensat i compensat Pentru a obine rspunsul sistemului la semnalul de tip treapt se va considera urmtorul fiier de comenzii Matlab:
figure; sys1c = tf(gnumc,gdenc); sys2c = tf(numc,denc); step(sys1c,sys2c);grid; legend('uncompensated','compensated',-1);

Rezultatul este prezentat n figura 9.6.

Proiectarea sistemelor de control cu metoda diagramelor BODE


Step Response 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 2 4 6 8 10 12 Time (sec.) uncompensated compensated

157

Figura 9.6 Rspunsul la treapt a sistemului necompensat i compensat n cazul n care se dorete s se vizualizeze i rspunsul la semnalul de tip ramp unitar, atunci se va considera urmtoarea secven de comenzii Matlab care vor conduce la rezultatul din figura 9.7.
t=0:0.01:5; y = t; [y1,x1]=step(gnumc,conv(gdenc,[1 0]),t); [y2,x2]=step(numc,conv(denc,[1 0]),t); [y3,x3]=step(numc,denc,t); [y4,x4]=step(gnumc,gdenc,t); plot(t,y1,'r',t,y2,'b',t,y,'g');grid; xlabel('Time (sec)'); title('Unit Ramp Input response'); legend('uncompensated', 'compensated', 'desired',-1);

Amplitude

158

Proiectarea sistemelor de control cu metoda diagramelor BODE


Unit Ramp Input response 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 0 1 2 3 Time (sec) 4 5

uncompensated compensated desired

Figura 9.7 Rspunsul sistemului necompensat i respectiv compensat la semnalul ramp unitar

9.2.2 Compensarea de tip phase-lag


Exemplul 2: S se proiecteze un sistem de control cu compensator de faz 1 , astfel nct eroarea staionar n ntrziat pentru sistemul G (s ) = s(s + 1) starea stabil s fie mai mic decit 0.1 pentru un semnal treapt unitar aplicat la intrarea sistemului i supracreterea maxim s fie mai mic dect 25%. Specificarea erorii staionare

Aa cum a fost calculat anterior n relaiile (9.1), s-a obinut K 10 .


Specificarea supracreterii din rspunsul tranzitiriu (%)

Pe baza calculelor din exemplul precedent, relaiile (9.2) avem c PM comp 45o .

Proiectarea sistemelor de control cu metoda diagramelor BODE

159

Procedura de proiectare a compensatorului de faz ntrziat

i.)

ii.)

Se va alege un factor de ctig constant K astfel nct eroarea staionar specificat s fie ndeplinit. Din cele prezentate anterior se tie c K trebuie s fie mai mare sau egal cu 10, astfel c vom considera K = 10 . Se va determina pe reprezentarea grafic, marginea de faz (PM) i marginea de ctig (GM) pentru sistemul necompensat n cazul unui factor de ctig constant K determinat la pasul (i.). Apoi se va estima frecvena la care are loc o margine de faz PM de 50o . Vom nota aceast frecvena ca fiind noua frecvena de trecere m . Din figura 9.8, se vede c m = 0.84 rad sec .
Bode Diagrams Gm = Inf, Pm=17.964 deg. (at 3.0842 rad/sec) 60 40 P has e (deg); M agnitude (dB ) 20 0 -20 -100 -120 -140 -160 -180 10
-1 0

10

Frequency (rad/sec)

Figura 9.8. Diagrama Bode pentru sistemul necompensat K G (s ) .

160

Proiectarea sistemelor de control cu metoda diagramelor BODE

iii.) Se va determina ctigul corespunztor pentru sistemul necompensat corespunztor frecvenei m = 0.84 rad sec . Din Figura 9.8, ctigul sistemului necompensat pentru m = 0.84 rad sec este 20 dB. Pentru a duce curba de ctig jos la 0 dB la m , va trebui ca compensatorul phase-lag s furnizeze 20 log( ) = 20 dB or
20 = 10 20

= 10 .

iv.) Se vor calcula parametrii compensatorului phase-lag pe baza valorilor obinute n paii anteriori de la (i.) pna la (iii.). Funcia de transfer a unui compensator phase-lag este data de s +1 T s + 1 T 1

C (s ) = sau

(9.7)

C ( j ) =

j T + 1 jT + 1

cu > 1

(9.8)

1 s fie m T cu o decad sub noua frecven de trecere m . Astfel compensatorul phase-lag proiectat este dat de unde T = 10
= 11.9 sec . Aceasta asigur ca frecvena =

C (s ) =

11.9s + 1 . 119s + 1

(9.10)

Rezultate simulate pentru Compensatorul Phase-lag

Simulare n Matlab pentru compensatorul de faz ntrziat este dat de

Proiectarea sistemelor de control cu metoda diagramelor BODE

161

clear all; wm = 0.84; % gain-crossover frequency alpha = 10; % phase-lag compensator parameter T = 10/wm; % phase-lead compensator time constant K = 10; % DC compensator gain

% Phase-lead compensator C(s) cnum = K*[T 1]; cden = [T*alpha 1]; % Open-loop sys G(s) gnum = [1]; gden = [1 1 0]; % Unity-Gain Feedback Loop H(s) hnum = [1]; hden = [1]; % Open-loop sys C(s)*G(s) numo = conv(cnum,gnum); deno = conv(cden,gden); % Closed-loop sys [gnumc,gdenc] = feedback(K*gnum,gden,hnum,hden,-1); [numc,denc] = feedback(numo,deno,hnum,hden,-1); bode(cnum,cden);

162

Proiectarea sistemelor de control cu metoda diagramelor BODE

Bode Diagrams

20 15 Phase (deg); M agnitude (dB) 10 5 0 -10 -20 -30 -40 -50 10


-3

10

-2

10

-1

10

Frequency (rad/sec)

Figura 9.9 Diagrama Bode pentru sistemul compensat phase-lag Acum pentru a vedea diferena dintre sistemul necompensat i sistemul compensat vom considera urmtorul fiier de comenzii Matlab care conduce la rezultatul din figura 9.10
sys1 = tf(K*gnum,gden); sys2 = tf(numo,deno); [mag1,ph1,w]=bode(K*gnum,gden,logspace(-1,2,500)); [mag2,ph2,w]=bode(numo,deno,logspace(-1,2,500)); subplot(211); semilogx(w,20*log10(mag1),'r',w,20*log10(mag2),'b'); title('Bode Diagrams'); ylabel('Magnitude (dB)'); legend('uncompensated','compensated', -1); subplot(212); semilogx(w,ph1,'r', w,ph2,'b'); ylabel('Phase (deg)'); xlabel('Frequency (rad/sec)'); legend('uncompensated','compensated', -1);

Proiectarea sistemelor de control cu metoda diagramelor BODE


Bode Diagrams 50 M agnitude (dB)

163

uncompensated compensated

-50

-100 -1 10 -80 -100 Phase (deg) -120 -140 -160 -180 -1 10

10

10

10

compensate d system uncompensat ed system

uncompensated compensated

10 10 Frequency (rad/sec)

10

Figura 9.10 Diagramele Bode pentru sistemul necompensat i respectiv compensat Pentru a obine rspunsul sistemului la semnalul de tip treapt se va considera urmtorul fiier de comenzii Matlab:
sys1c = tf(gnumc,gdenc); sys2c = tf(numc,denc); step(sys1c,sys2c);grid; legend('uncompensated', 'compensated',-1);

n figura 9.11 este prezentat rspunsul sistemului compensat i respectiv necompensat la semnalul treapt unitar.

164

Proiectarea sistemelor de control cu metoda diagramelor BODE


Step Response 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 30 35 Time (sec.) uncompensated compensated

Figura 9.11. Rspunsul la treapt a sistemului necompensat i respectiv compensat n cazul n care se dorete s se vizualizeze i rspunsul la semnalul de tip ramp unitar, atunci se va considera urmtoarea secven de comenzii Matlab care vor conduce la rezultatul din figura 9.12.
t=0:0.01:5; y = t; [y1,x1]=step(gnumc,conv(gdenc,[1 0]),t); [y2,x2]=step(numc,conv(denc,[1 0]),t); [y3,x3]=step(numc,denc,t); [y4,x4]=step(gnumc,gdenc,t); plot(t,y1,'r',t,y2,'b',t,y,'g');grid; xlabel('Time (sec)'); title('Unit Ramp Input response'); legend('uncompensated', 'compensated', 'desired',-1);

Amplitude

Proiectarea sistemelor de control cu metoda diagramelor BODE

165

Unit Ramp Input response 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 0 1 2 3 Time (sec) 4 5 uncompensated compensated desired

Figura 9.12 Rspunsul sistemului necompensat i respectiv compensat la semnalul ramp unitar

166

Proiectarea sistemelor de control cu metoda diagramelor BODE

Proiect de curs
Teoria Sistemelor
1. Se va alege un sistem fizic SISO liniar al crui ordin s fie 3 sau mai mare; 2. Determinai modelul acestui sistem exprimat prin funcie de transfer i prin ecuaii de stare; 3. Analizai stabilitatea absolut a acestui sistem prin identificarea polilor i a zerourilor, etc.; 4. Analizai rspunsul tranzitoriu i stabil al sistemului i discutai despre stabilitatea relativ a sistemului: polii dominani, rspunsul la treapta unitar, analiza erorii stationare, etc. utiliznd reprezentarea grafic a rspunsului, metoda locul rdcinilor i rspunsul la frecventa etc.; 5. Pentru sistemul fizic considerat, alegei un set de parametrii care s defineasc performanele rspunsului unui sistem de control pe baza factorului de atenuare i a constantei de timp pentru polii dominani, precum i a erorii staionare impuse; 6. Proiectai un sistem de control cu regulator de tip P pe baza specificaiilor definite la punctul 5 i repetai paii de la 2 la 4; 7. Proiectai un sistem de control cu regulator de tip PD pe baza specificaiilor definite la punctul 5 i repetai paii de la 2 la 4;

168

Proiect de curs

8. Proiectai un sistem de control cu reacie dup stare pe baza specificaiilor definite la punctul 5 i repetai pasii de la 2 la 4; 9. Proiectai un sistem de control cu observer de stare pe baza specificaiilor definite la punctul 5 i repetai paii de la 2 la 4; 10. Proiectati un sistem de control optimal i repetai paii de la 2 la 4; 11. Comparai rezultatele obtinute mai sus n cadrul pailor de la 6 la 9 i formulai o concluzie proprie asupra acestor rezultate; 12. Scrieti un raport n care s fie prezentate concluziile asupra sistemului considerat iniial precum i asupra sistemului de control rezultat n cadrul punctelor 5, 6, 7, 8 i 9. n raport vor fi incluse fiierele MATLAB rezultate nsoite de reprezentrile grafice obinute.

Not: 1. Se va utiliza MATLAB cerintelor menionate.

SIMULINK

pentru i

realizarea s conin

2. Raportul scris trebuie s fie concis concluzii bazate pe rezultatele obinute.

26-28 Baritiu Electrical Engineering Building Technical University of Cluj Cluj-Napoca Romania Telephone: (0264) 401242 Lab: (0264) 401830 Fax: (0264) 592055 http://www.et.utcluj.ro Calin.Rusu@edr.utcluj.ro

169

Bibliografie
1. MATLAB 7.1 Student Version Release 14 with Service Pack 3, MathWotks, 2005 2. Simulink 6.3 Student Version Release 14 with Service Pack 3, MathWorks, 2005 3. Control Tutorials for Matlab, Prentice Hall, Ann Arbor, MI, 2001, ISBN 0-201-47700-9 3. Brian, Adrian - MATLAB 5 for Engineers, Prentice Hall, New-York, 1999 4. Coloi, T., Ignat I. Elemente de teoria sistemelor i reglaj automat, Lito, 1981 I.P.CN 5. Dorf, R.C., Bishop, Robert H.- Modern Control Systems, 9th Ed., Prentice Hall, Upper Saddel River, NY, 2001 6. Ogata, Katsuhiko - Modern Control Engineering, 4th Ed., Prentice Hall, Upper Saddel River, NY, 2002 7. Kuo, Benjamin C. Automatic Control system, John Wiley & Sons Inc., 7th Ed., NY, 1995 8. Rusu, Calin, - Dinamica i controlul roboilor, Cluj-Napoca, Lito UTNN, 1997. 9. Rusu, Calin, - Digital control system design, Ed. Casa crii de tiin, Cluj-Napoca, 2000. 10. Rusu, Calin, Szke Enik, Murean Manuela - Matlab n controlul sistemelor. Ghid practice pentru studeni i ingineri. Editura Mediamira, Cluj-Napoca, 132 pagini, ISBN 973-713-019-7, 2005. 11. Rusu, Calin, Szke Enik Aplicaii Matlab n controlul sistemelor. Ghid practice pentru studeni. Editura Mediamira 2006, Cluj-Napoca, 160 pagini, ISBN 973-713-101-0, 2006.