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 P1 lana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.Vremenski odziv P2 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. 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

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
farmacija
ribolov

CILJ
Lijek
Riba

SVRHA
Zdravlje
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

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

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

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

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.
) koda sljedei niz naredbi:
Upiite u programu za ureivanje (

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

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 100 = 1. Slovo "e" oznaava eksponent
broja 10.
0,3s + 1
.
s + 1,5s + 0,5
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).
Primjer 2.1: U ovom primjeru razmotirit e se prijenosna funkcija W ( s ) =

Primjetite da je:

s 2 + 1,5s + 0,5 = s 2 + s + 0,5s + 0,5 = s(s + 1) + 0,5(s + 1) = ( s + 1)(s + 0,5)


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

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
Eigenvalue
-5.00e-001
-2.00e-001 + 9.80e-001i
-2.00e-001 - 9.80e-001i

Priguenje
Damping
1.00e+000
2.00e-001
2.00e-001

Frekvencija(rad/s)
Freq. (rad/s)
5.00e-001
1.00e+000
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

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:
9

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

10

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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:
P1 radna snaga,
S1 ukupna snaga,
Q1 jalova snaga prije kompenziranja,
Q2 jalova snaga nakon kompenziranja,
Qc 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
11

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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
34,84
34,68
34,59
34,58
34,55
34,50
34,85
34,88
34,93
34,91
34,89
34,84
34,71
34,79
34,69
34,59
34,59
34,58
34,56
34,75
34,87
34,67
34,56
34,53
34,50
34,46
34,74
34,78
34,59
34,58

27,29
27,95
26,78
35,04
50,29
54,38
57,48
62,64
20,80
22,29
22,29
29,82
29,02
31,65
31,38
55,90
58,15
60,02
60,89
48,45
28,85
34,73
57,79
67,66
65,54
63,34
59,65
25,28
55,90
50,29
67,69

1,6
1,3
2,8
3,0
3,1
3,2
3,2
1,4
1,4
1,3
1,4
1,5
1,5
1,4
1,6
3,0
3,1
3,3
3,2
3,1
2,6
1,4
2,8
3,0
3,2
3,0
3,0
1,6
1,5
7,6
3,0

-0.4
-0.3
0.7
1.2
1.25
1.4
1.4
-0.2
-0.45
-0.6
0.55
-0.3
-0.2
-0.2
-0.3
0.7
0.8
0.9
1.2
1.3
0.1
-0.5
0.9
1.2
1.1
1.3
1.4
-0.2
-0.1
0.7
1.2

11:50
:
:
:

11:53
:
:
:

Sljedei niz naredbi omoguuje iscrtavanje ovisnost efektivne vrijednosti napona o vremenu:
clear all;
12

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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;

13

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.

14

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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): I R 4 = I R1 + I R3
Za potencijal B (toka 3): I R 2 = I R3
Te treba dodati oitu jednadbu, jer je naponski izvor izravno spojen na vor 1 (potencijal
A):
A = U1
to znai da je ve poznat jedan napon vora.

Slika 2.10: Zadani krug za analizu potencijalom vorova


Iz jednadbi prvog Kirchhoffovog zakona slijedi:

C
R4

U1 C B C
+
R1
R3

A B
R2

Grupiranjem se dobiva:

15

B C
R3

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

U1 1

1
1
C B
= +
+
R1 R1 R3 R4
R3
1

A
1
= C +
+ B
R2
R3 R2 R3
Ako se matricama eli rijeiti sustav, tada je potrebno definirati matrice sustava tako da je:
A=BC

gdje su:

1
1
1
U 1
+

R
C
R1 R3 R4
R3

1
, C = .
A= , B =

1
1
1
U 1
B

R2
R3
R2 R3

% 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
Z
sluaj kada je T = 0,1 .
Z0

16

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Slika 2.11: Prijenosna linija


Prijenosne linije su razmatrane u vie kolegija tijekom studija. Iz teorije o njima poznato je da
vrijedi:
Z ul Z T + jZ 0 tg (l )
=
(2.2)
Z 0 Z 0 + jZ T tg (l )
Da bi se taj rezultat izrazio preko zadanog omjera potrebno je desnu stranu (i brojnik i
nazivnik) podijeliti sa Z0:
ZT
+ jtg ( l )
Z ul
Z0
=
Z 0 1 + j Z T tg ( l )
Z0

(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])
17

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

% 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.

|Zul|/Z0

10

Faza(Zul) (normalizirana na )

0.2

0.4

0.6

0.2

0.4

0.6

0.8
1
1.2
d (normaliziran na pi)

1.4

1.6

1.8

1.4

1.6

1.8

0.5

-0.5

0.8

1.2

d (normaliziran na )

18

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

|Zul|/Z0

10

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

1.4

1.6

1.8

Faza(Zul) (normalizirana na )

d (normaliziran na pi)
0.5

-0.5

0.2

0.4

0.6

0.8
1
1.2
d (normaliziran na )

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)

uizl(t) na zadani ulaz uul(t): u ul = 1,5 sin 2 f1 t + 4 sin (2 f 2 t ) . Zadano je: R =


4

10 [], L1 = 1 [H], L2 = 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);
19

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

uul

-2

-4

-6

10
t [s]

12

14

16

18

20

Slika 2.14: Ulazni napon


U frekvencijskom podruju drugi Kirchhoffov zakon za dvije nezavisne konture prema
slici moe se napisati:
1
(I1 I 2 ) = U ul
j C
1
(I 1 I 2 ) = 0
jL2 I 2 + RI 2
j C

jL1 I 1 +

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

R = 10;
L1 = 1;
L2 = 0.25;
C = 0.66;
f1 = 0.1;
w1 = 2*pi*f1;
f2 = 1.6;
w2 = 2*pi*f2;
w = [w1 w2];

20

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 L1, L2, C i R
i/ili ulaznog napona.
2.5
2
1.5
1

Uizl

0.5
0
-0.5
-1
-1.5
-2
-2.5

10
t [s]

a)

21

12

14

16

18

20

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Uizl (crveno), Uul (plavo)

-2

-4

-6

10
t [s]

12

14

16

18

20

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.

22

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.
y
300

250

200

150

100

50

0
-4

-3

-2

-1

a)

23

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

y2
300

250

200

150

100

50

0
-20

-10

10

20

30

40

50

60

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

24

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

600

500

400

300

200

100

0
-60

-40

-20

20

40

60

80

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 ndimenzionalnih 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).

25

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

26

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

27

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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
28

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.

29

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

30

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 -2ax+b -2by+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.

31

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 pseduospektralnih, 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.

32

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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


33

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

10000

5000

9000

4500

8000

4000

7000

3500

6000

3000

5000

2500

4000

2000

3000

1500

2000

1000

1000

500

20

40

60

80

100

120

a)

140

160

180

200

20

40

60

80

100

120

140

160

180

200

b)

34

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

4000

4000

3500

3500

3000

3000

2500

2500

2000

2000

1500

1500

1000

1000

500

500

20

40

60

80

100

120

140

160

180

200

20

40

60

c)

80

100

120

140

160

180

200

d)

10000
9000
8000
7000
6000
5000
4000
3000
2000
1000
0

20

40

60

80

100

120

140

160

180

200

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)

35

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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)

36

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

Ovdje se moe pozvati


Simulink Library Browser

Odabrani element se ili vue ili kopira u ovaj prozor

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,

37

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 copypaste (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
38

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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)

39

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Slika 3.5: Podeavanje parametara simulacije


Pokretanje simulacije
Zaustavljanje simulacije
Odabir podruja
za poveanje
Poveanje du y-osi
Poveanje
du x-osi

Automatsko
skaliranje prikaza

Podeavanje osi prikaza

Podeavanje maksimalne
i minimalne vrijednosti 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.

40

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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, uc(t), od trenutka zatvaranja sklopke S.
R

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:
uR(t) + uC(t) = E

41

(3.1)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

i(t)R + uC(t) = E
Uvoenjem suspstitucije q (t ) = i (t ) dt = Cu C (t ) slijedi:
du (t )
dq (t )
= i (t ) = C C
dt
dt

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


RC

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

(3.2)

2. korak:
Diferencijalna jednadba pie se na nain da je s lijeve strane samo najvia derivacija.
du C (t )
= E u C (t )
dt
du C (t )
1
1
=
E
u C (t )
dt
RC
RC
RC

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.

e1
en

.
.
.

eizl (t ) = e1 (t ) + ... + en (t ) dt
a)

e1
en

.
.
.

eizl (t) = e1 (t) +... + en (t)


b)

eizl(t)

eul(t)
c)

d)

Slika 3.8: Simboli vanijih elemenata: a) integrator, b) sumator, c) mnoitelj, d) pojaanje


42

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

1/RC

uc(t)

1/RC

Slika 3.9: Model zadanog elektrinog kruga


Kako je signal (derivacija napona kondenzatora u vremenu) poznat, moe se sam
napon na kondenzatoru dobiti integriranjem.
du C (t )
Iz zbroja na desnoj strani diferencijalne jednadbe formira se izraz
povratnom
dt
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.

43

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

a)

b)

44

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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:
du C (t )
1
1
=
E
u C (t )
dt
RC
RC

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


sU C ( s ) =

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

1 1

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

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

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

45

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

U C (s) =

E ( s)
RCs + 1

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

W ( s) =

U C ( s)
E (s)

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


W ( s) =

1
1
=
s + 1 s + 1

(3.3)

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


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

1
1 1
E (s) =

s +1
s +1 s

Iz teorije je poznato:

1
= 1 e at ,
L
s (Ts + 1)
a = 1/T, slijedi:

u C (t ) = 1 e t

(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


1
W ( s) = 3
s negativnom povratnom vezom i pojaanjem (P). Odredite kada je
s + 0,3s 2 + s
sustav stabilan, a kada nestabilan.

46

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.

47

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

48

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

49

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

50

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

Slika 3.21: Zdrueni prikaz stvarnih Bodeovih dijagrama zadanog sustava

51

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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:

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

s 3 + 0,3s 2 + s + K = 0
Kako je a3 = 1, a2 = 0,3, a1 = 1 i a0 = K, slijedi da za stabilan sustav mora biti zadovoljeno:
1) a3 > 0; to je zadovoljeno
2) 1 > a2; to je zadovoljeno
a a0
3) 2 = 2
= a 2 a1 a 3 a 0 > 0 0,3 K > 0 K < 0,3
a3 a1
4) 3 = a0 2 > 0 K (0,3 K ) > 0
To je zadovoljeno u 2 sluaja:
- kad je K> 0 i K < 0,3, a to je u intervalu K 0, 0,3 ,

52

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

- 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 (P0),
- proporcionalni element prvog reda (P1),
- proporcionalni element drugog reda (P2),
- integralni element (I),
- derivacijski element (D),
- element s mrtvim vremenom (Tm).
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 P0 lana je
potenciometar. Potenciometar je elektrini otpornik kojemu se moe mijenjati elektrini
otpor.
Proporcionalni lan nultog reda (P0) je sustav ija se dinamika moe openito prikazati
jednadbom:

a0 y(t ) = b0 x(t )
gdje su:
- y(t) izlazna varijabla,
- x(t) ulazna varijabla,
- a0 i b0 konstantni parametri sustava.

53

(3.5)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Dakle, opisuje se obino algebrom, a ne diferencijalnim jednadbom. Vremenski


odziv na odskonu (step) pobudu xu(t) = u(t) je:

y (t ) =

b0
b 1
u (t ) Y ( s) = 0
a0
a0 s

y (t ) =

b0
=K
a0

a)

b)

54

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

c)
Slika 3.23: Vremenski odziv P0 lana: a) podeavanje parametara step generatora,
b) odziv za K =1, c) odziv za K = 2
Zadatak za vjebu:
1. Simulirati sustav s P0 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 P1 lana
P1 lan predstavlja inercijalno kanjenje. U elektrinim krugovima tispini predstavnik
P1 lana je RC krug, tj. jednostavni filter.
Proporcionalni lan prvog reda (P1) je sustav ija se dinamika moe openito prikazati
jednadbom:
a1

dy (t )
+ a 0 y (t ) = b0 x (t )
dt

gdje su:
- y(t) izlazna varijabla,
- x(t) ulazna varijabla,
- a1, a0 i b0 konstantni parametri sustava.
55

(3.6)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

a1 sY ( s ) + a 0Y ( s) = b0 X ( s) = b0

Y ( s) =

1 b0
s a1 s + a0

y (t ) = Kx(t ) 1 e t /

1
s

b
a1
, K = 0 , x(t ) = 1
a0
a0

Iz odziva sustava vidljiva je glavna karakteristika P1 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.
P1 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 P1 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 (UC), napiite diferencijalnu
jednadbu koja opisuje krug. Napomena: uzeti da je U = 0 [V] za t < 0, U = 10 [V] za t 0.

56

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

2.
3.
4.
5.

Na temelju te diferencijalne jednadbe nacrtajte blok dijagram simulacije.


Simulirajte model na raunalu, u EWB-u i Simulink-u. Usporedite rezultate.
Iz odziva na raunalnom monitoru odredite vremensku konstantu.
Precrtajte na milimetarski papir odziv za sustav s R = 500 [k].

3.4. Vremenski odziv P2 lana


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

y
k
F0

L
u(t)

0,0
a)

b)

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


U trenutku t = 0 na sustav, preko tijela mase m, poinje djelovati sila stalnog iznosa
F0. Zbog toga se mijenja poloaj mase i opruga se sabija. Sila kojom opruga djeluje na tijelo
suprotnog je smjera od sile F0 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 F0 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
P2 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.
n

= m&x&

m&x& = 0

i =1
n

f
i =1

57

(3.7)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

d 2 x(t )
= F0 + f B + f k
dt 2

d 2 x(t )
dx(t )
= F0 B
kx(t )
2
dt
dt

d 2 x(t )
dx(t )
+B
+ kx(t ) = F0
2
dt
dt

gdje su:
F0 - vanjska sila,
fk(t) - sila opruge,
fB(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 P2 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:

uu (t ) = u R (t ) + u L (t ) + uC (t )
uu (t ) = R

dq (t ) 1
d 2 q (t )
+ q (t ) + L
dt
C
dt 2

(3.8)

gdje su:
L - induktivitet zavojnice,
C - kapacitet kondenzatora,
R - elektrini otpor,
uu1 - narinut napon.
Openito se za bilo koji P2 lan moe pisati:
d 2 y (t )
dy (t )
a2
+ a1
+ a 0 y (t ) = b0 x(t )
2
dt
dt

(3.9)

gdje su:
y - izlazna veliina,
x - ulazna veliina,
58

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

a2, a1, a0, b0 - 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,
kp - pojaanje ili prijenosni omjer, a koje se dobivaju dijeljenjem gornje jednadbe s
a0:

a2
1
= 2
a0 n

a1 2
=
a0 n

b0
= kp
a0

Opa jednadba P2 lana tada glasi:


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

(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:

p = n 1 2

Slika 3.26: Vremenski odziv za razliite koeficijente priguenja

59

(3.11)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Kod P2 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/s2]. U poetku promatranja sustav se nalazi u stanju mirovanja. U trenutku t = 0 [s] na
sustav poinje djelovati sila: F0 = 20 [N]. Odredite koeficijent priguenja sustava i
nepriguenu vlastitu frekvenciju. Podatke uvrstite u opu jednadbu P2 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
2
tablici. Za svaki sluaj izraunajte , a p odredite priblino iz odziva na ekranu ( p =
,a
Tp
TP je period oscilacija oitan s ekrana raunala). Komentirajte ponaanje sustava.
B[kg/s]

10

16

23

38

56,57

75

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
K
Za npr. G ( s ) =
, odziv sustava odreen je izrazom: Y(s) = G(s)X(s) te se izravno
s (Ts + 1)
dobiva diferencijalna jednadba sustava:

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

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

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Poto je s2Y(s) Laplaceova transformacija druge derivacije y(t), a sY(s) Laplaceova


transformacija prve derivacije y(t), gornja jednadba u vremenskom podruju glasi:
d 2 y (t ) K
1 dy (t )
= x (t )
2
T
T dt
dt
Dijagram simulacije lako je nacrtati.

Slika 3.27: Blok dijagram prijenosne funkcije dobiven izravnim postupkom


b) rastavljanjem na osnovne blokove
K
moe se predstaviti umnokom dviju prijenosnih
s (Ts + 1)
K
1
i G 2 ( s ) = , te je:
funkcija G1(s) i G2(s), gdje su G1 ( s ) =
1 + Ts
s
Prijenosna funkcija G ( s ) =

G ( s ) = G1 ( s )G 2 ( s ) =

K 1

1 + Ts s

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 G1(s) odgovara dijagramnu sa slike, moe se pokazati na nain:

x(t ) T T y (t ) dt = y (t ) /
1

61

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

K X ( s ) 1 Y1 ( s )

= Y1 ( s )
T s
T s

1
K X (s)
Y1 ( s) + 1 =
Ts T s
K
Y1 ( s)
K
= Ts =
X ( s) 1 + Ts Ts + 1
Ts
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
Km
G1(s) = K, G2 ( s) =
(prijenosna funkcija elektromotora). Da bi se napravio model
s (Tm s + 1)
ovog regulacijskog kruga, potrebno je nacrtati blok dijagram simulacije za svaki blok
posebno, a zatim ih povezati prema blok dijagramu regulacijskog kruga.
1. blok: Y1(s) = K X(s)
K
1
sY ( s)
2. blok: s 2Y ( s) = m X ( s)
Tm
Tm

X(s)

+
-

G1(s)

Y1 (s) G (s)
2

Y(s)

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: Km
= 10, Tm = 4, K = 2. Nacrtajte blok dijagram simulacije za ovaj regulacijski krug. Napiite
model prema tom blok dijagramu.

62

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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:

G (s) =
o

gdje je K = 529

63

(1 + s )3

C h
(prijenosni omjer) i = 42,86 s (vremenska konstanta).
l

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 P1 lan, dok su MP1 i MP2 P0 lanovi. Prijenosna
funkcija mjernog lana je:

Gm =

K m
1 + m s

gdje su: Km = 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 U0 koji odgovara eljenoj temperaturi.

64

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Usporednik (komparator)
Usporednik usporeuje naponske vrijednosti U0 i Ux 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 Ui (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 proporcionalnointegralno-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 Ui 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 P0 lanom:
Gi (s) = Ki
gdje je Ki = 8 10-4

l
h mV

a)

65

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 Kr 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 qz =
0,01 l /h. Za Kr odaberite srednju vrijednost u dozvoljenom podruju. Skicirajte i opiite
odziv sustava. Koliko je regulacijsko odstupanje?
4. Za Kr postavite vrijednosti 0 (sustav je bez povratne veze). Simulirajte odziv sustava pri
poremeaju napajanja qz = 0,01 l /h. Skicirajte i opiite sustav. Koliko je trajno regulacijsko
odstupanje u ovom sluaju?
5. Odaberite nekoliko vrijednosti pojaanja Kr ravnomjerno rasporeenih unutar dozvoljenog
podruja. Simulirajte sustav za svaki Kr i izmjerite trajno regulacijsko odstupanje.
Komentirajte utjecaj pojaanja regulatora Kr na trajno regulacijsko odstupanje i na dinamiko
vladanje kruga.
6. Poveajte pojaanje Kr 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 (um) 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 (ut) su povezani s jednadbom:
ut (t) = Kt (t)

(3.12)

Blok dijagram je prikazan na slici 3.34. Tablica 3.1 prikazuje tvornike parametre tipinog
servomotora.
66

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Slika 3.34: Blok dijagram istosmjernog motora


Tablica 3.1: Tvorniki parametri tipinog servomotora
osjetljivost tahometra, Kt

0.00955 [V/rad/s]

momentna konstanta, Km

0,027 [Nm/A]

elektromotorna konstanta povratne veze, Kb

0,027 [V/rad/s]

otpor armature motora, Rm

5,3[]

trenje motora, B

6 10-6 [Nms]

inercija armature motora, J

1,57 10-6 [kgm2]

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:
Km
K m / Rm
Rm (Js + B )
Km
Js + B
H (s) =
=
=
=
K m / Rm Rm ( Js + B ) + K b K m Rm ( Js + B ) + K b K m
1 + Kb
Js + B
Rm (Js + B )
=

uz K x = B +

67

Km
K
m =
Rm ( Js + B ) + K b K m K m Rm
Km
Kb K m
slijedi:
Rm

K K
Js + B + b m
Rm

Km
1

Rm Js + B + K b K m
Rm

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

H ( s) =

Km

Rm

1
Km
=
J
Rm K x
K x
s + 1
Kx

1
J

s + 1
Kx

(3.13)

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


H (s) =

K
s + 1

(3.14)

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

Km
1
= 35,515
Rm K x
Vs
J
=
= 10,933 [ms ]
B + K b K m / Rm
K=

35,515
H (s) =
0,010933s + 1

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:
um(t) = Kp(d(t) - (t))

(3.15)

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


ut(t) = Kt(t)
slijedi da se eljeni izlazni napon tahometra moe izraziti kao:
ud(t) = Ktd(t)
i dobiva se zakon upravljanja:
u m (t ) =

Kp
Kt

(ud (t ) ut (t ) )

(3.16)

Uzimajui da je slijedi da je prijenosna funkcija zatvorene petlje:

W (s) =

K p' H ( s)
1 + K p' H ( s)

68

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

35,515
35,515
K p'
0,011s + 1
0,011s + 1
W ( s) =
=
=
'
35,515
1
+
0
.
011
s
+
K

35
,
515
'
p
1+ K p
0,011s + 1
0,011s + 1
K 'p

35,515 K p'
=

35,515K p'
0,011s + K p' 35,515 + 1

gdje je vremenska konstanta =

Ud (s)

1 + 35,515K p'
0,011
s +1
1 + 35,515K p'

0,011
.
35,515K 'p + 1

H(s)

K P

Ut (s)

W(s)
a)

b)

c)
Slika 3.36: a) Blok dijagram voenja potora P regulatorom, b) simulacijski model u
Simulinku, c) primjer odziva sustava
69

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

3.7.2. Voenje
enje istosmjernog stroja PI regulatorom
U PI regulatoru postoji dodatni lan
lan u signalu aktuatora, koji je razmjeran integralu
signala pogreke. PI zakon voenja
vo
za istosmjerni motor je:
K

U m ( s ) = K p + I ( d ( s ) ( s ) )
s

(3.17)

Zbog dodatnog lana


lana prijenosna funkcija je sada drugog reda i to ne jednostavna, jer
ima i nul toku.
ku. Na isti na
nain
in kao i kod proporcionalnog regulatora dobiva se prijenosna
funkcija zatvorene petlje:
K ps + KI
35,515

K (s) H (s)
s
0,011s + 1
W (s) =
=
=
K
s
K
+
1 + K ( s) H (s )
35,515
p
I
1+

s
0,011s + 1
(K p s + K I ) 35,515
35,515 K p s + 35,515 K I
s (0,011s + 1)
=
=
2
s (0,011s + 1 + (K p s + K I )35,515 0,011s + (1 + 35,515 K p ) s + 35,515 K I
s (0,011s + 1

Ud(s)

KI'
K +
s

H (s )

'
P

Ut(s)

W(s)
a)

b)

70

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 Kp. Da li istosmjerno pojaanje ovisi o Kp?
4. Koristei se Simulink-om, mijenjati parametre PI regulatora tako da prebaaj bude to blie
as + b
20% u trenutku 0,005 (s). Za PI regulator iz zadatka vrijedi: K ( s ) =
.
cs
5. Uzmite nekoliko proizvoljnih kombinacija parametara a, b i c te skicirajte rezultate za Mp i
Tp. Skicirajte odziv za svaki sluaj.

71

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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'.

72

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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


73

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

74

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

75

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

76

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

On-line otkrivanje kretnji - modificiran Matlab


From Video Device

Integrated W...
YUY2_1280x720
input1

1
Quadrant Motion
Estimates

Sum of
Absolute
Differences
R'G'B' to
intensity

>

SAD
Intensity
AD

Detect

1.7e4/512

Motion Energy

AD

Color Space
Conversion

Prag kretnje
po_potrebi mijenjati
nazivnik

Detect
Image

Intensity

Preglednik-video prozor

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

77

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

















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
Temperatura
Visina
Tok

Ime jedinice
tunit
hunit
funit

0 znai:
temperatura hladne vode
prazan spremnik
tok nultog ulaza

1 znai:
temperatra tople vode
pun spremnik
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

78

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

80

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.

81

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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


83

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

4.3.5. Projektiranje kontrolera


Cilj simuliranja je pratiti
ratiti naredbe za t1 i t2. Kako bi se iskoristile prednosti H
algoritma, mora se formulirati sustav koji minimizira pojaanje
poja anje u zatvorenoj petlji. Stoga se
izabiru teinske funkcije koje odgovaraju poremeajima
poreme ajima i potrebne su za normalizaciju
odgovarajuih frekvencijski-ovisnih
ovisnih komponenti.

Slika 4.15: Shema odgovarajue


odgovaraju prijenosne funkcije za problem 2 spremnika s uraunatim
teinskom faktorima
Potrebno je odabrati teinske faktore senzorskih umova, naredbi za postavljanje toki,
to
praenje greki i aktuatora. Obino
Obi
se pretpostavlja da je dinamika
inamika senzora zanemariva u
odnosu na relativnu dinamiku ostatka sustava.
sustava To nije tono
no za um senzora. Potencijalni
izvori uma ukljuuju
uju elektroniki
elektroni um u termoparovima
parovima kod kompenzatora, pojaala
poja
i filtera,
um loeg uzemljenja, zraenje,
enje,
enje, i dr. Da bi se estimiralo razinu uma, koristi se FFT analiza te
se tako dobivaju teinske vrijednosti. Sljedeim
Sljede im programskim linijama dobiva se odnos
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
Penalizacija greke ovisna o frekvenciji');
frekvenciji
legend('t1','t2')

84

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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;
Wcact = 0.01;
Whrate = 50;
Wcrate = 50;

% Penalizacija za aktuator vrue vode


% Penalizacija za aktuator hladne vode
% Penalizacija brzine toplog aktuatora
% 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]';
85

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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:

F ( s)

= max F ( j )

(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
max F ( j ) = lim F ( j ) d
p

1/ p

(4.2)

86

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 wd i zapovijedi r), z
signal za minimiziranje.

Slika 4.17: Konfiguracija openitog upravljanja


Prijenosna matrica sustava je sa slike 4.17:
G ( s) =

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

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


P(s) = C(sI A)-1B + D.
Formulacija problema sa slike 4.17 glasi:

z
w P11 ( s) P12 ( s) w
=
P
(
s
)
v
u = P ( s) P ( s) u
22

21

u = K ( s )v

Kako je openiti objekta u prostoru stanja:

87

(4.3)
(4.4)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

A
P ( s ) = C1

C 2

B1
D11
D21

B2
D12

D22

slijedi:

C
C = 1 , B = [B1
C 2

D
B2 ], D = 11
D21

D12
,
D22

te je:
C
1
P ( s ) = 1 (sI A) [B1
C 2
D
+ 11
D21

D
B2 ] + 11
D21

C1 (sI A)1 B1
D12
==
1
D22
C 2 (sI A) B1

D12 C1 (sI A)1


=
[B1
D22 C 2 (sI A)1
1
C1 (sI A) B2 D11
+
1
C 2 (sI A) B2 D21

B2 ] +

D12
=
D22

C1 (sI A)1 B1 + D11 C1 (sI A)1 B2 + D12


=

1
1
C 2 (sI A) B1 + D21 C 2 (sI A) B2 + D22
1
P11 = C1 (sI A) B1 + D11
1

P12 = C1 (sI A ) B 2 + D12


1

P21 = C 2 (sI A) B1 + D21


1

P22 = C 2 (sI A) B2 + D22

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


z = Fl (P, K) w

(4.5)

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


z P11
v = P
21

P12 w P11 w + P12 Kv


=
P22 Kv P21 w + P22 Kv

v = P21 w + P22 Kv v = ( I P22 K ) 1 P21 w


z = P11 w + P12 Kv = P11 w + P12 K ( I P22 K ) 1 P21 w
z = ( P11 + P12 K ( I P22 K ) 1 P21 ) w

F1 ( P, K ) = P11 + P12 K ( I P22 K ) 1 P21

(4.6)

H upravljanje ukljuuje minimizaciju H norme od Fl (P, K).


Standardni H optimalni kontrolni problem je nai sve stabilizirajue kontrolere K koji
minimiziraju izraz:

88

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Fl ( P, K )

= max ( Fl ( P, K )( j ))

(4.7)

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


Fl ( P, K )

gdje je z (t )

= max

w(t ) 0

z (t )

w(t )

(4.8)

z i (t ) dt druga norma vektorskog signala.

Neka je min najmanja vrijednost Fl ( P, K )

za sve stabilizirajue kontrolere. Tada

je H suboptimalni upravljaki problem nai sve stabilizirajue kontrolere K takve da je


Fl ( P, K ) < i > min. Stabilizirajui kontroler K(s) takav da je Fl ( P, K ) <
postoji ako i samo ako je:
a) X rjeenje algebarske Riccatijeve jednadbe:

(4.9)

(4.10)

AT X + X A + C1T C1 + X 2 B1 B1T B2 B2T X = 0

takvo da je: Re{i A + ( 2 B1 B1T B2 B2T )X } < 0 za svaki i.


b) Y 0 rjeenje algebarske Riccatijeve jednadbe:

AY + Y AT + B1 B1T + Y 2 C1T C1 C2T C2 Y = 0

takvo da je Re {i A + Y ( 2 C1T C1 C 2T C 2 ) } < 0 za svaki i.


c) ( X , Y ) < 2 .
Svaki takav kontroler je onda dat s K = Fl (KC, Q) gdje je:
A
K c ( s ) = F

C 2

Z L Z B2

0 I

I 0

gdje su:

F = B2T X ,
L = Y C2T ,

Z = I 2Y X
2

T
1

A = A + B1 B X + B2 F + Z L C2
i Q(s) bilo koja stabilna pravilna prijenosna funkcija takva da je Q
Slijedi:
1

K ( s ) = K C11 ( s ) = Z L (sI A ) F

< . Za Q(s) = 0.

(4.11)

Gornji izraz se naziva centralnim kontrolerom i ima jednak broj stanja kao openiti objekt P.

89

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Centralni kontroler moe se razdvojiti u estimator stanja (eng. state estimator,


observer) i povratno stanje (eng. state feedback) kao:
x& = Ax + B1 2 B1T X x + B2 u + Z L (C 2 x y )
14243

(4.12)

w worst

u = F x
(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:
K

= (I GK )1 M 1
I

(4.14)

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

min = 1 = 1 N

2
H

1 / 2

1/ 2

= (1 + ( XZ ) )

(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-1DTC)Z + Z(A BS-1DTC)T ZCTR-1CZ + BS-1BT = 0

(4.16)

uz supstitucije R = I + DDT i S = I + DTD, a X je jedinstveno pozitivno-definirano rjeenje


Riccatijeve algebarske jednadbe:

90

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

(A BS-1DTC)X + X(A BS-1DTC) XBS-1BTX + CTR-1C = 0

(4.17)

Za strogo pravilni objekt (D = 0) gornje jednadbe se znaajno pojednostavljuju.


Kontroler koji garantira:
K
1
1
I (I GK ) M

(4.18)

za specificirani > min, dat je s:


A + BF + 2 ( LT ) 1 ZC T (C + DF ) 2 ( LT ) 1 ZC T
K=

BT X
DT

(4.19)

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

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'};

91

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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


92

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

93

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

% 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.).

94

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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
95

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

96

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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:

M (q (t ))

d2
dq(t )

, q(t )
q(t ) = F (u (t )) + G (q(t )) + H
2
dt
dt

(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) = [u1(t) u2(t) u3(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.
97

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.

98

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

1. (sim)
1 (ra d )

0
z; measured
nlgr; fit: 98.99%

-1
-2
0

0.5

1.5

2 (ra d )

2. (sim)
0.5
0.4
0.3
0.2
0.1

z; measured
nlgr; fit: 98.1%
0

0.5

1.5

3 (ra d )

3. (sim)
1
0.5
0

z; measured
nlgr; fit: 91.04%
0

0.5

1
Time (s)

1.5

1 (rad)

1. (sim)
2

z; measured
nlgr; fit: 98.96%

1
0

0.5

1.5

2 (rad)

2. (sim)
0
z; measured
nlgr; fit: 98.52%

-0.2
-0.4
0

0.5

1.5

3 (rad)

3. (sim)
0
-0.5
-1
-1.5

z; measured
nlgr; fit: 91.26%
0

0.5

1
Time (s)

1.5

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.

99

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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. singletone) 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.

100

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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)

101

b)

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

102

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.

103

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.

104

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

105

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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)

106

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.
R1 i jX1 predstavljaju otpor i reaktanciju statorskog kruga, dok R2 i jX2 otpor i reaktanciju
rotorskog kruga. RC su gubici u jezgri stroja, a jXM 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
107

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 IDC 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 IDC, 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 IDC pri poveanju otpora. Slika 4.39 prikazuje kako se u
tom sluaju mijenja napon UDC.
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

108

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Slika 4.36: Prikaz struje IDC

Slika 4.37: Prikaz napona UDC

109

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Slika 4.38: IDC pri promjeni otpora

Slika 4.39: UDC 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.

110

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

111

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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
113

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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;

114

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

115

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 MATLABa (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:

116

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

117

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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.

118

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

119

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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

120

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 faznokompaundne uzbude izraen je s d i q komponentama:
Ur =

(U

KI q x ) + (U q + KI d x )
2

(4.21)

gdje je Ur izlazni napon i fazno-kompaundne uzbudne jedinice, Ud armaturni napon na d-osi


generatora, Uq armaturni napon generatora na q-osi, K konstanta iznosa K = 9 2 / te x
reaktancija.
Model razlike napona opisan je jednadbama:

121

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

U = U ref +

Uf0

U tf + U stab U ff

Ka

(4.22)

i
U tf = U d2 + U q2

1
1 + sTr

(4.23)

gdje je: Uref referentni napon AVR-a, Ustab napon zemlja-nula, Uf0 poetna vrijednost
uzbudnog napona, Ka efektivno pojaanje pobudnika, Tr vremenska konstanta NP filtra, Uff
izlazni napon petlje s povratnom vezom i U naponska razlika.
Model kompenzatora je:

U c = U

1 + sTc
1 + sTb

(4.24)

gdje je Uc izlazni napon kompenzatora, Tc i Tb vremenske konstanta kompenzatora.


Model pojaala opisuje se u literaturi izrazom:

Ua = Uc

Ka
1 + sTa

(4.25)

gdje je Ua izlazni napon pojaala, Ka njegovo pojaanje, a Ta vremenska konstanta.


Model saturacijske petlje dan je jednadbom:
Efd = Ua + Ur
(4.26)
0 Ef Efmax, Ef = Efd, uz:

konst., K p = 0
E f max =
K pU tf , K p 0
gdje je Efd izlazni napon naponskog regulatora, tj. kombinirana funkcija naponske razlike i
fazno-komoundnog regulatora pobude, Ef izlazni napon razmjeran saturacijskoj petlji, Efmax
maksimalni izlazni napon razmjerne saturacijske petlje.
Matematiki model izmjenine pobude dan je s:
Uf =

1
E fd
Te + K e

(4.27)

gdje je Ke vremenska konstanta izmjenine pobude.


Stabilizacijska povratna veza dana je s:

U ff = U f

sK f
1 + sT ff

(4.28)

gdje je Kf pojaanje povratne grane, a Tff vremenska konstanta povratne veze. Slika 4.51

122

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 x

= tg 1

123

1
x

(4.29)

K 6 KA
T A + K 3T ' d 0
i x =
, gdje je KA
T ' d 0 TA
2 K 3 T 'd 0 TA K 6 K A
inercijska vremenska konstanta pobudnog sustava opisanog

gdje je niskofrekvencijska oscilacija. x =


konstanta pojaanja i TA

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

prijenosnom funkcijom:

Ge ( s ) =

KA
1 + TA s

(4.30)

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

G( s) =

1 + T1 s 1 + T3 s

1 + T2 s 1 + T4 s

s tim to je esto u praksi T1= T3 te T2 = T4. 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

124

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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 Rs = 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.

125

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

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/computervision/
[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-BlocksetRelease-Notes.html?page=56
[12] Tank Demo, dostupno na: http://www.mathworks.com/products/robust/codeexamples.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-asynchronousgenerator-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-usmil-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-subtractiveclustering.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/modelexamples.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-programmaticgui-code-file.html

126

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

[20]
Laying
Out
the
Simple
Programmatic
GUI,
dostupno
na:
http://www.mathworks.com/help/matlab/creating_guis/laying-out-the-simple-programmaticgui.html
[21] Crating a GUI with GUIDE, dostupno na: http://www.mathworks.com/videos/creating-agui-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.

127

You might also like