Upload
others
View
62
Download
5
Embed Size (px)
Citation preview
1
AUTOMATIZACIJALaboratorijske vježbe – Primjena gotovih programskih
rješenja (MatLab/Simulink, Octave, Scilab/Xcos))
1.Uvod u MatLab (Octave, Scilab)
2.Matlab,Octave, Scilab u analizi automatskih
sustava pomoću prijenosne funkcije
3.Matematičko modeliranje komponenti sustava
4.Modeliranje i simulacija sustava pomoću
Scilab/Xcos, Simulink
5.Vremenski odzivi sustava za različite koeficijente
prigušenja (Po, P1, P2)
6.Utjecaj parametara PID regulatora i vremenskog
kašnjenja na odziv i amplitudno fazno
frekvencijsku karakteristiku sustava (P, PI, PID).
7.Kolokvij
AUTOMATIZACIJALaboratorijske vježbe – (MatLab, Octave, Scilab)
Polaganje ispita i ocjenjivanje
Vježbe (MatLab, Octave, Scilab) )
su 30 % ukupne ocjene kolegija.
Kolokvij kao i ispit sadrži 3 zadatka ,( ukupno 30 bodova).
Minimum 50 % za pozitivnu ocjenu, (15 bodova) .
Nastava vježbi je obavezna.
Dozvoljen je je jedan opravdan izostanak.
Dva opravdana izostanka rezultiraju kolokviranjem jedne vježbe.
Tri ili više izostanka - gubi se pravo na potpis.
Materijal za učenje – dostupan na web stranici
http://www.sfsb.unios.hr/~mcicak/AU/
AUTOMATIZACIJA
Kontrola,
nadzor i
optimizacija
zasnovani su
na procesu mjerenja.
• znanje i informacije – ključna uloga u industriji
AUTOMATIZACIJA
1. Ekonomski razlozi
- povećanje produktivnosti- povećanje proizvodnje- povećanje kvalitete- ušteda energije
2. Zamjena rada opasnog po čovjeka- nuklearni reaktor- rudnik- otrovne atmosfere
3. Zamjena monotonog rada
- montažna traka
4. Radne operacije izvan fizioloških i umnih mogućnosti čovijeka
- zavarivanje u uskoj cjevi- brza obrada podataka- izrada štampanih pločica
Zadatak :
pomoću odgovarajućih uređaja održati zadano ili željeno stanje nekog
procesa, protiv svih unutrašnjih i vanjskih poremećaja (smetnji).
UPRAVLJANJE
Izvršava rutinske instrukcije bez pomoći čovjeka. Automatski starta ili ponavlja pojedini ciklus rada.
Osnovna značajka :• osjetljivost na poremećaje
• nema povratne veze za samoispravljanje djelovanja
REGULACIJA
• samoispravljajući strojevi koji djeluju prema pogrešci regulacije
(razlici između ulazne i regulirane veličine)
• donosi jednostavne odluke
Osnovna značajka :
• jednostavna petlja
• negativna povratne veza za samoispravljanje djelovanja otklanja vanjske i unutrašnje
poremećaje
Proces kontrole i upravljanja zahtijeva kontinuirano mjerenje
• Aktuator je mehanička naprava koja pretvara energiju u kretanje. Uzima energiju (obično energiju zraka, tekućine, električnu energiju) i pretvara je u neku vrstu gibanja.
• Dakle to je električni, hidraulični ili pneumatski uređaj koji upravlja tokom materijala ili energije. Pretvara ulaznu energiju u izlaznu energiju.
2
• Tri osnovne grupe zadataka koje sistem treba osigurati:
• Otklanjanje utjecaja vanjskih poremećaja (željeni kvalitet i količina proizvoda)
• Osiguravanje stabilnosti procesa (sigurnost)
• Optimiziranje rada procesa
Osnovni tipovi sustava
i zatvorenom petljom
Sa otvorenom petljom
Regulator Proces
R(s) Y(s)
Regulator Proces
Senzor
_
+R(s) Y(s)E(s)
Yp(s)
xu e y
z
regulacijski uređaj PROCES
xi
pobuda odziv
mjerni uređaj
iz poznatih parametara sustava i pobude treba odreditiodziv
iz poznate pobude i odziva treba odrediti parametare sustava
Analiza i sinteza regulacijskog djelovanja Ciljevi analize i sinteze
Zahtjevana stabilnost, minimalna greška u stacionarnom stanju i oblik prijelaznog odziva sustava
Analiza u vremenskoj domeni• Analiza u vremenskom području najčešće podrazumijeva rješavanje
diferencijalnih jednadžbi koje opisuju sustav, ili promatranje odziva sustava na narinute standardne pobudne funkcije na njegovom ulazu.
Analiza u frekvencijskoj domeni
• Temelji se na pobudi sustava sinusnim signalom promjenjive frekvencije i promatranjem odgovarajućeg odziva.
• Za linearne, vremenski nepromjenjive sustave i odziv će biti sinusan, ali će mu na svakoj frekvenciji amplitude i faza biti drugačija.
• Na temelju poznatih ulaznih i izlaznih amplituda i faza crtaju se frekvencijski dijagrami koji su temelj analize sustava u frekvencijskoj domeni.
Primjena gotovih programskih paketa
• MatLab - jedan od komercijalnih matematičkih software paketa/alata (Maple, Mathematica, MathCad …)
OCTAVE, Scilab (Xcos) - nekomercijalni alati
• Posjeduju visoke performanse u numeričkim izračunavanjima i vizualizaciji podataka.
Što je MATLAB ?
OCTAVE ?
Scilab ?
3
• MATLAB (MATrix LABoratory) je programski jezik
namjenjen za tehničke proračune. Objedinjava
računanje, vizualizaciju i programiranje u lako
uporabljivoj okolini u kojoj su problem i rješenje
definirani poznatom matematičkom notacijom.
• upotrebljava se zamatematiku i računanjerazvoj algoritama
modeliranje, simulaciju, analizuanalizu i obradu podataka, vizualizacijuznanstvenu i inžinjersku grafiku
Što je MATLAB ?
Koraci za rješavanje problema uz pomoć MATLAB-a, Octave u tehnici i znanosti
1. Jasno postaviti/formulirati problem
2. Definirati ulazne i izlazne vrijednosti
3. Razviti algoritam (metodu za riješavanje problema)
4. Riješiti problem
5. Provijeriti riješenje
Ako se pridržavate pravila kod rješavanja vaših problema povećavate šanse da dođete do točnog rješenja.
mali primjer….
Koliko sunce potroši materije tokom jednog dana?
MATLAB – OCTAVE ? • okruženje i programski jezik
• njegov programski jezik omogućava izgradnju vlastitih alata
• Toolbox je skup specijaliziranih M - datoteka za rad na određenoj klasi problema.
• S MATLABom dolazi nekoliko Toolbox- ova s područja upravljanja, obrade signala, identifikacije procesa, i drugih
MATLAB
• Matlab sve podatke tretira kao matrice i ne zahtjeva dimenzioniranje;
• Nakon pokretanja programa, otvara se glavni prozor u kojem ćemo uočiti znak >> (prompt), koji označava da Matlab očekuje unos nove naredbe.
• Svaka naredba mora završiti tipkom Enter – u nastavku teksta koristit ćemo oznaku <ent>.
• Neki primjeri ….
4
Komandni prozor
Komande se unose kod “>>”
odziva
Tekući Direktorij
MATLAB Prozori
aktivne varijable
Radni prostor
Rješavanje Problema uz Pomoć MATLABa
• Pogledajmo sada kako MATLAB radi na nekim primjerima
Primjer: crtanje odziva
level_tank
Skripte – skup naredbi koje se mogu izvršiti u komandnom prozoru
Koriste se za automatsko ponavljanje zadatka.
Funkcije
Ugrađene funkcije plot(),!rand(),!mean(),!std() može i korisničke funkcije
Skripta je skup naredbi i funkcija spremljenih u jednoj datoteci. Kad ju
pokrenemo naredbe se izvršavaju sekvencijalno, jedna za drugom.
U Editoru kreiramo i modificiramo m-datoteke možemo ih pokrenuti sa edit –
otvori – debug-run ili sa alatne trake zeleni trokutić
% crtanje odziva
x=[0:0.1:10];
y=x.^2-2*x;
plot(x,y) % nacrtaj grafikon x,y
grid on % uključi rešetku
title('Grafik funkcije'); %naslov grafikona
xlabel('x');
ylabel('y');
Primjer skripte
Rezolucija x osi (5)
% primjer level_tankclc, clear
Kp=16.5;
A_tank=78.5;
A=[0,-1/A_tank; 0, 0];
B=[Kp/A_tank; 0];
C=[1, 0];
D=[0];
model=ss(A, B, C, D)
step(model) % crta step na model
H=tf(model)
step(H)
Izvršavanje naredbi• Tijek:
• Pročitati naredbu (razumjeti je)
• Izvršiti naredbu
• Ispisati rezultat
• Ukoliko liniju naredbe završimo sa ; naredba će se izvršiti, ali se njen rezultat neće ispisati, (za međukorake čiji nas rezultat ne zanima).
• Tekst iza znaka % se zanemaruje
>>A=5; % ovo je komentar
>>% a=10
>>
Varijable
• Na početku rada sa MATLABom obično je potrebno definirati varijable i dodijeliti im odredjene vrijednosti, npr. A=3
• Ovu komandu je najbolje shvatiti kao dodjeljivanje vrijednosti 3 varijabli A
• Ovako definirane varijable mogu se koristiti u narednim komandama
5
Varijable
• Sva imena moraju početi slovima
• Imena varijable mogu sadržavati slova, brojeve i znak “ _”)
• MATLAB pravi razliku izmedju malih i velikih slova
Osnovna vrsta varijabli
• Grupa brojeva raspoređena u redove i stupce
• Jedan broj (Skalar)• MATLAB ga tretira kao matricu sa jednim redom i
jednin stupcem
• Vektor (Jednodimenzionalna matrica)• Jedan red ili jedan stupac
• Matrica (Dvije dimenzije)
Varijable• Prema sadržaju elemenata matrice:
• Realne
• Kompleksne
• Simboličke
• Polja
• Strukture
• Prema dohvatu (vidljivosti) na:
• Lokalne
• Globalne
• Prema izvoru nastanka:
• Interne
• Eksterne
Varijable
• Varijablu ans automatski generira i pridružuje joj vrijednost zadnjeg izračunatog izraza koji nije pridružen nijednoj varijabli.
>> 4*25+3
ans = 103
MATLAB pamti varijable koje smo koristili
Varijable koje su u radnom prostoru možemo vidjeti naredbom
who (ispis varijabli)
>> who Your variables are:
a b d kmpl2 p_kmpl1 y ans c kmpl1 kmpl3 x
whos (detaljniji ispis varijabli)
• >>whos
Name Size Elements Bytes Density Complex
a 1 by 1 1 8 Full No
ans 1 by 1 1 8 Full No
b 1 by 1 1 8 Full No
kmpl1 1 by 1 1 16 Full Yes …
Brisanje varijabli
clear – briše sve varijable iz workspace-a
clear a, b, c –briše varijable a, b i c iz workspace-a
clear global – briše globalne varijable iz workspace-a
clear d* - sve varijable koje počinju na d
Brisanje pomoću prozora workspace-a
Aritmetičke operacije
>> 4/1
ans =
4
>> 4\1
ans =
0.2500
>> 1 + 3 * 2 ^ 4 / 6 - 9
ans =
0
>> 1 + (3 * 2) ^ 4 / (6 - 9)
ans =
-431
+ zbrajanje
- oduzimanje
* množenje
/ "Desno" dijeljenje
\ "lijevo" dijeljenje
^ potenciranje
6
Zadatak:
Definirajte varijable x i z, x kao x=5.3 i z kao z=7.8
(x /z)2
xz14x 2 0.8z 2
1
) 2)2
x
z
z
x (x 2z z 2x (
Redosljed operacija
• Isti kako ste naučili u matematici• Prvo zagrade
• Eksponencijalne funkcije
• Množenje / dijeljenje
• Zbrajanje / oduzimanje
Zagrade
• Koristite samo ( )
• { } i [ ] se koriste za neke druge (važne) stvari u MATLABu
• MATLAB ne “podrazumjeva” množenje ako se ispusti znak “*”
>> 5(3+4)
??? 5(3+4)
|
Error: Unbalanced or unexpected parenthesis or bracket
5 * (3+4) nije 5(3+4)
Da bi ste u radnom prostoru stvorili vektor –
jednodimenzionalnu matricu, koristite
pravokutne zagrade [ ]
Operacije sa matricama
Između pojedinačnih brojeva u
vektoru možete upotrijebiti ili prazan
prostor ili zareze
Operacije sa matricama
Korištenje točka-zareza umijesto zareza ili
praznih prostora će brojeve rasporediti u
kolonu umjesto u redak (stupčasti vektor)
Korištenje točka-zareza da bi se označio
novi red
7
Korištenje prečica
• Dok se neke komplicirane matrice moraju unositi pažljivo, “ručno”, unos je puno lakši ako se radi o matricama sa elementima koji su pravilno raspoređeni. Instrukcija
b= 1:5 ili b = [1:5] će stvoriti vektor u jednom redu
Često nam vektor predstavlja rastući ili padajući niz brojeva s jednolikim
razmakom između susjeda. Takav vektor zadajemo pomoću znaka dvotočke
(:). Npr:
b =
1 2 3 4 5
Razlika izmedju elemenata matrice ili
vektora je 1 po definiciji, ako želite
neku drugu razliku, umetnite je
izmedju početne i krajnje vrijednosti
Korisna napomena
• U instrukciji koja definira elemente matrice može se upotrijebiti i matematička operacija
• Na primjer:
a = [0: pi/10: pi]
Vježba
40
Generirajte vektore (sve tri pomoću skripte)
a) v1= 2 4 6 8 10 12 sa konstantnim korakom između elemenata, zadavanjem prvog elementa, koraka i zadnjeg elementa.
b) v2= 2.0000;2.2000;2.4000;2.6000;2.8000;3.0000
sa konstantnim korakom između elemenata
c) t u kojem je prvi element 18, a posljednji -22, a korak između elemenata je -4.
Z1:
Generirajte vektor
a) v1= 2 4 6 8 10 12 sa konstantnim korakom između elemenata, zadavanjem prvog elementa, koraka i zadnjeg elementa.
v1=2:2:12
b) v2= 2.0000;2.2000;2.4000;2.6000;2.8000;3.0000
sa konstantnim korakom između elemenata
v2=2:0.2:3 ili v2=2:0.2:3
c) u kojem je prvi element 18, a posljednji -22, a korak između elemenata je -4.
t=18:-4:-22
Aritmetički operatori (matrice)
Relacijski operatori
Logički operatori
OPERATORI
8
Prioritet Operator Opis
1 ( ) Grupiranje i prioritet
2 ’
.’Konjugiranje i transponiranje
Transponiranje
3 ^
.^
Potenciranje
Potenciranje između elemenata
4 *
.*
/
\
./
Matrično množenje
Množenje među elementima matrica
Desno dijeljenje (X*Y-1)
Lijevo dijeljenje (Y-1*X)Dijeljenje među elementima matrica
5 +-
Zbrajanje Oduzimanje
38
ARITMETIČKI OPERATORI Relacijski operatori
44
Kao rezultat operacije se dobiva
logička vrijednost (0 ili 1)
Operator Opis Primjer
< Manje a<b
<= Manje ili jednako a<=b
> Veće a>b
>= Veće ili jednako a>=b
== Jednako a==b
~= Različito a~=b
Logički operatori
45
Operator Opis Primjer
&
Logičko I – Ako A i B imaju vrijednost true
(1), rezultat je true, u suprotnom rezultat
je false (0).A&B
I
Logičko ILI – Ako jedan ili oba operanda
imaju vrijednost true (1),rezultat je true
(1), u suprotnom rezultat je false (0)A|B
~Logički komplement – daje suprotnu
vrijednost operanda (1--> 0)~A
xor Logičko ekskluzivno ILI xor(A,B)
Početna
vrijednost
izražena kao
stupanj broja 10
Završna vrijednost
izražena kao
stupanj broja 10
Broj elemenata
e =
10 100 1000
Operacije sa Matricama i Vektorima• Množenje .*
• Dijeljenje ./
• Eksponencijalne funkcije .^
Dimenzije matrica ili vektora moraju biti iste.
Kod množenja matrica broj stupaca lijeve matrice mora biti jednak broju
redaka desne matrice:
Zahvaljujući matricama ponavljanje istih operacija u MATLABu je jednostavno
• Ako, na primjer, imate veliki broj kutova u stupnjevima koje treba pretvoriti u radijane, najbolje je
• Prvo ih sortirati u vektor (ili matricu) • Potom izvršiti pretvaranje u radijane
9
POSEBNE MATRICE Naredba zeros(m,n) vraća matricu sa m redaka i n stupaca popunjenu nulama, dok funkcija ones(m,n) vraća matricu istih dimenzija popunjenu jedinicama. Naredba eye(n) kreirat će kvadratnu matricu dimenzija n×n s jedinicama po dijagonali (jedinična matrica).
Uočimo iz prethodnog primjera da ako Matlab naredba ima više argumenata, oni se međusobno odvajaju zarezom.
Matricu sa slučajno odabranim brojevima (u intervalu od 0 do 1) kreirat će naredba rand(n,m):
Želimo li izbrisati neku varijablu iz radnog prostora, koristit ćemo naredbu clear. Npr:
>> clear a % briše varijablu a
>> clear % briše sve varijable iz radnog prostora
>> clear all
Znak “%” se koristi za komentar u Matlabu
Potreban je jedan “%” znak za svaku liniju u koju
stavljate komentar
Korištenje predefiniranih funkcija u MATLABu
Funkcija se sastoji od• Imena
• Ulaznih vrijednosti
• Izlaznih vrijednosti (Rezultata)
sqrt (x)= result
In MATLAB
sqrt(4)
ans = 2
Neke funkcije mogu (ili moraju) imati više ulaznih vrijednosti
• Funkcija “remainder” izračunava ostatak cjelobrojnog dijeljenja
• Npr. ostatak kod dijeljenja 10 i 3, 10/3
MATLAB funkcije mogu načiniti (skoro) sve što vam može zatrebati
• Da bi ste saznali kako rade i kako se koriste MATLAB funkcije možete upotrijebiti MATLAB “help”
• Help se može pozvatiIz komandnog prozoraIz MATLAB menija
Iz komandnog prozora
10
help help
Operacije sa matricamaKako se stvara matrica u MATLABu
A=[3.5]
B=[1.5, 3.1] ili
B=[1.5 3.1]
C=[-1, 0, 0; 1, 1, 0; 0, 0, 2];
“:” operator se korsti da bi se:• stvorile matrice sa konstantnom razlikom između susjednih elemenata
• pristupilo elementima ili djelovima postojećih matrica
• matrica pretvorila u stupac
Slučajni Brojevi
• rand(x)• Daje x puta x matricu slučajnih brojeva izmedju 0 i 1
• rand(n,m)• Daje n puta m matricu slučajnih brojeva izmedju 0 i 1
• Ovi brojevi su uniformno raspodijeljeni !
POLINOMI
U teoriji sustava i automatizaciji prijenosne funkcije sustava definiraju se
razlomcima s polinomima u brojniku i nazivniku.
Kako se u Matlabu definiraju polinomi ?
p=x5 + 3x2 – 4x + 21
Polinomi se u Matlabu predstavljaju s vektorima koji sadržavaju
koeficijente uz pojedine potencije varijable x
Korijeni polinoma traže se naredbom roots():
Funkcije za rad sa polinomima
Funkcija Opis
x=roots(P) Korijeni polinoma P
P=poly(x)Vraća polinom na temelju korijena
polinoma
R=conv(P,Q) Množenje polinoma P i Q
[R,S]=deconv(P,Q)Dijeljenje polinoma P/Q (R je
rezultat dijeljenja a S ostatak)
Q=polyder(P) Derivacija polinoma P
P=polyfit(x,y,n)
Metodom najmanjih kvadrata
računaju se koeficijenti polinoma
P(x) n-tog reda
Skripte Funkcije
Ima nastavak .m
Varijable možemo koristiti i u radnom prostoru, odnosno iz tog radnog prostora
Sadrže niz Matlabovih naredbi
Ima nastavak .m
Prvi red mora biti red s definicijom funkcije
Varijable su lokalne
Prihvaćaju podatke putem ulaznih argumenata, a vraćaju preko izlaznih
Kada snimamo funkcijsku datoteku, dajemo joj ime jednako imenu funkcije
11
Funkcije za rad sa polinomima
P(x)=x3-5x2+8x-6
Q(x)=x2-4x+3
P(x)Q(x)
P(x)/Q(x)
P’(x)
>> P=[1 -5 8 -6];
>> Q=[1 -4 3];
>> R=conv(P,Q)
R =
1 -9
31 -
53
48 -18
>> R=polyder(P) R =
3 -10 8
>> [R,S]=deconv(P,Q)
R =
1 -1
S =
0 0 1 -3
8.0000 -6.0000
P(x)
Q(x)
>> R=roots(P) R
=
3.0000
1.0000 + 1.0000i
1.0000 - 1.0000i
>> P=poly(R) P
=
1.0000 -5.0000
Množenje
Dijeljenje
Derivacija
Korijeni
polinom na temelju korijena
POLINOMI Polinomi se množe naredbom conv() : Pomnoži dva polinoma (x2 + 3x + 2)*(4x+2)
Za dijeljenje polinoma služi naredba deconv():
pri čemu je n kvocijent, a r ostatak dijeljenja, tj. vrijedi: p1/p2 = n + r/p2
!
Grafičke funkcije – 2D
Važnije funkcije (plot, bar, stem, stairs)
Kao prvi korak potrebno generirati vektor x koji sadrži vrijednosti u kojima se izračunava funkcija y=f(x), te nakon izračunavanja graf funkcije se iscrtava.
Ove funkcije primaju i dodatne parametre koji definiraju izgled samog grafa (npr. boja i vrsta linija)
>>plot(x,y)
Osnovna naredba dvo-dimenzionalne grafike u MATLABu je plot.
Potrebno je nacrtati funkciju y=sin(x) od 0 do
2 P sa 30 točaka.
Osnovna naredba dvo-dimenzionalne grafike u MATLABu je plot.
Potrebno je nacrtati funkciju y=sin(x) od 0 do
2 P sa 30 točaka
>> x=linspace(0,2*pi,30); % od 0 do 2pi generira 30 točaka
>> y=sin(x);
>> plot(x,y)
Osnove grafike u MATLABu
• Crtanje i označavanje dvodimenzionalnih grafova
• Podešavanje izgleda vaših crteža
• Upotreba “subplot” opcije
• Trodimenzionalni crteži
• Interaktivni grafički alati
1 2 3 4 50
2
4
6
8
A bargraph of vector x
1 20
2
4
6
8
A bargraph of matrix y
12
34
51
2
0
5
10
A three dimensional bargraph
5%10%
25%
20%
40%
A pie chart of x
12
Inženjeri obično dodaju i …
• Naslov
• Ime za X osu, i jedinice
• Ime za Y osu, i jedinice
• često je korisno dodati i mrežu preko slike
xlabel (‘x os’) – dodavanje naziva x osi
ylabel (‘y os’) – dodavanje naziva y osi
title (‘Graf funkcije’) – dodavanje naziva grafu
grid on /grid off – dodavanje mreže
Grafičke funkcije – 2D (opcije)
Oznaka Boja Oznaka Tip linije
y Žuta - Puna
m Ljubičasta : Točkasta linija
c Svjetloplava -. Crta točka
r Crvena -- Isprekidana linija
g Zelena
b Plava
w Bijela
k Crna
Grafičke funkcije – 2D (opcije)
semilogy
Nova slika
Figure
Više odvojenih grafova na istoj slici
subplot
figure, plot(x,y,’r’);
subplot(211), plot(x1,y1,’r’);
subplot(212), plot(x2,y2,’k’);
semilogx(x,y,’r’);
semilogy(x2,y2,’k’);
Crtanje na logaritamskoj skali
semilogx
76
X=1:10
Y1=2*X+3
Y2=3*X-1
plot(X,Y1,’r’,X,Y2,’g’)
1 2 3 4 5 6 7 8 9 100
5
10
15
20
25
30
X=1:10;
Y1=2*X+3;
Y2=3*X-1;
plot(X,Y1,'r',X,Y2,'g')Više grafova na jednom crtežu• Svaki put kada izdate naredbu “plot” MATLAB briše postojeći crtež
• Da bi se otvorila nova slika, koristi se funkcija “figure”, npr.figure(2)
Naredba plot(x) crta vektor x na način da se na x-os nanose indeksi vektora x, a
na y-osi nalaze se vrijednosti vektora. Zadane točke međusobno se spajaju
ravnim linijama:
13
Crteži sa više grafova
• hold on •Zadržava postojeći crtež tako da se novi graf može
crtati preko postojećeg
• Kod ovog pristupa novi graf će po definiciji biti nacrtan plavom bojom
Ova krivulja je u plavoj boji
Nacrtaj krivulju y1=cos4x ako je x od 0 do 2P sa rezulucijom (korakom)
P/100.
hold on komanda
zadržava postojeći crtež
Drugi crtež je
takodjer
nacrtan
koristeći plavu
boju
hold off komanda
prekida zadržavanje
grafova na slici
Ova krivulja je u plavoj boji
- Na postojeći crtež dodati još funkciju y2=sin(x) Z2:
Svaki par varijabli
u plot komandi će
proizvesti novi
graf.
Jednom komandom je moguće istovremeno iscrtati više
krivulja
Koristeći ovaj način, svaki graf je druge boje
peaks(100)
instrukcija stvara
100x100 matricu
čije se vrijednosti
mogu prikazati
pomoću “plot”
funkcije koja daje
100 različitih
grafova.
Subplot
• subplot komandom se prozor u kome se crta može podijeliti na više pod-prozora u kojima se mogu prikazati crteži
• subplot(m,n,p)
broj
red
broj
stupca
broj slike
(položaj)
2 reda
2 stupca
1 2
3 4
-20
2
-20
2
-5
0
5
x
Peaks
y
subplot(2,2,1)
14
Pomoću naredbe subplot nacrtati funkcije sin(x) i sin(2x) ako zadan x od
0 do 2P , sa korakom P /20.
Z3:
2 reda i 1 stupac
Pomoću naredbe subplot nacrtati funkcije sin(x) i sin(2x) ako zadan x od
0 do 2P , sa korakom P /20.
x-y plot – linearna
podjela na obje osi
semilogx – log
podjela na x osi
semilogy – log
podjela na y osi
loglog – log podjela
na obje osi
% crtanje
x=[0:0.1:10];
y=x.^2-2*x;
plot(x,y) % nacrtaj grafikon x,y
grid on % uključi rešetku
title('Grafik funkcije'); %naslov grafikona
xlabel('x');
ylabel('y');
Primjer skripte
Rezolucija x osi (5)
Nacrtati funkciju y=x2-2x ako je zadan x od 0 do 10 , sa korakom 0,1. Uključi
rešetku, dodaj naslov te x i y labelu osi.Z4:
Matematičko modeliranje
Matematički prikaz vladanja sustava je matematički model koji se
sastoji od diferencijalnih, algebarskih ili logičkih jednadžbi.
Čemu služe matematički modeli?
● općenito predstavljaju polazište pri:
♦ analizi i sintezi sustava upravljanja
♦ simulaciji sustava na računalu (omogućava se
"eksperimentiranje" na
matematičkom modelu umjesto na stvarnom sustavu) ⇒posebno
važno u fazi projektiranja sustava
Matematičko modeliranje sustava podrazumijeva izračun jednadžbi
matematičkog modela i računanje prijenosne funkcije sustava, koja
omogućuje analizu ponašanja sustava, odnosno odziv izlaznih
veličina (odziv, posljedicu) sustava na ulazne veličine (pobudu, uzrok) .
15
Matematički model
- opisuje ponašanje procesa
• stacionirano - opisuje ponašanje sustava u stacionarnom (ustaljenom, uravnoteženom) stanju
• dinamičko - opisuje ponašanje sustava pri prijelazu iz jednog stanja u drugo stanje, tj. pri prijelazu iz jedne radne točke u drugu; brzina prijelaza ovisi o karakteristikama sustava (broju i veličini skladišta energije) i o pobudnom signalu koji djeluje na ulaz procesa
Kako odrediti matematički model nekog realnog procesa ?
REALNI SUSTAV
MATEMATIČKO MODELIRANJE – model se izvodi na temelju
poznatih fizičkih zakonitosti
(Newtonov zakon, Kirchoffov zakon)
IDENTIFIKACIJA SUSTAVA
– model se dobiva na temelju
mjerenja odziva na realnom
sustavu na poznati ulazni signal
Diferencijalna
jednadžba
Laplaceova
transformacij
a
MODEL
PROSTORA
STANJA (engl.
State space
model)PRIJENOS
NE
FUNKCIJE
(engl.
Transfer
Function)
PRIJENOS
NA
FUNKCIJA
REGULACI
JA
(npr. PID)
Rezultat prisustva formalne sličnosti među nekim karakteristikama ponašanja je postojanje ANALOGNIH (ekvivalentnih) sustava .
Sličnost se javlja samo nakon pojednostavljenja, koja idu dovoljno daleko.
Ako se pokuša odustati od nekih pojednostavljenja, može se izgubiti analogija.
Ekvivalentni ( analogni ) sustavi
•različiti sustavi (elektronički sustav, sustav mehaničkog gibanja,
toplinski sustav, sustav protoka itd.) mogu biti opisani istom
diferencijalnom jednadžbom.
16
Primjer
Mehanički sustav sa oprugom i prigušenjem
- praćenjem toka signala dobivaju se blok dijagrami
( bitno je odrediti ulazne i izlazne varijable, pri čemu svaki blok nema direktni utjecaj
na prethodni blok. Mogući utjecaj na prethodni blok definira se uvođenjem povratne
veze, što onemogućava stvarnu, fizičku interpretaciju pojedinih elemenata sustava. )
Kao ulazna varijabla pretpostavljen je pomak u točki A (xA), a kao izlazna varijabla
pomak u točki B (xB). Do blok dijagrama može se doći iz ravnoteže sila u točki B:
K konstanta krutosti opruge, a
D konstanta viskoznog prigušenja prigušivača udarca
Gdje
karakteristična
jednadžba
poprima slijedeći
oblik:
Da bi se pojednostavio postupak rješavanja diferencijalnih jednadžbi
primjenjuje se tzv. operatorski račun, pri kojem se operacija derivacije d/dt
zamjenjuje operatorom s.
Na taj način diferencijalna jednadžba poprima oblik algebarske jednadžbe
te se daljnji postupak rješavanja svodi na mnogo jednostavnije algebarske
operacije.
Pri tome je uobičajeno da se vrijednosti varijabli nakon Laplaceove
transformacije
oznacavaju velikim slovom (npr. y(t) Y(s)).
Prijelaz u vremensko područje ponovno zahtijeva transformaciju koja se zove obrnutom ili inverznom Laplaceovom transformacijom.
Operator s je kompleksna varijabla, ili kompleksna frekvencija, stoga je
rješenje u području kompleksne varijable. (Dakle, frekvencijsko područje).
• Matematičko modeliranje sustava podrazumijeva izračun jednadžbi matematičkog modela i računanje prijenosne funkcije sustava, koja nam omogućava analizu ponašanja sustava, odnosno odziv izlaznih veličina sustava na ulazne veličine.
Funkcija prijenosa
Prethodnu algebarsku jednadžbu u s području možemo izraziti kao
omjer izlazne (Y) i ulazne (X) veličine:
Gornji izraz predstavlja prijenosnu funkciju sustava, koja se obično
označava sa G(s) (ponegdje također H(s)).
Dakle, prijenosna funkcija G(s) nekog sustava je transformirani
omjer izlazne i ulazne funkcije uz početne uvjete jednake nuli: G(s)
= Y(s) / X(s)
Prijenosna funkcija opisuje dinamiku sustav samo povezujući utjecaj pobude
na izlaznu veličinu, a isključuje utjecaj pohranjene energije u sustavu, pošto su
početni uvjeti po definiciji jednaki nuli.
Funkcija prijenosa
Red prijenosne funkcije je red polinoma njenog nazivnika n.
Članovi u nazivniku predstavljaju kašnjenja u sustavu (broj integracija),
dok članovi u brojniku predstavljaju ponašanje sustava s obzirom na pobudu.
U pravilu je red polinoma nazivnika prijenosne funkcije veći ili jednak redu
polinoma njenog brojnika (n ≥ m), uz moguće iznimke.
Karakteristična jednadžba, polovi i nule
Vrijednosti s = pi za koje je polinom nazivnika prijenosne funkcije jednak nuli
zovu se polovi prijenosne funkcije, ili polovi sustava kojeg prijenosna funkcija
predstavlja.
Vrijednosti s = zi za koje je polinom brojnika prijenosne funkcije jednak nuli zovu
se nule prijenosne funkcije.
Drugim riječima, za te vrijednosti s izlaz iz sustava biti će jednak nuli, bez obzira
kakva pobuda djeluje na ulazu.
Napomene i ograničenja funkcije prijenosa
• Važi samo za linearne stacionarne sustave
– primjena nije moguća kod nestacionarnih sustava
• uzima u obzir samo zavisnost ulaz-izlaz i ne pruža informaciju o unutrašnjoj strukturi sistema
• Važi samo za nulte početne uvjete
17
Crtanje odziva sustava na zadanu pobudu
Za izračunavanje odziva sustava potrebno je izračunati vrijednost diferencijalnih
jednadžbi sustava u različitim vremenskim trenucima.
Za proračun diferencijalnih jednadžbi koristi se ugrađena Matlab funkcija ode23.
Za rad funkcije ode23 potrebno je napisati funkciju sa parametrima i diferencijalnim
jednadžbama sustava.
function xp=sustav(t,x)
Za poziv funkcije ode23 potrebno je imati napisanu funkciju „sustav“ i znati za koji interval
vremena se traže vrijednosti [t0, tstop] kao i početne uvjete
[x1(0), x’1(0), x2(0), x’1(0)].
Funkcija ode23 se poziva na sljedeći način:
[t,y]=ode23(@sustav, [t0, tstop], [x1(0), x’1(0), x2(0), x’2(0), ...]);
Primjer:
[t,y]=ode23(@sustav, [0, 10], [0, 0]);
ode23 funkcija vraća vremenske trenutke u kojima su izračunate vrijednosti
diferencijalnih jednadžbi (t - vektor) i vrijednosti x-ova i x' -ova u tim vremenskim
trenucima (y - matrica).
Za grafički prikaz potrebno je pozvati Matlab funkciju plot koja će
iscrtati dobivene rezultate. plot(t,y)
Postupak rada:
1. Napisati funkciju sustava (function xp=sustav(t,x)) u posebnom m fajlu
(sustav.m).
2. U Matlab/Octave okruženju ili u m fajlu u kom se trenutno radi zadatak, otkuca
se poziv ode23 funkcije:
([t,y]=ode23(@sustav, [0, 10], [0, 0]);)
3. Da bi se grafički prikazalo rešenje, otkuca se plot(t,y).
Primjer:
a) Napisati diferencijalnu jednadžbu koja opisuje ponašanje sustava na slici.
b) Uvesti promjene tako da se od dobivene diferencijalne jednadžbe drugog reda
dobije diferencijalna jednadžba prvog reda. Dobivene diferencijalne jednadžbe
prvog reda izraziti u vidu matrice (xp matrica).
c) Koristeći funkciju ode23 iscrtati odziv sustava za prvih 10 sekundi ako se sila
F(t) mijenja po zadanom dijagramu a parametri sustava su: K=10, B=5, M=0.8.
Stanje sustava u početnom trenutku je: x(0)=0, x’(0)=0.
Rješenja:
a) Potrebno je načiniti dekompoziciju sustava i nacrtati sve sile (direktne i indirektne)
koje djeluju na masu M.
Na osnovu slike koja pokazuje sile koje djeluju na masu M moguće je
napisati diferencijalnu jednadžbu (suma svih sila koje djeluju na masu jednaka je 0)
koja opisuje ponašanje sustava:
3. Newtonov zakon (suma primjenjenih sila jednaka je silama koje im se
suprostavljaju)Iz ravnoteže sila: f = fK = K (xA − xB )Točka A
Točka B
Rješenja:
a) ponašanje sustava:
b) Uvesti promjene tako da se od dobivene diferencijalne jednadžbe drugog
reda dobije diferencijalna jednadžba prvog reda. Dobivene diferencijalne
jednadžbe prvog reda izraziti u vidu matrice (xp matrica).
Promjena
MATLAB
xp=[x(2); (1/M).*(F-B.*x(2)-K.*x(1))];
Rješenje
c) Potrebno je definirati način promjene sile F(t). Da bi jednostavno provjerili da li
je sila F(t)dobro definirana, definirat ćemo vrijeme t, i nakon toga uz pomoć
funkcije plot() provjeriti da li se dobiva željena promjena.
NAPOMENA: Prilikom definiranja sustava za ode23 funkciju nije potrebno
definirati vrijeme t.
>> % definiranje i provjera sile F(t) - I nacin
t=0:0.01:10; % definiranje vremena
f=(t<5)*0 + (t>=5)*10; % opis načina promjene sile F(t)
plot(t,f) % iscrtavanje signala
Ovo je samo provjera // pišemo samo funkciju sustav0 i poziv
sustava
>> % definiranje i provjera sile F(t) - II nacin
t=0:0.01:10; % definiranje vremena
f=(t>=5)*10; % opis nacin a promjene sile F(t)
plot(t,f) %iscrtavanje signala
18
Nakon što je opisana sila F(t), može se napisati funkcija sustava, koja se
kasnije prosljeđuje funkciji ode23.
Sustav se definira u obliku funkcije (function xp=sustav(t,x)) u posebnom m
fajlu.
function xp=sustav0(t,x)
%definicija mehaničkog sustava iz zadatka 1
% Konstante sustava
K=10; B=5; M=0.8;
% Definiranje promjene sile F(t)
F=(t>=5)*10;
% XP matrica sustava
xp=[x(2)
(1/M).*(F-B.*x(2)-K.*x(1))];
Rješenje
c) (funkcija sustav0 ) Nakon definiranja sustava potrebno je pozvati ode23 funkciju koja će za željeni
vremenski interval izračunati vrijednosti pozicija (x) i brzina (x’) u zadanom
vremenskom intervalu a nakon toga funkcijom plot dobivene rezultate prikazati
grafički.
% poziv ode23 funkcije
[t,y]=ode23(@sustav0, [0, 10], [0, 0]);
% prikaz odziva sustava
plot(t,y,'LineWidth',2) % 'LineWidth',2 - debljina linije 2
px
TITLE('Odziv sustava iz zadatka 1') % naslov
XLABEL('vrijeme t [s]'); % x-osa
YLABEL('promjena pozicije i brzine'); %y-osa
LEGEND('x - pozicija','v - brzina'); %legenda
https://octave-online.net/Control System DesignAlati kontrole:
1. prostorno stanje (prikazuje domenu kao matricu)
2. prijenosna funkcija (Laplace domene i koriste polinome iz kompleksne varijable)
3. blok dijagram
Ciljevi performansi dizajna uzimaju u obzir:
1. Prolazna (kratkoročna ponašanje)2. Stabilno stanje (dugoročno ponašanje)3. Stabilnost
• Povratne informacije imaju potencijal za uklanjanje i predstavljanje nestabilnosti.
• Grafički alati koji se koriste za rješavanje problema kontrole su Bode i Nyquist dijagram.
Generiranje prijenosne funkcijeUvodimo novu klasu varijable definiranu u control toolbox-u, nazvanu tf (eng. transfer function). Pomoću naredbe tf, unosimo željenu prijenosnu funkciju koristeći koeficijente brojnika i nazivnika(primjer) :
>> brojnik=[1 3] ;
nazivnik=[2 4 6];
G=tf(brojnik, nazivnik)
ili
G = tf( [1 3], [2 4 6] ); % tf (b, n)
- definirati polinom brojnika
- definirati polinom nazivnika
- Koristiti naredbu tf (transfer function)
Generiranje prijenosne funkcijeNapisati program koji generira funkciju prijenosa
- definirati polinom brojnika
- definirati polinom nazivnika
- Koristiti naredbu tf (transfer function)
Z5:
19
Napisati program koji generira funkciju prijenosa zadanu u faktoriziranom obliku:
s + 4
G(s)= -------------
(s +2 )(s+3)
Određivanje prijenosne funkcije
>> Br=[1 4];
N1=[1 2];
N2=[1 3];
Naz=conv(N1,N2);
G=tf(Br,Naz)
Transfer function:
s + 4
-------------
s^2 + 5 s + 6
Potrebno je nacrtati amplitudno-faznu karakteristiku prijenosne funkcije:
1
G(s)= -------------
S2 + 3s + 2
Generiranje prijenosne funkcijep1_prijaf
>> br=[1];naz=[1 3 2];G=tf(br,naz)
>> bode(G) nyquist(G)
Z6:
Operacije s prijenosnim funkcijama (blokovska algebra)
NAREDBE ZA ODREĐIVANJE PRIJENOSNE FUNKCIJE SUSTAVA: SERIES, PARALLEL, FEEDBACK
• series(G1,G2)
računa serijske veze dviju prijenosnih funkcija
• parallel(G1,G2)
računa paralelne veze dviju prijenosnih funkcija
• feedback(G,H,sign)
računa prijenosne funkcije sustava s povratnom vezom
jedinična povratna veza
Ispiši rezultat prijenosne funkcije ako su prijenosne funkcije G1 i G2 spojene
serijski.
>> br1=[1 1]; naz1=[1 2];
>> G=tf(br1,naz1)
>> br2=[1]; naz2=[500 0 0];
>>H=tf(br2,naz2)
>> RS=series(G,H);
>>
s+ 1
------------------
500 s^3 + 1000 s^2
br1=[1 1]; naz1=[1 2];
G1=tf(br1,naz1)
br2=[1]; naz2=[500 0 0];
G2=tf(br2,naz2)
S=series(G1,G2)p2_seria.m
Command window
script
Za zadane prijenosne funkcije:
Napisati program koji generira funkcije prijenosa za :
a) serijsku i
b) paralelnu vezu sustava
c) te za sustav s povratnom vezom kao i
d) za negativnu jediničnu povratnu vezu serijski spojenog sustava.
Z7:
Skripta (p2_spp.m)
p=pole(W)
z=zero(W)
P2_ser_polovi
Skripta
20
Generirati prijenosnu funkciju promatranog sustava
(pf1.m)
G= ?
Z8:Odrediti prijenosnu funkciju promatranog sustava
(pf1.m)
G= ?
G1 G2
G3 G4
G1=tf([1,2],1);
G2=tf([1,3],1);
G3=tf([1,0],1);
G4=tf([1,2,2],1);
G=G1*G2/G3/G4
Transfer function:
s^2 + 5 s + 6
-----------------
s^3 + 2 s^2 + 2 s
br=[1 5 6]
naz=[1 2 2 0]
pzmap(br,naz)
Odrediti prijenosnu funkciju promatranog sustava
G=G1*G2/(G3*G4)
G1=tf([1,2],1);
G2=tf([1,3],1);
G3=tf(1,[1,0]);
G4=tf(1,[1,2,2]);
G=G1*G2*G3*G4
118
Xcos Simulink
Modeliranje po varijablama stanja
ZADATAK 1.Dinamički sustav opisan je prijenosnom funkcijom . Opisati zadani sustav faznim varijablama stanja. Fazne varijable stanja definirane su kao:
Nacrtati pripadajući blok dijagram.
Generirati i nacrtati vremenske odzive varijabli stanja na dva načina, pomoću Matlab naredbe lsim i blok dijagrama (XCOS).
Na ulaz dovesti:
a) step funkciju
b) sinusnu pobudu
Z10:
Rješenje a) Kombinacijom jednadžbi (1) i (1a) biti će:
Napišemo li jednadžbe (1b), (2) i (3) u matričnom obliku, dobit ćemo sustav opisan varijablama stanja:
21
Pripadajući blok dijagram biti će: Vremenske odzive varijabli stanja u Octave generirat ćemo pomoću naredbe
lsim() na način:
[y,x]=lsim(A,B,C,D,u,t,x0)
% pri cemu su:
% y: izlaz ; x: matrica varijabli stanja x=[x1 x2 x3]
% A: matrica sustava ; B: ulazna matrica ; C: izlazna matrica ;
% D: vektor prijelaza (direktnog preslikavanja (obično nula u SISO sustavima)
% u: ulazna funkcija ; t: definirano vrijeme ; x0: početni uvjeti
A=[-7 -14 -8; 1 0 0; 0 1 0];
B=[6; 0; 0];
C=[0 0 1];
D=[0];
t=0:0.01:10;
u=ones(1,length(t)); % ulazna funkcija je step
x0=[0; 0; 0] ;
[br,naz]=ss2tf(A,B,C,D)
G=tf(br,naz)
[y,x]=lsim(A,B,C,D,u,t,x0)
subplot(311); plot(t,x(:,1))
subplot(312); plot(t,x(:,2))
subplot(313); plot(t,x(:,3))
Vremenske odzive varijabli stanja u SciLab (Xcos) promatrati ćemo tako da varijable
spojimo na osciloskop i pokrenemo simulaciju.
22
ODREĐIVANJE POLOVA, NULA SUSTAVA: NAREDBE : PZMAP, RESIDUE
PZMAP (G) – služi za računanje i crtanje polova i nula prijenosne
funkcije u kompleksnoj ravnini
[P,Z]=pzmap(G) – računanje polova i nula prijenosne
funkcije,
P: matrica polova a
Z: matrica nula pzmap(G) – crtanje polova i nula prijenosne funkcije,
pole (G) – računanje polova prijenosne funkcije
zero (G) – računanje nula prijenosne funkcije
PZMAP
Izračunaj i nacrtaj polove inule prijenosne funkcijekoristeći naredbu pzmap :
(s2+s+1)____________________
(s3-5s2+8s-4)
Z11:
Izračunaj i nacrtaj polove i nule prijenosne funkcije : (s2+s+1)/(s3 -5s2+8s-4)
br=[1 1 1]; naz=[1 -5 8 -4];
G=tf(br,naz)
[P,Z]=pzmap(G) % računanje
pzmap(G)
Residue – rastavljanje na parcijalne razlomke
Kvocijent dvaju polinoma može se rastaviti na parcijalne razlomke
gdje je M broj polova (duljina R, P i E),
k vektor je polinom reda N-1 koji predstavlja izravni doprinos, a
e vektor određuje mnoštvo m-t ostatka pola.
[br, naz] = residue (r, p, k, e)
P2rez.m
ODREĐIVANJE VREMENSKOG ODZIVA SUSTAVA NAREDBE: STEP, IMPULSE, LSIM
• STEP računanje i crtanje vremenskog odziva na step pobudu
• IMPULSE računanje i crtanje vremenskog odziva sustava na Dirac-ov impuls,
• LSIM (G) računanje i crtanje vremenskog odziva sustava na proizvoljno zadanu ulaznu funkciju y=lsim(G,u,t); računanje
lsim(G,u,t) crtanje
y=step(G) računanje odziva sustava, y(t), pri čemu je t
vremenski vektor za kojega računamo odziv; opcijski
argument (ako nije zadan, Matlab ga automatski određuje) y:
izračunati odziv sustava step(G, t) crtanje
y=impulse(G, t) računanje odziva sustava, y(t),
impulse(G, t) crtanje vremenskog odziva
23
PrimjeriIzračunati i nacrtati vremenski odziv zadane prijenosne funkcije G(s) =1/(s2+s+1) na jediničnu skokovitu, impulsnu i proizvoljno zadanu ulaznu funkciju u=5t u vremenskom intervalu od 0 do 3 sekunde sa korakom 0,01 .
MatLabbr=[1]; naz=[1 1 1]; step(br,naz); % crtanje
odziva
OCTAVE („tko želi više”)
T1 = 0.4; % vremenska konstanta
P = tf([1], [T1 1]); % kreiranje modela transfer funkcije
step(P, 2) % plot step odziv (trajanje 2 s)
% dodaci markera za tangente koje presijecaju linije lim(n->inf) f(t) pri t=T1
hold on
plot ([0 T1], [0 1], "g")
plot ([T1 T1], [0 1], "k")
plot ([0 T1], [1-1/e 1-1/e], "m")
hold off
p2odzivstep2
OCTAVE
br=[1]; naz=[1 1 1];
G=tf(br,naz)
Ys=step(G);
step(G,2);
step(G,12)
Promjena trajanja
odziva
Z12: PrimjeriIzračunati i nacrtati vremenski odziv zadane prijenosne funkcije G(s) =1/(s2+s+1) na jediničnu skokovitu, impulsnu i proizvoljno zadanu ulaznu funkciju u=5t u vremenskom intervalu od 0 do 3 sekunde sa korakom 0,01 .
br=[1]; naz=[1 1 1];
G=tf(br,naz)
ys=step(G); step(G)
figure % crtanje odziva
yi=impulse(G); impulse(G)
t=0:0.01:3;
u=5*t; % crtanje odziva
y=lsim(G,u,t); % računanje odziva
plot(t,u,t,y) % crtanje pobude i odziva
Ili
lsim(G,u,t) % crtanje y(t)
Potrebno je izračunati i nacrtati vremenski odziv sustava y(t)
na proizvoljno zadanu ulaznu funkciju: u=5t2
u vremenskom intervalu od 0 do 3 sekunde sa korakom 0,01 za prijenosnu
funkciju G(s)= 25/(s2+ 5s+25) .
br=[25];
naz=[1 5 25];
G=tf(br,naz);
t=0:0.01:3; % definiranje vremenskog vektora
u=5*t.^2; % definiranje ulazne funkcije
y=lsim(G,u,t); % računanje odziva
plot(t,u,t,y) % crtanje pobude i odziva
Ili
>>lsim(G,u,t) % samo crtanje u(t) i y(t)
OCTAVE(P2_odzivslf)
Z13:Analiza - vremenski kontinuirani sustavi koje opisujemo pomoću diferencijalnih jednadžbi sa stalnim koeficijentima
br = [0 0 1]; % definiramo koeficijente brojnika
naz= [1 2 3]; % definiramo koeficijente nazivnika
G = tf(br, naz) % definiramo sustav
Transfer funkcija: 1 /( s^2 + 2 s + 3)
impulse(G); % crtamo impulsni odziv mirnog sustava
step(G); % crtamo odziv na jedinični skok
pzmap(G); % crtamo položaj polova i nula
t = 0:0.001:10;
u = t > 0.5; % definiramo pobudu kao skok u 0.5
y = lsim(G, u, t); % računamo odziv mirnog sustava na
pobudu
plot(t, y); % crtamo odziv
Za zadanu prijenosnu funkciju 1 /( s2 + 2 s + 3) nacrtati
a) odziv na impulsnu pobudu
b) odziv na jediničnu odskočnu funkciju
c) polove i nule funkcije
d) odziv na funkciju prema slici ako je zadano t od 0 do 10 sa korakom 0,001.
e) Sve prethodno nacrtati u jednom prozoru pomoću naredbi subplot
Zadatak
Z14:
24
ZADATAK (samostalni)
Zadan je mehanički sustav s oprugom prikazan na slici. Odrediti i nacrtati pomak
mase M ako na nju djelujemo:
a) konstantnom silom od 5N
b) silom oblika f(t)=3sin(t)
Zadano je: M=10 kg;
k=1 N/m;
b=0,5 Ns/m
(t je od 1 do 200 sa korakom 0,1)
Z15: ZADATAK (samostalni)
Zadan je mehanički sustav s oprugom prikazan na slici. Odrediti i nacrtati pomak
mase M ako na nju djelujemo:
a) konstantnom silom od 5N
ua=(t>=0)*5;
b) silom oblika f(t)=3sin(t)
ub=3*sin(t);
Zadano je: M=10 kg;
k=1 N/m;
b=0,5 Ns/m
(t je od 1 do 200 sa korakom 0,1)
P2_zad2.
m
Prijenosnu funkciju odredit ćemo kao omjer pomaka i narinute sile:
Mx“(t) = f(t) – kx(t) – bx'(t)
s2MX(s)=F(s)-kX(s)-bs(s)
X(s)[ s2MX(s)+bs+k]=F(s) tj.
Za određivanje odziva sustava (pomaka x(t) ) koristit ćemo naredbu lsim():
x=lsim(G,u,t) % za OCTAVE; x=lsim(br,naz,u,t) % za Matlab;
pri čemu su : u=f(t) narinuta sila , a x=x(t) pomak mase
Prijenosna funkcija (transfer function) povezuje ulaz iizlaz sustava predstavljajući dinamičko ponašanje
• za ocjenu točnosti sustava u stacionarnom ili prijelaznom procesu, koriste se standardne pobudne (ulazne) funkcije, tako da se na osnovi odziva sustava mogu dobiti poznati pokazatelji točnosti (nadvišenje, vrijeme smirivanja, frekvencija oscilacija i sl.).
Ocjena kvalitete ponašanja u vremenskoj
domeni
Tr - vrijeme porasta (eng. RiseTtime ) vrijeme od 10% na 90% vrijednosti ustaljenog stanjaukoliko je na ulazu dovedena jedinična odskočna pobuda.
Tx - vrijeme smirivanja na x % vrijednost (eng. x% Settling Time) vrijeme za koje odziv sustavauđe u ±x % konačne vrijednosti odziva.
Tp - period prigušenih oscilacija i s njim povezana frekvencija prigušenih oscilacija fp = 1/ Tp ikružna frekvencija prigušenih oscilacija ωP = 2π fp
Tm - vrijeme prvog, maksimalnog prebačaja u odzivu sustava (eng. Peak Time) i
M – iznos prvog, maksimalnog prebačaja (eng. Maximal Overshoot) koji se često definira i upostocima konačne vrijednosti odziva i naziva maksimalni postotni prebačaj (eng. MaximalPercent Overshoot).
Razlomljenu racionalnu prijenosnu funkciju G(s) prikladno je faktorizirati (npr. u analizi stabilnosti sustava)
gdje su:
SNi – nule od G(s)
Spj – polovi od G(s)
SNi i Spj mogu biti: realni i konjugirano-kompleksni
O položaju polova i nula prijenosne funkcije (matrice) u kompleksnoj s-ravnini ovisi vladanje sustava.
25
Octave -Matlab
Za prijenosnu funkciju potrebno je odrediti:
a)Raspored nula i polova pomoću faktoriziranja funkcije,
b)Bodeov dijagram
c)Nyquistov dijagram
[z, p, k] = tf2zp (brojnik,nazivnik)
Octave-MatlabZa prijenosnu funkciju potrebno je odrediti:
a)Raspored nula i polova
b)Bodeov dijagram
c)Nyquistov dijagram
Raspored nula i polova
brojnik = [.3 1];p1 = [1 1];p2 = [1 .5];nazivnik = conv(p1, p2);W = tf (brojnik, nazivnik);pzmap(W)
Zero/pole/gain: kreiranje
funkcije prijenosa
iz nula polova i pojačanja
0.3 (s+3.333)
------------------
(s+1) (s+0.5)
[z, p, k] = tf2zp (brojnik,nazivnik)
MatLab
zpk(W)
Octave -Matlab
b)Bodeov dijagram. bode(W) c) Nyquistov dijagram
dobiva
se naredbom:
nyquist(W)
Zadatak (samostalni)Za prijenosnu funkciju
izračunati nule, polove i pojačanje te nacrtaj
zero-pole mapu.
Z16:
Prijenosna funkcija
br = [1 5 6]
naz = [1 2 2 0]
G= tf( br, naz )
pzmap(G)
Octave p3_zad_zpk.m
G= tf( [1 5 6], [1 2 2 0] );
pzmap(G)
[z,p,k] =tf2zp(G)
pzmap(G)
zpk(G)
Grafičko prikazivanje frekvencijskih karakteristika.
• Najčešće korišteni grafički prikazi su: • Nyquist-ov dijagram
• Bode-ovi dijagrami,
• Nichols-ov dijagram.
Metode za promatranje frekvencijskog odziva sustava baziraju se na
promatranju odziva u ustaljenom stanju na sinusnu pobudu.
Ako na ulaz sustava s prijenosnom funkcijom W(s) dovedemo sinusnu
pobudu oblika x(t)=Asin(ωt), izlaz u ustaljenom stanju imat će oblik:
y(t)=AMsin(ωt + φ).
Pri čemu su M(ω) i φ(ω) amplituda i faza prijenosne funkcije W(s), s=jω
26
- je polarni dijagram prijenosne funkcije W(jω) za frekvencijski opseg -∞<ω<+∞ .- polarni dijagram predstavlja prikaz prijenosne funkcije sustava W(jω) u kompleksnoj ravnini.
- PF zatvorene petlje
- PF otvorene petlje
Sustav sa zatvorenom povratnom vezom W(s)je stabilan samo onda ako Nyquistov dijagram prijenosne funkcije otvorene petlje W0(s)obilazi točku –1+0j u smjeru obrnutom kazaljci na satu onoliko puta koliko funkcijaotvorene petlje W0(s) ima polova s pozitivnim realnim dijelom (tj. u desnoj poluravnini).
Nyquist-ov dijagram
Da bi sustav bio stabilan, treba biti zadovoljeno:
P = -N
Broj polova u desnoj poluravnini, P
Broj obilazaka dijagrama oko točke –1+0j = N
(predznak od N '+‘ obilazak u smjeru kazaljke na
satu;
predznak od N '-' za obilaske suprotno smjeru kns)
OCTAVE, MATLAB NAREDBE
nyquist (br,naz) % Crta Nyquistov dijagram
nyquist (br,naz,w) % u ovisnosti o frekvenciji w
[Re,Im,w] = nyquist (br,naz) % Vraća vektore re. i imag. dijela
Wo=tf(br,naz)nyquist(Wo) % Crta Nyquistov dijagram
nyquist(Wo, w) % crta Nyquistov dijagram za zadane frekvencije
[Re, Im, W]=nyquist(Wo) % Vraća vektore re. i imag. dijela
Kriterij stabilnosti ili kritična točka
stabilnosti je :
W0(jω)= -1 odnosno (-1, j0)Nyquistov kriterij stabilnosti
Za sustav s negativnom jediničnom povratnom vezom zadana je prijenosna funkcija otvorene petlje:
a)Nacrtati Nyquist-ov dijagram te zaključiti o stabilnosti sustava.
b)Odrediti prijenosnu funkciju zatvorene petlje (W(s)=Y(s)/X(s)) te
naći vremenski odziv sustava na jediničnu pobudu.
Wo=tf(br,naz)
nyquist(Wo) % Crta Nyquistov dijagram
nyquist(Wo,w) % crta Nyquistov dijagram za zadane
frekvencije
[Re, Im, W]=nyquist(Wo) % Vraća vektore re. i
imag. dijela
Z17:
Rješenje:
Polarni dijagram se crta za 0≤w ≤ + ∞. Zato uvijek treba uzeti ω = 0 i ω
= ∞, one ω za koje je Re = 0 i Im = 0, te još poneku točku između.
Slika prikazuje skicirani polarni dijagram (puna crvena linija) i nadopunu do
Nyquistovog dijagrama (isprekidana plava linija).
Za sustav s negativnom jediničnom povratnom vezom zadana je prijenosna funkcija otvorene petlje:
a) Nacrtati Nyquist-ov dijagram te zaključiti o stabilnosti sustava.
b) Odrediti prijenosnu funkciju zatvorene petlje (W(s)=Y(s)/X(s)) te naći
vremenski odziv sustava na jediničnu pobudu.
br_Wo=[5];
naz_Wo=[1 5 0];
nyquist(br_Wo, naz_Wo)
[Re, Im]=nyquist(br_Wo, naz_Wo, 1)Re =
-0.1923
Im =
-0.9615
Sustav je asimptotski stabilan samo
onda kada svi korijeni karakteristične
jednadžbe sadrže negativne realne
korijene.
z1.m
br=[5]; naz=[1 5 0]; Wo=tf(br,naz)nyquist(Wo)[Re, Im, W]=nyquist(Wo, 1)
Wo(s)=5/(s2+5s)
27
>> [Re, Im]=nyquist(Wo, 5)
Re =
-0.1000 Im = -0.1000
>> [Re, Im]=nyquist(Wo, inf)
Re =
-0
Im =
0
>> [Re, Im]=nyquist(Wo, 0)
Warning:
>> [Re, Im]=nyquist(br_Wo, naz_Wo, 0.0001)
Re =
-0.2000
Im =
-1.0000e+004
Nyquistov dijagram nijednom ne obilazi točku –1+0j, a prijenosna
funkcija otvorene petlje nema polova u desnoj poluravnini, zaključujemo
da je sustav W(s) stabilan (P=N=0).
Polovi=pole(Wo)Polovi =
-5 0
Zadatak (samostalni)Pronađimo prijenosnu funkciju sustava i vremenski odziv na jediničnu odskočnu pobudu, te se na temelju odziva uvjerimo o stabilnosti sustava:
Pronađimo prijenosnu funkciju sustava i vremenskiodziv na jediničnu odskočnu pobudu, te se na temeljuodziva uvjerimo o stabilnosti sustava:
Vremenski odziv (konačna pobuda, konačni odziv) potvrđuje stabilnosti do koje
smo došli na temelju Nyquistovog dijagrama.
Pronađimo prijenosnu funkciju sustava i vremenski odziv najediničnu pobudu, sustava sa negativnom jediničnom povratnomvezom te se na temelju odziva uvjerimo o stabilnosti sustava:
brW =[0 0 5 ];
nazW = [1 5 5] ;
[br_W,naz_W]=cloop(br_Wo,naz_Wo)
step(br_W, naz_W)
Vremenski odziv (konačna pobuda, konačni odziv) potvrđuje stabilnosti do koje
smo došli na temelju Nyquistovog dijagrama.
OCTAVE p3_zodzivn.m
brW =[0 0 5 ];nazW = [1 5 5] ;W=tf(brW,nazW)W1=feedback(W,1)step(W1)
28
Bode-ovi dijagrami- ovisnost amplitude prijenosne funkcije (u decibelima) i faze φ (u stupnjevima) o frekvenciji ω, crtano u semilogaritamskom mjerilu.
Graf ovisnosti amplitude M o frekvenciji naziva se amplitudna frekvencijska karakteristika.
Graf ovisnosti faze φ o frekvenciji naziva se fazna frekvencijska karakteristika.
Bode-ove dijagrame obično crtamo za prijenosne funkcije otvorene petlje Wo(s).
Sintaksa za računanje i crtanje frekvencijskih odziva (Octave, MatLab)
bode(G) // bode(br,naz)
% crta amplitudni i fazni bodeov dijagram
bode(G,{wmin,wmax}) // bode(br,naz,{wmin,wmax}) % crta bodeove dijagrame za frekvencije između wmin i wmax
bode(G,w) // bode(br,naz,w) % crta za frekv. Zadane vektorom w koji najčešće prethodno zadajemo, logspace():
bode(tf([3],[1])) // bode([3],[1])
% kreira Bode-ove dijagrame proporcionalnog elementa K=3.
Metode za promatranje frekvencijskog odziva sustava
baziraju se na promatranju odziva u ustaljenom stanju na
sinusnu pobudu.
M(ω) - amplituda
φ(ω) - faza prijenosne funkcije W(s)|s=jω
Prikazujemo kao vektor dužine M(ω) i faznog zakreta φ(ω) - za pozitivan smjer faze φ(ω) uzet je smjer obrnut od kazaljke na satu.
Pravilo za utvrđivanje stabilnosti sustava po Bode-ovom kriteriju:
Sustav sa zatvorenom povratnom vezom W(s) biti će stabilan ako amplitudni Bodeov dijagram prijenosne funkcije otvorenepetlje Wo(s) siječe frekvencijsku os prije nego fazni Bodeov dijagram siječe pravac –180o (tj. ako je ωI
< ωП).
Tada će AP(pričuva) i FP imati pozitivne vrijednosti.
MATLAB NAREDBE (Octave,Matlab)
Za računanje vrijednosti ωI, ωП te AP i FP
koristi se slijedeća Matlabova naredba:
>> margin(Wo) % crta BD i označava AP i FPmargin(br, naz)
>> [AP,FP,w_pi, w_I] =margin(Wo)
[AP, FP, w_pi, w_I]=margin(br, naz)
Za prethodni zadatak
>> margin(Wo) % Octave
>> margin(brWo, nazWo) % Matlab
[AP,FP,w_pi, w_I] =margin(Wo)
ZADATAK: Na temelju Bodeovih dijagrama odrediti ωI, ωП , AP i FP te
zaključiti da li je regulacijski sustav stabilan.
III
Z19:
29
Dok smo sa slike približno mogli očitati željene parametre, Octave // Matlab će nam precizno izračunati njihove vrijednosti:
>> [AP, FP, w_pi, w_I]=margin(tf([20],[1 7 10 0]) ) %Octave
>> [AP, FP, w_pi, w_I]=margin([20],[1 7 10 0]) %MatLab
AP= 3.5000 FP = 35.7873 w_pi = 3.1623 w_I = 1.5224
>>AP_dB=20*log10(AP) % pretvaranje u dB
AP_dB = 10.8814
>> margin(tf([20],[1 7 10 0]))
>>margin([20],[1 7 10 0])
margin(G) margin(G)
[AP, FP, w_pi, w_I]=margin(G)
176
Softver za simulacijudinamičkih sustava
Matlab/SimulinkScilab/Xcos
177
Upotreba Xcos / SIMULINK-a
• Xcos predstavlja proširenje SciLab-a za analizu linearnih, nelinearnih, vremenski kontinuiranih i/ili vremenski
diskretnih sustava sa jednim ili sa više ulaza tj. izlaza.
• Omogućuje modeliranje i simulaciju sustava pomoću grafičkog predstavljanja diferencijalnih jednadžbi, prijenosnih funkcija, modela u prostoru stanja, nula, polova i pojačanja, modela frekvencijskog odziva i brojnih drugih modela sustava.
• Upotrebljava se u dvije faze:• formiranje simulacijskog modela
• analiza modela – simulacije
• Preporučuje se formiranje novog modela na osnovu postojećeg, tj. ne trebaraditi “sve iz početka”.
30
Temeljni principi modeliranja
• Kod matematičkog opisa procesa polazi se od osnovnih zakona fizike i kemije izraženih kroz:
-jednadžbe dinamičke ravnoteže (jednadžbe kontinuiteta ili očuvanja)
-jednadžbe koje opisuju pojedine karakteristične pojave u procesu (fenomenološke jednadžbe)
178
Nakon toga otvara se Xcos Palette Browser.
179
Pokretanje Scilab/ Xcos
180
Prozor Xcos Palette Browser-a je podjeljen u dva dijela. Sa lijeve strane se nalazi stablo u kome su smještene sve biblioteke Xcos-a, dok su sa desne strane prikazani svi blokovi koji pripadaju izabranoj biblioteci.
Kroz meni i radnu liniju moguće je stvarati nove modele, otvarati postojeći model, održavati prozor vidljivim, pretraživati blokove po imenu itd.
Palette Browser
biblioteke
Blokovi
Otvori
postojeći
model
Pronađi blok po nazivu
Opis bloka
182
Stvaranje novog modela
• Pokretanjem Xcos otvara se prozor za stvaranje novog modela ili
Novi model
Radna površina
modela
Izvrši model
Zaustavi
izvršavanje
183
Formiranje simulacijskog modela
• Upotrebljavaju se blokovi – tipična upotreba
• Formiranje modela podsjeća na crtanje blok-dijagrama
• Postoje biblioteke blokova• standardna biblioteka
• korisnikova biblioteka
• Blokovi se kopiraju iz biblioteke i povezuju vizuelno
• Blokovi posjeduju parametre koji se postavljaju na željenevrijednosti
• Parametri blokova se mogu mijenjati i u toku simulacije
31
184
Najčešće korišteni blokovi
185
Parametri simulacije
Mogu se podesiti na sledeći način:
• Simulation->Setup (trajanje simulacije)
• Desni klik na objekt->->Block Parameters
186 187
Kako Xcos / Simulink funkcionira?
1. svi parametri blokova se izračunavaju u Scilab-u i zamjenjuju brojnim vrijednostima
2. blokovi se sortiraju prema redoslijedu računanja (hijerarhija podsustava se ovdje ignorira)
3. provjeravaju se dimenzije veza među blokovima (broj izlaza predhodnog se mora slagati sa brojem ulaza narednog bloka)
4. prva faza simulacije:• računaju se izlazi svih blokova na osnovu (početnih) stanja
5. druga faza simulacije:• iterativno se računaju izvodi na osnovu tekućeg vremena, ulaza i stanja. Izračunati
izvodi se prosljeđuju algoritmu za integraciju
6. osvježava se ekranski prikaz
188
Osnovne grupe blokova
• Nedavno korišteni blokovi
• Kontinuirani vremenski sistemi
• Diskontinuirani
• Diskretni vremenski sistemi
• ….
• Izlazi - Sinks
• Ulazi - Sources
189
Postavljenje blokova
1. Drag and drop
2. Desni klik ->
Add to ‘Untitled’
32
190
Povezivanje blokova
1. Lijevim klikom
2. Desnim klikom
Sources
Sinks
191
Operacije sa blokovima
• Kopiranje
• Premještanje
• Promjena veličine
• Promjena parametara
• Brisanje
• Formatiranje izgleda
• Help
192
Formatiranje blokova
• Desni klik na željeni blok -> Format
Prijmer
Prevođenje složenog sustava na
jednostavniji oblik.
CSOPE
- prikazuje signal na ulazu kao funkciju vremena. Može imati višestruke y-osi sa uobičajenim vremenskim opsegom. Možemo podešavati vrijeme i opseg prikazanih vrijednosti, možemo pomjerati ili uvećavati CScope prozor i možemo modificirati njegove parametre u toku izvršenja simulacije.
- Scope blok dodeljuje boje svakom elementu signala.
Sumator
- - izvršava zbrajanje ili oduzimanje njegovih ulaza. U dijalogu parametri blokova možemo izabrati oblik ikone bloka, pravokutni ili kružni. Operacije bloka specificiramo kroz parametar lista znaka. Plus (+), minus (-).
33
Pojačalo
- množi ulaz u blok konstantom vrijednošću (pojačanjem, dobitkom). Vrijednost pojačanja specificiramo u parametru pojačanje. Parametar množenja nam omogućava postavljanje množenja skalarno ili matrično.
Blokovi za opis linearnih kontinuiranih sustava
U ove blokove spadaju:
• Integrator,
• Derivator,
• Funkcija prijenosa sustava,
• Funkcija prijenosa sustava u razdvojenom obliku
• Model sustava u prostoru stanja,
• Transportno kašnjenje
Integrator
- - integralni signal koji je doveden na njegov ulaz. Simulink tretira itegrator kao dinamički sustav sa jednim stanjem, njegovim izlazom. Izabrani algoritam integracije (u Configuration Parameters prozoru) izračunava izlaz iz bloka integratora u tekućem vremenskom trenutku, koristeći ulaz u tekućem trenutku i stanje sustava iz prethodnog trenutka. Algoritmu integracije je takođe moguće proslijediti i početni uvjet, kojim se inicira stanje sustava. Po defaulte ta vrijednost je 0.
Primjer 1
200
Nagibna funkcija na ulazu
integratora, na izlazu će se dobiti
kvadratna funkcija.
201
34
Funkcija prijenosa sustava
Blok funkcije prijenosa sustava realizira funkciju prijenosa linearnog sustava koja se dobiva kao odnos likova izlaza i ulaza sustava.
Parametri funkcijskog bloka: Funkcija prijenosa sustava
Parametri ovog bloka su koeficijenti brojnika i nazivnika funkcije prijenosa koji se parametrima prosljeđuju u vidu vektora. Apsolutna tolerancija omogućava da se kontrolira greška prilikom rješavanja svih stanja ovog sustava.
Primjer
Prijelazna funkcija
drugog reda.
205
Primjer
206
Primjer: jednostavan model
• Izraditi Xcos model za rješenje diferencijalne jednadžbe
• Početni uvjet
• Prvo, skicirati simulacijski model prema matematičkom modelu (jednadžba)
(3 min.)
tx 2sin3
.1)0( x
Z20:
207
Simulacijski dijagram
• Ulaz je ugrađena funkcija 3sin(2t)
• Izlaz je rješenje diferencijalne jednadžbe x(t)
• Izgraditi model u Xcos / Simulink
xx
s
13sin(2t)
(input)
x(t)
(output)
1)0( x
integrator
35
208
Označiti ulazni blok
Povucite Sine Wave blok iz Sourceslibrary u prozor modela tx 2sin3
.1)0( x
209
Spajanje blokova
• Postaviti kursor na GENSIN_f blok
• Odvucite GENSIN_f izlaz do Integrator(INTEGRAL_f) ulaza
• Povucite Integrator izlazdo CSCOPE ulaza
Strelica pokazuje smijer toka signala.
tx 2sin3.1)0( x
210
Podešavanje parametara simulacije
Dvostruki klik na Sine Wave blok postaviteamplitude = 3 i frekvenciju = 2.
Ovaj produkt je željeni izlaz3sin(2t)
211
Podešavanje parametara simulacije
Dvostruki klik na Integratorblok za postavljanje početnog uvjeta
= -1.
x(0) = -1.
212
Podešavanje parametara
simulacije
213
Selektiranje parametara simulacije
Dvostruki klik na Scope kako bi vidjeli rezultate simulacije
36
214
Pokretanje simulacije
Pogledati izlaz x(t)
u SCSCOPEprozoru.
215
Simulacija rezultata
Za verifikaciju rješenja riješiti jednadžbu analitički.
Analčitički rezultat,
Odgovara točno skici(rezultat simulacije).
ttx 2cos)( 23
21
216 217
Primjer 2
Mehanički sustav mase povezan je s nepomičnom podlogom
pomoću amortizera i opruge. Djelovanjem dodatne sile na
masu dolazi do pomaka mase u odnosu na nepomičnu
podlogu za iznos x.
Zadane su procesne veličine: m = 20 kg
k = 500 kg/s2 D = 20 kg/s
F = 50 S(t) (N)
Z21:
218
Uz pretpostavku da je izlazna varijabla sustava produljenje x, a ulazna varijabla
sustava dodatna sila F(t), potrebno je odrediti:
-matematički model i blokovsku shemu sustava
-diferencijalnu jednadžbu produljenja x kao funkciju dodatne sile F(t)
-prijenosnu funkciju
-prikaz sustava u prostoru stanja
-simulacijsku shemu
219
U stacionarnom stanju bez djelovanja sile vrijede fenomenološke jednadžbe:
Amortizer ne djeluje u stacionarnom stanju.
Sila amortizera je proporcionalna brzini.
Drugi Newton-ov zakon
- F(t) = m*a(t), odnosno:
F(t) = m*d2x(t)/dt2
Vektorska suma sila koje djeluju na kruto tijelo jednaka je nuli .
Opruga
- Sila kojom djelujemo na tijelo proporcionalna je deformaciji opruge
F(t) = k*x(t)
Prigušenje (trenje)
- Sila kojom djelujemo na tijelo proporcionalna je brzini deformacije
F(t) = D*dx(t)/dt
Jednadžba kontinuiteta gibanja:
37
220
Blokovska shema
221
Xcos model
Zadane su procesne veličine: m = 20 kg
k = 500 kg/s2 D = 20 kg/s
F = 50 S(t) (N)
222
Povucite Sum blok izMathematical Operations
Dvostruki klik za promjenu parametara za pravokutnik
223
(nastavak)
• Dodati pojačalo (multiplikator) blok za eliminaciju koeficienta te pokazati najveću derivaciju
summing block
m
1 x
224
Dvostruki klik za promjenu parametara.Dodati naslov.
Povući GAINBLK_f blok izMathematical Operations
Pojačanje 1/20
225
(nastavak)
• Dodati integratore za dobivanje željene izlazne vrijednosti
s
1
s
1 xx
m
1 x
38
226
Povući Integrator blokove izContinuous library
Inicijalne vrijednostina integratorima su nula.
Dodati prikaz iz Sinks library.Spojiti ulaze sa izlazima.Ime signala uz dvostruki klik na vodeću liniju
227
(nastavak)
• Spojiti integrirane signale sa blokovima pojačala.
m
1
summing block
s
1
s
1x x x
D/m
k/m
x
228
Povući noveGAIN_f blokove izMathematical Operations
Dvostruki klik na blokove pojačala za postavljanje parametara
229
Model
m
1
s
1
s
1x x
D/m
k/m
xc
kx
f(t)
ulaz
+
-
-
x
x
x
x(t)
izlaz
230
Dvostruki klik na Step blok za postavljanje parametara. Postaviti Final value na 50
Ulaz, jedinična odskočna
funkcija
231
Xcos model
39
232
Pokretanje simulacije
233
Rezultati
Prijenosna funkcija
Karakteristična jednadžba
Polovi sustava
234
Zadane su procesne veličine: m = 20 kg
k = 500 kg/s2 D = 20 kg/s
F = 50 S(t) (N)
235
236
Primjer-Prijenosne funkcije
proba222237
Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step
pobudu.
PrimjeriZ22:
40
238
Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step
pobudu.
Primjeri
239
Primjeri
Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step
pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva nacrtati na istom grafu
i komentirati dobivene rezultate.
Z23:
240
Primjeri
Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step
pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva nacrtati na istom grafu
i komentirati dobivene rezultate.
241
Primjeri
Za sustav opisan funkcijom prijenosa G(s) nacrtati odziv na step
pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva nacrtati na istom grafu
i komentirati dobivene rezultate.
242
Primjeri (varijacije na prethodni primjer)
Za sustav opisan serijski spojenim funkcijama prijenosa G(s) i H(s)
nacrtati odziv na step pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva i ulaznu
pobudu nacrtati na istom grafu i komentirati dobivene rezultate.
Za sustav opisan paralelno spojenim funkcijama prijenosa G(s) i H(s)
nacrtati odziv na step pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba odziva i ulaznu
pobudu nacrtati na istom grafu i komentirati dobivene rezultate.
Za sustav opisan funkcijama prijenosa G(s) i H(s) spojenim u pozitivnoj
povratnoj vezi, nacrtati odziv na step pobudu u otvorenoj vezi, a zatim u istom modelu u zatvorenoj negativnoj jediničnoj povratnoj vezi. Oba
odziva i ulaznu pobudu nacrtati na istom grafu i komentirati dobivene
rezultate.243
30s
Z24:
42
250
OSNOVNI DINAMIČKI ČLANOVI Složeniji dinamički sustavi u pravilu se daju rastaviti na jednostavnijeelemente, odnosno članove
251
Jedna od podjela osnovnih članova je na:
• proporcionalni element nultog reda (P0)
• proporcionalni element prvog reda (P1)
• proporcionalni element drugog reda (P2)
• integralni element (I)
• derivacijski element (D)
• element s mrtvim vremenom (Tm)
Pomoću njih možemo opisati svaki složeni sustav
Proporcionalni član nultoga reda – P0 član
- Za P0 član postoji opći oblik funkcionalne veze između izlazne i
ulazne veličine prikazane prijelaznom funkcijom
252 253
Proporcionalni član nultoga reda – P0 član
Prijenosna funkcija P0 člana bila bi:
Odziv je proporcionalan pobudi, bez kašnjenja,
odvija se trenutno, pa je nultog reda. Pojačanje
254
Proporcionalni član nultoga reda – P0 član
255
Proporcionalni član nultoga reda – P0 član
Zadatak za vježbu:
1) Simulirati sustav s P0 članom za: za K=0,1; 1; 2; 5;, na
jednom scope prikazati sve odzive kao i ulazni signal ;
2) Podesiti generator na „step time” 0 (s). Simulirati za
K=0,1; 1; 2; 5; i usporediti rezultate s prije dobivenim
za „step time” 1 (s).
43
256
Proporcionalni član nultoga reda – P0 članZadatak za vježbu:
1) Simulirati sustav s P0 članom za: a) za K=0,1;1; 2; 5; na jednom
scope ;
2) Podesiti generator na „step time” 0 (s). Simulirati za K=0,1;1; 2; 5; i
usporediti rezultate s prije dobivenim za „step time” 1 (s).
Z25:
Primjer može biti
mehanički, sa
oprugom
i prigušenjem
Odziv P1 člana na jediničnu odskočnu funkciju
Prijenosna funkcija P1 člana
Pomak
pobuda
Pomak
odziv
Vremenska konstanta
sustava
Proporcionalni član prvoga reda – P1 član (PT1)
258
Proporcionalni član prvog reda
259
Zadatak za vježbu:
Odrediti vremenski i frekvencijski odziv zadane
prijenosne funkcije za vremenski interval od 0 do 20
sekundi sa korakom 0,1 ako je
i nacrtati frekvencijski odziv prijenosne funkcije
% Prijenosna funkcija:
% VREMENSKI ODZIV: Prijelazna funkcija P1-clana,
step(H)
% FREKVENCIJSKI ODZIV
nyquist(H)
bode(H)
K=4 T=2
clc
K=4;
T=2;
br=[K];
naz=[T, 1];
H = tf(br, naz);
Z26:
Proporcionalni član prvog reda
260
U vremenskoj domeni dobivamo slijedeću diferencijalnu
jednadžbuBlok dijagram
sustava
Uz K=2 a T= 4
261
ZADATAK za vježbu 1.
Kreirati m file koji će odrediti i nacrtati odziv sustava prvog reda na jediničnu
odskočnu funkciju. Na istoj slici (pomoću naredbe subplot) nacrtati mapu
polova i nula. Vrijednosti za parametar T unositi u komandnom modu
Octave. Izvesti zaključak o utjecaju vremenske konstante T na odziv sustava.
% odziv_sustava_1reda.m
disp('odziv sustava prvog reda')
T=input('unesi vrijednost vremenske konstante; T=');
br=[1/T]; naz=[1 1/T]; G=tf(br,naz);
t=0:0.01:10;
y=step(G,t);
[p,z]=pzmap(G);
subplot(211), plot(t,y), hold on % crtanje vremenskog odziva
title('Vremenski odziv')
subplot(212), plot(real(p),imag(p),'x'); hold on % crtanje polova u kompleksnoj ravnini
title('Dijagram polova i nula')
% kraj m-datoteke
Z27:
44
262 263
Na temelju slike možemo zaključiti da se porastom vremenske konstante
(približavanjem pola imaginarnoj osi) usporava odziv sustava i nagib tangente
na krivulju odziva je sve manji.
264
Scilab/XcosZadatak (samostalni)Koristeći Scilab/Xcos riješiti diferencijalnu jednadžbu prvog redapojačanje a=0,2, odnosno a=0,4, a na ulazu je stepenica amplitude u=2.Podesiti početne vrijednosti x0=0, odnosno x0=5 i x0=6.Snimiti sve odzive sustava i komentirati rezultate
265
+-
Zbrajalo
1/s
Integrator
0.2
Pojačanje
StepenicaGraph
Blokovski prikaz sustava prvog reda
Z28:
ZadatakKoristeći Scilab/Xcos riješiti diferencijalnu jednadžbu prvog redapojačanje a=0,2, odnosno a=0,4, a na ulazu je stepenica amplitude u=2.Podesiti početne vrijednosti x0=0, odnosno x0=5 i x0=6.Snimiti sve odzive sustava i komentirati rezultate
266
+-
Zbrajalo
1/s
Integrator
0.2
Pojačanje
StepenicaGraph
dx
dtax b ( )b u x C0
Sustav prvog reda je opisan diferencijalnom jednadžbom:
t x.
0 xb
aSS
U stacionarnom stanju je :
xssx0Ako je veće od , odziv će biti opisan eksponencijalnom jednadžbom.
x t x x e xss
at( ) ( )( )
0 01 x t x x e xss
t
( ) ( )( )
0 01 1
a
x xss 0
x t x x x e x x x ess ss
at
ss ss
t
( ) ( ) ( )
0 0
Ako je
:
Proporcionalni član drugoga reda – P2 član (PT2)
267
45
Mr 2 + Dr + K = 0
268
Radi jasnijeg prikaza, koeficijenti iz kvadratne jednadžba često se pišu izraženi
pomoću neprigušene vlastite frekvencije ωn i stupnja prigušenja ζ, pa kvadratna
jednadžba postaje:
Korijeni r 1 i r 2 sustava dobivaju se rješavanjem kvadratne jednadžbe:
Prijelazni odziv ovisi o tome da li je stupanj
prigušenja ζ veći od 1 , jednak 1 , ili manji
od 1. Ovisno o tome korijeni r 1,2 su realni
ili kompleksni brojevi.
U slučaju kada je brojnik pod korijenom jednak nuli, dva rješenja karakterističnejednadžbe r1 i r2 su jednaka - konstanta prigušenja ima kritičnu vrijednost Dkr
Stupanj prigušenja ζ (zeta, damping ratio) definiran je kao omjer aktualne i kritične konstante
prigušenja:
Prijelazni odzivi prema stupnju prigušenja mogu se podijeliti na:
0 < ζ < 1 korijeni su konjugirano-kompleksni parovi, odziv je prigušeno oscilacijski, tj. odziv je prigušena sinusoida (underdamped)
ζ > 1 korijeni su realni, odziv je aperiodski (overdamped)ζ = 1 korijeni su jednaki i realni, odziv je granično aperiodskiζ = 0 odziv su neprigušene oscilacijeζ < 0 odziv su raspršene oscilacije (sustav je nestabilan)
269
Nekoliko normaliziranih odziva (kao funkcija ωnt) na pobudu u oblikujedinične
odskočne funkcije za različite stupnjeve prigušenja:
270
Slučaj kada je D = 0, odnosno stupanj prigušenja ζ = 0, znači da prijelazni
odziv trajno oscilira. To je sinusoida konstantne amplitude.
Prijenosna funkcija
P2 člana
0 < ζ < 1 odziv je prigušena
sinusoida
ζ > 1 odziv je aperiodski
ζ = 1 odziv je granično
aperiodski
ζ = 0 odziv su neprigušene
oscilacije
ζ < 0 odziv su raspršene
oscilacije
271
x x x u.. .
2 2 w
ODZIV SUSTAVA DRUGOG REDA (KVADRATNO KAŠNJENJE)
272
Prijenosne funkcije drugog reda najčešće svodimo na standardni oblik:
Prijelazna pojava
SUSTAV DRUGOG REDAOpća jednadžba P2 člana glasi:
Mehanički sustav masa, opruga, prigušenje je sustav 2. reda. Analogni sustavi se mogu naći u elektrici idrugim granama znanosti. Neprigušena vlastita frekvencija sustava, wn, je frekvencija kojom bi sustavtitrao 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 prijesmiriti u stacionarnom stanju i titrat će manjom frekvencijom. Frekvencija prigušenog titranja sustava,wp, dana je relacijom:
Kod P2 člana razlikuje se 5 slučajeva odziva u ovisnosti o koeficijentu prigušenja, :
• > 1 aperiodski, . 0 < < 1 prigušeno oscilacijski,
• = 1 granično aperiodski, . < 0 raspireno oscilacijski.
• = 0 neprigušeno oscilacijski i
)()()(2)(1
2
2
2txkty
dt
tdy
dt
tydp
nn
w
w
21 ww np
46
Oscilatorno prigušeni odziv sustava drugog reda
Tr - vrijeme porasta (eng. RiseTtime )Tx - vrijeme smirivanja na x % vrijednost (eng. x% Settling Time)
Tp - period prigušenih oscilacija i s njim povezana frekvencijaprigušenih oscilacija fp = 1/ Tp i kružna frekvencija prigušenih oscilacija ωP = 2π fp
Tm - vrijeme prvog, maksimalnog prebačaja (eng. Peak Time) iM – iznos prvog, maksimalnog prebačaja (eng. Maximal Overshoot)
Ponekad se definira i Td – vrijeme kašnjenja (eng. Delay Time)
kao vrijeme od 0 do trenutka kada odziv dosegne 50 % konačne vrijednosti. 275
ZADATAK za vježbu 2.
276
Rješenje pod a):
>> wn=1; % odzivi i polno-nultni dijagrami
>> z=-0.02; s2r % pozivamo m-datoteku
>> z=0; s2r
>> z=0.2; s2r
Max. prebacaj, Mp= 1.5266
Vrsno vrijeme, Tp= 3.2100
Vrijeme smirivanja, Ts= 15
>> z=1; s2r
>> z=2; s2r
Odzivi sustava 2. reda u ovisnosti o faktoru
prigušenja, ζ (na slici označeno sa z)
wn=1; z=-0.02; sr2.m
277
278 279
P2 član:
-sustav koji je P2 član ima dva spremnika energije i kod njega kod promjene
stanja dolazi do prijelaznih pojava tj. do prijelaza energije iz jednog
spremnika u drugi i obrnuto
-to se očituje kao oscilacijske pojave ili prigušeno titranje
-P2 član se još naziva oscilacijski član
α -faktor prigušenja ili mjera za prigušene oscilacije
ω -prigušena vlastita frekvencija ili frekvencija prigušenih oscilacija
ξ -relativni koeficijent prigušenja(stupanj prigušenja)
ξ > 1-aperiodski odziv
ξ = 1-granični aperiodski odziv
ξ < 1-prigušeni oscilatorni odziv
ξ = 0-neprigušen i oscilatorni odziv
ξ < 0-raspršeno oscilatorni odziv
47
280
Tablica osnovnih dinamičkih članova
281
K predstavlja pojačanje, τ vremensku konstantu, τm mrtvo vrijeme, ωn
neprigušenu vlastitu frekvenciju, a ζ stupanj prigušenja.
282
Svaki objekt upravljanja posjeduje karakterističan
vremenski odziv.
Praktično vremenski odziv je određen konstrukcijom
stroja, postrojenja ili tehnologijom procesa, i
najčešće ga nije moguće modificirati.
Vremenski odziv nekog sustava može se odrediti
eksperimentalno ili teorijskom analizom.
Regulator također predstavlja dinamički sustav, koji ima
svoj karakteristični vremenski odziv.
283
Međutim, za razliku od vremenskog odziva sustava kojim
se upravlja, vremenski odziv regulatora određuje
projektant sustava automatskog upravljanja i to na taj
način da sustav u cjelini zadovolji tražene performanse.
Drugim riječima, vremenski odziv cjelokupnog sustava
regulacije treba ispuniti postavljene zahtjeve.
284
Regulacijsko djelovanje klasičnih kontinuiranih regulatora se
sastoji od tri osnovne komponente:
• proporcionalnog djelovanja (P-djelovanja),
• integralnog djelovanja (I-djelovanja),
• diferencijalnog djelovanja (D-djelovanja).
Ove tri osnovne komponente djelovanja regulatora proizlaze
iz načina na koji se određuje regulacijsko djelovanje, na
osnovu ulaznog signala u regulator.
285
Regulator sa proporcionalnim djelovanjem
Kod proporcionalnog regulatora je
vrijednost regulacijskog djelovanja
proporcionalna vrijednosti ulaznog
signala u regulator.
Kada je regulacijska greška velika,
i regulacijsko djelovanje će biti veliko.
U protivnom, kada je regulacijska
greška mala, i regulacijsko djelovanje
će biti malo.
48
286
Regulator sa integralnim djelovanjem
Ukoliko regulator ima integralno djelovanje, njegovo regulacijsko
djelovanje će predstavljati signal regulacijske greške sumirano
tokom vremena (odnosno integrirana regulacijska greška).
To znači da za kratkotrajna odstupanja od zadane vrijednosti
integralni regulator neće dati znatno regulacijsko djelovanje.
Međutim, ukoliko regulacijska greška traje duže vremena,
regulacijsko djelovanje će postepeno portasti i neće iščeznuti sve
dok regulacijska greška ne opadne na nultu vrijednost.
Integralni član
• odziv sustava ovisi o integralu pobude
• Može biti I0,I1, I2, ..
287
Primjer integralnog člana – istosmjerni
elektromotor sa kutnim pomakom
osovine kao izlaznom varijablom.
Ako je do skokovite promjene regulacijske greške došlo
u trenutku t0, vremenska promjena regulacijskog
djelovanja može se odrediti kao:
odnosno prijenosna funkcija I- regulatora data je sa:
288
Regulator sa integralnim djelovanjem je pogodan za uklanjanje
preostale regulacijske greške.
Ako se greška jako promjeni, regulacijsko djelovanje počinje rasti
velikom brzinom.
Kao posljedica, greška počinje postepeno opadati, što dovodi i do
postepenog smanjivanja regulacijskog djelovanja, sve do postizanja
nulte vrijednosti regulacijske greške.
Međutim, treba imati na umu da regulator gotovo nikada ne
posjeduje samo integralno djelovanje. Ovo djelovanje je nepogodno za
veliki broj objekata upravljanja koji posjeduju velika kašnjenja.
Uslijed toga regulator sa integralnim djelovanjem ovakve objekte može
dovesti u stanje osciliranja.
289
Regulator sa derivacijskim (diferencijalnim )
djelovanjem
Regulator sa derivacijskim djelovanjem koristi se za
uklanjanje brzo promjenljivih vrijednosti regulacijske
greške.
Kod derivacijskog regulatora se prati brzina promjene
regulacijske greške, i na osnovu nje se određuje vrijednost
regulacijskog djelovanja. Drugim riječima, signal
regulacijske greške se diferencira.
Ukoliko se signal regulacijske greške brzo mijenja,
regulator sa derivacijskim djelovanjem će trenutno dati
veliku vrijednost regulacijskog djelovanja
290
Vremenski odziv idealnog regulatora sa derivacijskim
djelovanjem na step ulazni signal.
Već iz prirode prikazanog odziva vidi se da idealni derivator
ne postoji, nego se diferencijalno djelovanje uvodi preko
realnog
derivatora.
odziv realnog derivacijskog regulatora,
amplituda skoka vrijednosti izlaza regulatora je
konačna i zavisna od parametara
regulatora, te postepeno eksponencijalno opada
prema nuli
Derivacijski član• Odziv ovisi o derivaciji pobude,
a označava se kao D član.
• može biti nultog reda (bez kašnjenja), što se označava sa D0. Može imati kašnjenje prvog reda, drugog reda, itd., a tada se označava sa D1, D2, ..
• Primjer derivacijskog člana može biti generator istosmjerne struje.
291
49
292
Vremenski odziv realnog derivatora na step ulazni signal i
njegova prijenosna funkcija su:
Međutim, primjena regulatora koji poseduje samo diferencijalno
djelovanje nema smisla, jer regulacijsko djelovanje postoji samo u
slučaju da postoji promjena vrijednosti regulacijske greške.
Znači da ovaj regulator ne bi davao nikakvo regulacijsko djelovanje
ukoliko bi regulacijska vrijednost imala ne nultu, ali konstantnu vrijednost.
Zato se ovakvo djelovanje pojavljuje isključivo u kombinaciji sa nekim od
gore navedenih (proporcionalnim, integralnim ili u kombinaciji sa oba).
TEMELJNE ZNAČAJKE POJEDINIH VRSTA REGULATORA
294
PID regulator
PID regulator kombinira sva do sada spomenuta
djelovanja u okviru jedinstvenog regulatora. Vremenski
odziv PID regulatora je prikazan je na slici.
Odziv na step signal na ulazu se formira najčešće na
osnovu izraza:
PID regulator – osnovna blok struktura
295
zahtjevi kod vremenskog odzivaSvojstva odziva na primjeru P2 člana
296
─ tr vrijeme porasta (rise time) – najčešće
označava vrijeme potrebno da odziv sustava
poraste od 10% do 90% svoje konačne
vrijednosti.
─ ts vrijeme smirivanja (settling time) – označava
vrijeme potrebno da se prijelazni dio odziva
smanji na neku malu vrijednost, tako da odziv
poprimi gotovo ustaljenu vrijednost u
stacionarnom stanju. Neka mala vrijednost može
biti različito
pretpostavljena, ovdje je ± 1% (može biti i do ±
5%).
─ tp vrijeme maksimalnog prebačaja (peak
magnitude time) – označava vrijeme
maksimalnog prebačaja.
─ Mp maksimalni prebačaj (peak magnitude) –
označava prebačaj odziva u postocima.
─ e0 trajno regulacijsko odstupanje (steady-state
error) – predstavlja regulacijsku pogrešku u
stacionarnom stanju.
Stabilnost
Točnost
Brzina odziva
297
Vrijeme uspona Preskok Vrijeme
smirivanja
Greška
ustaljenog
stanja
Kp Smanjuje Povećava Mala promjena Smanjuje
Ki Smanjuje Povećava Povećava Eliminira
Kd Mala promjena Smanjuje Smanjuje Mala promjena
Utjecaj djelovanja na step odziv sustava se može grubo predstaviti tablicom:
PID djelovanje
50
298
Odabir PID regulatora
- Za određeni proces koji se želi automatizirati
potrebno je odabrati i primijeniti prikladni
regulator
- Za P, PD, I, PI i PID regulatore svojstva se
mogu definirati u tabličnom prikazu:
299
NAMJEŠTANJE REGULACIJSKIH
PARAMETARA (regulacijskih koeficijenata)
- Da bi se postigli zadovoljavajući rezultati regulacije, osim upotrebe
prikladnog regulatora, još je važnije da regulacijski parametri KP, KD i
Ki budu prikladno namješteni, odnosno Td i Ti komponente
regulacijskih parametara KD i Ki
- Najčešće namještanje regulacijskih koeficijenata postaje kompromis
između dva krajnja regulacijska djelovanja
NAMJEŠTANJE REGULACIJSKIH PARAMETARA (regulacijskih koeficijenata)
- U praksi regulatori se uobičajeno namještaju na temelju iskustva
- Ili nekoliko teoretskih i praktičnih pristupa u izradi određivanja ispravnih regulacijskih koeficijenata
- Jedan od pristupa je upotreba Ziegler i Nichols metode, odnosno njihove tzv. Konačne metode (ultimate method)
- Ova metoda se može primijeniti jedino u regulacijskim sustavima koji dopuštaju određene (podnošljive) oscilacije izlaznih signala
- Za ovu metodu postoji sljedeća procedura postupanja:
- na regulatoru postavi KP i Tv u najnižu vrijednost, a Tn u najvišu vrijednost (na ovaj način postiže se najmanji mogući utjecaj regulatora na sustav)
- namjesti regulacijski sustav ručno (započni regulacijsku petlju)
- postavi upravljanu veličinu na ručno namještenu vrijednost i prebaci na automatski režim rada
300 301
302
Primjer : Za sustav opisan funkcijom prijenosa
zatvoriti povratnu vezu i projektirati PID kontroler (regulator) tako da u sustavu
zatvorene veze bude:
- vrijeme uspona < 0.5s
- bez greške u stacionarnom stanju
- preskok < 20%
Cilj automatizacije nekog procesa je zadovoljenje realnih zahtjeva naručitelja.
Zahtjevi su najčešće izraženi kroz granicu preskoka odziva sistema i željeno
vrijeme smirivanja prijelaznih procesa u sustavu. Nažalost, ova dva zahtjeva su
oprečne prirode, tako da se sva filozofija PID regulatora svodi na određivanje
optimalnih parametara u cilju ispunjenja zahtjeva.
Da bi mogli uvidjeti utjecaj parametara PID regulatora na odziv sustava, kao i na
amplitudno-faznu karakteristiku, koristićemo Scilab-ov Xcos paket.
303
Primer : Za sistem opisan funkcijom prijenosa
zatvoriti povratnu vezu i projektirati PID kontroler(regulator) tako da u sustavu zatvorene
veze bude:
- vrijeme uspona < 0.5s
- bez greške u stacionarnom stanju
- preskok < 20%
Rješenje:
PID regulator kome je proporcionalno djelovanje jednako 1, a integralno i diferencijalno
pojačanje nula, kao na slici. Vrijeme trajanja simulacije je 2s i pogledajmo rezultate simulacije. Sa slike
se vidi da uvjet za vrijeme uspona nije ispunjen, pošto ovaj odziv ima vrijeme uspona oko 1s, a u
projektnim zahtjevima je da ono bude manje od 0.5s
Varirajmo sve kombinacije za:
Kp= 1; 7; 10 Ki=0; Kd=0 , izabrati najpovoljniji
Ki= 1; 7; 10 Kp ; Kd=0
Kd= 0,1; 0,3; 0,7
51
304 305
306 307
Primjer
Pronaći metodom isprobavanja parametre PID regulatora tako da čitav
sustav sa negativnom povratnom vezom bude stabilan, ima relativno
brz odziv i da mu greška u stacionarnom stanju bude anulirana. Za
svaki set isprobanih parametara gledati odziv sustava i amplitudno-
faznu karakteristiku otvorenog kruga.
Sustav je 3. reda i ima oblik:
Osnovne značajke pojedinih vrsta regulatora
• Proporcionalni (P) regulator- su jednostavnost, stabilnost, neposrednost, ali i odstupanje stvarne vrijednosti
od željene vrijednosti (kao preostala stacionarna pogreška pri odzivu sustava).
• Integracijski (I) regulator- ne uzrokuje odstupanje u sustavu, ali se prijelazna karakteristika sustava ne
smiruje. Stvarna vrijednost oscilira oko željene vrijednosti.
• Derivacijski (D) regulator- trenutačno se suprostavlja djelovanju poremećaja s brzim odzivom u oblikuvalovitog skoka koji prelazi u uzlazno klizanje (Na taj način vođeni sustav postajenestabilan).
U sustavima sa negativnom povratnom vezom najčešće se koriste P, PI i PID
• P-regulatori djeluju trenutno bez kašnjenja
• I – regulatori djeluju sporo i brzina odziva ovisna je o iznosu regulacijskog odstupanja
• PI – regulatori, u području niskih frekvencija radi kao integrator a u području visokih frekvencija kao pojačalo. P komponenta je dobra za prijelaznu pojavu a I komponenta za stacionarno stanje
• PD – regulator, izlazna veličina ovisi i o brzini promjene signala razlike, na visokim frekvencijama veliko pojačanje i fazni pomak +900, na niskim frekvencijama fazni pomak 00 a pojačanje Kp (održavanje smjera i položaja gibajućih tijela u prostoru )
• PID – regulatori, ujedinjuju prednosti sve tri člana
• P član daje veliku brzinu odziva i pojačanje
• D član povećava brzinu odziva – spriječava veliko regulacijsko odstupanje
• I član daje točnost – uklanja grešku u stacionarnom stanju
PID djelovanje = zamjena za djelovanje operatera u ručnoj regulaciji:
reagira proporcionalno u skladu s trenutnim prilikama
reagira integralno uzimajući u obzir prošlost
reagira derivacijski uzimajući u obzir buduće prilike309