Professional Documents
Culture Documents
Računalne Simulacije - Literatura
Računalne Simulacije - Literatura
UVOD
1
jednako kao pomaci, brzine, ubrzanja u mehaničkom sustavu. Zbog toga se analiza,
mjerenje ili podešavanje realnog mehaničkog sustava može provesti, npr. na analognoj
električnoj mreži, što je često jednostavnije, jeftinije i brže nego na samom mehaničkom
sustavu. Tada se takva električna mreža naziva analognim modelom mehaničkog
sustava. Analogni modeli se često grade kad su istraživanja na originalnom sustavu
skupa, opasna po život ili neizvediva iz bilo kojih razloga.
Točno ili približno ponavljanje procesa u sustavu na analognom modelu naziva se
simulacija, a postupak određivanja apstraktnog modela naziva se modeliranjem.
Razvoj elektroničkih sustava omogućio je ostvarenje analognih računala (ranije) i
digitalnih računala koja omogućuju realizaciju vrlo složenih apstraktnih sustava i
simuliranje procesa u njima.
Poznavanje dinamičkih svojstava procesa je nephodan dio tehničke i znanstvene prakse.
Dakle, želi se doći do egzatnih matematičkih izraza i jednadžbi, odnosno do
matematičkih modela sustava. Na temelju ponašanja modela može se zaključiti o
svojstvima originala, tj. realnog sustava. Model se može dobiti na dva načina:
TEORETSKI (postupkom MODELIRANJA),
EKSPERIMELTALNO (postupkom IDENTIFIKACIJE).
MODELIRANJE je proces postavljanja modela teorijskim putem uz primjenu osnovnih
prirodnih zakona očuvanja mase, energije i implusa.
IDENTIFIKACIJA predstavlja proces postavljanja modela eksperimentalnim putem uz
primjenu mjerenih signala ulaza i izlaza stvarnog procesa i njegova modela, pri čemu se
pogreška između stvarnog procesa i modela, promjenom parametara ili strukture modela,
nastoji učiniti što manjom.
MODELIRANJE IDENTIFIKACIJA
Struktura modela proizlazi iz prirodnih zakona Struktura modela mora se pretpostaviti unaprijed
Reproduciraju se veze između ulaznih, izlaznih Dobiva se model tipa „crne kutije“ (samo veza
i internih varijabli ulaza i izlaza)
Parametri modela povezani s fizičkim
Parametri su čiste brojke
veličinama
Dobiveni model upotrebljiv i za srodne procese Model upotrebljiv samo za određeni režim rada
Model se može postaviti i za proces koji nije
Model se može odrediti samo na već postojećim
realiziran u praksi (npr. moguće ispitivati
postrojenjima
havarijske procese)
Pripremljeni programi lako se primjenjuju za
Za svaki novi proces polazi se ispočetka
dobivanje modela različitih procesa
2
2. LINEARNI SUSTAVI
LINEARNI SUSTAVI 2.
2.1. LAPLACEOVA TRANSFORMACIJA
∫ f (t ) e
− st
L[ f (t )] = dt = F ( s )
0
gdje je L[ f (t )] kraći zapis za Laplaceov integral. Rješavanjem integrala dobiva se
funkcija F(s) koja ima operator s kao nezavisnu varijablu. Operator s je kompleksna
vrijednost oblika σ + jω , pa je područje konvergencije integrala za vrijednost funkcije
f(t) neko područje u kompleksnoj ravnini. Uvjet konvergencije nepravog integrala, a
time i uvjet za transformaciju vremenske funkcije je da f(t) s vremenom raste sporije
nego što prigušni član e − st pada.
Pretvorba funkcije F(s) u vremensku domenu f(t) vrši se obratnom Laplaceovom
transformacijom pomoću integrala kompleksne varijable:
σ + jω
1
f (t ) = L−1[ F (s )] = ∫
st
F (s) e ds .
2π j
σ ω
−j
3
Postupak rješavanja diferencijalne jednadžbe primjenom direktne i obratne Laplaceove
transformacije može se shematski prikazati donjom slikom.
Slika 1: Shematski prikaz rješavanja diferencijalne jednadžbe primjenom
Laplaceove transformacije
f ( y, u, t ) = 0 y = f (u, t )
n
Kj
F (Y ,U , s ) = 0 Y = F (U , s) Y= ∑s−s
j =0 j
1 s
t ⇔ cos a t ⇔
s2 s + a2
2
1 b
e −a t ⇔ e − a t sin b t ⇔
s+a ( s + a) 2 + b 2
1 s+a
t e −a t ⇔ e − a t cos b t ⇔
( s + a) 2 ( s + a) 2 + b 2
4
Primjer 1: Izračunati Laplaceovu transformaciju konstantne funkcije f(t)=1
∞ ∞
1 − st ∞ 1 − ∞ 1 0 1 1 1
F (s) = ∫
0
∫
f (t ) e − st dt = e − st dt =
0
s
e
0
= e − − e = ⋅ 0 − − ⋅ 1 =
s s s s s
∞ ∞ ∞
1 − ( s + a )t ∞ 1
F (s) = ∫
0
∫
0
∫
f (t ) e − st dt = e − at e − st dt = e − ( s + a )t dt = −
0
s+a
e
0
=
s+a
5
5 d n f (t ) n
d (i −1) f (t ) Derivacija U transformirani
dt n
s n F (s) − ∑ s n−k
dt i −1 t =0+
oblik uključena je i
k =1 početna vrijednost
funkcije f(0+)
6 t
t Integracija Transformat se
∫ 0
f (τ )dτ
1
∫ 0
f (τ )dτ
0+
dobiva metodom
F ( s) + parcijalne
s s integracije
7 f1 (t ) ∗ f 2 (t ) F1 ( s) F2 ( s ) Konvolucija Konvolucija u
vremenskoj domeni
odgovara množenju
u frekvencijskoj
domeni
8 f (0+) = lim f (t ) lim s F ( s ) Teorem Početnu vrijednost
t →0 + s →∞
početne funkcije f(t)
vrijednosti moguće je odrediti
iz njezine
Laplaceove
transformacije
9 f (∞) = lim f (t ) lim s F ( s ) Teorem Konačnu vrijednost
t →∞ s→ 0
konačne funkcije f(t)
vrijednosti moguće je odrediti
iz njezine
Laplaceove
transformacije
1 f1 (t ) f 2 (t ) c + j∞ Vremenski Množenje u
1
0
2πj ∫
c − j∞
F1 (α ) F2 ( s − α )dα = produkt vremenskoj domeni
odgovara
1
konvoluciji u
= F1 ( s ) ∗ F2 ( s) frekvencijskoj
2πj
domeni
1 t f (t ) d Množenje Množenje
− F (s)
1 ds vremenom vremenom
odgovara derivaciji
u frekvencijskoj
domeni
6
B( s) B( s )
Y ( s) = = ,
N ( s ) ( s + s1 ) ⋅ ( s + s 2 ) ⋅ ⋅ ⋅ ( s + s n )
te zatim rastaviti na zbroj parcijalnih razlomaka:
B ( s) A1 A2 An
Y ( s) = = + + ... + .
N ( s) ( s + s1 ) ( s + s 2 ) (s + sn )
Rješenja u nazivniku, tj. korjeni si mogu biti realni i različiti, realni s višestrukim
ponavljanjem, te konjugirano kompleksni, pa će i tehnika rastavljanja razlomka na zbroj
parcijalnih razlomaka zavisiti od tipa korjena. Ukratko ćemo razmotriti postupak
rješavanja za svaki spomenuti slučaj.
7
pri čemu su rješenja polinoma drugog reda u nazivniku konjugirano kompleksni korjeni.
Za parcijalni razlomak koji sadrži konjugirano kompleksni par korjena vrijedi sljedeće
pravilo za računanje obratne Laplaceove transformacije:
s+d
L−1 K ⋅ 2 2
= K A e a t sin(ω t + α )
( s − a ) + ω
1
gdje se parametri A i α računaju kao A=
1
ω
[(a + d ) 2
+ ω2 ] 2
ω
α = arctg .
a+d
Vremenska funkcija f(t) dobivena obratnom Laplaceovom transformacijom P(s) imat će
oblik:
f (t ) = K A e a t sin(ω t + α ) + A2 e s 3 t .
Koeficijente Ai, koji se nazivaju rezidui funkcije Y(s) moguće je izračunati pomoću
metode neodređenih koeficijenata ili pomoću metode Heavisideovog razvoja.
Rješenje:
&y& + 5 y& + 6 y = u (t )
Primjenom direktne Laplaceove transformacije, koristeći tablice, dobiva se:
{ }
s 2 Y ( s ) − s y t = 0 ) − y& t = 0 + 5 { s Y ( s ) − y (0)} + 6 Y ( s ) =
1
s
Uvrštenjem početnih uvjeta u gornji izraz dobiva se:
8
1
( s 2 Y ( s ) + s − 1) + 5 ( s Y ( s ) + 1) + 6 Y ( s ) =
s
Sređivanjem jednadžbe uz izlučivanje zajedničkog faktora Y(s) može se pisati:
1
( s 2 + 5 s + 6) Y ( s ) = − s + 1 − 5
s
i dalje:
− s2 − 4 s + 1
( s 2 + 5 s + 6) Y ( s ) =
s
odakle slijedi rješenje u s-području:
− s2 − 4 s + 1
Y (s) = .
s ( s 2 + 5 s + 6)
Dobiveno rješenje u s-području potrebno je napisati kao zbroj parcijalnih razlomaka, da
bi se primjenom obratne Laplaceove transformacije dobilo rješenje u vremenskom
području.
koef. uz s2: A1 + A2 + A3 = −1
koef. uz s1: 5 A1 + 3 A2 + 2 A3 = −4
koef. uz s0: 6 A1 = 1
9
Primjenom obratne Laplaceove transformacije dobiva se vremenska funkcija
1 5 4
f (t ) = − e − 2 t + e − 3 t .
6 2 3
b) Metoda Heavisideovog razvoja
B( s)
Ovom metodom koeficijenti Ai određuju se prema pravilu Ai = , gdje su si
N ' (s) s = si
>> y = sym('y(t)');
>> u = sym('u(t)');
% Laplaceova transformacija
diferencijalne % jednadžbe
10
>> L = laplace(diff(diff(y)) + 5*diff(y) + L=
6*y - u) s*(s*laplace(y(t),t,s)-y(0))-
>> Ls = char(L); D(y)(0)+5*s*laplace(y(t),t,s)-
5*y(0)+6*laplace(y(t),t,s)-
% Zamjena početnih uvjeta stvarnim laplace(u(t),t,s)
% vrijednostima
>> Ls = strrep(Ls, 'D(y)(0)', '1');
>> Ls = strrep(Ls, 'y(0)', '(-1)');
% Rješenje jednadžbe La =
>> syms Y; -(s^2-1+4*s)/s/(5*s+6+s^2)
>> La = solve([Ls '=0'], Y)
f=
% Provedba obratne Laplaceove 1/6+4/3*exp(-3*t)-5/2*exp(-2*t)
% transformacije 0.4
-0.4
>> y=eval(f);
>> plot(t,y)
-0.8
11
B(s) R(1) R(2) R(n)
---- = -------- + -------- + ... + -------- + K(s)
A(s) s - P(1) s - P(2) s - P(n)
Ukoliko se korjeni ponavljaju pri čemu je P(j) = ... = P(j+m-1) pol koji se ponavlja
m puta, tada razvoj ima sljedeći oblik:
R(j) R(j+1) R(j+m-1)
-------- + ------------ + ... + ------------
s - P(j) (s - P(j))^2 (s - P(j))^m
% Rješenje primjenom Matlabove funkcije
residue
>> clear
>> s=sym('s');
>> num=[-1 -4 1];
>> den=[1 5 6 0]; r= 1.3333
>> [r,p,k]=residue(num,den) -2.5000
% Rezidui 0.1667
p= -3.0000
-2.0000
% Polovi 0
k= []
Y = 4/3/(s+3)-5/2/(s+2)+1/6/s
>>Y=r(1)/(s-p(1)) + r(2)/(s-p(2)) + r(3)/(s-
p(3)) f =1/6+4/3*exp(-3*t)-5/2*exp(-
>> f=ilaplace(Y) 2*t)
>> t=0:0.1:5; 0.4
-0.2
-0.4
>> yi=impulse(num,den,t)
>> plot(t,yi)
-0.8
-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t
12
2.2. LINEARNI VREMENSKI NEPROMJENLJIVI (LTI)
SUSTAVI
δ (t ) δ (t − a) 0 , t < 0
F (s) = 1
δ (t ) = ∞ , t = 0
0 , t > 0
a t
du (t )
Impulsna funkcija je derivacija odskočne funkcije, tj. δ (t ) = . Naziva se i
dt
Diracova funkcija (engl. fizičar Paul Dirac) ili jedinični impuls, jer zatvara jediničnu
površinu:
∞ ∞ du (t ) ∞
−∞ ∫δ (t ) dt = ∫
− ∞ dt
dt = u (t ) = 1 .
−∞
Impulsna funkcija ima u trenutku t=0 impuls neizmjerne amplitude, te stoga ima čisto
teoretsko značenje i moguće ju je samo približno ostvariti u praktičnim primjenama.
Odziv sustava na pobudu u obliku jediničnog impulsa naziva se težinska funkcija:
dh(t )
g (t ) = .
dt
13
Odskočna funkcija Vremensko područje Kompleksno područje
f (t )
f(t) F(s)
u (t )
1 0 , t < 0 1
u (t ) = F (s) =
1 , t ≥ 0 s
t
Parabolična funkcija može se predočiti kao integral nagibne funkcije:
f (t ) = t 2 u (t ) .
14
Odskočna, nagibna i parabolična funkcija koriste se kao pobudne funkcije kod
ispitivanja točnosti slijednih sustava (servo sustava), kod kojih se traži da izlazna
veličina što točnije slijedi vodeću (ulaznu) veličinu.
15
>> xi_preb = (xi_max - sv) / sv * 100 0.6734
xi_preb =
% IMPULSNI ODZIV 34.6893
% Odziv sustava (izlaz) xi(t) za pobudu
(ulaz) u obliku impulsne (Diracove)
funkcije δ(t)
>> impulse(G,t)
% ili xi = impulse(G,t)
pri čemu se rezultat sprema u varijablu xi,
te se može iscrtati naredbom plot(t,xi)
• Nagibna funkcija
>> u1 = 2*t;
>> y1 = lsim(G,u1,t);
>> plot(t,u1,t,y1), legend('pobuda','izlaz',2)
• Parabolična funkcija
>> u2 = t.^2; % Kvadrira se svaki
element
>> y2 = lsim(G,u2,t);
>> plot(t,u2,t,y2), legend('pobuda','izlaz',2)
• Proizvoljni ulaz
>> u3 = 1.5*sin(2*t);
>> y3 = lsim(G,u3,t);
>> plot(t,u3,t,y3), legend('pobuda','izlaz')
[U,T]=gensig(TYPE,TAU,TF,TS)
16
TYPE - 'sin' sinusni signal
'square' pravokutni signal
'pulse' impulsni signal
TAU = period ponavljanja,
TF = trajanje signala,
TS = vrijeme uzorkovanja.
% Npr.:
>> Tp=1; Tf=10; Ts=0.01;
>> [u,t] = gensig('square',Tp,Tf,Ts);
>> plot(t,u), axis([0 10 -0.5 1.5])
• Početni uvjeti
Vremenski odziv sustava također se može ispitati i ako početni uvjeti nisu jednaki nuli.
U tu svrhu koristi se naredba initial, uz potrebu pretvorbe modela u oblik prostora
stanja.
Primjer vremenskog odziva sustava uz zadane početne uvjete
17
>> plot(x1,x2), grid
Zbog postojanja prigušnog člana ζ (koji se
dade izračunati izjednačavanjem nazivnika
prijenosne funkcije s2+2s+10, s izrazom
s2+2ζω0s+ω02) krivulja ima oblik prigušene
spirale, koja započinje iz točke koja
predstavlja početne uvjete (x01, x02) i ide
prema ishodištu koordinatnog sustava,
kada se sustav smiruje.
18
2.3. MODELI LTI SUSTAVA
U inženjerskoj praksi uobičajeno je da postupku regulacije nekog sustava prethodi razvoj
matematičkog opisa dinamike sustava. U tu svrhu Control System Toolbox pruža široke
mogućnosti za rad i analizu linearnih vremenski invarijantnih modela, kako
kontinuiranih tako i vremenski diskretnih sustava. Regulacijski sustavi mogu biti
jednovarijabilni sustavi s jednom ulaznom i jednom izlaznom varijablom (engl. single-
input/single-output, SISO), te multivarijabilni sustavi s dvije i više ulaznih varijabli i/ili s
dvije i više izlaznih varijabli (engl. multiple-input/multiple-output, MIMO). Matlab
pruža mogućnost pohranjivanja nekoliko linearnih vremenski invarijantnih modela u
jedno polje pod određenim nazivom. Pri tome svaki model predstavlja jedan element
polja, što pruža velike mogućnosti pri analizi i projektiranju složenih sustava sastavljenih
od većeg broja dinamičkih modela podsustava. Pri definiranju modela sustava, radi
jednostavnosti, uobičajeno se koriste strukture podataka, a Matlab podržava nekoliko
načina zapisa modela linearnih sustava i to u obliku prijenosne funkcije (engl. transfer
function, tf), u obliku nultočki-polova-pojačanja sustava (engl. zero-pole-gain, zpk), te u
obliku prostora stanja (engl. state space, ss).
• Prijenosna funkcija
L { izlaz } Y ( s ) bm s + bm −1s
m m −1
+ ... + b1s + b0
∑b s
i =0
i
i
G (s) = = = =
L { ulaz } U ( s ) an s n + an −1s n −1 + ... + a1s + a0 n
∑a s
i =0
i
i
19
U (s ) Y (s )
G (s) Y ( s) = G(s) ⋅ U (s )
U (s ) Y (s )
G1( s )
20
>> Gz=G1/(1+G1) Transfer function:
% umjesto da se primjeni funkcija s^3 + 7 s^2 + 11 s + 5
feedback koja vrši istu radnju. -------------------------------
>> Gz1=feedback(G1,1,-1) s^4 + 5 s^3 + 13 s^2 + 15 s + 6
% U gornjoj naredbi 1 se odnosi na
prijenosnu funkciju povratne grane, a -1 Transfer function:
označava negativnu povratnu vezu, koja se s+5
u naredbi feedback podrazumjeva , pa se -------------
ovdje može i izostaviti. s^2 + 3 s + 6
% Transfer function:
>> minreal(Gz) s+5
-------------
s^2 + 3 s + 6
• Nultočke-polovi-pojačanja
( s − z1 ) ⋅ ( s − z 2 ) ⋅ ⋅ ⋅ ( s − z m )
∏ (s − z )
i =1
i
G (s) = K ⋅ =K⋅ n
( s − p1 ) ⋅ ( s − p2 ) ⋅ ⋅ ⋅ ( s − pn )
∏ (s − p )
i =1
i
21
Model zapisan u obliku nultočke-polovi-pojačanje
% Prijenosna funkcija napisana u obliku
nultočki, polova i pojačanja sustava:
(s + 1 + 2 j) (s + 1 − 2 j)
% G ( s ) = 10
( s + 3) ( s + 4)
% Nultočke i polovi prijenosne funkcije
mogu biti i kompleksni brojevi
22
polova-pojačanja:
>> zpk(Gz)
Zero/pole/gain:
% Za izračunavanje nultočki i polova (s+5) (s+1)^2
modela zadanog prijenosnom funkcijom -----------------------
može se pisati: (s+1)^2 (s^2 + 3s + 6)
>> z=zero(Gz)
% ili z=roots(num) z= p=
>> p=pole(Gz) -5.0000 -1.5000 + 1.9365i
% ili p=roots(den) -1.0000 -1.5000 - 1.9365i
-1.0000 -1.0000 + 0.0000i
-1.0000 - 0.0000i
• Prostor stanja
23
x&1 = a11 x1 + ... + a1n xn + b11u1 + ... + b1m um
M
x&n = an1 x1 + ... + ann xn + bn1u1 + ... + bnmu m
24
stupanj prigušenja ξ i vlastita
(neprigušena) frekvencija ω0 kompleksnih
parova ili vlastitih vrijednosti, a još se Eigenvalue Damping Freq. (rad/s)
ispisuju i iznosi polova (vlastitih
vrijednosti) sustava. 0.00e+000 -1.00e+000 0.00e+000
>> damp(Gss) -3.00e+000 1.00e+000 3.00e+000
>> Gpf1=tf(Gss) a= b=
% ili [num,den]=ss2tf(A,B,C,D); x1 x2 u1
x1 -3 -0.5 x1 1
>> Gss1=ss(Gpf) x2 4 0 x2 0
% ili [a,b,c,d]=tf2ss(num,den); c= d=
x1 x2 u1
y1 1 0.25 y1 0
Continuous-time model.
25
Ispis i izmjena strukture modela pomoću naredbi get i set.
26
>> [z1,p1,k1]=zpkdata(Gzpk,'v') z1 = -1.0000 - 2.0000i
-1.0000 + 2.0000i
p1 = -3
-4
k1 = 10
>> [A1,B1,C1,D1]=ssdata(Gss)
A1 = -4 -2 B1 = 2
% Korištenje 'v' ili 'cell' u naredbi ssdata 2 1 0
daje samo dimenzije matrica modela
C1 = 1 0 D1 = 0
Dohvaćanje nekog elementa unutar polja može se postići i na direktan način ispisom
imena elementa i korištenjem vitičastih zagrada. Za sustave s jednim ulazom i jednim
izlazom (SISO) izraz unutar vitičastih zagrada je uvijek jednak jedinici. Vitičaste
zagrade označavaju polje ćelija, s obzirom da se u prijenosnu funkciju sustava s više
ulaza i više izlaza (MIMO) mogu pohraniti vektori različitih tipova i/ili veličina unutar
ćelije. Polje ćelija predstavlja matricu s promjenljivom veličinom matrice, npr.:
27
% Matrica koeficijenata sustava
>> A1=Gss.a A1 = -4 -2
2 1
Potrebno je naglasiti da ove tri vrste modela (tf, zpk, ss) nisu podjednako pogodne za
numeričke izračune. Točnost izračuna u Matlabu pomoću modela prijenosne funkcije
(osobito višeg reda) je često vrlo slaba. Zbog toga pretvorba modela u oblik prijenosne
funkcije može uzrokovati gubitak na točnosti, koji se ispoljava kao značajna razlika
položaja polova u odnosu na model nultočki-polova-pojačanja ili prostora stanja.
Pretvorba modela predstavljenog oblikom prijenosne funkcije ili nultočki-polova-
pojačanja u model prostora stanja nije jedinstveno definiran. To znači da je model
prijenosne funkcije kao i model nultočki-polova-pojačanja jednoznačno definiran za neki
linearni sustav, dok postoji više zapisa u obliku prostora stanja koji daju istu prijenosnu
funkciju. Zbog toga je najprikladniji oblik sa stanovišta numeričkih izračuna oblik
prostora stanja.
28
2.3.2. Linearni model s transportnim kašnjenjem
Multivarijabilni ili višestruki sustavi predstavljaju sustave koji sadrže više ulaznih i
izlaznih veličina (MIMO). To su općenito složeniji sustavi koji sadrže više jednostrukih,
funkcionalno povezanih ulaznih i izlaznih veličina. U pravilu se javljaju u procesnoj
industriji pri upravljanju složenih objekata, u vojnoj tehnici, robotici, pri upravljanju
kozmičkim letjelicama i sl. Iste funkcije koje se koriste kod zapisa sustava s jednom
ulaznom i jednom izlaznom veličinom (SISO) mogu se koristiti i u slučaju
multivarijabilnih (MIMO) sustava. To znači da se mogu koristiti oblici zapisa modela
pomoću prijenosne funkcije, nultočki-polova-pojačanja i prostora stanja, pri čemu se
jednostavniji podsustavi povezuju u složenije sustave kojima je omogućen pristup i
manipuliranje pojedinačnim strukturama zapisa.
Iz dinamičkog modela opisanog prostorom stanja linearnog vremenski invarijantnog
sustava:
29
x& (t ) = A x(t ) + B u (t )
y (t ) = C x(t ) + D u (t )
moguće je dobiti matricu prijenosnih funkcija G(s), kao model u području kompleksne
varijable s. U tu svrhu potrebno je najprije izvršiti Laplaceovu transformaciju gornjeg
izraza:
s X ( s ) − X (0 ) = A X ( s ) + B U ( s )
Y ( s) = C X (s ) + DU (s)
Uz pretpostavku da je X(0)=0, tj. početno stanje sustava jednako nuli, dobiva se:
[sI − A ] X (s ) = B U (s)
gdje je I jedinična matrica. Nadalje slijede izrazi za vektor stanja X(s) i vektor izlaza
Y(s):
X ( s ) = [sI − A ] −1 B U ( s ) = Φ( s ) B U ( s )
{ }
Y ( s ) = C [sI − A ] −1 B + D U ( s )
Matrica Φ( s ) = [sI − A ] naziva se resolventna matrica sustava. Obratnom
−1
30
0 1 1 1 y1 0 -2 y1 0 0
x& = x + 0 − 2 u , y2 1 0 y2 0 0
− 2 − 3
0 − 2 Continuous-time model.
y= x
1 0
Transfer function from input 1 to
>> A=[0 1;-2 -3]; B=[1 1;0 -2];
output...
>> C=[0 -2; 1 0]; D=[0 0;0 0];
4
>> sys=ss(A,B,C,D)
#1: ------------- % g11
s^2 + 3 s + 2
% Matrica prijenosnih funkcija imat će
g11 g12 s+3
izgled: G ( s ) = C Φ( s ) B =
g 21 g 22 #2: ------------- % g21
% a može se izračunati kao: s^2 + 3 s + 2
>> Gmpf=tf(sys)
Transfer function from input 2 to
% Blokovski prikaz koji daje povezanost output...
pojedinih ulaza i izlaza sustava ima 4s+4
slijedeći izgled: #1: ------------- % g12
s^2 + 3 s + 2
G (s ) s+1
u1 ( s ) 4 y1 ( s ) #2: ------------- % g22
g11 = 2 s^2 + 3 s + 2
s + 3s + 2
s+3
g 21 = 2
s + 3s + 2
4
g12 =
s+2
Transfer function:
1
g 22 = 4
u2 ( s) s+2 -----
y2 ( s)
s+2
Ukoliko su poznate prijenosne funkcije koje daju povezanost pojedinih ulaza i izlaza
sustava, tada se prijenosna funkcija složenog sustava može zapisati na način da se
31
pojedine prijenosne funkcije zapisuju kao elementi matrice ili se definira polje ćelija svih
brojnika i nazivnika prijenosnih funkcija koje se povežu u zajedničku cjelinu naredbom
tf.
s+1
#2: ----------------
s^2 + 5 s + 10
Slično kao u slučaju prijenosne funkcije modela složeni sustav može biti zadan i u obliku
nultočki-polova-pojačanja pojedinačnih podsustava, koji se zatim mogu povezati u
složeni model primjenom naredbe zpk. Pri tome se oblikuje polje ćelija koje se odnose
na nultočke, polove i pojačanja pojedinih podsustava.
Model MIMO sustava u obliku nultočki-polova-pojačanja
32
>> Z = {[ ], 2; [2-i 2+i], [ ]}; output...
>> P = {0, [-1 -1]; [1 2 4], [ ]}; -2
>> K = [-2 5; 4 0]; #1: --
>> G = zpk(Z, P, K) s
#2: 0
33
2.4. FREKVENCIJSKE KARAKTERISTIKE
Za određivanje vremenskog odziva dinamičkih sustava najčešće se kao pobudne funkcije
upotrebljavaju odskočna (step) i impulsna (impulse) funkcija. Uz ove dvije funkcije
često se za ispitivanje linearnih vremenski nepromjenljivih (LTI) sustava primjenjuje
pobuda u obliku harmonijske funkcije (npr. sinusne funkcije). Ukoliko se na ulaz
stabilnog LTI sustava narine pobuda u obliku sinusne funkcije u (t ) = Au sin ω t , izlazna
veličina sustava također će se mijenjati, nestankom prijelaznih pojava, u obliku sinusne
funkcije s jednakom frekvencijom, ali općenito izmjenjenom amplitudom i faznim
pomakom, tj. y (t ) = Ai sin(ω t + ϕ ) . Time se zapravo i analiza sustava u frekvencijskom
području svodi na ispitivanje promjena amplitude i faznog pomaka izlaznog signala za
različite frekvencije ulaznog signala. Teorijski, frekvencije ulaznog siganala mogu se
mijenjati od nule do beskonačnosti, međutim stvarni regulacijski sustavi rade u području
ograničenih frekvencija.
u = Au sin ω t
y = Ai sin(ω t + ϕ )
u = Au sin ωt u (t ) y (t )
Au sustav Au
Ai
t t
ϕ
2π 2π
Slično kao što je kod analize u području kompleksne varijable (s-području) uveden
pojam prijenosne funkcije i ovdje se uvodi pojam sinusne prijenosne funkcije
(frekvencijske prijenosne funkcije), koja predstavlja omjer izlazne i ulazne funkcije a
definirana je na slijedeći način:
34
y ( jω )
G ( jω ) = = G ( jω ) e jϕ .
u ( jω )
Modul sinusne prijenosne funkcije (amplitudno frekvencijska karakteristika, AFK, engl.
magnitude) je apsolutna vrijednost omjera amplituda izlaznog i ulaznog signala:
A
M (ω ) = G ( jω ) = i = [Re G ( jω )] 2 + [Im G ( jω )] 2
Au
a argument (fazno frekvencijska karakteristika, FFK, engl. phase) se naziva fazni kut:
Im G ( jω )
ϕ = ∠G ( jω ) = ϕi − ϕu = arctan
Re G ( jω )
Sinusna prijenosna funkcija je kompleksan broj, te se može grafički prikazati u
kompleksnoj (Gaussovoj) ravnini, gdje udaljenost od ishodišta predstavlja modul sinusne
prijenosne funkcije, a kut mjeren od realne osi predstavlja argument sinusne prijenosne
funkcije.
Im G ( jω )
G ( jω )
j ω)
G(
ϕ
Re G ( jω )
Sinusna prijenosna funkcija G ( jω ) može se smatrati posebnim slučajem prijenosne
funkcije G (s ) pri čemu je operator vremenski kontinuirane Laplaceove operacije s
zamijenjen kompleksnom frekvencijom jω .
Frekvencijska karakteristika sustava može se prikazati u određenom frekvencijskom
rasponu na način da se odvojeno prikažu zavisnost amplitude G i faze ϕ u zavisnosti
od frekvencije ω . Na ovaj način prikazane su frekvencijske karakteristike u Bodeovim
dijagramima, pri čemu se radi bolje preglednosti u širem rasponu frekvencija, te analize i
ocjene karakteristika koristi logaritamsko mjerilo. Drugu mogućnost predstavlja
iscrtavanje točaka frekvencijske karakteristike (sinusne prijenosne funkcije) u
kompleksnoj ravnini, izračunatih za različite vrijednosti frekvencije ω (pri tome se ω
mijenja od nule do beskonačnosti). Spajanjem tih točaka dobiva se polarni dijagram s
frekvencijom ω kao parametrom, a naziva se još i Nyquistov dijagram. Zbog slabije
preglednosti Nyquistovog dijagrama, a time i težeg očitanja AFK i FFK kod visokih
frekvencija češće se u primjeni koriste Bodeovi dijagrami.
Najveći broj tehničkih sustava pokazuje karakteristično svojstvo filtera u smislu da ako
se na ulaz sustava dovede harmonijska funkcija frekvencije ω , onda će amplituda
izlaznog signala Ai biti sve manja što je frekvencija pobude veća, a u slučaju da
ω → ∞ , amplituda izlaza Ai → 0 . To se još naziva i prigušno ili filtersko svojstvo
sustava.
35
Primjer frekvencijskog odziva sustava u Bodeovim dijagramima
>> y = lsim(G,u,t);
>> plot(t,u,'--',t,y), legend('pobuda','izlaz')
0.5
>> u1=1.5*sin(w1*t);
1 1
0 0
>> u2=1.5*sin(w2*t); -1 -1
>> u3=1.5*sin(w3*t); -2
0 5 10
-2
0 5 10
>> u4=1.5*sin(w4*t); 2
w3
2
w4
>> y1 = lsim(G,u1,t); 1 1
>> y2 = lsim(G,u2,t); 0 0
>> y3 = lsim(G,u3,t);
-1 -1
-2 -2
>> y4 = lsim(G,u4,t);
0 5 10 0 5 10
36
% Vrijednosti amplitude i faze
frekvencijske prijenosne funkcije za
iznose zadanih frekvencija: mag1 = 0.5423, phase1 = -12.5288
>> [mag1, phase1] = bode(G, w1) mag2 = 0.6934, phase2 = -33.6901
>> [mag2, phase2] = bode(G, w2) mag3 = 0.5000, phase3 = -126.8699
>> [mag3, phase3] = bode(G, w3) mag4 = 0.0542, phase4 = -167.4712
>> [mag4, phase4] = bode(G, w4)
0.8
0.4
linearnom mjerilu. Radi pojednostavljenja 0.2
-100
-150
-40
>> subplot(211), semilogx(w, 20*log10(mag)) -60
-100
kut u stupnjevima
-150
-200
>> hold on
% Crtanje faze od ϕ = -180°, što je
značajno kod provjere stabilnosti u
Bodeovim dijagramima
>> semilogx([0.1 100], [-180 -180], '--');
% A može se i jednostavno pozvati
naredba bode koja iscrtavanje dijagrama
radi automatski:
>> bode(G), % bode(num,den)
37
% Potrebno je primjetiti da se AFK kao Bode Diagram
-20
Magnitude (dB)
-40
Phase (deg)
-90
-135
>> Mag1_dB=20*log10(Mag1)
-180
-1 0 1 2
10 10 10 10
Frequency (rad/sec)
>> Mag2_dB=20*log10(Mag2)
>> Mag3_dB=20*log10(Mag3)
>> Mag4_dB=20*log10(Mag4)
Mag1_dB = -20
Mag2_dB = 0
Mag3_dB = 20
Mag4_dB = 40
>> Re=real(mag.*exp(j*phase*pi/180));
Imag
0.2
Imaginary Axis
-0.6
38
Oblik Bodeovog i Nyquistovog dijagrama karakterističan je za određeni tip sustava.
Analizom frekvencijskih karakteristika u Bodeovom dijagramau, kao i polarne krivulje u
Nyquistovom dijagramu mogu se donijeti važni zaključci o dinamičkom ponašanju
sustava, njegovoj stabilnosti i sl.
U regulacijskoj tehnici vrlo često se složeni sustav rastavlja na niz serijski spojenih
podsustava, pri čemu je svaki od njih opisan svojom (sinusnom) prijenosnom funkcijom,
koje se onda algebarski množe. Uvođenje logaritamskog mjerila u Bodeovim
dijagramima dovodi do povoljne situacije da se onda i frekvencijske karakteristike
podsustava grafički zbrajaju. Ranije, prije pojave masovnog korištenja računala,
nerijetko se koristio postupak aproksimativnog prikaza frekvencijskih karakteristika radi
preliminarnog uvida u dinamiku sustava. Slijedeći primjer pokazuje da je u širem
frekvencijskom rasponu aproximacija frekvencijskih krivulja pravcima, vrlo bliska
stvarnom obliku karakteristika.
Aproksimacija Bodeovog dijagrama
39
VFA):
>> w2NFA=[w1]; w2VFA=[w2 w3];
>> mag2NFA=1./(0*w2NFA+1);
>> mag2VFA=1./(2.*w2VFA);
>> mag2=[mag2NFA mag2VFA];
>> mag_apr=5*mag1.*mag2.*mag3; 0
10
>> mag_stv=bode(num,den,w);
|G|
-1
10
% Prikaz u dijagramu -2
10
>> loglog(w,mag_apr,w,mag_stv)
>> ylabel('|G|'), xlabel('\omega')
-3
10
-1 0 1 2
10 10 10 10
ω
>> text(0.2,5,'stvarna')
>> text(0.8,10,'aproksimacija')
40
2.5. DINAMIČKE KARAKTERISTIKE OSNOVNIH
ČLANOVA
Sustav je u općenitom slučaju sastavljen od niza međusobno povezanih komponenti koje
ostvaruju željenu funkciju. Da bi se olakšalo proučavanje složenijih sustava,
raščlanjujemo ih na niz jednostavnijih podsustava. Analiza linearnih dinamičkih sustava
temelji se na ispitivanju međusobnog utjecaja komponenti sustava.
Koristeći oblik vremenskih konstanti, linearni sustavi mogu se općenito opisati pomoću
elementarnih dinamičkih komponenti na slijedeći način:
c d
Y (s) K B( s ) K i
∏ (Ti s + 1) ∏ (T i
2 2
s + 2 ζ Ti s + 1)
= G ( s ) = ki = i =1 i =1
e −Tm s
U (s) s A( s ) s k e f
∏ (T s + 1) ∏ (T
i =1
i
i =1
i
2 2
s + 2 ζ Ti s + 1)
Primjer P0-člana:
R2
Y (u 2 ) = U (u1 )
R1 R1 + R2
U (u1 )
Y (u2 ) = K p U (u1 )
R2 Y (u 2 )
41
Mehanička poluga
b
y y= u
a b a
y = Kp u
u
P0 - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
G (s) = K
% Prijenosna funkcija:
>> s = tf('s');
>> K = 2;
>> G0=tf(K/1) Transfer function:
>> t0 = 0:0.1:10; 2
y (t ) izlaz y(t) = K
Au u (t ) 2
1.5
>> y0=lsim(G0,u0,t0);
>> plot(t0,u0,'--',t0,y0), axis([0 10 0 3])
1
% >> step(G0,t0)
% Iz odziva P0-člana može se uočiti da 7.5
Bode Diagram
funkciju.
6.5
dijagramu 0.5
Phase (deg)
% FFK: ϕ=0 -1
0 1
>> bode(G0)
10 10
Frequency (rad/sec)
42
% Prikaz P0-člana u Nyquistovom Nyquist Diagram
dijagramu:
1
0.8
0.6
0.2
Imaginary Axis
ω=0-∞
0
|G| = K
-0.4
φ=0
-1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3
Real Axis
K
Proporcionalni član prvog reda, P1-član: G ( s ) =
T s +1
Primjer P1-člana:
43
Električni RC sustav
i t
−
Rješenje: uc = u0 (1 − e τ ),
duc
RC + uc = u0
R dt gdje je τ = RC .
u0 C uc
Mehanički DS sustav
t
F −
dy Rješenje: y = (1 − e τ ) ,
D +S y = F S
S D dt
D
gdje je τ =
S
F y
Pneumatski sustav
t
−
Rješenje: p = P0 (1 − e τ ),
dp
P0 p = k ( P0 − p)
dt 1
gdje je τ =
k
Toplinski sustav
t
−
ϑ dϑ Rješenje: ϑ = Θ0 (1 − e τ ),
= k (Θ 0 − ϑ )
dt 1
gdje je τ =
k
Θ0
P1 - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
K
G( s) =
T s +1
% Prijenosna funkcija:
>> s = tf('s'); Transfer function:
>> K = 4; T = 2; 4
>> G1 = K/(T*s+1) ---------
>> t1 = 0:0.1:20; 2s+1
44
% VREMENSKI ODZIV: Prijelazna 4
P1-clan
>> plot(t1,u1,'--',t1,y1)
2
y
>> xlabel('t'), ylabel('y'), title('P1-clan')
1.5
>> step(G1) 0
0 2 4 6 8 10 12 14 16 18 20
t
3.5
Amplitude
2
t
dh(t ) K − T
funkcija, g (t ) = = e ⋅ u (t ) ,
dt T 2
Impulse Response
1.6
1.4
0.8
0.2
konačne vrijednosti: 0
0 2 4 6 8 10 12
y (t → ∞) = lim s Y ( s ) = lim s G ( s )U ( s ) ,
Time (sec)
s →0 s →0
% gdje je U(s) Laplaceova transformacija
ulaza, a u slučaju jedinične odskočne
funkcije slijedi:
1
y (t → ∞) = lim s G ( s ) = lim G ( s )
s →0 s s →0
% Stacionarna vrijednost za sustav zadan
prijenosnom funkcijom G1 iznosi: y1_stac =
4 4
y (t → ∞) = =4
2 s + 1 s =0
% ili primjenom Matlaba:
>> y1_stac=dcgain(G1)
45
obliku nultočki, polova i pojačanja:
kp 4 2
G1 ( s ) = = = ,
s − p 2( s + 0.5) s + 0.5
1 K
% gdje je p = − , kp =
T T
% Ili pomoću Matlaba: z1 = Empty matrix: 0-by-1
>> [z1, p1, k1] = zpkdata(G1, 'v') p1 = -0.5000
k1 = 2
% FREKVENCIJSKI ODZIV
% Apsolutna vrijednost pola prijenosne
funkcije predstavlja frekvenciju loma AFK
prikazane u Bodeovom dijagramu. 15
Bode Diagram
>> bode(G1) 10
Magnitude (dB)
5
-10
Phase (deg)
-45
46
[20*log10(mag_apr)],'r') 20
Bodeov dijagram
|G| ( dB )
>> text(0.6, -15, '\omega_L=1/T') -10
0
0
10 10 10
phase_stv),hold on -40
φ ( °)
-60
kut u stupnjevima
>> xlabel('\omega ( rad/s )')
% U praktičnim primjenama može se uzeti
da smanjenje amplitude izlaznog signala
(prigušno ili filtersko svojstvo sustava)
nastaje za frekvencije ulaznog signala veće
od frekvencije loma ωL.
>> nyquist(num,den)
>> axis([-2 5 -3 3])
>> h=line([0 2],[0 -2]);
>> set(h, 'Linestyle','--')
Nyquist Diagram
ω=∞ ω= 0
0
|G| = Kp
47
K
Proporcionalni član drugog reda, P2-član: G ( s ) = 2 2
T s + 2ζ T s + 1
Primjer P2-člana:
48
Mehanički MDS sustav
y
S
d2y dy
M +D +S y = F
F dt 2
dt
M
D
P2 - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
K K
G (s) = 2 2 =
T s + 2ζ T s + 1 1 2 2ζ
2
s + s +1
ωn ωn
% Neka su u prijenosnoj funkciji P2-člana
pojačanje i neprigušena vlastita frekvencija
jednake jedinici:
>> K = 1; omega = 1;
% Karakteristična jednadžba sustava dobiva
se izjednačavanjem nazivnika prijenosne
funkcije s nulom
∆ ( s ) = s 2 + 2 ζ ωn2 s + ωn2 = 0
pa će položaj polova prijenosne funkcije P2-
člana zavisiti o koeficijentu prigušenja ζ.
>> num=[omega^2];
>> zeta0=0; zeta1=0.2; zeta2=0.5;
>> zeta3=0.7; zeta4=1; % zeta5=2;
>> den0=[1 2*zeta0*omega omega^2]; Pole-Zero Map
ζ = 1.0
0
>> hold on
>>pzmap(num,den0),text(0.05,0.95,'\zeta = 0'); -1
>>pzmap(num,den2),text(-0.5,0.7,'\zeta = 0.5');
>>pzmap(num,den3),text(-0.7,0.6,'\zeta = 0.7');
>>pzmap(num,den4),text(-0.95,0.1,'\zeta=1.0');
%pzmap(num,den5),text(-0.95,-0.1,'\zeta=2.0');
49
>> axis([-1.2 0.2 -1.4 1.4])
>> hold off
>> [y0,x,t]=step(num,den0,t); 2
>> [y1,x,t]=step(num,den1,t);
1.8 ζ=0
1.6
>> [y4,x,t]=step(num,den4,t);
y(t)
1
ζ=0.7
0.8
>> [y5,x,t]=step(num,den5,t);
ζ=1.0
0.6
0.4 ζ=2.0
>>title('P_2-clan,\omega_n=1,\zeta=[0...2]')
>> text(3,0.45,'\zeta=2.0')
>> text(3,0.75,'\zeta=1.0') ζ > 1 - aperiodski proces
>> text(3,0.95,'\zeta=0.7')
ζ = 1 - granični aperiodski proces
>> text(3,1.1,'\zeta=0.5')
>> text(3,1.4,'\zeta=0.2') 0 < ζ < 1 - prigušene oscilacije
>> text(3,1.8,'\zeta=0') ζ = 0 - neprigušene oscilacije
ζ < 0 - raspršene oscilacije
% Značajke odziva (za. ζ=0.2)
% Maksimalna vrijednost odziva
ζπ
−
1−ζ 2
M p = 1+ e y1_max = 1.5266
>> y1_max=max(y1)
% Stacionarna vrijednost y1_stac = 1
>> y1_stac=dcgain(num,den1)
% Postotni prebačaj y1_preb = 52.6610
>> y1_preb=(y1_max-y1_stac)/y1_stac*100
% Vrijeme prvog prebačaja
π
Tp =
ωn 1 − ζ 2 t_preb = 3.2064
>> t_preb=pi/(omega*sqrt(1-zeta1^2))
% FREKVENCIJSKI ODZIV
% Frekvencijska prijenosna funkcija G(j ω)
dobiva se zamjenom kompleksne varijable s
u izrazu za prijenosnu funkciju G(s):
50
K ωn2
G ( jω ) =
( jω ) 2 + 2 ζ ωn jω + ωn2
% Amplitudno frekvencijska karakteristika
K ωn2
M (ω ) = G ( jω ) =
(ωn2 − ω 2 ) 2 + 4 ζ 2ωn2 ω 2
% Fazno frekvencijska karakteristika
2ζ ω ω
ϕ (ω ) = ∠G ( jω ) = − arctan( 2 n 2 )
ωn − ω
% Da bi se mogle prikazati frekvencijske
karakteristike za ζ≈0 u ovom primjeru
postavljeno je zeta0=0.00001;
>> w=0:0.01:5;
>> [mag0,phase0,w]=bode(num,den0,w);
>> [mag1,phase1,w]=bode(num,den1,w);
>> [mag2,phase2,w]=bode(num,den2,w);
>> [mag3,phase3,w]=bode(num,den3,w); 4
Bodeov dijagram
|G|, ( dB )
>> [mag5,phase5,w]=bode(num,den5,w); 2
>> subplot(211) 0
0
ζ=2.0
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
>> plot(w,mag0,':',w,mag1,w,mag2,... 0
w,mag3,w,mag4,w,mag5) -50
ζ=0
-100
-200
>> ylabel('|G|, ( dB )') 0 0.5 1 1.5 2 2.5
ω, rad/s
3 3.5 4 4.5 5
51
% Prikaz P2-člana u Nyquistovom Nyquist Diagram
dijagramu:
3
Imaginary Axis
>> hold on 0
ω=∞→ ζ = 2.0
ζ= 0
←ω = 0
>> nyquist(num,den3) -2
K
Integralni član, I0-član: G ( s ) =
s
∫
y (t ) = K u (t ) dt ,
što znači da odziv povezan s pobudom preko integrala. Prijelazna funkcija I0-člana ima
opći oblik:
h(t ) = K t .
Često se u prikazu prijenosne funkcije I0-člana umjesto pojačanja K koristi integralna
vremenska konstanta koja je jednaka recipročnoj vrijednosti pojačanja, tj. T=1/K.
Velik broj realnih komponenti, kao što su različite vrste motora (električni, hidraulički,
pneumatski i sl.), zavisno od režima rada, mogu se pojednostavljeno opisati dinamikom
idealnog I0-člana. Tako npr. kod istosmjernog elektromotora uz konstantnu struju
magnetskog polja Im narinuti napon armature ua razmjeran je brzini vrtnje ω, pa se zakret
osovine ϕ , kao izlazna veličina sustava, dobiva integriranjem.
52
Primjer I0-člana:
Istosmjerni elektromotor
ϕ ϕ = K ua dt∫
ua M dϕ
gdje je = ω = 2π n
dt
I m = konst.
Spremnik tekućine
qu 1
y (t ) =
A ∫
u (t ) dt
gdje je u (t ) = qu (t ) − qi (t )
y
A qi
I0 - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
K 1
G (s) = =
s Ts
% Prijenosna funkcija:
>> s = tf('s');
>> K1 = 1; K2 = 4; Transfer function: 1/s
% Vremenske konstante su T1=1, T2=1/4 Transfer function: 4/s
>> G1 = K1/s, G2 = K2/s
>> [num1,den]=tfdata(G1,'v'); 1
Pole-Zero Map
0.6
0.4
Pol u ishodištu!
-0.2
-0.8
-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
53
jednakim pojačanju K. I0 - clan
4.5
y1_stac=dcgain(G1) 3
y2_stac=dcgain(G2) 2.5
y(t)
2
1.5
Magnitude (dB)
% S obzirom da naredba nyquist() crta 0
postupno. -89.5
Phase (deg)
>> w = logspace(-3, 3, 100); -90
-90.5
>> Re = real(mag.*exp(j*phase*pi/180));
0 1
10 10
Frequency (rad/sec)
>>plot(Re, Im), 10
0 ω=∞
>> xlabel('Real'), ylabel('Imag') -10
|G| = 0
φ = - π/2
>> title('Nyquistov dijagram') -20
-30
-60
>> text(0.1, -90, '|G| = \infty') -70
K
Integralni član s kašnjenjem, I1-član: G ( s ) =
s (T s + 1)
Ukoliko se zbog mase, induktivnosti i sl. kašnjenja izlazne funkcije ne mogu zanemariti
pojavljuju se dodatni derivacijski članovi u diferencijalnoj jednadžbi:
54
dy (t )
T
dt ∫
+ y (t ) = K u (t ) dt ,
pa se dobiva integralni član s kašnjenjem ili I1-član. Prijelazna funkcija I1-člana ima opći
oblik:
t
−
h(t ) = K (t − T ) + K T e T .
I1 - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
K
G(s) =
s (T s + 1)
15
I0
55
>> text(-5, -20, 'I_2') Bode Diagram
50
Magnitude (dB)
0 I0
I1
Phase (deg)
-180
-225
-270
-3 -2 -1 0 1 2
10 10 10 10 10 10
Frequency (rad/sec)
Nyquist Diagram
100
80
60
40
20
Imaginary Axis
0
-20 I2 I1 I0
-40
-60
-80
-100
-7 -6 -5 -4 -3 -2 -1 0 1
Real Axis
56
Primjer D0-člana:
Električni generator
dϕ
ua = K
dt
G ua
dϕ
ϕ gdje je = ω = 2π n
I m = konst. dt
D0 - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
G( s) = K s = T s
% Prijenosna funkcija:
>> s = tf('s');
>> K1 = 1; K2 = 4;
% Vremenske konstante su T1=1, T2=1/4 Transfer function:
>> G1 = K1*s, G2 = K2*s s
>> [num1,den]=tfdata(G1,'v'); Transfer function:
>> [num2,den]=tfdata(G2,'v'); 4s
0.8
kompleksne ravnine.
0.4
0.2
Imaginary Axis
Nultocka u ishodištu
0
-0.4
57
% U Bodeovom dijagramu AFK D0-člana Bode Diagram
30
Magnitude (dB)
20
10
90.5
Phase (deg)
90
90
↑ω= ∞
|G| = ∞
50
Imag
20
Ks
Derivacijski član s kašnjenjem, D1-član: G ( s ) =
T s +1
58
Što je manja vremenska konstanta T prema trajanju prijelazne pojave, to će biti izrazitije
derivacijsko djelovanje.
D1 - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
Ks
G (s) =
T s +1
0.45
0.3 D1
0.25
0.15
20
-40
-80
D1
0
59
>> figure(3), nyquist(G1, G2, G3) Nyquist Diagram
0.6
Imaginary Axis
D2
K1 K
Proporcionalno integralni član, PI-član: G ( s ) = + K 2 = (T s + 1)
s s
∫
y (t ) = K1 u (t ) + K 2 u (t ) .
Prijelazna funkcija PI-člana ima oblik:
y (t )
h (t ) = = ( K1 t + K 2 ) .
Au u (t )
PI - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
K
G (s) = 1 + K 2
s
% PI-član
>> s = tf('s');
>> K1 = 1; % Integralni član
>> K2=2; % Proporcionalni član
>> G = K1/s + K2 % PI-član (K=1, T=2) Transfer function:
2s+1
>> t = 0:0.1:5; --------
>> figure(1), step(G, t) s
>> axis([0 5 0 7])
60
prijelaznom procesu idealne integralne Step Response
Amplitude
% Iz Bodeovog dijagrama je vidljivo da se
3
40
Magnitude (dB)
30
Phase (deg)
-45
komponente. 30
20
10
Imaginary Axis
0
K2
∞
-10 ↑
-20 ω
-30 ↑
0
-40
-1 -0.5 0 0.5 1 1.5 2 2.5
Real Axis
61
Primjer PD-člana u Matlabu
PD - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
G ( s ) = K (T s + 1) = K1 s + K 2
% PD-član
>> s = tf('s');
>> K1 = 1; % Derivacijski član
>> K2=2; % Proporcionalni član
>> G = K1*s + K2 % PI-član (K=2, Transfer function:
T=1/2) s+2
% t = 0:0.1:5;
% figure(1), step(G, t) % Ne može se
prikazati u Matlabu
% Prijelazni proces PD-člana u trenutku
t=0 odgovara prijelaznom procesu idealne
derivativne komponente (impulsna
funkcija), a zatim za t>0 ima iznos
proporcionalnog člana Bode Diagram
40
10
člana. 40
∞
30 ↑
20 ω
>> figure(3), nyquist(G) 10 ↑
K2 0
0
62
1 1
Fazno-neminimalni članovi: ; 2 2 ; T s −1 ; T 2 s2 m 2ζ T s ± 1
T s − 1 T s m 2ζ T s ± 1
Fazno-neminimalni član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
K
G (s) =
T s −1
0.6
0.2 p = 1/T
Imaginary Axis
>> t = 0:0.1:5; -0.2
0
-0.6
-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
>> hold 4
Amplitude
63
>> text(-1.2,-0.3,'\phi = -pi') Bode Diagram
-5
Magnitude (dB)
-10
-15
-30
0
Phase (deg)
-90
Nyquist Diagram
1
0.8
0.6
0.4
0.2
Imaginary Axis
0
ω=0 ω=∞
-0.2 |G| = K |G| = 0
φ = -pi φ = -pi/2
-0.4
-0.6
-0.8
-1
-1.5 -1 -0.5 0 0.5
Real Axis
64
gdje je amplitudno frekvencijska karakteristika: G ( jω ) = e − j ω Tm = 1 ,
{ }
a fazno-frekvencijska karakteristika: arg e − j ω Tm = −ω Tm
Primjer Tm-člana:
Transporter materijala
y y = u (t − Tm )
u v
L
gdje je Tm =
v
Tm - član
Vremenski i frekvencijski odziv sustava predstavljenog prijenosnom funkcijom
G ( s ) = e −Tm s
m
1 + b1 s + ... + bm s
e −Tm s ≅
1
. U ovom primjeru
1 + a1 s + ... + am s m 0.8 G1(s)
65
>> G2 = G1*Gt
>> figure(1), step(G1), hold, step(G2) Transportni clan
>> text(0.5,-0.1,'T_m')
4
y(t)
0
-1000
% |G1| = |G2|, ϕ2 = ϕ1 - ωT m
w=logspace(-2, 1, 100); 0
loglog(w,20*log10(mag2),w,20*log10(mag1),'.') -1000
mjerila ω
figure(4), plot(w,phase1,'.',w,phase2)
0.3
0.2
xlabel('\omega'),ylabel('\phi') 0.1
-0.1
-0.2
-0.3
Im1=imag(mag1.*exp(j*phase1*pi/180));
-0.5
-0.6
Im2=imag(mag2.*exp(j*phase2*pi/180));
-0.8
-0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2
Real
66
text(0.4,-0.4,'G_1(s)'), text(0.4, -0.72,'G_2(s)') Nyquist Diagram
1
0.8
−Tm s
0.4
Imaginary Axis
sa središtem u ishodištu. 0
-0.2
text(0.5,-0.3,'G_1(s)'),
-0.8
-1
-1 -0.5 0 0.5 1
67
1. VJEŽBA
------------------------------------------------ 8
>> U0=10; R=5e3; C=1e-6;
>> t0=0; tf=0.1; y0=0; 6
y
68
Primjer mehaničkog sustava: MDS–sustav
F (t ) 1 &y& y& y
1 1
M
s s
D
M
S
M
x& 0 1 x 0 x
Zapis u matričnom obliku: 1 = S D ⋅ 1 + 1 ⋅u , y = [1 0]⋅ 1
− − x2
x&2 M M M x2
69
Simulacija u Matlabu
% Usporedba sa simulacijom
y
0.015
na step pobudu
>> M=5; D=5; S=50; 0.01
SIMULINK:
1/M y' y
y''
Step 1/s 1/s
Gain1
Integrator Integrator Scope
t
Clock y
Vrijeme
D/M Polozaj
M=5; D=5; S=50; F=1;
Gain2
S/M
Gain3
70
A2. Simulacija sustava opisanih linearnim diferencijalnim
jednadžbama
Blokovska shema:
u y
y = f (u, t )
Pretpostavke:
x3 = x1 − x2
Nema protudjelovanja
Djelovanje bloka je jednosmjerno
Ulazne i izlazne veličine povezane
jednoznačno
y (n) =
1
an
[
b0 u − (an −1 y ( n −1) + ... + a2 &y& + a1 y& + a0 y ) ]
71
Nelinearna diferencijalna jednadžba:
y ( n ) = f ( y ( n −1) , ... y, u ( m) ... u , t )
d (m vi )
Ravnoteža količine gibanja:
dt
= ∑ F ji
m – masa,
vi – brzina u i-tom smjeru,
Fji – j-ta komponenta sile koja djeluje u i-tom smjeru.
d ( M y& )
= S (u − y ) − D y&
y (t ) dt
u (t ) M &y& + D y& + S y = S u :S
M D
S M D &y& + y& + y = u
S S
T22 &y& + T1 y& + y = u
Vremenske konstante:
M D
T2 = , T1 =
S S
72
Postavljanje fenomenoloških jednadžbi:
Ohmov zakon, Kirchhoffov zakon – ELEKTRIČNI SUSTAVI
Newtonov zakon, D'Alambertovo načelo – MEHANIČKI SUSTAVI
Fourierov zakon o prijenosu topline, Newtonov zakon hlađenja – TOPLINSKI SUSTAVI
Darcyjev zakon, Hagen-Poiseuilleov zakon strujanja – HIRADULIČKI SUSTAVI
Euler-Lagrangeova jednadžba – za gradnju dinamičkih modela složenih sustava s
međusobnim interakcijama (npr. ROBOTSKI SUSTAVI)
x& = A x + B u
SKRAĆENI ZAPIS linearnog sustava u matričnom obliku:
y = C x + Du
Gdje su: x – vektor varijabli stanja
y – vektor izlaznih varijabli
u – vektor ulaznih varijabli
A – matrica sustava dim A = n × n
B – ulazna matrica dim B = n × m, m – broj ulaza
C – izlazna matrica dim C = p × n, p – broj izlaza
D – matrica direktnog preslikavanja ulaza na izlaz dim D = p × m
73
Iz blokovske sheme: izlaz iz svakog integratora je VARIJABLA STANJA
y (n) =
1
an
[
− an −1 y ( n −1) − ... − a2 &y& − a1 y& − a0 y + b0 u]
Zamjena diferencijalne jednadžbe n-tog reda s n diferencijalnih jednadžbi 1. reda
x1 = y
x2 = x&1 = y&
x3 = x&2 = &y&
M
xn = xn −1 = y ( n −1)
&
x&n = y ( n) =
1
an
[
− an −1 y ( n −1) − ... − a2 &y& − a1 y& − a0 y + b0 u ]
1
x&n = y ( n) = [ − an −1 xn − ... − a2 x3 − a1 x2 − a0 x1 + b0 u ]
an
Ili u matričnom zapisu:
x&1 0 1 0 L 0 x 0
& 0 0 1 L 1 1 0
2
x x2
M = M M M L M M
0 ⋅ M + ⋅u
0 0 L 1 0
x&n −1 a0 a1 a2 an −1 xn −1 b0
x&n − − − L −
an an an an xn an
x1
x
2
y = [1 0 0 L 0]⋅ M + [0]⋅ u
xn −1
xn
• Ovako izabrane varijable stanja nazivaju se FAZNE VARIJABLE STANJA
• A = F naziva se FROBENIUS-ova MATRICA
74
A4. Prikaz diferencijalne jednadžbe grafom toka signala
(Signal Flow Graph)
Karakteristike:
Prikaz signala u modelu
Vidljive varijable
Topološka sturktura slična blokovskoj shemi
Tokovi energije nisu vidljivi
y (t )
Elementi grafa toka signala: Varijable predstavljene čvorovima
f
Funkcije predstavljene usmjerenim linijama
(signalima)
75
Primjer:
PUTANJA: Jedna ili više grana koja povezuje određeni čvor s ostalim čvorovima.
PETLJA: Zatvorena putanja koja izvire i završava u istom čvoru.
POSTOJANJE DODIRA: Dvije petlje nisu u dodiru (kontaktu), ako ne dijele zajednički
čvor.
MASON-ovo PRAVILO:
Y (s) Pk ∆ k
R( s )
= ∑ ∆
k
76
Primjer:
Sustav ima 4 petlje čiji prijenosi iznose: –G2H1, –G4H2, –G2G3G4H3 i –G1G2G3G4
∑L1= – G2H1 – G4H2 – G2G3G4H3 – G1G2G3G4
Postoje dvije petlje koje se ne dodiruju
∑L2= (– G2H1)(– G4H2)
Iako postoje četiri petlje, nema skupa od tri petlje koje nemaju zajednički čvor.
∑L3= 0
Izravna grana: P1= G1G2G3G4
∆ 1= 1
Primjer:
Blok dijagram
77
Graf toka signala
Masonovo pravilo
• K=1 postoji samo jedna izravna grana između R(s) i Y(s)
• Postoji 5 petlji
• Tri petlje se međusobno ne dodiruju
Y (s)
Primjer: Naći prijenosnu funkciju , uz pretpostavku da je R(s)=0.
Z ( s)
78
• Postoji jedna izravna grana između Z(s) i Y(s) → K=1
• Postoje dvije petlje. Međusobno se dodiruju (imaju zajednički čvor)
79
ZADACI ZA VJEŽBU (Graf toka signala):
Primjer 1:
80
Primjer 2:
81
Primjer 3:
Blok-dijagram
82
Primjer mehaničkog sustava: MDS–sustav
d2y dy
y (t ) f (t ) = M 2
+D +S y
S dt dt
f (t ) 2
d y 1 D dy S
M D 2
= f (t ) − − y
dt M M dt M
Sustav s 2 spremnika energije
M – spremnik kinetičke energije
S – spremnik potencijalne energije
Blok-dijagram MDS–sustava
f (t ) 1 &y& y& y
1 1
M
s s
D
M
S
M
83
Simulacija u Matlabu
S/M*x(1)+1/M*F];
y
0.015
------------------------------------------------
>> t0=0; tf=10; y0=[0 0]; 0.01
>> plot(t,y(:,1)) 0
>> xlabel('t'), ylabel('y') 0 2 4
t
6 8 10
84
2. VJEŽBA
x1 (t )
M1
B k1
x2 (t ) Parametri sustava:
M2
m1=250; % kg
m2=50; % kg
k2
u (t )
k1=1000; % N/m
k2=5000; % N/m
k2=2000; % N/m
b=1000; % Ns/m
Ulaz sustava u(t), izlaz sustava x1(t).
(2)
85
Ako se definira:
x1
x 2
Onda se vektor stanja može pisati: x =
x3
x 4
Model zapisan u obliku prostora stanja:
86
Rješenje primjenom Matlaba
>> t=0:0.1:10;
% u=1*ones(size(t)); 0.2
>> plot(t,yout)
>> xlabel('t'), ylabel('x1') 0.05
% ---------------------------------------------
0
0 2 4 6 8 10
t
% Ili na drugi način:
>> u=0.15; %m
>> sys=ss(A,B*u,C,D)
>> step(sys,t)
% Ili preko prijenosne funkcije:
[num,den]=ss2tf(A,B*u,C,D)
step(num,den,t)
Simulacija u Matlabu
87
ovjes_dj.m % Otvoren novi zapisnik
function dy= ovjes_dj(t,x)
% Parametri sustava:
m1=250; % kg
m2=50; % kg
k1=1000; % N/m
k2=2000; % N/m
b=1000; % Ns/m
u=0.15; % m
dy=zeros(4,1);
dy(1)=x(3);
dy(2)=x(4); 0.25
dy(3)=-b/m1*x(3) - k1/m1*x(1) +
b/m1*x(4) + k1/m1*x(2); 0.2
dy(4)=-b/m2*x(4) - ((k1/m1)/m2)*x(2) +
b/m2*x(3) + k1/m2*x(1) + k2/m2*u; 0.15
x1
------------------------------------------------ 0.1
Zadatak:
Odrediti krivulju ovisnosti nadvišenja u odzivu na step pobudu o vrijednosti prarmetara
k1 u intervalu [500 2000] N/m.
Potrebno je napraviti:
1. Mijenjati iznos krutosti k1 od 500 do 2000 N/m s korakom, npr. 250
2. Za svaku vrijednost krutosti k1 potrebno je provesti simulaciju, te iz odziva
izračunati nadvišenje prema izrazu: (ymax-yss) / yss * 100%
%k1=1000;
m1=250; m2=50; k2=2000; b=1000;
88
% ovjes_k1 - ime zapisnika u kojem se
% nalazi simulink model ovjesa
i=0;
for k1=500:250:2000
i=i+1;
set_param('ovjes_k1/Gain1', 'Gain',
num2str(k1/m1));
set_param('ovjes_k1/Gain3', 'Gain',
num2str((k1+k2)/m2)); 72
set_param('ovjes_k1/Gain5', 'Gain', 70
num2str(k1/m1)); 68
set_param('ovjes_k1/Gain7', 'Gain', 66
Nadvisenje [%]
num2str(k1/m2));
64
62
sim('ovjes_k1'); 60
sigma(i)=(max(x1)-x1(end))/x1(end)*100 58
k(i)=k1; 56
end 54
plot(k,sigma,'-o') 52
500 1000 1500
Krutost k1 [N/m]
2000
xlabel('Krutost k1 [N/m]'),
ylabel('Nadvisenje [%]')
89
3. VJEŽBA
VJEŽBA C .
Na slici je prikazan zatvoreni regulacijski krug.
PID regulator:
idealni:
90
>> [numc,denc]=cloop(num,den); P - regulator
>> hold 1
y
>> [numc,denc]=cloop(2*num,den); 0.8
>> step(numc,denc,12)
0.6
0.4
>> [numc,denc]=cloop(5*num,den); 0.2
>> step(numc,denc,12) 0
0 2 4 6 8 10 12
>> [numc,denc]=cloop(100*num,den); 50
>> step(numc,denc,12)
Magnitude (dB)
0
'Kp=10', 'Kp=100')
-50 Kp=5
Kp=10
% Bode-ov dijagram
Kp=100
-100
0
Phase (deg)
>> hold -90
>> bode(10*num,den)
10 10 10 10 10
Frequency (rad/sec)
>> nyquist(num,den) 5
Imaginary Axis
% rlocus(num,den) 0
-5
-10
-15
-20
-20 -10 0 10 20
Real Axis
91
Rješenje primjenom Matlaba
Kp=2; 1
Amplitude
numr=[Kp Ki];denr=[1 0] 0.8
System: Ki=0
Time (sec): 18.7
Amplitude: 0.667
numo=conv(numr,num); 0.6
deno=conv(denr,den); 0.4
[numc,denc]=cloop(numo,deno); 0.2
step(numc,denc) 0
legend('Ki=0','Ki=0.5','Ki=1','Ki=1.5','Ki=2')
0 10 20 30 40
Time (sec)
figure, hold
Magnitude (dB)
50
for Ki=0:0.5:2; 0
Kp=2; -50
Ki=1
Ki=1.5
bode(numo,deno) -90
Ki=2
legend('Ki=0','Ki=0.5','Ki=1','Ki=1.5','Ki=2') -135
end -180 -2
10 10
-1
10
0
10
1
10
2
% Nyquist-ov dijagram 5
Nyquist Diagram
Kp=2; 0
Ki=2
numr=[Kp Ki];denr=[1 0]
Imaginary Axis
numo=conv(numr,num);
deno=conv(denr,den); -5
nyquist(numo,deno)
legend('Ki=0','Ki=0.5','Ki=1','Ki=1.5','Ki=2')
end -10
-5 0 5
% fazno zaostajanje Real Axis
92
PD-regulator:
Amplitude
0.5
numr=[Kd Kp];denr=1;
0.4
numo=conv(numr,num); 0.3
deno=conv(denr,den); 0.2
[numc,denc]=cloop(numo,deno) 0.1
step(numc,denc) 0
legend('Kd=0','Kd=2','Kd=4','Kd=6',... 0 5 10 15
Time (sec)
20 25 30
'Kd=8','Kd=10');
Bode Diagram
end 20
% Bode-ov dijagram 0
Magnitude (dB)
Kp=1; -60
0 Kd=4
deno=conv(denr,den); Kd=6
Kd=8
bode(numo,deno) -90
Kd=10
legend('Kd=0','Kd=2','Kd=4','Kd=6',... -180
10
-2
10
0
10
2
end
% Nyquist-ov dijagram
figure, hold
for Kd=0:2:10;
Kp=1;
numr=[Kd Kp];denr=1;
numo=conv(numr,num);
deno=conv(denr,den);
93
nyquist(numo,deno) Nyquist Diagram
legend('Kd=0','Kd=2','Kd=4','Kd=6',... 6
Kd=0
'Kd=8','Kd=10'); 4
Kd=2
Kd=4
end Kd=6
Kd=8
2 Kd=10
Imaginary Axis
0
-2
-4
-6
-2 0 2 4 6 8 10 12
Real Axis
PID-regulator:
for Ki=0:1;
Kp=1;
Amplitude
0.8
numo=conv(numr,num); 0.4
deno=conv(denr,den);
0.2
[numc,denc]=cloop(numo,deno);
step(numc,denc) 0
0 5 10 15 20 25
94
end Bode Diagram
end 50
% Bode-ov dijagram
Magnitude (dB)
0
figure, hold Kp=1, Kd=0, Ki=0
for Kd=0:1; -50 Kp=1, Kd=0, Ki=1
Kp=1, Kd=1, Ki=0
for Ki=0:1; -100
Kp=1, Kd=1, Ki=1
Kp=1; 0
Phase (deg)
numo=conv(numr,num); -90
deno=conv(denr,den); -135
bode(numo,deno) -180
10
-2
10
-1
10
0
10
1
10
2
Imaginary Axis
for Kd=0:1;
for Ki=0:1;
Kp=1; -5
95
3. NELINEARNI SUSTAVI
NELINEARNI SUSTAVI 3.
3.1. LINEARIZACIJA SUSTAVA
Parametri sustava:
A=5 m2
A0=0.25 m2
g=9.81 m/s2
qu=1 m3/s
Nelinearna zavisnost h i qu
96
LINEARIZACIJA OKO NEKE RADNE TOČKE qi0, h0
Slijedi: → (8)
Ako se (8) uvrsti u jednadžbu (2) dobiva se:
Sređivanjem se dobiva LDJ koja aproksimira ponašanje sustava oko radne točke qi0, h0
dh g A02 1
LDJ + h = qu / L Laplaceova transformacija uz nulte početne
dt qi 0 A A
uvjete qi0, h0
g A02 1
s h( s ) + h( s ) = qu ( s )
qi 0 A A
2
s + g A0 h( s ) = 1 qu ( s )
qi 0 A A
1 qi 0
h( s ) A g A02 K
PRIJENOSNA FUNKCIJA: G (s) = = = =
2 qi 0 A
qu ( s )
s+
g A0
2
s +1 τ s +1
qi 0 A g A0
97
Spremnik tekućine
Ulazni protok qu
Dot Product
nelin
Fcn1
Dot Prod. To Workspace
qi - Izlazni protok sqrt(u)
A0
Presjek izlazne
cijevi
g
Dot Prod.
Gravitacijsko qi0/(g*A0^2)(s)
ubrzanje sqrt(u)
(qi0*A)/(g*A0^2)s+1
Dot Prod. sqrt(2g) Ulazni protok Scope2
2 Transfer Fcn
qu
Konstanta K h_pf
--- LINEARNI MODEL --- -------
T s +1 To Workspace2
qi0=0.5
qu - Ulazni protok
Ulazni protok qu
dh/dt
A 1/u Razina - h
1
Dot Prod. s
Povrsina Fcn
spremnika Integ. Scope1
lin
A0 u^2
To Workspace
Presjek izlazne Fcn
cijevi
g Product of
Elements
Gravitacijsko
ubrzanje
qi0 1/u
98
Rješenje primjenom Matlaba
g=9.81; % m/s^2
qi0=0.5; % m^3/s 1
qu, qi, h
------------------------------------------------ 0.6
'h(s)=G(s)*qu(s)',4)
Parametri sustava:
qu0=0.25 m3/s
A1=1 m2
A2=2 m2
k1=0.05 m2
k2=0.1 m2
Iz Bernoullijeve jednadžbe
dobije se izraz za istjecanje
fluida iz spremnika, uz
zanemarivu promjenu brzine
tekućine u spremnik:
99
a) DJ za visine punjenja h1(t) i h2(t) uz promjenjivi dotok qu(t)
Kako je
dh2 1 k 2g k1 2 g k2 2 g
= qi1 − 2 h2 = h1 − h2
dt A2 A2 A2 A2
qu0=qi1=qi2
Linearizirani model:
100
Ako se za izlaznu veličinu uzme h2 dobiva se model u obliku prostora stanja:
Prijenosna funkcija:
101
3.2. MATRICA PRIJENOSNIH FUNKCIJA
G(s) je model LTI kontinuiranog sustava koja vektor ulaza U(s) preslikava na vektor
izlaza y(s) u području kompleknse varijable ''s''.
102
→ ovako se ne može pisati!
, gdje je
dimG(s)=3x2, p=3, m=2, pxm
Krećemo od izraza:
Budući da vrijedi:
Može se pisati:
103
Primjer
Matlab:
>> Gss=ss(A,B,C,D)
>> Gtf=tf(Gss)
>> [z,p,k]=ss2zp(A,B,C,D)
104
Proces s dva spremnika (otjecanje iz jednog spremnika u drugi)
k1
qi1
k2
Scope
h1 h2' h2 qi2
h1' 1 1
1/A1 sqrt(u) k1/A2*sqrt(2*g) nelin
s s
Ulazni protok Integrator Integrator1 To Workspace
Gain Fcn1
qu
Fcn
Fcn
k1/A1*sqrt(2*g) sqrt(u)
k2/A2*sqrt(2*g) sqrt(u)
Scope2
delta h1' delta h1
1 delta h2' 1 delta h2 lin
1/A1 k1/A2* sqrt(g/(2*h10) )
s s To Workspace
Ulazni protok Integ.
Gain Integ.
qu=qu0/2
linh2
k2/A2*sqrt( g/(2*h20) ) To Workspace1
k1/A1*sqrt( g/(2*h10) ) linh1
To Workspace2
qu0=0.25;A1=1;A2=2;k1=0.05;k2=0.1;g=9.81;
1.2
h10=1/(2*g)*(qu0/k1)^2, h20=1/(2*g)*(qu0/k2)^2, qu
h nelin
1
1
h nelin
2
>> h10 = qu
qu, h1, h2
0.8 h lin
1
1.2742 h lin
2
0.6
0.3186 0.2
>> plot(tout,nelin,tout,lin,'.'), 0
Legend('qu','h_1nelin','h_2nelin','qu','h_1lin','h_2lin'), 0 20 40 60
Vrijeme (s)
80 100
105
Proces s dva spremnika (spremnici međusobno povezani)
k – koeficijent protoka, m2
v – brzina prolaska fluida,
m/s
Kako je :
106
Za qu0=0.1 m3/s, k1=0.05 m2, k2=0.1 m2: h10=0.2548 , h20=0.0509
Linearizirani model:
h1
A1 h2
A2
k1 q1
q2
--- LINEARNI MODEL --- k2
Scope2
delta h1' delta h1 delta h1 - delta h2
delta h2' delta h2 lin
1/A1 1/s k1*sqrt(2*g)/(2*A2*sqrt(h10-h20)) 1/s
Ulazni protok Gain Integ. Integ. To Workspace
qu=qu0/2
k1*sqrt(2*g)/(2*A1*sqrt(h10-h20)) k2*sqrt(2*g)/(2*A2*sqrt(h20))
107
Ekvivalentni električni sustav (proces s dva spremnika)
108
4. DIGITALNI SUSTAVI REGULACIJE
Napomena:
U praktičnim primjenama komparator se obično uključuje u digitalni dio (jedna linija
koda), izlazna veličina y(t) digitalizira se pomoću A/D pretvornika, a referentna veličina
direktnim unosom brojčane (digitalne) vrijednosti preko tastature.
109
Svi sustavi digitalnog vođenja su uzorkovani sustavi zato što je objekt upravljanja uvijek
kontinuiran. Analiza i sinteza provodi se tako da se cijeli sustav prebaci ili u kontinuirani
oblik (Osnove automatike) ili u diskretni oblik (Mikroprocesorsko upravljanje), iako
postoje postupci analize i sinteze takvog mješovitog uzorkovanog sustava. Uobičajeno je
da se kontinuirani dio sustava prebaci u diskretni oblik.
Problem analize sustava u diskretnom području je taj što prebacivanjem izlaza
kontinuiranog dijela u diskretni oblik dobivamo signal koji je točan samo u trenucima
uzorkovanja. Što se događa između dva trenutka, uobičajena analiza u diskretnom
području (koja se temelji na Z-transformaciji) ne daje odgovor. Proračun signala između
dva trenutka uzorkovanja daje složenija modificirana Z-transformacija. Međutim, u
praksi, ukoliko je period uzorkovanja dovoljno mali, dovoljno je poznavati izlaz sustava
samo u trenucima uzorkovanja i pretpostaviti linearnu interpolaciju signala između dva
trenutka uzorkovanja.
• Rad računala odvija se u stvarnom vremenu.
• Procesno računalo upravlja objektima po principu raspodijeljenog vremena
(eng. time sharing), a raspodjela vremena se obavlja preko multipleksera i
demultipleksera.
110
KVANTIZACIJA SIGNALA PO VREMENU (diskretizacija, uzorkovanje)
111
ANALOGNO/DIGITALNI (A/D PRETVORNIK)
A/D pretvornik je realna komponenta koju koristimo kao sklop za uzorkovanje. U njemu
se događaju tri postupka:
1. Diskretizacija po vremenu
2. Kvantizacija po amplitudi uz zadržavanje po amplitudi cijeli slijedeći diskretni
interval vremena
3. Kodiranje u n-bitnu binarnu formu
POGREŠKA KVANTIZACIJE
Važan pojam kod A/D pretvorbe
Pr. 4-bitni A/D pretvornik
napon na ulazu 0 – 15 V
frekvencija uzorkovanja 100 Hz
4
4-bitnom digitalnom kombinacijom možemo prikazati ukupno 2 = 16 različitih razina
ulaznog signala, što znači da je kvantizacijski interval 1 V odnosno 6.7 % maskimalne
vrijednosti ulaznog signala.
112
- Za svaki period uzorkovanja postoji pogreška između stvarne vrijednosti signala u(t) i
njegove digitalizirane vrijednosti, tj. POGREŠKA KVANTIZACIJE
- Uobičajeno se vrijednost zaokružuje najbližoj kvantiziranoj vrijednosti
- U ovom primjeru to je 0.5 V
113
Sklop za uzorkovanje možemo promatrati i kao MODULATOR, množač u kojem se
množe dva signala:
kontinuirani signal (koji modulira) i slijed impluse jedinične amplitude (koji se
modulira).
Pa je:
114
Postavlja se temeljno pitanje:
Kakav mora biti odnos između frekvencije signala koji se uzorkuje i frekvencije
uzorkovanja da bi se kontinuirani signal mogao (barem teoretski) u potpunosti
rekonstruirati i vratiti u prvobitni kontinuirani oblik?
H. Nyquist (1928.): Sinusni signal se može u potpunosti rekonstruirati iz uzorkovanog
signala ukoliko je frekvencija uzorkovanja barem dvostruko veća od frekvencije
sinusnog signala. [U spomen na Nyquista dvostruko veća frekvencija uzorkovanja
naziva se Nyquistova frekvencija uzorkovanja (eng. Nyquist sampling rate).]
C. Shannon je 1949. godine proširio ova istraživanja na bilo kakve signale i postavio
TEOREM UZIMANJA UZORAKA.
Uzorkovani signal će vjerno sačuvati svojstva kontinuiranog signala, ako je frekvencija
uzorkovanja ( ) najmanje dvostruko viša od najviše frekvencije u spektru
kontinuiranog signala, tj. ako vrijedi
, Ili: ,
Ovim problemom bavio se Harry Nyquist još 1928. g., a precizno ga je formulirao u
obliku teorema o uzimanju uzoraka Claude Shannon.
Kod digitalne regulacije ova dva postupka događaju se u A/D i D/A pretvornicima.
Kod njih se provodi diskretizacija i po vremenu i po amplitudi.
115
FREKVENCIJSKO PREKLAPANJE (ALIASING)
116
PRIMJER:
Simulacija u Matlabu
signal 1.4
>> step(sysc,'--',sysd,'k-')
Amplitude
1
0.6
0.4
0.2
0
0 1 2 3 4
Time (sec)
Kod Z-transformacije može se uočiti da veza između funkcije u vrmenskoj domeni y(t) i
pripadne Z-transformacije te funkcije nije jednoznačna. Naime, više različitih
kontinuiranih funkcija može imati istu Z-transformaciju, jer imaju iste vrijednosti u
trenucima diskretiziranja.
Z-transformacija daje vrijednosti funkcije samo u trenucima diskretiziranja, a na daje
odgovor o ponašanju funkcije između trenutaka diskretiziranja.
117
Prikaz u SIMULINKU
>> ltview
118
IZBOR FREKVENCIJE UZORKOVANJA
Ključni problem teorije diskretnih sustava, a time i teorije digitalnog vođenja je izbor
frekvencije uzorkovanja.
Izbor frekvencije uzorkovanja ovisi o:
- signalu koji uzokujemo
- načinu obnavljanja kontinuirane funkcije
- svrsi diskretnog sustava (za obradu signala ili kao regulator u sustavu vođenja).
Iskustveno:
frekvencija uzorkovanja 10 do 30 puta veća od širine pojasa propuštanja
4 do 10 puta kraće od vremena porasta
119
Izbor perioda uzorkovanja T
>> Gs=tf([1.833^2],[1 2*0.5*1.833 1.833^2])
>> ltview(Gs)
% → desni klik → Characteristics → Rise
Time = 0.895
>> T1=0.895/4=0.2238
>> T2=0.895/10=0.0895
120
REKONSTRUKCIJA (OBNAVLJANJE) KONTINUIRANOG SIGNALA
Signal x*(t)
sadrži Signal xF(t)
informaciju, a ne sadrži i
sadrži energiju informaciju, i
energiju
Siganl xF(t) može se izraziti kao zbroj pravokutnih signala visine x(kT) i širine T:
∞
xF (t ) = ∑ x(kT ){[S (t − kT ) − S (t − (k + 1)T )]} / L − Laplace
k =0
121
EKSTRAPOLATOR 1. REDA (FOH)
Za k=0:
Za k=1:
T ≤ t ≤ 2T: Za T ≤ t ≤ 2T vrijedi: x(T)=0 , x(0)=1
Ekstrapolacija pomoću FOH nije bitno bolja u odnosu na ZOH (čak je u nekim
dijelovima lošija).
Frekvencijska karakteristika FOH
122
METODA POKLAPANJA POLOVA I NULA
Primjer:
Kontinuirani dio sustava je:
Ukoliko G(s) ima nule i beskonačnosti G(z) bi trebao dobiti nule u točki z=-1, međutim
ponekad se jedna nula od G(z) ostavi u beskonačnosti, čime pridružena jednadžba
diferencije dobiva kašnjenje od jednog diskretnog trenutka vremena.
Odgovarajući polovi od G(z) su:
Pa vrijedi:
K ( z + 1) K (1 + 1)
1= −T − 0.5⋅T
=
(z − e ) ⋅ (z − e ) z = 1 (1 − e ) ⋅ (1 − e −0.5⋅T )
−T
1 ⋅ (1 − e −T ) ⋅ (1 − e −0.5⋅T )
K= = 0.5 ⋅ (1 − e −T ) ⋅ (1 − e −0.5⋅T )
2
Za T=0.1 → K=0.00232, e-T=0.9048, e-0.5T=0.9512
Pa je:
123
Primjena funkcije c2dm za diskretizaciju sustava pomoću metode poklapanja
polova i nula
>> format long numd =
>>[numd,dend]=c2dm(0.5,[1 1.5 0.5], 0.1, 0.00232 0.00232
'matched') dend =
1 -1.8560 0.8607
Sve što se događa oko nas ovisno je o vremenu ('funkcija je vremena'). U digitalnim
sustavima vođenja barem jedan od signala mora biti diskretan. Klasična automatska
regulacija analizira i projektira sustave kod kojih su svi signali kontinuirani, što znači da
su definirani (postoje) u svim trenucima vremena. Takve signale uobičajeno nazivamo
analogni signali.
Primjer:
124
Izlazni signal sustava – razina h više nije kontinuirana funkcija vremena. Kažemo da je
KVANTIZIRANA PO VREMENU, odnosno DISKRETIZIRANA. Signal razine postao
je DISKRETIZIRANI SIGNAL. Kako bi se naglasila razlika, diskretni signal se
označava zvjezdicom.
125
Zbog toga se ponašanje složenog sustava aproksimira ekvivalentnim linearnim sustavom
(u okolini radne točke).
Njegov matematički opis j LDJsKK → Osnove automatike.
Slična situacija je i kod DISKRETNIH SUSTAVA, s tim da se oni nastoje opisati
LINEARNIM JEDNADŽBAMA DIFERENCIJA s konstantnim koeficijentima.
(Iz jednadžbi diferencija jednostavno se izvede i tzv. IMPULSNA PRIJENOSNA
FUNKCIJA, na kojoj se temelji ''klasični'' pristup analizi i sintezi diskretnih sustava ili
JEDNADŽBE STANJA DISKRETNIH SUSTAVA na kojima se temelje ''modernije''
metode.
Opis sustava:
(Zanemaruje se nelinearnost ventila i zasićenje visine spremnika.)
Ks
Kp
s = 1 1
Gz ( s ) = =
Ks 1 τ s +1
1+ Kp s +1
s K pKs
126
Regulacija integralnog sustava diskretnim P-regulatorom
Simulink model:
Kako je:
Ako je jednadžba (**) usporedi s jednadžbom (*) uočit će se sličnosti: umjesto vremena
t javljaju se diskretni vremenski trenuci kT, a umjesto prve derivacije oblik
127
jednadžba (**) linearna jednadžba diferencija prvog reda. Prva unaprijedna diferencija
E – operator pomaka
I – operator identiteta (pomaka) za n=0 y(kT)
CENTRALNA DIFERENCIJA:
Ne koristi se u praksi!
128
EKVIVALENTNI SUSTAV
Primjer: Izračunati odziv sustava prikazanog na slici, ako je Kp=10, Ks=1, T=0.02 i
y(0)=0, na pobudu u obliku jediničnog odskoka.
129
Nakon uvrštavanja T=0.02 dobijemo:
Pa je:
Odnosno:
Simulink:
130
4. VJEŽBA
VJEŽBA D .
ISTOSMJERNI ELEKTROMOTOR
kojim se upravlja naponom armature ua uz konstantnu struju magnetiziranja IM.
UM – napon uzbude
iM – struja uzbude
RM – otpor uzbudnog namota
Ua – napon armature
ia – struja armature
Ra, La –otpor i induktivitet
armaturnog namota
e– inducirani napon
armature,
Jednadžba za električni krug (2. Kirchhoffov zakon) m– moment motora
i mehanički krug (ravnoteža zakretnih momenata): θ, ω – kut zakreta rotora i
d ia (t ) brzina vrtnje
ua (t ) = e(t ) + Ra ia (t ) + La Ke, Km – konstanta napona i
dt
momenta (=idealno)
J θ&&(t ) + b θ&(t ) = m(t ) J– ukupni moment inercije
--------------------------------------------------------------- motora i radnog
mehanizma svedenog na
osovinu motora
Blok-dijagram:
PRIJENOSNA FUNKCIJA:
Korištenjem Laplaceove transformacije dobiva se:
131
Iz druge jednadžbe može se dobiti :
Prijenosna funkcija koja daje omjer brzine vrtnje motora za narinuti napon:
Ako se kao izlazna veličina promatra pozicija motora (kut zakreta motora) potrebno je
integrirati brzinu vrtnje:
PROSTOR STANJA:
Varijable stanja:
pozicija motora
brzina motora
struja armature
132
ZAHTJEVI ZA SINTEZU REGULACIJSKOG KRUGA
Pozicioniranje motora treba biti ostvareno vrlo precizno (bez pogreške u stacionarnom
stanju). Pozicija treba biti dostignuta vrlo brzo, bez prevelikog prebačaja u odzivu.
PID REGULATOR
Za djelovanje poremećaja:
133
Rješenje primjenom Matlaba
figure
Kp=1.7;
numr=Kp; denr=1;
numo=conv(numr,num);
deno=conv(denr,den);
[numc,denc]=cloop(numo,deno);
t=0:0.001:0.2;
step(numc,denc,t)
Gc=tf(numc,denc);
ltview(Gc)
Kp=1.7;
Ki=20;
numr=[Kp Ki];denr=[1 0];
numo=conv(numr,num);
deno=conv(denr,den);
[numc,denc]=cloop(numo,deno);
step(numc,denc,t)
% Kp=17; Ki=200;
134
c) PID-REGULATOR
rlocus(num,den)
sgrid(0.5,0)
axis([-400 100 -200 200])
% PI regulator
% Uvodi se nultočka u prijenosnoj funkciji
% otvorenog kruga. Nultočka se postavlja
% između dominantnih polova prijenosne
% funkcije otvorenog kruga.
% Ako se npr. nultočka postavi na poziciju
% z=-30:
num = [1 30];
denr = [1 0];
numo = conv(numr,num);
deno = conv(denr,den);
rlocus(numo,deno);
sgrid(0.5,0);
axis([-400 100 -200 200])
[k,poles]=rlocfind(numo,deno);
[numc,denc]=cloop(k*numo,deno);
t=0:0.001:0.2;
step(numc,denc,t)
135
% PID regulator
% Želja je pomaknuti krivulju root-locusa
% što više ulijevo čime se dobiva brži
% odziv. Ukoliko se postave dvije nultočke
% na pozicije z1=60 i z2=-70
numr=conv([1 60],[1 70])
denr=[1 0]
numo=conv(numr,num);
deno=conv(denr,den);
rlocus(numo,deno)
sgrid(0.5,0)
axis([-200 100 -200 200])
[k,poles]=rlocfind(numo,deno);
[numc,denc]=cloop(k*numo,deno);
t=0:0.001:0.1;
step(numc,denc,t)
npr. k=0.12
poles=-1.45*106
-130.8+36i
-130.8-36i
-59.6
DIGITALNA REGULACIJA
136
% prijenosne funkcije, vrijeme uzorkovanja
% signala T, i tip formatora signala.
T=0.001; % vrijeme uzorkovanja
[numd,dend]=c2dm(num,den,T,'zoh') numd= 0 0.0010 0.0010 0.0000
% 'zoh' = formator nultog reda dend= 1.0000 -1.9425 0.9425
% Da se izbjegnu ekstra korjeni u nuli u 0.0000
% diksretnoj prijenosnoj funkciji pišemo:
numd=numd(2:3)
dend=dend(1:3)
printsys(numd,dend,'z')
%Odziv zatvorenog regulacijskog kruga
% bez uključenog regulatora:
[numdc,dendc]=cloop(numd,dend)
t=0:0.001:0.5;
[x1]=dstep(numdc,dendc,501);
stairs(t,x1)
% Projektiranje regulatora
% metodom root-locus
figure
zgrid(0,0)
hold
rlocus(numd,dend)
Za Mp = 0.16 → ξ = 0.5
zeta=-log(Mp)/sqrt((pi^2+log(Mp)^2)) >> zeta=0.5039
137
Metodom pokušaja i pogreške postavljaju se nultočke i polovi regulatora, da se ostvari
željeno ponašanje sustava.
Ukoliko se jedan pol regulatora postavi u -0.98 (čime se dokida nultočka sustava koja
utječe na prebačaj u odzivu), a drugi pol u 0.7.
Nultočke regulatora postavljene su u 0.85.
138
5. REGULACIJASUSTAVA
13
A/D D/A
electrical signal
električni signal
pressurized air
stlačeni zrak
12
24 VDC
13
8 9 p0
1
10 6 11
10 2
1
3 5
12
6
7 11 7
u
2 4
3
4
5 6 6
2 pA pB
1
2
A B
5
m
RE F01E Z
x 1
a) b)
1–Linearni potenciometar, 2–Pneumatski cilindar bez klipnjače, 3–Teret, 4–Rotacijski potenciometar, 5–
Referenca napona na potenciometru, 6–Pretvornik tlaka, 7–Proporcionalni ventil (servo ventil), 8–
Proporcionalni tlačni regulatori, 9–Elektromagnetski dvopoložajni ventili, 10–Pripremna grupa, 11–Ventil za
dovod zraka, 12–Elektroničko sučelje, 13–Upravljačko računalo
a)Fotografija, b) shematski prikaz laboratorijskog modela reguliranog pneumatskog servosustava
m c1 c2
A B
A m
pA Vc / 2 Vc / 2 pB
c = c1 + c2
Ff
Pneumatski cilindar predstavljen kao sustav masa-opruga
139
2 2 2
i izraza za krutost pneumatske opruge: c = κ p A ; c = κ p A ; c = c + c = 4 κ p A
1 2 1 2
Vc / 2 Vc / 2 Vc
2
dobiva se izraz za vlastitu frekvenciju cilindra: ω = 4 κ A p = 32.97 rad .
0
mV s
Pri tome je ukupna pokretana masa jednaka zbroju masa klipa cilindra i mase tereta
( m = mk + mt ), a ukupni volumen zbroju volumena komora cilindra i "mrtvog volumena"
u cilindru i priključnim vodovima ( V = Vc + Vm ).
2ς 0 ω0
ω 02
140
Pri tome se dinamika proporcionanog ventila zanemaruje, jer je granična frekvencija
ventila za red veličine veća od granične frekvencije cilindra ( f v ≈ 100 Hz , prema
f c ≈ 5 Hz ), prema izrazu za vlastitu frekvenciju cilindra. Stoga je izraz za prijenosnu
funkciju dobiven uz pretpostavku da je granična frekvencija proporcionalnog ventila
mnogo veća od granične frekvencije cilindra, te se u svrhu sinteze regulacijskog kruga
dinamika ventila može zanemariti.
Struktura regulacijskog kruga položaja pneumatskog servosustava može se prikazati
blokovskom shemom danom na slici.
Gp( s )
GR ( z )
T
xR ( z ) ur ( z ) Cilindar + x( s )
Regulator
proporcionalni ventil
Gm ( s )
T
xm ( z ) Mjerni
član
5 2
xm ( s ) ux( s )
K AD Km
141
Kašnjenje koje u digitalni krug unosi D/A pretvornik aproksimira se PT1 članom s
vremenskom konstantom jednakoj polovici vremena uzorkovanja ( T / 2 ), koristeći Padé-
ovu aproksimaciju prvog reda u obliku:
1 − e −T s K DA .
GE ( s) = K DA ≈
Ts T
s +1
2
Izlazna veličina procesa regulacije (pomak cilindra) u obliku analognog naponskog
signala dovodi se u trenucima diskretizacije na A/D pretvornik (12-bitni A/D pretvornik
s ulaznim opsegom ± 10 V), pa je pojačanje A/D pretvornika:
212
K AD = = 204.8 V −1 .
20
Kao mjerni član položaja cilindra koristi se linearni potenciometar, koji ukupni hod klipa
(od 0 do 500 mm) pretvara u naponski signal (od 0 do 10 V). Pretpostavlja se
proporcionalno vladanje mjernog člana:
u (s)
Gm ( s) = x = K m = 20 V / m .
x ( s)
Za određivanje koeficijenta pojačanja brzine C0 , može poslužiti eksperimentalno
snimljena prijelazna karakteristika otvorenog kruga, koja pokazuje odziv brzine gibanja
cilindra x& (t ) za skok upravljačkog signala napona u (t ) . Vrijeme uzorkovanja signala
postavljeno je na iznos T = 2 ms .
u( t ) m& ( t ) x&( t )
ventil cilindar 1
ulazni signal
0.9 experiment
Ts simulacija
0.8
a) C0
0.7
0.6
t
x& ( m / s )
Vrijeme 0.5
0.4
C0
x&
Ts2 2
s + 2 ς 0 Ts s + 1 0.3
142
prijenosne funkcije otvorenog kruga može se procijeniti približan iznos koeficijenta
pojačanja brzine: C0 ≈ 0.7 m / s .
V
Kašnjenje koje u regulacijski krug unosi D/A pretvornik, što je predstavljeno malom
(parazitnom) vremenskom konstantom T/2, može se zbog pojednostavljenog postupka
sinteze regulacijskog kruga, pribrojiti vremenskoj konstanti procesa T0 u nadomjesnu
vremensku konstantu Ts:
T
Ts = + T0 .
2
Na taj način se dobiva u otvorenom krugu regulacije pozicije prijenosna funkcija 3. reda
oblika: G ( s ) = x( s ) = K0 ,
o
x R ( s ) s ( Ts2 s 2 + 2 ς 0 Ts s + 1 )
gdje je K 0 = K R K DA C0 K m K AD .
143
60 200
xR ( t )
180
x( t )
40
160
K Rkr
140
20
j Im Go(s)
x R , x ( mm )
120
0 100
80
-20
60
40
-40
20
-60 0
-50 -40 -30 -20 -10 0 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Re Go(s) t (s)
a) b)
a) Krivulja mjesta korijena prijenosne funkcije otvorenog kruga, b) eksperimentalno snimljena
prijelazna karakteristika sustava za kritični iznos pojačanja regulatora
Slika prikazuje eksperimentalno snimljeni odziv sustava za kritični iznos pojačanja
regulatora ( K KR = 4.49 ), izračunat prema parametrima procesa danih u prilogu. Vrijeme
uzorkovanja postavljeno je na iznos T = 10 ms .
Ts=0.035; 40
num=K0; K Rkr
den=[Ts^2 2*zeta*Ts 1 0]; 20
j Im Go(s)
rlocus(num,den)
0
[k,polovi]=rlocfind(num,den)
e) PD-REGULATOR -20
Td=Ts; -40
numr=[Td 1];
numo=conv(numr,num); -60
-50 -40 -30 -20 -10 0 10
Re Go(s)
deno=den;
rlocus(numo,deno)
rlocfind(numo,deno)
144
0.32 0.23 0.16 0.115 0.07 0.035
100
100
0.48 80
80
60
60
40
40 0.75
20
20
j Im ( s )
0 0
-20
20
-40 0.75
40
-60
60
-80 0.48 80
-100
100
0.32 0.23 0.16 0.115 0.07 0.035
Parametri sustava
Duljina cilindra L = 500 mm
Promjer cilindra d = 15 mm
Površina klipa cilindra A = 1.767 ⋅10−4 m 2
Volumen cilindra V = 8.835 ⋅10−5 m3
Tlak napajanja p = 5⋅105 Pa
Masa klizača cilindra mk = 0.91 kg
Koeficijent viskoznog trenja b = 65 Ns / m
Koeficijent adijabatskog procesa κ = 1.4
Koeficijent pojačanja D/A pretvornika K DA = 4.88 ⋅ 10−3 V
Koeficijent pojačanja A/D pretvornika K AD = 204.8 1 / V
Koeficijent pojačanja brzine C0 = 0.7 m / Vs
Koeficijent pojačanja mjernog sustava K m = 20 V / m
Neprigušena vlastita frekvencija cilindra ω0 = 32.97 rad / s
Stupanj prigušenja cilindra ς 0 = 1.1
Vremenska konstanta procesa T0 = 0.03 s
Vrijeme uzorkovanja T = 0.01 s
145
Real-Time Workshop (RTW)
Real-Time Workshop je višeplatformski proizvod, kojeg je moguće izvoditi pod
Windows-ima ili pod UNIX-om, a za njegovo izvođenje potrebno je imati Matlab
(barem verziju 5.1) i Simulink, te Visual C++ ili Watcom C compiler.
Matlab je standardni alat na svim sveučilištima. Služi za računanje, programiranje,
modeliranje i simulaciju, analizu podataka, grafički prikaz. Osobito pogodan za matrični
račun. Snaga mu leži u brojnim toolbox-ima koji pokrivaju određena područja.
Simulink je programski paket za modeliranje i simulaciju dinamičkih sustava, linearnih i
nelinearnih, kontinuiranih i diskretnih. Može se uključiti dinamika komponenta u model,
te jednostavnom promjenom parametara sustava moguće je pratiti što se događa u odzivu
sustava.
Real-Time Workshop je program koji omogućuje dobivanje izvršne verzije (exe code)
direktno iz Simulink modela, koji se može koristiti na samom realnom procesu. Pri tome
se algoritam izvodi u realnom vremenu. To jako skraćuje vrijeme kreiranja kao i
naknadnog editiranja programa. Svi Simulink blokovi se automatski konvertiraju u C-
kod, osim blokova Matlab fcn i S fcn, koje je potrebno napisati kao mex s funkcije.
Procedura: Iz Simulink file-a model.mdl kreira se RTW model koji ima ekstenziju .rtw,
iz kojeg se generira C source kod model.c i header file model.h koji daje vezu između
blokova, te file model.prm koji sadrži parametre postavljene u blokovima, te model.reg
za inicijalizaciju modela.
Kod kompajliranja programa potrebno je specificirati pod kojim operacijskim sustavom
se program izvodi (DOS, Windows, UNIX).
Simulation parameters: Fixed-step.
RTW-model:
t
Step7 Clock To Workspace1
Kp=2
u Ts=0.035
Step6 To Workspace2
0
2
Step5 Constant
Analog
P Mux
f(u) Output
Step4 Mux
Sum du/dt 0.1 Fcn1 Saturation Analog Output1
National Instruments
Sum1 Derivative D To Workspace5 DAQCard-6024E [FDE0h]
Step3 Terminator1 Demux
pA
Step2
To Workspace4 Terminator2
National Instruments
To Workspace3 pB
DAQCard-6024E [FDE0h]
Step1
x Analog Input1
Demux Analog
Terminator3 Input
Scope
146
5.2. PNEUMATSKI POGONJENI SUSTAV INVERZNOG
KLINA
x 4
REF01EZ
A B
5
2 m
1 5
M
REF01EZ
3
pA pB
6 6
2 4
u
7
1
3 5
2
9 6 p0 8
1
10
24 VDC
Stlačeni zrak
11
Električni signal
D/A A/D
(a) (b)
1–Okvir, 2– Pneumatski cilindar bez klipnjače, 3– Rotacijski potenciometar za mjerenje θ, 4–
Rotacijski potenciometar za mjerenje x, 5– Referenca napona na potenciometru, 6– Pretvornik
tlaka, 7– Proporcionalni ventil, 8– Pripremna grupa, 9– Ventil za dovod zraka, 10– Elektroničko
sučelje, 11– Upravljačko računalo
Laboratorijski model pneumatski pogonjenog sustava inverznog klina, a) fotografija, b)
shematski prikaz
O b1 X
147
Klizač:
Transformacija rotacije:
x cosθ − sin θ x1 , x1 = x
y = sin θ cosθ ⋅ y y = d
1 1
[ ] [
v22 = ( x& − d ⋅ θ&) ⋅ cos θ − x ⋅ θ& ⋅ sin θ 2 + ( x& − d ⋅ θ&) ⋅ sin θ + x ⋅ θ& ⋅ cos θ 2 = ]
[
= ( x& − d ⋅ θ&) 2 ⋅ cos 2 θ − 2( x& − d ⋅ θ&) cos θ ⋅ x ⋅ θ& ⋅ sin θ + x 2 ⋅ θ& 2 ⋅ sin 2 θ + ]
[
+ ( x& − d ⋅ θ&) 2 ⋅ sin 2 θ + 2( x& − d ⋅ θ&) sin θ ⋅ x ⋅ θ& ⋅ cos θ + x 2 ⋅ θ& 2 ⋅ cos 2 θ = ]
= [( x& − d ⋅ θ&) 2
]
+ x 2 ⋅ θ& 2 = x& 2 − 2 ⋅ d ⋅ x& ⋅ θ& + d 2 ⋅ θ& 2 + x 2 ⋅ θ& 2
Euler-Lagrangeova jednadžba
dp
Iz općih jednadžbi kinematika krutog tijela može se pisati da je: v= ,
dt
2
pa je kvadrat brzine: v = v ⋅ v ,
pri čemu je vektor p vektor položaja (u odnosu prema nepokretnome koordinatnom
sustavu) diferencijalne mase dm članka čija se kinetička energija izračunava.
POTENCIJALNA ENERGIJA krutog tijela iznosi:
148
Euler-Lagrangeova jednadžba:
,
1
( ) 1
K = K1 + K 2 = m x& − 2 ⋅ d ⋅ x& ⋅ θ& + d 2 ⋅ θ& 2 + x 2 ⋅ θ& 2 + M c 2θ& 2
2
2
2
md 2θ&& + Mc 2θ&& + mx 2θ&& − m d &x& + 2m x x& θ& + mgx cosθ − Mgc sin θ − mgd sin θ = F ⋅ d
b 1
&x& = − 2 x& + d θ&& − g θ + F
m m
2 2 && 2
θ (md + Mc θ − m d ) = −b2d x& − mgdθ + F ⋅ d − mg x − b1 θ& + Mgcθ + mgdθ + F ⋅ d
& &
149
Prostor stanja
,
0 0m 1 0 0
θ& g b b2 d θ 2d
&& − Mg 2− M1 2− M2 θ& M 2
θ = c ⋅ + c ⋅ [F ]
x& 0 0c 0c 1c
0
mg x
gd b1d b2 d 2 b2 2 d 2
1
−g
− M 2 − Md 2 − M 2 + x&
&x& M2+
c c c c m
c
m
y = [1 0 0 0]⋅ θ θ& x x& [
T
] P
olovi sustava:
s1 = −1020.3 s2 = 8.9 s3 = −17.6 s4 = −2.9
, , ,
K – regulator stanja
D
u – upravljački signal
w u x y
x& = A x + B u C
K
K⋅x
objekt regulacije
(prostor stanja)
150
OPTIMALNI REGULATORI
1 ulaz u sustav
2 stanja
→
→
151
REGULACIJA SUSTAVA
Sustav
x
θ
0 x& = A x + B u y=C x x
θ
θ& d
Filter
K dt
x
x& d
Filter
dt
K = [−25 − 45 70 65]
Eksperimentalni rezultati
2
0
1
Wedge angle
0
-
10 dist. dist.
-
20 0 1 1 2 2 3 3 4 4 5
5
0 5 0 5 s
Time, 0 5 0 5 0
0.
6
0.
position
4
Slider
x, m
0.
2
0 1 1 2 2 3 3 4 4 5
0 5
0 5 0 5 s
Time, 0 5 0 5 0
152
5.3. PNEUMATSKI POGONJENI SUSTAV KUGLICE NA
GREDI
x
1 4
3 m REF01EZ
2 REF01EZ
5 6
M, l
pB
pA 7
2 4
u
1 8
3 5
2
10 7 9
p0
1
11
Stlačeni zrak
Električni signal
24 VDC
12
D/A A/D
(b)
(a)
1–Okvir, 2– Pneumatski cilindar bez klipnjače, 3– Rotacijski potenciometar za mjerenje θ, 4–
Rotacijski potenciometar za mjerenje x, 5– Referenca napona na potenciometru, 6– Pretvornik
tlaka, 7– Proporcionalni ventil, 8– Pripremna grupa, 9– Ventil za dovod zraka, 10– Elektroničko
sučelje, 11– Upravljačko računalo
Laboratorijski model pneumatski pogonjenog sustava kuglice na gredi, a) fotografija, b)
shematski prikaz
Sustav kuglice na gredi, kao klasični regulacijski objekt, spada u grupu popularnih
laboratorijskih sustava namijenjenih istraživanju različitih tehnika regulacije i testiranje
različitih regulacijskih algoritama. Dinamičko ponašanje ovakvog sustava
karakteristično je za mnoge suvremene primjene automatskog upravljanja, te se često
koristi kao ogledni primjer za analizu nestabilnih, nelinearnih sustava, kod kojih se traži
brzi odziv regulirane veličine. Ovaj sustav spada u grupu često korištenih objekata iz
razloga što je njegov matematički model dosta kompliciran, sustav je nestabilan u
otvorenom krugu, uključuje mnoge nelinearnosti i neke teško mjerljive parametre. S
druge pak strane, lako je razumjeti kako sustav radi, te se može koristiti za provjeru
mnogih konvencionalnih i suvremenih pristupa projektiranja regulacijskog sustava.
153
Također spada u grupu podupravljanih mehaničkih sustava kod kojih dimenzija
stupnjeva slobode gibanja premašuje dimenziju upravljačkih varijabli. Naime, sustav
ima dva stupnja slobode gibanja, a to su kutni zakret grede θ i linearni pomak kuglice x,
a samo jednu upravljačku varijablu, koja je moment motora realiziran ostvarenjem
različitih iznosa tlaka u komorama motora. Kod ovog balansirajućeg mehanizma,
regulacijski sustav mora osigurati regulaciju položaja kuglice zakretanjem grede, koje se
ostvaruje pneumatskim zakretnim motorom. Energija stlačenog zraka u komorama
motora zakreće gredu pričvršćenu na motor održavajući željni položaj kuglice.
Regulacijski sustav mora osigurati točnost regulirane veličine i brzo otklanjanje
poremećaja.
Fotografija laboratorijskog modela, kao i shematski dijagram pneumatski pogonjenog
sustava kuglice na gredi prikazani su na slici.
Greda: Y1 Y
1 &2
K1 = Iθ g
2 x r
r X1
P1 = 0 p m
T
θ
O X
M ,l
Kuglica:
Transformacija rotacije:
x cosθ − sin θ x1 , x1 = x
y = sin θ cosθ ⋅ y y = r
1 1
[ ] [
v22 = ( x& − r ⋅ θ&) ⋅ cos θ − x ⋅ θ& ⋅ sin θ 2 + ( x& − r ⋅ θ&) ⋅ sin θ + x ⋅ θ& ⋅ cos θ 2 =]
[ ]
= ( x& − r ⋅ θ&) 2 ⋅ cos 2 θ − 2( x& − r ⋅ θ&) cos θ ⋅ x ⋅ θ& ⋅ sin θ + x 2 ⋅ θ& 2 ⋅ sin 2 θ +
+ [( x& − r ⋅ θ&) ⋅ sin θ + 2( x& − r ⋅ θ&) sin θ ⋅ x ⋅ θ& ⋅ cos θ + x ⋅ θ&
2 2 2 2
⋅ cos θ ] =
2
154
Euler-Lagrangeova jednadžba
J
&x& + m&x& − mrθ&& − mxθ& 2 + mgsinθ = 0
2
r
Ako je uključeno trenje: + b2 x& .
155
mr 2θ&& + mx 2θ&& + I θ&& − mr&x& + 2mxx&θ& + mgxcosθ − mgrsinθ = T
Ako je uključeno trenje: + b1 θ& .
J
&x& ( + m) − mrθ&& + mgθ = 0
r2
θ&& (mr 2 + I ) − mr&x& + mgx = T
Složen model!
Zbog male mase, kuglica ne utječe značajno na promjenu momenta letve.
Pojednostavljeni model
J
&x& ( + m) − mrθ&& + mgθ =0
r2
I θ&& = T
1
θ&& = T
I
− mg mr
&x& = θ+ T
J J
+m ( 2 + m) I
r2 r
156
Prostor stanja:
0 1 0 0 0
x& −mg x mr
&x& 0 0
J
0 x& J
= +m + ( 2 + m) I T
θ& r2 θ r
&& 0 0 0 1 & 0
θ θ 1
0 0 0 0
I
y = [1 0 0 0] x [ x& θ θ& T ]
K – regulator stanja
D
u – upravljački signal
w u x y
x& = A x + B u C
K
K⋅x
objekt regulacije
(prostor stanja)
157
REGULACIJA SUSTAVA
Sustav
x
x
0 x Ax B u y Cx
x
x d
Filter
dt
K
d
Filter
dt
porem. porem.
porem. porem.
158