curs 03 simulink 26.02.11 mic

13
3. UTILIZAREA MEDIULUI DE PROGRAMARE MATLAB/SIMULINK PENTRU STUDIUL REGIMURILOR DINAMICE Mediul de programare MATLAB / Simulink reprezintă unul dintre cele mai perfecţionate instrumente de studiu pentru sistemele dinamice. Structura MATLAB este constituită de biblioteci de funcţii şi subrutine specializate pe diverse domenii. Simulink înglobează puterea de calcul într-un mediu de programare grafică, care îl face deosebit de uşor de utilizat. Acest capitol îşi propune să indice un fir roşu pentru utilizarea imediată. 3.1. Deschiderea mediului de programare SIMULINK Matlab are mai multe ferestre de lucru: Comenzi curente, Istoric comenzi, Spaţiu de lucru, Căi subdirectoare. Deocamdată le vom neglija utilitatea şi vom căuta în bara de meniu iconiţa specifică (fig. 3.1): Se deschide librăria SIMULINK (fig. 3.2): 3.1 – Lansarea SIMULINK 3.2 – Biblioteca SIMULINK

Upload: robu-i

Post on 13-Dec-2014

105 views

Category:

Documents


1 download

DESCRIPTION

a

TRANSCRIPT

Page 1: Curs 03 Simulink 26.02.11 Mic

3. UTILIZAREA MEDIULUI DE PROGRAMARE MATLAB/SIMULINK PENTRU STUDIUL REGIMURILOR DINAMICE

Mediul de programare MATLAB / Simulink reprezintă unul dintre cele

mai perfecţionate instrumente de studiu pentru sistemele dinamice. Structura MATLAB este constituită de biblioteci de funcţii şi subrutine specializate pe diverse domenii. Simulink înglobează puterea de calcul într-un mediu de programare grafică, care îl face deosebit de uşor de utilizat. Acest capitol îşi propune să indice un fir roşu pentru utilizarea imediată.

3.1. Deschiderea mediului de programare SIMULINK

Matlab are mai multe ferestre de lucru: Comenzi curente, Istoric comenzi, Spaţiu de lucru, Căi subdirectoare. Deocamdată le vom neglija utilitatea şi vom căuta în bara de meniu iconiţa specifică (fig. 3.1):

Se deschide librăria SIMULINK (fig. 3.2):

3.1 – Lansarea SIMULINK

3.2 – Biblioteca SIMULINK

Page 2: Curs 03 Simulink 26.02.11 Mic

Avem acces la seturi specializate de blocuri grafice (fereastra din dreapta), organizate după categoriile disponibile în fereastra din stânga. Cele mai multe au denumirea sugestivă. Începem cu surse de semnal (Surces) şi Afi şoare (Sinks – provine de la sensul colector de date). Pentru a avea acces la diverse blocuri, se dă click pe iconiţa New model (vezi săgeata din fig. 3.2) din stânga sus. In fereastra nouă apărută se „agaţă” cu mouse-ul şi se aduc blocurile Step din Sources şi Display plus Scope (din Sinks). Blocurile au active intrări sau ieşiri, care pot fi agăţate cu cursorul şi unite, obţinând figura 3.3:

Se poate intui că Vom putea vizualiza pe un înregistrator sau osciloscop (Scope) variaţia unui semnal treaptă (Step) precum şi valoarea sa finală (Display). Fiecare bloc are însă parametri interni care trebuie setaţi pentru a răspunde cerinţelor particulare ale momentului. Se efectuează dublu click pe Step şi se deschide fereastra internă din fig.3.4:

Pentru a particulariza impusul de intrare, se impun nişte valori oarecare:

- Step time = 1,75 (momentul când se aplică semnalul treaptă);

- Initial value = 1,5 (valoarea iniţială a treptei, uzual este zero);

- Final value = 4,5 (valoarea finală a treptei);

- Sample time = 0 (pasul de eşantionare, 0 înseamnă setare automată).

Şi blocul Scope dispune de setări proprii, chiar foarte numeroase, deoarece blocul este foarte complex. Activând blocul, şi cu click dreapta, avem acces la submeniul Axes properties, în care putem seta valorile

extreme ale ordonatei (între 0 şi 5, de ex.) şi chiar denumirea graficului (fig. 3.5):

3.3. – Model pentru test

3.4. – Parametrii interni ai blocului Step

Page 3: Curs 03 Simulink 26.02.11 Mic

3.5. – Setări în blocul Scope

Se poate rula acum modelul (tastele Ctrl+T, sau în Meniu Simulation şi apoi Start, ori direct cu butonul „Play” ►). Se obţine răspunsul din figura 4.6: Blocul Scope ne permite să testăm diverse semnale de intrare, utile în momentul în care vom experimenta diverse ipoteze dinamice.

3.2. Semnalul de intrare rampă. Acest bloc se află tot în biblioteca Sources. Se înlocuieşte blocul Step (care se şterge) cu Ramp. Pentru a sta valorile rampei, se deschide blocul (dublu click pe el) şi avem fereastra din figura 3.7.

Se impune o valoare a pantei de 0,5 (adică tangenta unghiului), valoare iniţială unitară şi creştere începând cu momentul 2.

3.6. – Vizualizarea semnalului treaptă

3.7. – Setări în blocul Ramp

Page 4: Curs 03 Simulink 26.02.11 Mic

Se obţine răspunsul vizualizat în fig.3.8:

Se poate verifica panta obţinută, valoarea iniţială, momentul când începe

creşterea.

3.3. Semnalul sinusoidal (Sine Wave). Acest semnal este deosebit de util şi se poate utiliza dacă studiem ciclul diurn, de exemplu. Se aduce blocul în fereastra sistemului nostru, unde înlocuim Ramp. Cu dublu click pe blocul Sin Wave se deschide fereastra parametrilor interni, unde se prezintă relaţia de calcul a valorii semnalului:

BiasPhasetFreqAmpltO ++⋅×= )sin()( (3.1) Pentru a verifica setările necesare, se generează un semnal sinusoidal cu următoarele valori:

• Amplitudinea Ampl = 4; • Pulsaţia Freq = 2*pi/24 (rad/s), corespunzător unei perioade de 24 s (sau

ore); • Faza iniţială Phase = -pi/8 (în radiani); • Decalajul faţă de zero Bias = 0.

Suplimentar, este necesar să deschidem meniul Simulation, şi Configuration Parameters unde găsim Stop time şi introducem valoarea 48, pentru a putea obţine două perioade complete. Aceste setări generează un rezultat care poate fi vizualizat în figura 3.9, unde amplitudinea este cel mai uşor de identificat, ca şi perioada, dar faza iniţială (negativă) necesită o mică analiză suplimentară.

3.8. – Vizualizarea semnalului treaptă

Page 5: Curs 03 Simulink 26.02.11 Mic

Faza iniţială poate fi verificată dacă expandăm scara timpului pentru primele ore (există iconiţe pentru trei instrumente de tip lupă pentru axa X sau Y sau zoom), pentru a putea citi momentul primei treceri prin zero:

Trecerea prin zero se petrece în momentul 1.5, ceea ce reprezintă 1/8

dintr-o semiperioadă π, care în unităţi de timp înseamnă 12 ore (!). Calculul confirmă setările. 3.4. Regimuri de funcţionare impuse. Mărimile prescrise pot fi setate în diverse moduri (biblioteca Sources), inclusiv din spaţiul de lucru MATLAB, ca rezultat al unor alte calcule. Pentru aplicaţii uzuale, putem utiliza o combinaţie dintre semnalul rampă şi Lookup Table (tabel cu interpolare, pe care îl găsim în biblioteca Lookup Tables). Cu aceste blocuri, putem genera curba de variaţie a

3.9. – Vizualizarea semnalului sinusoidal

3.10. – Verificarea fazei iniţiale

Page 6: Curs 03 Simulink 26.02.11 Mic

consumului de apă caldă pe parcursul unei zile, de exemplu. Pentru aceasta, vom realiza următoarele setări:

• În meniu: Simulation, apoi Configuration Parameters şi căsuţa Stop time unde introducem valoarea 24;

• În blocul Ramp setăm valoarea Slope = 1/24. În acest mod, ieşirea rampei va evolua de la 0 la 1 pe durata celor 24 ore. Pentru aceasta, vom seta şi Start time=0 şi Initial value=0.

• În Lookup Table setăm pentru Vector of input values următorul set de valori [0:1/24:1], unde conform MATLAB vom avea valoarea iniţială, pasul vectorului şi valoarea finală. Vom obţine 25 de valori, care vor avea semnificaţia momentelor de la ora 0 la ora 24.

• În Lookup Table introducel în câmpul Table data valorile considerate pentru consumul orar. Vor fi 25 de valori relative (între 0 şi 1), pe care le putem introduce şi activând caseta Edit.

Pentru a putea vizualiza ambele variaţii, se utilizează un bloc multiplexor

MUX, rezultând sistemul din figura 3.12:

3.11. – Setările vectorului care reprezintă consumul zilnic de ACM

3.12 – Sistem pentru generarea curbei de consum zilnice

Page 7: Curs 03 Simulink 26.02.11 Mic

3.14. – Blocul Gain redenumit (Debit de vârf)

Se obţine imediat rezultatul aşteptat:

3.5. Scalarea / multiplicarea. Această operaţie reprezintă înmulţirea unui vector cu un scalar. Pentru cazul de mai sus, când s-a lucrat cu valori relative (consum maxim unitar), se doreşte utilizarea variaţiei respective dar pentru un consum maxim de 15 l/min. Se utilizează blocul Gain din biblioteca Math Operations (unde vom descoperi multe alte facilităţi). În interiorul blocului se

setează constanta cu care vom multiplica vectorul debitului de ACM, conform fig. 3.14. Se observă că blocul Gain a fost redenumit cu semnificaţia tehnică reală. Suplimentar, blocul Scope are setat la Număr de intrări (Number of axes) valoarea 2, deoarece

domeniile graficelor sunt acum foarte diferite. Se obţine rezultatul din figura 3.15:

3.13. – Variaţia zilnică a consumului de ACM

Page 8: Curs 03 Simulink 26.02.11 Mic

O problemă tipică în analiza consumului de apă caldă este atunci când se cunoaşte consumul total zilnic (conform normelor sau a măsurătorilor) şi se studiază diverse ipoteze a variaţiei zilnice. În acest caz scalarea trebuie făcută după consumul total. Acesta se determină în urma integrării consumului instantaneu (sumare continuă, similar operaţiei realizate de un apometru). Blocul integrator îl găsim în biblioteca Continuous. Se va integra consumul raportat (ce ia valori între 0 şi 1, apoi se va multiplica debitul raportat cu valoarea necesară (rezultată din raportul Qtotal real/Qtotal raportat). Sistemul necesar este cel alăturat:

Descoperim două blocuri integratoare. Primul este redenumit în Integrator scalare şi serveşte la calculul consumului zilnic de ACM cu debitul raportat. În blocul Display redenumit Debit raportat total se obţine valoarea 8.881 (după o primă rulare) după care se completează blocul Gain redenumit Constanta pentru consum total cu raportul respectiv, în care la numărător regăsim consumul total zilnic. La ieşirea acestui bloc regăsim acum variaţia de debit care ne interesează în diverse simulări, cu o anumită curbă de variaţie şi un anumit consum total.

3.15. – Consumul zilnic de ACM scalat după consumul maxim

3.16. – Scalarea debitului de ACM în funcţie de debitul total facturat

Page 9: Curs 03 Simulink 26.02.11 Mic

Această variaţie poate fi afişată împreună cu cantitatea de ACM consumată (Contor ACM):

Ca verificare, se utilizează încă un bloc Display pentru consumul total de ACM, care reconfirmă valoarea impusă (270 litri). 3.6. Funcţia de transfer de ordinul I. Exprimarea modelului matematic pentru diverse dispozitive sau procese se poate realiza pe baza blocului Transfer Fcn. Utilizarea acestui bloc este imediată, deoarece exprimarea este similară cu scrierea transformatei Laplace a ecuaţiei diferenţiale. Pentru un element proporţional cu întârziere de ordinul I, ecuaţia diferenţială este

)()()(

001 tubtyadt

tdya =+

(3.2)

sau

)()()(

0 tuKtydt

tdyT =+

(3.3)

unde s-a notat

oa

aT 1= -constanta de timp a sistemului, şi

(3.4)

3.17. – Debitul scalat şi consumul total de ACM

Page 10: Curs 03 Simulink 26.02.11 Mic

oa

bK 0

0 = - coeficientul de transfer sau de amplificare. (3.5)

Cu aceste notaţii, funcţia de transfer va fi:

1)( 0

+=

Ts

KsY

(3.6)

Pentru a demonstra cât de puternic este mediul de programare SIMULINK, vom studia răspunsul unui element de ordinul I cu constantă de timp 3s şi coeficient de amplificare 3.5, de forma:

13

5.3)(

+=

ssY

(3.7)

dacă la intrare aplicăm semnal treaptă unitară (echivalentul energizării unui element cu inerţie). Siste-mul corespunzător este cel din figura 3.18: Se observă valorile setate în funcţia de transfer, acestea fiind disponibile pe interfaţa grafică a blocului respectiv. Se rulează sistemul şi se obţine

imediat:

3.18. – Sistem pentru vizualizarea răspunsului unei FdT proporţionale cu întârziere de ordinul I

K0

T

3.19. – Răspunsul unui sistem de ordinul I cu constantă de timp 3s şi coeficient de amplificare 3,5

Page 11: Curs 03 Simulink 26.02.11 Mic

În figura 3.19 s-au marcat şi valorile caracteristice, deoarece coeficientul de amplificare sau de proporţionalitate este dat de valoarea de regim permanent (când la intrare se aplică treapta unitară) iar constanta de timp se găseşte grafic ca tangentă la funcţia de ieşire, în origine (sau în momentul aplicării mărimii de intrare). 3.7. Funcţia de transfer de ordinul II. Pentru un element proporţional cu întârziere de ordinul II, ecuaţia diferenţială este

)()()()(

0012

2

2 tubtyadt

tdya

dt

tyda =++

(3.8)

sau

)()()(

2)( 2

02

2

2

tuKtydt

tdy

dt

tydnnn ωωζω =++

(3.9)

unde s-a notat

2

1

2 aa

a

o

ζ - factorul relativ de amortizare

2

0

a

an =ω - pulsaţia naturală

0

00 a

bK = - coeficientul de transfer sau de amplificare.

(3.10)

Cu aceste notaţii, funcţia de transfer va fi:

22

20

2)(

nn

n

ss

KsY

ωζωω

++=

(3.11)

Vom studia răspunsul unui element de ordinul II cu factor relativ de amortizare 0.15, pulsaţie naturală 3 şi coeficient de amplificare 2:

22

2

3315.02

32)(

+×××+×=

sssY

(3.12)

dacă la intrare aplicăm semnal treaptă unitară (echivalentul energizării unui element cu inerţie şi amortizare). Sistemul corespunzător este acelaşi din figura 3.18, dar cu noile setări devine 3.20:

3.20. – Sistem pentru vizualizarea răspunsului unei FdT proporţionale cu întârziere de ordinul II

Page 12: Curs 03 Simulink 26.02.11 Mic

3.22. – Răspunsul la limita de stabilitate

Răspunsul se obţine imediat:

Se poate verifica imediat valoarea de regim permanent (corespunde unei amplificări cu 2) dar şi valoarea suprareglajului, calculat la 2.6:

21 ζ

πζ

σ −−

= e

(3.13)

Pentru ζ =0,15 se obţine 1.24174 , considerând că relaţia 3.13 este obţinută pentru excitarea cu treapta unitară. Prin zoom-are pe zona suprareglajului, se confirmă şi această valoare. Se poate studia influenţa diverşilor parametri, factorul de amortizare fiind cel mai interesant.

Pentru ζ =0, se obţine regimul la limita de stabilitate, când sistemul oscilează cu frecvenţa corespunzătoare pulsaţiei naturale (aşa a fost realizată figura 1.7). Pentru acest caz se obţine figura 3.22, unde putem verifica perioada de oscilaţie:

3.21. – Răspunsul unui sistem de ordinul II cu factor relativ de amortizare 0.15, pulsaţie naturală 3 şi coeficient de amplificare 2

σ

Page 13: Curs 03 Simulink 26.02.11 Mic

3.23. –Sistem de ordinul II, cu răspuns critic amortizat

094.23

22 === πωπn

T

Pentru ζ =1 se obţine regimul critic amortizat, când regimul tranzitoriu este cel mai scurt în condiţiile suprareglajului nul. Setările în sistemul dinamic sunt vizibile în figura 3.23, unde se aplică o treaptă unitară în t=0:

Se oţine răspunsul din figura 3.24:

Funcţiile de transfer de ordinul I şi II sunt printre cele mai importante, deoarece cele mai multe instalaţii pot fi descrise prin astfel de ecuaţii.

3.24. – Vizualizarea răspunsului unui sistem de ordinul II, critic amortizat