Matlab Pred 2 Simulink

14
1 Uvod u Simulink 2 Uvod Simulink je grafički alat unutar MATLAB programskog sustava koji omogućuje modeliranje, simulaciju i analizu dinamičkih sustava DINAMIČKI SUSTAV – sustav čije stanje u nekom trenutku određeno ne samo pobudom već i stanjima u kojima je sustav bio u prethodnim trenucimu. Podjela dinamičkih sustava: Kontinuirani dinamički sustav Diskretni dinamički sustav Hibridni sustav – kombinacija dva prethodna tipa

Transcript of Matlab Pred 2 Simulink

Page 1: Matlab Pred 2 Simulink

1

Uvod u Simulink

2

UvodSimulink je grafički alat unutar MATLAB programskog sustava koji omogućuje modeliranje, simulaciju i analizu dinamičkih sustava

DINAMIČKI SUSTAV – sustav čije stanje u nekomtrenutku određeno ne samo pobudom već i stanjima u kojima je sustav bio u prethodnim trenucimu.

Podjela dinamičkih sustava:

Kontinuirani dinamički sustavDiskretni dinamički sustavHibridni sustav – kombinacija dva prethodna tipa

Page 2: Matlab Pred 2 Simulink

3

Opis dinamičkih sustavaPolazište-skup (općenito nelinearnih) diferencijalnih jednadžbi

ili jednadžbi diferencija

'( ) ( ( ), ( ))( ) ( ( ), ( ))

x t f x t u ty t g x t u t

==

( 1) ( ( ), ( ))( ) ( ( ), ( ))

x k f x k u ky k g x k u k

+ ==

4

Simulacija kontinuiranih sustavaKako simulirati kontinuirani sustav na digitalnom računalu?Simulink koristi postupke numeričke integracije za numeričko rješavanjediferencijalne jednadžbeUnutar Matlaba implementirano više metoda numeričkeintegracije (solvera). Solveri unutar Matlaba se mogupodijeliti u dvije skupine:

solveri s konstantnim korakom integracije korak integracije konstantan tijekom cijele simulacije. Ukoliko je korak integracije manji to je simulacija točnija ali isto tako duže traje.

solveri s promjenjivim korakom integracije korak integracije se mijenja ovisno o trenutnom stanju sustava. Ukoliko se stanja sustava brzo mijenjaju tada se korak integracije smanjuje i obrnuto.

Page 3: Matlab Pred 2 Simulink

5

Simulink-osnovne akcijePokretanje simulinka:

Naredbom >>simulink u komandnom prozoruKlikom na ikonu u Matlabu

Stvaranje novog modela:File ->New (iz simulinka)

Otvaranje postojećeg simulink modela:File ->Open (iz simulinka)>>ime_dat.mdl (iz Matlab komandnog prozora)

Spremanje simulink modelaFile ->save (iz simulinka)

6

Simulacija din. sustava u Simulinku

1. Dodavanje blokova iz Simulink biblioteke blokova (Drag’n’Drop princip)

2. Povezivanje blokova pomoću linija koje predstavljaju signale

3. Podešavanje parametara simulacije kao što su npr. trajanje simulacije, tip numeričke integracije, točnost simulacije i sl.

4. Pokretanje simulacije

Page 4: Matlab Pred 2 Simulink

7

Simulink biblioteka blokovaStandardni simulink blokovi svrstani po skupinama

Dodatni simulink blokovi ovisno o instaliranim toolboxima

8

Simulink - osnovni blokovi

Constant – definiranje konstantnog signalaGain – množenje signala s konstantomSum – zbrajanje (oduzimanje) više signalaScope – grafički prikaz signala u vremenu (osciloskop)Integrator – integriranje ulaznog signalaTo Workspace –spremanje signala u varijablu radnog prostoraClock – signal vremena

Sum

simout

To WorkspaceScope

1s

Integrator

1

Gain

1

Constant Clock

Page 5: Matlab Pred 2 Simulink

9

Podešavanje parametara simulacije

Podešavanje trajanja simulacije

Odabir vrste numeričke integracije (fiksni korak, promjenjivi korak)

Odabir postupka numeričke integracije

Podešavanje dodatnih parametara postupka numeričke integracije

Omogućuje definiranje u kojim će se trenucima računati stanja sustava

10

Praćenje i spremanje varijabli tijekom simulacijeBlokovi iz simulink biblioteke blokova, grupa “Sinks”.

Praćenje:Scope, Floating scope – osciloskopDisplay – praćenje numeričke vrijednosti signala

Spremanje:To workspace, To file – spremanje podataka u radni prostor Matlaba odnosno u datoteku.

Page 6: Matlab Pred 2 Simulink

11

Primjer: simulacija dinamičkog sustavaSimulacija sustava opisanog sljedećom dif. jednadžbom:

na skokovitu pobudu (step signal)''( ) 5 '( ) 6 ( ) ( )y t y t y t u t+ + =

''( ) ( ) 5 '( ) 6 ( )y t u t y t y t= − −

12

Primjer: simulacija dinamičkog sustava Simulacija prethodnog sustava uz početne uvjete:

Rješenje prikazano na prethodnom slideuomogućuje direktnu simulaciju uz unošenje početnih uvjeta za stanja pojedinih integratora

(0) 1, '(0) 1y y= = −

Page 7: Matlab Pred 2 Simulink

13

Stabilnost postupka numeričke integracijePrimjerAnalitičko rješenje dif. jednadžbeUvjet za stabilnost Eulerovog postupka num. integracije

'( ) 100 ( ) 0, (0) 10y t y t y+ = =100( ) 10 ty t e−=

1 100 1h− <

14

Simulacija stiff-sustavaStiff sustavi su oni sustavi koji sadržavaju više, po brzini, jako različitih dinamikaNajbrža dinamika uvodi ograničenja na maksimalni korak integracije s obzirom iz razloga stabilnosti samog postupka numeričke integracijeNajsporija dinamika određuje trajanje simulacijeMože rezultirati jako sporom simulacijom

Page 8: Matlab Pred 2 Simulink

15

Simulacija stiff-sustava-PrimjerVan der Polov oscilator

2''( ) 2 (1 ( )) '( ) ( ) 0y t y t y t y tμ− − + =

16

Algebarske petljepojavljuju se kod kod blokova koji imaju svojstvo direktnog proslijeđivanja ulaznog signala. Ukoliko se izlaz iz takvog bloka ponovo vraća kao ulaz u blok dolazi do pojave algebarske petlje.

Primjer

2( )y u y= −

13

y u=

Page 9: Matlab Pred 2 Simulink

17

Algebarske petljeOvisno o postavkama simulacije simulink pojavu algebarskih petlji:

1. Ignorira2. Upozorava porukom u komandnom prozoru3. Zaustavlja simulaciju

U prva dva slučaja poziva se u svakom koraku solver za rješavanje alg. petlji koji usporava izvođenje simulacije

18

Algebarske petljeRješavanje algebarskih petlji1. Modifikacija simulacijske shema na osnovi rješenja

alg. jednadžbe2. Dodavanje memorijskog elementa “Memory” koji

unosi kašnjenje u trajanju jednog integracijskog koraka. Metoda je primjenjiva samo kada je pojačanje petlje manje od 1

3. Na signalne linije može se dodati blok “IC” (početni uvjet) kako bi se osiguralo da solver krene iz “dobrih” početnih uvjeta. (Korisno u slučaju da algebarska petlja ima više od jednog rješenja).

Page 10: Matlab Pred 2 Simulink

19

Algebarske petlje - primjer

21 15 4

y u y⎛ ⎞= −⎜ ⎟⎝ ⎠

5 252

uy − ± +=

20

PodsustaviIdeja korištenja ovih blokova je da se simulacijska shema učini preglednijom

Stvaranje podsustava:1. Dodavanjem bloka “Subsystem” te ubacivanjem u njega potrebnih

blokova skupa ulaznim i izlaznim portovima2. Označavanjem dijela sheme od koje se želi stvoriti podsustav te

odabirom opcije “Edit->Create Subsystem”

Page 11: Matlab Pred 2 Simulink

21

Podsustavi-primjer

22

Podsustavi s uvjetnim izvršavanjemPodsustavi čije je izvršavanje uvjetovanje razinom kontrolnog signala (Enabled subsystem)Podsustavi čije je izvršavanje uvjetovanje bridom kontrolnog signalaPodsustavi čije je izvršavanje uvjetovanje bridom kontrolnog signala 1 i razinom kontrolnog signala 2

Page 12: Matlab Pred 2 Simulink

23

Podsustavi - maskiranjeOznačiti podsustav te odabrati opciju “Edit->Mask subsystem”

24

Upravljanje simulacijom iz komandnog prozora

Pokretanje simulacije:• [T,X,Y]=sim('model‘); - simulacija modela uz parametre

simulacije određene simulacijskim postavkama• [T,X,Y] = sim('model',TIMESPAN,OPTIONS,UT); –

dodatno se može definirati trajanje simulacije, vrijednosti pojedinih parametara simulacije;

Page 13: Matlab Pred 2 Simulink

25

Upravljanje simulacijom iz komandnog prozora

Postavljanje parametara pojedinih blokova:set_param('OBJ','PARAMETER‘,’VALUE’)

Čitanje parametara pojedinih blokova:get_param('OBJ','PARAMETER',’VALUE')

Dodavanje blokaDodavanje linije

26

PrimjerZa sustav:Potrebno je odrediti krivulju ovisnosti nadvišenja u

odzivu na step pobudu o vrijednosti parametra K u intervalu [1,10]

Što je potrebno napraviti:1. Mijenjati pojačanje K od 1 do 10 s određenim

korakom npr. 0.52. Za svaku vrijednost pojačanja K potrebno je

provesti simulaciju te iz odziva izračunati nadvišenje kao (ymax-yss)/yss*100%

''( ) 2 '( ) ( ) ( )y t y t K y t K u t+ + ⋅ = ⋅

Page 14: Matlab Pred 2 Simulink

27

PrimjerPrijedlog rješenja

t

To Workspace1

y

To WorkspaceStep

1

Pojacanje_y1

2

Pojacanje_y

1

Pojacanje

1s

Integrator1

1s

Integrator

Clock

Shema.mdl

28

PrimjerPrijedlog rješenja

i=0;for K=1:0.5:10i=i+1;

set_param(‘Shema/Pojacanje',‘Gain',mat2str(K));set_param(‘Shema/Pojacanje_y1',‘Gain',mat2str(K));sim('opt1',10);sigma(i)=(max(y)-y(end))/y(end);k(i)=K;

endplot(k,sigma);