2
Ders takvimi
Dersler:
Toplam 12 hafta içinde 10 hafta ders 1 hafta laboratuar uygulaması ve 1 hafta sınav yapılacaktır. Derse devam %70 istenmektedir
Eylül 26
Ekim 3, 10, 17, 24, 31
Kasım 7, 14, 21, 28
Aralık 5, 12, 19
3 Ekim kurban bayramı tatilidir.
Akademik takvim sonu 19 Aralık
Ders sunumları Ders Web’e yüklenecektir.
3
Kaynaklar
•Essentials of Robust Control K. Zhou, J. Doyle • Robust Control Design with Matlab D.W.Gu, P.H. Petkov, M.M. Konstantinov • Robust and Adaptive Control E. Lavretsky, K. A. Wise
4
Ders önşartları
• Feedback Kontrolün Esaslarını bilmek
• Dinamik Sistemlerin Modellenmesini bilmek
• Matlab/Simulink ortamında simulasyon yapabilme altyapısı olmak
5
Ders yükümlülükleri
• Yıl İçi Sınavı
• Ödevler
• Final Sınavı
Ders iki oturumda tek ara şeklinde yapılacak.
6
Ders kapsamı ve amacı
• Lineer kontrol esasları
• Mühendislik sistemlerinin H-infinity kontrol dizaynı
• Ödevlerle öğrencinin verilen bir problemi modelleme ve kontrol dizayn yapabilmesi amaçlanmaktadır. • Konuların anlatımında ispat verilmeyecek
Yıliçi ödevi teslim formatı: Isimsoyad_OdevNo.doc (e-mail adresime gönderilecek. Basılı döküman verilmeyecek.)
7
Kontrol Sistem Tasarımı
• Kontrol dizayn toolbox kullanımı • Sistem simülasyonunun gerçeklenmesi
-Control system toolbox -Robust control toolbox -LMI control toolbox
Matlab/Simulink hem tasarımda hem de simülasyon çalışmalarında kullanılmaktadır.
Kontrol sistem yapısı
Geribesleme kontrol sistemini oluşturan elemanlar ve değişkenler blok yapısı içinde gösterilebilir ve analiz edilebilir.
Kontrol sistem yapısı
Oda sıcaklığı kontrol sistemi Kontrol sisteminde değerlendirme değişkenleri fiziksel değişkenler olması gerekmez. Fiziksel değişkenlerin ölçeklendirilmiş karşılığı olan elektriksel değişkenler(V) olabilir.
10
Kontrol sistem yapısı
r u
: referans girişi
: kontrol edilen değişken
: kontrol girişi
r
y
u
Kontrolör Aktüatör Sistem
Sensör
Sistem
Gürültüsü
Sensor
Gürültüsü
y+
-
11
Kontrol sistem yapısı
r uKontrolor Aktuator Sistem
Sensor
y
( )K s ( )P se ur y
_
+
( ) : Toplam Sistem (sistem+aktuator+sensor) transfer fonksiyonu
( ) : Kontrolor
P s
K s
( )P s
_
+
12
Kontrol sistem yapısı
r uKontrolor Aktuator Sistem
Sensor
Sistem
Gürültüsü
Sensor
Gürültüsü
y
( )P s
( )K s ( )P se
u
r y_
+
n
w
+
_
13
Blok diyagramı işlemleri
1G 2G
3G
1r
2r
cu 1c
2c
1 2c G u
1 1u G r
2 3 2c G r
1 2 1 2 1 3 2c c c G G r G r
er
y
Gr u+
-
Toplam noktası Kazanc elemani
+
+
Blok diyagramı işlemleri transfer fonksiyonları ve giriş çıkış sinyalleri arasındaki toplam ilişkiyi bulmakta kullanılır.
14
Blok diyagramı işlemleri
?e
r
1( )G s 2 ( )G se ur
y
H
-
?y
r
1 2
1 2
( ) ( )
1 ( ) ( )
G s G sy
r G s G s H
?u
r+
15
- +
+
+
d
er)(1 sG )(2 sG
1 2
1 2
( ) ( )
( ) ve ( ) transfer fonksiyonlarini bulunuz.
e P s r P s d
P s P s
y
Blok diyagramı işlemleri
( )K s ( )P se ur y
_
+
Servo yapı: Bir kapalı çevrim kontrol sisteminde kontrol edilen değişken belli bir
referans değerini takip ediyor ve yakınsıyor ise bu kontrol sistemi servo yapıdadır.
( )K s ( )P se u0r y
_
+
Regülatör yapı: Takip edilecek bir değişken yoktur. Kontrol edilen değişken sistemin
kararlı durumunun belirlediği bir değere yakınsıyor ise regülatör yapıdadır. Lineer
sistemlerde kararlılık değeri çoğunlukla sıfır olacak şekilde ortaya çıkar.
Kontrol yapısı tipleri
( )K s ( )P su
n
y
+
1
1 2 1
1 2
1 2 1
( )( )
( )
m m
m m
n n n
n n
b s b s b s bN sG s
D s s a s a s a s a
Transfer fonksiyonu
u
)(1 sG
y
Transfer fonksiyonu giriş ile çıkış arasındaki ilişkiyi veren sistemin bir modelidir. Matematiksel modelleme ile veya deneysel olarak elde edilebilir.
( )y
G su
En genel halde transfer fonksiyonu tanımı:
18
DC MOTOR : Sargı Alan Kontrollü DC Motor
f f f f fe R i L i
J B
T
t fT K i
Transfer fonksiyonu
( ) ( ) ( )J t B t T t
19
2
2
2 2
( )( ) ( )
θ(s) θ(s)
θ(s)=
θ
tf
f f
tf
f f
t t
f f f f f
B T tt t
J J
KBs s E
J J R L s
KBs s E
J J R L s
K KJ
E Js BsJ R L s R L s Js Bs
Transfer fonksiyonu
f f f f f
f f f
f f
t
E R I L sI
R L s I
TR L s
K
t f f
t
TT K I I
K
tf
f f
KT E
R L s
Laplace transformasyonu uygulanırsa:
20
Transfer fonksiyonu
num=[b1,b2,. . .,bm,bm+1]; den=[1,a1,a2,. . .,an−1, an]; G=tf(num,den)
Transfer Fonksyonlarının Matlab Gösterimi:
1
1 2 1
1 2
1 2 1
( )m m
m m
n n n
n n
b s b s b s bG s
s a s a s a s a
4 3 2
5( )
2 3 4 5
sG s
s s s s
num=[1,5]; den=[1,2,3,4,5]; G=tf(num,den)
tf komutu
21
Transfer fonksiyonu
2 2 3 2
6 5( )
( 3 1) ( 6)( 6 5 3)
sG s
s s s s s s
den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]); num=6*[1,5]; G=tf(num,den)
conv() komutu ile gosterim
25( 10)( )
( 8)( 12)( 0.3)
sG s
s s s
num=25*[1 10]; den=conv(conv([1 8],[1 12]),[1 0.3]); G=tf(num,den)
22
Transfer fonksiyonu
s=tf('s'); G=6*(s+5)/(s^2+3*s+1)^2/(s+6)/(s^3+6*s^2+5*s+3);
Laplace değişkeni tanımlanarak aşağıdaki şekilde yazılabilir.
G.Variable='p'; G.ioDelay=0.5; set(G,'Variable','p','ioDelay',0.5);
Yukarıdaki transfer fonksiyonunda operatör sembolünü değiştirmek ve sisteme bir transport gecikmesi vermek gerekirse:
0.5
8 7 6 5 4 3 2
6 5( )
18 124 417 740 729 437 141 18
p pG s e
p p p p p p p p
23
G11=tf(0.1134,[1.78 4.48 1],'ioDelay',0.72); G12=tf(0.924,[2.07 1]); G21=tf(0.3378,[0.361 1.09 1], 'ioDelay',0.3); G22=tf(-0.318,[2.93 1], 'ioDelay',1.29); G=[G11, G12; G21, G22];
Transfer fonksiyonu matrisi(MIMO Sistem Gösterimi)
0.72
211 12
0.3 1.2921 22
2
0.1134 0.924
1.78 4.48 1 2.07 1( )
0.3378 0.318
0.361 1.09 1 2.93 1
s
s s
e
G Gs s sG s
G Ge e
s s s
Transfer fonksiyonu
24
z=-[z1; z2; · · · ; zm]; p=-[p1; p2; · · · ; pn]; G=zpk(z,p,K)
1 2
1 2
( )( ) ( )( )
( )( ) ( )
m
n
s z s z s zG s K
s p s p s p
Transfer fonksiyonu pay kökleri sıfırlar(zeros) ve payda kökleri (poles) çarpımları olarak verilebilir.
z=[-1.9294; -0.0353+0.9287j; -0.0353-0.9287j]; p=[-0.9567+1.2272j; -0.9567-1.2272j; +0.0433+0.6412j; +0.0433-0.6412j]; G=zpk(z,p,6)
( 1.9294)( 0.0353 0.9287 )( ) 6
( 0.9567 1.2272 )( 0.0433 0.6412 )
s s iG s
s i s i
Zero-Pole-Gain
Transfer fonksiyonu
25
205927
15106234)(
2345
2345
sssss
ssssssG
num=[4 3 2 6 10 15]; den=[1 7 2 9 5 20]; printsys(num,den) [z,p,k]=tf2zp(num,den) [num,den]=zp2tf(z,p,k)
z = 0.8865 + 1.0813i 0.8865 - 1.0813i -1.3388 -0.5921 + 1.0402i -0.5921 - 1.0402i p = -6.8929 0.7062 + 1.1166i 0.7062 - 1.1166i -0.7598 + 1.0417i -0.7598 - 1.0417i k = 4
Transfer fonksiyonu
zero pole gösteriminden transfer fonksiyonuna dönüşüm
Transfer fonksiyonundan zero pole gösterimine dönüşüm
26
Blok diyagramlarının bağlanması
1 22
1 1( ) , ( )
( 1) ( 1)G s G s
s s
%Paralel G1=zpk([],[-1,-1],1); G2=zpk([],[-1],1); G=G1+G2
%Seri G1=zpk([],[-1,-1],1); G2=zpk([],[-1],1); G=G1*G2
Transfer fonksiyonu
27
Geri besleme yapısı:
G=feedback(G1,G2,Sign)
1 22
1
1 2 1
1
1 2 1
1 1( ) , ( )
2 1 1
( ) ( )[ ( ) ( )] : feedback
( ) ( )[ ( ) ( )] : feedback
G s G ss s s
G s G s I G s G s pozitif
G s G s I G s G s negatif
%negatif feedback G1=tf(1,[1 2 1]); G2=tf(1,[1 1]); G=feedback(G1,G2)
%pozitif feedback G=feedback(G1,G2,+1)
Transfer fonksiyonu
28
( ) ( )( )
1 ( ) ( ) ( )
ccl
c
G s G sG s
H s G s G s
Gcl=feedback(G*Gc,H)
3 2
4 3 2
7 24 24 10 5 1( ) , ( ) , ( )
10 35 50 24 0.01 1c
s s s sG s G s H s
s s s s s s
G=tf([1 7 24 24],[1,10,35,50,24]); Gc=tf([10,5],[1,0]); H=tf([1],[0.01,1]); G_cl=feedback(G*Gc,H)
Transfer fonksiyonu
29
syms ka kr c1 c2 c Ra T1 T2 km kb s % symbolic declaration Ga=feedback( 1/Ra/(T1*s+1)*km *1/c/(T2*s+1),kb); % inner loop g1=c1*feedback(ka*kr*Ga/s,c2); g1=collect(g1,s)
M(t)=0
function H=feedback(G1,G2,key) if nargin==2; key=-1; end, H=G1/(sym(1)-key*G1*G2); H=simple(H);
Symbolic Toolbox içinde feedback komutu ile işlem yapabilmek için aşağıdaki programın toolbox\symbolic\@sym altına yerleştirilmesi gerekmektedir.
Transfer fonksiyonu
30
Geri besleme yapisi:
g1=tf(1,[0.01,1]); g2=tf([0.17,1],[0.085,0]); g3=g1; g4=tf([0.15,1],[0.051,0]); g5=tf(70,[0.0067,1]); g7=tf(130,[1,0]); g6=tf(0.21,[0.15,1]); g8=0.212; g9=tf(0.1,[0.01,1]); g91=g9/g7; g10=0.0044*g1; gg1=feedback(g7*g6,g8); %paths 6-8 gg2=feedback(gg1*g5*g4,g91); %paths 4-9 G=feedback(gg2*g3*g2,g10)*g1; minreal(zpk(G)), %overall system
Transfer fonksiyonu
31
Symbolic Toolbox icinde ifade edilen bir laplace() fonksiyonu verilen bir f(t) fonksiyonunun Laplace donusumunu elde etmekte kullanilabilir. F=laplace(f )
( ) cos( )btf t e at c
syms s t a b c; f= exp(b*t)*cos(a*t+c); F=laplace(f)
F =cos(c)*(s-b)/((s-b)^2+a^2)-sin(c)*a/((s-b)^2+a^2)
2 2 2 2
cos( )( ) sin( )( )
( ) ( )
c s b c aF s
s b a s b a
Matlab’de hesaplanan:
Transfer fonksiyonu
32
0 5 10 150
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time [ s ]
Am
plit
ude
Step repsonse of the second order system
=0.0
=1
-2 -1.5 -1 -0.5 0 0.5 1-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Real Axis
Imag A
xis
Pole zero map
2
2 2( ) ( )
2
n
n n
C s R ss s
wn=1; %natural frequency zeta=0.0; % damping coefficient t1=0:0.05:15; % define a time interval for k=1:9; num=[ wn*wn]; den=[1 2*zeta*wn wn*wn]; [y1,x1,tt]=step(num,den,t1); % compute the step response ydat(:,k)=y1; %store data figure(1) plot(tt,y1) %plot the figure xlabel('Time [ s ]'); ylabel('Amplitude'); title('Step repsonse of the second order system') hold on; figure(2) zeta=0.1+zeta; pzmap(num,den) % plot the pole and zero map hold on; axis([-2 1 -2 2]); %Define axis size end figure(3) mesh(ydat') %3D plot set(gca,'xtick',[0 100 200 300 400])
Transfer fonksiyonu
33
1
2
2
( 5)( 3)
2
( 5)( 3)
sG
s s
sG
s s
num1=[1 2]; den1=conv([1 5],[1 3]); num2=-[1 -2]; den2=conv([1 5],[1 3]); t=0:0.05:5; [y1,x1,t]=step(num1,den1,t); [y2,x2,t]=step(num2,den2,t); plot(t,y1,t,y2) grid text(0.5,0.13,'G1'); text(1,0.075,'G2'); title('Step response of the minimum and nonminimum systems') xlabel('t [ s ]') ylabel('y_1 y_2')
Transfer fonksiyonu
34
3 2
( ) 4
( ) 3 6 2
y s
u s s s s
1 1
2 2
3 3
1
2
3
0 1 0 0
0 0 1 0
2 6 3 4
1 0 0
x x
x x u
x x
x
y x
x
num=4; den=[1 3 6 2]; printsys(num,den,'s'); [A,B,C,D]=tf2ss(num,den) [num1,den1]=ss2tf(A,B,C,D,1); printsys(num1,den1,'s');
Transfer fonksiyonu