Sunteți pe pagina 1din 10

Ingineria sistemelor automate Lucrarea 1

Simularea structurilor de reglare automată


cu ajutorul mediului Matlab-Simulink

Scopul lucrării

În proiectarea sistemelor de reglare, o etapă importantă este cea de simulare a structurii alese prin
calcul analitic, cu scopul de a verifica funcţionarea soluţiei propuse şi eventual de a căuta
îmbunătăţirea performanţelor.
Mediul Matlab oferă un instrument grafic de simulare, numit Simulink, cu ajutorul căruia putem
verifica stabilitatea şi putem calcula performanţele în regim staţionar şi dinamic pentru sistemele
de reglare propuse.
Scopul lucrării este acela de a prezenta pe scurt facilităţile mediului Simulink şi de a descrie
modul de lucru cu acest instrument.

Consideraţii teoretice

În exprimare simplă, un sistem de reglare este o structură care conţine, în diverse modalităţi de
aranjare, procesul supus reglării şi unul sau mai multe elemente care controlează funcţionarea
procesului. O primă structură, care defineşte un sistem de reglare, este prezentată în fig. 1.

r + e Regulator u Procesul y
(Controller) (supus regl ării )

y

Fig. 1. Schema unui sistem de reglare.


În această structură, ieşirea y a procesului supus reglării este preluată (de un traductor) şi
comparată cu mărimea de referinţă, r . Aceasta defineşte o evoluţie dorită (impusă) a mărimii de
ieşire. Diferenţa dintre cele două (eroarea), e , reprezintă o informaţie despre acurateţea
sistemului, informaţie pe baza căreia, un regulator (controller) calculează o mărime de comandă
a procesului, u . Regulatorul funcţionează după o lege de reglare (algoritm de reglare) care are
ca scop găsirea unei mărimi de comandă ce determină o funcţionare a procesului cât mai
apropiată de cea definită de mărimea de referinţă.
Performanţele unui sistem de reglare sunt descrise de o serie de indicatori de performanţă, definiţi
pentru o mărime de referinţă de tip treaptă unitară, dintre care mai importanţi sunt:
- în regim staţionar: eroarea staţionară,
- în regim dinamic: suprareglajul, timpul de stabilire (reglare).
Eroarea staţionară este diferenţa dintre mărimea de referinţă de tip treaptă unitară (adică valoarea
1) şi valoarea staţionară a ieşirii procesului:

1(10)
Ingineria sistemelor automate Lucrarea 1

(r − y st )
e st [%] = ⋅ 100 = (1 − y st ) ⋅ 100 (1.1)
r
Cum treapta unitară este o mărime simbolică, eroarea staţionară va fi exprimată în procente.
Suprareglajul este diferenţa dintre valoarea instantanee maximă a ieşirii procesului şi valoarea
staţionară a acesteia.
y − y st
M v [%] = max ⋅ 100
y st
În cazul sistemului de reglare, importantă este mărimea de referinţă. Cu toate acestea, chiar dacă
sistemul are eroare staţionară şi ieşirea nu depăşeşte referinţa, suprareglajul se ia în considerare
raportat la valoarea staţionară a ieşirii, nu la referinţă.
Timpul de stabilire (de reglare) este intervalul de timp de la aplicarea semnalului treaptă unitară
(de la momentul de salt din 0 în 1) până când sistemul devine stabil. Un sistem se consideră stabil
când ieşirea lui rămâne într-o bandă de stabilitate de ± n% din valoarea staţionară. Valoarea
acestui n este de 5 în marea majoritate a cazurilor. Pe de altă parte, această valoare este
determinată de cazurile practice. Necesitatea unei structuri extrem de stabile, poate impune o
bandă de stabilitate de ± 2% .
Schema din figura 1 este cea mai simplă structură de reglare. Aici nu am evidenţiat un element
important ce apare în sistemele de reglare: perturbaţia. Acţiunea acesteia se poate regăsi la
intrarea procesului, într-o mărime intermediară din proces sau la ieşire. În raport cu perturbaţia,
ca indicator de performanţă ne interesează amplitudinea efectului perturbaţiei la ieşirea
procesului şi intervalul în care acest efect este înlăturat.
Structura de reglare prezentată în figura 1 este un sistem cu reacţie unitară negativă. Dacă
dispunem de un model al procesului condus putem stabili o lege de reglare şi putem testa
funcţionarea acestui sistem la diferite forme are mărimii de referinţă.
Să presupunem cazul unui proces cu funcţia de transfer:
2
G pc ( s ) =
0.8s + 1
Răspunsul acestui element la o comandă de tip treaptă unitară este:
t

y (t ) = 2(1 − e 0.8 )

Dacă punem procesul într-o structură de reglare de forma celei din figura 1 în care vom alege o
funcţie de transfer a regulatorului
k
Gr ( s ) = r , cu k r = 1 iniţial
1
atunci răspunsul devine:
3t
2 −
y (t ) = (1 − e 0.8 )
3

2(10)
Ingineria sistemelor automate Lucrarea 1

2
1

1.5 0.8

0.6
1

0.4

0.5
0.2

0 0
0 2 4 6 8 10 0 2 4 6 8 10

Modificând valoarea amplificării regulatorului k r , vom obţine performanţe mai bune ale
sistemului.
Să considerăm cazul unui proces cu funcţia de transfer:
2
G pc ( s ) =
(0.5s + 1)(2s + 1)
cu acelaşi regulator pe calea directă. Curbele ieşirii procesului în lipsa structurii de reglare şi în
structura de reglare cu k r = 1 sunt:

2 1

0.8
1.5

0.6

1
0.4

0.5
0.2

0 0
0 2 4 6 8 10 0 2 4 6 8 10

(Graficele au fost obţinute folosind mediul Matlab, funcţiile rlocus şi lsim.)


Un instrument de simulare oferă posibilitatea testării sistemului de reglare şi mai ales ajută la
acordarea parametrilor regulatorului pentru a îmbunătăţi performanţele.

Utilizarea mediului Simulink

Simulink este un mediu destinat modelării, simulării si analizei modelelor dinamice ale tuturor
tipurilor de sisteme: liniare sau neliniare, continue sau discrete.
Simulink oferă o interfaţă grafică în care pot fi modelate sistemele construind diagrame.
Biblioteca programului cuprinde un set de instrumente, organizate în categorii în funcţie de
scopul lor: blocuri pentru sisteme continue, blocuri pentru sisteme discrete, surse, elemente
pentru vizualizarea rezultatelor etc.

3(10)
Ingineria sistemelor automate Lucrarea 1

După realizarea diagramei unui sistem, pot fi efectuate simulări, având posibilitatea de alegere a
metodelor numerice de aproximare a integralei, a momentelor de start şi stop, a intervalului de
simulare. Rezultatele pot fi vizualizate pe grafice sau pot fi salvate în fişiere de date.
Matlab şi Simulink sunt interconectate astfel încât datele disponibile într-un mediu pot fi utilizate
în celalalt. Spre exemplu, variabilele definte in fereastra de comandă a Matlab sau în programele
Matlab executate pot fi utilizate în schemele Simulink. De asemenea, fiind construit ca o extensie
a Matlab, mediul Simulink are acces direct la cea mai mare parte a funcţiilor Matlab, funcţii ce
formează toolbox-urile Matlab (Control Sistem Toolbox, Signal Processing Toolbox,
Optimization Toolbox etc.). Funcţiile cuprinse în toolbox-urile Matlab pot fi utilizate prin blocuri
corespunzătoare, organizate după destinaţia lor în grupuri ce poartă acelaşi nume în browser-ul
bibliotecii Simulink.

Crearea unui model Simulink.


Mediul Simulink poate fi pornit numai din Matlab prin:
- butonul "Simulink Library Browser" in bara de instrumente;
- comanda simulink executată în fereastra de comenzi.
Pornirea mediului Simulink deschide fereastra bibliotecii de blocuri Simulink, organizate sub
formă arborescentă.
Fereastra bibliotecii Simulink conţine butoane pentru crearea unui model nou sau deschiderea
unui model creat anterior. Deschiderea unui model are ca efect deschiderea unei ferestre în care
se editează diagrama sistemului. Fereastra conţine un meniu având submeniuri clasice (File, Edit,
View etc.) dar şi unele speciale. Pot fi deschise simultan mai multe modele Simulink, fiecare
având o altă fereastră de editare.
Construirea diagramei se face prin aducerea blocurilor necesare din biblioteca Simulink (prin
drag-and-drop). Intrările şi ieşirile sunt evidenţiate clar pe fiecare element prin vârfuri de sageată,
iar conectarea blocurilor se face prin trasarea de linii ce unesc intrările şi ieşirile. Nu este
necesară selectarea unui instrument de desenare a liniei, aceasta fiind trasată atunci când este
apăsat butonul mouse-ului pe o intrare sau pe o ieşire. Se poate conecta o intrare/ieşire la o linie
existentă prin trasarea altei linii între intrare/ieşire şi linia existentă. În momentul în care o
conectare este posibilă cursorul mouse-ului îşi schimbă forma.
Etichetele blocurilor pot fi editate prin dublu-click. De asemenea, pot fi adăugate etichete în
diferite locuri pe diagramă în acelaşi mod.
Marea majoritate a blocurilor au parametrii ce pot fi editaţi prin dublu-click pe blocul respectiv.
Editarea parametrilor trebuie să ţină cont de caracteristicile limbajului Matlab. Parametrii pot
primi valori numerice sau constante (pi), dar şi nume de variabile. Totodată, se pot folosi expresii
construite din valori numerice, constante şi variabile. Dacă este folosită o variabilă, înaintea
oricărei simulări, aceasta trebuie să fie definită în memorie, lucru care se face prin iniţializarea ei
cu o valoare în fereastra de comenzi a Matlab.

Simularea unui model


Fereastra de editare conţine intrumente de simulare organizate în meniul Simulation. Aici pot fi
aleşi parametrii simulării şi se poate controla simularea. În cele mai multe cazuri valorile
implicite ale parametrilor simulării sunt potrivite. În cazul unor sisteme cu complexitate ridicată

4(10)
Ingineria sistemelor automate Lucrarea 1

rezultatele sunt puternic influenţate de aceşti parametrii, iar alegerea acestora ţine cont de
specificul sistemului şi de informaţiile căutate.
La pornirea unei simulări este efectuată o verificare a diagramei. Dacă schema conţine erori
(blocuri care nu respectă condiţia de realizabilitate, variabile utilizate neiniţializate în memorie)
atunci acestea sunt semnalate, iar simularea se opreşte. Sunt afişate mesaje de avertisment fără
oprirea simulării pentru situaţiile în care erorile nu sunt atât de grave (conectarea incorectă a unui
bloc în diagramă sau existenţa unei intrări/ieşiri neconectate).
Odată realizată simularea, extragerea rezultatelor se face prin elementele din diagramă care au
scopul afişării de informaţii. Este posibilă salvarea în spaţiul de memorie (workspace) şi
utilizarea în alte programe Matlab a informaţiilor, dacă în parametrii simulării s-a stabilit acest
lucru.

Desfăşurarea lucrării

Exemplul 1.
Pentru a trasa răspunsul sistemului descris de funcţia de transfer
2
G(s) =
0.5s + 1
la intrare treaptă unitară, se crează un model Simulink nou şi se construieste diagrama din figură:

Elementele necesare sunt:


- Step (Simulink – Sources – Step) – treapta unitară;
- Transfer Fcn (Simulink – Countinous – Transfer Fcn) – funcţie de transfer;
- Scope (Simulink – Sinks – Scope).
(În paranteză este descrisă calea până la elementul respectiv în structura de arbore a bibliotecii
Simulink.)
Implicit, parametrii blocului step sunt: valoarea iniţială egală cu 0, valoarea finală egală cu 1, iar
momentul de trecere din 0 în 1 este 1.
Parametrii blocului transfer fcn reprezintă numărătorul şi numitorul funcţiei de transfer. Aceştia
vor fi două polinoame (în variabilă s), care sunt descrise doar de coeficienţii lor, în acelaşi mod
ca în programele Matlab, adică, în cazul de faţă: [2] şi [0.5 1].
Vizualizarea răspunsului se face prin dublu-click pe blocul scope, care deschide o fereastră
conţinând graficul mărimii de la intrarea acestui bloc. Aici se poate selecta o parte a graficului
pentru vedea detaliile mărimii pe anumite intervale (zoom).
Răspunsul la alte tipuri de intrări se obţine înlocuind elementul step. De exemplu, există blocul
ramp – rampă (implicit parametrii sunt aleşi pentru a avea rampa unitară), sine wave – sinusoidă,
from workspace şi from file – datele sunt preluate din memorie sau dintr-un fişier de date etc. De

5(10)
Ingineria sistemelor automate Lucrarea 1

asemenea, pot fi salvate date sub forma vectorială prin utilizarea blocurilor to workspace şi to file
(Simulink – Sinks – ... ).

Într-o schemă Simulink, liniile dintre blocuri reprezintă de fapt mărimile matematice din
descrierea modelului dinamic al sistemului. Astfel, în acest caz, la intrarea în blocul transfer fcn
este mărimea U(s), la ieşire (intrarea în scope) este răspunsul sistemului Y(s). Diagrama
reprezintă aşadar ecuaţia: Y ( s) = G ( s)U ( s) .

Exemplul 2.
Pentru un sistem cu funcţia de transfer a căii directe
2
G ( s) =
s + 0.5
şi cu reacţie unitară negativă, schema Simulink se completează cu un element nou: sum (Simulink
– Math – Sum) – sumatorul. Acesta are ca parametrii numărul intrărilor şi lista semnelor fiecărei
intrări. În acest caz, această listă va fi: |+-. (Semnele nu trebuie separate. Primul caracter nu este
necesar.)

Dacă reacţia nu este unitară, atunci schema se completează:

6(10)
Ingineria sistemelor automate Lucrarea 1

(Pentru a roti un bloc se apasă click-dreapta şi se selectează din meniu Format – Flip Block.)

Exemplul 3.
Pentru a avea pe acelaşi grafic în blocul scope mai multe mărimi, se utilizează elementul mux
(Simulink – Signals&Systems – Mux). Acesta are la intrare mărimile dorite, numărul intrărilor
fiind un parametru ce poate fi modificat. Ieşirea se conectează la scope. Această construcţie este
utilă pentru a compara mai multe mărimi, de exemplu mărimea de intrare şi răspunsul sistemului.

Această construcţie este utilă pentru a putea compara diverse mărimi. Spre exemplu, dacă vrem
să „citim” de pe grafic performanţele sistemului de reglare, este necesar să putem compara ieşirea

7(10)
Ingineria sistemelor automate Lucrarea 1

procesului cu mărimea de referinţă. În fereastra blocului scope se folosesc facilităţile de lărgire a


imaginii (zoom) pe zonele de interes pentru a citi eroarea staţionară, suprareglajul sau timpul de
reglare.

Exemplul 4.
Pentru a „citi” performanţele unui sistem cu reacţie unitară negativă şi funcţia de transfer a căii
directe:
1
Gd ( s ) =
0.8s( s + 1)
folosim o schemă de genul celei de la exemplul anterior, cu funcţia de transfer modificată
corespunzător:

8(10)
Ingineria sistemelor automate Lucrarea 1

Exemplul 5.
Pentru parametrii blocurilor din schema simulink se pot utiliza variabile, ale căror valori se
iniţializează / modifică în fereastra de comenzi (command window). Spre exemplu, putem
iniţializa variabilele:
k = 1;
on = 50;
z = 0.7;
după care putem executa o simulare pentru schema:

pentru care am editat blocul Transfer Fcn astfel:

Exemplul 6.
Schemele Simulink complexe pot deveni extrem de mari ca întindere, devenind greu de realizat şi
de parcurs. Pentru a evita schemele mari se pot folosi elementele numite subsystem (Simulink –
Signals&Systems – Subsystem), care sunt de fapt scheme Simulink „ascunse” într-un singur bloc.
Legătura între subsystem şi schema în care acesta este inclus se face prin elementele in1 şi out1
(Simulink – Signals&Systems – In1, Out1). Folosind mai multe blocuri in şi out, ele sunt
numerotate automat, dar există posibilitatea de a schimba etichetele lor.

9(10)
Ingineria sistemelor automate Lucrarea 1

La dublu-click pe blocul subsystem se deschide o nouă fereastră în care se editează diagrama


cuprinsă în subsistem.

Conţinutul referatului

1. Realizând o schemă Simulink, specificaţi performanţele unui element de ordinul 2 cu:


- k = 1 , ξ = 0.7 , ω n = 20
2. Să se realizeze simularea unui sistem de reglare conform schemei din fig. 1, în care:
- referinţa este de tip treaptă unitară
- funcţia de transfer a procesului este
2
G p (s) =
(5s + 1)(0.5s + 1)
- funcţia de transfer a regulatorului este
k
Gr ( s ) = r , cu diverse valori ale lui k r . Notaţi performanţele sistemului.
1
3. Să se realizeze simularea unui sistem de reglare conform schemei din fig. 1, în care:
- referinţa este de tip rampă unitară (blocul ramp : Simulink – Sources – Ramp)
- funcţia de transfer a procesului este
2
G p (s) =
(5s + 1)(2 s + 1)
- funcţia de transfer a regulatorului este
k
Gr ( s ) = r , cu diverse valori ale lui k r .
1
4. Să se realizeze simularea unui sistem de reglare, în care:
- referinţa este de tip treaptă unitară
- funcţia de transfer a procesului este cea de la exerciţiul 2
- funcţia de transfer a regulatorului este
k T + kr
Gr ( s ) = r i , k r = 2 şi Ti = 0.5 .
sT

Notaţi performanţele sistemului. Ce remarcaţi în acest caz? Care sunt polii funcţiei de
transfer a căii directe? Care este efectul polului în origine introdus pe calea directă de
regulator?

10(10)

S-ar putea să vă placă și