Download as pdf or txt
Download as pdf or txt
You are on page 1of 132

SVEUILITE U SPLITU

POMORSKI FAKULTET U SPLITU








Igor Vujovi

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI
MATLAB/SIMULINK








Split, 2014.

Autor:

Dr. sc. Igor Vujovi, dipl. in.
docent

















PREDGOVOR

Ova skripta namjenjena je studentima prve godine diplomskog studija Pomorskih
elektrotehnikih tehnologija na Pomorskom fakultetu u Splitu. Obuhvaa dio predavanja i
vjebi iz kolegija Simuliranje i modeliranje u elektrotehnici Matlab/Simulink.

U skripti je preskoen dio o temeljnim pojmovima, funkcijama i rukovanju programskim
paketom Matlab, jer taj dio studenti susreu u drugim kolegijima tijekom preddiplomskog i
diplomskog studija. Vie osnovnih informacija o tom podruju moe se pronai na vie
internet adresa u Hrvatskoj.

Ovaj kolegij satnice je 1+3 te je teinski vrijedan 6 ECTS bodova.

Svrha je ovoga kolegija osposobljavanje studenata za rad s programskim sustavom
MATLAB, to ukljuuje upoznavanje s tehnikim okruenjem i s praktinim vjebama
programiranja u MATLAB-u. Obrauju se sljedee teme: vektorska i matrina analiza
podataka, grafika vizualizacija, modeliranje podataka te programiranje u MATLAB-u u
kontekstu ilustrativnih, realistinih primjera. Kolegij razmatra modeliranje i simuliranje
razliitih tehnikih sustava (mehanikih, hidraulikih, elektrine strojeve, energetska
elektronika, tehnikih sustavi s diskretnim dogaajima) te njihovo upravljanje u realnom
vremenu koritenjem MATLAB-a.

Programski paket Matlab kompatibilan je s programom Octave, koji se moe nai besplatno
na internetu. Razlika je u tome to Octave nema ugraene sve funkcije i alatke koje ima
Matlab, to je razumljivo zbog veliine programa te u Octave-u nema analoga Simulinku.







Autor












SADRAJ
1. UVOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2. UPOTREBA MATLAB/OCTAVE PROGRAMSKIH LINIJA . . . . . . . . . . . . . . . . . . . 6
2.1. Koritenje glavnog prozora MatLab-a u analizi automatskih sustava s pomou prijenosne
funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Iscrtavanje realnih podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Analiza elektrinih krugova u Matlab/Octave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1. Odreivanje potencijala vorova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2. Proraun prijenosnih linija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.3. Rjeavanje izmjeninih krugova u podruju kompleksne frekvencije . . . . . . . . . . . . . . 19
2.4. Strukture, statistika, animacije, mjere uinkovitosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.1. Animacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5. Alatke i njihova upotreba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.1. Simbolika alatka (engl. Symbolic Toolbox) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.2. Alatka za obradu signala (engl. Signal Processing Toolbox) . . . . . . . . . . . . . . . .. 31
2.5.3. Alatka za upravljanje sustavima (Control System Toolbox) . . . . . . . . . . . . . . . . . 33
2.5.4. Statistika alatka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 33
2.6. Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

3. UPOTREBA SIMULINKA U SIMULIRANJU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1. Stabiliziranje sustava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2.Vremenski odziv lana nultog reda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.Vremenski odziv P
1
lana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.Vremenski odziv P
2
lana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5.Vremenski odziv sloenih sustava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6. Proporcionalni regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.7. Servomotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.1. Voenje istosmjernog stroja proporcionalnim regulatorom . . . . . . . . . . . . . . . . . 68
3.7.2. Voenje istosmjernog stroja PI regulatorom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4. SLOENI PRIMJERI MODELIRANJA I SIMULIRANJA U MATLAB/SIMULINK
PROGRAMSKOM PAKETU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.1. Realizacija Simulink modela na DSP kartici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2. Dohvat slike s kamere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3. Upravljanje sustavom dva spremnika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.3.1. Nominalni model spremnika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 78
4.3.2. Model aktuatora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3.3. Protupreklapajui (Anti-Aliasing) filtri . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 81
4.3.4. Nesigurnost u dinamici modela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.3.5. Projektiranje kontrolera . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 84
4.3.6. Pojam H

norme i upravljanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.7. Projektiranje H

kontrolera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.3.8. Robustnost H

kontrolera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.4. Asinkroni vjetrogenerator u izoliranoj mrei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.5. Industrijski robot s 3 stupnja slobode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.6. Primjer vojnih komunikacija s kraja na kraj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.7. Modeliranje prometa klasterizacijom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.8.Test DC asinkronog motora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106


4.9.Simulink 3D Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.9.1. Pristajanje broda u luku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.9.2. Vonja automobilom u virtuelnom svijetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.10. Stvaranje grafikog suelja (GUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4.11. Modeliranje automatskog uzbudnog regulatora sinkronog generatora broda s
elektrinom propulzijom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

5. LITERATURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

1
1. UVOD

Danas su u svakodnevnom ivotu neizbjeni sustavi automatskog upravljanja, odnosno
sustavi automatske regulacije. Da bi se utvrdilo da li zadovoljavaju zahtjeve u pogledu
stabilnosti, brzine odziva pri promjeni ulazne veliine, stupanj osjetljivosti na poremeaje i
dr., potrebno je poznavati dinamiku tih sustava. Dinamika sustava opisuje se diferencijalnim
jednadbama. Problem nastaje kada su te diferencijalne jednadbe previe sloene za
analitiko rjeavanje. Tada je korisno sustav nadomjestiti analognim modelom. Na modelu se
vre mjerenja koja se prevode u uvjete ispitivanog sustava. Obino se na modelu vrlo lako
realiziraju promjene parametara sustava i brzo ocjenjuje utjecaj tih parametara na promjene
fizikalnih varijabli. Prednost modela je i u tome to se fizikalna zbivanja prikazuju u
vremenskom podruju koje odgovara fizikalnoj stvarnosti pa se na taj nain zorno povezuje
stvarnost i matematika simbolika.

Elementi modela na odreeni nain simuliraju elemente ispitivanog realnog sustava pa se
ureaji na kojima se ostvaruju modeli nazivaju simulatorima, a sam postupak gradnje modela
simulacijom.

U samom poetku simulatori su bili analogni, mehaniki ili elektrini ureaji, s
unaprijed definiranim osnovnim elementima. Vremenski odziv dobiva se na pisau ili
osciloskopu. No, razvoj elektronikih raunala omoguio je da se simulatori "simuliraju" na
elektronikim raunalima u posebnim programima kao to su TutSim, VisSim, itd. Danas se
za simulaciju elektrinih i elektronikih sklopova najvie koristi Electronic Workbench
(EWB), odnosno Multisim u novoj inaici. Takav tip specijaliziranog programa je i Atlas, koji
se koristi za simulaciju arhitekture mikroraunala. Slino, u raznim podrujima znanosti
postoje specijalizirani programi poput Powersim i sl. Openito se za simulaciju raznih
sloenih sustava koristi MatLab-ov dio - Simulink. Octave je pristupaan zbog toga to se
nalazi u javnoj domeni (GNU, General Public License). Vrlo dobri rezultati se mogu postii
upotrebom programa Mathematica.
U poetnoj fazi izrade bilo kojeg novog proizvoda ukljuena je i simulacija na
raunalu. Ako rezultati ne zadovoljavaju, moraju se mijenjati parametri prema podacima
raunalne simulacije, a tek kad je na raunalu sve u redu ide se na izradu modela i na kraju
prototipa.
Za upravljanje sustavima potrebno je poznavati i mjeriti kontrolne veliine. Kontrolne
veliine mogu biti npr. jedan ili vie izlaza iz sustava. Te se kontrolne veliine analiziraju kao
signali. Postoji vie vrsta signala i vie podjela signala u srodne grupe.
No, prije samog rada, potrebno je razmotriti ispravno znaenje odreenih pojmova.

Sustav je prirodna, drutvena, tehnika ili mjeovita tvorevina koja u nekoj okolini djeluje
samostalno s odreenom svrhom.

Tvorevina je skup elemenata koji stoje u takvom uzajamnom odnosu da ne postoje razdvojeni
podsustavi.

Djelovanje oznaava obavljanje radnji pretvorbe energije, obrade tvari ili obrade informacija.

Svrha oznaava konaan rezultat djelovanja/djelatnosti izraene u nekom cilju, a za
zadovoljavanje neke potrebe.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

2
U Tablici 1.1. data su dva primjera koja pojanjavaju pojmove djelatnosti, cilja i svrhe.
Navedeni su ciljevi kakvi bi logiki trebali biti. Cilj farmacije bi trebao biti stvoriti lijek za
neku bolest kako bi ljudi bili zdravi. Cilj ulova ribe (ribolovna djelatnost) je prehrana
stanovnitva.

Tablica 1.1: Usporedba djelatnosti, cilja i svrhe

DJELATNOST CILJ SVRHA
farmacija Lijek Zdravlje
ribolov Riba Ishrana

Automobil ne moe djelovati samostalno, pa stoga nije sustav, iako je sloena,
tehnika i svrhovita tvorevina. To je sprava (ureaj). Vozila, pisai, dizalice, letjelice i sl.
uglavnom nisu sustavi. Meutim, automobil s vozaem je mjeoviti sustav. Miolovka je
svrhovita tvorevina koja ne moe djelovati bez vanjskog poticaja, pa nije sustav. Ovakve
svrhovite tehnike tvorevine (zamke, zvonca, alarmi, termometri) koje vanjskim poticajem
obave odreenu radnju nazivaju se napravama.
Elektrini stroj za rublje je sustav, jer djeluje samostalno i svrhovito. Samostalno
djelovanje neke tvorevine, bilo prirodne, bilo tehnike, mogue je ako takva tvorevina
posjeduje voenje. Voenje (regulacija) je smisleno djelovanje na stanje energije i tvari u
nekom procesnom prostoru na nain da se postigne ili ouva neki cilj, odnosno svrha procesa.
Voenje se temelji na mjerenju i motrenju procesa pa je voenje zapravo postupanje s
informacijama sa ciljem odravanja danog procesa. Motrenje je kad se odreuje da li je neto
npr. vrue ili hladno, a mjerenje kad se odreuje kolika je temperatura, npr. 22C.

Automatika je znanstveno-tehnika disciplina ija su podruja teorija voenja, istraivanje i
analiza uvjeta djelovanja i zakonitosti voenja razliitih sustava te sinteza i gradnja sustava za
automatsko voenje.

Automatizacija je tehnika disciplina koja obuhvaa sve mjere s kojima se smanjuje udio
ljudskog rada u proizvodnji i s kojima se postie vii stupanj ekonomine i rentabilne
proizvodnje u pogledu utroka sirovine, energije i vremena.

Automacija ima iri smisao i oznaava razdoblje u razvoju proizvodnih snaga u kojem
strojevi zamjenjuju ovjeka u fizikom radu i misaonim djelatnostima: opaanju, pamenju i
odluivanju.

Automacija je tehniko-ekonomska disciplina koju ine sve tehnike organizacije i
ekonomske discipline meusobno povezane za ostvarenje najbolje mogue proizvodnje.
Modeliranje je proces ljudskog uma i redovito je pojednostavljeni prikaz promatrane
stvarnosti [4]. Modeliranje je olaalo rjeavanje sustava, problema oko izrade i njegov rad.
Cilj modeliranja je to vie pribliiti promatrani sustav na to jednostavniji nain, a pri tome
zadrati sve relevantne karakteristike istog. Modeliranje omoguuje laku izradu i uoavanje
potencijalnih problema, otkaza i kvarova te poboljanja. Jedan od ciljeva modeliranja je
odreivanje pouzdanosti i raspoloivosti sustava u cijelosti i pojedinih komponenti. Dakle,
moe se rei da vrijedi definicija:

Modeliranje je proces u kojem se stvarni sustav predstavlja pojednostavljenim modelom.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

3
Model moe biti matematiki ili opisan grafiki, kao npr. blok-dijagramom. Iz modela
se moe napraviti raunalni kod koji imitira rezultate koje daje sustav.
Postoji est koraka u modeliranju bilo kojeg sustava:
1. definiranje sustava ili cilja simulacije,
2. identificiranje komponenti sustava,
3. modeliranje sustava s jednadbama,
4. izrada blok dijagrama u simulacijskom programu (npr. Simulinku),
5. izvoenje simulacije i
6. potvrda rezultata simulacije.
Izvoenje prva 3 koraka ovog procesa je izvan Simulinka (ako se radi u programskom
paketu Matlab) prije nego se pone izraivati blok dijagram.

Definiranje sustava: Prvi korak modeliranja dinamike sustava je njegova potpuna definicija.
Ako se modelira veliki sustav koji moe biti podijeljen u vie dijelova, svaki dio se modelira
odvojeno. Nakon stvaranja modela tih dijelova, vri se integriranje u kompletni model
sustava.

Identificiranje komponenti sustava: Drugi korak u procesu modeliranja je identifikacija
komponenti.
3 tipa komponenti koji definiraju sustav su:
Parametri vrijednosti sustava koje su konstantne ako ih ne promijenimo,
Stanja varijable u sustavu koje se mijenjaju s vremenom i
Signali ulazne i izlazne vrijednosti koje se mijenjaju dinamiki tijekom simulacije.
U Simulinku, parametri i stanja su dani blokovima, dok su signali dani linijama koje
spajaju blokove. Za svaki podsustav koji je identificiran, bez obzira na programski paket,
potrebno je postaviti pitanja:
Koliko ulaznih signala podsustav ima?
Koliko je izlaznih signala podsustava?
Koliko stanja (varijabli) ima podsustav?
Koji su parametri (konstante) u podsustavu?
Postoje li unutarnji signali podsustava?
Kada se odgovori na ta pitanja dobiva se popis komponenti sustava i moe se poeti
modeliranje.

Modeliranje sustava jednadbama je trei korak: Potrebno je formulirati matematike
jednadbe koje opisuju sustav. Jednadbe se piu za svaki podsustav, a pri tome se koristi
popis komponenti. Model moe ukljuivati: algebarske jednadbe, logike jednadbe,
diferencijalne jednadbe (za kontinuirane sustave) te jednadbe diferencija (za diskretne
sustave). Te se jednadbe koriste za stvaranje blok dijagrama u Simulinku.

Izrada (Simulink) blok dijagrama: Blok dijagram se izrauje za svaki podsustav odvojeno.
Nakon modeliranja svakog podsustava, oni se integriraju u jedinstveni model sustava.

Izvoenje simulacije: Izvodi se simulacija i analiziraju rezultati.

Potvrda (validacija) simulacijskih rezultata: Cilj ovog koraka je ispitati da li model tono
opisuje fizikalne karakteristike sustava.

Slika 1.1. algoritamskim nainom prikazuje proces simuliranja.
Struktura simulacijskog procesa nije strogo sekvencijalna, to znai da je mogu
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

4
povratak na prethodne korake procesa, ovisno o dobivenim rezultatima u pojedinim fazama
procesa.



Slika 1.1: Dijagram toka simulacijskog procesa

Blok za planiranje simulacijskog eksperimenta i njegovo izvoenje sa slike 1.1
oznaava planiranje simulacijskih eksperimenata koji omoguuju ispunjenje cilja simulacije.
Analiza rezultata eksperimenta je statistika analiza rezultata simulacijskog eksperimenta.
U literaturi se susree i drukija podjela procesa simulacije. Prema drugom pristupu,
postupak simulacije unutar Simulinka se moe podijeliti na tri faze, i to na:
1. Prevoenje modela,
2. Povezivanje modela i
3. Simulacija.

Prevoenje modela
U ovoj se fazi model prevodi u izvrni oblik, pri emu se obavljaju sljedee operacije:
Izraunavaju se parametri blokova,
Odreuju se svojstva signala,
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

5
Provodi se postupak optimizacije s ciljem reduciranja broja blokova u shemi,
Virtualni blokovi se zamjenjuju blokovima koje oni sadre,
Formira se lista blokova koja se u fazi povezivanja modela koristi kao polazite za
odreivanje poretka izvravanja blokova,
Odreuju se vremena uzorkovanja blokova za koje vrijeme uzorkovanja nije
eksplicitno navedeno.

Povezivanje modela
U ovoj se fazi priprema memorija potrebna za spremanje signala, stanja, izlaza i
ostalih parametara simulacije. Nadalje, na temelju liste blokova stvorene u prethodnoj fazi,
odreuje se najefikasniji poredak izvravanja blokova kako eventualno ne bi dolo do pojave
algebarskih petlji. Pritom se uzima u obzir i eventualna razina prioriteta koju korisnik moe
dodijeliti pojedinom bloku.

Simulacija
O ovoj fazi Simulink sukcesivno izraunava stanja i izlaze iz sustava u vremenskim
trenucima koji mogu, ali i ne moraju biti u jednolikim razmacima to ovisi o odabranom
rjeavau diferencijalnih jednadbi (eng. solver).

Suvremeno modeliranje je praktiki nezamislivo bez raunala odnosno raunalnih
programa, koja se u modeliranju koriste prvenstveno u dvije svrhe:
- razvoj modela i
- izvoenje prorauna.
Izraz "modeliranje i simulacija" oznaava sloenu aktivnost koja ukljuuje tri
elementa: realni sustav, model i raunalo.

Na kraju treba vidjeti i zato je Matlab izabran za simuliranje i modeliranje. Neke
prednosti Matlaba u usporedbi s "klasinim" programskim jezicima poput Fortran-a ili C-a su:
interaktivno suelje omoguava brzo eksperimentiranje (Matlab je intrepretirani jezik
za razliku od, npr. Fortrana, koji je prevoen - kompajliran),
potrebna je minimalna briga oko podatkovnih struktura (praktiki nema deklaracija
varijabli i polja osim ako se eli tono neto definirati na neki poseban nain),
Matlab omoguava brzo i lako programiranje (zahvaljujui monom matrinom
konceptu),
ugraeni grafiki podsustav omoguava jednostavnu, kvalitetnu i brzu vizualizaciju,
programi pisani u Matlabovom jeziku (tzv. m-datoteke) su obine tekstualne datoteke
i stoga su potpuno prenosive izmeu razliitih operacijskih sustava/platformi,
postoje mnogobrojni dodatni paketi (alatke, engl. toolbox), tj. skupine m-datoteka za
razna specijalna podruja i postoje mnogobrojne m-datoteke i itavi paketi koje autori,
ujedno i korisnici, stavljaju na slobodno raspolaganje putem Interneta.










MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

6
2. UPOTREBA MATLAB/OCTAVE PROGRAMSKIH LINIJA


M-datoteke su obine tekstualne datoteke koje sadre Matlab-ove naredbe (programe)
te imaju ekstenziju (oznaka iza toke u imenu datoteke) "m". Postoje dvije vrste m-datoteka:
skripte i funkcije (u uem smislu). Zajedniko im je sljedee:
% je znak za komentar. Matlab i Octave ignoriraju sve to se u nekoj liniji nalazi iza
znaka % do kraja linije. U novijim inaicama Matlaba postoji skupno komentiranje
vie linija "%{ linije pod komentarom %}".
Prve linije u datoteci koje poinju s % sadre opis programa. On je prekinut prvom
linijom koja ne poinje s %. Prve linije pod komentarom ispisuju se u glavnom
prozoru Matlaba naredbom help <ime_datoteke> (bez nastavka "m"!).
Format linije je slobodan, pri emu jedna linija moe sadravati vie naredbi
odvojenih zarezom ili toka-zarezom. Treba znati da se rezultat svake naredbe koja ne
zavrava toka-zarezom odmah ispisuje na zaslon - to se najee ne eli.
"..." je znak za nastavak linije.
Skripta je vanjska ili korisnika datoteka koja sadri niz Matlabovih izraza. Tipkanjem
imena datoteke, izvravaju se te naredbe (izrazi) po redu kako su napisani. Skripte imaju
ekstenziju .m i esto se nazivaju m-file-ovima. Najjednostavniji su oblik programa u
Matlabu.
Skripte mogu koristiti podatke iz rade memorije ili kreirati nove podatke za rad.
Skripte ne mogu davati izlaze, ali svi podaci koje je skripte obradila ostaju u radnom prostoru
Matlaba pa se mogu koristiti u glavnom prozoru za daljnji rad.
Skripte sadre niz Matlab izraza koji ne zahtjevaju posebno deklariranje na poetku ili
negdje u programu. Mogu sadravati komentare, koji mogu biti samostalne linije ili dio bilo
koje druge linije.
Upiite u programu za ureivanje ( ) koda sljedei niz naredbi:



Nakon toga spremite u radni direktorij funkciju pod imenom "pozdrav.m". Upiite
novodefiniranu funkciju u glavni prozor Matlaba:

pozdrav
Dobar dan!

Poziv funkcije
Ovo ispisuje Matlab kao izvrenje funkcije
Promt je znak spremnosti za novu naredbu

Nakon upisivanja imena funkcije, raunalo u glavnom prozoru ispisuje tekst "Dobar
dan!", te javlja da oekuje nove naredbe (znak ""). Upisivanje naredbe edit pozdrav otvorit
e se u programu za editiranje traena datoteka pozdrav.m.

2.1. Koritenje glavnog prozora MatLab-a u analizi automatskih sustava s pomou
prijenosne funkcije

Matlab se moe koristiti tako da se upisuju izravne naredbe u glavni prozor (engl.
Comand Window). To je prozor koji se otvara pri pokretanju Matlab-a. U glavnom prozoru na
poetku retka stoji "", to oznaava da je MatLab spreman za rad. Ako nema tog znaka,
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

7
znai da se izvrava neka naredba. Naredba se poinje izvravati pritiskom tipke ""
(ENTER) na tipkovnici.
Naredbom whos uvijek se moe provjeriti koje su varijable u memoriji, npr:
whos
Name Size Bytes Class
brojnik 1x2 16 double array
nazivnik 1x3 24 double array
p1 1x2 16 double array
p2 1x2 16 double array
Grand total is 9 elements using 72 bytes
Matlab ima iroko podruje brojeva s kojima moe raunati pa se zato oznaavaju s
pomou potencija. Tako je npr. 1.00e+000 isto to i 1 10
0
= 1. Slovo "e" oznaava eksponent
broja 10.

Primjer 2.1: U ovom primjeru razmotirit e se prijenosna funkcija
5 , 0 5 , 1
1 3 , 0
) (
2
+ +
+
=
s s
s
s W .
Potrebno je odrediti: a) raspored nula i polova, b) geometrijsko mjesto korijena, c) vremenski
odziv na jedininu odskonu funkciju, d) Bodeov dijagram, e) Nyquistov dijagram.
(Napomena: U Matlabu se decimalni brojevi oznaavaju s decimalnom tokom, a zarez znai
drugi broj ili element u matrici).
Primjetite da je:
) 5 , 0 )( 1 ( ) 1 ( 5 , 0 ) 1 ( 5 , 0 5 , 0 5 , 0 5 , 1
2 2
+ + = + + + = + + + = + + s s s s s s s s s s
Prvo treba unijeti podatke u raunalo W(s):

brojnik = [.3 1];
p1 = [1 1];
p2 = [1 .5];
nazivnik = conv(p1, p2); % umnoak dva izraza obavlja se konvolucijskom instrukcijom
H = tf (brojnik, nazivnik);

Poslije svakog retka pritie se tipka "" (ENTER) na tipkovnici. MatLab-ov
programski jezik napravljen je tako da pisanjem ";" ne ispisuje rezulat instrukcije ispred, a
ako se toka-zarez izostavi, ispisuje, npr. nakon:
brojnik = [.3 1]
brojeve .3 i 1, jer nije stavljena toka-zarez na kraju retka.
a) Iz prijenosne funkcije je vidljivo da su polovi za s = - 0,5 i s = -1, jer je tada nazivnik
jednak nuli, a nula za s = -3,333, jer je tada brojnik jednak nuli.
Raspored nula i polova dobiva se s naredbom

pzmap(H);

Stiskanjem tipke "" (ENTER) otvara se grafiki prozor prikazan na slici 2.1.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

8


Slika 2.1: Raspored nula i polova zadane prijenosne funkcije

Prirodne frekvencije i koeficijenti priguenja se dobivaju naredbom:

damp(H)

Raunalo ispisuje rezultat naredbe:

Svojstvena vrijednost Priguenje Frekvencija(rad/s)
Eigenvalue Damping Freq. (rad/s)

-5.00e-001 1.00e+000 5.00e-001
-2.00e-001 + 9.80e-001i 2.00e-001 1.00e+000
-2.00e-001 - 9.80e-001i 2.00e-001 1.00e+000

Svojstvene vrijednosti su znaajne, jer predstavljaju rjeenje karakteristine jednadbe
za neki sustav.

b) Geometrijsko mjesto korijena (GMK) dobiva se naredbom:

rlocus(H);

Stiskanjem tipke "" otvara se grafiki prozor prikazan na slici 2.2.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

9


Slika 2.2: GMK razmatranog sustava

c) Vremenski odziv na jedininu odskonu funkciju dobiva se naredbom:

step(H)

Stiskanjem tipke "" otvara se grafiki prozor prikazan na slici 2.3.



Slika 2.3: Odziv sustava opisanog prijenosnom funkcijom W
d) Matlab rauna stvarni, a ne asimptotski Bodeov dijagram. Dobiva se naredbom:
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

10

bode(H)



Slika 2.4: Bodeovi amplitudni i frekvencijski dijagram

e) Nyquistov dijagram dobiva se naredbom:

nyquist(H)

Stiskanjem tipke "" otvara se grafiki prozor prikazan na slici 2.5.



Slika 2.5: Nyquistov dijagram

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

11
2.2. Iscrtavanje realnih podataka

U ovom potpoglavlju dat je primjer koritenja Matlab/Octave programskih paketa za
iscrtavanje realnih industrijskih podataka. U ovom primjeru iscrtat e se podaci o variranju
napona, stuje, djelatne i jalove snage u realnom postrojenju.
Elektrina troila pored djelatne snage uzimaju iz mree i odreeni iznos jalove snage.
Tipina troila jalove snage u mrei su asinkroni motori, transformatori, prigunice, a tipini
izvori viih harmonika (usto i troila jalove snage) su regulirani elektromotorni pogoni,
ispravljai i lune pei. Jalova snaga dodatno optereuje prijenosne elemente u mrei, stvara
gubitke, a prekomjerno uzeta jalova energija (vie od 33% djelatne) se naplauje.
Vii harmonici mogu izazvati rezonancije s elementima mree, a s tim u vezi dodatna
izoblienja napona. Zato je povoljno kompenzirati jalovu snagu, odnosno popraviti faktor
snage troila i potpisivati vie harmonike na iznos koji omoguava nastajanje tetnih pojava u
mrei.
Za popravke faktora snage u elektroenergetskim postrojenjima primjenjuju se:
- rotacioni kompenzatori,
- kompenzacija kondenzatorima:
statika (pojedinana i grupna),
dinamika (izravna i neizravna).
U novije je vrijeme tehnologija izrade kondenzatora za kompenzaciju tako napredovala da su
oni postali univerzalno rjeenje za industrijska i distributivna postrojenja.
Jalova snaga prije kompenziranja prikazana je na slici 2.6. s

, a nakon
kompenziranja s

. Za ovu kompenzaciju potrebna je snaga kondenzatora.



(2.1)



Slika 2.6: Trokut snage kod kompenzacije faktora snage

gdje su:
P
1
radna snaga,
S
1
ukupna snaga,
Q
1
jalova snaga prije kompenziranja,
Q
2
jalova snaga nakon kompenziranja,
Q
c
snaga kondenzatora,

- kut koji odreuje faktor snage nakon kompenzacija i

- kut koji odreuje faktor snage prije kompenzacije.


Osim to jalova snaga, a s njom i vii harmonici, optereuju troila spojena na mreu,
a u krajnju ruku zbog rezonancije dovode do tetnih utjecaja, bitni razlog kompenziranja je
cijena koja se plaa za prekomjerno uzetu jalovu snagu iz distribucije. Faktor snage je veliina
izraena kosinusom kuta izmeu ukupne preuzete snage i koritene djelatne snage. Ukoliko je
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

12
taj kut takav da je cos > 0,95 induktivno ili kapacitivno, ta koliina jalove snage se ne
naplauje.
U industrijskim i brodskim postrojenjima postoji veliki broj troila koja crpe jalovu
snagu iz mree. To mogu biti regulirani DC i AC motori te transformatori napona. U svrhu
kompenzacija obino je instalirano vie grana kompenzacije.
U nastavku e se prikazati naelo kompenziranja jalove snage na dovodu 35 kV s
trafostanice Katela u krug eljezare. Prikazana su variranja napona, struje, djelatne i
jalove snage u ovisnosti o vremenu, te faktor snage proraunat iz podataka djelatne i jalove
snage takoer u ovisnosti o vremenu.

Tablica 2.1: Realni vremenski podaci o variranju napona, struja i snaga iz industrijskog
pogona u razmacima od 18 sekundi

Vrijeme Napon [kV] Struja [A] P [MW] Q [MVAr]
11:47
:
:
:
34,84 27,29 1,6 -0.4
34,84 27,95 1,3 -0.3
34,68 26,78 2,8 0.7
34,59 35,04 3,0 1.2
34,58 50,29 3,1 1.25
34,55 54,38 3,2 1.4
34,50 57,48 3,2 1.4
34,85 62,64 1,4 -0.2
34,88 20,80 1,4 -0.45
34,93 22,29 1,3 -0.6
11:50
:
:
:
34,91 22,29 1,4 0.55
34,89 29,82 1,5 -0.3
34,84 29,02 1,5 -0.2
34,71 31,65 1,4 -0.2
34,79 31,38 1,6 -0.3
34,69 55,90 3,0 0.7
34,59 58,15 3,1 0.8
34,59 60,02 3,3 0.9
34,58 60,89 3,2 1.2
34,56 48,45 3,1 1.3
11:53
:
:
:
34,75 28,85 2,6 0.1
34,87 34,73 1,4 -0.5
34,67 57,79 2,8 0.9
34,56 67,66 3,0 1.2
34,53 65,54 3,2 1.1
34,50 63,34 3,0 1.3
34,46 59,65 3,0 1.4
34,74 25,28 1,6 -0.2
34,78 55,90 1,5 -0.1
34,59 50,29 7,6 0.7
34,58 67,69 3,0 1.2

Sljedei niz naredbi omoguuje iscrtavanje ovisnost efektivne vrijednosti napona o vremenu:

clear all;
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

13
U=[34,84 34,84 34,68 ... 34,58]; % umjesto ... potrebno je unjeti sve vrijednosti iz stupca
% ili ih uitati iz neke datoteke
t=0:18:550;
plot(t,U); grid;

Rezultat je prikazan na slici 2.7.



Slika 2.7: U-t graf

Sljedei niz naredbi omoguuje iscrtavanje ovisnosti promjene efektivne vrijednosti
struje o vremenu:

clear all;
I=[27,29 27,95 26,78 ... 55,90]; % umjesto ... potrebno je unjeti sve vrijednosti iz stupca
t=0:18:550;
plot(t,I); grid;

Matlab naredbe za iscrtavanje djelatne i jalove snage su:

clear all;
P=[1,6 1,3 2,8 ... 3,0]; % umjesto ... potrebno je unjeti sve vrijednosti iz stupca
Q=[-0,4 -0,3 0,7 ... 1,2]; % umjesto ... potrebno je unjeti sve vrijednosti iz stupca
t=0:18:550;
plot(t,P);
hold
plot(t,Q);
grid;


MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

14


Slika 2.8: I-t graf



Slika 2.9: P-t graf (gornja krivulja) te Q-t graf (donja krivulja)

Iscrtani grafovi pomau u prouavanju trendova i izraunu potrebne kompenzacije.




MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

15
2.3. Analiza elektrinih krugova u Matlab/Octave

U Matlab/Octave glavnom prozoru mogu se izvriti prorauni elektrinih krugova uz
prethodnu pripremu. U ovom potpoglavlju dano je par primjera.

2.3.1. Odreivanje potencijala vorova

Primjer 2.2: Odredite potencijal svakog vora kruga sa slike.

Oznaimo potencijale vorova 1, 2 i 3 s
A
,
B
i
C
. Jednadbe prvog Kirchhoffovog zakona
za te vorove glase:
Za potencijal
c
(toka 2):
3 1 4 R R R
I I I + =
Za potencijal
B
(toka 3):
3 2 R R
I I =
Te treba dodati oitu jednadbu, jer je naponski izvor izravno spojen na vor 1 (potencijal

A
):

1
U
A
=


to znai da je ve poznat jedan napon vora.



Slika 2.10: Zadani krug za analizu potencijalom vorova

Iz jednadbi prvog Kirchhoffovog zakona slijedi:

3 2
3 1
1
4
R R
R R
U
R
C B B A
C B C C

=

Grupiranjem se dobiva:

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

16
B
C A
B
C
R R R R
R R R R R
U

|
|

\
|
+ + =

|
|

\
|
+ + =
3 2 3 2
3 4 3 1 1
1
1 1
1 1 1


Ako se matricama eli rijeiti sustav, tada je potrebno definirati matrice sustava tako da je:

A = B C

gdje su:

(
(
(
(

=
2
1
1
1
R
U
R
U
A ,
(
(
(
(
(

|
|

\
|
+

|
|

\
|
+ +
=
3 2 3
3 4 3 1
1 1 1
1 1 1 1
R R R
R R R R
B ,
(

=
B
C
C

.


% Unoenje podataka:
U1= 2;
R1= 330;
R2= 70;
R3= 160;
R4= 270;
% Definiranje matrice sustava i vektora struja
B=[1/R1+1/R3+1/R4 -1/R3;
-1/R3 1/R3+1/R2];
A=[U1/R1; U1/R2];
% Izraun potencijala vorova C i B po redu:
C=inv(B)*A

Raunalo ispisuje rjeenje:

C =

1.3316
1.7966

to znai da je potencijal vora C 1,33 [V], a vora B 1,7966 [V].

2.3.2. Proraun prijenosnih linija

Primjer 2.3: Za prijenosnu liniju sa slike odredite ulaznu impendanciju uz 0 < i d < 0 za
sluaj kada je 1 , 0
0
=
Z
Z
T
.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

17

Slika 2.11: Prijenosna linija

Prijenosne linije su razmatrane u vie kolegija tijekom studija. Iz teorije o njima poznato je da
vrijedi:

( )
( ) l
l

tg jZ Z
tg jZ Z
Z
Z
T
T ul
+
+
=
0
0
0
(2.2)

Da bi se taj rezultat izrazio preko zadanog omjera potrebno je desnu stranu (i brojnik i
nazivnik) podijeliti sa Z
0
:


( )
( ) l
l

tg
Z
Z
j
jtg
Z
Z
Z
Z
T
T
ul
0
0
0
1+
+
= (2.3)

U Matlab-u ili Octave-u se moe isprogramirati vie verzija rjeenja: s fiksnim
omjerom, s unosom proizvoljnog omjera ili s analizom odreenog opsega za omjere. To znai
da je bilo koji od idua tri koda ispravan.

% Zadana tono odreena vrijednost
clear;
clf;
beta_d=0:0.02:2*pi;
ZT_Z0=0.1;
Zul_norm=(ZT_Z0+i.*tan(beta_d))./(1+ZT_Z0.*i.*tan(beta_d));
subplot(211); plot(beta_d./(pi),abs(Zul_norm))
xlabel('{\beta}d (normaliziran na pi)'); ylabel('|Z_{ul}|/Z_0')
subplot(212); plot(beta_d./(pi),angle(Zul_norm)./(pi))
xlabel('{\beta}d (normaliziran na {\pi})')
ylabel('Faza(Z_{ul}) (normalizirana na {\pi})'); axis([0 2 -0.5 0.5])

% unos bilo kojeg omjera:
clear;
clf;
beta_d=0:0.02:2*pi;
ZT_Z0=input('Unesite omjer ZT/Z0 ');
Zul_norm=(ZT_Z0+i.*tan(beta_d))./(1+ZT_Z0.*i.*tan(beta_d));
subplot(211); plot(beta_d./(pi),abs(Zul_norm))
xlabel('{\beta}d (normaliziran na pi)'); ylabel('|Z_{ul}|/Z_0')
subplot(212); plot(beta_d./(pi),angle(Zul_norm)./(pi))
xlabel('{\beta}d (normaliziran na {\pi})')
ylabel('Faza(Z_{ul}) (normalizirana na {\pi})'); axis([0 2 -0.5 0.5])
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

18

% Iscrtavanje rezultata za razliite omjere
clear;
clf;
beta_d=0:0.02:2*pi;
for ZT_Z0=0.1:0.1:2;
Zul_norm=(ZT_Z0+i.*tan(beta_d))./(1+ZT_Z0.*i.*tan(beta_d));
subplot(211); plot(beta_d./(pi),abs(Zul_norm)); hold on;
xlabel('{\beta}d (normaliziran na pi)'); ylabel('|Z_{ul}|/Z_0')
subplot(212); plot(beta_d./(pi),angle(Zul_norm)./(pi)); hold on
xlabel('{\beta}d (normaliziran na {\pi})')
ylabel('Faza(Z_{ul}) (normalizirana na {\pi})')
end

Slika 2.12 prikazuje vie krivulja, kao rezultat razliitog izbora omjera. Zadani omjer
dan je na gornjoj slici, a svi u opsegu od 0,1 do 2 na donjoj. Crvena crta je za omjer 0,1, a
plava 2.


0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
5
10

d (normaliziran na pi)
|
Z
u
l
|
/
Z
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-0.5
0
0.5

d (normaliziran na

)
F
a
z
a
(
Z
u
l
)

(
n
o
r
m
a
l
i
z
i
r
a
n
a

n
a

)
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

19

Slika 2.12: Grafiki prikaz rjeenja Primjera 2.3

2.3.3. Rjeavanje izmjeninih krugova u podruju kompleksne frekvencije

Primjer 2.4: Zadan je Butterworthov NP filter treeg reda kao na slici. Naite odziv (izlaz)
u
izl
(t) na zadani ulaz u
ul
(t): ( ) t f t f u
ul
+
|

\
|
=
2 1
2 sin 4
4
2 sin 5 , 1

. Zadano je: R =
10 [], L
1
= 1 [H], L
2
= 0,25 [H] i C = 0,66 [F].



Slika 2.13: Zadani NP Butterworthov filter 3. reda

f1=0.1;
w1=2*pi*f1;
f2=1.6;
w2=2*pi*f2;
T_uk=2/f1;
N=10001;
t=linspace(0,T_uk,N);
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
5
10

d (normaliziran na pi)
|
Z
u
l
|
/
Z
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-0.5
0
0.5
d (normaliziran na )
F
a
z
a
(
Z
u
l
)

(
n
o
r
m
a
l
i
z
i
r
a
n
a

n
a

)
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

20
uul=1.5*sin(w1*t-pi/4)+4*sin(w2*t);
plot(t,uul)
grid on
xlabel('t [s]');
ylabel ('u_u_l');

Slika 2.14: Ulazni napon

U frekvencijskom podruju drugi Kirchhoffov zakon za dvije nezavisne konture prema
slici moe se napisati:

( )
( ) 0
1
1
2 1 2 2 2
2 1 1 1
= +
= +
I I
C j
I R I L j
U I I
C j
I L j
ul



Da bi se izraunao izlazni napon, potrebno je izraunati fazor struje I
2
ili u matrinom obliku
vektor struja. To e se postii sljedeim programskim kodom:

R = 10;
L
1
= 1;
L
2
= 0.25;
C = 0.66;
f1 = 0.1;
w1 = 2*pi*f1;
f2 = 1.6;
w2 = 2*pi*f2;
w = [w1 w2];
0 2 4 6 8 10 12 14 16 18 20
-6
-4
-2
0
2
4
6
t [s]
u
u
l
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

21
Uul = [1.5*exp(-j*pi/4) 4];
Tuk = 2/f1;
N = 1001;
t = linspace (0, Tuk, N);
u = zeros(1, N);
for k=1:2
ZL1 = j*w(k)*L1;
ZL2 = j*w(k)*L2;
ZC = 1/(j*w(k)*C);
Z = [ZL1+ZC -ZC
-ZC ZC+ZL2+R];
U = [Uul(k) 0]';
Y = inv(Z);
I = Y*U;
U(k) = R*I(2);
u = u + abs(U(k))*sin(w(k)*t+angle(U(k)));
end;
plot(t, u);
xlabel('t [s]');
ylabel ('U_i_z_l')

Rezultat je prikazan na slici 2.15a. Ako se eli usporediti ulazni i izlazni signal
potrebno je nakon izvoenja programskog koda za icrtavanje ulaznog napona upisati naredbu
za zadravanje iscrtanog grafa (hold on) te potom primjeniti kod za izraun izlaznog napona.
Zadnja plot nareba e u istoj slici iscrtati i izlazni napon. Da bi se lake razlikovali ulaz i
izlaz, izlazni napon iscrtan je crvenom bojom. Zdrueni graf je prikazan na slici 2.15b.
Moe se primjetiti da je zadani filter skoro u potpunosti ponitio utjecaj vie
frekvencijske komponente. Bolji ili loiji rezultat se moe postii promjenom L
1
, L
2
, C i R
i/ili ulaznog napona.

a)

0 2 4 6 8 10 12 14 16 18 20
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
t [s]
U
i
z
l
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

22

b)

Slika 2.15: a) Izlazni napon iz filtra, b) usporedba ulaznog i izlaznog napona.

2.4. Strukture, statistika, animacije, mjere uinkovitosti

Kada se analiziraju podaci, potrebno je izraunati statistiku, tj. neku od statistikih
veliina. Matlab ima ugraen niz funkcija koje raunaju odreene statistike. Neke poznate
veliine su npr. mean, median, mode, itd. Za njih postoje ugraene funkcije (built-in
functions'').
Jedna od statistika je histogram. Ako se eli odrediti histogram nekog vektora, moe
se postupiti na sljedei nain. Prvo e se definirati sluajni vektor za koji se eli izraunati
histogram:

vektor = 100*rand(1,100);

Gornja linija znai da se rezervira prostor u memoriji za vektor veliine 100 lanova
koji su sluajno generirani. Ako se eli samo rezervirati prostor bez definiranja koji su brojevi
na nekom mjestu, moe se koristiti naredba zeros (1,100). Podaci se mogu grupirati u
histogram naredbom:

hist(vektor,5:10:95);

koja iscrtava histogram s tokama centriranim u 5, 15, 2595 ili s:

N=histc(vektor,0:10:100);

Ovaj primjer daje broj pojavljivanja izmeu odreenih vrijednosti (u intervalima): 0
<10, 10 <20 , 90 <100. Moe se koristiti i naredba hist(vektor), kod koje se automatski
odreuju intervali ili hist(vektor, 100) kod kojeg su dane sve vrijednosti od 1 do 100.
0 2 4 6 8 10 12 14 16 18 20
-6
-4
-2
0
2
4
6
t [s]
U
i
z
l

(
c
r
v
e
n
o
)
,

U
u
l

(
p
l
a
v
o
)
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

23
Mnogi procesi u vjerojatnosti oslanjaju se na sluajne brojeve. MATLAB sadri
ugraene naredbe s uobiajenim distribucijama. Tako npr. rand vue brojeve uniformnom
distribucijom u intervalu od 0 do 1. Naredbom randn dobivaju se brojevi standardnom
normalnom distribucijom (Gauss). Naredba random daje sluajne brojeve iz vie distribucija.
Detaljan opis moe se nai utipkavanjem doc random. U dokumentaciji takoer postoji lista
specifinih funkcija.
Dana distribucija se moe izmijeniti. Tako npr. naredba:

y=rand(1,100)*10+5;

daje 100 ravnomjerno distribuiranih brojeva izmeu 5 i 15.

y = floor(rand(1,100)*10+6);

daje 100 ravnomjerno distribuiranih cijelih brojeva izmeu 10 i 15. U ovom sluaju je bolje
koristiti naredbu floor ili ceil (pod donja vrijednost ili krov gornja vrijednost) nego round
(zaokrui).

y = randn (1,1000);
y2 = y*10+16;

poveava standardnu devijaciju na 10 i srednju vrijednost na 16. Histograme se moe iscrtati
naredbom hist te je rezultat prikazan na Slici 2.16. Vidi se da je valni oblik histograma ostao
isti, ali je promjenjeno mjerilo x-osi zbog skaliranja i pomaka.


a)

-4 -3 -2 -1 0 1 2 3 4
0
50
100
150
200
250
300
y
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

24

b)

Slika 2.16: Histogram: a) poetnog vektora (y), b) modificiranog vektora (y2)

Primjer 2.5: Kao ilustraciju primjene generiranja sluajne vrijednosti, izvite simulaciju
Brownian-ove kretnje u 1 dimenziji.

Kod ove vrste kretnje odreuje se u kojem smjeru se skree u ovisnosti o vrijednosti
sluajnog broja. Prvo se definira vektor s lanovima 0 proizvoljnog broja elemenata, npr.
10000. Napisat emo petlju da bi pratili poloaj estice u svakom trenutku. Start je u 0. Da bi
dobili novi poloaj, odabrat emo sluajan broj i ako je < 0.5, kretnja je ulijevo, a za > 0.5
udesno. Pohranjuju se novi poloaji na njihovim mjestima u vektoru. Potom se iscrtava
histogram s 50 intervala u kojima su poloaji estice. Sve e se izvriti pozivanje sljedee
skripte (moe se nazvati proizvoljno, npr. brown.m prema imenu kretnje.

x=zeros(10000,1);
for n=2:10000
if rand<0.5
x(n)=x(n-1)-1;
else
x(n)=x(n-1)+1;
end
end
figure;
hist(x,50);

-20 -10 0 10 20 30 40 50 60
0
50
100
150
200
250
300
y2
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

25

Slika 2.17: Primjer razultata za Brownovo kretnje

Napomena: kako je rije o generiranju sluajnih brojeva, va graf moe ispasti drukiji od
grafa na gornjoj slici.

Dok je samorazumljivo upotrebljavanje vektora, tj. jednostupastih ili jednorednih
matrica, sam naziv Matlaba upuuje da je razumljivo i upotrebljavanje 2D matrica u
proraunima. One su korisne kod obrade i analize slika koje nisu u boji. Ve kod slika s
bojom, potrebno je imati 3 sloja 2D matrica, tj. 3D matircu. Matlab omoguuje formiranje n-
dimenzionalnih matrica. Pri tome svaki element mora biti istog tipa (integers/cjelobrojni,
doubles/dvosturke preciznosti, characters/znakovi, itd). Matrice su prostorno-uinkovite i
povoljne za izraun.
Ponekad su druge sloene strukture podataka pogodnije za odreeni problem, kao npr.
polja elija (engl. cell array), koja su slina poljima podataka (tzv. tipu array), ali elementi ne
moraju biti istog tipa, ili strukture (engl. structs), koje mogu uvati imena varijabli i njihove
vrijednosti unutar jedne strukture. Ovo je slino objektno orijentiranom programiranju u
Matlab-u.
elija je kao matrica, samo to svaki lan te matrice (polja) moe sadrati bilo kakav
tip podataka (ak i druge matrice).
-60 -40 -20 0 20 40 60 80
0
100
200
300
400
500
600
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

26


Slika 2.18: Primjer polja elija

Slika 2.18 prikazuje primjer polja elija. U lijevom stupcu su elije sa znakovima, tj.
imena ljudi. U srednjem stupcu su brojane vrijednosti. Gornja desna elija sadri
jednostupasz matricu s dva elementa, a donja desna elija je prazna. To znai da se
odreenim eijama mogu pridruivati odreeni podaci, kao npr. plaa, broj djece ili sl.
Isto bi se moglo uiniti s matricama, ali je za to potrebno najmanje 3-dimenzionalna
matrica. Pri tome je prostor gdje ne treba trea dimenzija nepotrebno zauzimanje memorije.
Za razliku od matrica, structure I polja elija potrebno je inicijalizirati definirajui tip
I veliinu podataka u pojedinim elijama, tj. alocirajui potrebnu memoriju.
Da bi se inicijalizirala elija potrebno je odrediti njenu veliinu, npr:

a=cell(3,10);

Ovo znai: a je elija s 3 reda i 10 stupaca.
elija se moe runo upisati u zagradama {}, npr:

c={'pozdrav svijetu',[1 5 6 2],rand(3,2)};

U tom sluaju, c je elija s 1 redom i 3 stupca. Svaki element elije moe biti biloto. Da bi se
proitao ili zapisao neki element koriste se zagrade {}. Primjeri zapisivanja podataka su:

a{1,1}=[1 3 4 -10];
a{2,1}='pozdrav';
a{1,2}=c{3};

itanje se izvrava pozivom odreene elije, npr. a{1,2} ili c{2}.
Strukture doputaju da se relevantne varijable nazovu svojim imenom iako su unutar
strukture. Poput su C-struktura, koje su objekti s poljima (fields). Da bi se inicijalizirale
prazne strukture koristi se naredba:

s=struct([]);

Kada bi ispitali veliinu ove strukutre sa size(s), u ovom sluaju bio odgovor bio 1x1.
Incijalizacija je opcijska, ali je preporuljiva kada su u pitanju velike strukture
Dodavanje polja vri se na nain:

s.ime= 'Perica Pisac';
s.rezultati= [95 98 67];
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

27
s.godina= 'G3';

Ne treba zaboraviti da polja mogu biti svata, kao: matrice, elije, pa ak i druge
strukture. Korisne su za dranje varijabli zajedno. Za vie infromacija moete pogledati doc
struct.
Napomena: Za verzije Matlaba poslije 7.12.0 (2011a i b), ne moe se prazna struktura
inicijalizirati (kao kod s=struct([])) pa se onda mora koristiti dodavanje elija (kao npr. s.ime,
itd), jer to ne prihvaa R2012. Meutim, bez linije s=struct radi, jer Matlabi od R2012
automatski sami formiraju s stukturu.
Iz elija se poe pozvati tono odreeni podatak. Uzmimo za primjer:

S=struct(ime,{Igor,Ivica},godine,[3 6]);

Ako se eli dobiti prvo ime potrebno je upisati:

S(1).ime

Da bi se inicijalizirala struktura, potrebno je zadati polje i vrijednosti parova:

ppl=struct('ime',{'Ivan','Igor','Ana'},'starost', {33, 25, 18},'starost_djece',{[2;4],1,[]});

Veliina s2 =1x3. Svaka elija mora imati istu veliinu.

osoba=ppl(2);

Osoba je struktura s poljima ime, starost, djeca. Vrijednosti polja su drugi indeks u
svakoj eliji.

osoba.ime

Rezultat je: Igor

Verzije Matlaba od R2012 ne prihvaaju 2 rijei za ime elije, pa mora biti jedna rije
starost djece, to se postie donjom crticom bez razmaka.
Da bi se pristupilo polju u strukturi, potrebno je dati ime polju.

stu=s.name;
scor=s.scores;



Slika 2.19: Izgled razmatrane strukture

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

28
Strukture 1x1 su korisne kada se koristi puno varijabli u funkciji. Sve se stave u
strukturu. Za pristup nx1 strukturnim poljima, koriste se njihova mjesta:

person=ppl(2);

gdje je person struktura s imenom, starou i/ili drugim podacima.

personName=ppl(2).name;

Ispis: Ime osobe je Igor'

a=[ppl.starost];

Napomena: a je 1x3 vektor starosti (godina).

Primjer 2.6: Generator sluajnih reenica. Napiite skriptu slucGen. Neka je elija veliine
3x2, a u njoj su imena ljudi u prvom stupcu, a napomene u drugom. Izaberite 2 sluajna cijela
broja (1-3). Ispiite reenicu u obliku [ime] je [napomena]. Startajte skriptu nekoliko puta i
promatrajte to se dogaa.

Ukucajte sljedee programske linije u tekstualni ili Matlabov editor.
Skripta sentGen izgleda ovako:

% skripta slucGen sluajni generator reenica
c=cell(3,2);
c{1,1}='Tanja';c{2,1}='Marija'; c{3,1}='Antonija';
c{1,2}='pametna'; c{2,2}='plavua'; c{3,2}='vruca'
r1=ceil(rand*3);r2=ceil(rand*3);
disp([ c{r1,1}, ' je ', c{r2,2}, '.']);

Ovo je primjer kako se mogu generirati sluajne reenice upotrebom elija i funkcije
za generiranje sluajnih brojeva. U engleskom jeziku je to jednostavnije te se mogu koristiti
imena oba spola. U hrvatskom bi reenice udno zvuale zbog razlika u deklinacijama s
obzirom na rodove.

2.4.1. Animacije

U Matlabu se moe lako uloviti slike iz filma i ponovo ih prizivati. Podrani formati
filmova su avi i animirani gif, mj2, mpg, wmv, asf i asx. Svaki ima svoje podruje primjene.
Tako je npr. avi format dobar za prirodne scene s mnogo boja i jasno definiranim rubovima,
dok je npr. animirani gif dobar za iscrtavanje filmova iz crtea ili teksta kada ima samo
nekoliko boja (max 256) i kada su dobro definirane linije.
Animacija se pravi tako da se iscrtava slika za slikom uz pauzom izmeu prikazivanja
slika. Pauza izmeu slika je potrebna, jer raunalo moe iscrtavati slike bre nego to ih
zamjeti ljudsko oko te bi u sluaju bez pauza vidjeli samo zadnju sliku.

Primjer 2.7: Generirajte sluajne brojeve koje e te vizuelizirati u obliku filma.

Rjeenje se moe napisati u editoru (onda se kopira u glavni prozor ili spremi i starta
prema spremljenom imenu) ili u glavnom prozoru. Sluajne brojeve moe se generirati
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

29
naredbom rand, koja generira pseudosluajne brojeve uniformnom razdiobom. Kako takvi
podaci ne moraju biti pogodni za ljudsko oko, koristi e se naredba imagesc, koja i skaliranje
podatake i iscrtava ih u grafikom prozoru.

close all;
clear all;
for t=1:50 % prikazat e se 50 slika
imagesc(rand(200));
colormap(hot); % Isprobajte takoer: jet, bone, gray
pause(.3); % u sekundama je broj u zagradi
end



a) b)

Slika 2.20: a) Iscrtavanje sluajnih brojeva: a) s hot mapom boja, b) s gray mapom boja

Film je niz slika koje treba uhvatiti i snimiti. Snimanje u Matlabu znai spremanje
matrice slike u memoriju ili neku varijablu, najee strukturu. Strukturi se moe pridruiti
matrica slike ili se moe oitati slika s naredbom getframe koja prevodi vrijednosti piksela u
matricu slike. Naredba movie prikazuje film. Njezna sintaksa je movie (F, a, b), gdje je F
struktura u kojoj je film, a koliko se puta ponavlja i b brzina izmjene slika u sekundi (engl.
Frame Per Second, FPS). Osim spremanja u obliku matrice, film se moe spremiti u nekom
grafikom formatu. Ako se eli na tvrdi disk spremiti film iz neke strukture F u avi format,
tada se koristi naredba: movie2avi(F,'test_film.avi', ime parametra,vrijednost parametra). F je
1 x n struktura, gdje je n broj slika. Svaka slika je struktura s dva polja: cdata i colormap. Ova
naredba prihvaa jedn ili vie parametara. Doputeni parametri su: 'colormap', 'compression',
'fps', 'keyframes', 'quality' i 'videoname'. Vrijednost parametra 'colormap' je matrica m x 3,
gdje je m najvie 256 ili 236 za saimanje. Parametar 'compression' je vrijednosti stringa koji
specificira kod saimanja. 'None' se koristi ako se ne eli saimanje. Ostale vrijednosti su
MSVC, RLE, Cinepak, Indeo3 ili Indeo5. Parametar 'fps' moe poprimiti brojanu vrijednost
koja znai koliko se slika prikazuje u sekundi. Uobiajeni standard je 30. Parametar 'quality'
je brojana vrijednost od 0 do 100. Vea kvaliteta i vea veliina datoteke postiu se ako se
upie vei broj. Parametar 'videoname' je opsino ime video niza, koje ima do 64 znakova.

Primjer 2.8: Za niz slika iz primjera 2.7 potrebno je snimiti film te ga prikazati 7 puta s
brzinom 24 slike u sekundi.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

30
Da bi se rijeio zadatak, potrebno je prvo ukucati ili u editoru ili u glavnom prozoru
naredbe:

close all
for n=1:30
imagesc(rand(200));
colormap(gray);
F(n)=getframe; % spremanje trenutne slike u strukturu F na mjesto n
end

Da bi se prikazao film koristi se naredba:

movie(F,7,24);

Ovo znai da se film prikazuje 7 puta s brzinom 24 slike u sekundi

Da bi se ovaj film spremio na tvrdi disk, koristi se npr.:

movie2avi(F,'testMovie.avi','FPS',24);

2.5. Alatke i njihova upotreba

Alatke sadre funkcije specifine za neko odreeno podruje, npr.: obrada signala, statistika,
optimizacija, upravljanje, statistika, itd.
Openito je uinkovitije koristiti MATLAB-ove alatke nego redefinirati ili
programirati svoju funkciju. To tedi vrijeme kodiranja i otklanjanja pogreke (debugging). U
alatkama su neke funkcije kompajlirane pa se izvravaju bre. Ipak se mogu pojaviti greke.
Stoga se u novim verzijama javljaju i izvjea o prepravkama postojeih funkcija. Greku
svatko moe prijaviti.
U nastavku su navedene neke iz irokog izbora alatki dostupnih za Matlab.

2.5.1. Simbolika alatka (engl. Symbolic Toolbox)

Kako je nekada poeljnije imati analitiki izraz za rjeenje, nego skup numerikih
vrijednosti, uvedena je simbolika alatka.

Tablica 2.2: Usporedba rjeavanja simbolikim i numerikim nainom

Nain rjeavanja Prednosti Nedostatci
Simboliki - rjeenje je analitiko
- daje mogunost inuitivnog
razmiljanja o rjeenju
- nekad nije mogue rijeiti
- rjeenje moe biti
prekomplicirano
Numeriki - uvijek daje rezultat
- rjeenje je precizno
- jednostavno kodiranje
(programiranje)
- teko je izvui dublje znaenje
- numeriki postupci ponekad
nisu uspjeni
- proraun moe dugo trajati

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

31
Simbolike varijable su tip poput varijabli s dvostrukom preciznou (double) ili
znakovnih (char).
Definiraju se naredbom sym:

a=sym('1/3');
b=sym('4/5');

Primjetite da razlomci ostaju razlomci. Prilikom definiranja simbolikih varijabli, mogu se
dodavati ogranienja.

c=sym('c','positive');

Za vie informacija moe se pogledati pomo (help sym). Za specifinosti se moe koristiti I
naredba syms kao npr.:

syms x y real

je skraeno za:

x=sym('x','real');
y=sym('y','real');

Kako su izrazi dobiveni simbolitkom alatkom esto vrlo nepregledni, novije inaice
Matlaba nastoje poboljati taj ispis kako bi bio pregledniji za ovjeka. Zato su uvedene I
naredbe koje poboljavaju prikaz u glavnom prozoru, kao: pretty, collect, simplify te subs.
Naredbe raspoznaju i trigonometrijske relacije kao npr.:

simplify (cos(x)^2+sin(x)^2)
ans = 1 % ovaj rezultat se ispisuje
collect(3*x+4*y-1/3*x^2-x+3/2*y)
ans= 2*x+11/2*y-1/3*x^2 % ovaj rezultat se ispisuje

Jednadba krunice radijusa r centrirane u (a, b) dana je s: (x-a)^2 + (y-b)^2 = r^2.
Proirite jednadbu u oblik: Ax^2 + Bx + Cxy + Dy + Ey^2 = F i naite izraze za koeficijente
izraene s a, b i r.

syms a b r x y
pretty(expand((x-a).^2 + (y-b).^2))

Matlab ispisuje:
ans=
2 2 2 2
a - 2 a x + b - 2 b y + x + y

2.5.2. Alatka za obradu signala (engl. Signal Processing Toolbox)

MATLAB se esto koristi za obradu signala (npr. za izraun brze Fourierove
transformacije, funkcija fft). U ovoj alatci se moe: projektirati filtere, statistiki obraditi
signal, Laplace-ova transformacija, i dr. Srodne alatke su: komunikacijska, valina, RF,
alatka za obradu slike, itd.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

32
Funkcije u komandnoj liniji mogu se podijeliti u nekoliko kategorija:
- projektiranje, analiza i implementacija filtera u diskretnom vremenu,
- projektiranje, analiza i implementacija analognih filtera,
- transformacije linearnih sustava,
- prozorske funkcije,
- spektralna analiza,
- transformacije,
- statistika obrada signala,
- parametrijsko modeliranje,
- linearna predikcija,
- vietaktna obrada signala i
- generiranje valinih oblika.
Alatka ima i GUI suelje. U GUI-u se moe interaktivno projektirati filtere i/ili ih
analizirati, projektirati i analizirati prozore, iscrtavati signale i vriti spektralnu analizu i
filtriranje.
Postupci projektiranja analognih filtera koji su ukljueni su: Butterworth, Chebyshev i
Bessel-ov.
Alatka za obradu signala prua rutine za projektiranje IIR, IIR analognog filtera i
predoavanje (vizuelizaciju) rezultata. Takoer se moe projektirati IIR filtere u diskretnom
vremenu iz analognih pandana. Projektiranje, analiza i implementacijski postupci digitalnih
FIR i IIR filtera ukljueni su u funkcije alatke.
Alatka za obradu signala prua podrku projektiranju filtara prilagoenu korisniku.
Glavne funkcije projektiranja filtera u alatci ukljuuju parametre za projektiranje i FIR i IIR
filtera, njihovu analizu i implementaciju, procjenu (estimaciju) reda filtera, te izradu prototipa
analognog filtera te transformacije.
Najosnovniji entiteti s kojima radi alatka su signali i sustavi. Funkcije naglaavaju
digitalni (diskretni) signal kao suprotnost analognim (kontinuiranim). Temeljni tip filtera
kojeg podrava alatka je linearni, vremensko invarijantni digitalni filter s jednim ulazom i
jednim izlazom.
Linearni vremensko-invarijantni sustavi mogu se predstavljati jednim od nekoliko
modela (vidite Automatizaciju prijenosna funkcija, prostor stanja, nula-pol-pojaanje,
sekcije drugog reda) te se mogu prebacivati iz jednog modela u drugi.
Alatka ima brojne funkcije za pretvorbu, ukljuujui i reetkastu strukturu ili
ljestviaste dijagrame, a ne samo prijenosnu funkciju, sustave drugog reda i prostor stanja.
Alatka ukljuuje razliite transfromacije i inverzne transfromacije, ukljuujui Fourier,
chirp-Z, diskretnu kosinusnu, Goertzel, Hilbert, Walsh-Hadamard, te STFT (spektrogram).
Alatka takoer ukljuuje algoritme za procjenu spektralne gustoe snage, to ukljuuje
periodograme, Welch-a, i Yule-Walker-a. Funkcije alatke koje su dostupne su i za estimaciju
gustoe spektra snage i estimaciju srednje kvadratne vrijednosti spektra upotrebom pseduo-
spektralnih, neparametarskih ili parametarskih tehnika.
Neki od ukljuenih postupaka su i Burg, kovarijanca, svojstveni vektori, Thomsonov
periodogram, Welch, Yule-Walker, i dr. Druge funkcije su dostupne za raunanje prosjene
snage spektra, raunanje jednostranog spektra, pomicanje za DC komponentu od/prema
centru spektra, itd.
Alatka za obradu signala sadri funkcije za raunanje korelacija, meukorelacija,
kovarijanci i autokorelacija. Prua mnogo uobiajeno koritenih prozorskih funkcija te ima
grafiko suelje koje omoguuje gledanje i usporedbu prozora i kreiranje filtera uporabom tih
prozora.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

33
Alatka ukljuuje postupke za autoregresivno parametarsko modeliranje: Burg,
covariance, Yule-Walker i Steiglitz-McBride (za ARMA modeliranje). Takoer se mogu nai
i funkcije za prijanjanje frekvencijskog odziva na analogni ili filter u diskretnom vremenu.
Takoer sadri i funkcije za linearno predvianje koeficijenata i za konvertiranje
izmeu autokorelacija i predvienih polinoma, refleksijskih koeficijenata i frekvencija
linijskog spektra.
U alatku za obradu signala ukljuene su funkcije za generiranje mnogih periodikih i
aperiodikih valnih oblika (chirp, Dirichlet, Gaussian RF impuls, Gaussian monopuls,
impulsni vlak (tzv. ealj funkcija), pravokutnik, pila, sinc, kvadratni val, trokutni valni oblik,
te naponsko-upravljani oscilator.

2.5.3. Alatka za upravljanje sustavima (Control System Toolbox)

Ova alatka sadri funkcije koje pomau u analizi sustava s povratnom vezom: funkcije
za simulaciju LTI sustava, podrava i diskretne i kontinuirane sustave, mogu se lako
prouavati odziv na jedininu uzbudu, modalnu analizu, itd.
Srodne alatke su: identifikacija sustava (System Identification), robustno upravljanje
(Robust Control), nodernu teorija upravljanja i modelsko prediktivno upravljanje.

2.5.4. Statistika alatka
Ova alatka slui za statistiku i analizu podataka. Ukljuuje funkcije naelne
ralambe sastavnica (engl. Principal Component Analysis, PCA), nezavisne analize
komponenti (engl. Independent Component Analysis, ICA) te testove znaaja (poput chi
kvadrat, t-test i sl). esto se koristi u analizi pouzdanosti i dostupnosti sustava.

2.6. Monte Carlo

Monte Carlo simulacija je matematiki proces modeliranja. Za neki model koji ima
nekoliko parametara s nekim statistikim svojstvima, odabire se skup sluajnih vrijednosti za
te parametere te se provodi simulacija. Potom se odabire drugi skup vrijednosti parametara i
ponovo provodi simulacija. Proces se ponavlja puno puta, esto preko 10000. S tako velikim
uzorkom pravi se statistika raspodjela rezultata simulacije. Raspodjela rezultata simulacije
odgovara na bilo koje postavljeno pitanje. Ovakva simulacija ne zahtjeva veliko predzanje o
samom problemu. Jednostavan je nain modeliranja kompleksnih stohastikih sustava.

Primjer 2.9: Modelirati sustav molekula prema slici. Brojevi pored strelica pokazuju sklonost
sustava za prijelaz iz jednog u drugo stanje. Ako se pone s jednom molukulom (A), kako se
ponaa sustav s vremenom. Koristi sluajne brojeve za upravljanje promjenama stanja. Ovaj
sustav predstavlja kompleksnu reakciju.



Slika 2.21: Skloposti zadanog sustava
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

34

Za rjeenje problema ukucajte funkciju u editoru te je spremite kao datoteku u radnom
direktoriju.

function s=monte_carlo_molekule(timeSteps);
state=0; % poinje u A, B=1, C=2, D=3, E=4 radi jednostavnosti
s=zeros(timeSteps,1); % sprema se trenutno stanje
borders=[20 60 47 2]/sum([20 60 47 2]);
outcome=cumsum(borders);
direction=[0 1 -1];
for n=1:timeSteps
s(n)=state;
if state ~=4 % ako nije u E
C=min(find(rand<outcome));
if C==4 % unosi E
state=4;
else % idi desno ili lijevo
state=mod(state+direction(C),4);
end;end;end

Ova funkcija se moe koristiti npr. 10000 puta kako bi se simuliralo ponaanje 10000
molekula. To se postie nizom:

s=zeros(200,5);
for n=1:10000
st=monte_carlo_molekule(200);
for state=0:4
s(:,state+1)=s(:, state+1)+(st==state);
end;end;
plot(s(:,1));
figure, plot(s(:,2));
figure, plot(s(:,3));
figure, plot(s(:,4));
figure, plot(s(:,5));



a) b)

0 20 40 60 80 100 120 140 160 180 200
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0 20 40 60 80 100 120 140 160 180 200
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

35

c) d)


e)

Slika 2.22: Rezultat simulacije: a) stanje 0 (A), b) stanje 1 (B), c) stanje 2(C), d) stanje 3 (D), e) stanje
4 (E)




















0 20 40 60 80 100 120 140 160 180 200
0
500
1000
1500
2000
2500
3000
3500
4000
0 20 40 60 80 100 120 140 160 180 200
0
500
1000
1500
2000
2500
3000
3500
4000
0 20 40 60 80 100 120 140 160 180 200
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

36
3. UPOTREBA SIMULINKA U SIMULIRANJU

Simulink je MatLabov program za simulaciju. U Simulink radnom okruju se mogu
simulirati sustavi koje korisnik treba. Sastoji se od radnog prozora, gdje se gradi model, i
biblioteke blokova (Simulink Library Browser - slika 3.1).
Osim gotovih blokova, mogue je definirati i korisnike. Pritiskom na znak "+" otvara
se eljena podgrupa srodnih blokova. Nekada su odmah dostupni blokovi, a nekada postoje
dodatne podgrupe koje se na isti nain otvaraju.
Osim standardnih blokova Simulinka, postoje i dodatni blokovi, koji ovise o alatkama
dostupnim u kupljenoj verziji MatLaba. Ako se, primjerice, posjeduje komunikacijska alatka
(eng. Communication Toolbox), tada postoje i dodatni blokovi iz podruja komunikacija.
Standardni blokovi Simulinka dijele se u podgrupe blokova:
- kontinuirani blokovi,
- diskretni blokovi,
- funkcije i tablice,
- matematiki blokovi,
- nelinearni blokovi,
- signali i sustavi,
- izlazi i
- izvori.




a)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

37


b)

Slika 3.1: Biblioteka blokova Simulink-a: a) izgled starije inaice, b) izgled jedne od novijih
inaica

Odabrani element se ili vue ili kopira u ovaj prozor
Ovdje se moe pozvati
Simulink Library Browser


Slika 3.2: Unos komponenti modela u prozor za Simulinkov model

Otvaranjem odreenog izbornika, pojavljuju se blokovi. Otvaranjem kontinuiranih
(eng. continuous), moe se izabrati:
- derivator,
- integrator,
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

38
- memorija,
- prostor stanja,
- prijenosna funkcija,
- nula-pol,
- varijabilno i linearno kanjenje.



Slika 3.3: Neki vaniji blokovi

eljeni blok se miem povlai u radni prozor (slika 3.2) ili se koriste naredbe copy-
paste (kopiraj-zalijepi). Otvaranjem nekog drugog izbornika dostupni postaju drugi blokovi.
Ovdje su najznaajniji blokovi prikazani na slici 3.3. To su:
- derivator, integrator i prijenosna funkcija iz prvog stupca;
- pojaanje i sumator iz drugog stupca;
- step i sinusni generatori iz estog stupca;
- grafiki izlaz (scope) i brojani izlaz (display) iz petog stupca.
Na slici 3.3 prikazani su i neki znaajniji blokovi za automatiku, kao nelinearni
elementi (releji, prekidai, zasienje ili kvantizator) u treem stupcu.
Upravljanje simulacijom nije samo ukljuivanje simulacije i njeno zaustavljanje, nego
i podeavanje raznih naprednijih parametara. Pritiskom mia na izbornik "Simulation",
dobivaju se opcije za pokretanje ("Start"), zaustavljanje ("Stop") te vrlo vane opcije za
podeavanje parametara simulacije ("Parameters").
Pritiskom na lijevo dugme na miu otvara se prozor za podeavanje parametara
simulacije. Standardne opcije su ve podeene. Ako je korisnik prije neto mijenjao, onda su
zapamene trenutne opcije. Iz ovog prozora je najznaajnije podeavanje vremena simulacije.
"Start time" oznaava poetni trenutak, a najee se uzima 0 [s]. "Stop time" oznaava
zavretak simulacije.
Treba napomenuti da je ovdje oznaeno vrijeme simulacijsko vrijeme, tj. 10 [s] ne
traje stvarnih 10 [s], nego kompjutor rauna to e se dogaati sa simuliranim sustavom u
stvarnom vremenskom intervalu izmeu "start time" i "stop time". Trajanje simulacije ovisi o
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

39
pojedinom raunalu, njegovim komponentama i svojstvima i moe biti puno bre od stvarnog
vremena. To je i bit simulacije. Za mnoge stvarne sustave potrebno je znati kako e se
ponaati za 10, 20 ili vie godina. Da simulacija traje toliko, ne bi imala smisla.
Ostale opcije za primjenu u ovim vjebama nisu toliko vane, ali su znaajne za
istraivake primjene. "Solver options" je nain rjeavanja zadanog problema, tj. izbor naina
na koji e raunalo rijeiti problem.



a)



b)

Slika 3.4: Izbornik za upravljanje simulacijom: a) kod starijih inaica, b) kod novijih inaica
(pridodan akcelerator kako bi se moglo upravljati sustavom u realnom vremenu)


MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

40


Slika 3.5: Podeavanje parametara simulacije

Pokretanje simulacije
Zaustavljanje simulacije
Automatsko
skaliranje prikaza
Podeavanje osi prikaza
Podeavanje maksimalne
i minimalne vrijednosti y osi
Odabir podruja
za poveanje
Poveanje
du x-osi
Poveanje du y-osi


Slika 3.6: Podeavanje parametara slikovnog vremenskog prikaza

Na slici 3.6 prikazano je kako se podeavaju opcije vremenskog prikaza signala
("scope"), za to bolji prikaz signala. Tako npr. ako se na skali do 100 promatra signal manjeg
iznosa od 1, on se ne uoava dobro. Ako se isti signal gleda na skali do 1 mogu se vidjeti i
razni detalji.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

41
Desnim klikom mia dobivaju se opcije koje su trenutno mogue, kao npr. automatsko
podeavanje skale ("Autoscale") s im se postie najbolji prikaz dobivene krivulje s obzirom
na maksimalnu i minimalnu vrijednost na koordinatnim osima. To nije skaliranje signala.
Skaliranje signala je u biti normalizacija na odgovarajuu mjeru, dok je ovo poveavanje ili
smanjivanje mjernog opsega, kao na instrumentima u laboratoriju, poput digitalnih ili
analognih voltmetara.
Pored znaka za pisa, nalazi se znak "Properties", koji slui za pozivanje izbornika
opcija. Podeavanje minimuma (Y min) i maksimuma (Y max) na y-osi obavlja se lijevim
klikom mia na "Axes Properites".
Vremenski invarijantni linearni sustavi (eng. LTI - linear time-invariant) mogu se
modelirati kao:
- prijenosne funkcije (eng. transfer function - TF),
- nula/pol/pojaanje (eng. zero/pole/gain - ZPG)
- prostor stanja (eng. state-space - SS), ili
- podatak frekvencijskog odziva.
U MatLabu se ti modeli mogu generirati naredbom sys:
- model prijenosne funkcije
sys = tf(num,den)
- nula/pol/pojaanje model
sys = zpk(z,p,k)
- model prostora stanja
sys = ss(a,b,c,d)
- model podataka frekvencijskog odziva
sys = frd(response,frequencies)

Primjer 3.1: Zadan je elektrini RC krug. Simulacijom na elektronikom raunalu potrebno
je odrediti promjenu napona na kondenzatoru, u
c
(t), od trenutka zatvaranja sklopke S.

E
S
R
C


Slika 3.7: Istosmjerne RC krug

Postupak pri izradi modela je standardan za sve sustave i sastoji se iz slijedeih koraka:
1. izvoenje diferencijalne jednadbe,
2. diferencijalna jednadba pie se na nain da je s lijeve strane samo najvia derivacija,
3. crtanje blok dijagrama simulacije,
4. formiranje modela,
5. unoenje modela u raunalo i
6. simulacija na raunalu.

1. korak:

Prema drugom Kirchoffovom zakonu vrijedi:

u
R
(t) + u
C
(t) = E (3.1)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

42
i(t)R + u
C
(t) = E

Uvoenjem suspstitucije ) ( ) ( ) ( t Cu dt t i t q
C
= =

slijedi:

( )
( )
( )
dt
du
C i
dt
dq
C
t
t
t
= =

pa se dobiva linearna diferencijalna jednadba prvog reda s konstantnim koeficijentima:


( )
( ) E u
dt
du
RC
C
C
= + t
t
(3.2)


2. korak:

Diferencijalna jednadba pie se na nain da je s lijeve strane samo najvia derivacija.

) (
1 1 ) (
) (
) (
t u
RC
E
RC dt
t du
t u E
dt
t du
RC
C
C
C
C
=
=



3. - 5. korak:

Trei korak je crtanje blok dijagrama simulacije, etvrti je formiranje modela, a peti unoenje
modela u raunalo. Vjebom se moe postii da se sva tri koraka ostvaruju zajedno. Ponekad,
kod sloenijih problema, moe se prvo crtati blok dijagram pa odmah formirati model na
raunalu, ime je ostvaren i peti korak.

.
.
.
e
1
e
n

+ + = dt t e t e t e
n izl
) ( ... ) ( ) (
1


a)

.
.
.
e
1
e
n
e
izl
(t) = +... + e (t) e (t)
1 n


b)

e (t)
ul
e
izl
(t)

c) d)

Slika 3.8: Simboli vanijih elemenata: a) integrator, b) sumator, c) mnoitelj, d) pojaanje
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

43
1/RC
1/RC
u
c
(t)


Slika 3.9: Model zadanog elektrinog kruga


Kako je signal (derivacija napona kondenzatora u vremenu) poznat, moe se sam
napon na kondenzatoru dobiti integriranjem.
Iz zbroja na desnoj strani diferencijalne jednadbe formira se izraz
dt
t du
C
) (
povratnom
vezom. Konstantni faktori uz lanove diferencijalne jednadbe predstavljaju se blokovima
pojaanja.
Konaan izgled dijagrama dat je na slici:



Slika 3.10: Model zadanog elektrinog kruga unesen u Simulinku
(umjesto 1/RC unosi se brojana vrijednost)

Na kraju se unose konani parametri za R i C, tj. njihov umnoak.

6. korak:

esti korak je pokretanje simulacije. S njenim zavretkom, iako je simulacija
elektrinog kruga, a s time i ovaj zadatak, gotova, u praksi posao vezan uz projektiranje
automatskih sustava tek poinje.
Sada predstoji teak proces analize podataka te traenja optimalnih parametara da bi se
udovoljilo zahtjevima naruitelja.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

44


a)



b)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

45


c)

Slika 3.11: Vremenski odziv sustava za razliita pojaanja: a) 1, b) 2, c) 0.5

Iz vremenskog odziva sustava vidi se njegovo daljnje ponaanje. Za primjer 1
vremenski odziv prikazan je na slici 3.11 za razliite iznose pojaanja. Moe se izraunati i
analitiki:

) (
1 1 ) (
t u
RC
E
RC dt
t du
C
C
=

Prelaskom u kompleksno podruje s pomou Laplace-ove transformacije, slijedi:

) (
1
) (
1
) ( s U
RC
s E
RC
s sU
C C
=

) (
1 1
) ( s E
RC RC
s s U
C
=
|

\
|
+

Prijenosna funkcija sustava W(s) dobiva se na nain:

RC
RCs
s E
RC
s U
C
+
=
1
) (
1
) (

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

46
1
) (
) (
+
=
RCs
s E
s U
C


) (
) (
) (
1
1
) (
) (
s E
s U
s W
RCs s E
s U
C
C
=
+
=


Za pojaanje prema slici 3.11.a, = RC = 1, pa slijedi:


1
1
1
1
) (
+
=
+
=
s s
s W

(3.3)

Za jedininu odskonu (eng. step) funkciju ulaznog napona, slijedi:

s s
s E
s
s E s W s U
C
1
1
1
) (
1
1
) ( ) ( ) (
+
=
+
= =

Iz teorije je poznato:

at
e
Ts s
L

=
|
|

\
|
+
1
) 1 (
1
,

a = 1/T, slijedi:


t
C
e t u

=1 ) ( (3.4)


3.1. Stabiliziranje sustava

Stabiliziranje nekog nestabilnog sustava moe se izvesti dodavanjem:
proporcionalnog,
proporcionalno-integracijskog,
proporcionalno-derivacijskog i
proporcionalno-integralno-derivacijskog regulatora.
Sljedei primjer pokazuje kako pojaanje utjee na stabilnost sustava.


Primjer 3.2: Potrebno je stabilizirati sustav zadan prijenosnom funkcijom
s s s
s W
+ +
=
2 3
3 , 0
1
) ( s negativnom povratnom vezom i pojaanjem (P). Odredite kada je
sustav stabilan, a kada nestabilan.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

47


Slika 3.12: Sustav s negativnom povratnom vezom



Slika 3.13: Odziv sustava sa slike 3.12 u vremenskom podruju

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);

Slika 3.14 prikazuje uveani dio slike 3.12. Iz slike 3.14 vidi se da sustav oscilira s
neznatnim priguenjem.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

48


Slika 3.14: Uveani prikaz dijela odziva sustava sa slike 3.12 u vremenskom podruju



Slika 3.15: Bodeovi, amplitudni i frekvencijski, dijagrami sustava sa slike 3.12

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

49
Isti sustav moe postati nestabilan ako mu se promijeni pojaanje.



Slika 3.16: Primjer nestabilnog sustava



Slika 3.17: Vremenski odziv sustava sa slike 3.16

Bodeov prikaz ovog sustava se dobiva naredbama:

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

Sljedea slika dobija se za naredbe:

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

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

50


Slika 3.18: Bodeov prikaz nestabilnog sustava

U sljedeem sluaju sustav je stabilan (K = 0,1):

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



Slika 3.19: Vremenski odziv zadanog sustava za K = 0,1
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

51


Slika 3.20: Bodeov dijagram zadanog sustava za K = 0,1



Slika 3.21: Zdrueni prikaz stvarnih Bodeovih dijagrama zadanog sustava

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

52
Slika 3.21 dobiva se sljedeim 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)

Pojaanje K, za koje je sustav na granici stabilnosti, moe se odrediti Hurwitzovim
kriterijem stabilnosti. Karakteristina jednadba sustava dobija se na sljedei nain:

0 3 , 0
3 , 0
3 , 0
3 , 0
3 , 0
1
3 , 0
) ( 1
) (
) (
3 , 0
1
) (
2 3
2 3
2 3
2 3
2 3
2 3
2 3
= + + +
+ +
+ + +
+ +
=
+ +
+
+ +
=
=
+
=
+ +
=
K s s s
s s s
K s s s
s s s
K
s s s
K
s s s
K
s KG
s KG
s W
s s s
s G


Kako je a
3
= 1, a
2
= 0,3, a
1
= 1 i a
0
= K, slijedi da za stabilan sustav mora biti zadovoljeno:
1) a
3
> 0; to je zadovoljeno
2)
1
> a
2
; to je zadovoljeno
3) 3 , 0 0 3 , 0 0
0 3 1 2
1 3
0 2
2
< > > = = K K a a a a
a a
a a

4) 0 ) 3 , 0 ( 0
2 0 3
> > = K K a
To je zadovoljeno u 2 sluaja:
- kad je K> 0 i K < 0,3, a to je u intervalu K 3 , 0 , 0 ,
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

53
- kad je K < 0 i K > 0,3.
To znai da se odabirom pojaanja od 0,3 nalazi na granici stabilnosti.



Slika 3.22: Zadani sustav na granici stabilnosti


3.8. Vremenski odziv lana nultog reda

Regulacijski sustavi se ralanjuju u niz jednostavnijih sustava kako bi se olakalo njihovo
prouavanje. Jedna od podjela osnovnih lanova je na:
- proporcionalni element nultog reda (P
0
),
- proporcionalni element prvog reda (P
1
),
- proporcionalni element drugog reda (P
2
),
- integralni element (I),
- derivacijski element (D),
- element s mrtvim vremenom (T
m
).
Ti osnovni elementi mogu se kombinirati te se s pomou njih mogu opisati svi sloeni
sustavi.
lan nultog reda je pojaanje. U elektrinim krugovima predstavnih P
0
lana je
potenciometar. Potenciometar je elektrini otpornik kojemu se moe mijenjati elektrini
otpor.
Proporcionalni lan nultog reda (P
0
) je sustav ija se dinamika moe openito prikazati
jednadbom:

) ( ) (
0 0
t x b t y a = (3.5)

gdje su:
- y(t) izlazna varijabla,
- x(t) ulazna varijabla,
- a
0
i b
0
konstantni parametri sustava.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

54
Dakle, opisuje se obino algebrom, a ne diferencijalnim jednadbom. Vremenski
odziv na odskonu (step) pobudu x
u
(t) = u(t) je:

K
a
b
t y
s a
b
s Y t u
a
b
t y = = = =
0
0
0
0
0
0
) (
1
) ( ) ( ) (



a)



b)


MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

55


c)

Slika 3.23: Vremenski odziv P
0
lana: a) podeavanje parametara step generatora,
b) odziv za K =1, c) odziv za K = 2

Zadatak za vjebu:

1. Simulirati sustav s P
0
lanom za: a) K = 100, b) K = 0,1.
2. Podesiti generator na "start time" 1 (s). Simulirati sustav za K = 1; 2; 100; 0,01 i
usporediti razultate s prije dobivenim za "start time" = 0 (s).
3. Simulirati elektrini krug istosmjerne struje napona 10 (V) i potenciometra od 1 (k).


3.3. Vremenski odziv P
1
lana

P
1
lan predstavlja inercijalno kanjenje. U elektrinim krugovima tispini predstavnik
P
1
lana je RC krug, tj. jednostavni filter.
Proporcionalni lan prvog reda (P
1
) je sustav ija se dinamika moe openito prikazati
jednadbom:

) ( ) (
) (
0 0 1
t x b t y a
dt
t dy
a = + (3.6)

gdje su:
- y(t) izlazna varijabla,
- x(t) ulazna varijabla,
- a
1
, a
0
i b
0
konstantni parametri sustava.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

56
Vremenski odziv na odskonu (step) pobudu x(t) = u(t) = 1 je:

( )
1 ) ( , ,
1 ) ( ) (
1
) (
1
) ( ) ( ) (
0
0
0
1
/
0 1
0
0 0 0 1
= = =
=
+
=
= = +

t x
a
b
K
a
a
e t Kx t y
a s a
b
s
s Y
s
b s X b s Y a s sY a
t



Iz odziva sustava vidljiva je glavna karakteristika P
1
lana: vremensko kanjenje za
kojim izlazna veliina prati ulaznu. To kanjenje je opisano vremenskom konstantom . U
elektrinim krugovima je to vrijeme prijelazne pojave (npr. punjenja ili pranjenja
kondenzatora kako bi doao u "puno" ili "prazno" stacionarno naponsko stanje). Kako se
brzina promjene s vremenom smanjuje, izlazna funkcija e u vremenu t = dosei tek 63,2%
ulazne funkcije. Iako teorijski izlazna veliina nikad ne dostie ulaznu, u praksi se smatra da
je prijelazna pojava zavrena nakon vremena t = 5.
P
1
lan susree se esto u regulacijskim krugovima. Takav lan je, npr. termometar
koji mjeri temperaturu prostorije. Da bi se termometar zagrijao na temperaturu prostorije
potrebno je priekati odreeno vrijeme. Brzina prijenosa topline razmjerna je razlici
temperatura prostorije i termometra. U poetku zagrijavanja ta e brzina biti vea i postupno
e se smanjivati kako se termometar zagrijava. I ovo je funkcija koja se asimptotski pribliava
stacionarnoj vrijednosti po eksponencijalnom zakonu izvedenom za openiti sluaj na poetku
vjebe.



Slika 3.24: Vremenski odziv P
1
lana
(iz slike se moe odrediti vremenska konstanta = 1 s - tu je odziv dostigao 63% konane
vrijednosti)

Zadatak za vjebu:

1. Za serijski spoj otpornika i kondenzatora (RC krug) s R = 5 [M], C = 2 [F], U = 10 [V]
u kojem je izlazna varijabla pad napona na kondenzatoru (U
C
), napiite diferencijalnu
jednadbu koja opisuje krug. Napomena: uzeti da je U = 0 [V] za t < 0, U = 10 [V] za t 0.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

57
2. Na temelju te diferencijalne jednadbe nacrtajte blok dijagram simulacije.
3. Simulirajte model na raunalu, u EWB-u i Simulink-u. Usporedite rezultate.
4. Iz odziva na raunalnom monitoru odredite vremensku konstantu.
5. Precrtajte na milimetarski papir odziv za sustav s R = 500 [k].


3.4. Vremenski odziv P
2
lana

Mehaniki i elektrini P
2
lan prikazani su na slici 3.25. Elektrini lan je, npr., serijski
RLC krug. Mogue su i drukije izvedbe. Mehaniki P
2
lan sastoji se iz tijela mase m,
opruge krutosti k i priguivaa s priguenjem B.

0,0
m
k
B
y
x
F
0

R L C
u(t)


a) b)

Slika 3.25: Neke od izvedbi P
2
lana: a) mehaniki, b) elektrini

U trenutku t = 0 na sustav, preko tijela mase m, poinje djelovati sila stalnog iznosa
F
0
. Zbog toga se mijenja poloaj mase i opruga se sabija. Sila kojom opruga djeluje na tijelo
suprotnog je smjera od sile F
0
i vea je to je tijelo dalje od ishodita koordinatnog sustava. U
odreenom trenutku te dvije sile e biti jednake, ali e se tijelo, zbog inercije, i dalje kretati
tako da sabija oprugu. Sila opruge postat e vea od vanjske sile te e se tijelo postupno
zaustaviti i zapoet e gibanje u suprotnom smjeru, tj. prema ishoditu i u toki u kojoj su sile
jednake tijelo e zbog inercije nastaviti kretanje u zapoetom smjeru, rastezat e oprugu te e
sila F
0
prevladati silu opruge i itav e se proces ponoviti. Tijelo e, dakle, oscilirati oko
ravnotenog poloaja. Energija se u ovom sustavu pretvara iz kinetike energije mase u
potencijalnu energiju opruge i obrnuto. Kako se dio energije u priguivau pretvara u toplinu i
gubi iz sustava, nakon odreenog vremena tijelo e se smiriti u ravnotenom poloaju u
kojem su sila opruge i vanjska sila jednake. Opisani sluaj je sluaj priguenih oscilacija te se
P
2
lan naziva i oscilacijskim lanom. Matematiki opis tih dinamikih pojava dobiva se
primjenom D'Alambertova naela po kojem je zbroj svih vanjskih sila na tijelo jednak sile
tromosti tog tijela.

x m f
n
i
i
& & =

=1
(3.7)

0
1
=

=
x m f
n
i
i
& &

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

58
k B
f f F
dt
t x d
m + + =
0 2
2
) (


0
2
2
0
2
2
) (
) ( ) (
) (
) ( ) (
F t kx
dt
t dx
B
dt
t x d
m
t kx
dt
t dx
B F
dt
t x d
m
= + +
=


gdje su:
F
0
- vanjska sila,
f
k
(t) - sila opruge,
f
B
(t) - sila viskoznog trenja,
m - masa tijela,
B - koeficijent viskoznog trenja,
k - krutost opruge,
x - pomak tijela.
Gornja jednadba je linearna diferencijalna jednadba drugog reda. Analogni rezultat
se moe dobiti za bilo koji sustav drugog reda, bilo da je rije o mehaninom, elektrinom ili
pneumatskom P
2
lanu.
Kod elektrinog kruga koji ima oba reaktivna elementa (kondenzator i zavojnicu),
elektrina energija akumulirana u kondenzatoru prelazi u magnetsku energiju zavojnice. Po
zakonu o ouvanju energije, ukupna energija sustava ne moe se promijeniti. To znai da
smanjivanje elektrine energije vodi odgovarajuem porastu magnetske energije. Kada ne bi
bilo elektrinog otpora, izmjena energije iz elektrine u magnetsku i obrnuto bi se odvijala
beskonano dugo. To bi bile nepriguene oscilacije sa stalnom amplitudom i periodom. Kako
u primjeru sa slike postoji i otpornik, dio e se energije u svakom periodu disipirati na njemu
pa e biti sve manje energije u krugu. Na kraju dolazi do potpunog priguenja, jer se sva
energija disipirala u toplinu na otporniku.
Serijski RLC krug moe se opisati drugim Kirchhoffovim zakonom:

) ( ) ( ) ( ) ( t u t u t u t u
C L R u
+ + =


2
2
) (
) (
1 ) (
) (
dt
t q d
L t q
C dt
t dq
R t u
u
+ + = (3.8)

gdje su:
L - induktivitet zavojnice,
C - kapacitet kondenzatora,
R - elektrini otpor,
u
u1
- narinut napon.
Openito se za bilo koji P
2
lan moe pisati:

) ( ) (
) ( ) (
0 0 1
2
2
2
t x b t y a
dt
t dy
a
dt
t y d
a = + + (3.9)
gdje su:
y - izlazna veliina,
x - ulazna veliina,
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

59
a
2
, a
1
, a
0
, b
0
- konstantni parametri sustava.
Kakav e biti oblik odziva ovisi o parametrima sustava i njihovim meusobnim
odnosima. Kako bi se olakala analiza uvode se nove veliine:

n
- nepriguena vlastita frekvencija sustava,
- koeficijent priguenja,
k
p
- pojaanje ili prijenosni omjer, a koje se dobivaju dijeljenjem gornje jednadbe s
a
0
:

2
0
2
1
n
a
a

=
n
a
a

2
0
1
=
p
k
a
b
=
0
0


Opa jednadba P
2
lana tada glasi:

) ( ) (
) ( 2 ) ( 1
2
2
2
t x k t y
dt
t dy
dt
t y d
p
n n
= + +

(3.10)

Nepriguena vlastita frekvencija sustava,
n
, je frekvencija kojom bi sustav titrao oko
ravnotenog poloaja kada u sustavu ne bi bilo gubitaka energije, odnosno priguenja.
Gubitke energije opisuje koeficijent priguenja . to je koeficijent priguenja vei, sustav e
se prije smiriti u stacionarnom stanju i titrat e manjom frekvencijom. Frekvencija priguenog
titranja sustava,
p
, dana je relacijom:


2
1 =
n p
(3.11)



Slika 3.26: Vremenski odziv za razliite koeficijente priguenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

60
Kod P
2
lana razlikuje se 5 sluajeva odziva u ovisnosti o koeficijentu priguenja, :
> 1 aperiodski,
= 1 granino aperiodski,
0 < < 1 prigueno oscilacijski,
= 0 neprigueno oscilacijski i
< 0 raspireno oscilacijski.

Zadatak za vjebu:

1. Za mehaniki sustav sa slike 3.25a poznate su vrijednosti: m = 20 [kg], B = 30 [kg/s], k =
40 [kg/s
2
]. U poetku promatranja sustav se nalazi u stanju mirovanja. U trenutku t = 0 [s] na
sustav poinje djelovati sila: F
0
= 20 [N]. Odredite koeficijent priguenja sustava i
nepriguenu vlastitu frekvenciju. Podatke uvrstite u opu jednadbu P
2
lana. Rijeite
jednadbu primjenom Laplaceove transformacije. Dobivenu vremensku funkciju x(t), koja
opisuje poloaj mase, nacrtajte na milimetarskom papiru.
2. Prema dobivenoj diferencijalnoj jednadbi nacrtajte blok dijagram simulacije.
3. Simulirajte model na raunalu. Usporedite izraunati odziv iz 1. zadatka i odziv na
monitoru.
4. Simulirajte ponaanje sustava za vrijednost koeficijenta viskoznog trenja (B) prema
tablici. Za svaki sluaj izraunajte , a
p
odredite priblino iz odziva na ekranu (
p
p
T

2
= , a
T
P
je period oscilacija oitan s ekrana raunala). Komentirajte ponaanje sustava.

B[kg/s] 0 10 16 23 38 56,57 75

p



3.5. Vremenski odziv sloenih sustava

Sloeni regulacijski krugovi prikazuju se blok dijagramom u kojem su pojedini
elementi opisani prijenosnim funkcijama. Da bi se nacrtao blok-dijagram simulacije u nekim
starijim programima bilo je potrebno eksplicitno napisati diferencijalnu jednadbu koja
opisuje sustav. U Simulinku se moe upisati prijenosna funkcija u gotov blok za prijenosnu
funkciju. Ako se eli simulirati sustav iz diferencijalne jednadbe, a zadana je prijenosna
funkcija, do diferencijalne jednadbe moe se doi na dva naina:
a) izravno
Za npr.
) 1 (
) (
+
=
Ts s
K
s G , odziv sustava odreen je izrazom: Y(s) = G(s)X(s) te se izravno
dobiva diferencijalna jednadba sustava:

) ( ) ( ) (
) ( ) 1 ( ) (
) (
) 1 (
) (
2
s KX s sY s Y Ts
s KX Ts s s Y
s X
Ts s
K
s Y
= +
= +
+
=

) (
1
) ( ) (
2
s sY
T
s X
T
K
s Y s =
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

61

Poto je s
2
Y(s) Laplaceova transformacija druge derivacije y(t), a sY(s) Laplaceova
transformacija prve derivacije y(t), gornja jednadba u vremenskom podruju glasi:

dt
t dy
T
t x
T
K
dt
t y d ) ( 1
) (
) (
2
2
=

Dijagram simulacije lako je nacrtati.



Slika 3.27: Blok dijagram prijenosne funkcije dobiven izravnim postupkom


b) rastavljanjem na osnovne blokove

Prijenosna funkcija
) 1 (
) (
+
=
Ts s
K
s G moe se predstaviti umnokom dviju prijenosnih
funkcija G
1
(s) i G
2
(s), gdje su
Ts
K
s G
+
=
1
) (
1
i
s
s G
1
) (
2
= , te je:

s Ts
K
s G s G s G
1
1
) ( ) ( ) (
2 1

+
= =

Umnoak tih funkcija odgovara serijskom spoju blokova.



a) b)

Slika 3.28: a) Serijski spoj blokova, b) model zadanog sustava dobiven rastavljanjem na
osnovne blokove

Da blok G
1
(s) odgovara dijagramnu sa slike, moe se pokazati na nain:

) ( ) (
1
) (
1 1
t y dt t y
T T
K
t x =
|

\
|

/


MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

62
) (
) ( 1 ) (
1
1
s Y
s
s Y
T s
s X
T
K
=

s
s X
T
K
Ts
s Y
) (
1
1
) (
1
=
|

\
|
+

1
1
) (
) (
1
+
=
+
=
Ts
K
Ts
Ts
Ts
K
s X
s Y


Sloeni regulacijski krugovi predstavljaju se blok dijagramom u kojem je svaki blok
opisan prijenosnom funkcijom.
Primjer blok dijagrama nekog regulacijskog kruga prikazan je na slici 3.29. Zadano je
G
1
(s) = K,
( ) 1
) (
2
+
=
s T s
K
s G
m
m
(prijenosna funkcija elektromotora). Da bi se napravio model
ovog regulacijskog kruga, potrebno je nacrtati blok dijagram simulacije za svaki blok
posebno, a zatim ih povezati prema blok dijagramu regulacijskog kruga.

1. blok: Y
1
(s) = K X(s)
2. blok: ) (
1
) ( ) (
2
s sY
T
s X
T
K
s Y s
m m
m
=

G(s)
1
G(s)
2
X(s)
Y(s)
+
-
Y (s)
1


Slika 3.29: Blok dijagram zadanog regulacijskog sustava s negativnom povratnom vezom



Slika 3.30: Blok dijagram simulacije

Zadatak za vjebu:
1. Zadan je regulacijski krug prema blok dijagramu sa slike 3.30. Zadane su vrijednosti: K
m

= 10, T
m
= 4, K = 2. Nacrtajte blok dijagram simulacije za ovaj regulacijski krug. Napiite
model prema tom blok dijagramu.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

63
2. Simulirajte odziv sustava bez povratne veze na jedininu odskonu funkciju (step).
Skicirajte i opiite odziv sustava. Da li je sustav stabilan?
3. Simulirajte odziv sustava s jedininom negativnom povratnom vezom uz istu ulaznu
funkciju. Skicirajte i opiite odziv sustava u ovom sluaju. Da li je sustav stabilan?
Komentirajte utjecaj negativne povratne veze na odziv sustava.
4. Simulirajte sustav poveavajui vrijednost pojaanja K. Kako pojaanje utjee na odziv
sustava?

3.6. Proporcionalni regulator

Zadan je regulacijski krug prema slici 3.31. Sastavni dijelovi kruga su regulacijski
objekt i regulacijski lan, kojega su glavni dijelovi mjerni i izvrni lan te regulator.
a) Regulacijski objekt u ovom krugu je pe za suenje materijala. Regulirana veliina u
regulacijskom objektu je temperatura. Kako je zahtjev tehnolokog procesa da se materijal u
pei sui na istoj temperaturi tokom dueg vremenskog razdoblja osnovni zadatak
regulacijskog kruga je odravanje stalne temperature unutar pei. Pe se zagrijava izgaranjem
tekueg goriva. Temperatura unutar pei ovisi o koliini izgorenog goriva u jedinici vremena.
Ulazna veliina u regulacijski objekt je, prema tome, dotok goriva u jedinici vremena (q(t)), a
izlazna veliina temperatura u pei (
p
). Oblik prijelazne funkcije odreen je eksperimentom.



Slika 3.31: Regulacijski krug

Prijenosna funkcija koja odgovara sustavu sa slike je:

( )
3
1
) (
s
K
s G

+
=

gdje je K

= 529
l
o
h C
(prijenosni omjer) i = 42,86 s (vremenska konstanta).
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

64
Na regulacijski objekt djeluju, kao poremeajne veliine, promjena vanjske
temperature i promjena tlaka u cjevovodu kojim se dovodi gorivo u pe, zbog ega se pri
istom podizanju ventila smanjuje dotok ogrijevne materije. Kako se izolacijskim materijalom
u znatnoj mjeri prijei izmjena energije izmeu pei i okoline u ovom e se primjeru utjecaji
promjene vanjske temperature zanemariti.



Slika 3.32: Oblik prijelazne funkcije pei

b) Regulacijski ureaji

Mjerni lan
Mjerni lan se sastoji od mjernog osjetila (MO) i dva mjerna pretvornika (MP1 i MP2).
Mjerno osjetilo je lukovica ivinog termometra. Mjerni pretvornik MP1 je otporna nit
uronjena u kapilaru sa ivom. Promjena visine ivinog stupca izaziva promjenu otpora
otporne niti. Mjerni pretvornik MP2 pretvara vrijednost otpora u standardni naponski signal (0
- 500 mV). Osim toga, ovaj mjerni pretvornik vri kompenzaciju pogreke u mjerenju nastale
zagrijavanjem same otporne niti. M0 je P
1
lan, dok su MP1 i MP2 P
0
lanovi. Prijenosna
funkcija mjernog lana je:

s
K
G
m
m
m
+
=
1


gdje su: K
m
= 2,5 mV/C (prijenosni omjer) i
m
= 0,5 s (vremenska konstanta).

Dava nazivne vrijednosti
Ovaj ureaj slui operateru za zadavanje eljene vrijednosti temperature u pei koju e
regulacijski ureaji u krugu odravati konstantnom. Dava nazivne vrijednosti na izlazu
postavlja naponski signal U
0
koji odgovara eljenoj temperaturi.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

65
Usporednik (komparator)
Usporednik usporeuje naponske vrijednosti U
0
i U
x
te na izlazu daje regulacijsko odstupanje
E (V) kao razliku ta dva signala.

Regulator
Zadatak regulatora je da na temelju vrijednosti E (V) oblikuje signal U
i
(V) kojim se vodi
postavni lan i na taj nain postigne optimalno regulacijsko djelovanje. Prema vremenskom
lanu kojeg sadri, regulatori mogu biti proporcionalani (P), integracijski (I), derivacijski (D),
proporcionalno-derivacijski (PD), proporcionalno-integracijski (PI) i proporcionalno-
integralno-derivacijski (PID). U procesnoj regulaciji najee se koriste P i PI regulatori. U
ovom primjeru koristi se P regulator. Regulacija procesa s izjednaenjem, kakav je i ovaj
proces, koritenjem P regulatora karakteristina je po trajnom regulacijskom odstupanju e().

Izvrni lan
Izvrni lan se sastoji od elektrinog pojaala (P), elektrinog motora (PM) i postavnog lana
(P). Elektrino pojaalo pojaava naponski signal U
i
u signal dovoljne snage za pokretanje
elektrinog motora. Elektrini motor pretvara elektrinu energiju u mehaniku kojom pokree
postavni lan. Postavni lan je ventil kojim se proputa ogrijevna materija u pe. U odnosu na
vremenska kanjenja u ostalim dijelovima regulacijskog kruga kanjenja u blokovima
izvrnog lana su zanemarivo mala pa se ovaj lan moe predstaviti P
0
lanom:

G
i
(s) = K
i

gdje je K
i
= 8 10
-4

mV h
l





a)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

66


b)

Slika 3.33: Strukturni (a) i blok dijagram (b) regulacijskog kruga

Stabilnost sustava u odnosu na poremeaj napajanja ispituje se u dinamikim uvjetima rada.
Pri tome se promatraju promjene veliina u krugu, a ne njihove apsolutne vrijednosti.

Zadatak za vjebu

1. Na temelju blok dijagrama regulacijskog kruga i prijenosnih funkcija pojedinih blokova
napiite ukupnu prijenosnu funkciju regulacijskog kruga. Koristei Routh-ov kriterij
stabilnosti odredite pojaanje regulatora K
r
za koje e sustav biti stabilan.
2. Nacrtajte blok dijagram simulacije za zadani regulacijski krug. Napiite model ovog kruga
koristei blok dijagram simulacije.
3. Simulacijom na raunalu ispitajte ponaanje sustava pri poremeaju napajanja od q
z
=
0,01 l /h. Za K
r
odaberite srednju vrijednost u dozvoljenom podruju. Skicirajte i opiite
odziv sustava. Koliko je regulacijsko odstupanje?
4. Za K
r
postavite vrijednosti 0 (sustav je bez povratne veze). Simulirajte odziv sustava pri
poremeaju napajanja q
z
= 0,01 l /h. Skicirajte i opiite sustav. Koliko je trajno regulacijsko
odstupanje u ovom sluaju?
5. Odaberite nekoliko vrijednosti pojaanja K
r
ravnomjerno rasporeenih unutar dozvoljenog
podruja. Simulirajte sustav za svaki K
r
i izmjerite trajno regulacijsko odstupanje.
Komentirajte utjecaj pojaanja regulatora K
r
na trajno regulacijsko odstupanje i na dinamiko
vladanje kruga.
6. Poveajte pojaanje K
r
iznad dozvoljene veliine. Opiite to se dogaa s temperaturom
unutar pei.


3.7. Servomotor

Upotreba servomotora je iznimno rairena. Skoro sve to zahtjeva precizne pokrete
pokree se servomotorima. U biti je to istosmjerni motor upravljan strujom armature. Takav je
motor u otvorenoj petlji sustav prvog reda. Ulaz je napon (u
m
) koji je narinut na pojaalo
snage. Izlaz je brzina motora u [rad/s]. Pretpostavlja se da je armaturna samoindukcija
zanemariva. Brzina motora i izlazni napon tahometra (u
t
) su povezani s jednadbom:

u
t
(t) = K
t
(t) (3.12)

Blok dijagram je prikazan na slici 3.34. Tablica 3.1 prikazuje tvornike parametre tipinog
servomotora.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

67


Slika 3.34: Blok dijagram istosmjernog motora

Tablica 3.1: Tvorniki parametri tipinog servomotora

osjetljivost tahometra, K
t
0.00955 [V/rad/s]
momentna konstanta, K
m
0,027 [Nm/A]
elektromotorna konstanta povratne veze, K
b
0,027 [V/rad/s]
otpor armature motora, R
m
5,3[]
trenje motora, B 6 10
-6
[Nms]
inercija armature motora, J 1,57 10
-6
[kgm
2
]



Slika 3.35: Simulacijski model servomotora s vrijednostima iz Tablice 3.1

Ako se u izraz za prijenosnu funkciju motora (prema slici 3.34) uvrste podaci iz
tablice 3.1, slijedi da je:

( )
( )
( )
( )
( )
m
m b
m
m
m
m b
m
m m
m
m b m
m
m b m
m
m
m b m
m
m
m m
b
m m
R
K K
B Js
R
K
R
K K
B Js
K
R K
K
K K B Js R
K
K K B Js R
K
B Js R
K K B Js R
B Js R
K
B Js
R K
K
B Js
R K
s H
+ +
=
|
|

\
|
+ +
=
+ +
=
=
+ +
=
+
+ +
+
=
+
+
+
=
1 1
/
1
/
) (

uz
m
m b
x
R
K K
B K + = slijedi:
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

68

|
|

\
|
+
=
|
|

\
|
+
=
1
1
1
1
) (
s
K
J K R
K
s
K
J
K
R
K
s H
x
x m
m
x
x
m
m
(3.13)

Prijenosna funkcija motora H(s) je prvog reda, tj. oblika:


1
) (
+
=
s
K
s H

(3.14)

gdje je K istosmjerno pojaanje, a vremenska konstanta. Za podatke iz tablice slijedi:

(

= =
Vs K R
K
K
x m
m
1
515 , 35
[ ]
1 010933 , 0
515 , 35
) (
933 , 10
/
+
=
=
+
=
s
s H
ms
R K K B
J
m m b

.

Ovaj sustav se moe voditi s pomou:
a) proporcionalnog regulatora i
b) proporcionalno-integracijskog regulatora.

3.7.1. Voenje istosmjernog stroja proporcionalnim regulatorom

Proporcionalni regulator stvara aktuatorski signal razmjeran signalu pogreke. Za ovaj
istosmjerni motor, zakon voenja stoga glasi:

u
m
(t) = K
p
(
d
(t) - (t)) (3.15)

gdje su
d
eljena brzina motora i K
p
proporcionalno pojaanje. Kako je:

u
t
(t) = K
t
(t)

slijedi da se eljeni izlazni napon tahometra moe izraziti kao:

u
d
(t) = K
t

d
(t)

i dobiva se zakon upravljanja:

( ) ) ( ) ( ) ( t u t u
K
K
t u
t d
t
p
m
= (3.16)

Uzimajui da je slijedi da je prijenosna funkcija zatvorene petlje:

) ( 1
) (
) (
'
'
s H K
s H K
s W
p
p
+
=
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

69
1
515 , 35 1
011 , 0
515 , 35 1
515 , 35
1 515 , 35 011 , 0
515 , 35
1 011 , 0
515 , 35 011 . 0 1
1 011 , 0
515 , 35
1 011 , 0
515 , 35
1
1 011 , 0
515 , 35
) (
'
'
'
'
'
'
'
'
'
+
+
+
=
+ +
=
=
+
+ +
+

=
+
+
+

=
s
K
K
K
K s
K
s
K s
s
K
s
K
s
K
s W
p
p
p
p
p
p
p
p
p


gdje je vremenska konstanta
1 515 , 35
011 , 0
'
+
=
p
K
.

U (s)
d
K

P
H(s)
U (s)
t
-
W(s)

a)

b)


c)

Slika 3.36: a) Blok dijagram voenja potora P regulatorom, b) simulacijski model u
Simulinku, c) primjer odziva sustava
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI


3.7.2. Voenje istosmjernog stroja PI regulatorom

U PI regulatoru postoji dodatni
signala pogreke. PI zakon vo



Zbog dodatnog lana prijenosna funkcija je sada drugog reda i to ne jednostavna, jer
ima i nul toku. Na isti nain kao i kod proporcionalnog regulatora
funkcija zatvorene petlje:
( )
(
p
I p
s s
s K s s
s s
K s K
s W
011 , 0 (
1 011 , 0 (
011 , 0 (
35
1
) (
+ +
+
=
=

U (s)
d
-


MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
enje istosmjernog stroja PI regulatorom
U PI regulatoru postoji dodatni lan u signalu aktuatora, koji je razmjeran integralu
pogreke. PI zakon voenja za istosmjerni motor je:
( ) ) ( ) ( ) ( s s
s
K
K s U
d
I
p m

|

\
|
+ =
lana prijenosna funkcija je sada drugog reda i to ne jednostavna, jer
ku. Na isti nain kao i kod proporcionalnog regulatora dobiva se prijenosna
)
( )
p
p
I
I p
I p
s K s
K s K
s
K s
s s
K s K
s s
K s K
s H s K
s H s K
515 , 35 1 011 , 0
515 , 35 515 , 35
1
515 , 35
) 1
515 , 35
1 011 , 0
515 , 35
1
1 011 , 0
515 , 35
) ( ) ( 1
) ( ) (
2
+ + +
+
=
+
+
+
=
+

+
+
+

+
=
+
s
K
K
I
P
'
'
+
) (s H

a)
b)
70
lan u signalu aktuatora, koji je razmjeran integralu
(3.17)
lana prijenosna funkcija je sada drugog reda i to ne jednostavna, jer
dobiva se prijenosna
I
I
K
K
515 , 35

U(s)
t
W(s)


MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

71


c) d)

Slika 3.37: a) Blok dijagram PI regulacije servomorota, b) Simulink model, c) prozor za
podeavanje parametara prijenosne funkcije, d) primjer odziva sustava

Zadaci za vjebu:

1. Proraunajte proporcionalni regulator tako da vremenska konstanta prijenosne funkcije
zatvorene petlje bude = 0,005 (s).
2. Simulirajte voenje istosmjernog motora proraunatim proporcionalnim regulatorom.
Precrtajte odziv na jedininu odskonu funkciju (moe i copy-paste iz Matlaba).
3. Mijenjajte vrijednosti K
p
. Da li istosmjerno pojaanje ovisi o Kp?
4. Koristei se Simulink-om, mijenjati parametre PI regulatora tako da prebaaj bude to blie
20% u trenutku 0,005 (s). Za PI regulator iz zadatka vrijedi:
cs
b as
s K
+
= ) ( .
5. Uzmite nekoliko proizvoljnih kombinacija parametara a, b i c te skicirajte rezultate za M
p
i
T
p
. Skicirajte odziv za svaki sluaj.

















MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

72
4. SLOENI PRIMJERI MODELIRANJA I SIMULIRANJA U
MATLAB/SIMULINK PROGRAMSKOM PAKETU

U ovom poglavlju dani su primjeri naprednog koritenja Matlaba i Simulinka.
Jedan od glavnih prigovora raznim simulacijama i modeliranjima u obrazovanju i
znanosti jest da nema veze sa stvarnim svijetom. Prednost programskog paketa
Matlab/Simulink je u tome to postoji vie alatki za povezivanje sa stvarnim svijetom. Tu
spadaju alatke za uzimanje podataka s PC kartica (tj. senzora), poput alatke za dohvat
podataka ili slika (data acquisition, image acquisition). Potom, tu je i Radionica u stvarnom
vremenu (Real-time Workshop), HDL koder za programiranje PLC-ova i dr. To znai da
Matlab slui i za upravljanje stvarnim sustavima, a ne samo za proraun, obradu podataka i
simuliranje. Stoga prvo i drugo potpoglavlje obrauju dva takva primjera. Naravno, primjeri
se mogu izvoditi ako dostupna licenca ima odreene skupove blokova (tzv. blockset).

4.1. Realizacija Simulink modela na DSP kartici

Kada se ve izsimulira i projektira model sustava upravljanja kakav je potreban,
poeljno ga je testirati i u stvarnosti. Jedan od naina je iz Simulinka.
Prvo se napravi Simulink blok-dijagram. Tada se starta Studio za pisanje koda (Code
Composer Studio, CCStudio). U simulink-prozoru izabere se Simulation pa Configuration
Parameters. Na listi izaberite TIC6000 code generation. Iskljuite Incorporate
DSP/BIOS i potvrdite Real-time Workshop, a potom Generate Code. Matlab e
automatski genertirati program uspostaviti veze s CC-studiom, transformirati Simulink model
u C/C++ datoteke, kreirati novi projekt, dodati sve potrebne datoteke u projekt, i izgraditi
program na ciljni hardver.
Program se izvrava tako da se na Debug izborniku izabere Go main i onda
Run.

4.2. Dohvat slike s kamere

Jedan od estih ulaznih signala je slikovni. Slikovni signal dolazi s kamere. Stoga je u
Matlabu razvijen nain dohvata slike. Slika se treba prenijeti u neki od formata koje podrava
Matlab, poput strukture ili matrice. Da bi znali koji su video adaptori dostupni na nekom
raunalo, koristi se naredba imaqhwinfo. Slijedi primjer ispisa:

imaqhwinfo

ans =

InstalledAdaptors: {'matrox' 'winvideo'}
MATLABVersion: '7.12 (R2011a)'
ToolboxName: 'Image Acquisition Toolbox'
ToolboxVersion: '4.1 (R2011a)'

Naredbom imaqfind pronalaze se instalirane naprave. Slijedi primjer ispisa:

imaqfind

Summary of Video Input Object Using 'Integrated Webcam'.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

73

Acquisition Source(s): input1 is available.

Acquisition Parameters: 'input1' is the current selected source.
10 frames per trigger using the selected source.
'YUY2_1280x720' video data to be logged upon START.
Grabbing first of every 1 frame(s).
Log data to 'memory' on trigger.

Trigger Parameters: 1 'immediate' trigger(s) on START.

Status: Waiting for START.
0 frames acquired since starting.
0 frames available for GETDATA.

Da bi se dohvatila slika s kamere, potrebno je definirati video objekt (videoinput), a
onda ta oitanja uitati u neki Matlabov format (getsnapshot). Kada se definira video objekt,
mogue je prikazati sliku s kamere bez uitavanja u varijablu i bez memoriranja (preview).
Slika 4.1 prikazuje jedan primjer takvog pogleda dobiven sljedeim naredbama:

vobj = videoinput('winvideo'); preview(vobj);



Slika 4.1: Primjer prikaza videa s kamere bez memoriranja
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

74
Da bi se sa slikama moglo bilo to raditi (otkrivanje rubova, pokreta, prepoznavanje
objekata i sl.), potrebno je dohvatiti sliku i upisati je u neku varijablu. Za veinu algebarskih
operacija potrebna je varijabla dvostruke preciznosti (double). Dohvat s uitanjem u varijablu
moe se postii naredbom:

bb=double(getsnapshot(vobj));



Slika 4.2: Tok slikovnih signala u Matlabu

Osim u radnom prostoru i pisanjem programskog koda, slika se s kamere moe
dohvatiti i u Simulinku izborom odgovarajuih blokova (uz uvjet da posjedujete licencu za
odgovarajui skup blokova).
Slika 4.3 pokazuje najjednostavniji Simulink model za dohvat i prikaz slike. Sastoji se
od bloka za dohvat slike (From Video Device) i bloka za prikaz slike (To Video Display). Ako
se ta slika eli obraditi, izmeu dva bloka se postavlja odgovarajui niz razliitih blokova.



Slika 4.3: Najjednostavniji Simulink model za dohvat i prikaz slike
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

75

Ako se klikne na blok za dohvat slike, otvori se izbornik, koji prua izbor video
formata, kamere i drugih mogunosti.
Ako se u spomenutom izborniku klikne na Preview, pokazuje se slika kakva stie s
kamere. To je prikazano na slici 4.4.



Slika 4.4: Prikaz slike dohvaene s kamere

Kada se pokrene model, tada se otvara novi grafiki prozor, koji prikazuje krajnji
rezultat djelovanja modela (Slika 4.5). Kod nekih kamera, otvara se i izbornik kamere, kojim
se mogu podeavati razne opcije, kao kontrast, pozadinsko svjetlo, boja, i sl.
Slika 4.6. prikazuje jednostavni primjer otkrivanja kretnji dostupan u pomoi (Help)
za alatku raunalnog vida (Computer Vision System Toolbox), a ime datoteke je
vipmotion.mdl. Zbroj apsolutnih razlika (engl. sum of absolute differences, SAD) je popularni
postupak otkrivanja kretnji u obradi videa. U ovom demo-u SAD se primjenuje neovisno u 4
kvadranta. Ako je detektirana kretnja u kvadrantu, demo naglaava kvadrant crvenom bojom.
Bolje, ali i sporije bi bilo imati vie djelova slike. Ulaz u model je snimljena datoteka, to
znai da se kretnja detektira off-line. Iza bloka za ulaz video podataka, signal dolazi do bloka
SAD, koji je sastavljen od vie jednostavnih blokova. Usporedbom se oznaava kvadrant s
kretnjom, jer je on vee energije od zadanog praga (blok Motion Threshold).



MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

76


Slika 4.5: Prikaz slike nakon djelovanja modela




Slika 4.6: Simulink model otkrivanja kretnji

Model sa slike 4.6 moe se modificirati za primjenu u realnom vremenu (on-line).
Jedan takav primjer prikazan je na slici 4.7 i koristi integriranu kameru s laptop raunala.
Umjesto unosa video niza, stavlja se blok za kameru (From Video Device). Kako predloak iz
Matlaba koristi sivu sliku, potrebno je RGB ulaz s kamere transformirati u sivu mapu (RGB to
intensity).
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

77

Slika 4.7: Otkrivanje kretnji u realnom vremenu model u Simulinku

4.3. Upravljanje sustavom dva spremnika

Za ovaj primjer je potrebno imati alatku za robustno upravljanje (Robust Control
Toolbox) u kojoj se nalazi predloak u datoteci tank_demo.m.
Objekt upravljanja je jednostavan sustav s dva spremnika vode, koji su spojeni
kaskadno. Gornji spremnik se puni hladnom i toplom vodom preko ventila kojima upravlja
kompjuter. Donji spremnik se puni vikom iz gornjeg spremnika (spojen na dno donjeg
spremnika). Cilj upravljanja je podeavanje temperature vode u oba spremnika.



Slika 4.8: Sustav dva spremnika kojim se upravlja
AD
On-line otkrivanje kretnji - modificiran Matlab
Intensity
Intensity
SAD
AD
Sum of
Absol ute
Di fferences
>
Quadrant Moti on
Esti mates
Detect
Image
Pregl edni k-vi deo prozor
1.7e4/512
Prag kretnj e
po_potrebi mi j enj ati
nazi vni k
1
Integrated W...
YUY2_1280x720
i nput1
From Vi deo Devi ce
R'G'B' to
i ntensi ty
Col or Space
Conversi on
Motion Energy
Detect
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

78
Varijable spremnika oznaene su na sljedei nain:
fhc - naredba aktuatoru toplog toka,
fh - tok tople vode u spremnik 1,
fcc - naredba aktuatoru hladne vode,
fc - tok hladne vode u spremnik 1,
f1 - ukupni tok u spremnik 1,
A1- presjek povrine spremnika 1,
h1 - razina vode spremnika 1,
t1 - temperatura spremnika 1,
t2 - temperatura spremnika 2,
A2 - presjek povrine spremnika 2,
h2 - razina vode spremnika 2,
fb - protok vode (Flow rate) za spremnik 2,
tb - temperatura spremnika 2,
th - temperatura tople vode i
tc - temperatura hladne vode.

Kako Matlab radi s brojevima, a ne fizikalnim jedinicma, treba paziti na dosljednost u
unoenju vrijednosti. Obino se definiraju normalizirane jedinice. U ovom sluaju definirane
su prema tablici 4.1.

Tablica 4.1: Normalizirane jedinice u sustavu s dva spremnika

Varijabla Ime jedinice 0 znai: 1 znai:
Temperatura tunit temperatura hladne vode temperatra tople vode
Visina hunit prazan spremnik pun spremnik
Tok funit tok nultog ulaza maksimalni ulazni tok

Upotrebom normaliziranih jedinica, slijede postavke objekta upravljanja:

A1 = 0.0256; % Povrina spremnika 1 (hunits^2)
A2 = 0.0477; % Povrina spremnika 2 (hunits^2)
h2 = 0.241; % Visina spremnika 2 (hunits)
fb = 3.28e-5; % Dotok vode (hunits^3/sec)
fs = 0.00028; % Skaliranje toka (hunits^3/sec/funit)
th = 1.0; % Temperatura tople vode (tunits)
tc = 0.0; % Temperatura hladne vode (tunits)
tb = tc; % Temperatura dotoka hladne vode (tunits)
alpha = 4876; % Parametar omjera tok/visina (hunits/funits)
beta = 0.59; % Parametar omjer tok/visina (hunits)

Varijabla fs je faktor skaliranja toka koji konvertira njegovu vrijednost u opsegu
ulaznih vrijednosti (0 - 1 funits) u tok izraen s hunits^3/s. Konstante alpha i beta opisuju
odnos tok/visina za spremnik 1: % h1 = alpha*f1 beta.

4.3.1. Nominalni model spremnika

Nominalni model postie se linearizacijom oko radne toke:

h1ss = 0.75; % Razina vode spremnika 1
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

79
t1ss = 0.75; % Temperatura spremnika 1
f1ss = (h1ss+beta)/alpha; % Tok spremnika 1 -> spremnika 2
fss = [th,tc;1,1]\[t1ss*f1ss;f1ss];
fhss = fss(1); % Vrui tok
fcss = fss(2); % Hladni tok
t2ss = (f1ss*t1ss + fb*tb)/(f1ss + fb); % Temperatura spremnika 2

Nominalni model za spremnik 1 ima ulaze [|fh|; fc] i izlaze [|h1|; t1]:

A = [ -1/(A1*alpha), 0;
(beta*t1ss)/(A1*h1ss), -(h1ss+beta)/(alpha*A1*h1ss)];
B = fs*[ 1/(A1*alpha), 1/(A1*alpha);
th/A1, tc/A1];
C = [ alpha, 0;
-alpha*t1ss/h1ss, 1/h1ss];
D = zeros(2,2);
spremnik1nom = ss(A,B,C,D,'InputName',{'fh','fc'},'OutputName',{'h1','t1'});
clf
step(spremnik1nom)
title('Odziv na step spremnika 1')



Slika 4.9: Odziv na jedininu koraajnu pobudu spremnika 1

Nominalni model za spremnik 2 ima ulaze [|h1|;|t1|] i izlaz t2:

A = -(h1ss + beta + alpha*fb)/(A2*h2*alpha);
B = [ (t2ss+t1ss)/(alpha*A2*h2), (h1ss +beta) /(alpha*A2*h2) ];
C = 1;
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

80
D = zeros(1,2);
spremnik2nom = ss(A,B,C,D,'InputName',{'h1','t1'},'OutputName','t2');
step(spremnik2nom), title('Step odziv za spremnik 2')



Slika 4.10: Odziv na jedininu koraajnu pobudu spremnika 2

4.3.2. Model aktuatora

U aktuatorima se javljaju dinamike i zasienja. U koritenom frekvencijskom opsegu,
aktuatori se mogu aproksimirati sustavom prvog reda sa saturacijom brzine i amplitude.
Ogranienje brzine ograniava izvedbu aktuatora vie nego poloaj. Za linearni model, neki
uinci ogranienja brzine mogu biti ukljueni kroz perturbacijski model.
Neka je model aktuatora s jednim ulaz (naredba) i dva izlaza (aktuirani signal i
njegova derivacija). Koristit e se derivirani izlaz kako bi se ograniilo brzinu aktuatora.

act_BW = 20; % irina pojasa aktuatora (rad/s)
actuator = [ tf(act_BW,[1 act_BW]);
tf([act_BW 0],[1 act_BW]) ];
actuator.OutputName = {'Flow','Flow rate'};
bodemag(actuator)
title('Dinamika aktuatora ventila')
hot_act = actuator;
set(hot_act,'InputName','fhc','OutputName',{'fh','fh_rate'});
cold_act =actuator;
set(cold_act,'InputName','fcc','OutputName',{'fc','fc_rate'});

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

81


Slika 4.11: Bodeov dijagram za aktuator ventila


4.3.3. Protupreklapajui (Anti-Aliasing) filtri

U ovom primjeru svi mjereni signali se filtriraju s Butterworth-ovim filterima etvrtog
reda, svaki s graninom frekvencijom 2,25 Hz. Naredbom filter vri se filtriranje signala.
Kako bi se definirao filtar, koristi se naredba mkfilter (engl. make filter, konstruiraj filtar).

fbw = 2.25; % Protupreklapajui filtar s frekvencijom kidanja u [Hz]
filter = mkfilter(fbw,4,'Butterw');
h1F = filter;
t1F = filter;
t2F = filter;

4.3.4. Nesigurnost u dinamici modela

Eksperimenti s otvorenom petljom otkrivaju izvjesne varijabilnosti u odzivu sustava.
To znai da je linearni model dobar na niskim frekvencijama. Ako se to zanemari prilikom
projektiranja, kontroler e loe raditi u stvarnom sustavu. Stoga je potrebno izraditi model
nesigurnosti koji pogaa nau procjenu nesigurnosti fizikog sustava.
Kako veliina nesigurnosti modela i varijabilnost tipino ovise o frekvenciji, model
nesigurnosti mora ukljuivati teinske funkcije ovisne o frekvenciji kako bi se normalizirao
model preko svih frekvencija.
Eksperimenti s otvorenom petljom ukazuju na znaajnu dinamiku nesigurnost u
odzivu t1. To je zbog mijeanja hladnih i toplih voda i gubitka topline. Moe se modelirati
kao multiplikativni model greke Delta2 na t1 izlazu, dok se multiplikativni model greke
Delta1 i Delta3 pridaju izlazima h1 i t2.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

82


Slika 4.12: Uvoenje nesigurnosti u regulacijski krug

Slika 4.12 prikazuje mjesta unosa greaka u model.
Kako bi se dovrio model nesigurnosti, mora se kvantificirati koliko su velike greke
modeliranja u funkciji frekvencije. Kako je to teko precizno odrediti, mogu se odrediti grube
granice s obzirom na opseg gdje je linearan model precizan, a gdje lo.
Nominalni model za h1 je vrlo precizan do 0,3 Hz. Za t1 nesigurnost bi trebala
dominirati iznad 0,02 Hz. Postoji fazni pomak od dodatnih 180 stupnjeva za t1 na 0,02 Hz.
Takoe je prisutan znaajan pad pojaanja na toj frekvenciji. Ti uinci dolaze iz nemodelirane
dinamike mijeanja. Kod t2 nesigurnost prevladava iznad 0,03 Hz. Ovi podaci sugeriraju
granice frekvencija za modeliranje granica pogreki ovisnih o frekvenciji.

Wh1 = 0.01+tf([0.5,0],[0.25,1]);
Wt1 = 0.1+tf([20*h1ss,0],[0.2,1]);
Wt2 = 0.1+tf([100,0],[1,21]);
clf;
bodemag(Wh1,Wt1,Wt2),
title('Granice greki modeliranja')
legend('h1 dynamics','t1 dynamics','t2 dynamics','Location','NorthWest')

% Normalizirana dinamika greki
delta1 = ultidyn('delta1',[1 1]);
delta2 = ultidyn('delta2',[1 1]);
delta3 = ultidyn('delta3',[1 1]);

% Frekvencijski ovisna varijabilnost u h1, t1, t2
varh1 = 1+delta1*Wh1;
vart1 = 1+delta2*Wt1;
vart2 = 1+delta3*Wt2;

% Dodavanje varijabilnosti nominalnom modelu
spremnik1u = append(varh1,vart1)*spremnik1nom;
spremnik2u = vart2*spremnik2nom;
spremnik1i2u = [eye(2); spremnik2u]*spremnik1u;
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

83


Slika 4.13: Granice greki modeliranja

Sada je potrebno sluajnim odabirom uzorkovati nesigurnost kako bi se shvatilo kako
greke modeliranja utjeu na odziv.

step(spremnik1u,1000)
title('Varijabilnost odziva zbog pogreki modeliranja (spremnik 1) ')



Slika 4.14: Varijabilnost odziva zbog greki modeliranja spremnika 1
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI

4.3.5. Projektiranje kontrolera

Cilj simuliranja je pratiti naredbe za
algoritma, mora se formulirati sustav koji minimizira poja
izabiru teinske funkcije koje odgovaraju poreme
odgovarajuih frekvencijski-ovisnih komponenti.


Slika 4.15: Shema odgovaraju

Potrebno je odabrati teinske faktore senzorskih umova,
praenje greki i aktuatora. Obi
odnosu na relativnu dinamiku ostatka sustava
izvori uma ukljuuju elektroni
um loeg uzemljenja, zraenje, i dr. Da bi se estimiralo razinu uma, koristi se
se tako dobivaju teinske vrijednosti. Sljede
penalizacije greki o frekvenciji:

Wh1noise = 0.01;
Wt1noise = 0.03;
Wt2noise = 0.03;
Wt1perf = tf(100,[400,1]);
Wt2perf = tf(50,[800,1]);
clf;
bodemag(Wt1perf,Wt2perf);
title('Penalizacija greke ovisna o frekvenciji
legend('t1','t2')

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Projektiranje kontrolera
ratiti naredbe za t1 i t2. Kako bi se iskoristile prednosti
mora se formulirati sustav koji minimizira pojaanje u zatvorenoj petlji. Stoga se
izabiru teinske funkcije koje odgovaraju poremeajima i potrebne su za normalizaciju
ovisnih komponenti.
Shema odgovarajue prijenosne funkcije za problem 2 spremnika
teinskom faktorima
odabrati teinske faktore senzorskih umova, naredbi za postavljanje to
Obino se pretpostavlja da je dinamika senzora zanemariva u
odnosu na relativnu dinamiku ostatka sustava. To nije tono za um senzora.
uju elektroniki um u termoparovima kod kompenzatora, poja
enje, i dr. Da bi se estimiralo razinu uma, koristi se
tako dobivaju teinske vrijednosti. Sljedeim programskim linijama dobiva se odnos
penalizacije greki o frekvenciji:
;
Penalizacija greke ovisna o frekvenciji');
84
Kako bi se iskoristile prednosti H


anje u zatvorenoj petlji. Stoga se
ajima i potrebne su za normalizaciju

spremnika s uraunatim
naredbi za postavljanje toki,
inamika senzora zanemariva u
no za um senzora. Potencijalni
parovima kod kompenzatora, pojaala i filtera,
enje, i dr. Da bi se estimiralo razinu uma, koristi se FFT analiza te
im programskim linijama dobiva se odnos
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

85


Slika 4.16: Frekvencijska karakterisitka greke postavljene toke zbog uma

Kako glavnina vode koja tee u spremnik 2 dolazi iz spremnika 1, izmjene u t2 su
dominantne. Takoer se za t2 obino zadaje vrijednost blizu t1. Stoga ima vie smisla koristiti
podeavanje t1 i t2 t1:

- za t1: t1cmd = Wt1cmd * w1
- za t2 t1: t2cmd =Wt1cmd*w1+Wtdiffcmd*w2

gdje su w1, w2 ulazi za bijeli um. Odgovarajue vrijednosti teinskih faktora su:

Wt1cmd = 0.1; % za t1
Wtdiffcmd = 0.01; % za t2 - t1

Takoer je potrebno uitati penalizacije za hladnu i vruu vodu i brzine aktuatora:

Whact = 0.01; % Penalizacija za aktuator vrue vode
Wcact = 0.01; % Penalizacija za aktuator hladne vode
Whrate = 50; % Penalizacija brzine toplog aktuatora
Wcrate = 50; % Penalizacija brzine hladnog aktuatora

Izrada modela otvorene petlje s teinama ukljuuje raunanje odziva naredbom
feedback ili sysic:

systemnames = 'spremnik1i2u hot_act cold_act t1F t2F';
systemnames = [systemnames,' Wt1cmd Wtdiffcmd Whact Wcact'];
systemnames = [systemnames,' Whrate Wcrate'];
systemnames = [systemnames,' Wt1perf Wt2perf Wt1noise Wt2noise'];
inputvar = '[t1cmd; tdiffcmd; t1noise; t2noise; fhc; fcc]';
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

86
outputvar = '[Wt1perf; Wt2perf; Whact; Wcact; Whrate; Wcrate]';
outputvar = [outputvar,'; Wt1cmd; Wt1cmd+Wtdiffcmd;'];
outputvar = [outputvar,' Wt1noise+t1F; Wt2noise+t2F]'];
input_to_spremnik1i2u = '[hot_act(1);cold_act(1)]';
input_to_hot_act = '[fhc]';
input_to_cold_act = '[fcc]';
input_to_t1F = '[spremnik1i2u(2)]';
input_to_t2F = '[spremnik1i2u(3)]';
input_to_Wt1cmd = '[t1cmd]';
input_to_Wtdiffcmd = '[tdiffcmd]';
input_to_Whact = '[hot_act(1)]';
input_to_Wcact = '[cold_act(1)]';
input_to_Whrate = '[hot_act(2)]';
input_to_Wcrate = '[cold_act(2)]';
input_to_Wt1perf = '[Wt1cmd - spremnik1i2u(2)]';
input_to_Wt2perf = '[Wtdiffcmd + Wt1cmd - spremnik1i2u(3)]';
input_to_Wt1noise = '[t1noise]';
input_to_Wt2noise = '[t2noise]';
sysoutname = 'P';
cleanupsysic = 'yes';
sysic;
disp('Model otvorene petlje s teinskim vrijednostima')

Nastavak programskog slijeda je u potpoglavlju 4.3.7. Meutim, da bi se primjenio
regulator s H

upravljanjem, potrebno je objasniti kakvo je to upravljanje, to je uinjeno u


potpoglavlju 4.3.6.

4.3.6. Pojam H

norme i upravljanja

H

norma stabilne skalarne prijenosne funkcije F(s) je jednostavno vrna vrijednost:



) ( max ) (

j F s F =

(4.1)

Strogo matematiki gledano, u gornjoj jednadbi bi trebalo pisati sup, a ne max, jer se
maksimum moe dobiti i kada frekvencija tei beskonanosti, a u biti se trai supremum.
Meutim, u ininjerskoj praksi je dovoljno tono i maksimum. Kako se minimizira vrna
vrijednost, pri ekstremnoj frekvenciji, slijedi da minimiziranje H

norme odgovara
minimiziranju vrha najvee svojstvene vrijednosti.
Simbol H dolazi od izraza "Hardy space" (Hardyjev prostor). H

je, u kontekstu
automatike skup prijenosnih funkcija s ogranienom -normom. Funkcija G(s) je strogo
pravilna ako tei nuli kad s . Funkcija G(s) je polu-pravilna ili dvo-pravilna ako G(s)
D 0 kad s ) prijenosnih funkcija. Iz tog skupa prijenosnih funkcija, odabire se s pomou
nekog kriterija ona koja je najbolja (s obzirom na taj kriterij, npr. pogreka).
Simbol dolazi od injenice da se maksimalna amplituda, u ovisnosti o frekvenciji,
moe pisati:


p
p
p
d j F j F
/ 1
) ( lim ) ( max
|
|

\
|
=

(4.2)
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

87

U biti, potencirajui na beskonanu potenciju, bira se vrna vrijednost, jer se
frekvencijske komponente manje prisutnih harmonika bre gue potenciranjem i u potpunosti
iezavaju teorijski na beskonanoj potenciji, a praktino ve kod kvadriranja ili kubiranja.
Kad ieznu harmonici manjeg intenziteta ostaje samo dominantni, te se vaenjem
beskonanog korijena beskonano potenciranog dominatnog harmonika dobija sam harmonik.
Ako, npr., postoji signal koji ima harmonike amplitude 1 i 0,5, tada se kvadriranjem dobija 1 i
0,25. Ponovnim kvadriranjem dobija se 1 i 0,0625, itd. Vidi se da vrijednost nedominantnih
harmonika brzo pada. Funkcija se uvijek moe normalizirati tako da je dominantni harmonik
amplitude 1. To se esto radi na samom poetku procedure skaliranjem. U biti se svi
harmonici dijele s amplitudom najveeg.
Minimizacijom H

norme izolira se najvei harmonik, tj. maksimalna vrijednost


signala i za nju se rauna najbolji regulator/kontroler. Ova norma je dobra za ekstremne uvjete
rada, gdje je jedan harmonik posebno izraen, te treba paziti na njegovu vrnu vrijednost kako
ne bi dolo do nestabilnosti sustava.
Slika 4.17 prikazuje temeljnu konfiguraciju openitog upravljanja, gdje su: u
upravljake varijable, v mjerene varijable, w egzogeni signali (smetnje w
d
i zapovijedi r), z
signal za minimiziranje.



Slika 4.17: Konfiguracija openitog upravljanja

Prijenosna matrica sustava je sa slike 4.17:

[ ] D B A sI C
s U
s Y
s G + = =
1
) (
) (
) (

Ako se gornji rezultat primijeni na oznake sa slike 4.17, onda je:

P(s) = C(sI A)
-1
B + D.

Formulacija problema sa slike 4.17 glasi:


(

=
(

=
(

u
w
s P s P
s P s P
u
w
s P
v
z
) ( ) (
) ( ) (
) (
22 21
12 11
(4.3)

v s K u ) ( = (4.4)

Kako je openiti objekta u prostoru stanja:
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

88
(
(

=
22 21
12 11
2
1
2 1
) (
D D
D D
C
C
B B A
s P
slijedi:

[ ]
(

= =
(

=
22 21
12 11
2 1
2
1
, ,
D D
D D
D B B B
C
C
C ,

te je:

( ) [ ]
( )
( )
[ ]
( ) ( )
( ) ( )
( ) ( )
( ) ( )
(

+ +
+ +
=
=
(

+
(



==
(

+
+
(

=
(

+
(

22 2
1
2 21 1
1
2
12 2
1
1 11 1
1
1
22 21
12 11
2
1
2 1
1
2
2
1
1 1
1
1
22 21
12 11
2 1
1
2
1
1
22 21
12 11
2 1
1
2
1
) (
D B A sI C D B A sI C
D B A sI C D B A sI C
D D
D D
B A sI C B A sI C
B A sI C B A sI C
D D
D D
B B
A sI C
A sI C
D D
D D
B B A sI
C
C
s P

( )
( )
12 2
1
1 12
11 1
1
1 11
D B A sI C P
D B A sI C P
+ =
+ =


( )
21 1
1
2 21
D B A sI C P + =


( )
22 2
1
2 22
D B A sI C P + =



Prijenosna funkcija zatvorene petlje iz w u z data je s:

z = F
l
(P, K) w (4.5)

Uvrtavajui izraz za u u matrinu jednadbu za formulaciju problema slijedi:


w P K P I K P P z
w P K P I K P w P Kv P w P z
w P K P I v Kv P w P v
Kv P w P
Kv P w P
Kv
w
P P
P P
v
z
) ) ( (
) (
) (
21
1
22 12 11
21
1
22 12 11 12 11
21
1
22 22 21
22 21
12 11
22 21
12 11

+ =
+ = + =
= + =
(

+
+
=
(

=
(




21
1
22 12 11 1
) ( ) , ( P K P I K P P K P F

+ = (4.6)

H

upravljanje ukljuuje minimizaciju H

norme od F
l
(P, K).
Standardni H

optimalni kontrolni problem je nai sve stabilizirajue kontrolere K koji


minimiziraju izraz:
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

89
)) )( , ( ( max ) , (

j K P F K P F
l l
=

(4.7)

Ako je z = F
l
(P, K)w, onda je:


2
2
0 ) (
) (
) (
max ) , (
t w
t z
K P F
t w
l

= (4.8)

gdje je

=
0
2
2
) ( ) (
i
i
dt t z t z druga norma vektorskog signala.
Neka je
min
najmanja vrijednost

) , ( K P F
l
za sve stabilizirajue kontrolere. Tada
je H

suboptimalni upravljaki problem nai sve stabilizirajue kontrolere K takve da je


<

) , ( K P F
l
i >
min
. Stabilizirajui kontroler K(s) takav da je <

) , ( K P F
l

postoji ako i samo ako je:
a) X

rjeenje algebarske Riccatijeve jednadbe:



( ) 0
2 2 1 1
2
1 1
= + + +


X B B B B X C C A X X A
T T T T
(4.9)

takvo da je: ( ) [ ] { } 0 Re
2 2 1 1
2
< +

X B B B B A
T T
i
za svaki i.
b) Y

0 rjeenje algebarske Riccatijeve jednadbe:



( ) 0
2 2 1 1
2
1 1
= + + +


Y C C C C Y B B A Y AY
T T T T
(4.10)

takvo da je ( ) [ ] { } 0 Re
2 2 1 1
2
< +

C C C C Y A
T T
i
za svaki i.
c) ( )
2
, <

Y X .
Svaki takav kontroler je onda dat s K = F
l
(K
C
, Q) gdje je:


(
(

=


0
0
) (
2
2
I
I
C
F
B Z L Z A
s K
c

gdje su:

= X B F
T
2
,
T
C Y L
2
= ,
( )
1
2

= X Y I Z ,
2 2 1 1
2
C L Z F B X B B A A
T

+ + + =

i Q(s) bilo koja stabilna pravilna prijenosna funkcija takva da je <

Q . Za Q(s) = 0.
Slijedi:

( )


= = F A sI L Z s K s K
C
1
) ( ) (
11
(4.11)

Gornji izraz se naziva centralnim kontrolerom i ima jednak broj stanja kao openiti objekt P.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

90
Centralni kontroler moe se razdvojiti u estimator stanja (eng. state estimator,
observer) i povratno stanje (eng. state feedback) kao:

( ) y x C L Z u B x X B B x A x
worst
w
T
+ + + =


2 2

1
2
1
43 42 1
&
(4.12)

x F u

=
(4.13)



Slika 4.18: H

robustna stabilizacija problema



Ako nastane neki poremeaj, za tako perturbiranu povratnu vezu sustava s gornje
slike, svojstvo stabilnosti je robustno ako i samo ako je nominalni sustav povratne veze
stabilan i:

( )

1
2
1 1

(

=

M GK I
I
K
(4.14)

Primjeuje se da je H

norma od do
(

y
u
i (I-GK)
-1
funkcija osjetljivosti za
pozitivnu povratnu vezu. Najmanja mogua vrijednost koja se moe postii i odgovarajua
maksimalna granica stabilnosti (eng. stability margin) date su kao:

{ } ( )
2 / 1
2 / 1
2
1
min
) ( 1 1 XZ M N
H
+ = = =

(4.15)

gdje je
H
oznaava Henkelovu normu, spektralni radijus (tj. maksimalnu svojstvenu
vrijednost), a Z je pozitivno-definirano (eng. positive-definite) rjeenje algebarske Riccatijeve
jednadbe:

(A BS
-1
D
T
C)Z + Z(A BS
-1
D
T
C)
T
ZC
T
R
-1
CZ + BS
-1
B
T
= 0 (4.16)

uz supstitucije R = I + DD
T
i S = I + D
T
D, a X je jedinstveno pozitivno-definirano rjeenje
Riccatijeve algebarske jednadbe:
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

91

(A BS
-1
D
T
C)X + X(A BS
-1
D
T
C) XBS
-1
B
T
X + C
T
R
-1
C = 0 (4.17)

Za strogo pravilni objekt (D = 0) gornje jednadbe se znaajno pojednostavljuju.
Kontroler koji garantira:

( )
(

1 1
M GK I
I
K
(4.18)

za specificirani >
min
, dat je s:


(

+ + +
=

T T
T T T T
D X B
ZC L DF C ZC L BF A
K
1 2 1 2
) ( ) ( ) (
(4.19)

gdje je: ( ) X B C D S F
T T
+ =
1
i ( ) XZ I L + =
2
1 .


4.3.7. Projektiranje H

kontrolera

Uvoenjem teina rijeen je problem otvorene petlje te je sada potrebno vratiti se na
poetni model sa zatvorenom petljom i regulatorom. Pri tome se minimizira iznos (gain). Sada
e se izvesti zakon upravljanja za nominalni model tankova.

nmeas = 4; % Broj mjerenja
nctrls = 2; % Broj naredbi (kontriola)
[k0,g0,gamma0] = hinfsyn(P.NominalValue,nmeas,nctrls);

Najmanje pojaanje koje se moe postii je 0,9, to znai da se specifikacije u
frekvencijskom podruju mogu postii kontrolerom k0. Simulirajui ovaj pristup u
vremenskoj domeni provjerava se ispravnost odabranih teina.
Zatvorenu petlju kreirat e se mapiranjem ulaznog signala [t1ref; t2ref; t1noise;
t2noise] u izlazne signale [|h1|; t1; t2; fhc; fcc]:

systemnames = 'spremnik1nom spremnik2nom hot_act cold_act t1F t2F';
inputvar = '[t1ref; t2ref; t1noise; t2noise; fhc; fcc]';
outputvar = '[ spremnik1nom; spremnik2nom; fhc; fcc; t1ref; t2ref; ';
outputvar = [outputvar 't1F+t1noise; t2F+t2noise]'];
input_to_spremnik1nom = '[hot_act(1); cold_act(1)]';
input_to_spremnik2nom = '[spremnik1nom]';
input_to_hot_act = '[fhc]'; input_to_cold_act = '[fcc]';
input_to_t1F = '[spremnik1nom(2)]'; input_to_t2F = '[spremnik2nom]';
sysoutname = 'simlft';
cleanupsysic = 'yes';
sysic;

% Petlja se zatvara s H-beskonano kontrolerom |k0|
sim_k0 = lft(simlft,k0);
sim_k0.InputName = {'t1ref'; 't2ref'; 't1noise'; 't2noise'};
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

92
sim_k0.OutputName = {'h1'; 't1'; 't2'; 'fhc'; 'fcc'};
Sada emo simulirati odziv sustava zatvorene petlje kada se pobuuju toke t1 i t2
izmeu 80-e i 100-te sekunde:

time=0:800;
t1ref = (time>=80 & time<100).*(time-80)*-0.18/20 + (time>=100)*-0.18;
t2ref = (time>=80 & time<100).*(time-80)*-0.2/20 + (time>=100)*-0.2;
t1noise = Wt1noise * randn(size(time));
t2noise = Wt2noise * randn(size(time));
y = lsim(sim_k0,[t1ref ; t2ref ; t1noise ; t2noise],time);
Sada e se simulirati izlazi i iscrtati odziv:

h1 = h1ss+y(:,1);
t1 = t1ss+y(:,2);
t2 = t2ss+y(:,3);
fhc = fhss/fs+y(:,4);
fcc = fcss/fs+y(:,5); % (0<= fhc <= 1)

Sada e se iscrtati izlaze, t1 i t2, te visinu h1 za spremnik 1:

plot(time,h1,'--',time,t1,'-',time,t2,'-.');
xlabel('Vrijeme [s]');
ylabel('Mjerenja')
title('Odziv na step H-beskonano kontrolera, k0')
legend('h1','t1','t2');
grid



Slika 4.19: Odziv projektiranog kontrolera na jedininu koraajnu uzbudu
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

93

Sljedeim naredbama iscrtat e se odzivi za tople i hladne aktuatore:

plot(time,fhc,'-',time,fcc,'-.');
xlabel('Time: seconds');
ylabel('Actuators')
title('Actuator Commands for H-infinity Controller k0')
legend('fhc','fcc');
grid



Slika 4.20: Signali fhc i fcc dobiveni H

kontrolerom


4.3.8. Robustnost H

kontrolera

Kod H

kontrolera k0 je oznaka za nominalni model spremnika. Sljedea analiza e


pokazati koliko dobro ta vrijednost upada u pertubirani model unutar granica nesigurnosti.
Moe se usporediti nominalni model zatvorene petlje gamma0 s najgorim moguim
scenarijem unutar skupa modela nesigurnosti.

frad = 2*pi*logspace(-5,1,30);
clpk0 = lft(P,k0);
clpk0_g = frd(clpk0,frad);

% Raunanje najgoreg sluaja
opt=wcgopt('FreqPtWise',1);
[maxgain,wcu,info] = wcgain(clpk0_g,opt);
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

94

% Usporedba sa zatvorenom petljom
clf;
semilogx(fnorm(clpk0_g.NominalValue),'b-', maxgain.UpperBound,'r--')
title('Analiza kvalitete kontrolera k0')
xlabel('Frekvencija [rad/s]')
legend('Nominalno','Najgori sluaj');
axis([1e-4 100 0 2.5])



Slika 4.21: Frekvencijska karakteristika za nominalni i najgori mogui sluaj

Rad u najgorem sluaju sustava zatvorene petlje znaajno je loiji od nominale, to
govori da H

kontroler nije dovoljno robustan kod modeliranja greki.



Zadatak za vjebu: Ako posjedujete odgovarajuu licencu, prouite primjer
idnlgreydemo2.m. Radi se o modeliranju mex datoteka vremenski kontinuiranih SISO sustava.

4.4. Asinkroni vjetrogenerator u izoliranoj mrei

Za ovaj primjer je potrebno posjedovati SymPowerSistems te predloak
power_windgen.mdl (Wind-Turbine Asynchronous Generator in an Isolated Network).
Sustav koji se razmatra je samostojna (bez prikljuka na mreu) kombinacija
vjetrogeneratora i dizel generatora bez pohrane energije (nema troka akumulatora). Pogodan
je za kue na izoliranim mjestima, gdje je preskupo dovoditi elektrinu mreu (planine, otoci,
i sl.).
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

95
Optmalna penetracija vjetra (instalirani vjetrokapacitet/vrni elektrini zahtjevi) za
ovaj sustav ovise o zahtjevima poloaja za dostavu goriva i o rui vjetrova. Ovakvi primjeri
su ve instalirani diljem svijeta. U ovom primjeru razmotreni je sustav 480 V, 300 kVA
sinkroni stroj, vjetroturbina s 480 V, 275 kVA s indukcijskim generatorom, 50 kW potroako
optereenje i varijabilni ostali tereti (0 do 446,25 kW).
Pri niskim brzinama vjetra indukcijski generator i dizelski sinkroni generator trebaju
zajedno raditi. Kada snaga vjetra premauje potrebe potronje mogue je iskljuiti dizel
generator.
Blok vjetroturbine koristi 2-D tablicu uvida (engl. lookup table) da bi izraunao snagu
okretaja (Tm) kao funkcija brzine vjetra (w_Wind) i brzine turbine (w_Turb). Ove
karakteristike - Pm (w_Wind, w_Turb) - se automatski uitavaju u radni prostor
(psbwindgen_char array). Da bi se prikazale karakteristike turbine, potrebno je dvaput kliknut
na blok ispod bloka vjetroturbine (engl. Wind Turbine Block).
Sekundarno optereenje, koje treba upiti viak energije kada je vjetar jak, sastoji se od
3-faznih otpornika i tiristorskih prekidaa (simulirani idealnim prekidaima). Frekvencija je
regulirana s blokom diskretnog regulatora frekvencije (engl. Discrete Frequency Regulator
Block). Fazna pogreka koristi se za PD kontroler sekundarnog optereenja.



Slika 4.22: Model samostojeeg sustava vjetrogeneratora i dizel generatora u Simulinku

Kod ovog modela, brzina vjetra od 10 m/s je takva da daje dovoljno snage za
snadbdijevanje optereenja. Dizelski generator se zaustavlja i sinhroni stroj radi kao asinkroni
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

96
kondenzer sa svojim mehanikim ulazom (Pm) podeenim na 0. U primjeru se na sustav
ukljuuje troilo snage 25 kW.


Slika 4.23: Odnos snage i brzine vjetroturbine



MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

97
Slika 4.24: Rezultat simulacije

4.5. Industrijski robot s 3 stupnja slobode

Ovaj primjer se moe izvesti u Matlabu s licencom za alatku za identifikaciju sustava
u kojoj je sadran predloak idnlgreydemo8.m.



Slika 4.25: Industrijski robotski manipulator

Dinamika ovog robota dana je s:

|

\
|
+ + = ) ( ,
) (
)) ( ( )) ( ( ) ( )) ( (
2
2
t q
dt
t dq
H t q G t u F t q
dt
d
t q M (4.20)

gdje je q(t) stupasti vektor relativnih kuteva 1, 2 i 3, koji opisuju relativni kut izmeu
dijelova (vidi sliku 4.25). Momenti upravljanja su oznaeni s u (t) = [u
1
(t) u
2
(t) u
3
(t)]
T
, a
koeficijenti sile su oznaeni s F(u(t)) = [Fc(1)*u1(t) Fc(2)*u2(t) Fc(3)*u3(t)]'. Matrica masa
je veliine 3x3. Ostale sile koje utjeu na robota su gravitacija, G, te coriolisova i
centrifugalna sila.
Uvoenjem stanja:

x_1(t) = q_1(t) relativni kut izmeu podloge i zgloba 1
x_2(t) = q_2(t) relativni kut izmeu zglobova 1 i 2
x_3(t) = q_3(t) relativni kut izmeu zglobova 2 i 3
x_4(t) = d/dt q_1(t) relativna brzina izmeu podloge i zgloba 1
x_5(t) = d/dt q_2(t) relativna brzina izmeu zglobova 1 i 2
x_6(t) = d/dt q_3(t) relativna brzina izmeu zglobova 2 i 3

dobiva se model prostora stanja pogodan za modeliranje i simuliranje. Ovaj model ima 3
ulaza, 6 stanja, 3 izlaza i 28 razliitih parametara ili konstanti.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

98
Znaajan dio modela je osvjeavanje (update) stanja, koje se izvrava funkcijom,
compute_dx, koja ima listu argumenata:

void compute_dx(double *dx, double *x, double *u, double **p)

gdje je p sadri 10 parametara objekta:

A. g = p[0], pl = p[5] i Ia1 = p[8] su skalari.
B. Fc = p[1], r = p[2], Im = p[3], m = p[4] i L = p[6] su stupasti vektori s 2 ili 3 ulaza.
C. com = p[7] je 2x2 matrica te Ia = p[9] je 4x2 matrica.

Skalari su obino oznaeni s p[0] (p(1) u Matlabovoj datoteci). Matrice prosljeene u
C-MEX model su razliite u smislu da su stupci drukije poredani. Stoga je com(1, 1) u biti
com[0], com(2, 1) je com[1], com(1, 2) com[2], com(2, 2) com[3].
Svrha ovih koraka je restrukturiranje jednadbi tako da se stanja mogu lako izraunati.

void compute_dx(double *dx, double *x, double *u, double **p)
{
double *g, *Fc, *r, *Im, *m, *pl, *L, *com, *Ia1, *Ia;
double M[3][3];
M[0][0] = Ia1[0] + r[0]*r[0]*Im[0] + com[2]*com[2]*m[1] ...
...
M[2][2] = Ia[4] + r[2]*r[2]*Im[2] + com[3]*com[3]*m[1] + L[1]*L[1]*pl[0];
F[0] = Fc[0]*u[0]; ...
G[0] = 0; ...
Gamma[1] = (Ia[6] - Ia[5] - com[3]*com[3]*m[1] ...
Det = M[0][0]*M[1][1]*M[2][2] + 2*M[0][1]*M[1][2]*M[0][2] ...

/* Jednadbe stanja. */
/* x[0]: Relativni kut izmeu zgloba 1 i podloge. */
/* x[1]: Relativni kut izmeu zgloba 1 i 2. */
/* x[2]: Relativni kut izmeu zgloba 2 i 3. */
/* x[3]: Relativna brzina izmeu podloge i zgloba 1.*/
/* x[4]: Relativna brzina izmeu zglobova 1 i 2. */
/* x[5]: Relativna brzina izmeu zglobova 2 i 3. */
dx[0] = x[3]; dx[1] = x[4]; dx[2] = x[5];
dx[3] = Minv[0][0]*(F[0]+G[0]+H[0]) + Minv[0][1]*(F[1]+G[1]+H[1]) +
inv[0][2]*(F[2]+G[2]+H[2]);
dx[4] = Minv[0][1]*(F[0]+G[0]+H[0]) + Minv[1][1]*(F[1]+G[1]+H[1]) +
inv[1][2]*(F[2]+G[2]+H[2]);
dx[5] = Minv[0][2]*(F[0]+G[0]+H[0]) + Minv[1][2]*(F[1]+G[1]+H[1]) +
inv[2][2]*(F[2]+G[2]+H[2]);
}

U predloku se uspreuju mjerenja iz rada robota Manutec r3 i simulacije, to
prikazuje slika 4.26.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

99





Slika 4.26: Rezultat izvoenja predloka

Zadatak za vjebu:
Prouite rad industrijske ruke in predloka idnlgreydemo13.m. Shematski prikaz mehanikog
sustava robotske ruke dan je na slici 4.27.
0 0.5 1 1.5 2
-2
-1
0

1
. (sim)

1

(
r
a
d
)


z; measured
nlgr; fit: 98.99%
0 0.5 1 1.5 2
0.1
0.2
0.3
0.4
0.5

2
. (sim)

2

(
r
a
d
)


z; measured
nlgr; fit: 98.1%
0 0.5 1 1.5 2
0
0.5
1

3
. (sim)
Time (s)

3

(
r
a
d
)


z; measured
nlgr; fit: 91.04%
0 0.5 1 1.5 2
0
1
2

1
. (sim)

1

(
r
a
d
)


z; measured
nlgr; fit: 98.96%
0 0.5 1 1.5 2
-0.4
-0.2
0

2
. (sim)

2

(
r
a
d
)


z; measured
nlgr; fit: 98.52%
0 0.5 1 1.5 2
-1.5
-1
-0.5
0

3
. (sim)
Time (s)

3

(
r
a
d
)


z; measured
nlgr; fit: 91.26%
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

100

Slika 4.27: Mehaniki sustav robotske ruke

4.6. Primjer vojnih komunikacija s kraja na kraj

Za ovaj primjer potrebno je imati komunikacijsku alatku (engl. Communications
System Toolbox) u kojoj se poziva na vojni standard US MIL-STD-188-110B te se moe
koristiti predloak commmilstd188110b.mdl.
Implementirat e se fazni prijenos podataka upotrebom valnog oblika (engl. single-
tone) fiksne frekvencije.
Model podrava: 150 bps, 300 bps, 600 bps i 1200 bps. Implementirane su umetnute
duljine od 0,6 s i 4,8 [s]. Ovaj sustav je standard za taktike komunikacije na VF kanalima.
Kompatibilan je s NATO standardom STANAG 4539.
Razmatrat e se komunikacijski sustav koji izvodi sljedee zadatke:
generiranje sluajnih binarnih podataka,
kodiranje koje ovisi o brzini podataka odabranih u dijalogu modelskih parametara.
Encoder block na vrhu blok dijagrama je konfigurabilan podsustav iji sadraj ovisi
o odabranoj brzini podataka. Sastoji se od konvolucijskog enkodera,
umetanje upotrebom matrice odreene standardom,
mapiranje binarno-sivo,
dodavanje sekvence za treniranje,
skrembliranje podataka dodavanjem podataka modulu sluajnog niza (8,8-PSK
modulacija),
Wattersonov model kanala (Multipath Rayleigh Fading Channel blok),
ekvilizaciju prijemnika (RLS equalizer),
demapiranje simbola iz kanala,
izvlaenje (engl. deinterleaving) i
Viterbi dekodiranje.

Slika 4.29.a prikazuje impulsni odziv komunikacijskog kanala. Slika 4.29.b prikazuje
koncentracija znakova signala prije uravnoteenja. Slika 4.29.c prikazuje fazni zakret signala
zbog puta kroz kanal. Slika 4.29.d prikazuje koncentracija znakova signala poslije
uravnoteenja.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

101


Slika 4.28: Model komunikacijskog sustava


Zadaci za vjebu:
1. Prouite predloak RF Satellite Link iz iste alatke.
2. Prouite predloak commrfsatlink.mdl iz iste alatke.




a) b)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

102


c) d)

Slika 4.29: a) Impulsni odziv komunikacijskog kanala, b) koncentracija znakova signala prije
uravnoteenja, c) fazni zakret signala zbog puta kroz kanal, d) koncentracija znakova signala
poslije uravnoteenja


4.7. Modeliranje prometa klasterizacijom

Studenti koji ele vidjeti na djelu simulaciju klasterizacije prometa moraju imati alatku
neizrazite logike (Fuzzy Logic Toolbox) te predloak trips.m iz Modeling Traffic Patterns
using Subtractive Clustering.
Klasterizacija je tehnika kojom se uinkovito prepoznaje prirodno grupiranje u velikim
skupovima podataka. Tako se omoguuje koncizno predstavljanje odnosa u danim podacima.
U ovom primjeru se grupiraju prometni podaci u iroke kategorije kako bi ih se lake
razumjelo. Da bi se stalo na kraj nepreciznostima, idealno je koritenje neizrazite logike u
ovom sluaju. Moe se korisiti da se uzme nejasne ili neprecizne podatke ulaza i postigne
preciznu izlaznu vrijednost. U Matlab/Simulink programskom paketu postoji neizraziti sustav
zakljuivanja (engl. Fuzza Inference System, FIS) s pomou kojeg se lako mogu koristiti
sloene analizike jednadbe. U ovom primjeru, neizrazita logika e se koristiti za grupiranje
podataka u iroke kategorije. FIS model e odraavati odnos izmeu demografije i vonji
automobilom.
Cilj primjera je razumijeti vezu izmeu broja automobilskih vonji iz jednog podruja
i demografije podruja. Podaci su uzeti za podruje New Castle County, Delaware.
Razmatrano je 5 demografskih parametara: populacija, broj stambenih jedinica, vlasnitvo
vozila, prihod prosjenog domainstva i ukupna zaposlenost.
Demografski faktori bit e adresirani kao ulazi, a ostvarene vonje kao izlaz. Problem
ima 5 ulaznih varijabli i jednu izlaznu.

tripdata % uitava podatke
subplot(2,1,1); plot(datin);
legend('populacija', broj stambenih jedinica', 'vlasnitvo vozila',...
'srednji prihod kuanstva', 'ukupna zaposlenost');
title('Ulazne varijable'); subplot(2,1,2); plot(datout)
legend('broj vonji'); title('Izlazna varijabla')

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

103


Slika 4.30: Prometni podaci

Sljedei korak u ovom primjeru je primjena tehnike klasterizacije zvane grupiranje
oduzimanjem. Za to se u Matlabu koristi funkcija subclust. Ona izvrava brz algoritam bez
iteracija za estimaciju broja klastera i centara klastera u skupu podataka.

[C,S] = subclust([datin datout],0.5);

Prvi argument subclust funkcije je podatak koji se treba klasterizirati. Drugi argument
je funkcija koja oznaava klastere s utjecajem na prostor ulaznih podataka. Varijabla C sadri
sve centre klastera koji su identificirani funkcijom subclust. Svaki red u C sadri poloaj
klastera.
U ovom sluaju, C ima 3 reda koji predstavljaju 3 klastera sa 6 stupaca koji
predstavljaju poloaje klastera u svakoj dimenziji.
Sljedei crte prikazuje kako se klasteri identificiraju u 'ukupna zaposelnost' i 'vonje'
dimenzije ulaznog prostora.

clf;
plot(datin(:,5), datout(:,1), '.', C(:,5),C(:,6),'r*')
legend(Toke podataka', Centri klastera', 'Lokacija', Jugoistok');
xlabel('ukupna zaposlenost')
ylabel(broj vonji');
title(Podaci i klasteri u odabranim dimenzijama ulaznog prostora')

Slika 4.31 prikazuje rezultat izvravanja gornjih naredbi.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

104


Slika 4.31: Podaci i klasteri u odabranim dimenzijama ulaznog prostora

Generiranje FIS-a vri se funkcijom genfis2 koja koristi spomenuti nain
klasterizacije.

myfis=genfis2(datin,datout,0.5);

Prvi argument je ulazna varijabla datin, a drugi izlazna varijabla datout, a trei
argument je parametar klasterizacije.

% Davanje imena ulazima i izlazima
myfis = setfis(myfis, 'input',1,'name','population');
myfis = setfis(myfis, 'input',2,'name','dwelling units');
myfis = setfis(myfis, 'input',3,'name','num vehicles');
myfis = setfis(myfis, 'input',4,'name','income');
myfis = setfis(myfis, 'input',5,'name','employment');
myfis = setfis(myfis, 'output',1,'name','num of trips');

FIS se sastoji od ulaza, izlaza i pravila. Svaki ulaz i izlaz moe imati bilo koji broj
lanskih funkcija (membership functions). Pravila diktiraju ponaanje neizrazitog sustava
temeljem ulaza, izlaza i funcije lanstva. Naredba genfis2 daje FIS pri pokuaju dohvata
poloaja i utjecaja svakog klastera u ulaznom prostoru. Naredba myfis je FIS koji je genfis2
generirao. Kako skup podataka ima 5 ulaznih varijabli i 1 izlaznu varijablu, genfis2 konstruira
FIS s 5 ulaza i 1 izlaz. Svaki ulaz i izlaz imaju vie lanskih funkcija kao posljedicu broja
klastera koje je identificirala subclust.
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

105
Za trenutni skup podataka subclust je identificirala 3 klastera. Stoga se svaki ulaz i
izlaz karakteriziraju s 3 funkcije lanstva (pripadnosti, membership). Broj pravila jednak je
broju klastera i stoga su krirana 3 pravila.
Sada moemo isprobati FIS da bi razumijeli kako se klasteri pretvaraju u funkcije
lanstva i pravila.

fuzzy(myfis)



Slika 4.32: Grafiko suelje za ureivanje FIS-a

Neizrazita je funkcija koja starta grafiki editor za izradu fuzzy sustava. fuzzy(myfis)
otvara prozor koji je podeen za ureivanje myfis, tj. FIS-a koji smo tek generirali.

mfedit(myfis)

Naredbom mfedit(myfis) pokree se grafiki editor funkcije lanstva. Moe se dobiti i klikom
na ulaz ili izlaz u FIS editoru.
Prva lanska funkcija, in1cluster1, odabire se u editoru. Tip funkcije pripadanja je
"gaussmf, a parametri te funkcije su [1.162 1.877], gdje 1,162 predstavlja koeficijent irenja
gaussove krivulje, a 1,877 center gaussove krivulje. S in1cluster1 dohvaa se poloaj i utjecaj
prvog klastera za ulaznu varijablu populacije (C(1,1)=1.877, S(1)=1.1621 ).

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

106


Slika 4.33: Ureivanje lanskih funkcija

Slino tome, poloaj i utjecaj druga dva klastera za ulaznu varijablu populacije
dobivaju se iz dvije druge funkcije lanstva in1cluster2 i in1cluster3. Ostala 4 ulaza slijede
tonu shemu oponaajui poloaj i utjecaj 3 klastera preko odgovarajuih dimenzija i skupa
podataka.
Naredbom ruleedit prikazuju se grafiki neizrazita pravila:

ruleedit(myfis)

Sve 3 funkcije pripadanja u ovom sluaju e biti oblika:

a*population + b*dwelling units + c*num vehicles + d*income + e*employment + f,

gdje su a, b, c, d, e i f koeficijenti linearne funkcije pripadanja.
Funkcija surfview prikazuje povrinu koja pomae vidjeti ulazno-izlazne neizrazite
veze. Tu se simulira odziv neizrazitog sustava za cijeli opseg ulaza za koje je sustav
konfiguriran. Izlaz ili odziv FIS-a na ulaz se iscrtava na vizuelno uinkovit nain kako bi
moglo razumijevanju ponaanja sustava kroz cijeli opseg vrijednosti.

surfview(myfis)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

107
Ono to je oito je da se broj vonji poveava s porastom populacije i stambenih
jedinica.

ruleview(myfis)

Funkcijom ruleview pojavljuje se grafiki simulator koji daje odziv s obzirom na
promjenu ulazne varijable.


4.8. Test DC asinkronog motora

Za ovaj primjer potrebno je posjedovati skup blokova za energetske sustave (Power
Systems Blockset) u Simulinku. Takoer prilikom sastavljanja modela treba paziti da se ne
odabiru slini blokovi iz drugih alatki, jer oni nisu kompatibilni sa ovom alatkom.
Radne karakteristike u stacionarnom stanju trofaznog indukcijskog motora se esto
prouavaju upotrebom jednofaznim ekvivalentnim krugom kako je prikazano na slici 4.34.a.
R
1
i jX
1
predstavljaju otpor i reaktanciju statorskog kruga, dok R
2
i jX
2
otpor i reaktanciju
rotorskog kruga. R
C
su gubici u jezgri stroja, a jX
M
reaktancija magnetiziranja.
Ekvivalentni krug se koristi da bi se proraunalo razliite radne veliine, kao struja
statora, ulazna snaga, pobudni moment ili uinkovitost. Kada je potrebno naglasiti energgijske
aspekte rada, otpor shunta se obino zanemaruje. Gubici jezgre se ukljuuju u proraun
uinkovitosti kroz trenje ili sl. pojave. Parametri ekvivalentnog kruga mogu se dobiti iz testa s
istosmjernim radom neoptereenog struja kojemu je blokiran rotor. Rezultirajua struja kroz
statorske zavojnice je istosmjerna te se ne iducira na rotoru struja. Stoga je reaktancija motora
jednaka nuli. Statorski otpor je jednini ograniavajui imbenik za elektrinu struju.


a)

b)

Slika 4.34: a) Nadomjesna shema asinkronog stroja, b) test motora u neoptereenom stanju
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

108
U simulinku e se simulirati sljedei eksperiment: na zavoje statora se narine
istosmjerni napon iznosa 120 V (tj. na faze A i B motora koji je spojen u zvijezdu), i zbog
toga protee struja I
DC
koju ograniava otpor (series resistance na slici 4.35). Faza C je
uzemljena preko grane (RLC branch na slici 4.35). Nema induciranja napona na rotoru, jer
kroz statorski krug tee istosmjerna struja. Optereenje je nula. Terminator sprjeava
upozorenja o nespojenim prikljucima na izlazu. Powergui je namjeten u kontinuiranom
nainu rada.

Slika 4.35: DC test asinkronog motora u programu Simulink

Iz slike 4.36 vidljiva je struja I
DC
,

tj. eksponencijalni porast do vrijednosti 113,5 A,
kada je postignuto ustaljeno stanje.
Napon pri pokretanju lagano pada do vrijednosti 6,532 V, to se vidi na slici 4.37.
Poveanjem ulaznog otpora (u ovom sluaju 10 puta), prijelazna pojava traje due
(zbog radne komponente) napon i struja su manjeg iznosa.
Slika 4.38 prikazuje struju I
DC
pri poveanju otpora. Slika 4.39 prikazuje kako se u
tom sluaju mijenja napon U
DC
.
Raunanje statorskog otpora na ovaj nain daje procjenu vrijednosti, jer testiranjem na
izmjenini napon uzeo bi se u obzir utjecaj temperature. Formula po kojoj se rauna otpor je:

= 0,5



MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

109


Slika 4.36: Prikaz struje I
DC



Slika 4.37: Prikaz napona U
DC







MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

110

Slika 4.38: I
DC
pri promjeni otpora



Slika 4.39: U
DC
pri promjeni otpora


4.9. Simulink 3D Animation

Programski paket Matlab/Simulink omoguuje stvaranje virtuelnih svjetova kao
primitivnog oblika virtuelne stvarnosti. Virtuelni svijet omoguuje lake projektiranje i
vizuelizaciju razliith problema. U ovom potpoglavlju e se baviti s dva primjera:
pristajanjem broda u luku i kretanjem automobila u virtuelnom svijetu.



MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

111
4.9.1. Pristajanje broda u luku

Poto se koriste dva broda, jedan Tanker, drugi Remorker, potrebno ih je napraviti
pomou 3D softwera, kao npr. V- REALM BUILDER-a. Taj program sadri biblioteku razno
raznih objekata, te e se iz ve postojee biblioteke izvui potrebne modele. Slika 4.40
prikazuje izgleda radne povrine softwarske podrke. Naravno, za izvoenje ovog primjera
potrebno je pribaviti legalnu licencu tog programa.
Sljedee se mora napraviti nova radna povrina odnosno novi radni list na kojem e se
stavljati i namjetati modeli (Slika 4.41).
Klikom na odabir biblioteke, otvori se prozor u kojem su prikazani svi modeli to ih
softverve sam sadri. Pronae se Tanker i Remorker, te se ubace u radnu povrinu kako je
prikazano na slici 4.42.
Sada treba napraviti pristanite, odnosno softver daje mogunost ubacivanje osnovnih
modela (kugla, kocka, valjak, stoac i sl.). Odabere se kocku, namjeste joj se dimenzije i
postavimo je se na radnu povrinu (slika 4.43).
Sljedee treba postaviti sve modele na virtualni svijet. S ljeve strane radne povrine
svakome se modelu moe namjestit poloaj u 3D koordinatama odnosno svijetu. Na slici 4.44
je prikazano namjetanje koordinata za postavljanje pristanita.
Kada se napravi i postavili modele potrebno ih je spremiti pod eljenim nazivom s
odgovarajuom .wrl ekstenzijom (Virtual Reality).
Kada se napravi modele i snimili kao .wrl podatak, potrebno je isprogramirati svaku
putanju odnosno kako bi se Tanker trebao vezati za dok uz pomo Remorkera. Otvori se
Matlab i otvorimo novu skriptu kako.



Slika 4.40: Radna povrina V-REALM BUILDER

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

112


Slika 4.41: Stvaranje nove radne povrine



Slika 4.42: Postavljanje Tankera i Remorkera

Sada treba napisati par osnovnih kodova koji su potrebni da bi se na svijet oitao, te
da bi mogli upravljati sa modelima.

world=vrworld('vezivanje_broda.wrl','new');
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

113
open(world);
fig=vrfigure(world);
kretnja1=vrnode(world,'Tanker_z');
kretnja2=vrnode(world,'Remorker');



Slika 4.43: Postavljanje doka

Prva linija koda stvara novi svijet koji se zove WORLD i taj e svijet e imati sva
svojstva svijeta koji je modeliran. Druga linija koda otvara svijet odnosno daje mogunost
upravljanja svijetom. Trea linija koda postavlja svijet u prozor koji e biti prikazan na
ekranu. Sljedee dvije linije koda su varijable kretnja1 i kretnja2 koje e biti jednake bilo
kojem svojstvu objekta Tanker_z i Remorker. To znai da e se moi upravljat s bilom kojom
vrijednosti tog objekta.

for i=11000:-50:-5000
pause(0.01)
kretnja1.translation=[11000 0 i];
vrdrawnow;
end
for p=0.5:0.01:2;
pause(0.01)
kretnja1.rotation=[0 1 0 p];
vrdrawnow;
end
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

114


Slika 4.44: Postavljanje koordinata doka

j=-5000;
for k=11000:-50:1000;
j=j+25;
pause(0.01)
kretnja1.translation=[k 0 j];
vrdrawnow;
end

o=1000;
for l=-5000:+20:-900
pause(0.01)
kretnja2.translation=[l 0 0-o];
vrdrawnow;
end

for h=2:-0.01:0.8
pause(0.01)
kretnja2.rotation=[0 1 0 h];
vrdrawnow;
end
f=-900;
for g=-900:+10:-450
f=f+10;
pause(0.01)
kretnja2.translation=[f 0 g];
vrdrawnow;
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

115
end
d=-500;
for p=2:0.001:2.2;
d=d+1;
pause(0.01)
kretnja2.translation=[d 0 d];
kretnja1.rotation=[0 1 0 p];
vrdrawnow;
end

for s=0:-0.001:-0.28;
pause(0.01)
kretnja3.rotation=[0 1 0 s];
vrdrawnow;
end

a=-300;
for q=-300:-10:-900
a=a-10;
pause(0.01)
kretnja2.translation=[a 0 q];
vrdrawnow;
end

Slika 4.45: Prikaz vezivanja broda

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

116
Ovaj kod predstavlja svaku pojedinu kretnju Tankera i Remorkera. Kada se ovaj kod
unese i pokrene, na zaslonu se prikae eljena animacija koristei 3D alat pomou MATLAB-
a (slika 4.45).

4.9.2. Vonja automobilom u virtuelnom svijetu

Ako studenti ele vidjeti na svom raunalu ovaj primjer moraju imati Simulink 3D
Animation te predloak Car in Mountains. Predloak stvara suelje za upravljanje vozilom u
virtuelnom svijetu.
Da bi se automobilom moglo voziti, potrebno je nai neki virtuelni svijet ili ga kreirati.
U ovom primjeru se uitava ve postojei Matlabov svijet. Sljedeim naredbama se moe
otvoriti i vidjeti taj svijet:

world=vrworld('vrmount.wrl');
open(world);
fig = view(world, '-internal');
vrdrawnow;



Slika 4.46: Izgled predloka virtuelnog svijeta s interaktivnim upravljaem

Svojstva i znaajke svijeta mogu se oitati naredbom:
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

117
get(world)

Sva ponaanja unutar virtuelnog svijeta upravljana su promjenama u VRML
vorovima, koji odreuju sve elemente.

nodes(world)

Jednom voru e se pridruiti automobil:

car = vrnode(world, 'Automobile')
fields(car)

Pomicanje vora automobile vri se promjenom koordinata vora:

z1 = 0:12;
x1 = 3 + zeros(size(z1));
y1 = 0.25 + zeros(size(z1));
z2 = 12:26;
x2 = 3:1.4285:23;
y2 = 0.25 + zeros(size(z2));
x3 = 23:43;
z3 = 26 + zeros(size(x3));
y3 = 0.25 + zeros(size(z3));

Putanja automobile moe se odrediti npr. sljedeim kodom:

for i=1:length(x1)
car.translation = [x1(i) y1(i) z1(i)];
vrdrawnow;
pause(0.1);
end

Automobil se rotira s:

car.rotation = [0, 1, 0, -0.7];
vrdrawnow;

Postupak se moe ponavljati za druge dionice ceste:

for i=1:length(x2)
car.translation = [x2(i) y2(i) z2(i)];
vrdrawnow;
pause(0.1);
end
car.rotation = [0, 1, 0, 0];
vrdrawnow;
for i=1:length(x3)
car.translation = [x3(i) y3(i) z3(i)];
vrdrawnow;
pause(0.1);
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

118
end


4.10. Stvaranje grafikog suelja (GUI)

Matlabova lepeza funkcija omoguuje i stvaranje grafikog suelja. To se postie s
nekoliko naredbi, kao to su uicontrol ili movegui. GUI se moe isprogramirati u tekstualnom
ili Matlabovom editoru, a moe se koristiti alat za kreiranje GUI, koji se naziva GUIDE, koji
svakome omoguuje stvaranje svog grafikog suelja. Prozor za izradu GUI podijeljen je u
kvadrate u kojima se postavljaju odreeni elementi. Elementi se biraju s trake lijevo. Klikom
na zelenu strelicu moe se isprobati kako funkcionira GUI.



Slika 4.47: Izgled alata GUIDE za kreiranje GUI


Izlist funkcije jednog jednostavnog suelja dat je ispod. Moe se unjeti u tekstualni
editor i spremiti s .m ekstenzijom te pokrenuti kao i svaki drugi program.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

119
Primjer jednostavnog grafikog suelja:

function simple_gui2
f = figure('Visible','off','Position',[360,500,450,285]);
hsurf = uicontrol('Style','pushbutton','String','Surf',...
'Position',[315,220,70,25],...
'Callback',{@surfbutton_Callback});
hmesh = uicontrol('Style','pushbutton','String','Mesh',...
'Position',[315,180,70,25],...
'Callback',{@meshbutton_Callback});
hcontour = uicontrol('Style','pushbutton',...
'String','Countour',...
'Position',[315,135,70,25],...
'Callback',{@contourbutton_Callback});
htext = uicontrol('Style','text','String','Select Data',...
'Position',[325,90,60,15]);
hpopup = uicontrol('Style','popupmenu',...
'String',{'Peaks','Membrane','Sinc'},...
'Position',[300,50,100,25],...
'Callback',{@popup_menu_Callback});
ha = axes('Units','Pixels','Position',[50,60,200,185]);
align([hsurf,hmesh,hcontour,htext,hpopup],'Center','None');
peaks_data = peaks(35); membrane_data = membrane;
[x,y] = meshgrid(-8:.5:8); r = sqrt(x.^2+y.^2) + eps; sinc_data = sin(r)./r;
set([f,ha,hsurf,hmesh,hcontour,htext,hpopup],'Units','normalized');
current_data = peaks_data; surf(current_data);
set(f,'Name','Simple GUI'); % Zadavanje imena GUI-u
movegui(f,'center') ; % Pomicanje GUI u centar ekrana.
set(f,'Visible','on'); % ini GUI vidljivim
% Callbacks for simple_gui.
function popup_menu_Callback(source,eventdata)
% Odreivanje skupa podataka koji su odabrani
str = get(source, 'String');
val = get(source,'Value');
switch str{val};
case 'Peaks' % User selects Peaks.
current_data = peaks_data;
case 'Membrane' % User selects Membrane.
current_data = membrane_data;
case 'Sinc' % User selects Sinc.
current_data = sinc_data;
end
end
function surfbutton_Callback(source,eventdata)
% Display surf plot of the currently selected data.
surf(current_data);
end
function meshbutton_Callback(source,eventdata)
% Display mesh plot of the currently selected data.
mesh(current_data);
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

120
end
function contourbutton_Callback(source,eventdata)
% Display contour plot of the currently selected data.
contour(current_data);
end
end



Slika 4.48: Izgled jednostavnog grafikog suelja iz gornjeg primjera

Zadaci za vjebu:

1. Promijenite funkciju koja se iscrtava u grafikom suelju i stavite neku po vaem izboru.
2. Promijenite funkcije iscrtavanja koje se pozivaju klikom mia s desne strane.
3. Promijenite neke ispise u suelju.


4.11. Modeliranje automatskog uzbudnog regulatora sinkronog generatora broda s
elektrinom propulzijom

U ovom potpoglavlju, modelirat e se dio sustava dizel motora i elektrinog
generatora na brodu s elektrinom propulzijom [6].
Sinkroni generator je jezgra brodskog energetskog sustava. Stabilnost brodskog
energetskog sustava ovisi o sposobnosti paralelno spojenih sinkronih generatora da odravaju
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

121
rad sinkronizirano. Slika 4.49 prikazuje mjesto sinkronog generatora u sustavu elektrine
propulzije.



Slika 4.49: Blok shema strukture brodske dizel-generator propulzije

Slika 4.50 prikazuje sustav upravljanja uzbudom generatora s povratnom vezom.



Slika 4.50: Sustav upravljanja uzbudom generatora s povratnom vezom

Fazni uzbudni sustav se sastoji od uzbudne jedinice, izmjeninog pobudnika i
automatskog naponskog regulatora (engl. automatic voltage regulator, AVR). Model fazno-
kompaundne uzbude izraen je s d i q komponentama:

( ) ( )
2 2
x KI U x KI U U
d q q d r
+ + = (4.21)

gdje je U
r
izlazni napon i fazno-kompaundne uzbudne jedinice, U
d
armaturni napon na d-osi
generatora, U
q
armaturni napon generatora na q-osi, K konstanta iznosa / 2 9 = K te x
reaktancija.
Model razlike napona opisan je jednadbama:
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

122

ff stab tf
a
f
ref
U U U
K
U
U U + + =
0
(4.22)
i

r
q d tf
sT
U U U
+
+ =
1
1
2 2
(4.23)

gdje je: U
ref
referentni napon AVR-a, Ustab napon zemlja-nula, U
f0
poetna vrijednost
uzbudnog napona, K
a
efektivno pojaanje pobudnika, T
r
vremenska konstanta NP filtra, U
ff

izlazni napon petlje s povratnom vezom i U naponska razlika.
Model kompenzatora je:


b
c
c
sT
sT
U U
+
+
=
1
1
(4.24)

gdje je U
c
izlazni napon kompenzatora, T
c
i T
b
vremenske konstanta kompenzatora.
Model pojaala opisuje se u literaturi izrazom:


a
a
c a
sT
K
U U
+
=
1
(4.25)

gdje je Ua izlazni napon pojaala, K
a
njegovo pojaanje, a T
a
vremenska konstanta.
Model saturacijske petlje dan je jednadbom:

E
fd
= U
a
+ U
r

(4.26)

0 E
f
E
fmax
, E
f
= E
fd
, uz:

=
=
0 ,
0 .,
max
p tf p
p
f
K U K
K konst
E

gdje je E
fd
izlazni napon naponskog regulatora, tj. kombinirana funkcija naponske razlike i
fazno-komoundnog regulatora pobude, E
f
izlazni napon razmjeran saturacijskoj petlji, E
fmax

maksimalni izlazni napon razmjerne saturacijske petlje.
Matematiki model izmjenine pobude dan je s:


fd
e e
f
E
K T
U
+
=
1
(4.27)

gdje je K
e
vremenska konstanta izmjenine pobude.
Stabilizacijska povratna veza dana je s:


ff
f
f ff
sT
sK
U U
+
=
1
(4.28)

gdje je K
f
pojaanje povratne grane, a T
ff
vremenska konstanta povratne veze. Slika 4.51
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

123
prikazuje simulacijski model izveden iz gornjeg matematikog modela za AVR pobudnika
(izmejnine uzbude).



Slika 4.51: Simulacijski model automatskog naponskog regulatora (AVR) pobudnika

Klasini pristup upravljanju pobudom s pomou PID regulatora se iroko koristi, ali
on ne moe rijeiti problem niskofrekvencijskih oscilacija u energetskom sustavu. Stoga e se
ovdje primijeniti AVR u kombinaciji sa stabilizatorom pobude energetskog sustava (engl.
power system stabilizer, PSS). AVR jedinica kombinirane AVR+PSS pobude naziva se PID
regulacijski mod. PSS se uglavnom koristi za rjeavanje problema oscilacija frekvencije.
Pobudni sustav ima fazni pomak, koji se moe izraziti s:


2
1
1
2
|
|

\
|

=

x
x
x
tg

(4.29)

gdje je niskofrekvencijska oscilacija.
A d
x
T T
KA K
0
6
'
= i
A A d
d A
x
K K T T K
T K T
6 0 3
0 3
' 2
' +
= , gdje je K
A

konstanta pojaanja i T
A
inercijska vremenska konstanta pobudnog sustava opisanog
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

124
prijenosnom funkcijom:


s T
K
s G
A
A
e
+
=
1
) ( (4.30)

gdje su
e d
e d
X X
X X
K
+
+
=
'
3
i
e d
e
X X
X
K
+
=
'
6
, a X
e
reaktancija prijenosne linije.
PSS mora imati naprednu vezu, obino iz dva dijela, a prijenosna funkcija moe se
izraziti s:

s T
s T
s T
s T
s G
4
3
2
1
1
1
1
1
) (
+
+

+
+
=

s tim to je esto u praksi T
1
= T
3
te T
2
= T
4
. Model PSS-a prikazan je na gornjem dijelu slike
4.52 u crvenom ovalu. Slika 4.52 prikazuje ukupni AVR+PSS sustav uzbude.



Slika 4.52: Sustav AVR+PSS


MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

125
Zadatak za vjebu:

Realizirajte model sa slike 4.52. Simulirajte rad gornjeg modela. Tipine vrijednosti potrebne
za slimulaciju su:
- izlazna snaga sinkronih generatora 3 [MW],
- napon 450 [V],
- frekvencija 50 [Hz],
- otpor generatora R
s
= 0,0028 [],
- pobudni referentni napon 1 pu,
- Xd = 1,305 [],
- X'd = 0,296 [],
- X''d = 0,252 [],
- Xq = 0,474 [],
- X'q = 0 [],
- X''q = 0, 243 [],
- T'd =1,01 [s],
T''d = 0,053 [s],
T''q = 0,13 [s] i
p = 4.























MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

126
LITERATURA

[1] Roland Priemer, Matlab for Electrical and Computer Engineering Students and
Professionals with Simulink, Scitech Publishing, Edison, NJ, 2013.
[2] Karel Perutka (ur.), MATLAB for Engineers - Applications in Control, Electrical
Engineering, IT and Robotics, InTech, 2011.
[3] A. Ansari et. al., Mathematical Model of Asynchronous Machine in MATLAB Simulink,
International Journal of Engineering Science and Technology, Vol. 2(5), 2010, 1260-1267
[4] Kreimir Mikloevi, eljko poljari, Vedrana Jerkovi, Analysis of Electric DC Drive
Using Matlab Simulink and SimPower Systems, 27th International Conference SIP 2009,
Pecs, Hungary, 26 - 27.02. 2009.
[5] Abdulatif A. M. Shaban, Matlab / Simulink Based Tool for Power - Electronic Circuits,
Proceedings of World Academy of Science, Engineering and Technology, Vol. 37, 2009.
[6] Lan Gao, Hehe Fu, The Control and Modeling of Diesel Generator Set in Electric
Propulsion Ship, International Journal of Information Technology and Computer Science,
2011, 2, 31-37.
[7] Luis Moura, Izzat Darwazeh, Introduction to Linear Circuit Analysis and Modelling From
DC to RF MATLAB and SPICE Examples, Elsevier, dostupno na:
http://booksite.elsevier.com/9780750659321/exercises/SpiceAndMatlab.pdf
[8] Mathworks web stranica, http://www.mathworks.com
[9] Computer Vision Toolbox, dostupno na: http://www.mathworks.com/products/computer-
vision/
[10] Video and Image Blockset, dostupno na:
http://xanthippi.ceid.upatras.gr/people/psarakis/courses/computer_vision/demos/Video_and_I
mage_blockset_version_reference.pdf
[11] Matlab Video and Image Processing Blockset Relese Notes, dostupno na:
http://www.manualslib.com/manual/392962/Matlab-Video-And-Image-Processing-Blockset-
Release-Notes.html?page=56
[12] Tank Demo, dostupno na: http://www.mathworks.com/products/robust/code-
examples.html?file=/products/demos/shipping/robust/tank_demo.html
[13] Wind Turbine Asynchronous Generator in Isolated Network, dostupno na:
http://www.mathworks.com/help/physmod/sps/examples_v2/wind-turbine-asynchronous-
generator-in-isolated-network.html
[14] Robotic Arm, dostupno na: http://www.mathworks.com/products/demos/shipping/
ident/idnlgreydemo8.html
[15] Defense Communications US:MIL-STD-188-110b Baseband End-to-End Link,
dostupno na: http://www.mathworks.com/help/comm/examples/defense-communications-us-
mil-std-188-110b-baseband-end-to-end-link.html
[16] Modelling Traffic Patterns Using Subtractive Clastering, dostupno na:
http://www.mathworks.com/help/fuzzy/examples/modeling-traffic-patterns-using-subtractive-
clustering.html
[17] Power Systems Blockset, dostupno na:
http://dali.feld.cvut.cz/ucebna/matlab/pdf_doc/powersys/powersys.pdf
[18] 3D Animation, Virtual Car Model, dostupno na:
https://www.mathworks.com/products/3d-animation/model-
examples.html?file=/products/demos/shipping/sl3d/vrcar.html
[19] Crating the Simple Programmatic GUI Code, dostupno na:
http://www.mathworks.com/help/matlab/creating_guis/creating-the-simple-programmatic-
gui-code-file.html
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

127
[20] Laying Out the Simple Programmatic GUI, dostupno na:
http://www.mathworks.com/help/matlab/creating_guis/laying-out-the-simple-programmatic-
gui.html
[21] Crating a GUI with GUIDE, dostupno na: http://www.mathworks.com/videos/creating-a-
gui-with-guide-68979.html
[22] Saffet Ayasun, Chika O. Nwankpa, Induction Motor Tests Using MATLAB/Simulink
and Their Integration Into Undergraduate Electric Machinery Courses, IEEE Transactions on
Education, Vol. 48, No. 1, February 2005, pp. 37-46.
[23] Burak Ozpineci, Leon M. Tolbert, Simulink Implementation of Induction Machine
Model A Modular Approach, IEEE International Electric Machines and Drives Conference,
June 1-4, 2003, Madison, Wisconsin, pp. 728-734.

You might also like