modelovanje i simulacija elektriČnih sistema u … · daljinu, sistem za prijavu ispita studenata,...
TRANSCRIPT
UNIVERZITET U NIŠU
PRIRODNO-MATEMATIČKI FAKULTET
DEPARTMAN ZA FIZIKU
MODELOVANJE I SIMULACIJA ELEKTRIČNIH SISTEMA U PROGRAMSKOM PAKETU MATLAB/SIMSCAPE
MASTER RAD
Student: Mentor:
Suzana Cvetković, br. indeksa 24 dr Biljana M. Samardžić
Niš, septembar 2017.
Прилог 5/1
Образац Q4.09.13 – Издање 1
Редни број, РБР: Идентификациони број, ИБР:
Тип документације, ТД: монографска
Тип записа, ТЗ: текстуални / графички
Врста рада, ВР: мастер рад
Аутор, АУ: Сузана Цветковић
Ментор, МН: Биљана Самарџић
Наслов рада, НР: МОДЕЛОВАЊЕ И СИМУЛАЦИЈА ЕЛЕКТРИЧНИХ
СИСТЕМА У ПРОГРАМСКОМ ПАКЕТУ
MATLAB/SIMSCAPE
Језик публикације, ЈП: Српски
Језик извода, ЈИ: Енглески
Земља публиковања, ЗП: Р. Србија
Уже географско подручје, УГП: Р. Србија
Година, ГО: 2017.
Издавач, ИЗ: ауторски репринт
Место и адреса, МА: Ниш, Вишеградска 33.
Физички опис рада, ФО: (поглавља/страна/ цитата/табела/слика/графика/прилога)
55 стр.; граф. прикази
Научна област, НО: Физика
Научна дисциплина, НД: Аутоматско управљање/Физичка и техничка мерења
Предметна одредница/Кључне речи, ПО: Електрични системи/Matlab/Simscape
УДК 621.38:004.434:004.94MATLAB/SIMSCAPE
Чува се, ЧУ: библиотека
Важна напомена, ВН:
Извод, ИЗ: У овом раду су програмски пакет Matlab/Simulink и његова
библиотека Simscape примењени за моделовање и
симулацију електричних система. Моделовање се базира
на концепту генерализоване мреже и уопштених
Кирховљевих закона. УместоSimulink-ових математичких
блокова, за градњу модела система у Simscape-у се
користе блокови који одговарају физичким компонентама
као што су кондензатор, калем, отпорник, итд. На
конкретним примерима моделовања електричних система
потврђене су ефикасност и једноставност примене
Simscape-а.
Датум прихватања теме, ДП: 11.7.2017.
Датум одбране, ДО:
Чланови комисије, КО: Председник: др Дејан Алексић
Члан: др Љиљана Костић
Члан, ментор: др Биљана Самарџић
Прилог 5/2
Образац Q4.09.13 – Издање 1
Accesion number, ANO:
Identification number, INO:
Document type, DT: monograph
Type of record, ТR: textual / graphic
Content Code, CC: University degree thesis
Аuthor, АU: Suzana Cvetković
Mentor, МN: Biljana Samardžić
Title, TI: MODELING AND SIMULATION OF ELECTRICAL SYSTEMS IN THE
MATLAB / SIMSCAP PROGRAM PACKAGE
Language of text, LT: Serbian
Language of abstract, LA: English
Country of publication, CP: Republic of Serbia
Locality of publication, LP: Serbia
Publication year, PY: 2017.
Publisher, PB: author’s reprint
Publication place, PP: Niš, Višegradska 33.
Physical desciption, PD: (chapter/pages/ref./tables/pictures/graphs/appendixes)
55 p.; graphic representation
Scientific field, SF: physics
Scientific discipline, SD: Automatic control / Physical and technical
measurements... Subject/Kez words, S/KW: Electrical systems / Matlab / Simscape...
UC 621.38:004.434:004.94MATLAB/SIMSCAPE
Holding data, HD: library
Note, N: Abstract, AB: The main topic of this paper is usage of the Matlab/Simulink
software package and its Simscape library in modeling and
simulating of electrical systems. Modeling, therefore, was
based on the concept of a generalized network and Kirch's
general laws. Also, instead of the Simulink mathematical
blocks, building blocks of Simscape system models
corresponding to physical components such as a capacitor, a
spool, a resistor, etc. Through the concrete examples in this
research, also have been confirmed the efficiency and
simplicity of the Simscape application in the modeling of
electrical systems.
Accepted by the Scientific Board on,ASB: 11.7.2017.
Defend on, DE:
Defended Board, DB: President: dr Dejan Aleksić
Member: dr Ljiljana Kostić
Member, Mentor: dr Biljana Samardžić
Zahvaljujem se mentoru dr Biljani Samardžić i člnovima komisije
za odbranu prof dr Dejanu Aleksiću i prof dr Ljiljani Kostić na
svesrdnoj podršci, strpljenju i saradnji prilikom izrade ovog rada.
UNIVERZITET U NIŠU
PRIRODNO-MATEMATIČKI FAKULTET
DEPARTMAN ZA FIZIKU
MODELOVANJE I SIMULACIJA ELEKTRIČNIH SISTEMA U
PROGRAMSKOM PAKETU MATLAB/SIMSCAPE
MASTER RAD
Student: Mentor:
Suzana Cvetković, br. indeksa 24 dr Biljana M. Samardžić
Niš, septembar 2017.
1
Sadržaj:
UVOD.........................................................................................................................2
1. MATLAB – osnovno upoznavanje i primena……………………………………....4
2. SIMULINK………………………………………………………………………...10
2.1 Modeli……………………………………………………………………….....14
2.2 Osnovni elementi……………………………………………………………....14
2.3 Jednostavan primer………………………………………………………….....14
2.4 Pokretanje simulacija………………………………………………………......15
2.5 Izgradnja složenijeg sistema……………………………………………….......18
2.6 Modifikovanje blokova…………………………………………………….......18
2.7 Spajanje blokova linijama………………………………………………….......22
3. MODELOVANJE I SIMULACIJA ELEKTRIČNIH SISTEMA U MATLAB-
SIMULINKU..............................................................................................................24
3.1 Metod potpunog blokovskog predstavljanja.......................................................24
3.2 Metod modela u prostoru stanja..........................................................................28
4. OSNOVNE BIBLIOTEKE ZA MODELOVANJE ELEKTRIČNIH SISTEMA U
SIMSCAPE-u……………………………………………………………………....34
5. MODELOVANJE I SIMULACIJA KONKRETNIH ELEKTRIČNIH SISTEMA
U SIMSCAPE-u…………………………………………………………………...43
ZAKLJUČAK……………………………………………………………………...53
LITERATURA…………………………………………………………………….55
2
Uvod
Priča kako je nagli razvoj računarstva osamdesetih i naročito devedesetih godina
prošlog veka izmenio svet, nije više nikakva novina. Nove tehnologije, mikroprocesori i
globalne računarske mreže napravile su od računara uređaj bez koga se ne može zamisliti iole
ozbiljniji posao, kao ni svakodnevni život na ovoj planeti. Život pored računara i sa računarom,
u stvari, postaje svakodnevnica.
U poslednjih nekoliko godina sa masovnijim korišćenjem računara u školama stvoreni
su uslovi za kvalitetnije inoviranje obrazovne tehnologije.
Savremeni računari1 prodiru u svaku poru ljudskog života i imaju dinamiku razvoja
kao nijedna druga oblast. Oni su u velikoj meri doprineli i razvoju ostalih naučnih disciplina i
teško je naći oblast u kojoj nemaju značajnu ulogu.
Ovo su samo neke oblasti primene računara:
* naučno-tehnička
* poslovna
* informacioni sistemi
* u upravljanju procesima
* veštačka inteligencija
* u komunikacijama
* u obrazovanju
* u vojne svrhe
* u medicini,…
– Kod naučno-tehničke primene je karakteristično modeliranje – pravi se model za neki realni
objekat ili situaciju, te se vrše sve potrebne provere i analize;
– Poslovna primena je prikupljanje, obrada, čuvanje, prenošenje i prikazivanje podataka za
potrebe poslovanja banaka, pošti, preduzeća,…
1 Prvi računari su koristili vakuumske cevi. Bili su ogromni, skupi, nepraktični i bili su veliki potrošači električne energije, stvarali veliku
količinu toplote, te su zauzimali skoro čitavu sobu. No, ipak to je bio samo početak, pa su prvi računari radili na čistom mašinskom kodu (binarni kod) i mogli rešavati samo jedan problem odjednom, a prikaza na koji smo navikli (monitor) nije bilo, rezultati su bili prikazani na papiru pomoću tadašnjih printera. UNIVAC i ENIAC su samo od nekih tipova tadašnjih računara. Savremeni računari obuhvatu sve sto su prethodni imali ali sada u mnogo manjim razmerama, kućiste , monitor, miš i tastaturu, što je mnogo praktičnije.
3
– Informacioni sistemi obezbeđuju prikupljanje, čuvanje, obradu, pretraživanje i prikazivanje
informacija, na primer:sistemi za prodaju karata avio ili železničkog saobraćaja.
– Upravljanje procesima podrazumeva praćenje procesa i upravljanje putem računara, na
primer praćenje i upravljanje radom nuklearnog reaktora;
– Veštačka inteligencija, odnosno programiranje računara da imitira ljudske intelektualne
sposobnosti – igra šah, svira, komponuje, prepoznaje oblike,…
–Lokalno i globalno povezivanje računara omogućuje značajnu ulogu računara u
komunikacijama učestvovanje u diskusijama, brza dostupnost informacijama,…
– U obrazovanju se mogu koristiti razni edukativni programi za samostalno učenje, učenje na
daljinu, sistem za prijavu ispita studenata, simulacije eksperimenata i sl.
– Primena u vojsci obuhvata obuku pilota (simulacija leta), praćenje i kontrola vojnog
potencijala, kompjutersko navođenje projektila i sl.
– U medicini pomoú odgovarajuíh programa omogućno je praćenje stanja pacijenta tokom
operacije, dijagnostika, evidencija pacijenata, specijalizovana oprema itd.
U nauci – korišćenje računara je praktično nezaobilazno, sva naša zapažanja i ideje
mogu se pomoću njih proveriti i pomoći nam da rešimo mnoge probleme. Naravno, da bi
računari radili za nas potrebno je da poznajemo jezik računara i da usavršimo njihov software2,
a to je ništa drugo već njihov jezik. Poznavajući jezik računara možemo uraditi mnoge stvari i
olakšati mnoge probleme vezane za nauku, pogotovo one za koje bi običan čovek izdvojio
mnogo sati i godina. Najveći problem nam predstavljaju stvari koje ne znamo kako
funkcionišu. Računar umesto nas stvara i simulira sve što nas interesuje o datom problemu.
Jedan od poznatih software je i Matlab sa svojim mnogobrojnim bibliotekama. U ovom radu
posebnu pažnju ćemo posvetiti Matlab-ovim bibliotekama Simulink i Simscape i njihovoj
primeni u modelovanju i simulaciji električnih sistema.
2 Skup funkcija i komadni(naredbi), koje brdo informacija grupišu u jedan red sa zakonitostima programskog jezika
4
1. MATLAB – osnovno upoznavanje i primena
Matlab je viši programski jezik namenjen obradi podataka u formi matrica i brojeva.
Sam naziv Matlab izveden je od MatrixLaboratory3, čime se sugeriše da su matrice osnovni
entiteti za numeričke proračune, za razliku od nekih nižih programskih jezika kao što je
Fortran, ili Pascal. Zahvaljujući fleksibilnom okruženju, širokom spektru ugrađenih funkcija
kojima se efikasno dolazi do numeričkih rešenja, mogućnošću razvoja algoritama i
programiranja, Matlab se nametnuo kao nezamenjiv alat za rešavanje problema u gotovo svim
oblastima inženjerske prakse.
Programski paket Matlab omogućava interaktivan i programski rad. U interaktivnom radu
naredbe se zadaju u promptu komandnog prozora Matlaba i interpretiraju odmah po zadavanju.
Prethodno otkucane naredbe ostaju u istoriji i mogu se vratiti pritiskom na kursorski taster ↑
(gore), editovati i ponovo pokrenuti. Programi se takođe pozivaju iz komandnog prompta
navođenjem imena i interpretiraju liniju po liniju.
Razmatranje struktura podataka u Matlabu izvešćemo u interaktivnom radu, uz pripadajuća
objašnjenja, a zatim kreirati programe, sve u cilju upoznavanja sa Matlab okruženjem i
realizacijom zadataka u vezi analize osnovnih osobina diskretnih i analognih signala i sistema.
Slika 1: PokretanjeMatlaba
Nakon pokretanja Matlaba (slika 1) na ekranu se otvara komandni prozor (Slika 2) Matlaba na
kome se uočava komandna linija, u čijem se levom uglu nalazi prompt „>>“, a odmah pored i
kursor koji trepti. Komandni prozor Matlaba treba zamisliti kao radni prostor ekvivalentan
3 Izumeo ga je kasnih 1970-ih Kliv Moler (engl.- Cleve Moler), šef katedre za informatiku na Univerzitetu „Novi Meksiko“ i nazvao ga tim imenom. Kasnije prelazi u skraćenicu MATLAB.
5
praznom listu hartije, na kome je moguće vršiti različite akcije posredstvom komandne linije.
Komandna linija služi da se izda naredba Matlabu. Nakon što se izda naredba, ona se neće
izvršiti dok god se ne pritisne taster <enter>. Sve naredbe koje se izvrše u komandnoj liniji,
kao i promenjive nastale posredstvom tih naredbi se automatski smeštaju u memoriju i mogu se
naknadno koristiti dok god se ne napusti trenutna seansa u Matlabu. Ako se u nekoj naredbi ne
definiše promenjiva kojoj se dodeljujue vrednost nekog izraza, Matlab tada dodeljuje vrednost
generičkoj promenjivoj ans. Prirodno, prilikom izračunavanja sledećeg izraza, nova vrednost
će biti prepisana preko prethodne vrednosti promenjive ans. U jednoj komandnoj liniji može da
se nalazi jedan ili više izraza.
Slika 2:Osnovni prozori Matlab-a
Najjednostavniji način da se upotrebi Matlab jeste kao veoma moćan kalkulator. Aritmetičke,
trigonometrijske ili eksponencijalne operacije se izvode posredstvom poziva ugrađenih Matlab
funkcija. Osim osnovnih, Matlab je opremljen velikom kolekcijom funkcija koje omogućavaju
veoma složene operacije. Pored toga, Matlab dopušta korisniku da definiše sopstvene funkcije.
Kada je potrebno uneti više naredbi u komandni prozor, ili je potrebno ponovo pozivati i
menjati izraze, rad u komandnoj liniji počinje da predstavlja ozbiljno ograničenje. Potencijalni
problemi mogu da se reše uvođenjem skript datoteka, tj. datoteka koje sadrže jednu ili više
naredbi koje bi se izvršile na isti način kao kad bi se jedna po jedna unosile u komandnu liniju
u komandnom prozoru Matlaba. Skript datoteka je tekstualna datoteka sa ekstenzijom „.m“
koja može da se kreira u bilo kom programu za obradu teksta, odnosno u editoru teksta i
debageru koji je deo paketa Matlaba. Kreirana skript datoteka se izvršava kucanjem njenog
imena u komandnoj liniji bez sufiksa „.m“ ili direktno iz Matlabovog editora.
Dužine identifikatora promenjivih u Matlabu treba da budu najviše 31 alfanumerički karakter,
pri čemu se karakteri posle tridesetog ignorišu. Identifikator promenjive obavezno mora početi
6
slovom, dok ostali karakteri mogu biti kombinacije slova, brojeva i znaka podvučeno (_).
Identifikator promenjive ne sme da sadrži blanko karakter. Matlab razlikuje velika/mala slova
u imenu identifikatora promenjive. Prilikom određivanja identifikatora uobičajene su dve
programerske konvencije. U prvoj se koristi donja crta, dok se kod druge koriste velika slova,
kao na primer: ime_promenjive odnosno ImePromenjive.
Postoje i specijalne promenjive čiji su nazivi rezervisani i to su: ans, pi, eps, flops, inf, nan, i, j,
nargin, nargout, realmin, realmax.
Za vreme jedne sesije rada sa Matlabom, tj. dokle god se ne napusti program, u memoriji se
čuvaju najnovije vrednosti svih definisanih promenjivih nastalih u komandnoj liniji ili u skript
datoteci. Kao što je prethodno napomenuto, vrednost dodeljena nekoj promenjivoj može
ponovo da se koristi jednostavnim kucanjem identifikatora te promenjive ili uključivanjem te
promenjive u neki izraz. Promenjive se brišu iz memorije naredbom clear. Da bi se videlo koje
su promenjive definisane od poslednjeg izvršenja naredbe clear, dovoljno je otkucati whos.
Skromnija varijanta naredbe whos je who. Ako se želi da se iz memorije izbrišu samo pojedine
promenjive to se čini naredbom clear i navođenjem liste identifikatora promenjivih
razdvojenih blanko karakterom.
Prilikom unosa matrice, elementi po vrstama se moraju razdvojiti ili blanko simbolom ili
znakom (,), dok se vrste razdvajaju znakom (;). Važno je napomenuti, da ako se na mestu
nekog elementa eksplicitno napiše matematički izraz, onda između alfanumeričkih karaktera i
simbola matematičkih operatora ne smeju da se stavljaju blanko karakteri. Matlab pruža više
različitih načina da se dodele brojčane vrednosti vektoru. Jedan je od načina da se specificira
opseg vrednosti i priraštaj između dva susedna broja određenom naredbom. U Matlabu je
moguće manipulisati matricama i vektorima, kao i vršiti operacije nad matricama i vektorima.
Kontrola toka izvršavanja naredbi u okviru programa napisanog u Matlabu se vrši
pomoću sledeće četiri neredbe: while, if, for i switch. Sintaksa ovih naredbi određuje da se
svaka od ovih naredbi završava naredbom end. Dakle, sve naredbe ili izrazi koji se nalaze
između jedne od naredbi kontrole toka programa i naredbe end će se izvršavati ako je
zadovoljen odgovarajući logički uslov. U okviru jedne naredbe kontrole toka je moguće
ugnezditi i druge naredbe za kontrolu toka.
Kada se koriste naredbe za kontrolu toka programa, dobra programerska praksa je da se
naredbe koje se nalaze pod kontrolom tih naredbi uvuku nekoliko karaktera. Nazubljivanje
programa znatno povećava čitljivost programa čime se olakšava traženje grešaka i održavanje
programa. Kada se koristi Matlabov editor / dibager, nazubljivanje se vrši automatski.
Jedan od načina da se grupiše sekvenca naredbi je u obliku skript datoteke sa ekstenzijom „.m“.
Drugi oblik m-datoteke je funkcija. Funkcije su skript datoteke koje kreiraju sopstveni radni
prostor i lokalne promenjive pod okriljem Matlaba. Sve promenjive koje se kreiraju u okviru
funkcije su lokalne za tu funkciju i ne korespondiraju sa promenjivima istih imena u drugim
skript ili funkcijskim datotekama. Sve ugrađene naredbe u Matlabu su funkcije ovog tipa.
Upotrebom funkcija uprošćava se složenost i povećava čitljivost izvornog koda, izbegava se
dupliranje koda, povećava se portabilnost, itd.
7
Svaka funkcija ima najmanje dve linije koda, pri čemu prva linija obavezno mora da ima
zahtevani format.
Opšti oblik funkcije je:
function PovratnaVrednost = ImeFunkcije(Argumenti)
%komentari
Izrazi
Svakoj funkciji mora da se dodeli ime koje bi trebalo da bude smisleno i dovoljno
indikativno da ukazuje na to šta ta funkcija radi. Šta više, ime „.m“ datoteke mora da bude isto
kao i ime funkcije. Prva linija u funkciji predstavlja prototip funkcije, čime se specificira broj
promenjivih i njihov tip (skalar, vektor, matrica) koje se prenose iz glavnog programa u
funkciju i obrnuto. Komentare, koji se nalaze neposredno ispod deklaracije funkcije, Matlab
tretira kao help informacije vezane za tu funkciju, i ispisuju se kada se u komandnoj liniji
Matlaba unese: help ImeFunkcije.
Na kraju funkcije se ne nalazi terminator karakter ili izraz kao što je end kod naredbi
kontrole toka.
Kada se u komandnoj liniji napiše ime funkcije Matlab pokušava da prepozna funkciju po
imenu. Preciznije, Matlab najpre proverava da li je ime funkcije promenjiva. Ako to nije,
proverava se da li ta funkcija ne pripada skupu internih funkcija Matlaba. Ako to ne uspe,
Matlab traži na disku datoteku sa istim imenom. Ako se funkcija pronađe, Matlab je
kompajlira i smešta u memoriju tako da može da se koristi i svaki sledeći put.
Kada se pozove funkcija, bilo iz komandne linije, skript datoteke ili druge funkcije, vrši se
prenos argumenata u funkciju prema specificiranoj listi argumenata u prototipu funkcije.
Promenjive u definiciji funkcije ne moraju obavezno da imaju iste identifikatore kao u pozivu
funkcije. Naprotiv, ista imena promenjivih mogu da imaju potpuno različito značenje u skript
datoteci iz koje se poziva funkcija i same funkcije. Argumenti funkcije, koji se nalaze između
zagrada u definiciji funkcije, predstavljaju lokalne promenjive i formiraju se pri pozivu
funkcije. Prvom argumentu se dodeljuje vrednost prvog parametra u pozivu funkcije, i tako
dalje do kraja liste argumenata. Dakle, pri pozivu funkcije mora da se vodi računa da poziv
odgovara definiciji funkcije. Argumenti funkcije se odvajaju zapetom.
Matlab sadrži veoma fleksibilne funkcije za dvodimenzionalnu i trodimezionalnu
grafiku. Ovim funkcijama je moguće generisati krive ili površi, vršiti manipulacije sa
dijagramima i menjati karakteristike i notaciju na dijagramima.
Svaki dijagram se kreira u prozoru slike, tj. u prozoru koji otvori Matlab za vreme
izvršavanja funkcije koja kreira dijagram. Ako se u programu koristi više funkcija koje
8
generišu dijagrame, Matlab će pri izvršavanju svake funkcije da kreira prozor slike koji će da
prebriše prethodni.
Slika 3: Trodimenzionalni grafik kreiran u Matlabu
Osim osnovnih funkcija, Matlab raspolaže dodatnim paketima alata za rešavanje
posebnih klasa problema. Control Systems Toolbox obezbeđuje funkcije koje su od posebne
koristi za analizu i sintezu sistema automatskog upravljanja. Naredbom help control iz
komandne linije Matlaba, ispisuju se naredbe iz ovog paketa, čime se stiče uvid u napredne
mogućnosti.
Analiza i sinteza linearnih sistema automatskog upravljanja zasniva se na rešavanju i
razumevanju rešenja običnih linearnih diferencijalnih jednačina. Primenom Laplasove
transformacije na sistem opisan diferencijalnom jednačinom pri svim početnim uslovima
jednakim nuli, dobija se prenosna funkcija sistema.
Promena izraza sistema u toku vremena, izazvana dejstvom ulaza i / ili početnih uslova je
vremenski odziv sistema, ili kraće odziv sistema.
Odziv sistema je jedna od dinamičkih karakteristika sistema. On je rezultat rada sistema i
opisuje taj rad. Odnosno, odziv sistema je rezultat prirode sistema, dejstva ulaza i početnih
uslova (početnog stanja). On je spoljna reakcija na ova dejstva.
Matematički posmatrano, odziv sistema je rešenje jednačine ponašanja tog sistema za zadatu
promenu ulaza i zadate početene uslove.
Za upoznavanje, utvrđivanje i analizu odziva linearnih sistema dovoljno je proučiti
njihove odzive na određene, tipične promene ulaza. Tri najčešće korišćene ulazne veličine za
dinamičku analizu sistema su:
9
1. Hevisajdova ili odskočna (u Matlabu step),
2. Dirakova ili impulsna (impulse),
3. Sinusoidna funkcija (sin).
U tekstu koji je do sada izložen, pokazano je kako je uz pomoć Matlaba moguće vršiti
analizu i sintezu sistema automatskog upravljanja. Kako se u praksi javlja potreba za
rešavanjem složenih problema, gde se sistem ne sastoji samo od objekta i upravljačkog
sistema, već od više međusobno spregnutih podsistema, razvijene su funkcije kojima se
dobijaju ekvivalentne prenosne funkcije redne, paralelne i povratne sprege. Uz pomoć tih, kao i
ostalih funkcija iz Control Systems Toolbox-a je moguće vršiti simulaciju sistema bilo iz
komandne linije ili iz script datoteke. S druge strane, Simulink Toolbox, (u daljem tekstu:
Simulink) obezbeđuje grafičko okruženje, u kome se opisno skicira blok dijagram sistema i
vrši njegova simulacija. O Simulinku biće više reči u narednom poglavlju.
10
2. Simulink
Kao što je poznato, uz pomoć Matlaba moguće je vršiti analizu i sintezu sistema
automatskog upravljanja. Kako se u praksi javlja potreba za rešavanjem složenijih problema,
gde se sistemi ne sastoje samo od objekata i upravljačkog sistema, već od više međusobno
spregnutih podsistema, razvijene su funkcije kojima se dobijaju ekvivalentne prenosne funkcije
redne, paralelne i povratne sprege. S druge strane, Simulink obezbeđuje grafičko okruženje, u
kome se opisno skicira blok dijagram sistema i vrši njegova simulacija.
Uz pomoć Matlabovih funkcija iz Control System Toolbox-a je moguće vršiti simulaciju
sistema bilo iz komandne linije ili iz script datoteke. Simulink se pokreće iz komandne linije
naredbom:
Simulink
ili pomoću ikone u komandnom prozoru Matlaba. Važno je da se shavti da promenjive koje su
definisane u komandnom prozoru Matlaba važe i u prozoru Simulink-a.
Nakon pokretanja Simulink-a, pojavljuje se prozor Simulink Library Browser, gde su
pobrojane dostupne biblioteke. Glavne biblioteke su: Simulink, Control System Toolbox,
Neural Network Blockset i Simscapes. Dvostrukim klikom na neku od navedenih biblioteka,
grana se njihovo stablo i dolazi do dostupnih komponenti. Raspložive komponente Simulink
biblioteke su (slika 4a):
Commonly Used Blocks često korišćeni blokovi
Continuos – linearni kontinualni sistem
Discontinous – različite nelinearnosti
Discrete – linearni diskretni sistemi
Logic and Bit Operations – logičke i operacije nad bitovima
Look-Up Tables – interpolacija podataka iz tabele
Math Operations – matematičke operacije
Model Verification – verifikacija modela
Model-Wide Utilities – dodaci vezani za modele
Ports & Subsystems – portovi i podsistemi
Signal Atrributes – manipulisanje signalima
Signal Routing-usmeravanje signala
Sinks – prikazivanje i usmeravanje izlaznih podataka
11
Sources – generisanje ulaznih podataka
User-Defined Functions – pisanje funkcija
Additional Math and Discrete- dotatne matematičke operacije i diskretni elementi
Slika 4a:Komponente Simulink-ove biblioteke
Da bi se napravio model u Simulinku, najpre treba otvoriti Simulink prozor za modelovanje,
tako što se klikne ikona nove stranice. Ova ikona se nalazi ispod taba File na slici 4a. Sada
treba u novootvoreni Simulink prozor za modelovanje ubaciti željene komponente sistema. To
se radi tako, što se iz odgovarajuće biblioteke prevuče željeni blok. Na primer, ako želimo da
definišemo model u obliku prenosne funkcije, treba najpre iz biblioteke Simulink, dvostrukim
klikom na Continous(slika 4b) izabrati komponentu Transfer Fcn i prevući je u prozor za
modelovanje.
12
Slika 4b: Elementi (blokovi) Simulink-ove biblioteke Continuous
U Simulinku, sistemi su nacrtani na ekranu kao blok dijagrami. Mnogi od elemenata
blok dijagrama su dostupni, kao što su prenosne funkcije, veze i drugo, baš kao i virtuelni
ulazni i izlazni uređaji poput generatora funkcija i osciloskopa koji se nalaze u Simulinkovim
bibliotekama Sources (slika 4c) i Sinks (slika 4d).. Simulink je integrisan sa Matlabom i podaci
jednostavno mogu da se razmenjuju između ta dva programa. U ovom slučaju, primenjujemo
Simulink na primere iz Matlaba kako bismo modelovali sisteme, izgradili kontrolere i
simulirali sisteme. Simulink4 je podržan od strane Unix, Macintosh, i Windows okruženja i
uključen u studensku verziju Matlaba za PC računare.
Ideja koja leži u pozadini je ta da se može videti tutorijal Simulinka u jednom prozoru dok se
Simulink pokreće u drugom. Fajlovi sistemskih modela se mogu skinuti iz tutorijala i otvoriti u
Simulinku. Ovi sistemi se mogu modifikovati i proširiti kako raste znanje o Simulinku, kao i o
modelovanju, upravljanju i simulacijama.
4 Simulink može da radi i pod Linux programskim jezikom ali samo kao paket programskog sistema koji se dodatno plaća.
13
Slika 4c: Elementi (blokovi) Simulink-ove biblioteke Sources
Slika 4d: Elementi (blokovi) Simulink-ove bibliotekeSinks
14
2.1 Modeli
U Simulinku, model je skup blokova koji, u opštem slučaju, predstavlja sistem. U
dodatku, da bi se nacrtao model u praznom prozoru modela, prethodno sačuvan fajl modela
može da se učita ili iz File menija ili iz Matlabovog komandnog prompta.
2.2 Osnovni elementi
Postoje dve osnovne klase elemenata u Simulinku: blokovi i linije. Blokovi se koriste za
generisanje, modifikovanje, kombinovanje izlaza i displej signale. Linije se koriste za prenos
signala od jednog bloka ka drugom.
2.3 Jednostavan primer
Jednostavan model dat na slici 5 se sastoji iz tri bloka: Step funkcije, prenosne funkcije
(Transfer Fcn) i osciloskopa (Scope). Step funkcija je blok izvora iz kojeg izvire odskočni
ulazni signal. Ovaj signal se prenosi preko linije u smeru indikovanom strelicom do
kontinulanog bloka prenosne funkcije. Blok prenosne funkcije modifikuje ulazni signal i
njegov izlaz je novi signal koji je linijom sproveden do osciloskopa. Osciloskop je blok koji se
koristi da predstavi signal kao realni osciloskop.
15
Slika 5:Jednostavan Simulinkovmodel
Naravno, postoji još više tipova blokova dostupnih u Simulinku i neki od njih će biti razmatrani
dalje u tekstu.
2.4 Pokretanje simulacija
Pokretanje simulacije prikazaćemo na modelu koji se čuva u fajlu:
primer2.mdl
Otvoaranjem ovog fajla, u Simulinku će se prikazati prozor modela dat na slici 6.
Slika 6:Primer2 simulacije u Simulinku
Nakon otvaranja Simulink modela, a pre pokretanja simulacije, potrebno je odabrati
metodu integracije (Solver) i podesiti parametre za izvođenje simulacije kao što su tolerancije i
minimalni i maksimalni koraci integracije.Ova podešavanja se vrše unutar Simulinkovog
prozora Configuration Parameters(slika 7). Simulink ima mnogo metoda za rešavanje sistema
linearnih diferencijalnih jednačina. Zavisno od izbora metode integracije i specifičnim
zahtevima modela, može biti potrebno podesiti i ostale parameter kao što su:
• Relative tolerance – Algoritam za integraciju koristi ovaj parameter za
regulisanje relativne greške u svakom koraku integracije. Za probleme
modeliranja električnih kola ova tolerancija može biti između 1e-3 i 1e-6.
16
Ukoliko nismo sigurni pri samom početku koja je tolerancija najbolja za naš
model, biramo konzervativniji pristup i postavljamo manju toleranciju, a zatim
je postepeno povećavamo kako bi smanjili trajanje simulacije. Cilj je postići
kompromis između tačnosti koju tržimo i prihvatljivog trajanja simulacije. Ova
primedba se takođe može primeniti i za slučaj odabira koraka integracije.
• Min step size – Minimalni dozvoljeni vremenski korak integracije. Ako
algoritam zahteva korak integrcije da bi zadovoljio traženu toleranciju, pojaviće
se upozorenje.
• Max step size – Maksimalno dozvoljeni korak integracije. Najčešće je
automatski postavljena vrednost (auto) dovoljna za većinu simulacija.
Slika 7: Simulinkov prozor Configuration Parameters
Vremenski trenutak u kojem se pokreće simulacija (start time)i trenutak u kojem se prekida
(stop time) se takođe moraju definisati u Simulinkovom prozoru Configuration Parameters.
17
Pre nego što se pokrene simulacija sistema prikazanog na slici 6, prvo moramo otvoriti prozor
osciloskopa duplim klikom na blok osciloskopa. Zatim, selektujemo ili Start ili Run na vrhu
ekrana kako bismo pokrenuli simulaciju.
Simulacija bi trebala da se pokrene jako brzo i prozor osciloskopa se pojavljuje kao na slici 8.
Slika 8: Primer grafika simulacije u Simulinku
Treba primetiti da je izlaz simulacije na vrlo niskom nivou relativan u odnosu na ose
osciloskopa. Ovo se ispravlja upotrebom Autoscale dugmeta.Postoji mnogo parametarskih
opcija za simulacije. U ovom primeru, razmatraćemo samo Start i Stop vremena, koja ukazuju
Simulinku za vreme kojih perioda treba da se izvrši simulaciju. Promenimo Start vreme iz 0.0
u 0.8. Promenimo Stop vreme iz 10.0 u 2.0, što bi trebalo da bude neposredno pošto se sistem
smiri. Zatvorimo dialog box (slika 7) i vratimo se na simulaciju. Posle korišćenja Autoscale
dugmeta, prozor osciloskopa bi trebao da ostvari mnogo bolji prikaz odskočnog odziva (Slika
9).
18
Slika 9:Primer grafika simulacije u Simulinku posle upotrebe Autoscale dugmeta
2.5 Izgradnja složenijeg sistema
Da bi se izgradio neki složeniji sistem, kao prvo, potrebno je prikupiti sve neophodne
blokove iz Simulinkovih biblioteka blokova5. Zatim, treba modifikovati blokove tako da se oni
usklade sa blokovima u željenom modelu. Konačno, blokovi se međusobno spajaju pomoću
linija kako bi se obrazovao kompletan sistem. Posle ovoga, kompletan sistem može da se
verifikuje kako bi se ustanovilo da li radi.
2.6 Modifikovanje blokova
Model sistema prikazan na slici 10 je složeniji od modela datog na slici 6. On sadrži još tri
nova bloka:
1. Sum – sumator,
2. Gain - pojačavač
3. PID Controller – proporcionalno-integralno-diferencijalni kontroler.
Takođe novi model sadrži i negativnu povratnu spregu.
5 Predstavlja celine u kojima su grupisani elementi koji nam trebaju, poređani i postavljeni od redosleda važnosti do zajedničkih karakteristika.
19
Slika 10. Primer blok dijagrama u Simulinku
Sledeći koraci će ispravno modifikovati blokove u modelu datom na slici 10:
Dva puta kliknite na Sum blok. Otvoriće se njegov dialog box (slika 11). Kako ćete
hteti da dodate drugi ulaz tj. negativnu povratnu spregu, unesite + - u listu
označenih polja. Zatvorite dialog box.
Dva puta kliknite na Gain blok. Promenite proporcionalno dejstvo i zatvorite dialog
box (slika 12).
Dva puta kliknite na blok PID regulatora i promenite proporcionalno dejstvo, kao i
integralno dejstvo. Zatvorite dialog box (slika 13).
Dva puta kliknite na blok prenosne funkcije. Ostavite numerator, ali promenite
denumerator. Zatvorite dialog box (slika 14).
Promenite naziv bloka PID regulatora u PI regulator dva puta klikćući na reč PID
regulator.
Konačno, svi blokovi su uneseni ispravno.
22
2.7 Spajanje blokova linijama
Jednom kada su blokovi ispravno postavljeni, potrebno ih je povezati. U tu svrhu je
potrebno pratiti sledeće korake.
• Prevucite kursorom od izlaznog terminala Step bloka ka pozitivnom ulazu Sum
bloka.
• Rezultirajuća linija bi trebala da ima strelicu na kraju. Ako je strelica otvorena i
crvena, to znači da ništa nije povezano.
• U ovom slučaju, strelica može da se posmatra kao izlazni terminal i da se nacrta baš
kao i u prethodnom slučaju. S druge strane, ukoliko želite da ponovo nacrtate liniju
ili da povežete liniju sa pogrešnim terminalom, liniju treba da izbrišete i ponovo
nacrtate. Brisanje linije se postiže tako što se linija selektuje i jednostavno pritisne
Delete dugme na tastaturi.
• Nacrtajte liniju tako da povežete Sum blok sa Gain ulazom. Takođe, nacrtajte liniju
od Gain bloka do PI kontrolera, zatim liniju od PI regulatora do objekta i liniju od
objekta do osciloskopa.
• Linija koja ostaje da se nacrta je signal povratne sprege koji se povezuje sa izlazom
objekta i negativnim ulazom Sum bloka.
• Prevucite negativni deo Sum bloka na dole i otpustite miša, tako da linija bude
nezavršena. Od krajnje tačke linije, kliknite i prevucite liniju između bloka
TransferFCN i osciloskopa.
• Konačno, potrebno je postaviti oznake u model kako bi se identifikovali signali
r,e,u,y. Da biste to uradili dva puta kliknite na tačku koju želite da obeležite.
• Ukucajte r na izlazu iz Step bloka, obeležavajući referentni signal i zatim kliknite
izvan kako biste završili editovanje.
• Označite signal greške (e), upravljački signal (u), i izlazni signal (y) na isti način.
Krajnji model će izgledati kao na Slici 10.
• Da biste sačuvali model, selektujte Save As u File meniju i ukucajte željeno ime
modela, primer3.
Jednom kada je model završen, moguće je izvršiti simulaciju istog. To se radi tako što se
selektuje Start u simulacionom meniju i pokrene simulacija. Izlazni signal je moguće videti
duplim klikom na osciloskop, čime se dobija grafik izlazne funkcije (slika 15).
23
Slika 15: Izlazni signal blok dijagrama sa slike 10.
Dakle, Simulink je grafičko proširenje Matlaba za modelovanje i simulaciju sistema.
Jedna od glavnih prednosti Simulinka jeste njegova sposobnost da se modeluju nelinearni
sistemi, čiju prenosnu funkciju nije moguće uraditi u Matlabu. Druga prednost Simulinka je
njegova sposobnost da uzme u razmatranje početne uslove. Jednom kada se napravi prenosna
funkcija, početni uslovi se uzimaju da su nula.
U narednom poglavlju biće objašnjeno modelovanje i simulacija električnih sistema u
Matlab/Simulinku. U pitanju su dva načina modelovanja:
1. Potpuno blokovsko predstavljanje na osnovu sistema jednačina koje opisuju dati
električni sistem,
2. Modelovanje korišćenjem matematičkog modela u prostoru stanja.
Prvi način modelovanja može se primeniti i kod linearnih i nelinearnih električnih sistema, dok
je drugi način primenljiv samo u slučaju linearnih sistema.
24
3. Modelovanje i simulacija električnih sistema u Matlab-Simulinku
3.1 Metod potpunog blokovskog predstavljanja
Na primeru simulacije odskočnog odziva RLC kola biće prikazan metod potpunog
blokovskog predstavljanja sistema u Simulink-u. Jednostavno RLC kolo je prikazano na slici
16. Vrednosti parametara RLC kola su :R=50 Ω, L=0.1 H i C=1000 μF. Amplituda step
funckcije napona izvora ui iznosi 100 V. Početne vrednosti induktivne struje i napona
kondenzatora su jednake nuli. Vrednost step napona će se promeniti u trenutku t=0.05 s, a
vreme trajanja simulacije je 0.5 s.
Slika 16: RLC kolo
Ulazna promenljiva je napon izvora ui, a izlazne promenljive su napon kondenzatora uc i
induktivna struja iL. Za konturu 1 i čvor 2 se prema I i II kirhofovom zakonu mogu napisati
jednačine
−𝑢𝑖 + 𝑖𝑖𝑅 + 𝑢𝑐 = 0
−𝑖𝑖 + 𝑖𝐿 + 𝑖𝑐 = 0 (3.1)
Za granu sa induktivnošću naponska jednačina je
𝑢𝑐 = 𝐿𝑑𝑖𝐿
𝑑𝑡 (3.2)
a za granu sa kapacitivnošću
𝑢𝑐 =1
𝐶∫ 𝑖𝑐𝑑𝑡 (3.3)
Ako se indukovana struja i napon kondenzatora izaberu kao promenljive stanja, onda se
jednačine (3.1) i (3.3) mogu napisati na sledeći način:
𝑖𝐿 =1
𝐿∫ 𝑢𝑐𝑑𝑡 (3.4)
𝑢𝑐 =1
𝐶∫ (
𝑢𝑖−𝑢𝑐
𝑅− 𝑖𝐿) 𝑑𝑡 (3.5)
25
Preporučljivo je jednačine (3.4) i (3.5) najpre prikazati u obliku blok dijagrama što znatno
olakašava kasniju izradu modela u Simulink-u. U prvom koraku je potrebno pretvoriti
jednačine iz vremenskog domena u Laplasov domen. Uz pretpostavku da sve promenljive
stanja u trenutku t=0 imaju vrednost nula, integral u vremenskom domenu odgovara množenju
sa 1/s, gde je s Laplsov operator. Jednačine (3.4) i (3.5) tada postaju
𝑖𝐿(𝑠) =1
𝐿
1
𝑠𝑢𝑐(𝑠) (3.6)
𝑢𝑐(𝑠) =1
𝐶
1
𝑠(
𝑢𝑖(𝑠)−𝑢𝑐(𝑠)
𝑅− 𝑖𝐿(𝑠)) (3.7)
Simulacioni blok dijagram na slici 17 je formiran na osnovu jednačina (3.6) i (3.7).Na ovoj
slici je prikazano potpuno blokovsko predstavljanje RLC kola. Da bi se dobio odskočni odziv
kola, step napon izvora se simulira pomoću generatora Step funkcije koji se nalazi u biblioteci
Sources (слика 18).
Slika 17: Potpuno blokovsko predstavljanje RLC kola
26
Slika18: Dialog box bloka Step
Vrednosti parametara R, L i C u modelu na slici 17 je moguće definisati u svakom bloku Gain
posebno kao konkretne numeričke vrednosti. Takođe je moguće, umesto konkretnih vrednosti,
koristiti imena promenljivih (simbolička imena) kojima se vrednosti dodeljuju u Matlab
Command Window-u. U tom slučaju se simboličkim imenima dodeljuju vrednosti pre
pokretanja simulacije na sledeći način:
>> R=50
R =
50
>> L=0.1
L =
0.1000
>> C=0.001
C =
1.0000e-03
Vrednosti izlaznih veličina: struje izvora ii, struje induktiviteta iL i napona kondenzatora uc se
mogu otpremiti i u Matlab-ov radni prostor. Za to se u modelu koriste blokovi To Workspace
27
(slika 17). Vreme se takođe može snimiti (sačuvati) kao izlazna karakteristika. U tu svrhu se
koriste blok Clock koji se nalazi u bibilioteci Sinks i sa njim povezan blok ToWorkspace.
Posle podešavanja parametara simulacije unutar Configuration Parameters dijalog boksa, i
stavljajući da je Start Time=0, a StopTime=0.5, pokreće se simulacija datog RLC kola.Da bi se
prikazali rezultati simulacije (slika 19) u Matlab Command Windowsu potrebno je ispisati
sledeće naredbe:
>> subplot(3,1,1), plot(t,ii)
>>subplot(3,1,2), plot(t,iL)
>>subplot(3,1,3), plot(t,uc)
Dakle, za vizuelni prikaz izlaznih rezultata snimljenih u radnom prostoru koriste se
Matlab naredbe plot i subplot. Naredbom subplot definiše se deo slike na koji se smešta
odgovarajući plot grafik.
Slika 19:Talasni oblici odskočnog odziva RLC kola.
28
3.2 Metod modela u prostoru stanja
Jedna od prednosti modelovanja dinamičkih sistema pomoću promenljivih stanja sastoji
se u tome što se od tako dobijenih modela direktno može preći na simulacioni dijagram. Dakle,
potrebno je diferencijalnu jednačinu bilo kog reda svesti na Košijevu normalnu formu.
Sistem opisan pomoću Košijeve normalne forme , tj., pomoću n diferencijalnih jednačina
prvog reda predstavljen je na sledeći način:
𝑥1 = 𝑓1(𝑢, 𝑥, 𝑡)
𝑥2 = 𝑓2(𝑢, 𝑥, 𝑡) (3.8)
⋮ 𝑥 = 𝑓𝑛(𝑢, 𝑥, 𝑡)
Ovo je savremena forma zapisivanja i koristi se u radu sa računarima.
Sistem jednačina (3.8) može se predstaviti u vektorsko-matričnom obliku, pri čemu se dobija
model sistema u prostoru stanja:
= 𝐀(𝑡) ∙ 𝐱 + 𝐁 ∙ 𝐮 (3.9)
gde je 𝐱 = [𝐱𝟏 𝐱𝟐 … 𝐱𝐧]𝐓n-dimenzionalni vektor stanja, 𝐮 = [𝐮𝟏 𝐮𝟐 … 𝐮𝐫]𝐓je vektor
ulaznih signala, A(t) je matrica stanja koja može biti i vremenska funkcija i B je matrica
ulaza.Izlaz sistema se definiše pomoću sledeće jednačine:
𝐜 = 𝐃𝐱 + 𝐇𝐮 (3.10)
gde je c vektor izlaza a D i H su odgovarajuće matrice izlaza.
Model u prostoru stanja predstavljen jednakostima (3.9) i (3.10) odnosi se na sisteme sa
više ulaza i izlaza.
Za sisteme sa jednim ulazom i izlazom model u prostoru stanja je uprošćen:
= 𝐀(𝑡) ∙ 𝐱 + 𝐛 ∙ 𝑢 (3.11)
𝑐 = 𝐝𝐱 + 𝐡𝑢 (3.12)
U ovom slučaju u i c su skalarne veličine, b je vektor ulaza, a d i h su takođe vektori.
Na sledećem primeru pokazaćemo kako se u programskom paketu Matlab/Simulink na ovaj
način može izvršiti modelovanje i simulacija električnih kola.
Primer3.2.1: Za električno kolo dato na slici 20 odrediti model u prostoru stanja ako je RC =1 i početni uslovi su jednaki nuli, 𝑥1(0) = 0 i 𝑥2(0) = 0. Na osnovu dobijenog modela
formirati Matlab/Simulinkov model i izvršiti simulaciju izlaznog signala y=c ako je ulazni
signal 𝑢 = 10sin𝜋𝑡/10.
29
Slika 20: Električno kolo primera 3.2.1
Rešenje:
Kod električnih mreža za promenljive stanja pogodno je usvojiti struje kroz induktivne
namotaje i napone na kondenzatorima. Za električno kolo dato na slici 22 za promenljive stanja
biramo napone na kondenzatorima 𝑥1 i 𝑥2. Za dato kolo važe sledeće relacije:
𝑖3 = 𝑖1 − 𝑖2 (3.13)
𝑢 = 𝑥1 + 𝑅𝑖3 = 𝑥1 + 𝑅(𝑖1 − 𝑖2) (3.14)
𝑢 = 𝑥1 + 𝑥2 + 𝑅𝑖2 (3.15)
𝑖1=𝑥1
𝑅+ 𝐶
𝑑𝑥1
𝑑𝑡 (3.16)
𝑖2=𝑥2
𝑅+ 𝐶
𝑑𝑥2
𝑑𝑡 (3.17)
Iz jednačine 3.15 dobijamo:
𝑖2 =𝑢
𝑅−
𝑥1
𝑅−
𝑥2
𝑅 (3.18)
Zamenom (3.16) i (3.18) u (3.14) dobija se:
𝑢 = 𝑥1 + 𝑅𝑖1 − 𝑅𝑖2=
=𝑥1+R[𝑥1
𝑅+ 𝐶
𝑑𝑥1
𝑑𝑡]-R[
𝑢
𝑅−
𝑥1
𝑅−
𝑥2
𝑅]=
= 3𝑥1 + 𝐶𝑅𝑑𝑥1
𝑑𝑡+ 𝑥2 − 𝑢 (3.19)
Daljim sređivanjem relacija (3.19) dobijamo prvu diferencijalnu jednačinu koja opisuje sistem
dat na slici (20):
𝑑𝑥1
𝑑𝑡 =
1
𝑅𝐶[−3𝑥1 − 𝑥2 + 2𝑢] (3.20)
Zamenom jednačine (3.17) u (3.15) dobija se:
𝑢 = 𝑥1 + 𝑥2 + 𝑅 [𝑥2
𝑅+ 𝐶
𝑑𝑥2
𝑑𝑡] (3.21)
30
Daljim sređivanjem jednačine (3.21) dobija se druga diferencijalna jednačina date električne
mreže:
𝑑𝑥2
𝑑𝑡 =
1
𝑅𝐶[−𝑥1 − 2𝑥2 + 𝑢] (3.22)
Model u prostoru stanja u matričnom obliku dobija se na osnovu jednačina (3.20) i (3.22):
[1
2]=
1
𝑅𝐶[
−3 −1
−1 −2] [
𝑥1
𝑥2]+
1
𝑅𝐶[
2
1] 𝑢 (3.23)
Iz jednačine (3.23) jednostavno se određuju matrice A i B:
A= 1
𝑅𝐶[
−3 −1
−1 −2] , 𝐁 =
1
𝑅𝐶[
2
1] (3.24)
Za izlaz električne mreže 𝑦 = 𝑐 dobijamo sledeći model:
𝑦 = −𝑥1 − 𝑥2 + 𝑢 (3.25)
tj.,
[𝑦] = [−1 −1] [𝑥1
𝑥2] + [1]𝑢 (3.26)
Iz jednačine (3.26) jednostavno se određuju matrica D i skalar h:
𝐃 = [−1 −1]i ℎ = 1 (3.27)
Programski paket Matlab/Simulink pruža mogučnost simulacije linearnog sistema čiji je model
dat u prostoru stanja u matričnom obliku pomoću State-Space simulacionog bloka (slika 21).
Duplim klikom miša na ovaj blok otvara se njegov prozor za unos parametara, tj., elemenata
matrica i početnih vrednosti. Na slici 22 prikazan je izgled ovog prozora za primer 3.21, tj.,
kada važe jednačine (3.24). (3.27), RC = 1 i kada su početni uslovi jednaki nuli, 𝑥1(0) = 0 i
𝑥2(0) = 0. Kao što se sa slike 22 vidi vrste matrica odvajamo tačka zarezom prilikom unosa.
Oznake matrica A i B su iste kao u jednačini (3.24), dok je matrica D iz jednačine (3.27)
označena slovom C, a skalar h označen slovom D na slikama 21 i 22.
Ulazni napon električnog kola sa slike je sinusni signal 𝑢 = 10sin𝜋𝑡/10. On se modeluje
pomoću bloka Sine Wave iz Source Simulinkove biblioteke.Prozor za unos parametra bloka
Sine Wave za ulaz 𝑢 dat je na slici 23.
Na slici 24 prikazan je Simulinkov simulacioni blok dijagram električnog sistema datog na slici
20. Promena izlaznog napona y sa vremenom prikazana je na slici 25.
33
Slika24: Simulinkov simulacioni blok dijagram električnog sistema datog na slici 22
Slika 25: Promena izlaznog napona y sa vremenom
0 10 20 30 40 50 60 70 80 90 100-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
t
y
34
4. Osnovne biblioteke za modelovanje električnih sistema u Simscape-u
Da bi omogućio upotrebu jedinstvenog jezika za modelovanje MathWorks je svoj paket
Simulink® (MATLAB®, R2007a) proširio alatom Simscape™6. Simscape je namenjen
modeliranju, simulaciji i analizi multidomenskih fizičkih sistema. Modelovanje se bazira na
konceptu generalizovane mreže i uopštenih Kirhovljevih zakona. Umesto matematičkih
blokova (Simulink), za gradnju modela sistema koriste se blokovi koji odgovaraju fizičkim
komponentama (Simscape) kao što su kondenzator, kalem, otpornik, bipolarni tranzistor,
ventil, cilindar, prigušnica itd. Između komponenti se uspostavljaju veze koje odgovaraju
energetskim tokovima i tokovima signala. Na taj način struktura modela odgovara strukturi
realnog sistema a sam proces formiranja modela liči na sklapanje realnog sistema. Korisnik iz
biblioteke bira odgovarajuće blokove a onda ih povezuje linijama prateći strukturu sistema.
Na slici 26 su prikazane biblioteke Simscape:
• Foundation Library
• SimDriveline
• SimElectronics
• SimHydraulics
• SimMechanics
• SimPowerSystems
• Utilities
Na korisničkom nivou, svaka komponenta je predstavljena pomoću svog interfejsa.
Interfejs je određen brojem i tipom priključaka preko kojih se razmenjuju energija i informacije
sa spoljnim svetom. U Simscape terminologiji ovi priključci se zovu energetski odnosno
signalni portovi. Portovi su konceptualna mesta kroz koja energija/signal ulazi/izlazi iz
komponente. Energetski portovi odgovaraju fizičkim vezama kroz koje se vrši dvosmerna
razmena energije bez gubitaka.
Signalni portovi su jednosmerni i kroz njih se prenose signali između blokova. Energetski
portovi imaju svoj tip u zavisnosti od energetskog domena kojem pripadaju (električni,
hidraulički, termalni, mehanički). Svakom energetskom portu se pridružuju po dve energetske
veličine (napor i tok) čiji proizvod određuje protok energije kroz dati port.
Podela na napor-tok (accross-through) veličine se bazira na načinu merenja ovih veličina.
Veličinu napora posmatramo kao razliku (promenu) između dve prostorno odvojene tačke u
energetskom toku. Komplementarna veličina toka (u smislu da njihov proizvod određuje
snagu) je karakteristika jedne tačke u energetskom toku.
Veze između komponenti (blokova) se modeluju pomoću linija koje predstavljaju fizičke veze
koje prenose energiju ili signale. Energetske veze su dvosmerne. Kada formiramo vezu
moramo da definišemo smer toka energije. Signali su, kao i u Simulinku, jednosmerni.
6 Programski dodatak MATLAB laboratorije u sklopu SIMULINK-a
35
Slika 26:Simscape biblioteke
Osnovni gradivni elementi u Simscape-u nalaze se u Foundation Library.Tu se nalaze blokovi
koji predstavljaju realne komponente kao što su otpornik, kondezator, masa, opruga, ventil,
komora itd. Oni su organizovani u biblioteke u skladu sa domenom kojem pripadaju (slika 27).
Na slici 27 uočavamo 7 biblioteka SimscapeFoundation Library:
1. Electrical -električna
2. Hydraulic-Hidraulična
3. Magnetic-Magnetna
4. Mechanical-Mehanička
5. Pneumatic-Pneumatska
6. Thermal-Termička i
7. Physical Signals-Fizički signali
Blokovi se mogu opisati na dva načina: kao bazični elementi kojima se opisuje neka fizička
pojava (model ponašanja) ili kao mreža blokova nižeg nivoa (model strukture). Za opis
ponašanja koristi se Simscape™ Language (SL). To je tekstualni, objektno-orijentisan jezik za
opis ponašanja korisnički definisanih blokova. SL samo proširuje mogućnosti Simscape
okruženja ali se ne može koristiti kao samostalni jezik. Drugim rečima, pomoću SL-a se
formira novi model ponašanja, dok se za formiranje strukturnih modela i dalje koristi Simscape
grafički editor.
36
Slika 27: Osnovne biblioteke Simscape/Foundation Library
Za simulaciju električnih sistema koristi se Electrical biblioteka. Blokovi ove biblioteke
prikazani su na slici 28. To su nove tri biblioteke:
1. Electrical elements –električni elementi
2. Electrical sources –električni izvori
3. Electrical sensors-električni senzori
37
Slika 28: Simscape Electrical biblioteka
Biblioteka Electrical elements sadrži osnovne elemente kojima možemo realizovati električne
šeme (slika 29): otpornik ,kalem ,kondenzator , uzemljenje, transformator, diodu itd.
38
Slika 29: Elementi Simscape Electrical Elements biblioteke
Biblioteka Electrical Sources sadrži jednosmerne i naizmenične izvore napona i struje (slika
30).
39
Slika 30: Elementi Simscape Electrical Sources biblioteke
Biblioteka Electrical sensors data je na slici 31. Ona se sastoji iz dva senzora
1. Current Sensor –ampermetar (senzor struje)
2. Voltage Sensor –voltmetar (senzor napona)
Oba bloka imaju po tri izvoda. Po dva za povezivanje u električnu šemu (+ i – izvod) i po jedan
za merenje i prikaz rezultata merenja (I-strujni izlaz, V-naponski izlaz).
Slika 31: Elementi bibliotekeElectrical sensors
40
Slika 32: BibliotekaUtilities
Da bi grafički mogli da predstavimo vrednosti struje i napona koje su izmerene senzorima
koristi se biblioteka Utilities (slika 32). Ova biblioteka sadrži sledeće elemente:
• PS/Simulinc Converter
• Simulink/PS Converter
• Connection Port
• Solver Configuration
• Two – Way Connection.
Element PS/Simulinc Converter konvertuje fizičke signale (PS) struje i napona strujnih i
naponskih izvora Simscape-a u signale koji mogu da se prikažu na nekom od Simulinkovih
Sinks blokova (npr., Scope – osciloskopu). Izbor fizičkog signala koji konvertujemo u
Simulinkov signal vrši se unutar prozora PS/Simulinc Converter-a (slika 33). Izborom
odgovarajuće fizičke jedinice parametra Output signal unit određuje se koja je fizička veličina
41
izmerena i spremna za prikazivanje u Simulinku. Izborom A struja se konvertuje u Simulinkov
signal. Slično izborom V konvertuje se napon u signal koji se može prikazati na Simulinkovom
Scope bloku.
Element Simulinc/ PS Converter konvertuje Simulink signale u fizičke signale PS, koji
predstavljaju ulaze u Simscape modele.
Slika 33:Prozor PS/Simulinc Converter-a za izbor parametara
Element iz Utillies biblioteke Solver Configuration je obavezan blok u svakom Simscape
modelu (slika 44). On se vezuje za bilo koju granu ispitivanog električnog kola i služi za
definisanje parametara simulacije (slika 45).
42
Slika 34: Element Solver Configuration
Slika 35: Prozor elementa Solver Configuration za unos parametara simulacije
43
5. Modelovanje i simulacija električnih sistema u Simscape-u
U prethodnoj glavi električni sistemi su modelovani u okviru biblioteke Simulink.
Korisnik je najpre sam morao da izvede matematičke jednačine koje opisuju električne sisteme
a potom da date jednačine blokovski predstavi, poveže i simulira u Simulinku.
Jednostavniji pristup modelovanju električnih sistema pruža biblioteka Simscape. Ona od
korisnika ne zahteva unapred pripremljene matematičke modele za unos u grafički editor kao
kod Simulinka. Potrebno je samo da se pravilno povežu elementi Simscape/Electrical
biblioteke koji podsećaju na realne električne komponente.
U nastavku, na primerima konkretnih električnih kola, pokazaćemo jednostavnost modeliranja
i simulacije u Simscape-u.
Primer 5.1
Izvršiti modelovanje električnog kola datog na slici 36 u programskom paketu
Matlab/Simscape.Brojni podaci su U1=1V, 𝑅 = 1𝛺, 𝐶 = 1F. Početne vrednosti napona na
kondenzatorima su jednake 0V. Rezultat simulacije, promenu izlaznog napona U4 sa
vremenom, prikazati grafički (Start Time=0, StopTime=30).
Slika 36: Električna mreža primera 5.1
44
Slika 37. Simscape model električnog kola primera 6.1.
Na slici 37 prikazan je Simscape model električnog kola sa slike 36. Povezivanje elemenata iz
Simscape Electrical Elements biblioteke (slika 29) izvršena je jednostavno i brzo na osnovu
električne šeme. Prozori za unos parametara DC Voltage Source U1, svih elemenata Resistor i
Capacitor prikazani su na slikama 38, 39 i 40, respektivno.Takođe obavezni elementi svakog
električnog Simscape modela su uzemljenje (Electrical Reference) i blok Solver Configuration.
Slika 38: Prozor za unos parametra jednosmernog naponskog izvora
46
Pošto se u zadatku zahteva praćenje talasnog oblika izlaznog napona U4 za izlazne portove
kola povezali smo + i - krajeve bloka Voltage Sensor. Sa trećeg porta bloka Voltage Sensor,
koji je označen slovom V fizički signal koji predstavlja izlazni napon U4 se dovodi na ulaz
bloka PS-Simulink Converter. Ovaj blok konvertuje fizički signal, tj., napon U4 u signal koji
može dalje da se ispituje u Matlab/Simulinku. Zato smo izlaz bloka PS-Simulink
Converterpovezali sa ulazom u Simulinkov blok ToWorkspace. Da bi prikazali promenu
izlaznog napona U4 sa vremenom potrebno je u modelu na slici 37 povezati i blok Clock sa
novim blokom ToWorkspace. Posle pokretanja simulacije, u Matlab Command Window unose
se naredbe:
plot(t,U4)
grid
nakon čega se otvara prozor prikazan na slici 38.
Slika 38: Rezultat simulacije. Promena izlaznog napona U4 sa vremenom.
0 5 10 15 20 25 300.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
t
U4
47
Primer 5.2
Izvršiti modelovanje električnog kola datog na slici 39 u programskom paketu
Matlab/Simscape.
Brojni podaci su: 𝐿 = 0.1H, 𝐶 = 0.005F, 𝑅 = 100Ω, 𝑒1 = 10sinπ
10t, 𝑒2 = 15sin
π
2t. Svi
početni uslovi su nula.Izlazni signali električnog su struja 𝑖1 i napon na otporniku R.
Rezultate simulacije, promenu 𝑖1sa vremenom i promenu napona na otporniku R sa vremenom
prikazati grafički (Start Time=0, StopTime=400).
Slika 39: Električno šema sistema primera 5.2
Slika 40:Simscape model električnog kola sa slike 39
Na slici 40 prikazan je Simscape model električnog kola sa slike 39. Prozori za unos
parametara AC Voltage Source e1 i e2 su na slikama 41 i 42, respektivno. Takođe obavezni
48
elementi ovog električnog Simscape modela su uzemljenje (Electrical Reference) i blok Solver
Configuration.
Slika 41:Prozor za unos parametara AC Voltage Source e1
Slika 42: :Prozor za unos parametaraAC Voltage Source e2
Pošto se u zadatku zahteva praćenje talasnog oblika izlaznog napona na otporniku R, paralelno
sa njim povezali smo + i - krajeve bloka Voltage Sensor. Sa trećeg porta bloka Voltage
Sensor, koji je označen slovom V fizički signal koji predstavlja izlazni napon ur se dovodi na
ulaz bloka PS-Simulink Converter. Izlaz bloka PS-Simulink Converter povezali smo sa ulazom
u Simulinkov blok ToWorkspace. Takođe se zahteva posmatranje talasnog oblika struje koja
teče kroz kalem, i1. Zato je postavljen ampermetar, tj, Current Sensor redno, između izvora e1
i kalema L. Sa trećeg porta bloka Current Sensor, koji je označen slovom I fizički signal koji
predstavlja izlaznu struju i1 se dovodi na ulaz bloka PS-Simulink Converter. Izlaz bloka PS-
Simulink Converter povezali smo sa ulazom u novi Simulinkov blok ToWorkspace. Posle
pokretanja simulacije, u Matlab Command Window unose se naredbe plot(t,i1) i plot(t,ur), za
grafičko prikazivanje rezultata merenja (slike 43 i 44).
49
Slika 43: Rezultat simulacije. Promena izlazne struje i1 sa vremenom
Slika 44:Rezultat simulacije. Promena izlaznog napona ur sa vremenom
0 50 100 150 200 250 300 350 400-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
t
i1
Simulacija izvršena u Simscape-u
0 50 100 150 200 250 300 350 400-15
-10
-5
0
5
10
15
t
ur
Simulacija izvršena u Simscape-u
50
Primer 5.3
Izvršiti modelovanje i simulaciju električnog sistema datog na slici 45 u programskom
paketu Matlab/Simscape.
Brojni podaci su: 𝐿 = 100mH, 𝐶 = 0.351F, 𝑅1 = 𝑅2 = 100Ω, 𝑛 = 100. Svi početni uslovi su
nula.Strujni izvor je sinusni signal amplitude 10A i frekvencije 60Hz. Izlazni signali su napon
primara i struja sekundara (Start Time=0, StopTime=0,4).
Slika 45: Električno šema sistema primera 5.3
Slika 46:Simscape model električnog kola sa slike 45
Kolo dato na slici 45 sadrži idealan transformator, koji je na slici 46 predstavljen pomoću
Simscape/Electrical elementa čiji je prozor za unos parametara dat na slici 47. Simscape model
koji sadrži element Ideal Transformer mora da ima dva uzemljenja po jedno za primarno i
sekundarno kolo (slika 46). Dva Scope bloka smo koristili za prikaz rezultata simulacije, tj.,
napona primara (slika 48) i struje sekundara (slika 49).
53
Zaključak
Priča kako je nagli razvoj računarstva osamdesetih i naročito devedesetih godina
prošlog veka izmenio svet, nije više nikakva novina. Nove tehnologije, mikroprocesori i
globalne računarske mreže napravile su od računara uređaj bez koga se ne može zamisliti iole
ozbiljniji posao, kao ni svakodnevni život na ovoj planeti. Život pored računara i sa računarom,
u stvari, postaje svakodnevnica.
U poslednjih nekoliko godina sa masovnijim korišćenjem računara u školama stvoreni
su uslovi za kvalitetnije inoviranje obrazovne tehnologije. Nastava sa multimedijalnom
sadržinom postoji u nastavnoj praksi duže vreme, ali je termin multimedijalna nastava
pedagoška kategorija novijeg datuma. Multimedijski sistem u nastavi izgrađuje se zbog
potrebe funkcionalne i tehničke integracije brojnih i raznovrsnih medija u nastavi u
sistematične sklopove, odatle i naziv multimedijski sistem.
Sve više se nameće potreba za savremenom školom i savremenim učiteljima. Postavlja
se pitanje kako utiče tehnologija obrazovanja na nastavu i učenje. Postavlja se i drugo pitanje:
u kojoj meri su škole spremne za prihvatanje novih tehnologija i informatike u nastavi. Oba
pitanja su ključna za proces učenja, a naročito su aktuelna za proces aktivnog učenja. Većina
psihologa tvrdi da i pored značajnih rezultata, još uvek postoje ozbiljni nedostaci u nastavnom
procesu. Prvi takav nedostatak je nedovoljna aktivnost dece u nastavnom procesu, kao i
nesamostalnost učenika. Usvajanje znanja u najčešćem slučaju je reproduktivno, učenik
reprodukuje znanje koje mu učitelj/nastavnik prenosi. Ako učenik nije pasivan, nego aktivno
učestvuje u toku predavanja, učenje će biti mnogo efikasnije. Drugi nedostatak je što učenik ne
dobija povratne informacije o rezultatima delatnosti. Školske ocene imaju informativni
karakter. Učenici ocene najčešče ne dobijaju na osnovu učenja, i učenik ne zna tačno da odredi
šta je u odgovaranju dobro, a šta loše. Ispitivanja dokazuju da je učenje mnogo efikasnije, ako
se učenik informiše o rezultatima učenja. Nastavnikovo obrazlaganje ocene doprinosi uspehu
učenja. Ocene date u tajnosti negativno utiču na tok učenja. Za uklanjanje gore navedenih
nedostataka traže se nove metode u nastavi. Jedna od mogućnosti je programirana nastava.
Programirana nastava obuhvata programirani (materijal) udžbenik i primenu mašine za učenje
u procesu nastave. Programirana nastava bi delimično uklonila gore navedene nedostatke u
tradicionalnoj nastavi. Učenik je aktivan, jer planira proces nastave tako što samostalno radi,
može da kontroliše sopstveno usvajanje gradiva. Učenik postepeno, korak po korak, usvaja
gradivo, tempo učenja je primereno sposobnostima učenika. Iako su programirani udžbenici,
pokazali dobre rezultate, oni ne mogu da zamene živu reč nastavnika. Uz pomoć ovih sredstava
ne može se usvojiti složeno gradivo . Učenici koje bi učili uz pomoć ovih sredstava bili bi
siromašniji u međuljudskim odnosima. Ako je cilj škole da priprema učenike za život, treba
učiniti ozbiljne korake, da učenik, koji izlazi iz obrazovne ustanove ima praktična znanja na
polju koriščenja računara.
Danas se zna da su računari i internet, IT tehnologija7, veoma važni faktori za
obučavanje odraslih, ali mnogi sumnjaju da virtuelna stvarnost doprinosi obuci mladih
generacija. Misljenja su podeljenja ali svi uviđaju da tehnologija i IT tehnologija8 idu napred i
7Informaciona tehnologija je opšti termin koji opisuje tehnologiju koja pomaže proizvodnji, manipulaciji, skladištenju,
komunikaciji i distribuciji informacija. 8 Termin (pojam) „informaciona tehnologija” često obuhvata i znatno šire polje oblasti tehnologije. Sve one aktivnosti kojima se IT
profesionalci bave, od instalacija aplikativnih programa do projektovanja složenih računarskih mreža i informacionih sistema. Neke od tih
aktivnosti su: umrežavanje i inženjering računarskog hardvera, dizajniranje softvera i baza podataka, kao i upravljanje i administracija
informacionim sistemom.
54
u njihovom napredovanju i uzdizanju učestvuju svi, kako odrasli tako i oni najmlađi. Svako u
toj virtuelnoj stvarnosti može raditi sta god poželi, biti ko god želi, bez granica i ograničenja.
Naravno najviše je mesta ostavljeno za one koji u toj virtuelnoj stvarnosti žele da se bave
naukom, ostvare svoje snove i ciljeve, provere da li to što su zamislili funkcioniše, bez bilo
kakve opasnosti, i te snove i želje pretvoriti u stvarnost. Jedno je sigurno, virtuelna stvarnost
omogućava da sve sto zamislimo uz malo truda proverimo i napravimo u realnosti i učinomo
čovečanstvo ponosim što postojimo.
Jedan od tih, nazovimo ga i virtuelnom stvarnošću, jeste program i software MATLAB,
virtuelna laboratorija u kojoj možemo proveriti i teoriju i praksu, usavršiti sadašnjost i stvoriti
budućnost.
Poznavanje ovog programskog jezika daje odskočnu dasku u svetu IT tehnologije.
Jedan od ciljeva pisanja ovog rada jeste da programski jezici kao što je ovaj uđu u skole i budu
sastavni deo svakodnevnog učenja. U inostranim zemljama postoji podatak da skoro 65% škola
srednjih stručnih se obučava u Matlabu i slicnim programima bliskim njihovoj struci, da bi
odmah posle završene škole obučeni ljudi već radili i pomagali zajednici. Jedna od tih stavki je
sada i kod nas, da škole imaju nesto nalik privatnom preduzetništvu, uče i rade u školi, stiču
znanja i usavršavaju se. Primenom MATLAB-a u školi, može se postići isti efekat, deca mogu
naučiti pre svega programski jezik, savladati engleski jezik, naučiti i primenjivati matematiku,
a za one malo više zainteresovanije u ovom programskom paketu postoji i laboratorija za
projektovanje elektronskih mreža i raznih šema koje mogu da se iskoriste u IT tehnologiji. Još
jedna velika novina jeste i korišćenje ovog programa u mnogim firmama širom naše zemlje,
koje se bave elektronikom i elektronskim kolima, projektovanje električnih mreža do izrade
stampanih ploča za razne električne uređaje.
Matlab ima širok spektar primene, od matematike, rada sa matricama i
trigonometrijom, preko funkcija i krivih u prostoru do složenih izračunavanja u elektronici i
elektrotehnici,i mnogim drugim granama nauke i trebalo bi se više posvetiti pažnja ovakim
programskim paketima jer njihovo znanje i umenje mogu nas odvesti u budućnost, a pritom da
sve radimo sa sto manje gubitaka i sa sto večim učinkom.
55
LITERATURA
1. Automatsko upravljanje, udžbenik, Biljana Samardžić, Bojana Zlatković
2. Primena matlaba u elektronici, matematici i fizici, internet izdanje skripte sa
sarajevskog unevrziteta, 2010.
3. Automatsko upravljanje, udžbenik, Biljana Samardžić, Bojana Zlatković
4. Analiza električnih strojeva primjenom računala, dr. sc. Damir Žarko, knjiga
Sveučilista u Zagrebu, Fakultet Elektrotehnike i računarstva, 2004. godina
5. Modeliranje i simuliranje u elektrotehnici MATLAB/SIMULINK, dr Igor Vujović,
Split 2014.
6. Laboratorijski praktikum iz elektrometrologije, dr Mladen Popović, 2006 Beograd
7. Electrometrology – Anew Approach to Engineering Education, Mlden Popović,
Predrag, Zoran Petrović,VII International SAUM Conference, 2001
8. Virtual laboratory for electrometrology Mladen Popović, Vera Petrović, Predrag
Poljak, Zoran Petrović, YUINFO 2003, Kopaonik 2003.
9. Introduction to matlab for engineering student, David Houcque, Northwestern
University, August 2005.
10. Essentials of MATLAB Programming, Volume 10, bz Stephen J. Chapman
11. https://www.mathworks.com- sajt na engleskom jeziku posvecen matlabu 12. www.wikipedija.rs
13. https://www.mathworks.com/academia/student.../tutorials.html