Professional Documents
Culture Documents
Matlab Mod Sim
Matlab Mod Sim
Matlab Mod Sim
Igor Vujović
Split, 2014.
Autor:
docent
PREDGOVOR
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
SADRŽAJ
1. UVOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
5. LITERATURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
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.
1
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
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.
2
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
Izrada (Simulink) blok dijagrama: Blok dijagram se izrađuje za svaki podsustav odvojeno.
Nakon modeliranja svakog podsustava, oni se integriraju u jedinstveni model sustava.
Potvrda (validacija) simulacijskih rezultata: Cilj ovog koraka je ispitati da li model točno
opisuje fizikalne karakteristike sustava.
3
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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,
4
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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).
5
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Nakon toga spremite u radni direktorij funkciju pod imenom "pozdrav.m". Upišite
novodefiniranu funkciju u glavni prozor Matlaba:
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.
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,
6
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
0,3s + 1
Primjer 2.1: U ovom primjeru razmotirit će se prijenosna funkcija W ( s ) = 2
.
s + 1,5s + 0,5
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:
» brojnik = [.3 1]
» pzmap(H);
Stiskanjem tipke "↵" (ENTER) otvara se grafički prozor prikazan na slici 2.1.
7
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
» damp(H)
» rlocus(H);
8
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
» step(H)
9
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
» bode(H)
» nyquist(H)
10
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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
11
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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
Sljedeći niz naredbi omogućuje iscrtavanje ovisnost efektivne vrijednosti napona o vremenu:
» clear all;
12
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
» U=[34,84 34,84 34,68 ... 34,58]; % umjesto ... potrebno je unjeti sve vrijednosti iz stupca
% ili ih učitati iz neke datoteke
» t=0:18:550;
» plot(t,U); grid;
» 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;
» clear all;
» P=[1,6 1,3 2,8 ... 3,0]; % umjesto ... potrebno je unjeti sve vrijednosti iz stupca
» Q=[-0,4 -0,3 0,7 ... 1,2]; % umjesto ... potrebno je unjeti sve vrijednosti iz stupca
» t=0:18:550;
» plot(t,P);
» hold
» plot(t,Q);
» grid;
13
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Slika 2.9: P-t graf (gornja krivulja) te Q-t graf (donja krivulja)
14
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
ϕC U1 − ϕC ϕ B − ϕC
= +
R4 R1 R3
ϕA −ϕB ϕ B − ϕC
=
R2 R3
Grupiranjem se dobiva:
15
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
U1 1 1 1 ϕ
= + + ⋅ ϕ C − B
R1 R1 R3 R4 R3
ϕA ϕ 1 1
= − C + + ⋅ ϕ B
R2 R3 R2 R3
Ako se matricama želi riješiti sustav, tada je potrebno definirati matrice sustava tako da je:
A=BC
gdje su:
U 1 1 1 1 1
+ + −
R R1 R3 R4 R3 ϕ C
A= , B =
1 , C = .
U 1 1 1 1 ϕ B
− +
R2 R3
R2 R3
% 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
C=
1.3316
1.7966
Primjer 2.3: Za prijenosnu liniju sa slike odredite ulaznu impendanciju uz 0 < β i d < 0 za
Z
slučaj kada je T = 0,1 .
Z0
16
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Prijenosne linije su razmatrane u više kolegija tijekom studija. Iz teorije o njima poznato je da
vrijedi:
Z ul Z T + jZ 0 tg (βl )
= (2.2)
Z 0 Z 0 + jZ T tg (βl )
Da bi se taj rezultat izrazio preko zadanog omjera potrebno je desnu stranu (i brojnik i
nazivnik) podijeliti sa Z0:
ZT
+ jtg (β l )
Z ul Z0
= (2.3)
Z 0 1 + j Z T tg (β l )
Z0
17
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
10
|Zul|/Z0
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
βd (normaliziran na pi)
Faza(Zul) (normalizirana na π)
0.5
-0.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
βd (normaliziran na π)
18
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
10
|Zul|/Z0
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
βd (normaliziran na pi)
Faza(Zul) (normalizirana na π)
0.5
-0.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
βd (normaliziran na π)
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): u ul = 1,5 ⋅ sin 2 ⋅ π ⋅ f1 ⋅ t − + 4 ⋅ sin (2 ⋅ π ⋅ f 2 ⋅ t ) . Zadano je: R =
4
10 [Ω], L1 = 1 [H], L2 = 0,25 [H] i C = 0,66 [F].
»f1=0.1;
»w1=2*pi*f1;
»f2=1.6;
» w2=2*pi*f2;
»T_uk=2/f1;
»N=10001;
»t=linspace(0,T_uk,N);
19
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»uul=1.5*sin(w1*t-pi/4)+4*sin(w2*t);
»plot(t,uul)
»grid on
»xlabel('t [s]');
»ylabel ('u_u_l');
2
uul
-2
-4
-6
0 2 4 6 8 10 12 14 16 18 20
t [s]
1
jωL1 I 1 + (I1 − I 2 ) = U ul
jω C
1
jωL2 I 2 + RI 2 − (I 1 − I 2 ) = 0
jω C
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];
20
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
2.5
1.5
0.5
Uizl
-0.5
-1
-1.5
-2
-2.5
0 2 4 6 8 10 12 14 16 18 20
t [s]
a)
21
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
4
Uizl (crveno), Uul (plavo)
-2
-4
-6
0 2 4 6 8 10 12 14 16 18 20
t [s]
b)
» 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);
» N=histc(vektor,0:10:100);
22
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
» y=rand(1,100)*10+5;
» 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;
y
300
250
200
150
100
50
0
-4 -3 -2 -1 0 1 2 3 4
a)
23
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
y2
300
250
200
150
100
50
0
-20 -10 0 10 20 30 40 50 60
b)
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);
24
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
600
500
400
300
200
100
0
-60 -40 -20 0 20 40 60 80
Napomena: kako je riječ o generiranju slučajnih brojeva, vaš graf može ispasti drukčiji od
grafa na gornjoj slici.
25
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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);
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:
»a{1,1}=[1 3 4 -10];
»a{2,1}='pozdrav';
»a{1,2}=c{3};
»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:
26
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»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]);
» S(1).ime
» osoba=ppl(2);
Osoba je struktura s poljima ime, starost, djeca. Vrijednosti polja su drugi indeks u
svakoj ćeliji.
» osoba.ime
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;
27
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Strukture 1x1 su korisne kada se koristi puno varijabli u funkciji. Sve se stave u
strukturu. Za pristup nx1 strukturnim poljima, koriste se njihova mjesta:
»person=ppl(2);
»personName=ppl(2).name;
» a=[ppl.starost];
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.
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.
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
28
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
29
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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
» movie(F,7,24);
» movie2avi(F,'testMovie.avi','FPS',24);
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.
Kako je nekada poželjnije imati analitički izraz za rješenje, nego skup numeričkih
vrijednosti, uvedena je simbolička alatka.
30
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»a=sym('1/3');
»b=sym('4/5');
»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
»syms a b r x y
»pretty(expand((x-a).^2 + (y-b).^2))
Matlab ispisuje:
ans=
2 2 2 2
a -2ax+b -2by+x +y
31
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
32
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
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.
33
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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));
10000 5000
9000 4500
8000 4000
7000 3500
6000 3000
5000 2500
4000 2000
3000 1500
2000 1000
1000 500
0 0
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
a) b)
34
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
4000 4000
3500 3500
3000 3000
2500 2500
2000 2000
1500 1500
1000 1000
500 500
0 0
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
c) d)
10000
9000
8000
7000
6000
5000
4000
3000
2000
1000
0
0 20 40 60 80 100 120 140 160 180 200
e)
Slika 2.22: Rezultat simulacije: a) stanje 0 (A), b) stanje 1 (B), c) stanje 2(C), d) stanje 3 (D), e) stanje
4 (E)
35
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
a)
36
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
b)
Slika 3.1: Biblioteka blokova Simulink-a: a) izgled starije inačice, b) izgled jedne od novijih
inačica
37
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
- memorija,
- prostor stanja,
- prijenosna funkcija,
- nula-pol,
- varijabilno i linearno kašnjenje.
Ž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
38
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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)
39
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Pokretanje simulacije
Zaustavljanje simulacije
Odabir područja
za povećanje
Povećanje Automatsko
duž x-osi skaliranje prikaza
Podešavanje maksimalne
i minimalne vrijednosti y osi
40
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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)
S R
E C
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:
41
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
i(t)⋅R + uC(t) = E
dq (t ) du (t )
= i (t ) = C C
dt dt
du C (t )
RC + u C (t ) = E (3.2)
dt
2. korak:
du C (t )
RC = E − u C (t )
dt
du C (t ) 1 1
= ⋅E − ⋅ u C (t )
dt RC RC
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 .
. eizl (t ) = ∫ e1 (t ) + ... + en (t ) dt
en .
a)
e1 .
.
eizl (t) = e1 (t) +... + en (t)
en .
b)
eul(t) eizl(t)
c) d)
42
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
1/RC
uc(t)
1/RC
6. korak:
43
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
a)
b)
44
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
c)
du C (t ) 1 1
= E− u C (t )
dt RC RC
1 1
sU C ( s ) = E (s) − U C (s)
RC RC
1 1
U C ( s) ⋅ s + = E (s)
RC RC
1
E ( s)
U C (s) = RC
1 + RCs
RC
45
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
E ( s)
U C (s) =
RCs + 1
U C ( s) 1
=
E ( s) RCs + 1
U C ( s)
W ( s) =
E (s)
1 1
W ( s) = = (3.3)
τs + 1 s + 1
1 1 1
U C ( s) = W (s) ⋅ E (s) = ⋅ E (s) = ⋅
s +1 s +1 s
Iz teorije je poznato:
1
L = 1 − e −at ,
s (Ts + 1)
a = 1/T, slijedi:
u C (t ) = 1 − e − t (3.4)
46
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
» 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.
47
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Slika 3.14: Uvećani prikaz dijela odziva sustava sa slike 3.12 u vremenskom području
48
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
» br =0.5;
» naz = [1 0.3 1 0];
» h = tf(br, naz);
» bode(h);
» br = 1;
» naz = [1 0.3 1 0];
» h = tf(br, naz);
» bode(h);
49
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
50
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
51
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
» 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)
1
G( s) =
s + 0,3s 2 + s
3
KG ( s )
W (s) = =
1 + KG ( s )
K K
3 2
s + 0,3s + s s + 0,3s 2 + s
3
= = 3
K s + 0,3s 2 + s + K
1+ 3
s + 0,3s 2 + s s 3 + 0,3s 2 + s
s 3 + 0,3s 2 + s + K = 0
52
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
gdje su:
- y(t) izlazna varijabla,
- x(t) ulazna varijabla,
- a0 i b0 konstantni parametri sustava.
53
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
b0 b 1 b0
y (t ) = u (t ) ⇒ Y ( s) = 0 ⇒ y (t ) = =K
a0 a0 s a0
a)
b)
54
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
c)
Zadatak za vježbu:
dy (t )
a1 + a 0 y (t ) = b0 x (t ) (3.6)
dt
gdje su:
- y(t) izlazna varijabla,
- x(t) ulazna varijabla,
- a1, a0 i b0 konstantni parametri sustava.
55
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
1
a1 sY ( s ) + a 0Y ( s) = b0 X ( s) = b0
s
1 b0
Y ( s) =
s a1 s + a0
(
y (t ) = Kx(t ) 1 − e −t / τ )
a1 b
τ= , K = 0 , x(t ) = 1
a0 a0
Zadatak za vježbu:
56
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
k
F0
m
R L C
B
0,0 x u(t)
a) b)
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.
∑f
i =1
i = m&x& (3.7)
∑f
i =1
i − m&x& = 0
57
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
d 2 x(t )
m = F0 + f B + f k
dt 2
d 2 x(t ) dx(t )
m 2
= F0 − B − kx(t )
dt dt
d 2 x(t ) dx(t )
m 2
+B + kx(t ) = F0
dt dt
gdje su:
• F0 - vanjska sila,
• fk(t) - sila opruge,
• fB(t) - sila viskoznog trenja,
• m - masa tijela,
• B - koeficijent viskoznog trenja,
• k - krutost opruge,
• x - pomak tijela.
Gornja 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:
uu (t ) = u R (t ) + u L (t ) + uC (t )
dq (t ) 1 d 2 q (t )
uu (t ) = R + q (t ) + L (3.8)
dt C dt 2
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:
d 2 y (t ) dy (t )
a2 2
+ a1 + a 0 y (t ) = b0 x(t ) (3.9)
dt dt
gdje su:
• y - izlazna veličina,
• x - ulazna veličina,
58
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
a2 1 a1 2ζ b0
= 2 = = kp
a0 ω n a0 ω n a0
1 d 2 y (t ) 2ζ dy (t )
+ + y (t ) = k p x(t ) (3.10)
ω n2 dt 2 ω n dt
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:
ω p = ωn 1−ζ 2 (3.11)
59
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Zadatak za vježbu:
B[kg/s] 0 10 16 23 38 56,57 75
ζ
ωp
K
Y ( s) = X (s)
s(Ts + 1)
Y ( s) s(Ts + 1) = KX ( s)
Ts 2Y ( s) + sY ( s) = KX ( s)
K 1
s 2Y ( s ) = X ( s ) − sY ( s )
T T
60
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
d 2 y (t ) K 1 dy (t )
2
= x (t ) −
dt T T dt
K
Prijenosna funkcija G ( s ) = može se predstaviti umnoškom dviju prijenosnih
s (Ts + 1)
K 1
funkcija G1(s) i G2(s), gdje su G1 ( s ) = i G 2 ( s ) = , te je:
1 + Ts s
K 1
G ( s ) = G1 ( s )G 2 ( s ) = ⋅
1 + Ts s
a) b)
Slika 3.28: a) Serijski spoj blokova, b) model zadanog sustava dobiven rastavljanjem na
osnovne blokove
K 1
∫ x(t ) T − T y (t ) dt = y (t ) /⋅
1 1
61
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
K X ( s ) 1 Y1 ( s )
− = Y1 ( s )
T s T s
1 K X (s)
Y1 ( s) + 1 =
Ts T s
K
Y1 ( s) K
= Ts =
X ( s) 1 + Ts Ts + 1
Ts
+ Y1 (s) G (s)
X(s) G1(s) 2
Y(s)
-
Slika 3.29: Blok dijagram zadanog regulacijskog sustava s negativnom povratnom vezom
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.
62
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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?
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.
Kα
G (s) =
(1 + τs )3
o
C ⋅h
gdje je Kα = 529 (prijenosni omjer) i τ = 42,86 s (vremenska konstanta).
l
63
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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:
K mč
Gmč =
1 + τ mč s
gdje su: Kmč = 2,5 mV/°C (prijenosni omjer) i τmč = 0,5 s (vremenska konstanta).
64
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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:
l
gdje je Kič = 8 ⋅ 10-4
h ⋅ mV
a)
65
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
b)
Zadatak za vježbu
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:
Blok dijagram je prikazan na slici 3.34. Tablica 3.1 prikazuje tvorničke parametre tipičnog
servomotora.
66
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Ako se u izraz za prijenosnu funkciju motora (prema slici 3.34) uvrste podaci iz
tablice 3.1, slijedi da je:
K m / Rm Km
Js + B Rm (Js + B ) Km
H (s) = = = =
K m / Rm Rm ( Js + B ) + K b K m Rm ( Js + B ) + K b K m
1 + Kb
Js + B Rm (Js + B )
Km K 1 Km 1
= ⋅ m = = ⋅
Rm ( Js + B ) + K b K m K m Rm K K Rm Js + B + K b K m
⋅ Js + B + b m
Km Rm Rm
Kb K m
uz K x = B + slijedi:
Rm
67
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Km 1 Km 1
H ( s) = ⋅ = ⋅ (3.13)
Rm J Rm K x J
K x s + 1 s + 1
Kx Kx
K
H (s) = (3.14)
τs + 1
Km 1
K= = 35,515
Rm K x Vs
J
τ= = 10,933 [ms ]
B + K b K m / Rm
.
35,515
H (s) =
0,010933s + 1
ut(t) = Ktω(t)
ud(t) = Ktωd(t)
Kp
u m (t ) = (ud (t ) − ut (t ) ) (3.16)
Kt
K p' H ( s)
W (s) =
1 + K p' H ( s)
68
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
35,515 35,515
K 'p ⋅ K p' ⋅
0,011s + 1 0,011s + 1
W ( s) = = =
' 35,515 1 + 0.011 s + K '
⋅ 35,515
1+ K p ⋅ p
0,011s + 1 0,011s + 1
35,515 K p'
35,515K p' 1 + 35,515K p'
= =
0,011s + K p' ⋅ 35,515 + 1 0,011
s +1
1 + 35,515K p'
0,011
gdje je vremenska konstanta τ = .
35,515K 'p + 1
Ud (s) Ut (s)
K’ P H(s)
- W(s)
a)
b)
c)
69
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
3.7.2. Vođenje
enje istosmjernog stroja PI regulatorom
K
U m ( s ) = K p + I (ω d ( s ) − ω ( s ) ) (3.17)
s
Zbog dodatnog člana lana prijenosna funkcija je sada drugog reda i to ne jednostavna, jer
ima i nul točku.
ku. Na isti nanačin
čin kao i kod proporcionalnog regulatora dobiva se prijenosna
funkcija zatvorene petlje:
K ps + KI 35,515
⋅
K (s) H (s) s 0,011s + 1
W (s) = = =
1 + K ( s) H (s ) K p s + K I 35,515
1+ ⋅
s 0,011s + 1
(K p s + K I ) 35,515
s (0,011s + 1) 35,515 K p s + 35,515 K I
= =
s (0,011s + 1 + (K p s + K I )35,515 0,011s + (1 + 35,515 K p ) s + 35,515 K I
2
s (0,011s + 1
a)
b)
70
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
c) d)
Zadaci za vježbu:
71
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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 =
» imaqfind
72
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
73
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»bb=double(getsnapshot(vobj));
74
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
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).
75
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
76
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
SAD
R'G'B' to Motion Energy 1.7e4/512
Intensity
intensity Prag kretnje
AD
AD po_potrebi mijenjati Detect
Color Space nazivnik
Image
Conversion
Preglednik-video prozor
Intensity
77
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
78
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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')
79
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»D = zeros(1,2);
»spremnik2nom = ss(A,B,C,D,'InputName',{'h1','t1'},'OutputName','t2');
»step(spremnik2nom), title('Step odziv za spremnik 2')
80
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
81
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»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')
82
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»step(spremnik1u,1000)
»title('Varijabilnost odziva zbog pogreški modeliranja (spremnik 1) ')
83
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»Wh1noise = 0.01;
»Wt1noise = 0.03;
»Wt2noise = 0.03;
»Wt1perf = tf(100,[400,1]);
»Wt2perf = tf(50,[800,1]);
»clf;
»bodemag(Wt1perf,Wt2perf);;
»title('Penalizacija
Penalizacija greške ovisna o frekvenciji');
frekvenciji
»legend('t1','t2')
84
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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
85
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
F ( s) ∞
= max F ( jω ) (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:
1/ p
∞ p
max F ( jω ) = lim ∫ F ( jω ) dω (4.2)
ω p →∞
−∞
86
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Y (s)
= C ⋅ [sI − A] B + D
−1
G ( s) =
U (s)
u = K ( s )v (4.4)
87
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
A B1 B2
P ( s ) = C1 D11 D12
C 2 D21 D22
slijedi:
C D D12
C = 1 , B = [B1 B2 ], D = 11 ,
C 2 D21 D22
te je:
88
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Fl ( P, K ) ∞
= max σ ( Fl ( P, K )( jω )) (4.7)
ω
z (t ) 2
Fl ( P, K ) = max (4.8)
∞ w(t ) ≠ 0 w(t ) 2
∫∑
2
gdje je z (t ) 2
= i
z i (t ) dt druga norma vektorskog signala.
0
(
AT X ∞ + X ∞ A + C1T C1 + X ∞ γ −2 B1 B1T − B2 B2T X ∞ = 0 ) (4.9)
[
takvo da je: Re{λi A + (γ − 2 B1 B1T − B2 B2T )X ∞ } < 0 za svaki i. ]
b) Y∞ ≥ 0 rješenje algebarske Riccatijeve jednadžbe:
(
AY∞ + Y∞ AT + B1 B1T + Y∞ γ −2 C1T C1 − C2T C2 Y∞ = 0 ) (4.10)
[ ]
takvo da je Re {λi A + Y∞ (γ − 2 C1T C1 − C 2T C 2 ) } < 0 za svaki i.
c) ρ ( X ∞ , Y∞ ) < γ 2 .
Svaki takav kontroler je onda dat s K = Fl (KC, Q) gdje je:
A∞ − Z ∞ L∞ Z ∞ B2
K c ( s ) = F∞ 0 I
− C 2 I 0
gdje su:
F∞ = −B2T X ∞ ,
L∞ = −Y∞ C2T ,
(
Z ∞ = I − γ −2Y∞ X ∞ )−1
,
−2 T
A∞ = A + γ B1 B X ∞ + B2 F∞ + Z ∞ L∞ C2
1
−1
K ( s ) = K C11 ( s ) = − Z ∞ L∞ (sI − A∞ ) F∞ (4.11)
Gornji izraz se naziva centralnim kontrolerom i ima jednak broj stanja kao općeniti objekt P.
89
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
u = F∞ xˆ
(4.13)
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:
K 1
γ = (I − GK )−1 M −1 ≤ (4.14)
I 2
ε
u
Primjećuje se da je γ H∞ norma od φ do i (I-GK)-1 funkcija osjetljivosti za
y
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:
{
γ min = ε −1 = 1 − N M
2
H
}
−1 / 2 1/ 2
= (1 + ρ ( XZ ) ) (4.15)
90
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
K −1
I (I − GK ) M
−1
≤γ (4.18)
∞
A + BF + γ 2 ( LT ) −1 ZC T (C + DF ) γ 2 ( LT ) −1 ZC T
K= (4.19)
BT X − DT
( ) ( )
gdje je: F = − S −1 D T C + B T X i L = 1 − γ 2 I + XZ .
91
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»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)
»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
92
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»plot(time,fhc,'-',time,fcc,'-.');
»xlabel('Time: seconds');
»ylabel('Actuators')
»title('Actuator Commands for H-infinity Controller k0')
»legend('fhc','fcc');
»grid
»frad = 2*pi*logspace(-5,1,30);
»clpk0 = lft(P,k0);
»clpk0_g = frd(clpk0,frad);
93
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
94
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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
95
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
96
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
d2 dq(t )
M (q (t )) 2
q(t ) = F (u (t )) + G (q(t )) + H , q(t ) (4.20)
dt dt
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:
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.
97
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
/* 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]);
}
98
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Θ1. (sim)
0
Θ 1 (ra d )
z; measured
-1
nlgr; fit: 98.99%
-2
0 0.5 1 1.5 2
Θ2. (sim)
0.5
Θ 2 (ra d )
0.4 z; measured
0.3
0.2 nlgr; fit: 98.1%
0.1
0 0.5 1 1.5 2
Θ3. (sim)
Θ 3 (ra d )
1 z; measured
0.5 nlgr; fit: 91.04%
0
0 0.5 1 1.5 2
Time (s)
Θ1. (sim)
2
Θ1 (rad)
z; measured
1 nlgr; fit: 98.96%
0
0 0.5 1 1.5 2
Θ2. (sim)
0
Θ2 (rad)
z; measured
-0.2
nlgr; fit: 98.52%
-0.4
0 0.5 1 1.5 2
Θ3. (sim)
0
Θ3 (rad)
-0.5 z; measured
-1 nlgr; fit: 91.26%
-1.5
0 0.5 1 1.5 2
Time (s)
Zadatak za vježbu:
99
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
100
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Zadaci za vježbu:
a) b)
101
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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
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.
102
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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')
103
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»myfis=genfis2(datin,datout,0.5);
Prvi argument je ulazna varijabla datin, a drugi izlazna varijabla datout, a treći
argument je parametar klasterizacije.
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.
104
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»fuzzy(myfis)
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 ).
105
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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)
»surfview(myfis)
106
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»ruleview(myfis)
a)
b)
Slika 4.34: a) Nadomjesna shema asinkronog stroja, b) test motora u neopterećenom stanju
107
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/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
ܫ
108
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
109
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
110
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
111
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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');
112
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»open(world);
»fig=vrfigure(world);
»kretnja1=vrnode(world,'Tanker_z');
»kretnja2=vrnode(world,'Remorker');
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
113
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»j=-5000;
»for k=11000:-50:1000;
j=j+25;
pause(0.01)
kretnja1.translation=[k 0 j];
vrdrawnow;
»end
» o=1000;
»for l=-5000:+20:-900
pause(0.01)
kretnja2.translation=[l 0 0-o];
vrdrawnow;
»end
»for h=2:-0.01:0.8
pause(0.01)
kretnja2.rotation=[0 1 0 h];
vrdrawnow;
»end
»f=-900;
»for g=-900:+10:-450
f=f+10;
pause(0.01)
kretnja2.translation=[f 0 g];
vrdrawnow;
114
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»end
»d=-500;
»for p=2:0.001:2.2;
d=d+1;
pause(0.01)
kretnja2.translation=[d 0 d];
kretnja1.rotation=[0 1 0 p];
vrdrawnow;
»end
»for s=0:-0.001:-0.28;
pause(0.01)
kretnja3.rotation=[0 1 0 s];
vrdrawnow;
»end
»a=-300;
»for q=-300:-10:-900
a=a-10;
pause(0.01)
kretnja2.translation=[a 0 q];
vrdrawnow;
»end
115
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Ovaj kod predstavlja svaku pojedinu kretnju Tankera i Remorkera. Kada se ovaj kod
unese i pokrene, na zaslonu se prikaže željena animacija koristeći 3D alat pomoću MATLAB-
a (slika 4.45).
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;
116
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»get(world)
»nodes(world)
»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));
»for i=1:length(x1)
car.translation = [x1(i) y1(i) z1(i)];
vrdrawnow;
pause(0.1);
»end
Automobil se rotira s:
»for i=1:length(x2)
car.translation = [x2(i) y2(i) z2(i)];
vrdrawnow;
pause(0.1);
»end
»car.rotation = [0, 1, 0, 0];
»vrdrawnow;
»for i=1:length(x3)
car.translation = [x3(i) y3(i) z3(i)];
vrdrawnow;
pause(0.1);
117
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
»end
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.
118
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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 str{val};
case 'Peaks' % User selects Peaks.
current_data = peaks_data;
case 'Membrane' % User selects Membrane.
current_data = membrane_data;
case 'Sinc' % User selects Sinc.
current_data = sinc_data;
end
end
function surfbutton_Callback(source,eventdata)
% Display surf plot of the currently selected data.
surf(current_data);
end
function meshbutton_Callback(source,eventdata)
% Display mesh plot of the currently selected data.
mesh(current_data);
119
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
end
function contourbutton_Callback(source,eventdata)
% Display contour plot of the currently selected data.
contour(current_data);
end
end
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.
120
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
rad sinkronizirano. Slika 4.49 prikazuje mjesto sinkronog generatora u sustavu električne
propulzije.
Ur = (U d − KI q x ) + (U q + KI d x )
2 2
(4.21)
121
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
Uf0
∆U = U ref + − U tf + U stab − U ff (4.22)
Ka
i
1
U tf = U d2 + U q2 ⋅ (4.23)
1 + sTr
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:
1 + sTc
U c = ∆U (4.24)
1 + sTb
Ka
Ua = Uc (4.25)
1 + sTa
Efd = Ua + Ur
(4.26)
konst., K p = 0
E f max =
K pU tf , K p ≥ 0
gdje je Efd izlazni napon naponskog regulatora, tj. kombinirana funkcija naponske razlike i
fazno-komoundnog regulatora pobude, Ef izlazni napon razmjeran saturacijskoj petlji, Efmax
maksimalni izlazni napon razmjerne saturacijske petlje.
Matematički model izmjenične pobude dan je s:
1
Uf = E fd (4.27)
Te + K e
sK f
U ff = U f (4.28)
1 + sT ff
gdje je Kf pojačanje povratne grane, a Tff vremenska konstanta povratne veze. Slika 4.51
122
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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ξ x ×
ωx
φ = −tg −1 2
(4.29)
ω
1 −
ωx
K 6 KA T A + K 3T ' d 0
gdje je ω niskofrekvencijska oscilacija. ω x = i ξx = , gdje je KA
T ' d 0 TA 2 K 3 T 'd 0 TA K 6 K A
konstanta pojačanja i TA inercijska vremenska konstanta pobudnog sustava opisanog
123
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
prijenosnom funkcijom:
KA
Ge ( s ) = (4.30)
1 + TA s
X 'd + X e Xe
gdje su K 3 = i K6 = , a Xe reaktancija prijenosne linije.
Xd + Xe X 'd + X e
PSS mora imati naprednu vezu, obično iz dva dijela, a prijenosna funkcija može se
izraziti s:
1 + T1 s 1 + T3 s
G( s) = ×
1 + T2 s 1 + T4 s
s tim što je često u praksi T1= T3 te T2 = T4. Model PSS-a prikazan je na gornjem dijelu slike
4.52 u crvenom ovalu. Slika 4.52 prikazuje ukupni AVR+PSS sustav uzbude.
124
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
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.
125
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
LITERATURA
[1] Roland Priemer, Matlab for Electrical and Computer Engineering Students and
Professionals with Simulink, Scitech Publishing, Edison, NJ, 2013.
[2] Karel Perutka (ur.), MATLAB for Engineers - Applications in Control, Electrical
Engineering, IT and Robotics, InTech, 2011.
[3] A. Ansari et. al., Mathematical Model of Asynchronous Machine in MATLAB Simulink,
International Journal of Engineering Science and Technology, Vol. 2(5), 2010, 1260-1267
[4] 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_I
mage_blockset_version_reference.pdf
[11] Matlab Video and Image Processing Blockset Relese Notes, dostupno na:
http://www.manualslib.com/manual/392962/Matlab-Video-And-Image-Processing-Blockset-
Release-Notes.html?page=56
[12] Tank Demo, dostupno na: http://www.mathworks.com/products/robust/code-
examples.html?file=/products/demos/shipping/robust/tank_demo.html
[13] Wind Turbine Asynchronous Generator in Isolated Network, dostupno na:
http://www.mathworks.com/help/physmod/sps/examples_v2/wind-turbine-asynchronous-
generator-in-isolated-network.html
[14] Robotic Arm, dostupno na: http://www.mathworks.com/products/demos/shipping/
ident/idnlgreydemo8.html
[15] Defense Communications US:MIL-STD-188-110b Baseband „End-to-End“ Link,
dostupno na: http://www.mathworks.com/help/comm/examples/defense-communications-us-
mil-std-188-110b-baseband-end-to-end-link.html
[16] Modelling Traffic Patterns Using Subtractive Clastering, dostupno na:
http://www.mathworks.com/help/fuzzy/examples/modeling-traffic-patterns-using-subtractive-
clustering.html
[17] Power Systems Blockset, dostupno na:
http://dali.feld.cvut.cz/ucebna/matlab/pdf_doc/powersys/powersys.pdf
[18] 3D Animation, Virtual Car Model, dostupno na:
https://www.mathworks.com/products/3d-animation/model-
examples.html?file=/products/demos/shipping/sl3d/vrcar.html
[19] Crating the Simple Programmatic GUI Code, dostupno na:
http://www.mathworks.com/help/matlab/creating_guis/creating-the-simple-programmatic-
gui-code-file.html
126
MODELIRANJE I SIMULIRANJE U ELEKTROTEHNICI MATLAB/SIMULINK
127