uvod u simulink - uniosmcicak/au/lv4s.pdf · simulink je grafički alat unutar matlab programskog...

16
1 UVOD U SIMULINK Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink se pokreće naredbom simulink iz komandnog prozora Matlab-a ili direktno iz Matlab-ovog toolbar-a kao što je prikazano na idućoj slici: otvara se Simulink Library Browser File→New→Model File→Save as i sačuvati model sa ekstenzijom .mdl Prenošenje blokova iz Library Browser-a u novi model

Upload: others

Post on 27-Dec-2019

21 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

1

UVOD U SIMULINK

Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje,

simulaciju i analizu dinamičkih sistema. Simulink se pokreće naredbom simulink iz

komandnog prozora Matlab-a ili direktno iz Matlab-ovog toolbar-a kao što je prikazano na

idućoj slici:

otvara se Simulink Library Browser

File→New→Model

File→Save as i

sačuvati model sa ekstenzijom .mdl

Prenošenje blokova iz Library Browser-a u novi model

Page 2: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

2

U svakom Simulink-u se nalaze osnovi blokovi i dodatni blokovi u svim instaliranim toolbox-ovima.

Prikaz osnovnih i najčešće korištenih blokova u automatskom upravljanju

Definiranje konstantnog signala

Integrator

Množenje signala s konstantom

Sumator (oduzimanje) više signala

Osciloskop

Signal vremena

step pobuda

Funkcija prijenosa

Page 3: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

3

Primjer 1. Prikazati sinusoidu na osciloskopu prvo sa parametrima bloka Sine Wave po

defaultu, a zatim mijenjati amplitudu, frekvenciju i periodu odabiranja.

Rješenje:

otvoriti grupu blokova Sources i izabrati Sine Wave zatim prevlačimo blok u model koji smo

nazvali Vjezba1.mdl.

grupa blokova Sinks i izabrati Scope (osciloskop)

povezati blokove jednostavnim prevlačenjem miša od kraja bloka Sine wave do početka

bloka Scope.

Ako smo pravilno povezali blokove pojavit će se crna linija sa strelicom u željenom smjeru.

Za slučaj da linije nisu pravilno povezane pojavit će se isprekidana crvena linija.

Kako bismo pokrenuli Simulaciju potrebno je kliknuti mišem na crnu strelicu kao što je

prikazano na idućoj slici. Po default-u simulacija traje 10 sekundi, a mi naravno možemo

mijenjati vrijeme simulacije po potrebi.

Kako bismo promijenili parametre pomoću kojih opisujemo sinusoidu potrebno je kliknuti

dva puta mišem na blok Sine Wave u modelu i pojavit će nam se slijedeća slika:

možemo mijenjati parametre koji opisuju sinusoidu. Na idućoj slici dat je prikaz sinusoide

gdje je podešena amplituda 5, frekvencija 10, a perioda 0.001.

Kako bismo vidjeli pravilan prikaz slike nakon ponovnog pokretanja simulacije i otvaranjem

scope-a potrebno je kliknuti na dvogled (Autoscale)

Page 4: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

4

Primjer 2. Za sistem opisan funkcijom prijenosa G(s) nacrtati odziv na step pobudu.

Rješenje:

Kako bismo nacrtali odziv na step pobudu potrebno je otići u grupu blokova Sources i

izabrati blok Step koji dovodimo na ulaz. Zatim, potrebno je iz grupe blokova Continuous

izabrati blok Transfer Fcn kako bismo doveli funkciju prijenosa. Na kraju uzimamo blok

Scope iz grupe blokova Sources i povezujemo model kao na slici

Simulink model za odziv funkcije prijenosa G(s) na step pobudu

Kako bismo podesili parametre blokova potrebno je kliknuti mišem na blok Step dva

puta i podesiti Step Time na 0 kako bi nam step pobuda kretala iz 0 (po default-u je 1). Zatim,

za podešavanje funkcije prijenosa potrebno je kliknuti mišem dva puta na blok Transfer Fcn i

podesiti brojnik i nazivnik. Brojnik podešavamo tako što u uglatim zagradama ispod

Numerator coefficient stavljamo parametre koji su nama potrebni, odnosno pošto u brojniku

funkcije G(s) imamo s+1 stavljamo parametre [1 1] (obavezno je praviti razmak između

brojeva). Za podešavanje brojnika u uglattim zagradama ispod Denominator coefficient

stavljamo brojeve [1 2 3] sa razmakom pošto nam je nazivnik s2 + 2s + 3. Na ovaj način

podesili smo sve blokove, pokrećemo simulaciju i dobivamo odziv koji je prikazan na slici

Podešavanje bloka Step Podešavanje bloka Transfer Fcn

Page 5: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

5

Odziv sistema opisanog funkcijom prijenosa G(s) na step pobudu

Primjer 3. Za sistem opisan funkcijom prijenosa G(s) nacrtati odziv na step pobudu u

otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi.

Oba odziva nacrtati na istom grafu i komentirati dobivene rezultate.

Rješenje:

Kako bismo napravili odgovarajući model u otvorenoj vezi potrebno je u grupi

blokova Sources dovesti blok Step na ulaz. Zatim, potrebno je iz grupe blokova

Continuous i izabrati blok Transfer Fcn kako bismo doveli funkciju prijenosa. Na kraju

uzimamo blok Scope iz grupe blokova Sinks i povezujemo model kao i u primjeru 3 na slici.

Blok Step podešavamo na isti način kao i u prošlom primjeru, dok blok Transfer Fcn

podešavamo kao na slici. S obzirom da nam za pravljenje modela u zatvorenoj vezi trebaju

blokovi koji su isti, nema potrebe da idemo opet u Simulink Library Browser i prevlačimo

blokove, već je dovoljno kliknuti jedan put desnim tasterom miša na blok koji nam je ponovo

potreban i kliknuti na Copy, a zatim u prazan prostor modela opet kliknuti desnim tasterom

miša i izabrati Paste.

Naravno, ako su nam potrebni drugačiji parametri u kopiranom bloku ponovo ćemo otići na

podešavanje parametara kako smo već opisali i podesiti blok prema potrebi.

Page 6: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

6

Podešavanje bloka Transfer Fcn za primjer

Na ovom mjestu zgodno je napomenuti da ako je potrebno kopirati više istih

blokova dovoljno je prevući mišem preko njih (odnosno selektirati željene blokove) Copy, pa

Paste i na taj način smo kopirali više blokova odjednom. Moguće je i davati nazive

blokovima po potrebi. To možemo učiniti jednim klikom miša na naziv bloka po defaultu-u, a

zatim ukucati naziv koji želimo. Također, ako želimo uvećati neki blok možemo ga selektirati

i prosto "razvući" ili možemo jedan ili više blokova označiti i kliknuti u modelu na

Format→Font i izabrati font blokova koji nam odgovara. Na slici dat je prikaz promjene

naziva bloka, razvučenog bloka Clock i izabranog fonta za sve blokove 16.

Prikaz promjene naziva i veličine blokova

Sada se vraćamo na naš primjer. Kako bismo napravili sistem u zatvorenoj povratnoj vezi

možemo kopirati blokove koje već imamo u otvorenoj povratnoj vezi i dodati blok Sum (koji

se nalazi u grupi blokova Commonly Used Blocks) ispred bloka Transfer Fcn. Pošto nama

treba negativna povratna veza, a po default-u blok Sum ima dva plusa potrebno je kliknuti dva

puta mišem na blok Sum i izbrisati drugi plus i staviti minus. Podešavanje bloka Sum

prikazano je na slici. Da nam je bilo potrebno oduzimanje ili zbrajanje više od dva signala

dodali bismo onoliko pluseva, odnosno minusa u ovisnosti od toga koliko signala zbrajamo,

odnosno oduzimamo. Sada je potrebno pravilno povezati blokove (napraviti povratnu vezu) i

Page 7: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

7

iz grupe blokova Commonly used blocks dovesti Mux na koji dovodimo oba signala i to

povezujemo sa blokom Scope. Izgled konačnog modela za primjer 4 prikazan je na slici

Podešavanje bloka Sum

Izgled modela za primjer 4

Kako bismo pravilno vidjeli sliku potrebno je podesiti da vrijeme simulacije bude 50. Odziv

sistema u zatvorenoj povratnoj vezi i otvorenoj vezi prikazan je na idućoj slici.

Page 8: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

8

Prikaz odziva sistema drugog reda na step pobudu u zatvorenoj povratnoj vezi i

otvorenoj vezi

Pomoću bloka Mux možemo prikazati više signala odjednom na istom grafiku, a kako

bismo povećali broj ulaza sa 2 ne neki drugi broj potrebno je dva puta kliknuti mišem na blok

Mux i za Number of inputs izabrati onoliko ulaza koliko nam je potrebno (po default-u je 2).

Primjer 4. Nacrtati odskočni odziv za sistem čija je funkcija povratnog prijenosa data u

primjeru 1 prvo za slučaj kada je K=-1, a zatim za slučaj kada je K > 0 i komentirati dobivene

rezultate.

Rješenje:

Potrebno je nacrtati shemu u SIMULINK-u kao na idućoj slici:

SIMULINK shema za odziv sistema na step pobudu

Kako bismo nacrtali odzive u komandnom prozoru Matlab-a potebno je unijeti slijedeći kod:

plot(tout,yout), grid on

title(‘Odziv sistema za vrijednost parametra K=-1’),

xlabel(‘t[s]’), ylabel(‘y(t)’);

Page 9: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

9

Primjer 5. IZRADA MODELA

Page 10: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

10

Page 11: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

11

Vremenski odziv sustava za različita pojačanja (0,5 ; 1; 2 )

Page 12: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

12

Page 13: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

13

Primjer 6. Stabiliziranje sustava

Stabiliziranje nekog nestabilnog sustava može se izvesti dodavanjem:

proporcionalnog, proporcionalno-integracijskog, proporcionalno-derivacijskog i

proporcionalno-integralno-derivacijskog regulatora.

Sljedeći primjer pokazuje kako pojačanje utječe na stabilnost sustava.

Za Bodeov prikaz potrebno je unijeti podatke u glavni prozor:

br = 0.15; naz = [1 0.3 1 0]; h = tf(br, naz); bode(h);

Page 14: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

14

Što se događa sa sustavom ako mu se promijeni pojačanje (ns)

Vremenski odziv sustava sa slike

Bodeov prikaz se dobiva naredbama: br =0.5; naz = [1 0.3 1 0]; h = tf(br, naz); bode(h);

Bodeov prikaz nestabilnog sustava

Page 15: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

15

Za naredbe: br = 1; naz = [1 0.3 1 0]; h = tf(br, naz); bode(h);

U sljedećem primjeru sustav je stabilan (K = 0,1):

br = 0.1; naz = [1 0.3 1 0]; h = tf(br, naz); bode(h);

Vremenski odziv zadanog sustava za K = 0,1

Bodeov dijagram zadanog sustava za K = 0,1

Združeni prikaz stvarnih Bodeovih dijagrama zadanog sustava

Page 16: UVOD U SIMULINK - UNIOSmcicak/AU/LV4s.pdf · Simulink je grafički alat unutar MATLAB programskog jezika koji omogućuje modeliranje, simulaciju i analizu dinamičkih sistema. Simulink

16

Slika 3.23 dobiva se sljedećim naredbama:

br = 0.15; naz = [1 0.3 1 0]; h = tf(br, naz); figure(1);hold on; bode(h); grid;

clear all; br = 0.5; naz = [1 0.3 1 0]; h = tf(br, naz); bode(h);

clear all; br = 1; naz = [1 0.3 1 0]; h = tf(br, naz); bode(h);

clear all; br = 0.1; naz = [1 0.3 1 0]; h = tf(br, naz); bode(h)

Pojačanje K, za koje je sustav na granici stabilnosti, može se odrediti Hurwitzovim

kriterijem stabilnosti. Karakteristična jednadžba sustava dobija se na sljedeći način:

Kako je a3 = 1, a2 = 0,3, a1 = 1 i a0 = K, slijedi da za stabilan sustav mora biti zadovoljeno:

1) a3 > 0; to je zadovoljeno

2) 1 > a2; to je zadovoljeno

To je zadovoljeno u 2 slučaja:

- kad je K> 0 i K < 0,3, a to je u intervalu K �0, 0,3 ,

- kad je K < 0 i K > 0,3.

To znači da se odabirom pojačanja od 0,3 nalazi na granici stabilnosti.