matlab pred 2 simulink
TRANSCRIPT
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
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.
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
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
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.
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= = −
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
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=
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).
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”
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
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;
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+ + ⋅ = ⋅
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);