132
SVEUČILIŠTE U SPLITU POMORSKI FAKULTET U SPLITU Igor Vujović MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK Split, 2014.

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

Embed Size (px)

Citation preview

Page 1: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

SVEUČILIŠTE U SPLITU

POMORSKI FAKULTET U SPLITU

Igor Vujović

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Split, 2014.

Page 2: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

Autor:

Dr. sc. Igor Vujović, dipl. inž.

docent

Page 3: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

PREDGOVOR

Ova skripta namjenjena je studentima prve godine diplomskog studija Pomorskih elektrotehničkih tehnologija na Pomorskom fakultetu u Splitu. Obuhvaća dio predavanja i vježbi iz kolegija „Simuliranje i modeliranje u elektrotehnici Matlab/Simulink“. U skripti je preskočen dio o temeljnim pojmovima, funkcijama i rukovanju programskim paketom Matlab, jer taj dio studenti susreću u drugim kolegijima tijekom preddiplomskog i diplomskog studija. Više osnovnih informacija o tom području može se pronaći na više internet adresa u Hrvatskoj. Ovaj kolegij satnice je 1+3 te je težinski vrijedan 6 ECTS bodova. Svrha je ovoga kolegija osposobljavanje studenata za rad s programskim sustavom MATLAB, što uključuje upoznavanje s tehničkim okruženjem i s praktičnim vježbama programiranja u MATLAB-u. Obrađuju se sljedeće teme: vektorska i matrična analiza podataka, grafička vizualizacija, modeliranje podataka te programiranje u MATLAB-u u kontekstu ilustrativnih, realističnih primjera. Kolegij razmatra modeliranje i simuliranje različitih tehničkih sustava (mehaničkih, hidrauličkih, električne strojeve, energetska elektronika, tehničkih sustavi s diskretnim događajima) te njihovo upravljanje u realnom vremenu korištenjem MATLAB-a. Programski paket Matlab kompatibilan je s programom Octave, koji se može naći besplatno na internetu. Razlika je u tome što Octave nema ugrađene sve funkcije i alatke koje ima Matlab, što je razumljivo zbog veličine programa te u Octave-u nema analoga Simulinku.

Autor

Page 4: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

SADRŽAJ

1. UVOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2. UPOTREBA MATLAB/OCTAVE PROGRAMSKIH LINIJA . . . . . . . . . . . . . . . . . . . 6 2.1. Korištenje glavnog prozora MatLab-a u analizi automatskih sustava s pomoću prijenosne funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2. Iscrtavanje realnih podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3. Analiza električnih krugova u Matlab/Octave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.1. Određivanje potencijala čvorova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.2. Proračun prijenosnih linija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.3. Rješavanje izmjeničnih krugova u području kompleksne frekvencije . . . . . . . . . . . . . . 19 2.4. Strukture, statistika, animacije, mjere učinkovitosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.4.1. Animacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.5. Alatke i njihova upotreba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.5.1. Simbolička 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. Statistička 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 složenih sustava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.6. Proporcionalni regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.7. Servomotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.7.1. Vođenje istosmjernog stroja proporcionalnim regulatorom . . . . . . . . . . . . . . . . . 68 3.7.2. Vođenje istosmjernog stroja PI regulatorom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4. SLOŽENI 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. Protupreklapajući (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 mreži . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

Page 5: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

4.9.Simulink 3D Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

4.9.1. Pristajanje broda u luku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.9.2. Vožnja automobilom u virtuelnom svijetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

4.10. Stvaranje grafičkog sučelja (GUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.11. Modeliranje automatskog uzbudnog regulatora sinkronog generatora broda s električnom propulzijom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5. LITERATURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Page 6: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

1

1. UVOD Danas su u svakodnevnom životu neizbježni sustavi automatskog upravljanja, odnosno

sustavi automatske regulacije. Da bi se utvrdilo da li zadovoljavaju zahtjeve u pogledu stabilnosti, brzine odziva pri promjeni ulazne veličine, stupanj osjetljivosti na poremećaje i dr., potrebno je poznavati dinamiku tih sustava. Dinamika sustava opisuje se diferencijalnim jednadžbama. Problem nastaje kada su te diferencijalne jednadžbe previše složene za analitičko rješavanje. Tada je korisno sustav nadomjestiti analognim modelom. Na modelu se vrše mjerenja koja se prevode u uvjete ispitivanog sustava. Obično 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 području koje odgovara fizikalnoj stvarnosti pa se na taj način zorno povezuje stvarnost i matematička simbolika. Elementi modela na određeni način simuliraju elemente ispitivanog realnog sustava pa se uređaji na kojima se ostvaruju modeli nazivaju simulatorima, a sam postupak gradnje modela simulacijom.

U samom početku simulatori su bili analogni, mehanički ili električni uređaji, s

unaprijed definiranim osnovnim elementima. Vremenski odziv dobiva se na pisaču ili osciloskopu. No, razvoj elektroničkih računala omogućio je da se simulatori "simuliraju" na elektroničkim računalima u posebnim programima kao što su TutSim, VisSim, itd. Danas se za simulaciju električnih i elektroničkih sklopova najviše koristi Electronic Workbench (EWB), odnosno Multisim u novoj inačici. Takav tip specijaliziranog programa je i Atlas, koji se koristi za simulaciju arhitekture mikroračunala. Slično, u raznim područjima znanosti postoje specijalizirani programi poput Powersim i sl. Općenito se za simulaciju raznih složenih sustava koristi MatLab-ov dio - Simulink. Octave je pristupačan zbog toga što se nalazi u javnoj domeni (GNU, General Public License). Vrlo dobri rezultati se mogu postići upotrebom programa Mathematica.

U početnoj fazi izrade bilo kojeg novog proizvoda uključena je i simulacija na računalu. Ako rezultati ne zadovoljavaju, moraju se mijenjati parametri prema podacima računalne simulacije, a tek kad je na računalu sve u redu ide se na izradu modela i na kraju prototipa.

Za upravljanje sustavima potrebno je poznavati i mjeriti kontrolne veličine. Kontrolne veličine mogu biti npr. jedan ili više izlaza iz sustava. Te se kontrolne veličine analiziraju kao signali. Postoji više vrsta signala i više podjela signala u srodne grupe.

No, prije samog rada, potrebno je razmotriti ispravno značenje određenih pojmova. Sustav je prirodna, društvena, tehnička ili mješovita tvorevina koja u nekoj okolini djeluje samostalno s određenom svrhom.

Tvorevina je skup elemenata koji stoje u takvom uzajamnom odnosu da ne postoje razdvojeni podsustavi. Djelovanje označava obavljanje radnji pretvorbe energije, obrade tvari ili obrade informacija. Svrha označava konačan rezultat djelovanja/djelatnosti izražene u nekom cilju, a za zadovoljavanje neke potrebe.

Page 7: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

2

U Tablici 1.1. data su dva primjera koja pojašnjavaju pojmove djelatnosti, cilja i svrhe. Navedeni su ciljevi kakvi bi logički trebali biti. Cilj farmacije bi trebao biti stvoriti lijek za neku bolest kako bi ljudi bili zdravi. Cilj ulova ribe (ribolovna djelatnost) je prehrana stanovništva.

Tablica 1.1: Usporedba djelatnosti, cilja i svrhe

DJELATNOST CILJ SVRHA farmacija Lijek Zdravlje ribolov Riba Ishrana

Automobil ne može djelovati samostalno, pa stoga nije sustav, iako je složena,

tehnička i svrhovita tvorevina. To je sprava (uređaj). Vozila, pisači, dizalice, letjelice i sl. uglavnom nisu sustavi. Međutim, automobil s vozačem je mješoviti sustav. Mišolovka je svrhovita tvorevina koja ne može djelovati bez vanjskog poticaja, pa nije sustav. Ovakve svrhovite tehničke tvorevine (zamke, zvonca, alarmi, termometri) koje vanjskim poticajem obave određenu radnju nazivaju se napravama.

Električni stroj za rublje je sustav, jer djeluje samostalno i svrhovito. Samostalno djelovanje neke tvorevine, bilo prirodne, bilo tehničke, moguće je ako takva tvorevina posjeduje vođenje. Vođenje (regulacija) je smisleno djelovanje na stanje energije i tvari u nekom procesnom prostoru na način da se postigne ili očuva neki cilj, odnosno svrha procesa. Vođenje se temelji na mjerenju i motrenju procesa pa je vođenje zapravo postupanje s informacijama sa ciljem održavanja danog procesa. Motrenje je kad se određuje da li je nešto npr. vruće ili hladno, a mjerenje kad se određuje kolika je temperatura, npr. 22ºC.

Automatika je znanstveno-tehnička disciplina čija su područja teorija vođenja, istraživanje i analiza uvjeta djelovanja i zakonitosti vođenja različitih sustava te sinteza i gradnja sustava za automatsko vođenje.

Automatizacija je tehnička disciplina koja obuhvaća sve mjere s kojima se smanjuje udio ljudskog rada u proizvodnji i s kojima se postiže viši stupanj ekonomične i rentabilne proizvodnje u pogledu utroška sirovine, energije i vremena.

Automacija ima širi smisao i označava razdoblje u razvoju proizvodnih snaga u kojem strojevi zamjenjuju čovjeka u fizičkom radu i misaonim djelatnostima: opažanju, pamćenju i odlučivanju.

Automacija je tehničko-ekonomska disciplina koju čine sve tehničke organizacije i

ekonomske discipline međusobno povezane za ostvarenje najbolje moguće proizvodnje. Modeliranje je proces ljudskog uma i redovito je pojednostavljeni prikaz promatrane

stvarnosti [4]. Modeliranje je olašalo rješavanje sustava, problema oko izrade i njegov rad. Cilj modeliranja je što više približiti promatrani sustav na što jednostavniji način, a pri tome zadržati sve relevantne karakteristike istog. Modeliranje omogućuje lakšu izradu i uočavanje potencijalnih problema, otkaza i kvarova te poboljšanja. Jedan od ciljeva modeliranja je određivanje pouzdanosti i raspoloživosti sustava u cijelosti i pojedinih komponenti. Dakle, može se reći da vrijedi definicija:

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

Page 8: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

3

Model može biti matematički ili opisan grafički, kao npr. blok-dijagramom. Iz modela se može napraviti računalni 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 jednadžbama, 4. izrada blok dijagrama u simulacijskom programu (npr. Simulinku), 5. izvođenje simulacije i 6. potvrda rezultata simulacije.

Izvođenje prva 3 koraka ovog procesa je izvan Simulinka (ako se radi u programskom paketu Matlab) prije nego se počne izrađivati blok dijagram. Definiranje sustava: Prvi korak modeliranja dinamike sustava je njegova potpuna definicija. Ako se modelira veliki sustav koji može biti podijeljen u više dijelova, svaki dio se modelira odvojeno. Nakon stvaranja modela tih dijelova, vrši 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 dinamički 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 može se početi modeliranje.

Modeliranje sustava jednadžbama je treći korak: Potrebno je formulirati matematičke jednadžbe koje opisuju sustav. Jednadžbe se pišu za svaki podsustav, a pri tome se koristi popis komponenti. Model može uključivati: algebarske jednadžbe, logičke jednadžbe, diferencijalne jednadžbe (za kontinuirane sustave) te jednadžbe diferencija (za diskretne sustave). Te se jednadžbe koriste za stvaranje blok dijagrama u Simulinku. Izrada (Simulink) blok dijagrama: Blok dijagram se izrađuje za svaki podsustav odvojeno. Nakon modeliranja svakog podsustava, oni se integriraju u jedinstveni model sustava. Izvođenje simulacije: Izvodi se simulacija i analiziraju rezultati. Potvrda (validacija) simulacijskih rezultata: Cilj ovog koraka je ispitati da li model točno opisuje fizikalne karakteristike sustava.

Slika 1.1. algoritamskim načinom prikazuje proces simuliranja. Struktura simulacijskog procesa nije strogo sekvencijalna, što znači da je moguć

Page 9: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

4

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

Slika 1.1: Dijagram toka simulacijskog procesa

Blok za planiranje simulacijskog eksperimenta i njegovo izvođenje sa slike 1.1 označava planiranje simulacijskih eksperimenata koji omogućuju ispunjenje cilja simulacije. Analiza rezultata eksperimenta je statistička analiza rezultata simulacijskog eksperimenta.

U literaturi se susreće i drukčija podjela procesa simulacije. Prema drugom pristupu, postupak simulacije unutar Simulinka se može podijeliti na tri faze, i to na: 1. Prevođenje modela, 2. Povezivanje modela i 3. Simulacija. Prevođenje modela

U ovoj se fazi model prevodi u izvršni oblik, pri čemu se obavljaju sljedeće operacije: • Izračunavaju se parametri blokova, • Određuju se svojstva signala,

Page 10: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

5

• Provodi se postupak optimizacije s ciljem reduciranja broja blokova u shemi, • Virtualni blokovi se zamjenjuju blokovima koje oni sadrže, • Formira se lista blokova koja se u fazi povezivanja modela koristi kao polazište za

određivanje poretka izvršavanja blokova, • Određuju 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, određuje se najefikasniji poredak izvršavanja blokova kako eventualno ne bi došlo do pojave algebarskih petlji. Pritom se uzima u obzir i eventualna razina prioriteta koju korisnik može dodijeliti pojedinom bloku. Simulacija

O ovoj fazi Simulink sukcesivno izračunava stanja i izlaze iz sustava u vremenskim trenucima koji mogu, ali i ne moraju biti u jednolikim razmacima što ovisi o odabranom rješavaču diferencijalnih jednadžbi (eng. solver).

Suvremeno modeliranje je praktički nezamislivo bez računala odnosno računalnih

programa, koja se u modeliranju koriste prvenstveno u dvije svrhe: - razvoj modela i - izvođenje proračuna.

Izraz "modeliranje i simulacija" označava složenu aktivnost koja uključuje tri elementa: realni sustav, model i računalo.

Na kraju treba vidjeti i zašto je Matlab izabran za simuliranje i modeliranje. Neke

prednosti Matlaba u usporedbi s "klasičnim" programskim jezicima poput Fortran-a ili C-a su: interaktivno sučelje omogućava brzo eksperimentiranje (Matlab je intrepretirani jezik

za razliku od, npr. Fortrana, koji je prevođen - kompajliran), potrebna je minimalna briga oko podatkovnih struktura (praktički nema deklaracija

varijabli i polja osim ako se želi točno nešto definirati na neki poseban način), Matlab omogućava brzo i lako programiranje (zahvaljujući moćnom matričnom

konceptu), ugrađeni grafički podsustav omogućava jednostavnu, kvalitetnu i brzu vizualizaciju, programi pisani u Matlabovom jeziku (tzv. m-datoteke) su obične tekstualne datoteke

i stoga su potpuno prenosive između različitih operacijskih sustava/platformi, postoje mnogobrojni dodatni paketi (alatke, engl. toolbox), tj. skupine m-datoteka za

razna specijalna područja i postoje mnogobrojne m-datoteke i čitavi paketi koje autori, ujedno i korisnici, stavljaju na slobodno raspolaganje putem Interneta.

Page 11: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

6

2. UPOTREBA MATLAB/OCTAVE PROGRAMSKIH LINIJA M-datoteke su obične tekstualne datoteke koje sadrže Matlab-ove naredbe (programe)

te imaju ekstenziju (oznaka iza točke u imenu datoteke) "m". Postoje dvije vrste m-datoteka: skripte i funkcije (u užem smislu). Zajedničko im je sljedeće:

• % je znak za komentar. Matlab i Octave ignoriraju sve što se u nekoj liniji nalazi iza znaka % do kraja linije. U novijim inačicama Matlaba postoji skupno komentiranje više linija "%… linije pod komentarom … %".

• Prve linije u datoteci koje počinju s % sadrže opis programa. On je prekinut prvom linijom koja ne počinje 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 može sadržavati više naredbi odvojenih zarezom ili točka-zarezom. Treba znati da se rezultat svake naredbe koja ne završava točka-zarezom odmah ispisuje na zaslon - što se najčešće ne želi.

• "..." je znak za nastavak linije. Skripta je vanjska ili korisnička datoteka koja sadrži niz Matlabovih izraza. Tipkanjem

imena datoteke, izvršavaju 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 sadrže niz Matlab izraza koji ne zahtjevaju posebno deklariranje na početku ili negdje u programu. Mogu sadržavati komentare, koji mogu biti samostalne linije ili dio bilo koje druge linije.

Upišite u programu za uređivanje ( ) koda sljedeći niz naredbi:

Nakon toga spremite u radni direktorij funkciju pod imenom "pozdrav.m". Upišite novodefiniranu funkciju u glavni prozor Matlaba: » pozdrav Dobar dan! »

Poziv funkcije Ovo ispisuje Matlab kao izvršenje funkcije Promt je znak spremnosti za novu naredbu

Nakon upisivanja imena funkcije, računalo u glavnom prozoru ispisuje tekst "Dobar

dan!", te javlja da očekuje nove naredbe (znak "»"). Upisivanje naredbe edit pozdrav otvorit će se u programu za editiranje tražena datoteka pozdrav.m.

2.1. Korištenje glavnog prozora MatLab-a u analizi automatskih sustava s pomoću prijenosne funkcije

Matlab se može 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 početku retka stoji "»", što označava da je MatLab spreman za rad. Ako nema tog znaka,

Page 12: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

7

znači da se izvršava neka naredba. Naredba se počinje izvršavati pritiskom tipke "↵" (ENTER) na tipkovnici.

Naredbom whos uvijek se može 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 područje brojeva s kojima može računati pa se zato označavaju s pomoću potencija. Tako je npr. 1.00e+000 isto što i 1⋅ 100 = 1. Slovo "e" označava eksponent broja 10.

Primjer 2.1: U ovom primjeru razmotirit će se prijenosna funkcija 5,05,1

13,0)(

2 ++

+=

ss

ssW .

Potrebno je odrediti: a) raspored nula i polova, b) geometrijsko mjesto korijena, c) vremenski odziv na jediničnu odskočnu funkciju, d) Bodeov dijagram, e) Nyquistov dijagram. (Napomena: U Matlabu se decimalni brojevi označavaju s decimalnom točkom, a zarez znači drugi broj ili element u matrici).

Primjetite da je:

)5,0)(1()1(5,0)1(5,05,05,05,1 22 ++=+++=+++=++ ssssssssss

Prvo treba unijeti podatke u računalo W(s): » brojnik = [.3 1]; » p1 = [1 1]; » p2 = [1 .5]; » nazivnik = conv(p1, p2); % umnožak dva izraza obavlja se konvolucijskom instrukcijom » H = tf (brojnik, nazivnik);

Poslije svakog retka pritišće se tipka "↵" (ENTER) na tipkovnici. MatLab-ov programski jezik napravljen je tako da pisanjem ";" ne ispisuje rezulat instrukcije ispred, a ako se točka-zarez izostavi, ispisuje, npr. nakon:

» brojnik = [.3 1]

brojeve .3 i 1, jer nije stavljena točka-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 grafički prozor prikazan na slici 2.1.

Page 13: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

8

Slika 2.1: Raspored nula i polova zadane prijenosne funkcije

Prirodne frekvencije i koeficijenti prigušenja se dobivaju naredbom: » damp(H) Računalo ispisuje rezultat naredbe: Svojstvena vrijednost Prigušenje Frekvencija(rad/s) Eigenvalue Damping Freq. (rad/s) -5.00e-001 1.00e+000 5.00e-001 -2.00e-001 + 9.80e-001i 2.00e-001 1.00e+000 -2.00e-001 - 9.80e-001i 2.00e-001 1.00e+000

Svojstvene vrijednosti su značajne, jer predstavljaju rješenje karakteristične jednadžbe za neki sustav. b) Geometrijsko mjesto korijena (GMK) dobiva se naredbom: » rlocus(H); Stiskanjem tipke "↵" otvara se grafički prozor prikazan na slici 2.2.

Page 14: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

9

Slika 2.2: GMK razmatranog sustava c) Vremenski odziv na jediničnu odskočnu funkciju dobiva se naredbom: » step(H) Stiskanjem tipke "↵" otvara se grafički prozor prikazan na slici 2.3.

Slika 2.3: Odziv sustava opisanog prijenosnom funkcijom W d) Matlab računa stvarni, a ne asimptotski Bodeov dijagram. Dobiva se naredbom:

Page 15: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

10

» bode(H)

Slika 2.4: Bodeovi amplitudni i frekvencijski dijagram e) Nyquistov dijagram dobiva se naredbom: » nyquist(H) Stiskanjem tipke "↵" otvara se grafički prozor prikazan na slici 2.5.

Slika 2.5: Nyquistov dijagram

Page 16: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

11

2.2. Iscrtavanje realnih podataka

U ovom potpoglavlju dat je primjer korištenja 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.

Električna trošila pored djelatne snage uzimaju iz mreže i određeni iznos jalove snage. Tipična trošila jalove snage u mreži su asinkroni motori, transformatori, prigušnice, a tipični izvori viših harmonika (usto i trošila jalove snage) su regulirani elektromotorni pogoni, ispravljači i lučne peči. Jalova snaga dodatno opterećuje prijenosne elemente u mreži, stvara gubitke, a prekomjerno uzeta jalova energija (više od 33% djelatne) se naplaćuje.

Viši harmonici mogu izazvati rezonancije s elementima mreže, a s tim u vezi dodatna izobličenja napona. Zato je povoljno kompenzirati jalovu snagu, odnosno popraviti faktor snage trošila i potpisivati više harmonike na iznos koji omogućava nastajanje štetnih pojava u mreži.

Za popravke faktora snage u elektroenergetskim postrojenjima primjenjuju se: - rotacioni kompenzatori, - kompenzacija kondenzatorima:

• statička (pojedinačna i grupna), • dinamička (izravna i neizravna).

U novije je vrijeme tehnologija izrade kondenzatora za kompenzaciju tako napredovala da su oni postali univerzalno rješenje 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 određuje faktor snage nakon kompenzacija i - kut koji određuje faktor snage prije kompenzacije.

Osim što jalova snaga, a s njom i viši harmonici, opterećuju trošila spojena na mrežu, a u krajnju ruku zbog rezonancije dovode do štetnih utjecaja, bitni razlog kompenziranja je cijena koja se plača za prekomjerno uzetu jalovu snagu iz distribucije. Faktor snage je veličina izražena kosinusom kuta između ukupne preuzete snage i korištene djelatne snage. Ukoliko je

Page 17: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

12

taj kut takav da je cos > 0,95 induktivno ili kapacitivno, ta količina jalove snage se ne naplačuje.

U industrijskim i brodskim postrojenjima postoji veliki broj trošila koja crpe jalovu snagu iz mreže. To mogu biti regulirani DC i AC motori te transformatori napona. U svrhu kompenzacija obično je instalirano više grana kompenzacije.

U nastavku će se prikazati načelo kompenziranja jalove snage na dovodu 35 kV s trafostanice „Kaštela“ u krug „Željezare“. Prikazana su variranja napona, struje, djelatne i jalove snage u ovisnosti o vremenu, te faktor snage proračunat iz podataka djelatne i jalove snage također u ovisnosti o vremenu.

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

Vrijeme Napon [kV] Struja [A] P [MW] Q [MVAr]

11:47 : : :

34,84 27,29 1,6 -0.4 34,84 27,95 1,3 -0.3 34,68 26,78 2,8 0.7 34,59 35,04 3,0 1.2 34,58 50,29 3,1 1.25 34,55 54,38 3,2 1.4 34,50 57,48 3,2 1.4 34,85 62,64 1,4 -0.2 34,88 20,80 1,4 -0.45 34,93 22,29 1,3 -0.6

11:50 : : :

34,91 22,29 1,4 0.55 34,89 29,82 1,5 -0.3 34,84 29,02 1,5 -0.2 34,71 31,65 1,4 -0.2 34,79 31,38 1,6 -0.3 34,69 55,90 3,0 0.7 34,59 58,15 3,1 0.8 34,59 60,02 3,3 0.9 34,58 60,89 3,2 1.2 34,56 48,45 3,1 1.3

11:53 : : :

34,75 28,85 2,6 0.1 34,87 34,73 1,4 -0.5 34,67 57,79 2,8 0.9 34,56 67,66 3,0 1.2 34,53 65,54 3,2 1.1 34,50 63,34 3,0 1.3 34,46 59,65 3,0 1.4 34,74 25,28 1,6 -0.2 34,78 55,90 1,5 -0.1 34,59 50,29 7,6 0.7 34,58 67,69 3,0 1.2

Sljedeći niz naredbi omogućuje iscrtavanje ovisnost efektivne vrijednosti napona o vremenu: » clear all;

Page 18: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

13

» U=[34,84 34,84 34,68 ... 34,58]; % umjesto ... potrebno je unjeti sve vrijednosti iz stupca % ili ih učitati iz neke datoteke » t=0:18:550; » plot(t,U); grid; Rezultat je prikazan na slici 2.7.

Slika 2.7: U-t graf

Sljedeći niz naredbi omogućuje 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;

Page 19: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

14

Slika 2.8: I-t graf

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

Iscrtani grafovi pomažu u proučavanju trendova i izračunu potrebne kompenzacije.

Page 20: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

15

2.3. Analiza električnih krugova u Matlab/Octave

U Matlab/Octave glavnom prozoru mogu se izvršiti proračuni električnih krugova uz prethodnu pripremu. U ovom potpoglavlju dano je par primjera. 2.3.1. Određivanje potencijala čvorova Primjer 2.2: Odredite potencijal svakog čvora kruga sa slike. Označimo potencijale čvorova 1, 2 i 3 s ϕA, ϕB i ϕC. Jednadžbe prvog Kirchhoffovog zakona za te čvorove glase: • Za potencijal ϕc (točka 2): 314 RRR III +=

• Za potencijal ϕB (točka 3): 32 RR II =

Te treba dodati očitu jednadžbu, jer je naponski izvor izravno spojen na čvor 1 (potencijal ϕA):

• 1UA =ϕ što znači da je već poznat jedan napon čvora.

Slika 2.10: Zadani krug za analizu potencijalom čvorova

Iz jednadžbi prvog Kirchhoffovog zakona slijedi:

32

31

1

4

RR

RR

U

R

CBBA

CBCC

ϕϕϕϕ

ϕϕϕϕ

−=

−+

−=

Grupiranjem se dobiva:

Page 21: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

16

BCA

BC

RRRR

RRRRR

U

ϕϕϕ

ϕϕ

++−=

−⋅

++=

3232

34311

1

11

111

Ako se matricama želi riješiti sustav, tada je potrebno definirati matrice sustava tako da je:

A = B C gdje su:

=

2

1

1

1

R

UR

U

A ,

+−

++

=

323

3431

111

1111

RRR

RRRRB ,

=

B

CCϕ

ϕ.

% Unošenje 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]; % Izračun potencijala čvorova C i B po redu: »C=inv(B)*A Računalo ispisuje rješenje: C = 1.3316 1.7966 što znači da je potencijal čvora C 1,33 [V], a čvora B 1,7966 [V]. 2.3.2. Proračun prijenosnih linija Primjer 2.3: Za prijenosnu liniju sa slike odredite ulaznu impendanciju uz 0 < β i d < 0 za

slučaj kada je 1,00

=Z

ZT .

Page 22: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

17

Slika 2.11: Prijenosna linija

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

( )( )ll

β

β

tgjZZ

tgjZZ

Z

Z

T

Tul

+

+=

0

0

0

(2.2)

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

( )

( )l

l

β

β

tgZ

Zj

jtgZ

Z

Z

Z

T

T

ul

0

0

0 1 +

+

= (2.3)

U Matlab-u ili Octave-u se može isprogramirati više verzija rješenja: s fiksnim omjerom, s unosom proizvoljnog omjera ili s analizom određenog opsega za omjere. To znači da je bilo koji od iduća tri koda ispravan.

% Zadana točno određena 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('\betad (normaliziran na pi)'); ylabel('|Z_ul|/Z_0') subplot(212); plot(beta_d./(pi),angle(Zul_norm)./(pi)) xlabel('\betad (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('\betad (normaliziran na pi)'); ylabel('|Z_ul|/Z_0') subplot(212); plot(beta_d./(pi),angle(Zul_norm)./(pi)) xlabel('\betad (normaliziran na \pi)') ylabel('Faza(Z_ul) (normalizirana na \pi)'); axis([0 2 -0.5 0.5])

Page 23: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

18

% Iscrtavanje rezultata za različite 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('\betad (normaliziran na pi)'); ylabel('|Z_ul|/Z_0') subplot(212); plot(beta_d./(pi),angle(Zul_norm)./(pi)); hold on xlabel('\betad (normaliziran na \pi)') ylabel('Faza(Z_ul) (normalizirana na \pi)') end

Slika 2.12 prikazuje više krivulja, kao rezultat različitog izbora omjera. Zadani omjer dan je na gornjoj slici, a svi u opsegu od 0,1 do 2 na donjoj. Crvena crta je za omjer 0,1, a plava 2.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

5

10

βd (normaliziran na pi)

|Zul|/

Z0

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-0.5

0

0.5

βd (normaliziran na π)

Faza(Z

ul)

(norm

aliz

irana n

a π

)

Page 24: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

19

Slika 2.12: Grafički prikaz rješenja Primjera 2.3

2.3.3. Rješavanje izmjeničnih krugova u području kompleksne frekvencije Primjer 2.4: Zadan je Butterworthov NP filter trećeg reda kao na slici. Nađite odziv (izlaz)

uizl(t) na zadani ulaz uul(t): ( )tftfuul ⋅⋅⋅⋅+

−⋅⋅⋅⋅= 21 2sin4

42sin5,1 π

ππ . Zadano je: R =

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

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

5

10

βd (normaliziran na pi)

|Zu

l|/Z

0

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-0.5

0

0.5

βd (normaliziran na π)

Fa

za

(Zu

l) (n

orm

aliz

ira

na

na

π)

Page 25: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

20

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

Slika 2.14: Ulazni napon

U frekvencijskom području drugi Kirchhoffov zakon za dvije nezavisne konture prema

slici može se napisati:

( )

( ) 01

1

21222

2111

=−−+

=−+

IICj

IRILj

UIICj

ILj ul

ωω

ωω

Da bi se izračunao izlazni napon, potrebno je izračunati fazor struje I2 ili u matričnom obliku vektor struja. To će se postići sljedećim 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];

0 2 4 6 8 10 12 14 16 18 20-6

-4

-2

0

2

4

6

t [s]

uul

Page 26: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

21

»Uul = [1.5*exp(-j*pi/4) 4]; »Tuk = 2/f1; »N = 1001; »t = linspace (0, Tuk, N); »u = zeros(1, N); »for k=1:2

ZL1 = j*w(k)*L1; ZL2 = j*w(k)*L2; ZC = 1/(j*w(k)*C); Z = [ZL1+ZC -ZC -ZC ZC+ZL2+R]; U = [Uul(k) 0]'; Y = inv(Z); I = Y*U; U(k) = R*I(2); u = u + abs(U(k))*sin(w(k)*t+angle(U(k)));

»end; »plot(t, u); »xlabel('t [s]'); »ylabel ('U_i_z_l')

Rezultat je prikazan na slici 2.15a. Ako se želi usporediti ulazni i izlazni signal potrebno je nakon izvođenja programskog koda za icrtavanje ulaznog napona upisati naredbu za zadržavanje iscrtanog grafa (hold on) te potom primjeniti kod za izraćun izlaznog napona. Zadnja plot nareba će u istoj slici iscrtati i izlazni napon. Da bi se lakše razlikovali ulaz i izlaz, izlazni napon iscrtan je crvenom bojom. Združeni graf je prikazan na slici 2.15b.

Može se primjetiti da je zadani filter skoro u potpunosti poništio utjecaj više frekvencijske komponente. Bolji ili lošiji rezultat se može postići promjenom L1, L2, C i R i/ili ulaznog napona.

a)

0 2 4 6 8 10 12 14 16 18 20-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

t [s]

Uiz

l

Page 27: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

22

b)

Slika 2.15: a) Izlazni napon iz filtra, b) usporedba ulaznog i izlaznog napona. 2.4. Strukture, statistika, animacije, mjere učinkovitosti

Kada se analiziraju podaci, potrebno je izračunati statistiku, tj. neku od statističkih veličina. Matlab ima ugrađen niz funkcija koje računaju određene statistike. Neke poznate veličine su npr. mean, median, mode, itd. Za njih postoje ugrađene funkcije („built-in functions'').

Jedna od statistika je histogram. Ako se želi odrediti histogram nekog vektora, može se postupiti na sljedeći način. Prvo će se definirati slučajni vektor za koji se želi izračunati histogram:

» vektor = 100*rand(1,100);

Gornja linija znači da se rezervira prostor u memoriji za vektor veličine 100 članova koji su slučajno generirani. Ako se želi samo rezervirati prostor bez definiranja koji su brojevi na nekom mjestu, može se koristiti naredba zeros (1,100). Podaci se mogu grupirati u histogram naredbom: » hist(vektor,5:10:95); koja iscrtava histogram s točkama centriranim u 5, 15, 25…95 ili s: » N=histc(vektor,0:10:100);

Ovaj primjer daje broj pojavljivanja između određenih vrijednosti (u intervalima): 0 <10, 10 <20… , 90 <100. Može se koristiti i naredba hist(vektor), kod koje se automatski određuju intervali ili hist(vektor, 100) kod kojeg su dane sve vrijednosti od 1 do 100.

0 2 4 6 8 10 12 14 16 18 20-6

-4

-2

0

2

4

6

t [s]

Uiz

l (crv

eno),

Uul (

pla

vo)

Page 28: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

23

Mnogi procesi u vjerojatnosti oslanjaju se na slučajne brojeve. MATLAB sadrži ugrađene naredbe s uobičajenim distribucijama. Tako npr. rand vuče brojeve uniformnom distribucijom u intervalu od 0 do 1. Naredbom randn dobivaju se brojevi standardnom normalnom distribucijom (Gauss). Naredba random daje slučajne brojeve iz više distribucija. Detaljan opis može se naći utipkavanjem doc random. U dokumentaciji također postoji lista specifičnih funkcija.

Dana distribucija se može izmijeniti. Tako npr. naredba: » y=rand(1,100)*10+5; daje 100 ravnomjerno distribuiranih brojeva između 5 i 15. » y = floor(rand(1,100)*10+6); daje 100 ravnomjerno distribuiranih cijelih brojeva između 10 i 15. U ovom slučaju je bolje koristiti naredbu floor ili ceil (pod – donja vrijednost ili krov – gornja vrijednost) nego round (zaokruži). » y = randn (1,1000); » y2 = y*10+16; povećava standardnu devijaciju na 10 i srednju vrijednost na 16. Histograme se može iscrtati naredbom hist te je rezultat prikazan na Slici 2.16. Vidi se da je valni oblik histograma ostao isti, ali je promjenjeno mjerilo x-osi zbog skaliranja i pomaka.

a)

-4 -3 -2 -1 0 1 2 3 40

50

100

150

200

250

300y

Page 29: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

24

b)

Slika 2.16: Histogram: a) početnog vektora (y), b) modificiranog vektora (y2)

Primjer 2.5: Kao ilustraciju primjene generiranja slučajne vrijednosti, izvšite simulaciju Brownian-ove kretnje u 1 dimenziji.

Kod ove vrste kretnje određuje se u kojem smjeru se skreće u ovisnosti o vrijednosti slučajnog broja. Prvo se definira vektor s članovima 0 proizvoljnog broja elemenata, npr. 10000. Napisat ćemo petlju da bi pratili položaj čestice u svakom trenutku. Start je u 0. Da bi dobili novi položaj, odabrat ćemo slučajan broj i ako je < 0.5, kretnja je ulijevo, a za > 0.5 udesno. Pohranjuju se novi položaji na njihovim mjestima u vektoru. Potom se iscrtava histogram s 50 intervala u kojima su položaji čestice. Sve će se izvršiti pozivanje sljedeće skripte (može se nazvati proizvoljno, npr. brown.m prema imenu kretnje. x=zeros(10000,1); for n=2:10000 if rand<0.5 x(n)=x(n-1)-1; else x(n)=x(n-1)+1; end end figure; hist(x,50);

-20 -10 0 10 20 30 40 50 600

50

100

150

200

250

300y2

Page 30: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

25

Slika 2.17: Primjer razultata za Brownovo kretnje

Napomena: kako je riječ o generiranju slučajnih brojeva, vaš graf može ispasti drukčiji od grafa na gornjoj slici.

Dok je samorazumljivo upotrebljavanje vektora, tj. jednostupčastih ili jednorednih matrica, sam naziv Matlaba upućuje da je razumljivo i upotrebljavanje 2D matrica u proračunima. 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 omogućuje formiranje n-dimenzionalnih matrica. Pri tome svaki element mora biti istog tipa (integers/cjelobrojni, doubles/dvosturke preciznosti, characters/znakovi, itd). Matrice su prostorno-učinkovite i povoljne za izračun.

Ponekad su druge složene strukture podataka pogodnije za određeni problem, kao npr. polja ćelija (engl. cell array), koja su slična 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 slično objektno orijentiranom programiranju u Matlab-u.

Ćelija je kao matrica, samo što svaki član te matrice (polja) može sadržati bilo kakav tip podataka (čak i druge matrice).

-60 -40 -20 0 20 40 60 800

100

200

300

400

500

600

Page 31: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

26

Slika 2.18: Primjer polja ćelija Slika 2.18 prikazuje primjer polja ćelija. U lijevom stupcu su ćelije sa znakovima, tj.

imena ljudi. U srednjem stupcu su brojčane vrijednosti. Gornja desna ćelija sadrži jednostupčasz matricu s dva elementa, a donja desna ćelija je prazna. To znači da se određenim ćeijama mogu pridruživati određeni podaci, kao npr. plaća, broj djece ili sl.

Isto bi se moglo učiniti s matricama, ali je za to potrebno najmanje 3-dimenzionalna matrica. Pri tome je prostor gdje ne treba treća dimenzija nepotrebno zauzimanje memorije.

Za razliku od matrica, structure I polja ćelija potrebno je inicijalizirati definirajući tip I veličinu podataka u pojedinim ćelijama, tj. alocirajući potrebnu memoriju. Da bi se inicijalizirala ćelija potrebno je odrediti njenu veličinu, npr: »a=cell(3,10); Ovo znači: a je ćelija s 3 reda i 10 stupaca.

Čelija se može ručno upisati u zagradama , npr: »c='pozdrav svijetu',[1 5 6 2],rand(3,2); U tom slučaju, c je ćelija s 1 redom i 3 stupca. Svaki element ćelije može biti bilošto. Da bi se pročitao ili zapisao neki element koriste se zagrade . Primjeri zapisivanja podataka su: »a1,1=[1 3 4 -10]; »a2,1='pozdrav'; »a1,2=c3; Čitanje se izvršava pozivom određene ćelije, npr. a1,2 ili c2.

Strukture dopuštaju 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 veličinu ove strukutre sa size(s), u ovom slučaju bio odgovor bio 1x1. Incijalizacija je opcijska, ali je preporučljiva kada su u pitanju velike strukture

Dodavanje polja vrši se na način: »s.ime= 'Perica Pisac'; »s.rezultati= [95 98 67];

Page 32: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

27

»s.godina= 'G3';

Ne treba zaboraviti da polja mogu biti svašta, kao: matrice, ćelije, pa čak i druge strukture. Korisne su za držanje varijabli zajedno. Za više infromacija možete pogledati doc struct.

Napomena: Za verzije Matlaba poslije 7.12.0 (2011a i b), ne može se prazna struktura inicijalizirati (kao kod s=struct([])) pa se onda mora koristiti dodavanje ćelija (kao npr. s.ime, itd), jer to ne prihvaća R2012. Međutim, bez linije s=struct radi, jer Matlabi od R2012 automatski sami formiraju s stukturu.

Iz ćelija se pože pozvati točno određeni 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,[]);

Veličina s2 =1x3. Svaka ćelija mora imati istu veličinu.

» 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 prihvaćaju 2 riječi za ime čelije, pa mora biti jedna riječ

starost djece, što se postiže 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

Page 33: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

28

Strukture 1x1 su korisne kada se koristi puno varijabli u funkciji. Sve se stave u strukturu. Za pristup nx1 strukturnim poljima, koriste se njihova mjesta: »person=ppl(2); gdje je person struktura s imenom, starošću 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 slučajnih rečenica. Napišite skriptu slucGen. Neka je ćelija veličine 3x2, a u njoj su imena ljudi u prvom stupcu, a napomene u drugom. Izaberite 2 slučajna cijela broja (1-3). Ispišite rečenicu u obliku ‘[ime] je [napomena].’ Startajte skriptu nekoliko puta i promatrajte što se događa.

Ukucajte sljedeće programske linije u tekstualni ili Matlabov editor. Skripta sentGen izgleda ovako:

% skripta slucGen – slučajni generator rečenica c=cell(3,2); c1,1='Tanja';c2,1='Marija'; c3,1='Antonija'; c1,2='pametna'; c2,2='plavuša'; c3,2='vruca' r1=ceil(rand*3);r2=ceil(rand*3); disp([ cr1,1, ' je ', cr2,2, '.']);

Ovo je primjer kako se mogu generirati slučajne rečenice upotrebom ćelija i funkcije za generiranje slučajnih brojeva. U engleskom jeziku je to jednostavnije te se mogu koristiti imena oba spola. U hrvatskom bi rečenice čudno zvučale zbog razlika u deklinacijama s obzirom na rodove. 2.4.1. Animacije

U Matlabu se može lako uloviti slike iz filma i ponovo ih prizivati. Podržani formati filmova su avi i animirani gif, mj2, mpg, wmv, asf i asx. Svaki ima svoje područje 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 crteža 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 između prikazivanja slika. Pauza između slika je potrebna, jer računalo može iscrtavati slike brže nego što ih zamjeti ljudsko oko te bi u slučaju bez pauza vidjeli samo zadnju sliku. Primjer 2.7: Generirajte slučajne brojeve koje će te vizuelizirati u obliku filma.

Rješenje se može napisati u editoru (onda se kopira u glavni prozor ili spremi i starta

prema spremljenom imenu) ili u glavnom prozoru. Slučajne brojeve može se generirati

Page 34: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

29

naredbom rand, koja generira pseudoslučajne 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 grafičkom prozoru. close all; clear all; for t=1:50 % prikazat će se 50 slika imagesc(rand(200)); colormap(hot); % Isprobajte također: jet, bone, gray pause(.3); % u sekundama je broj u zagradi end

a) b)

Slika 2.20: a) Iscrtavanje slučajnih brojeva: a) s hot mapom boja, b) s gray mapom boja

Film je niz slika koje treba uhvatiti i snimiti. Snimanje u Matlabu znači spremanje matrice slike u memoriju ili neku varijablu, najčešće strukturu. Strukturi se može pridružiti matrica slike ili se može očitati 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 može spremiti u nekom grafičkom 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 prihvaća jedn ili više parametara. Dopušteni parametri su: 'colormap', 'compression', 'fps', 'keyframes', 'quality' i 'videoname'. Vrijednost parametra 'colormap' je matrica m x 3, gdje je m najviše 256 ili 236 za sažimanje. Parametar 'compression' je vrijednosti stringa koji specificira kod sažimanja. 'None' se koristi ako se ne želi sažimanje. Ostale vrijednosti su MSVC, RLE, Cinepak, Indeo3 ili Indeo5. Parametar 'fps' može poprimiti brojčanu vrijednost koja znači koliko se slika prikazuje u sekundi. Uobičajeni standard je 30. Parametar 'quality' je brojčana vrijednost od 0 do 100. Veća kvaliteta i veća veličina datoteke postižu se ako se upiše veći 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.

Page 35: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

30

Da bi se riješio 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 znači 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 sadrže funkcije specifične za neko određeno područje, npr.: obrada signala, statistika, optimizacija, upravljanje, statistika, itd.

Općenito je učinkovitije koristiti MATLAB-ove alatke nego redefinirati ili programirati svoju funkciju. To štedi vrijeme kodiranja i otklanjanja pogreške (debugging). U alatkama su neke funkcije kompajlirane pa se izvršavaju brže. Ipak se mogu pojaviti greške. Stoga se u novim verzijama javljaju i izvješća o prepravkama postojećih funkcija. Grešku svatko može prijaviti.

U nastavku su navedene neke iz širokog izbora alatki dostupnih za Matlab. 2.5.1. Simbolička alatka (engl. Symbolic Toolbox)

Kako je nekada poželjnije imati analitički izraz za rješenje, nego skup numeričkih

vrijednosti, uvedena je simbolička alatka.

Tablica 2.2: Usporedba rješavanja simboličkim i numeričkim načinom

Način rješavanja Prednosti Nedostatci

Simbolički - rješenje je analitičko - daje mogućnost inuitivnog razmišljanja o rješenju

- nekad nije moguće riješiti - rješenje može biti prekomplicirano

Numerički - uvijek daje rezultat - rješenje je precizno - jednostavno kodiranje (programiranje)

- teško je izvući dublje značenje - numerički postupci ponekad nisu uspješni - proračun može dugo trajati

Page 36: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

31

Simboličke varijable su tip poput varijabli s dvostrukom preciznošću (double) ili znakovnih (char).

Definiraju se naredbom sym: »a=sym('1/3'); »b=sym('4/5'); Primjetite da razlomci ostaju razlomci. Prilikom definiranja simboličkih varijabli, mogu se dodavati ograničenja. »c=sym('c','positive'); Za više informacija može se pogledati pomoć (help sym). Za specifičnosti se može koristiti I naredba syms kao npr.: »syms x y real je skraćeno za: »x=sym('x','real'); »y=sym('y','real'); Kako su izrazi dobiveni simbolitčkom alatkom često vrlo nepregledni, novije inačice Matlaba nastoje poboljšati taj ispis kako bi bio pregledniji za čovjeka. Zato su uvedene I naredbe koje poboljšavaju 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

Jednadžba kružnice radijusa r centrirane u (a, b) dana je s: (x-a)^2 + (y-b)^2 = r^2. Proširite jednadžbu u oblik: Ax^2 + Bx + Cxy + Dy + Ey^2 = F i nađite izraze za koeficijente izražene s a, b i r. »syms a b r x y »pretty(expand((x-a).^2 + (y-b).^2))

Matlab ispisuje: ans= 2 2 2 2 a - 2 a x + b - 2 b y + x + y 2.5.2. Alatka za obradu signala (engl. Signal Processing Toolbox)

MATLAB se često koristi za obradu signala (npr. za izračun brze Fourierove transformacije, funkcija fft). U ovoj alatci se može: projektirati filtere, statistički obraditi signal, Laplace-ova transformacija, i dr. Srodne alatke su: komunikacijska, valićna, RF, alatka za obradu slike, itd.

Page 37: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

32

Funkcije u komandnoj liniji mogu se podijeliti u nekoliko kategorija: - projektiranje, analiza i implementacija filtera u diskretnom vremenu, - projektiranje, analiza i implementacija analognih filtera, - transformacije linearnih sustava, - prozorske funkcije, - spektralna analiza, - transformacije, - statistička obrada signala, - parametrijsko modeliranje, - linearna predikcija, - višetaktna obrada signala i - generiranje valinih oblika.

Alatka ima i GUI sučelje. U GUI-u se može interaktivno projektirati filtere i/ili ih analizirati, projektirati i analizirati prozore, iscrtavati signale i vršiti spektralnu analizu i filtriranje.

Postupci projektiranja analognih filtera koji su uključeni su: Butterworth, Chebyshev i Bessel-ov.

Alatka za obradu signala pruža rutine za projektiranje IIR, IIR analognog filtera i predočavanje (vizuelizaciju) rezultata. Također se može projektirati IIR filtere u diskretnom vremenu iz analognih pandana. Projektiranje, analiza i implementacijski postupci digitalnih FIR i IIR filtera uključeni su u funkcije alatke.

Alatka za obradu signala pruža podršku projektiranju filtara prilagođenu korisniku. Glavne funkcije projektiranja filtera u alatci uključuju 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 naglašavaju digitalni (diskretni) signal kao suprotnost analognim (kontinuiranim). Temeljni tip filtera kojeg podržava 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-pojačanje, sekcije drugog reda) te se mogu prebacivati iz jednog modela u drugi.

Alatka ima brojne funkcije za pretvorbu, uključujući i rešetkastu strukturu ili ljestvičaste dijagrame, a ne samo prijenosnu funkciju, sustave drugog reda i prostor stanja.

Alatka uključuje različite transfromacije i inverzne transfromacije, uključujući Fourier, chirp-Z, diskretnu kosinusnu, Goertzel, Hilbert, Walsh-Hadamard, te STFT (spektrogram). Alatka također uključuje algoritme za procjenu spektralne gustoće snage, što uključuje periodograme, Welch-a, i Yule-Walker-a. Funkcije alatke koje su dostupne su i za estimaciju gustoće spektra snage i estimaciju srednje kvadratne vrijednosti spektra upotrebom pseduo-spektralnih, neparametarskih ili parametarskih tehnika.

Neki od uključenih postupaka su i Burg, kovarijanca, svojstveni vektori, Thomsonov periodogram, Welch, Yule-Walker, i dr. Druge funkcije su dostupne za računanje prosječne snage spektra, računanje jednostranog spektra, pomicanje za DC komponentu od/prema centru spektra, itd.

Alatka za obradu signala sadrži funkcije za računanje korelacija, međukorelacija, kovarijanci i autokorelacija. Pruža mnogo uobičajeno korištenih prozorskih funkcija te ima grafičko sučelje koje omogućuje gledanje i usporedbu prozora i kreiranje filtera uporabom tih prozora.

Page 38: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

33

Alatka uključuje postupke za autoregresivno parametarsko modeliranje: Burg, covariance, Yule-Walker i Steiglitz-McBride (za ARMA modeliranje). Također se mogu naći i funkcije za prijanjanje frekvencijskog odziva na analogni ili filter u diskretnom vremenu.

Također sadrži i funkcije za linearno predviđanje koeficijenata i za konvertiranje između autokorelacija i predviđenih polinoma, refleksijskih koeficijenata i frekvencija linijskog spektra.

U alatku za obradu signala uključene su funkcije za generiranje mnogih periodičkih i aperiodičkih valnih oblika (chirp, Dirichlet, Gaussian RF impuls, Gaussian monopuls, impulsni vlak (tzv. češalj 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 sadrži funkcije koje pomažu u analizi sustava s povratnom vezom: funkcije za simulaciju LTI sustava, podržava i diskretne i kontinuirane sustave, mogu se lako proučavati odziv na jediničnu 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. Statistička alatka

Ova alatka služi za statističku i analizu podataka. Uključuje funkcije načelne raščlambe sastavnica (engl. Principal Component Analysis, PCA), nezavisne analize komponenti (engl. Independent Component Analysis, ICA) te testove značaja (poput chi kvadrat, t-test i sl). Često se koristi u analizi pouzdanosti i dostupnosti sustava.

2.6. Monte Carlo

Monte Carlo simulacija je matematički proces modeliranja. Za neki model koji ima nekoliko parametara s nekim statističkim svojstvima, odabire se skup slučajnih 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 statistička raspodjela rezultata simulacije. Raspodjela rezultata simulacije odgovara na bilo koje postavljeno pitanje. Ovakva simulacija ne zahtjeva veliko predzanje o samom problemu. Jednostavan je način modeliranja kompleksnih stohastičkih sustava. Primjer 2.9: Modelirati sustav molekula prema slici. Brojevi pored strelica pokazuju sklonost sustava za prijelaz iz jednog u drugo stanje. Ako se počne s jednom molukulom (A), kako se ponaša sustav s vremenom. Koristi slučajne brojeve za upravljanje promjenama stanja. Ovaj sustav predstavlja kompleksnu reakciju.

Slika 2.21: Skloposti zadanog sustava

Page 39: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

34

Za rješenje problema ukucajte funkciju u editoru te je spremite kao datoteku u radnom

direktoriju. function s=monte_carlo_molekule(timeSteps); state=0; % počinje 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 može koristiti npr. 10000 puta kako bi se simuliralo ponašanje 10000 molekula. To se postiže nizom: s=zeros(200,5); for n=1:10000 st=monte_carlo_molekule(200); for state=0:4 s(:,state+1)=s(:, state+1)+(st==state); end;end; plot(s(:,1)); figure, plot(s(:,2)); figure, plot(s(:,3)); figure, plot(s(:,4)); figure, plot(s(:,5));

a) b)

0 20 40 60 80 100 120 140 160 180 2000

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

0 20 40 60 80 100 120 140 160 180 2000

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

Page 40: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

35

c) d)

e)

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

4 (E)

0 20 40 60 80 100 120 140 160 180 2000

500

1000

1500

2000

2500

3000

3500

4000

0 20 40 60 80 100 120 140 160 180 2000

500

1000

1500

2000

2500

3000

3500

4000

0 20 40 60 80 100 120 140 160 180 2000

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Page 41: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

36

3. UPOTREBA SIMULINKA U SIMULIRANJU

Simulink je MatLabov program za simulaciju. U Simulink radnom okružju 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, moguće je definirati i korisničke. Pritiskom na znak "+" otvara se željena podgrupa srodnih blokova. Nekada su odmah dostupni blokovi, a nekada postoje dodatne podgrupe koje se na isti način 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 područja komunikacija. Standardni blokovi Simulinka dijele se u podgrupe blokova: - kontinuirani blokovi, - diskretni blokovi, - funkcije i tablice, - matematički blokovi, - nelinearni blokovi, - signali i sustavi, - izlazi i - izvori.

a)

Page 42: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

37

b)

Slika 3.1: Biblioteka blokova Simulink-a: a) izgled starije inačice, b) izgled jedne od novijih inačica

Odabrani element se ili “vuče” ili kopira u ovaj prozor

Ovdje se može pozvati Simulink Library Browser

Slika 3.2: Unos komponenti modela u prozor za Simulinkov model

Otvaranjem određenog izbornika, pojavljuju se blokovi. Otvaranjem kontinuiranih (eng. continuous), može se izabrati: - derivator, - integrator,

Page 43: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

38

- memorija, - prostor stanja, - prijenosna funkcija, - nula-pol, - varijabilno i linearno kašnjenje.

Slika 3.3: Neki važniji blokovi

Željeni blok se mišem povlači u radni prozor (slika 3.2) ili se koriste naredbe copy-paste (kopiraj-zalijepi). Otvaranjem nekog drugog izbornika dostupni postaju drugi blokovi. Ovdje su najznačajniji blokovi prikazani na slici 3.3. To su: - derivator, integrator i prijenosna funkcija iz prvog stupca; - pojačanje i sumator iz drugog stupca; - step i sinusni generatori iz šestog stupca; - grafički izlaz (scope) i brojčani izlaz (display) iz petog stupca.

Na slici 3.3 prikazani su i neki značajniji blokovi za automatiku, kao nelinearni elementi (releji, prekidači, zasićenje ili kvantizator) u trećem stupcu.

Upravljanje simulacijom nije samo uključivanje simulacije i njeno zaustavljanje, nego i podešavanje raznih naprednijih parametara. Pritiskom miša na izbornik "Simulation", dobivaju se opcije za pokretanje ("Start"), zaustavljanje ("Stop") te vrlo važne opcije za podešavanje parametara simulacije ("Parameters").

Pritiskom na lijevo dugme na mišu otvara se prozor za podešavanje parametara simulacije. Standardne opcije su već podešene. Ako je korisnik prije nešto mijenjao, onda su zapamćene trenutne opcije. Iz ovog prozora je najznačajnije podešavanje vremena simulacije. "Start time" označava početni trenutak, a najčešće se uzima 0 [s]. "Stop time" označava završetak simulacije.

Treba napomenuti da je ovdje označeno vrijeme simulacijsko vrijeme, tj. 10 [s] ne traje stvarnih 10 [s], nego kompjutor računa što će se događati sa simuliranim sustavom u stvarnom vremenskom intervalu između "start time" i "stop time". Trajanje simulacije ovisi o

Page 44: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

39

pojedinom računalu, njegovim komponentama i svojstvima i može biti puno brže od stvarnog vremena. To je i bit simulacije. Za mnoge stvarne sustave potrebno je znati kako će se ponašati za 10, 20 ili više godina. Da simulacija traje toliko, ne bi imala smisla.

Ostale opcije za primjenu u ovim vježbama nisu toliko važne, ali su značajne za istraživačke primjene. "Solver options" je način rješavanja zadanog problema, tj. izbor načina na koji će računalo riješiti problem.

a)

b)

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

Page 45: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

40

Slika 3.5: Podešavanje parametara simulacije

Pokretanje simulacije

Zaustavljanje simulacije

Automatsko skaliranje prikaza

Podešavanje osi prikaza

Podešavanje maksimalne i minimalne vrijednosti y osi

Odabir područja za povećanje

Povećanje duž x-osi

Povećanje duž y-osi

Slika 3.6: Podešavanje parametara slikovnog vremenskog prikaza

Na slici 3.6 prikazano je kako se podešavaju 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 uočava dobro. Ako se isti signal gleda na skali do 1 mogu se vidjeti i razni detalji.

Page 46: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

41

Desnim klikom miša dobivaju se opcije koje su trenutno moguće, kao npr. automatsko podešavanje skale ("Autoscale") s čim se postiže 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 odgovarajuću mjeru, dok je ovo povećavanje ili smanjivanje mjernog opsega, kao na instrumentima u laboratoriju, poput digitalnih ili analognih voltmetara.

Pored znaka za pisač, nalazi se znak "Properties", koji služi za pozivanje izbornika opcija. Podešavanje minimuma (Y min) i maksimuma (Y max) na y-osi obavlja se lijevim klikom miša na "Axes Properites".

Vremenski invarijantni linearni sustavi (eng. LTI - linear time-invariant) mogu se modelirati kao: - prijenosne funkcije (eng. transfer function - TF), - nula/pol/pojačanje (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/pojačanje 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 električni RC krug. Simulacijom na elektroničkom računalu potrebno je odrediti promjenu napona na kondenzatoru, uc(t), od trenutka zatvaranja sklopke S.

E

S R

C

Slika 3.7: Istosmjerne RC krug

Postupak pri izradi modela je standardan za sve sustave i sastoji se iz slijedećih koraka: 1. izvođenje diferencijalne jednadžbe, 2. diferencijalna jednadžba piše se na način da je s lijeve strane samo najviša derivacija, 3. crtanje blok dijagrama simulacije, 4. formiranje modela, 5. unošenje modela u računalo i 6. simulacija na računalu. 1. korak: Prema drugom Kirchoffovom zakonu vrijedi: uR(t) + uC(t) = E (3.1)

Page 47: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

42

i(t)⋅R + uC(t) = E

Uvođenjem suspstitucije )()()( tCudttitq C== ∫ slijedi:

( ) ( )

( )dt

duCi

dt

dq C tt

t==

pa se dobiva linearna diferencijalna jednadžba prvog reda s konstantnim koeficijentima:

( )

( ) Eudt

duRC C

C =+ tt

(3.2)

2. korak: Diferencijalna jednadžba piše se na način da je s lijeve strane samo najviša derivacija.

)(11)(

)()(

tuRC

ERCdt

tdu

tuEdt

tduRC

CC

CC

⋅−⋅=

−=

3. - 5. korak: Treći korak je crtanje blok dijagrama simulacije, četvrti je formiranje modela, a peti unošenje modela u računalo. Vježbom se može postići da se sva tri koraka ostvaruju zajedno. Ponekad, kod složenijih problema, može se prvo crtati blok dijagram pa odmah formirati model na računalu, čime je ostvaren i peti korak.

.

.

.

e1

en∫ ++= dttetete nizl )(...)()( 1

a)

.

.

.

e1

en

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

b)

e (t)ul

eizl(t)

c) d)

Slika 3.8: Simboli važnijih elemenata: a) integrator, b) sumator, c) množitelj, d) pojačanje

Page 48: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

43

1/RC

1/RC

uc(t)

Slika 3.9: Model zadanog električnog kruga

Kako je signal (derivacija napona kondenzatora u vremenu) poznat, može se sam napon na kondenzatoru dobiti integriranjem.

Iz zbroja na desnoj strani diferencijalne jednadžbe formira se izraz dt

tduC )( povratnom

vezom. Konstantni faktori uz članove diferencijalne jednadžbe predstavljaju se blokovima pojačanja.

Konačan izgled dijagrama dat je na slici:

Slika 3.10: Model zadanog električnog kruga unesen u Simulinku (umjesto 1/RC unosi se brojčana vrijednost)

Na kraju se unose konačni parametri za R i C, tj. njihov umnožak. 6. korak:

Šesti korak je pokretanje simulacije. S njenim završetkom, iako je simulacija električnog kruga, a s time i ovaj zadatak, gotova, u praksi posao vezan uz projektiranje automatskih sustava tek počinje.

Sada predstoji težak proces analize podataka te traženja optimalnih parametara da bi se udovoljilo zahtjevima naručitelja.

Page 49: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

44

a)

b)

Page 50: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

45

c)

Slika 3.11: Vremenski odziv sustava za različita pojačanja: a) 1, b) 2, c) 0.5

Iz vremenskog odziva sustava vidi se njegovo daljnje ponašanje. Za primjer 1 vremenski odziv prikazan je na slici 3.11 za različite iznose pojačanja. Može se izračunati i analitički:

)(11)(

tuRC

ERCdt

tduC

C −=

Prelaskom u kompleksno područje s pomoću Laplace-ove transformacije, slijedi:

)(1

)(1

)( sURC

sERC

ssU CC −=

)(11

)( sERCRC

ssUC =

+⋅

Prijenosna funkcija sustava W(s) dobiva se na način:

RC

RCs

sERCsUC +

=1

)(1

)(

Page 51: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

46

1

)()(

+=

RCs

sEsU C

)(

)()(

1

1

)(

)(

sE

sUsW

RCssE

sU

C

C

=

+=

Za pojačanje prema slici 3.11.a, τ = RC = 1, pa slijedi:

1

1

1

1)(

+=

+=

sssW

τ (3.3)

Za jediničnu odskočnu (eng. step) funkciju ulaznog napona, slijedi:

sssE

ssEsWsU C

1

1

1)(

1

1)()()( ⋅

+=⋅

+=⋅=

Iz teorije je poznato:

ateTss

L −−=

+1

)1(

1,

a = 1/T, slijedi:

tC etu −−= 1)( (3.4)

3.1. Stabiliziranje sustava

Stabiliziranje nekog nestabilnog sustava može se izvesti dodavanjem: proporcionalnog, proporcionalno-integracijskog, proporcionalno-derivacijskog i proporcionalno-integralno-derivacijskog regulatora.

Sljedeći primjer pokazuje kako pojačanje utječe na stabilnost sustava. Primjer 3.2: Potrebno je stabilizirati sustav zadan prijenosnom funkcijom

ssssW

++=

23 3,0

1)( s negativnom povratnom vezom i pojačanjem (P). Odredite kada je

sustav stabilan, a kada nestabilan.

Page 52: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

47

Slika 3.12: Sustav s negativnom povratnom vezom

Slika 3.13: Odziv sustava sa slike 3.12 u vremenskom području

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 uvećani dio slike 3.12. Iz slike 3.14 vidi se da sustav oscilira s

neznatnim prigušenjem.

Page 53: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

48

Slika 3.14: Uvećani prikaz dijela odziva sustava sa slike 3.12 u vremenskom području

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

Page 54: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

49

Isti sustav može postati nestabilan ako mu se promijeni pojačanje.

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

Sljedeća slika dobija se za naredbe: » br = 1; » naz = [1 0.3 1 0]; » h = tf(br, naz); » bode(h);

Page 55: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

50

Slika 3.18: Bodeov prikaz nestabilnog sustava

U sljedećem slučaju 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

Page 56: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

51

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

Slika 3.21: Združeni prikaz stvarnih Bodeovih dijagrama zadanog sustava

Page 57: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

52

Slika 3.21 dobiva se sljedećim naredbama: » br = 0.15; » naz = [1 0.3 1 0]; » h = tf(br, naz); » figure(1); » hold on; » bode(h); » grid; » clear all; » br = 0.5; » naz = [1 0.3 1 0]; » h = tf(br, naz); » bode(h); » clear all; » br = 1; » naz = [1 0.3 1 0]; » h = tf(br, naz); » bode(h); » clear all; » br = 0.1; » naz = [1 0.3 1 0]; » h = tf(br, naz); » bode(h)

Pojačanje K, za koje je sustav na granici stabilnosti, može se odrediti Hurwitzovim kriterijem stabilnosti. Karakteristična jednadžba sustava dobija se na sljedeći način:

03,0

3,0

3,0

3,0

3,01

3,0

)(1

)()(

3,0

1)(

23

23

23

23

23

23

23

=+++

++

+++

++=

+++

++=

=+

=

++=

Ksss

sss

Ksss

sss

K

sss

Ksss

K

sKG

sKGsW

ssssG

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

3) 3,003,00031213

022 <⇒>−⇒>−==∆ KKaaaa

aa

aa

4) 0)3,0(0203 >−⇒>∆=∆ KKa

To je zadovoljeno u 2 slučaja: - kad je K> 0 i K < 0,3, a to je u intervalu K ∈ 3,0,0 ,

Page 58: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

53

- kad je K < 0 i K > 0,3. To znači da se odabirom pojačanja 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 raščlanjuju u niz jednostavnijih sustava kako bi se olakšalo njihovo proučavanje. 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 pomoću njih mogu opisati svi složeni sustavi.

Član nultog reda je pojačanje. U električnim krugovima predstavnih P0 člana je potenciometar. Potenciometar je električni otpornik kojemu se može mijenjati električni otpor.

Proporcionalni član nultog reda (P0) je sustav čija se dinamika može općenito prikazati jednadžbom: )()( 00 txbtya = (3.5)

gdje su:

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

Page 59: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

54

Dakle, opisuje se obično algebrom, a ne diferencijalnim jednadžbom. Vremenski odziv na odskočnu (step) pobudu xu(t) = u(t) je:

Ka

bty

sa

bsYtu

a

bty ==⇒=⇒=

0

0

0

0

0

0 )(1

)()()(

a)

b)

Page 60: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

55

c)

Slika 3.23: Vremenski odziv P0 člana: a) podešavanje parametara step generatora, b) odziv za K =1, c) odziv za K = 2

Zadatak za vježbu:

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 električni krug istosmjerne struje napona 10 (V) i potenciometra od 1 (kΩ).

3.3. Vremenski odziv P1 člana

P1 član predstavlja inercijalno kašnjenje. U električnim krugovima tispični predstavnik P1 člana je RC krug, tj. jednostavni filter.

Proporcionalni član prvog reda (P1) je sustav čija se dinamika može općenito prikazati jednadžbom:

)()()(

001 txbtyadt

tdya =+ (3.6)

gdje su:

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

Page 61: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

56

Vremenski odziv na odskočnu (step) pobudu x(t) = u(t) = 1 je:

( )

1)(,,

1)()(

1)(

1)()()(

0

0

0

1

/

01

0

0001

===

−=

+=

==+

txa

bK

a

a

etKxty

asa

b

ssY

sbsXbsYassYa

t

τ

τ

Iz odziva sustava vidljiva je glavna karakteristika P1 člana: vremensko kašnjenje za

kojim izlazna veličina prati ulaznu. To kašnjenje je opisano vremenskom konstantom τ. U električnim krugovima je to vrijeme prijelazne pojave (npr. punjenja ili pražnjenja kondenzatora kako bi došao u "puno" ili "prazno" stacionarno naponsko stanje). Kako se brzina promjene s vremenom smanjuje, izlazna funkcija će u vremenu t = τ doseći tek 63,2% ulazne funkcije. Iako teorijski izlazna veličina nikad ne dostiže ulaznu, u praksi se smatra da je prijelazna pojava završena nakon vremena t = 5τ.

P1 član susreće se često u regulacijskim krugovima. Takav član je, npr. termometar koji mjeri temperaturu prostorije. Da bi se termometar zagrijao na temperaturu prostorije potrebno je pričekati određeno vrijeme. Brzina prijenosa topline razmjerna je razlici temperatura prostorije i termometra. U početku zagrijavanja ta će brzina biti veća i postupno će se smanjivati kako se termometar zagrijava. I ovo je funkcija koja se asimptotski približava stacionarnoj vrijednosti po eksponencijalnom zakonu izvedenom za općeniti slučaj na početku vježbe.

Slika 3.24: Vremenski odziv P1 člana (iz slike se može odrediti vremenska konstanta τ = 1 s - tu je odziv dostigao 63% konačne

vrijednosti) Zadatak za vježbu: 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), napišite diferencijalnu jednadžbu koja opisuje krug. Napomena: uzeti da je U = 0 [V] za t < 0, U = 10 [V] za t ≥ 0.

Page 62: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

57

2. Na temelju te diferencijalne jednadžbe nacrtajte blok dijagram simulacije. 3. Simulirajte model na računalu, u EWB-u i Simulink-u. Usporedite rezultate. 4. Iz odziva na računalnom monitoru odredite vremensku konstantu. 5. Precrtajte na milimetarski papir odziv za sustav s R = 500 [kΩ]. 3.4. Vremenski odziv P2 člana

Mehanički i električni P2 član prikazani su na slici 3.25. Električni član je, npr., serijski RLC krug. Moguće su i drukčije izvedbe. Mehanički P2 član sastoji se iz tijela mase m, opruge krutosti k i prigušivača s prigušenjem B.

0,0

m

k

B

y

x

F0

R L C

u(t)

a) b)

Slika 3.25: Neke od izvedbi P2 člana: a) mehanički, b) električni

U trenutku t = 0 na sustav, preko tijela mase m, počinje djelovati sila stalnog iznosa

F0. Zbog toga se mijenja položaj mase i opruga se sabija. Sila kojom opruga djeluje na tijelo suprotnog je smjera od sile F0 i veća je što je tijelo dalje od ishodišta koordinatnog sustava. U određenom trenutku te dvije sile će biti jednake, ali će se tijelo, zbog inercije, i dalje kretati tako da sabija oprugu. Sila opruge postat će veća od vanjske sile te će se tijelo postupno zaustaviti i započet će gibanje u suprotnom smjeru, tj. prema ishodištu i u točki u kojoj su sile jednake tijelo će zbog inercije nastaviti kretanje u započetom smjeru, rastezat će oprugu te će sila F0 prevladati silu opruge i čitav će se proces ponoviti. Tijelo će, dakle, oscilirati oko ravnotežnog položaja. Energija se u ovom sustavu pretvara iz kinetičke energije mase u potencijalnu energiju opruge i obrnuto. Kako se dio energije u prigušivaču pretvara u toplinu i gubi iz sustava, nakon određenog vremena tijelo će se smiriti u ravnotežnom položaju u kojem su sila opruge i vanjska sila jednake. Opisani slučaj je slučaj prigušenih oscilacija te se P2 član naziva i oscilacijskim članom. Matematički opis tih dinamičkih pojava dobiva se primjenom D'Alambertova načela po kojem je zbroj svih vanjskih sila na tijelo jednak sile tromosti tog tijela.

xmfn

ii &&=∑

=1

(3.7)

01

=−∑=

xmfn

ii &&

Page 63: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

58

kB ffFdt

txdm ++= 02

2 )(

02

2

02

2

)()()(

)()()(

Ftkxdt

tdxB

dt

txdm

tkxdt

tdxBF

dt

txdm

=++

−−=

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 jednadžba je linearna diferencijalna jednadžba drugog reda. Analogni rezultat se može dobiti za bilo koji sustav drugog reda, bilo da je riječ o mehaničnom, električnom ili pneumatskom P2 članu.

Kod električnog kruga koji ima oba reaktivna elementa (kondenzator i zavojnicu), električna energija akumulirana u kondenzatoru prelazi u magnetsku energiju zavojnice. Po zakonu o očuvanju energije, ukupna energija sustava ne može se promijeniti. To znači da smanjivanje električne energije vodi odgovarajućem porastu magnetske energije. Kada ne bi bilo električnog otpora, izmjena energije iz električne u magnetsku i obrnuto bi se odvijala beskonačno dugo. To bi bile neprigušene 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 prigušenja, jer se sva energija disipirala u toplinu na otporniku.

Serijski RLC krug može se opisati drugim Kirchhoffovim zakonom:

)()()()( tutututu CLRu ++=

2

2 )()(

1)()(

dt

tqdLtq

Cdt

tdqRtuu ++= (3.8)

gdje su:

• L - induktivitet zavojnice, • C - kapacitet kondenzatora, • R - električni otpor, • uu1 - narinut napon.

Općenito se za bilo koji P2 član može pisati:

)()()()(

0012

2

2 txbtyadt

tdya

dt

tyda =++ (3.9)

gdje su: • y - izlazna veličina, • x - ulazna veličina,

Page 64: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

59

• a2, a1, a0, b0 - konstantni parametri sustava. Kakav će biti oblik odziva ovisi o parametrima sustava i njihovim međusobnim

odnosima. Kako bi se olakšala analiza uvode se nove veličine: • ωn - neprigušena vlastita frekvencija sustava, • ζ - koeficijent prigušenja, • kp - pojačanje ili prijenosni omjer, a koje se dobivaju dijeljenjem gornje jednadžbe s

a0:

20

2 1

na

a

ω=

na

a

ω

ζ2

0

1 = pka

b=

0

0

Opća jednadžba P2 člana tada glasi:

)()()(2)(1

2

2

2txkty

dt

tdy

dt

tydp

nn

=++ω

ζ

ω (3.10)

Neprigušena vlastita frekvencija sustava, ωn, je frekvencija kojom bi sustav titrao oko

ravnotežnog položaja kada u sustavu ne bi bilo gubitaka energije, odnosno prigušenja. Gubitke energije opisuje koeficijent prigušenja ζ. Što je koeficijent prigušenja veći, sustav će se prije smiriti u stacionarnom stanju i titrat će manjom frekvencijom. Frekvencija prigušenog titranja sustava, ωp, dana je relacijom:

21 ζωω −= np (3.11)

Slika 3.26: Vremenski odziv za različite koeficijente prigušenja ζ

Page 65: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

60

Kod P2 člana razlikuje se 5 slučajeva odziva u ovisnosti o koeficijentu prigušenja, ζ: ζ > 1 aperiodski, ζ = 1 granično aperiodski, 0 < ζ < 1 prigušeno oscilacijski, ζ = 0 neprigušeno oscilacijski i ζ < 0 raspireno oscilacijski.

Zadatak za vježbu: 1. Za mehanički sustav sa slike 3.25a poznate su vrijednosti: m = 20 [kg], B = 30 [kg/s], k = 40 [kg/s2]. U početku promatranja sustav se nalazi u stanju mirovanja. U trenutku t = 0 [s] na sustav počinje djelovati sila: F0 = 20 [N]. Odredite koeficijent prigušenja sustava i neprigušenu vlastitu frekvenciju. Podatke uvrstite u opću jednadžbu P2 člana. Riješite jednadžbu primjenom Laplaceove transformacije. Dobivenu vremensku funkciju x(t), koja opisuje položaj mase, nacrtajte na milimetarskom papiru. 2. Prema dobivenoj diferencijalnoj jednadžbi nacrtajte blok dijagram simulacije. 3. Simulirajte model na računalu. Usporedite izračunati odziv iz 1. zadatka i odziv na monitoru. 4. Simulirajte ponašanje sustava za vrijednost koeficijenta viskoznog trenja (B) prema

tablici. Za svaki slučaj izračunajte ζ, a ωp odredite približno iz odziva na ekranu (p

p T

πω

2= , a

TP je period oscilacija očitan s ekrana računala). Komentirajte ponašanje sustava.

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

ζ

ωp 3.5. Vremenski odziv složenih sustava

Složeni 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 jednadžbu koja opisuje sustav. U Simulinku se može upisati prijenosna funkcija u gotov blok za prijenosnu funkciju. Ako se želi simulirati sustav iz diferencijalne jednadžbe, a zadana je prijenosna funkcija, do diferencijalne jednadžbe može se doći na dva načina: a) izravno

Za npr. )1(

)(+

=Tss

KsG , odziv sustava određen je izrazom: Y(s) = G(s)X(s) te se izravno

dobiva diferencijalna jednadžba sustava:

)()()(

)()1()(

)()1(

)(

2 sKXssYsYTs

sKXTsssY

sXTss

KsY

=+

=+

+=

)(1

)()(2 ssYT

sXT

KsYs −=

Page 66: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

61

Pošto je s2Y(s) Laplaceova transformacija druge derivacije y(t), a sY(s) Laplaceova

transformacija prve derivacije y(t), gornja jednadžba u vremenskom području glasi:

dt

tdy

Ttx

T

K

dt

tyd )(1)(

)(2

2

−=

Dijagram simulacije lako je nacrtati.

Slika 3.27: Blok dijagram prijenosne funkcije dobiven izravnim postupkom b) rastavljanjem na osnovne blokove

Prijenosna funkcija )1(

)(+

=Tss

KsG može se predstaviti umnoškom dviju prijenosnih

funkcija G1(s) i G2(s), gdje su Ts

KsG

+=

1)(1 i

ssG

1)(2 = , te je:

sTs

KsGsGsG

1

1)()()( 21 ⋅

+==

Umnožak 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, može se pokazati na način:

)()(1

)( 11 tydttyTT

Ktx =

−∫ /⋅

Page 67: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

62

)()(1)(

11 sYs

sY

Ts

sX

T

K=−

s

sX

T

K

TssY

)(1

1)(1 =

+

11)(

)(1

+=

+=

Ts

K

Ts

TsTs

K

sX

sY

Složeni 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

G1(s) = K, ( )1

)(2+

=sTs

KsG

m

m (prijenosna funkcija elektromotora). Da bi se napravio model

ovog regulacijskog kruga, potrebno je nacrtati blok dijagram simulacije za svaki blok posebno, a zatim ih povezati prema blok dijagramu regulacijskog kruga. 1. blok: Y1(s) = K X(s)

2. blok: )(1

)()(2 ssYT

sXT

KsYs

mm

m −=

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

-

Y (s)1

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

Slika 3.30: Blok dijagram simulacije

Zadatak za vježbu: 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. Napišite model prema tom blok dijagramu.

Page 68: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

63

2. Simulirajte odziv sustava bez povratne veze na jediničnu odskočnu funkciju (step). Skicirajte i opišite odziv sustava. Da li je sustav stabilan? 3. Simulirajte odziv sustava s jediničnom negativnom povratnom vezom uz istu ulaznu funkciju. Skicirajte i opišite odziv sustava u ovom slučaju. Da li je sustav stabilan? Komentirajte utjecaj negativne povratne veze na odziv sustava. 4. Simulirajte sustav povećavajući vrijednost pojačanja K. Kako pojačanje utječe 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 izvršni član te regulator. a) Regulacijski objekt u ovom krugu je peć za sušenje materijala. Regulirana veličina u regulacijskom objektu je temperatura. Kako je zahtjev tehnološkog procesa da se materijal u peći suši na istoj temperaturi tokom dužeg vremenskog razdoblja osnovni zadatak regulacijskog kruga je održavanje stalne temperature unutar peći. Peć se zagrijava izgaranjem tekućeg goriva. Temperatura unutar peći ovisi o količini izgorenog goriva u jedinici vremena. Ulazna veličina u regulacijski objekt je, prema tome, dotok goriva u jedinici vremena (q(t)), a izlazna veličina temperatura u peći (υp). Oblik prijelazne funkcije određen je eksperimentom.

Slika 3.31: Regulacijski krug

Prijenosna funkcija koja odgovara sustavu sa slike je:

( )31)(

s

KsG

τα

+=

gdje je Kα = 529l

o hC ⋅ (prijenosni omjer) i τ = 42,86 s (vremenska konstanta).

Page 69: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

64

Na regulacijski objekt djeluju, kao poremećajne veličine, 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 priječi izmjena energije između peći i okoline u ovom će se primjeru utjecaji promjene vanjske temperature zanemariti.

Slika 3.32: Oblik prijelazne funkcije peći b) Regulacijski uređaji 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 vrši kompenzaciju pogreške u mjerenju nastale zagrijavanjem same otporne niti. M0 je P1 član, dok su MP1 i MP2 P0 članovi. Prijenosna funkcija mjernog člana je:

s

KG

mčmč

τ+=

1

gdje su: Kmč = 2,5 mV/°C (prijenosni omjer) i τmč = 0,5 s (vremenska konstanta). Davač nazivne vrijednosti Ovaj uređaj služi operateru za zadavanje željene vrijednosti temperature u peći koju će regulacijski uređaji u krugu održavati konstantnom. Davač nazivne vrijednosti na izlazu postavlja naponski signal U0 koji odgovara željenoj temperaturi.

Page 70: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

65

Usporednik (komparator) Usporednik uspoređuje 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 način postigne optimalno regulacijsko djelovanje. Prema vremenskom članu kojeg sadrži, regulatori mogu biti proporcionalani (P), integracijski (I), derivacijski (D), proporcionalno-derivacijski (PD), proporcionalno-integracijski (PI) i proporcionalno-integralno-derivacijski (PID). U procesnoj regulaciji najčešće se koriste P i PI regulatori. U ovom primjeru koristi se P regulator. Regulacija procesa s izjednačenjem, kakav je i ovaj proces, korištenjem P regulatora karakteristična je po trajnom regulacijskom odstupanju e(∞). Izvršni član Izvršni član se sastoji od električnog pojačala (P), električnog motora (PM) i postavnog člana (PČ). Električno pojačalo pojačava naponski signal Ui u signal dovoljne snage za pokretanje električnog motora. Električni motor pretvara električnu energiju u mehaničku kojom pokreće postavni član. Postavni član je ventil kojim se propušta ogrijevna materija u peć. U odnosu na vremenska kašnjenja u ostalim dijelovima regulacijskog kruga kašnjenja u blokovima izvršnog člana su zanemarivo mala pa se ovaj član može predstaviti P0 članom:

Gič (s) = Kič

gdje je Kič = 8 ⋅ 10-4 mVh ⋅

l

a)

Page 71: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

66

b)

Slika 3.33: Strukturni (a) i blok dijagram (b) regulacijskog kruga Stabilnost sustava u odnosu na poremećaj napajanja ispituje se u dinamičkim uvjetima rada. Pri tome se promatraju promjene veličina u krugu, a ne njihove apsolutne vrijednosti. Zadatak za vježbu 1. Na temelju blok dijagrama regulacijskog kruga i prijenosnih funkcija pojedinih blokova napišite ukupnu prijenosnu funkciju regulacijskog kruga. Koristeći Routh-ov kriterij stabilnosti odredite pojačanje regulatora Kr za koje će sustav biti stabilan. 2. Nacrtajte blok dijagram simulacije za zadani regulacijski krug. Napišite model ovog kruga koristeći blok dijagram simulacije. 3. Simulacijom na računalu ispitajte ponašanje sustava pri poremećaju napajanja od qz = 0,01 l /h. Za Kr odaberite srednju vrijednost u dozvoljenom području. Skicirajte i opišite odziv sustava. Koliko je regulacijsko odstupanje? 4. Za Kr postavite vrijednosti 0 (sustav je bez povratne veze). Simulirajte odziv sustava pri poremećaju napajanja qz = 0,01 l /h. Skicirajte i opišite sustav. Koliko je trajno regulacijsko odstupanje u ovom slučaju? 5. Odaberite nekoliko vrijednosti pojačanja Kr ravnomjerno raspoređenih unutar dozvoljenog područja. Simulirajte sustav za svaki Kr i izmjerite trajno regulacijsko odstupanje. Komentirajte utjecaj pojačanja regulatora Kr na trajno regulacijsko odstupanje i na dinamičko vladanje kruga. 6. Povećajte pojačanje Kr iznad dozvoljene veličine. Opišite što se događa s temperaturom unutar peći. 3.7. Servomotor

Upotreba servomotora je iznimno raširena. Skoro sve što zahtjeva precizne pokrete pokreće 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 pojačalo 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 jednadžbom: ut (t) = Ktω (t) (3.12) Blok dijagram je prikazan na slici 3.34. Tablica 3.1 prikazuje tvorničke parametre tipičnog servomotora.

Page 72: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

67

Slika 3.34: Blok dijagram istosmjernog motora

Tablica 3.1: Tvornički parametri tipičnog 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:

( )( )

( )( )

( )m

mbm

m

m

mb

m

mm

m

mbm

m

mbm

m

m

mbm

m

m

mmb

mm

R

KKBJsR

K

R

KKBJs

K

RK

K

KKBJsR

K

KKBJsR

K

BJsR

KKBJsRBJsR

K

BJs

RKK

BJs

RK

sH

++

⋅=

++⋅

=⋅++

=

=++

=

+

++

+=

++

+=

11

/1

/

)(

uz m

mbx R

KKBK += slijedi:

Page 73: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

68

+

⋅=

+

⋅=

1

1

1

1)(

sK

JKR

K

sK

JK

R

KsH

x

xm

m

xx

m

m (3.13)

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

1

)(+

=s

KsH

τ (3.14)

gdje je K istosmjerno pojačanje, a τ vremenska konstanta. Za podatke iz tablice slijedi:

==

VsKR

KK

xm

m 1515,35

[ ]

1010933,0

515,35)(

933,10/

+=

=+

=

ssH

msRKKB

J

mmb

τ

.

Ovaj sustav se može voditi s pomoću:

a) proporcionalnog regulatora i b) proporcionalno-integracijskog regulatora.

3.7.1. Vođenje istosmjernog stroja proporcionalnim regulatorom

Proporcionalni regulator stvara aktuatorski signal razmjeran signalu pogreške. Za ovaj

istosmjerni motor, zakon vođenja stoga glasi: um(t) = Kp(ωd(t) - ω(t)) (3.15) gdje su ωd željena brzina motora i Kp proporcionalno pojačanje. Kako je:

ut(t) = Ktω(t)

slijedi da se željeni izlazni napon tahometra može izraziti kao:

ud(t) = Ktωd(t) i dobiva se zakon upravljanja:

( ))()()( tutuK

Ktu td

t

pm −= (3.16)

Uzimajući da je slijedi da je prijenosna funkcija zatvorene petlje:

)(1

)()(

'

'

sHK

sHKsW

p

p

+=

Page 74: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

69

1515,351011,0

515,351

515,35

1515,35011,0

515,35

1011,0

515,35011.011011,0

515,35

1011,0

515,351

1011,0515,35

)(

'

'

'

'

'

'

'

'

'

++

+=

+⋅+=

=

+

⋅++

+⋅

=

+⋅+

+⋅

=

sK

K

K

Ks

K

s

Kss

K

sK

sK

sW

p

p

p

p

p

p

p

p

p

gdje je vremenska konstanta 1515,35

011,0' +

=pK

τ .

U (s)dK’

PH(s)

U (s)t

-

W(s)

a)

b)

c)

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

Page 75: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI

3.7.2. Vođenje istosmjernog stroja PI regulatorom

U PI regulatoru postoji dodatni signala pogreške. PI zakon vođ

Zbog dodatnog člana prijenosna funkcija je sada drugog reda i to ne jednostavna, jer

ima i nul točku. Na isti način kao i kod proporcionalnog regulatora funkcija zatvorene petlje:

( )

( p

Ip

ss

sKssss

KsK

sW

011,0(

1011,0(011,0(

35

1)(

++

+

=

=

U (s)d

-

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

enje istosmjernog stroja PI regulatorom

U PI regulatoru postoji dodatni član u signalu aktuatora, koji je razmjeran integralu pogreške. PI zakon vođenja za istosmjerni motor je:

( ))()()( sss

KKsU d

Ipm ωω −

+=

lana prijenosna funkcija je sada drugog reda i to ne jednostavna, jer ku. Na isti način kao i kod proporcionalnog regulatora dobiva se prijenosna

) ( )p

p

I

Ip

Ip

sKs

KsK

s

Ks

ss

KsKss

KsK

sHsK

sHsK

515,351011,0

515,35515,35

1

515,35)1

515,35

1011,0

515,351

1011,0

515,35

)()(1

)()(

2 +++

+=

+

+

+

=

+⋅

++

+⋅

+

=+

s

KK I

P

'' + )(sH

a)

b)

70

lan u signalu aktuatora, koji je razmjeran integralu

(3.17)

lana prijenosna funkcija je sada drugog reda i to ne jednostavna, jer dobiva se prijenosna

I

I

K

K

515,35

U (s)t

W(s)

Page 76: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

71

c) d)

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

Zadaci za vježbu: 1. Proračunajte proporcionalni regulator tako da vremenska konstanta prijenosne funkcije zatvorene petlje bude τ = 0,005 (s). 2. Simulirajte vođenje istosmjernog motora proračunatim proporcionalnim regulatorom. Precrtajte odziv na jediničnu odskočnu funkciju (može i copy-paste iz Matlaba). 3. Mijenjajte vrijednosti Kp’. Da li istosmjerno pojačanje ovisi o Kp’? 4. Koristeći se Simulink-om, mijenjati parametre PI regulatora tako da prebačaj bude što bliže

20% u trenutku 0,005 (s). Za PI regulator iz zadatka vrijedi: cs

bassK

+=)( .

5. Uzmite nekoliko proizvoljnih kombinacija parametara a, b i c te skicirajte rezultate za Mp i Tp. Skicirajte odziv za svaki slučaj.

Page 77: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

72

4. SLOŽENI PRIMJERI MODELIRANJA I SIMULIRANJA U MATLAB/SIMULINK PROGRAMSKOM PAKETU

U ovom poglavlju dani su primjeri naprednog korištenja 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 više 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 znači da Matlab služi i za upravljanje stvarnim sustavima, a ne samo za proračun, obradu podataka i simuliranje. Stoga prvo i drugo potpoglavlje obrađuju dva takva primjera. Naravno, primjeri se mogu izvoditi ako dostupna licenca ima odrežene skupove blokova (tzv. blockset). 4.1. Realizacija Simulink modela na DSP kartici

Kada se već izsimulira i projektira model sustava upravljanja kakav je potreban, poželjno ga je testirati i u stvarnosti. Jedan od načina 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”. Isključite “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 izvršava 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 način dohvata slike. Slika se treba prenijeti u neki od formata koje podržava Matlab, poput strukture ili matrice. Da bi znali koji su video adaptori dostupni na nekom računalo, 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'.

Page 78: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

73

Acquisition Source(s): input1 is available. Acquisition Parameters: 'input1' is the current selected source. 10 frames per trigger using the selected source. 'YUY2_1280x720' video data to be logged upon START. Grabbing first of every 1 frame(s). Log data to 'memory' on trigger. Trigger Parameters: 1 'immediate' trigger(s) on START. Status: Waiting for START. 0 frames acquired since starting. 0 frames available for GETDATA.

Da bi se dohvatila slika s kamere, potrebno je definirati video objekt (videoinput), a onda ta očitanja učitati u neki Matlabov format (getsnapshot). Kada se definira video objekt, moguće je prikazati sliku s kamere bez učitavanja u varijablu i bez memoriranja (preview). Slika 4.1 prikazuje jedan primjer takvog pogleda dobiven sljedećim naredbama:

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

Slika 4.1: Primjer prikaza videa s kamere bez memoriranja

Page 79: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

74

Da bi se sa slikama moglo bilo što raditi (otkrivanje rubova, pokreta, prepoznavanje objekata i sl.), potrebno je dohvatiti sliku i upisati je u neku varijablu. Za većinu algebarskih operacija potrebna je varijabla dvostruke preciznosti (double). Dohvat s učitanjem u varijablu može se postići 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 može dohvatiti i u Simulinku izborom odgovarajućih blokova (uz uvjet da posjedujete licencu za odgovarajući 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, između dva bloka se postavlja odgovarajući niz različitih blokova.

Slika 4.3: Najjednostavniji Simulink model za dohvat i prikaz slike

Page 80: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

75

Ako se klikne na blok za dohvat slike, otvori se izbornik, koji pruža izbor video

formata, kamere i drugih mogućnosti. Ako se u spomenutom izborniku klikne na Preview, pokazuje se slika kakva stiže s

kamere. To je prikazano na slici 4.4.

Slika 4.4: Prikaz slike dohvaćene s kamere

Kada se pokrene model, tada se otvara novi grafički prozor, koji prikazuje krajnji rezultat djelovanja modela (Slika 4.5). Kod nekih kamera, otvara se i izbornik kamere, kojim se mogu podešavati razne opcije, kao kontrast, pozadinsko svjetlo, boja, i sl.

Slika 4.6. prikazuje jednostavni primjer otkrivanja kretnji dostupan u pomoći (Help) za alatku računalnog 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 naglašava kvadrant crvenom bojom. Bolje, ali i sporije bi bilo imati više djelova slike. Ulaz u model je snimljena datoteka, što znači da se kretnja detektira off-line. Iza bloka za ulaz video podataka, signal dolazi do bloka SAD, koji je sastavljen od više jednostavnih blokova. Usporedbom se označava kvadrant s kretnjom, jer je on veće energije od zadanog praga (blok Motion Threshold).

Page 81: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

76

Slika 4.5: Prikaz slike nakon djelovanja modela

Slika 4.6: Simulink model otkrivanja kretnji

Model sa slike 4.6 može se modificirati za primjenu u realnom vremenu (on-line). Jedan takav primjer prikazan je na slici 4.7 i koristi integriranu kameru s laptop računala. Umjesto unosa video niza, stavlja se blok za kameru (From Video Device). Kako predložak iz Matlaba koristi sivu sliku, potrebno je RGB ulaz s kamere transformirati u sivu mapu (RGB to intensity).

Page 82: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

77

Slika 4.7: Otkrivanje kretnji u realnom vremenu – model u Simulinku

4.3. Upravljanje sustavom dva spremnika

Za ovaj primjer je potrebno imati alatku za robustno upravljanje (Robust Control Toolbox) u kojoj se nalazi predložak 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 viškom iz gornjeg spremnika (spojen na dno donjeg spremnika). Cilj upravljanja je podešavanje temperature vode u oba spremnika.

Slika 4.8: Sustav dva spremnika kojim se upravlja

AD

On-line otkrivanje kretnji - modificiran Matlab

Intensity

Intensity

SAD

AD

Sum of

Absolute

Differences>

Quadrant Motion

Estimates

Detect

Image

Preglednik-video prozor

1.7e4/512

Prag kretnje

po_potrebi mijenjati

nazivnik

1

Integrated W...

YUY2_1280x720

input1

From Video Device

R'G'B' to

intensity

Color Space

Conversion

Motion Energy

Detect

Page 83: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

78

Varijable spremnika označene su na sljedeći način: 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 površine spremnika 1, h1 - razina vode spremnika 1, t1 - temperatura spremnika 1, t2 - temperatura spremnika 2, A2 - presjek površine 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 unošenju vrijednosti. Obično se definiraju normalizirane jedinice. U ovom slučaju definirane su prema tablici 4.1.

Tablica 4.1: Normalizirane jedinice u sustavu s dva spremnika

Varijabla Ime jedinice „0“ znači: „1“ znači:

Temperatura tunit temperatura hladne vode temperatra tople vode Visina hunit prazan spremnik pun spremnik

Tok funit tok nultog ulaza maksimalni ulazni tok

Upotrebom normaliziranih jedinica, slijede postavke objekta upravljanja: »A1 = 0.0256; % Površina spremnika 1 (hunits^2) »A2 = 0.0477; % Površina 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 izražen 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 postiže se linearizacijom oko radne točke: »h1ss = 0.75; % Razina vode spremnika 1

Page 84: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

79

»t1ss = 0.75; % Temperatura spremnika 1 »f1ss = (h1ss+beta)/alpha; % Tok spremnika 1 -> spremnika 2 »fss = [th,tc;1,1]\[t1ss*f1ss;f1ss]; »fhss = fss(1); % Vrući 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 jediničnu koračajnu 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;

Page 85: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

80

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

Slika 4.10: Odziv na jediničnu koračajnu pobudu spremnika 2

4.3.2. Model aktuatora

U aktuatorima se javljaju dinamike i zasićenja. U korištenom frekvencijskom opsegu, aktuatori se mogu aproksimirati sustavom prvog reda sa saturacijom brzine i amplitude. Ograničenje brzine ograničava izvedbu aktuatora više nego položaj. Za linearni model, neki učinci ograničenja brzine mogu biti uključeni 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 ograničilo 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');

Page 86: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

81

Slika 4.11: Bodeov dijagram za aktuator ventila

4.3.3. Protupreklapajući (Anti-Aliasing) filtri

U ovom primjeru svi mjereni signali se filtriraju s Butterworth-ovim filterima četvrtog reda, svaki s graničnom frekvencijom 2,25 Hz. Naredbom filter vrši se filtriranje signala. Kako bi se definirao filtar, koristi se naredba mkfilter (engl. make filter, konstruiraj filtar). »fbw = 2.25; % Protupreklapajući 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 znači da je linearni model dobar na niskim frekvencijama. Ako se to zanemari prilikom projektiranja, kontroler će loše raditi u stvarnom sustavu. Stoga je potrebno izraditi model nesigurnosti koji pogađa našu procjenu nesigurnosti fizičkog sustava.

Kako veličina nesigurnosti modela i varijabilnost tipično ovise o frekvenciji, model nesigurnosti mora uključivati težinske funkcije ovisne o frekvenciji kako bi se normalizirao model preko svih frekvencija.

Eksperimenti s otvorenom petljom ukazuju na značajnu dinamičku nesigurnost u odzivu t1. To je zbog miješanja hladnih i toplih voda i gubitka topline. Može se modelirati kao multiplikativni model greške Delta2 na t1 izlazu, dok se multiplikativni model greške Delta1 i Delta3 pridaju izlazima h1 i t2.

Page 87: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

82

Slika 4.12: Uvođenje nesigurnosti u regulacijski krug

Slika 4.12 prikazuje mjesta unosa grešaka u model. Kako bi se dovršio model nesigurnosti, mora se kvantificirati koliko su velike greške

modeliranja u funkciji frekvencije. Kako je to teško 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. Takođe je prisutan značajan pad pojačanja na toj frekvenciji. Ti učinci dolaze iz nemodelirane dinamike miješanja. Kod t2 nesigurnost prevladava iznad 0,03 Hz. Ovi podaci sugeriraju granice frekvencija za modeliranje granica pogreški 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 greški modeliranja') »legend('h1 dynamics','t1 dynamics','t2 dynamics','Location','NorthWest') % Normalizirana dinamika greški »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;

Page 88: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

83

Slika 4.13: Granice greški modeliranja

Sada je potrebno slučajnim odabirom uzorkovati nesigurnost kako bi se shvatilo kako greške modeliranja utječu na odziv. »step(spremnik1u,1000) »title('Varijabilnost odziva zbog pogreški modeliranja (spremnik 1) ')

Slika 4.14: Varijabilnost odziva zbog greški modeliranja spremnika 1

Page 89: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI

4.3.5. Projektiranje kontrolera

Cilj simuliranja je pratiti naredbe zaalgoritma, mora se formulirati sustav koji minimizira pojaizabiru težinske funkcije koje odgovaraju poremeodgovarajućih frekvencijski-ovisnih komponenti.

Slika 4.15: Shema odgovaraju

Potrebno je odabrati težinske faktore senzorskih šumova,

praćenje greški i aktuatora. Obiodnosu na relativnu dinamiku ostatka sustavaizvori šuma uključuju elektroničšum lošeg uzemljenja, zračenje, i dr. Da bi se estimiralo razinu šuma, koristi se se tako dobivaju težinske vrijednosti. Sljedepenalizacije greški 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 greške ovisna o frekvenciji»legend('t1','t2')

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

Projektiranje kontrolera

ratiti naredbe za t1 i t2. Kako bi se iskoristile prednosti mora se formulirati sustav koji minimizira pojačanje u zatvorenoj petlji. Stoga se

izabiru težinske funkcije koje odgovaraju poremećajima i potrebne su za normalizaciju ovisnih komponenti.

Shema odgovarajuće prijenosne funkcije za problem 2 spremnikatežinskom faktorima

odabrati težinske faktore senzorskih šumova, naredbi za postavljanje toObično se pretpostavlja da je dinamika senzora zanemariva u

odnosu na relativnu dinamiku ostatka sustava. To nije točno za šum senzora.uju elektronički šum u termoparovima kod kompenzatora, poja

čenje, i dr. Da bi se estimiralo razinu šuma, koristi se tako dobivaju težinske vrijednosti. Sljedećim programskim linijama dobiva se odnos

penalizacije greški o frekvenciji:

; Penalizacija greške ovisna o frekvenciji');

84

Kako bi se iskoristile prednosti H∞ anje u zatvorenoj petlji. Stoga se

ajima i potrebne su za normalizaciju

spremnika s uračunatim

naredbi za postavljanje točki, inamika senzora zanemariva u

no za šum senzora. Potencijalni parovima kod kompenzatora, pojačala i filtera,

enje, i dr. Da bi se estimiralo razinu šuma, koristi se FFT analiza te im programskim linijama dobiva se odnos

Page 90: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

85

Slika 4.16: Frekvencijska karakterisitka greške postavljene točke zbog šuma

Kako glavnina vode koja teče u spremnik 2 dolazi iz spremnika 1, izmjene u t2 su dominantne. Također se za t2 obično zadaje vrijednost blizu t1. Stoga ima više smisla koristiti podešavanje 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. Odgovarajuće vrijednosti težinskih faktora su: »Wt1cmd = 0.1; % za t1 »Wtdiffcmd = 0.01; % za t2 - t1

Također je potrebno učitati penalizacije za hladnu i vruću vodu i brzine aktuatora: »Whact = 0.01; % Penalizacija za aktuator vruće vode »Wcact = 0.01; % Penalizacija za aktuator hladne vode »Whrate = 50; % Penalizacija brzine toplog aktuatora »Wcrate = 50; % Penalizacija brzine hladnog aktuatora

Izrada modela otvorene petlje s težinama uključuje računanje 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]';

Page 91: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

86

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

Nastavak programskog slijeda je u potpoglavlju 4.3.7. Međutim, da bi se primjenio regulator s H∞ upravljanjem, potrebno je objasniti kakvo je to upravljanje, što je učinjeno u potpoglavlju 4.3.6.

4.3.6. Pojam H∞∞∞∞ norme i upravljanja

H∞ norma stabilne skalarne prijenosne funkcije F(s) je jednostavno vršna vrijednost:

)(max)( ωω

jFsF =∞

(4.1)

Strogo matematički gledano, u gornjoj jednadžbi bi trebalo pisati sup, a ne max, jer se

maksimum može dobiti i kada frekvencija teži beskonačnosti, a u biti se traži supremum. Međutim, u inžinjerskoj praksi je dovoljno točno i maksimum. Kako se minimizira vršna vrijednost, pri ekstremnoj frekvenciji, slijedi da minimiziranje H∞ norme odgovara minimiziranju vrha najveće svojstvene vrijednosti.

Simbol H dolazi od izraza "Hardy space" (Hardyjev prostor). H∞ je, u kontekstu automatike skup prijenosnih funkcija s ograničenom ∞-normom. Funkcija G(s) je strogo pravilna ako teži 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 pomoću nekog kriterija ona koja je najbolja (s obzirom na taj kriterij, npr. pogreška).

Simbol ∞ dolazi od činjenice da se maksimalna amplituda, u ovisnosti o frekvenciji, može pisati:

p

p

pdjFjF

/1

)(lim)(max

= ∫

∞−∞→

ωωωω

(4.2)

Page 92: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

87

U biti, potencirajući na beskonačnu potenciju, bira se vršna vrijednost, jer se

frekvencijske komponente manje prisutnih harmonika brže guše potenciranjem i u potpunosti iščezavaju teorijski na beskonačnoj potenciji, a praktično već kod kvadriranja ili kubiranja. Kad iščeznu harmonici manjeg intenziteta ostaje samo dominantni, te se vađenjem beskonačnog korijena beskonačno 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 može normalizirati tako da je dominantni harmonik amplitude 1. To se često radi na samom početku procedure skaliranjem. U biti se svi harmonici dijele s amplitudom najvećeg.

Minimizacijom H∞ norme izolira se najveći harmonik, tj. maksimalna vrijednost signala i za nju se računa najbolji regulator/kontroler. Ova norma je dobra za ekstremne uvjete rada, gdje je jedan harmonik posebno izražen, te treba paziti na njegovu vršnu vrijednost kako ne bi došlo do nestabilnosti sustava.

Slika 4.17 prikazuje temeljnu konfiguraciju općenitog upravljanja, gdje su: u – upravljačke varijable, v – mjerene varijable, w – egzogeni signali (smetnje wd i zapovijedi r), z – signal za minimiziranje.

Slika 4.17: Konfiguracija općenitog upravljanja

Prijenosna matrica sustava je sa slike 4.17:

[ ] DBAsICsU

sYsG +−⋅==

−1

)(

)()(

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:

=

=

u

w

sPsP

sPsP

u

wsP

v

z

)()(

)()()(

2221

1211 (4.3)

vsKu )(= (4.4) Kako je općeniti objekta u prostoru stanja:

Page 93: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

88

=

2221

1211

2

1

21

)(DD

DD

C

CBBA

sP

slijedi:

[ ]

==

=

2221

121121

2

1 ,,DD

DDDBBB

C

CC ,

te je:

( ) [ ] ( )( )

[ ]

( ) ( )( ) ( )

( ) ( )( ) ( )

+−+−

+−+−=

=

+

−−

−−==

+

+

−=

+−

=

−−

−−

−−

−−

−−

2221

22111

2

1221

11111

1

2221

1211

21

211

2

21

111

1

2221

1211

2112

11

2221

121121

1

2

1)(

DBAsICDBAsIC

DBAsICDBAsIC

DD

DD

BAsICBAsIC

BAsICBAsIC

DD

DD

BBAsIC

AsIC

DD

DDBBAsI

C

CsP

( )

( ) 1221

112

1111

111

DBAsICP

DBAsICP

+−=

+−=−

( ) 2111

221 DBAsICP +−=−

( ) 2221

222 DBAsICP +−=−

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

z = Fl (P, K)⋅ w (4.5) Uvrštavajući izraz za u u matričnu jednadžbu za formulaciju problema slijedi:

wPKPIKPPz

wPKPIKPwPKvPwPz

wPKPIvKvPwPv

KvPwP

KvPwP

Kv

w

PP

PP

v

z

))((

)(

)(

211

221211

211

2212111211

211

222221

2221

1211

2221

1211

−+=

−+=+=

−=⇒+=

+

+=

=

211

2212111 )(),( PKPIKPPKPF −−+= (4.6) H∞ upravljanje uključuje minimizaciju H∞ norme od Fl (P, K).

Standardni H∞ optimalni kontrolni problem je naći sve stabilizirajuće kontrolere K koji minimiziraju izraz:

Page 94: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

89

)))(,((max),( ωσω

jKPFKPF ll =∞

(4.7)

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

2

2

0)( )(

)(max),(

tw

tzKPF

twl

≠∞= (4.8)

gdje je ∫∑∞

=0

2

2)()(

i i dttztz druga norma vektorskog signala.

Neka je γmin najmanja vrijednost ∞

),( KPFl za sve stabilizirajuće kontrolere. Tada

je H∞ suboptimalni upravljački problem naći sve stabilizirajuće kontrolere K takve da je

γ<∞

),( KPFl i γ > γmin. Stabilizirajući kontroler K(s) takav da je γ<∞

),( KPFl

postoji ako i samo ako je: a) X∞ rješenje algebarske Riccatijeve jednadžbe:

( ) 022112

11 =−+++ ∞−

∞∞∞ XBBBBXCCAXXA TTTT γ (4.9) takvo da je: ( )[ ] 0Re 2211

2 <−+ ∞− XBBBBA TT

i γλ za svaki i.

b) Y∞ ≥ 0 rješenje algebarske Riccatijeve jednadžbe:

( ) 022112

11 =−+++ ∞−

∞∞∞ YCCCCYBBAYAY TTTT γ (4.10) takvo da je ( )[ ] 0Re 2211

2 <−+ −∞ CCCCYA TT

i γλ za svaki i.

c) ( ) 2, γρ <∞∞ YX . Svaki takav kontroler je onda dat s K = Fl (KC, Q) gdje je:

= ∞

∞∞∞∞

0

0)(

2

2

I

I

C

FBZLZA

sK c

gdje su:

∞∞ −= XBF T2 ,

TCYL 2∞∞ −= ,

( ) 12 −

∞∞−

∞ −= XYIZ γ ,

22112 CLZFBXBBAA T

∞∞∞∞−

∞ +++= γ i Q(s) bilo koja stabilna pravilna prijenosna funkcija takva da je γ<

∞Q . Za Q(s) = 0.

Slijedi:

( ) ∞

∞∞∞ −−== FAsILZsKsK C1)()(

11 (4.11)

Gornji izraz se naziva centralnim kontrolerom i ima jednak broj stanja kao općeniti objekt P.

Page 95: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

90

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

( )yxCLZuBxXBBxAx

worstw

T −+++= ∞∞∞− ˆˆˆˆ 22

ˆ

12

1 43421& γ (4.12)

xFu ˆ

∞=

(4.13)

Slika 4.18: H∞ robustna stabilizacija problema Ako nastane neki poremećaj, za tako perturbiranu povratnu vezu sustava s gornje

slike, svojstvo stabilnosti je robustno ako i samo ako je nominalni sustav povratne veze stabilan i:

( )ε

γ1

2

11≤−

= −− MGKI

I

K (4.14)

Primjećuje se da je γ H∞ norma od φ do

y

u i (I-GK)-1 funkcija osjetljivosti za

pozitivnu povratnu vezu. Najmanja moguća vrijednost γ koja se može postići i odgovarajuća maksimalna granica stabilnosti (eng. stability margin) ε date su kao:

( ) 2/12/121min )(11 XZMN

Hρεγ +=−==

−− (4.15)

gdje je

H⋅ označava Henkelovu normu, ρ spektralni radijus (tj. maksimalnu svojstvenu

vrijednost), a Z je pozitivno-definirano (eng. positive-definite) rješenje algebarske Riccatijeve jednadžbe:

(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 rješenje Riccatijeve algebarske jednadžbe:

Page 96: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

91

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

Za strogo pravilni objekt (D = 0) gornje jednadžbe se značajno pojednostavljuju.

Kontroler koji garantira:

( ) γ≤−

−− 11 MGKII

K (4.18)

za specificirani γ > γmin, dat je s:

+++=

−−

TT

TTTT

DXB

ZCLDFCZCLBFAK

1212 )()()( γγ (4.19)

gdje je: ( )XBCDSF TT +−= −1 i ( ) XZIL +−= 21 γ . 4.3.7. Projektiranje H∞∞∞∞ kontrolera

Uvođenjem težina riješen je problem otvorene petlje te je sada potrebno vratiti se na početni 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 pojačanje koje se može postići je 0,9, što znači da se specifikacije u frekvencijskom području mogu postići kontrolerom k0. Simulirajući ovaj pristup u vremenskoj domeni provjerava se ispravnost odabranih težina.

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-beskonačno kontrolerom |k0| »sim_k0 = lft(simlft,k0); »sim_k0.InputName = 't1ref'; 't2ref'; 't1noise'; 't2noise';

Page 97: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

92

»sim_k0.OutputName = 'h1'; 't1'; 't2'; 'fhc'; 'fcc'; Sada ćemo simulirati odziv sustava zatvorene petlje kada se pobuđuju točke t1 i t2

između 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-beskonačno kontrolera, k0') »legend('h1','t1','t2'); »grid

Slika 4.19: Odziv projektiranog kontrolera na jediničnu koračajnu uzbudu

Page 98: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

93

Sljedećim 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. Sljedeća analiza će pokazati koliko dobro ta vrijednost upada u pertubirani model unutar granica nesigurnosti. Može se usporediti nominalni model zatvorene petlje gamma0 s najgorim mogućim scenarijem unutar skupa modela nesigurnosti.

»frad = 2*pi*logspace(-5,1,30); »clpk0 = lft(P,k0); »clpk0_g = frd(clpk0,frad); % Računanje najgoreg slučaja »opt=wcgopt('FreqPtWise',1); » [maxgain,wcu,info] = wcgain(clpk0_g,opt);

Page 99: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

94

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

Slika 4.21: Frekvencijska karakteristika za nominalni i najgori mogući slučaj

Rad u najgorem slučaju sustava zatvorene petlje značajno je lošiji od nominale, što govori da H∞ kontroler nije dovoljno robustan kod modeliranja greški. Zadatak za vježbu: Ako posjedujete odgovarajuću licencu, proučite primjer idnlgreydemo2.m. Radi se o modeliranju mex datoteka vremenski kontinuiranih SISO sustava.

4.4. Asinkroni vjetrogenerator u izoliranoj mreži

Za ovaj primjer je potrebno posjedovati SymPowerSistems te predložak power_windgen.mdl (Wind-Turbine Asynchronous Generator in an Isolated Network).

Sustav koji se razmatra je samostojna (bez priključka na mrežu) kombinacija vjetrogeneratora i dizel generatora bez pohrane energije (nema troška akumulatora). Pogodan je za kuće na izoliranim mjestima, gdje je preskupo dovoditi električnu mrežu (planine, otoci, i sl.).

Page 100: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

95

Optmalna penetracija vjetra (instalirani vjetrokapacitet/vršni električni zahtjevi) za ovaj sustav ovise o zahtjevima položaja za dostavu goriva i o ruži 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 potrošačko opterećenje 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 premašuje potrebe potrošnje moguće je isključiti dizel generator.

Blok vjetroturbine koristi 2-D tablicu uvida (engl. lookup table) da bi izračunao snagu okretaja (Tm) kao funkcija brzine vjetra (w_Wind) i brzine turbine (w_Turb). Ove karakteristike - Pm (w_Wind, w_Turb) - se automatski učitavaju 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 opterećenje, koje treba upiti višak energije kada je vjetar jak, sastoji se od 3-faznih otpornika i tiristorskih prekidača (simulirani idealnim prekidačima). Frekvencija je regulirana s blokom diskretnog regulatora frekvencije (engl. Discrete Frequency Regulator Block). Fazna pogreška koristi se za PD kontroler sekundarnog opterećenja.

Slika 4.22: Model samostojećeg sustava vjetrogeneratora i dizel generatora u Simulinku

Kod ovog modela, brzina vjetra od 10 m/s je takva da daje dovoljno snage za snadbdijevanje opterećenja. Dizelski generator se zaustavlja i sinhroni stroj radi kao asinkroni

Page 101: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

96

kondenzer sa svojim mehaničkim ulazom (Pm) podešenim na 0. U primjeru se na sustav uključuje trošilo snage 25 kW.

Slika 4.23: Odnos snage i brzine vjetroturbine

Page 102: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

97

Slika 4.24: Rezultat simulacije

4.5. Industrijski robot s 3 stupnja slobode

Ovaj primjer se može izvesti u Matlabu s licencom za alatku za identifikaciju sustava u kojoj je sadržan predložak idnlgreydemo8.m.

Slika 4.25: Industrijski robotski manipulator Dinamika ovog robota dana je s:

++= )(,

)())(())(()())((

2

2

tqdt

tdqHtqGtuFtq

dt

dtqM (4.20)

gdje je q(t) stupčasti vektor relativnih kuteva 1, 2 i 3, koji opisuju relativni kut između dijelova (vidi sliku 4.25). Momenti upravljanja su označeni s u (t) = [u1(t) u2(t) u3(t)]

T, a koeficijenti sile su označeni s F(u(t)) = [Fc(1)*u1(t) Fc(2)*u2(t) Fc(3)*u3(t)]'. Matrica masa je veličine 3x3. Ostale sile koje utječu na robota su gravitacija, G, te coriolisova i centrifugalna sila.

Uvođenjem stanja: x_1(t) = q_1(t) relativni kut između podloge i zgloba 1 x_2(t) = q_2(t) relativni kut između zglobova 1 i 2 x_3(t) = q_3(t) relativni kut između zglobova 2 i 3 x_4(t) = d/dt q_1(t) relativna brzina između podloge i zgloba 1 x_5(t) = d/dt q_2(t) relativna brzina između zglobova 1 i 2 x_6(t) = d/dt q_3(t) relativna brzina između 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 različitih parametara ili konstanti.

Page 103: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

98

Značajan dio modela je osvježavanje (update) stanja, koje se izvršava funkcijom, compute_dx, koja ima listu argumenata: void compute_dx(double *dx, double *x, double *u, double **p) gdje je p sadrži 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 stupčasti vektori s 2 ili 3 ulaza. C. com = p[7] je 2x2 matrica te Ia = p[9] je 4x2 matrica.

Skalari su obično označeni s p[0] (p(1) u Matlabovoj datoteci). Matrice prosljeđene u C-MEX model su različite u smislu da su stupci drukčije 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 jednadžbi tako da se stanja mogu lako izračunati. 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] ... /* Jednadžbe stanja. */ /* x[0]: Relativni kut između zgloba 1 i podloge. */ /* x[1]: Relativni kut između zgloba 1 i 2. */ /* x[2]: Relativni kut između zgloba 2 i 3. */ /* x[3]: Relativna brzina između podloge i zgloba 1.*/ /* x[4]: Relativna brzina između zglobova 1 i 2. */ /* x[5]: Relativna brzina između 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 predlošku se uspređuju mjerenja iz rada robota Manutec r3 i simulacije, što

prikazuje slika 4.26.

Page 104: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

99

Slika 4.26: Rezultat izvođenja predloška

Zadatak za vježbu:

Proučite rad industrijske ruke in predloška idnlgreydemo13.m. Shematski prikaz mehaničkog sustava robotske ruke dan je na slici 4.27.

0 0.5 1 1.5 2

-2

-1

0

Θ1. (sim)

Θ1

(ra

d)

z; measured

nlgr; fit: 98.99%

0 0.5 1 1.5 2

0.10.20.30.40.5

Θ2. (sim)

Θ2

(ra

d)

z; measured

nlgr; fit: 98.1%

0 0.5 1 1.5 20

0.5

1

Θ3. (sim)

Time (s)

Θ3

(ra

d)

z; measured

nlgr; fit: 91.04%

0 0.5 1 1.5 20

1

2

Θ1. (sim)

Θ1 (

rad)

z; measured

nlgr; fit: 98.96%

0 0.5 1 1.5 2

-0.4

-0.2

0

Θ2. (sim)

Θ2 (

rad)

z; measured

nlgr; fit: 98.52%

0 0.5 1 1.5 2-1.5

-1

-0.5

0

Θ3. (sim)

Time (s)

Θ3 (

rad)

z; measured

nlgr; fit: 91.26%

Page 105: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

100

Slika 4.27: Mehanički 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 može koristiti predložak commmilstd188110b.mdl.

Implementirat će se fazni prijenos podataka upotrebom valnog oblika (engl. single-tone) fiksne frekvencije.

Model podržava: 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 taktičke komunikacije na VF kanalima. Kompatibilan je s NATO standardom STANAG 4539.

Razmatrat će se komunikacijski sustav koji izvodi sljedeće zadatke: • generiranje slučajnih binarnih podataka, • kodiranje koje ovisi o brzini podataka odabranih u dijalogu modelskih parametara.

“Encoder block” na vrhu blok dijagrama je konfigurabilan podsustav čiji sadržaj ovisi o odabranoj brzini podataka. Sastoji se od konvolucijskog enkodera,

• umetanje upotrebom matrice određene standardom, • mapiranje binarno-sivo, • dodavanje sekvence za treniranje, • skrembliranje podataka dodavanjem podataka modulu slučajnog niza (8,8-PSK

modulacija), • Wattersonov model kanala (Multipath Rayleigh Fading Channel blok), • ekvilizaciju prijemnika (RLS equalizer), • demapiranje simbola iz kanala, • izvlačenje (engl. deinterleaving) i • Viterbi dekodiranje.

Slika 4.29.a prikazuje impulsni odziv komunikacijskog kanala. Slika 4.29.b prikazuje

koncentracija znakova signala prije uravnoteženja. Slika 4.29.c prikazuje fazni zakret signala zbog puta kroz kanal. Slika 4.29.d prikazuje koncentracija znakova signala poslije uravnoteženja.

Page 106: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

101

Slika 4.28: Model komunikacijskog sustava Zadaci za vježbu:

1. Proučite predložak RF Satellite Link iz iste alatke. 2. Proučite predložak commrfsatlink.mdl iz iste alatke.

a) b)

Page 107: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

102

c) d)

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

poslije uravnoteženja 4.7. Modeliranje prometa klasterizacijom

Studenti koji žele vidjeti na djelu simulaciju klasterizacije prometa moraju imati alatku neizrazite logike (Fuzzy Logic Toolbox) te predložak trips.m iz „Modeling Traffic Patterns using Subtractive Clustering”.

Klasterizacija je tehnika kojom se učinkovito prepoznaje prirodno grupiranje u velikim skupovima podataka. Tako se omogućuje koncizno predstavljanje odnosa u danim podacima. U ovom primjeru se grupiraju prometni podaci u široke kategorije kako bi ih se lakše razumjelo. Da bi se stalo na kraj nepreciznostima, idealno je korištenje neizrazite logike u ovom slučaju. Može se korisiti da se uzme nejasne ili neprecizne podatke ulaza i postigne preciznu izlaznu vrijednost. U Matlab/Simulink programskom paketu postoji neizraziti sustav zaključivanja (engl. Fuzza Inference System, FIS) s pomoću kojeg se lako mogu koristiti složene analizičke jednadžbe. U ovom primjeru, neizrazita logika će se koristiti za grupiranje podataka u široke kategorije. FIS model će odražavati odnos između demografije i vožnji automobilom.

Cilj primjera je razumijeti vezu između broja automobilskih vožnji iz jednog područja i demografije područja. Podaci su uzeti za područje New Castle County, Delaware. Razmatrano je 5 demografskih parametara: populacija, broj stambenih jedinica, vlasništvo vozila, prihod prosječnog domaćinstva i ukupna zaposlenost.

Demografski faktori bit će adresirani kao ulazi, a ostvarene vožnje kao izlaz. Problem ima 5 ulaznih varijabli i jednu izlaznu. »tripdata % učitava podatke »subplot(2,1,1); plot(datin); »legend('populacija', broj stambenih jedinica', 'vlasništvo vozila',... 'srednji prihod kućanstva', 'ukupna zaposlenost'); »title('Ulazne varijable'); subplot(2,1,2); plot(datout) »legend('broj vožnji'); title('Izlazna varijabla')

Page 108: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

103

Slika 4.30: Prometni podaci

Sljedeći korak u ovom primjeru je primjena tehnike klasterizacije zvane grupiranje oduzimanjem. Za to se u Matlabu koristi funkcija subclust. Ona izvršava 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 označava klastere s utjecajem na prostor ulaznih podataka. Varijabla C sadrži sve centre klastera koji su identificirani funkcijom subclust. Svaki red u C sadrži položaj klastera.

U ovom slučaju, C ima 3 reda koji predstavljaju 3 klastera sa 6 stupaca koji predstavljaju položaje klastera u svakoj dimenziji.

Sljedeći crtež prikazuje kako se klasteri identificiraju u 'ukupna zaposelnost' i 'vožnje' dimenzije ulaznog prostora. »clf; »plot(datin(:,5), datout(:,1), '.', C(:,5),C(:,6),'r*') »legend(‘Točke podataka', ‘Centri klastera', 'Lokacija', ‘Jugoistok'); » xlabel('ukupna zaposlenost') »ylabel(‘broj vožnji'); » title(‘Podaci i klasteri u odabranim dimenzijama ulaznog prostora')

Slika 4.31 prikazuje rezultat izvršavanja gornjih naredbi.

Page 109: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

104

Slika 4.31: Podaci i klasteri u odabranim dimenzijama ulaznog prostora

Generiranje FIS-a vrši se funkcijom genfis2 koja koristi spomenuti način klasterizacije. »myfis=genfis2(datin,datout,0.5);

Prvi argument je ulazna varijabla datin, a drugi izlazna varijabla datout, a treći 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 može imati bilo koji broj članskih funkcija (membership functions). Pravila diktiraju ponašanje neizrazitog sustava temeljem ulaza, izlaza i funcije članstva. Naredba genfis2 daje FIS pri pokušaju dohvata položaja 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 više članskih funkcija kao posljedicu broja klastera koje je identificirala subclust.

Page 110: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

105

Za trenutni skup podataka subclust je identificirala 3 klastera. Stoga se svaki ulaz i izlaz karakteriziraju s 3 funkcije članstva (pripadnosti, membership). Broj pravila jednak je broju klastera i stoga su krirana 3 pravila.

Sada možemo isprobati FIS da bi razumijeli kako se klasteri pretvaraju u funkcije članstva i pravila. »fuzzy(myfis)

Slika 4.32: Grafičko sučelje za uređivanje FIS-a

Neizrazita je funkcija koja starta grafički editor za izradu fuzzy sustava. fuzzy(myfis) otvara prozor koji je podešen za uređivanje myfis, tj. FIS-a koji smo tek generirali. »mfedit(myfis) Naredbom mfedit(myfis) pokreće se grafički editor funkcije članstva. Može 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 dohvaća se položaj i utjecaj prvog klastera za ulaznu varijablu populacije (C(1,1)=1.877, S(1)=1.1621 ).

Page 111: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

106

Slika 4.33: Uređivanje članskih funkcija Slično tome, položaj i utjecaj druga dva klastera za ulaznu varijablu populacije

dobivaju se iz dvije druge funkcije članstva in1cluster2 i in1cluster3. Ostala 4 ulaza slijede točnu shemu oponašajući položaj i utjecaj 3 klastera preko odgovarajućih dimenzija i skupa podataka.

Naredbom ruleedit prikazuju se grafički neizrazita pravila: »ruleedit(myfis)

Sve 3 funkcije pripadanja u ovom slučaju ć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 površinu koja pomaže 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 učinkovit način kako bi moglo razumijevanju ponašanja sustava kroz cijeli opseg vrijednosti. »surfview(myfis)

Page 112: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

107

Ono što je očito je da se broj vožnji povećava s porastom populacije i stambenih jedinica. »ruleview(myfis)

Funkcijom ruleview pojavljuje se grafički 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. Također prilikom sastavljanja modela treba paziti da se ne odabiru slični blokovi iz drugih alatki, jer oni nisu kompatibilni sa ovom alatkom.

Radne karakteristike u stacionarnom stanju trofaznog indukcijskog motora se često proučavaju 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 proračunalo različite radne veličine, kao struja statora, ulazna snaga, pobudni moment ili učinkovitost. Kada je potrebno naglasiti energgijske aspekte rada, otpor shunta se obično zanemaruje. Gubici jezgre se uključuju u proračun učinkovitosti kroz trenje ili sl. pojave. Parametri ekvivalentnog kruga mogu se dobiti iz testa s istosmjernim radom neopterećenog struja kojemu je blokiran rotor. Rezultirajuća struja kroz statorske zavojnice je istosmjerna te se ne iducira na rotoru struja. Stoga je reaktancija motora jednaka nuli. Statorski otpor je jednini ograničavajući čimbenik za električnu struju.

a)

b)

Slika 4.34: a) Nadomjesna shema asinkronog stroja, b) test motora u neopterećenom stanju

Page 113: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

108

U simulinku će se simulirati sljedeći 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 proteče struja IDC koju ograničava 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 teče istosmjerna struja. Opterećenje je nula. Terminator sprječava upozorenja o nespojenim priključcima na izlazu. Powergui je namješten u kontinuiranom načinu 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. Povećanjem ulaznog otpora (u ovom slučaju 10 puta), prijelazna pojava traje duže

(zbog radne komponente) napon i struja su manjeg iznosa. Slika 4.38 prikazuje struju IDC pri povećanju otpora. Slika 4.39 prikazuje kako se u

tom slučaju mijenja napon UDC. Računanje statorskog otpora na ovaj način daje procjenu vrijednosti, jer testiranjem na

izmjenični napon uzeo bi se u obzir utjecaj temperature. Formula po kojoj se računa otpor je:

= 0,5

Page 114: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

109

Slika 4.36: Prikaz struje IDC

Slika 4.37: Prikaz napona UDC

Page 115: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

110

Slika 4.38: IDC pri promjeni otpora

Slika 4.39: UDC pri promjeni otpora

4.9. Simulink 3D Animation

Programski paket Matlab/Simulink omogućuje stvaranje virtuelnih svjetova kao primitivnog oblika virtuelne stvarnosti. Virtuelni svijet omogućuje lakše projektiranje i vizuelizaciju različith problema. U ovom potpoglavlju će se baviti s dva primjera: pristajanjem broda u luku i kretanjem automobila u virtuelnom svijetu.

Page 116: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

111

4.9.1. Pristajanje broda u luku Pošto se koriste dva broda, jedan Tanker, drugi Remorker, potrebno ih je napraviti

pomoću 3D softwera, kao npr. V- REALM BUILDER-a. Taj program sadrži biblioteku razno raznih objekata, te će se iz već postojeće biblioteke izvući potrebne modele. Slika 4.40 prikazuje izgleda radne površine softwarske podrške. Naravno, za izvođenje ovog primjera potrebno je pribaviti legalnu licencu tog programa.

Sljedeće se mora napraviti nova radna površina odnosno novi radni list na kojem će se stavljati i namještati modeli (Slika 4.41).

Klikom na odabir biblioteke, otvori se prozor u kojem su prikazani svi modeli što ih softverveć sam sadrži. Pronađe se Tanker i Remorker, te se ubace u radnu površinu kako je prikazano na slici 4.42.

Sada treba napraviti pristanište, odnosno softver daje mogućnost ubacivanje osnovnih modela (kugla, kocka, valjak, stožac i sl.). Odabere se kocku, namjeste joj se dimenzije i postavimo je se na radnu površinu (slika 4.43).

Sljedeće treba postaviti sve modele na virtualni svijet. S ljeve strane radne površine svakome se modelu može namjestit položaj u 3D koordinatama odnosno svijetu. Na slici 4.44 je prikazano namještanje koordinata za postavljanje pristaništa.

Kada se napravi i postavili modele potrebno ih je spremiti pod željenim nazivom s odgovarajućom .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 površina V-REALM BUILDER

Page 117: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

112

Slika 4.41: Stvaranje nove radne površine

Slika 4.42: Postavljanje Tankera i Remorkera Sada treba napisati par osnovnih kodova koji su potrebni da bi se naš svijet očitao, te

da bi mogli upravljati sa modelima. »world=vrworld('vezivanje_broda.wrl','new');

Page 118: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

113

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

Slika 4.43: Postavljanje doka

Prva linija koda stvara novi svijet koji se zove WORLD i taj će svijet će imati sva svojstva svijeta koji je modeliran. Druga linija koda otvara svijet odnosno daje mogućnost upravljanja svijetom. Treća linija koda postavlja svijet u prozor koji će biti prikazan na ekranu. Sljedeće dvije linije koda su varijable kretnja1 i kretnja2 koje će biti jednake bilo kojem svojstvu objekta Tanker_z i Remorker. To znači da će se moći 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

Page 119: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

114

Slika 4.44: Postavljanje koordinata doka

»j=-5000; »for k=11000:-50:1000; j=j+25; pause(0.01) kretnja1.translation=[k 0 j]; vrdrawnow; »end » o=1000; »for l=-5000:+20:-900 pause(0.01) kretnja2.translation=[l 0 0-o]; vrdrawnow; »end »for h=2:-0.01:0.8 pause(0.01) kretnja2.rotation=[0 1 0 h]; vrdrawnow; »end »f=-900; »for g=-900:+10:-450 f=f+10; pause(0.01) kretnja2.translation=[f 0 g]; vrdrawnow;

Page 120: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

115

»end »d=-500; »for p=2:0.001:2.2; d=d+1; pause(0.01) kretnja2.translation=[d 0 d]; kretnja1.rotation=[0 1 0 p]; vrdrawnow; »end »for s=0:-0.001:-0.28; pause(0.01) kretnja3.rotation=[0 1 0 s]; vrdrawnow; »end »a=-300; »for q=-300:-10:-900 a=a-10; pause(0.01) kretnja2.translation=[a 0 q]; vrdrawnow; »end

Slika 4.45: Prikaz vezivanja broda

Page 121: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

116

Ovaj kod predstavlja svaku pojedinu kretnju Tankera i Remorkera. Kada se ovaj kod unese i pokrene, na zaslonu se prikaže željena animacija koristeći 3D alat pomoću MATLAB-a (slika 4.45). 4.9.2. Vožnja automobilom u virtuelnom svijetu

Ako studenti žele vidjeti na svom računalu ovaj primjer moraju imati Simulink 3D Animation te predložak Car in Mountains. Predložak stvara sučelje za upravljanje vozilom u virtuelnom svijetu.

Da bi se automobilom moglo voziti, potrebno je naći neki virtuelni svijet ili ga kreirati. U ovom primjeru se učitava već postojeći Matlabov svijet. Sljedećim naredbama se može otvoriti i vidjeti taj svijet:

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

Slika 4.46: Izgled predloška virtuelnog svijeta s interaktivnim upravljačem

Svojstva i značajke svijeta mogu se očitati naredbom:

Page 122: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

117

»get(world)

Sva ponašanja unutar virtuelnog svijeta upravljana su promjenama u VRML čvorovima, koji određuju sve elemente. »nodes(world) Jednom čvoru će se pridružiti automobil: »car = vrnode(world, 'Automobile') »fields(car) Pomicanje čvora automobile vrši 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 može se odrediti npr. sljedećim 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 može 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);

Page 123: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

118

»end 4.10. Stvaranje grafičkog sučelja (GUI)

Matlabova lepeza funkcija omogućuje i stvaranje grafičkog sučelja. To se postiže s

nekoliko naredbi, kao što su uicontrol ili movegui. GUI se može isprogramirati u tekstualnom ili Matlabovom editoru, a može se koristiti alat za kreiranje GUI, koji se naziva GUIDE, koji svakome omogućuje stvaranje svog grafičkog sučelja. Prozor za izradu GUI podijeljen je u kvadrate u kojima se postavljaju određeni elementi. Elementi se biraju s trake lijevo. Klikom na zelenu strelicu može se isprobati kako funkcionira GUI.

Slika 4.47: Izgled alata GUIDE za kreiranje GUI Izlist funkcije jednog jednostavnog sučelja dat je ispod. Može se unjeti u tekstualni

editor i spremiti s .m ekstenzijom te pokrenuti kao i svaki drugi program.

Page 124: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

119

Primjer jednostavnog grafičkog sučelja: 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) % Određivanje skupa podataka koji su odabrani str = get(source, 'String'); val = get(source,'Value'); switch strval; 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);

Page 125: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

120

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

Slika 4.48: Izgled jednostavnog grafičkog sučelja iz gornjeg primjera Zadaci za vježbu: 1. Promijenite funkciju koja se iscrtava u grafičkom sučelju i stavite neku po vašem izboru. 2. Promijenite funkcije iscrtavanja koje se pozivaju klikom miša s desne strane. 3. Promijenite neke ispise u sučelju. 4.11. Modeliranje automatskog uzbudnog regulatora sinkronog generatora broda s električnom propulzijom

U ovom potpoglavlju, modelirat će se dio sustava dizel motora i električnog generatora na brodu s električnom propulzijom [6].

Sinkroni generator je jezgra brodskog energetskog sustava. Stabilnost brodskog energetskog sustava ovisi o sposobnosti paralelno spojenih sinkronih generatora da održavaju

Page 126: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

121

rad sinkronizirano. Slika 4.49 prikazuje mjesto sinkronog generatora u sustavu električne 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, izmjeničnog pobudnika i automatskog naponskog regulatora (engl. automatic voltage regulator, AVR). Model fazno-kompaundne uzbude izražen je s d i q komponentama:

( ) ( )22 xKIUxKIUU dqqdr ++−= (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 π/29=K te x reaktancija. Model razlike napona opisan je jednadžbama:

Page 127: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

122

ffstabtfa

fref UUU

K

UUU −+−+=∆

0 (4.22)

i

r

qdtf sTUUU

+⋅+=1

122 (4.23)

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

b

cc sT

sTUU

+

+∆=

1

1 (4.24)

gdje je Uc izlazni napon kompenzatora, Tc i Tb vremenske konstanta kompenzatora. Model pojačala opisuje se u literaturi izrazom:

a

aca sT

KUU

+=

1 (4.25)

gdje je Ua izlazni napon pojačala, Ka njegovo pojačanje, a Ta vremenska konstanta. Model saturacijske petlje dan je jednadžbom: Efd = Ua + Ur (4.26) 0 ≤ Ef ≤ Efmax, Ef = Efd, uz:

==

0,

0.,max

ptfp

p

f KUK

KkonstE

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.

Matematički model izmjenične pobude dan je s:

fdee

f EKT

U+

=1

(4.27)

gdje je Ke vremenska konstanta izmjenične pobude.

Stabilizacijska povratna veza dana je s:

ff

ffff sT

sKUU

+=

1 (4.28)

gdje je Kf pojačanje povratne grane, a Tff vremenska konstanta povratne veze. Slika 4.51

Page 128: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

123

prikazuje simulacijski model izveden iz gornjeg matematičkog modela za AVR pobudnika (izmejnične uzbude).

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

Klasični pristup upravljanju pobudom s pomoću PID regulatora se široko koristi, ali on ne može riješiti 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 rješavanje problema oscilacija frekvencije. Pobudni sustav ima fazni pomak, koji se može izraziti s:

2

1

1

2

×

−= −

x

xx

tg

ω

ω

ω

ωξ

φ (4.29)

gdje je ω niskofrekvencijska oscilacija. Ad

x TT

KAK

0

6

'=ω i

AAd

dAx

KKTTK

TKT

603

03

'2

'+=ξ , gdje je KA

konstanta pojačanja i TA inercijska vremenska konstanta pobudnog sustava opisanog

Page 129: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

124

prijenosnom funkcijom:

sT

KsG

A

Ae

+=

1)( (4.30)

gdje su ed

ed

XX

XXK

+

+=

'3 i

ed

e

XX

XK

+=

'6 , a Xe reaktancija prijenosne linije.

PSS mora imati naprednu vezu, obično iz dva dijela, a prijenosna funkcija može se izraziti s:

sT

sT

sT

sTsG

4

3

2

1

1

1

1

1)(

+

+

+=

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

Page 130: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

125

Zadatak za vježbu: Realizirajte model sa slike 4.52. Simulirajte rad gornjeg modela. Tipične 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.

Page 131: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

126

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

Page 132: MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI …ivujovic/stare_stranice/pdf_zip_word/matlab_mod... · MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK 1 1. ... vrše mjerenja

MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK

127

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