Upload
others
View
48
Download
2
Embed Size (px)
Citation preview
EET-305 Kontrol Sistemleri
1
T.C
FIRAT ÜNİVERSİTESİ
TEKNOLOJİ FAKÜLTESİ
ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ
EET-305 KONTROL SİSTEMLERİ LABORATUVARI
DENEY FÖYÜ
Prof. Dr. Muammer GÖKBULUT
Arş. Gör. Ahmet TOP
EET-305 Kontrol Sistemleri
2
DENEYLER
Deney_1: MATLAB PROGRAMLAMA-I
Deney_2: MATLAB PROGRAMLAMA-II
Deney_3: MATLAB KONTROL SİSTEMLERİ TOOLBOX’IN KULLANIMI-I
Deney_4: MATLAB KONTROL SİSTEMLERİ TOOLBOX’IN KULLANIMI-II
Deney_5: MATLAB / SIMULINK PROGRAMI
Deney_6: KONTROL SİSTEMLERİNİN ZAMAN BÖLGESİ KARAKTERİSTİKLERİ VE PID
KONTROLÖR TASARIM ESASLARI
Deney_7: KÖKLERİN YER EĞRİSİ ANALİZİ VE KONTROL SİSTEMİ TASARIMI
Deney_8: FREKANS CEVABI ANALİZİ VE KONTROL SİSTEMİ TASARIMI
NOT:
Deneyler her hafta programda belirtilen saatte mesleki yazılım uygulamaları laboratuvarında
yapılacaktır, deney başlamadan 15 dk önce laboratuvarda hazır bulununuz.
Deney föyünde bulunan bilgilere, deneye gelmeden önce çalışarak geliniz.
Deney föyünde verilen MATLAB fonksiyonlarından yararlanarak uygulamaların programını yazarak
laboratuvar çalışmasına geliniz.
EET-305 Kontrol Sistemleri
3
Deney No: 1
MATLAB PROGRAMLAMA DİLİ
A-) Amaç: MATLAB programlama komut ve fonksiyonlarını kullanarak denklem takımlarının çözümü, veri
çözümleme işlemleri, grafik çizimi vs. gibi programlar hazırlayabilmek.
B-) Deneye / Uygulamaya Hazırlık
MATLAB, MATrix LABoratory sözcüklerinden gelir. Başta mühendislik alanında olmak üzere sayısal analiz
yöntemlerini kullanan bilimlerde son yıllarda oldukça sık kullanılan bir hazır yazılım paketidir. Özellikle
yüksek performans gerektiren algoritma hazırlama ve geliştirme, sayısal analiz, benzetim, mühendislik
problemlerinin sayısal ve grafik çözüm tekniklerinde son derece etkindir. MATLAB programı, çeşitli
mühendislik alanları için hazırlanmış Toolbox’ları da ihtiva eden kapsamlı bir programdır. Ancak burada,
MATLAB programlama komut ve fonksiyonlarını kullanarak çeşitli program örnekleri incelenecektir.
MATLAB ortamına girildiğinde görülen >> biçimindeki MATLAB komut girme iletisinin önüne tek tek
MATLAB komut ya da fonksiyonları yazılarak çalıştırılabilir. Ancak kullanıcının, programını FileNewM-file menüsünden açılan text editörü içerisine yazarak ve *.m uzantısı ile kaydederek çalıştırması pratik
açıdan daha uygundur.
Deneysel/Uygulama çalışmalarına başlamadan önce MATLAB programlama komut ve fonksiyonları hakkında
yeterli bilgi kazanılmış ve uygulamaya hazırlıklı gelinmiş olmalıdır.
C-) Deneysel / Uygulama Çalışmaları
Aşağıdaki MATLAB programlarını inceleyerek/çalıştırarak ekran çıktısını belirleyiniz.
Uygulama 1:
% Değişkenler, veri okuma – yazma
clear; clc;
y=input('sayı giriniz=');
x=5/3;
a=x+3*y-(y/2*4)
k= -2:0.5:4;
b='w';
adi='firat';
disp(x);
disp(k);
fprintf('değerler=\n %f %c %s %d \n',k(8),b,adi,a);
Uygulama 2:
% vektör ve matris işlemleri
clear; clc;
A=[1 2 sqrt(9)];
B=[5;6;exp(-A(2))];
C=[1 2;3 -4];
D=A+B'; % ya da D=A+transpose(B)
T=C*inv(C);
X=A'.*B;
Y=power(A,2);
W=C(:,1);
disp(det(C));
EET-305 Kontrol Sistemleri
4
size(C)
disp(W);
sort(B)
max(C)
fprintf('değerler=\n %d %f %d %f \n',C(2,1),sum(A),min(W),mean(A));
Uygulama 3:
% f(s)=s^3+3s-4 ve p(s)=s-2 polinomları;
clear; clc;
f=[1 0 3 -4];p=[1 -2];
polyder(f)
kokler=roots(f)
y=polyval(p, [-1:0.5:1])
Uygulama 4:
%for döngüsü
clear; clc;
for i=1:2
j=1;
for x= -1:0.5:2
y(j)=sqrt(x);
a(i,j)=x+i;
j=j+1;
end
b(:,i)=y(j-1)/x;
end
disp('sonuç1=');disp(y)
disp('sonuç2=');disp(a)
disp('sonuç3=');disp(b)
Uygulama 5:
%Koşullu döngü (while)
clear; clc;
x=2;
while x<20
x=power(x,3)-power(x,2);
disp(x);
end
EET-305 Kontrol Sistemleri
5
Uygulama 6:
%if-elseif-else yapıları
clear; clc;
x=input('x= ');
y=input('y=');
if x>=0 & y>=0
f=x+log(y)
elseif x>=0 & y<0
f=log10(x)+1/y
elseif x<0 & y>=0
f=sin(2*pi+1/x+y)
else
f=1/x+1/y
end
Uygulama 7:
%Fonksiyon hazırlama ve çağırma
function [y1,y2,y3]=fonksiyon(a,b,c);
y1=a*sin(b);
y2=max(b);
y3=upper(c);
%Bu fonksiyon adı ile kaydedilip aşağıdaki gibi çağırılıp çalıştırılabilir.
%[x,y,z]=fonksiyon(3,[2 4],'firat')
Uygulama 8:
% Grafikler
clear; clc;
t=0:0.1:5;
y1=1-exp(-2*t).*cos(5*t);
y2=sin(2*pi*t-pi/4);
subplot(221);plot(t,y1,'r')
grid on
xlabel('zaman -saniye')
ylabel('çıkış')
title(' iki boyutlu grafik')
subplot(222);plot(t,y1,'r--',t,y2,'k')
a=[10 20 40 30];
figure(2);pie(a,{'Ali','Veli','Can','Osman'})
x=0:10;
y=0:10;
z=x'*y;
figure(3);mesh(x,y,z);
EET-305 Kontrol Sistemleri
6
Deney No: 2
MATLAB PROGRAMLAMA-II
A-) Amaç: MATLAB programlama komut ve fonksiyonlarını kullanarak program yazabilmek ve MATLAB
fonksiyonlarını kullanarak birinci mertebeden diferansiyel denklemleri çözebilmek.
B-) Deneye / Uygulamaya Hazırlık
Deney I de öğrenilen MATLAB komut ve fonksiyonları yardımıyla Uygulama 1,2,3,4 için kolayca programlar
yazılabilir ve grafikler çizdirilebilir.
Uygulama 5 için MATLAB’ da çeşitli sayısal analiz teknikleri kullanılarak diferansiyel denklem çözümlerini
yapan fonksiyonlar geliştirilmiştir. Bunlardan Runge-Kutta yöntemi ile diferansiyel denklemlerin çözümünü
yapan ode23 ve ode45 fonksiyonunun kullanımı aşağıda verilmiştir.
Bu fonksiyonların kullanımında öncelikle diferansiyel denklemin bir fonksiyon olarak tanımlanması gerekir.
Örneğin,
t2tedt
)t(dy
denkleminin fonksiyonu aşağıdaki gibi hazırlanabilir.
function turevy=deneme(t,y)
turevy=t.*exp(-2*t);
Deneme adı ile kaydedilen bu fonksiyon ode45 fonksiyonu içerisinden çağrılarak denklemin çözümü elde
edilebilir.
[t,y]=ode45(@deneme,[t0 tf],y0);
Burada, y0- başlangıç koşulu, t0- çözümün başlangıç zamanı (genellikle t0=0 ) ve tf ise çözümün bitiş
zamanıdır.
MATLAB/sembolik toolbox ile sembolik olarak başta türev, integral olmak üzere çok çeşitli denklem
takımlarının çözümü de yapılabilir. Dolayısıyla, MATLAB/Sembolik toolbox’ dan yararlanarak sistemlerin
zaman bölgesindeki matematiksel modeli olan diferansiyel denklemlerin sembolik çözümü yapılabilir ve
sembolik olarak elde edilen çözümün istenen bir zaman aralığında grafiği çizilerek sistemin cevabının analizi
yapılabilir.
dsolve: Diferansiyel denklemlerin sembolik çözümünü verir. Denklemde türevler D ile tanıtılır. Örneğin, D2y;
y’ nin ikinci türevi, Dy ise y’ nin birinci türevini ifade eder.
Genel kullanımı: yy=dsolve(‘denklem’,’başlangıç koşulu1’,’başlangıç koşulu2’,….’bağımsız değişken adı’)
eval: bağımsız değişken olarak (örneğin bağımsız zaman değişkeni) kullanıcının belirleyeceği bir aralıkta
sembolik denklemin sayısal çözümünü verir. Genel kullanımı:
s=eval (yy)
Burada yy; bulunan sembolik çözümü gösterir.
EET-305 Kontrol Sistemleri
7
Örnek: )(45)(
txydt
tdy denkleminin başlangıç koşulu y(0)=0 olmak üzere birim basamak giriş için
sembolik çözümünü yaparak bulunan çözümün grafiğini çizen MATLAB programı aşağıda verilmiştir.
s=dsolve('Dy+5*y=4','y(0)=0','t');
ile denklemin sembolik çözümü,
s = 4/5 - (4*exp(-5*t))/5
olarak bulunur. Çözümün grafiği ise,
t=0:0.1:5;
yt=eval(s);
plot(t,yt)
ile t=0-5 saniye aralığında hesaplatılarak çizdirilebilir ve cevabın zamana göre değişimi değerlendirilebilir.
C-) Deneysel / Uygulama Çalışmaları
MATLAB fonksiyonlarından yararlanarak aşağıdaki uygulamaların programını yazarak Laboratuvar
çalışmasına geliniz.
Uygulama 1:
a-) Aşağıdaki fonksiyonun herhangi bir x için değerini hesaplayıp sonucu döndüren bir MATLAB
fonksiyonunun programını yazınız.
𝑓(𝑥) = ∑𝑥2𝑛
𝑥=1
Uygulama 2:
Açılımı yapılan bir Cosinüs açılım fonksiyonu için x değeri klavyeden girilmektedir. İlk 10 terim için Cos
fonksiyonunun değerini hesaplayarak ekrana yazan bir MATLAB programı yazınız.
Uygulama 3:
Aşağıdaki sinyallerin, belirleyeceğiniz bir zaman aralığı için zamana göre grafiklerini MATLAB ile çizdiriniz.
a-) t5e10)t(f b-) t10e1)t(x c-) )t10(Sine)t(y t4 d-)
t4t5 tee)t(u
EET-305 Kontrol Sistemleri
8
Uygulama 4:
Aşağıdaki statik sistemlerin birim basamak, birim rampa, t3e2)t(x ve )t5cos()t(x girişleri için
cevaplarını bularak grafiklerini çizen bir MATLAB programı yazınız. Sistemlerin kararlı olup olmadığını
belirleyiniz.
a-) )t(xe)t(y t2 b-) )t(tx2)t(y c-) )t(x)t10(Sin)t(y
Uygulama 5:
Aşağıdaki dinamik sistemlerin birim basamak ve birim rampa cevaplarını bularak grafiklerini çizen bir
MATLAB programı yazınız. Sistemlerin kararlı olup olmadığını belirleyiniz.
a-) )t(x10dt
)t(dyyadadt)t(x10)t(y
t
0
b-) )t(x10)t(y2dt
)t(dy
Uygulama 6:
Aşağıdaki dinamik sistemin a=1, 2, 4 ve 10 için ayrı ayrı olmak üzere birim basamak ve birim rampa
cevaplarını bularak grafiklerini çizen bir MATLAB programı yazınız. Sistemin kararlı olup olmadığını
belirleyiniz. Sistemi aşırı, kritik ve düşük sönüm davranışına göre değerlendiriniz. NOT: Sembolik toolbox
kullanınız.
0)0('y,0)0(y,)t(x4y5dt
)t(dya
dt
)t(yd2
2
EET-305 Kontrol Sistemleri
9
Deney No: 3
MATLAB KONTROL SİSTEMLERİ TOOLBOX’IN KULLANIMI-I
A-) Amaç: MATLAB’ ın Kontrol Sistemleri Toolbox’ ını kullanarak transfer fonksiyonu ve durum denklemi ile
modellenen sistemleri birbirine dönüştürmek ve bu sistemlerin çeşitli giriş sinyalleri için cevabını incelemek.
B-) Deneye / Uygulamaya Hazırlık
Doğrusal ve zamanla değişmeyen sistemlerin matematiksel modelleri; diferansiyel denklemler, transfer
fonksiyonları ya da durum denklemi düzeninde elde edilebilir. Ancak, kontrol sistemlerinin analiz ve
tasarımında transfer fonksiyonu gösterimi önemli kolaylıklar sağlar. MATLAB kontrol sistemleri toolbox’ ında
transfer fonksiyonlarının bir gösterim biçiminden diğer gösterim biçimine dönüşümünü ve durum denklemleri
ile dönüşümünü sağlayan fonksiyonlar mevcuttur. Ayrıca, transfer fonksiyonu ve durum denklemi ile
modellenen sistemlerin basamak, impuls ve çeşitli giriş sinyalleri için cevabını bulan fonksiyonları da
bulunmaktadır.
1) Polinom Gösterim Biçimi: Transfer fonksiyonunun pay ve paydası, Laplace değişkeni s’ in azalan
polinomları olarak verilir.
011n
1nn
011m
1mm
m
asa....sas
bsb....sbsb
)s(U
)s(Y)s(G
2) Kutup - Sıfır Kazanç Gösterim Biçimi: Polinomlar çarpanlarına ayrılabilir. Burada mzzz ...., ,21 sistemin
sıfırlarını, nppp ,...., 21 sistemin kutuplarını ve K kazanç katsayısını göstermektedir.
)ps).....(ps)(ps(
)zs).....(zs)(zs(K)s(G
n21
m21
3) Kısmi Kesirli Gösterim: Transfer fonksiyonları basit kesirlerine ayrılmış hale getirilebilir.
)s(r)ps(
k.....
)ps(
k
)ps(
k)s(G
n
n
2
2
1
1
4) Durum Denklemleri: Durum değişkenlerine göre zaman bölgesinde yazılan matrissel formdaki
denklemlerdir. Matrissel formda durum denklemi,
)t(Du)t(Cx)t(y,)t(Bu)t(Ax)t(x
olarak yazılır. Burada A,B, C, D katsayı matrisleridir. Aşağıda, açık halde yazılmış 3. Dereceden bir durum
denklemi verilmiştir.
u
6
0
0
x
x
x
6116
102
410
x
x
x
3
2
1
'3
'2
'1
3
2
1
x
x
x
501y
MATLAB Kontrol Toolbox Fonksiyonları:
residue: Polinomlar oranı şeklinde verilen bir transfer fonksiyonunu kısmi kesirlere ayırır. Pay polinomunun
katsayıları num, payda polinomunun katsayıları den olmak üzere genel kullanım biçimi:
[k, p, r ] = residue (num,den)
EET-305 Kontrol Sistemleri
10
Burada k- basit kesirlerin katsayılarını, p-kutupları ve r ise kalan terimi göstermektedir.
tf2zp: Polinom biçimi transfer fonksiyonundan sıfır-kutup-kazanç biçimi transfer fonksiyonuna geçişi sağlar.
Genel kullanım biçimi:
[z, p, K] = tf2zp (num, den)
zp2tf: sıfır-kutup-kazanç biçimi transfer fonksiyonundan polinom biçimi transfer fonksiyonu dönüşümünü
sağlar. Genel kullanım biçimi:
[num, den] = zp2tf (z, p, K)
zp2ss: Sıfır-kutup-kazanç biçimi transfer fonksiyonundan durum uzayı denklemlerine dönüşümü sağlar. Genel
kullanım biçimi:
[a, b, c, d] = zp2ss (z, p, K)
ss2zp: Durum uzayı denklemlerinden, sıfır kutup biçimi transfer fonksiyonuna geçişi sağlar. Genel kullanım
biçimi:
[z, p, k] = ss2zp (a, b, c, d, iu)
Burada iu: giriş sayısıdır.
tf2ss: Polinom biçimi transfer fonksiyonundan durum uzayı denklem biçimine geçişi sağlar. Genel kullanım
biçimi:
[a, b, c, d] = tf2ss (num, den)
Zaman bölgesi cevabını bulma: Bir sistemin, basamak, impuls ya da herhangi bir giriş sinyali için zaman
bölgesinde çıkış cevabını bulan MATLAB Kontrol toolbox fonksiyonları da mevcuttur.
step: Sistemin birim basamak cevabını verir. Genel kullanım biçimleri:
[y, x, t] = step (num, den)
[y, x, t] = step (num, den, t)
[y, x, t] = step (a, b, c, d, iu)
[y, x, t]= step (a, b, c, d, iu, t)
impulse: Sistemlerin ani darbe (impuls) cevabını verir. Genel kullanım biçimleri step fonksiyonu ile aynıdır.
lsim: Bazı durumlarda sistemlerin basamak veya ani darbe cevabı dışında kalan herhangi bir giriş karşısında
gösterdiği dinamik davranışın incelenmesi de gerekebilir. Sürekli-zaman sistemlerde uygulanan keyfi girişler
için lsim fonksiyonu kullanılır.
[y, x] = lsim (a, b, c, d, u, t) Burada u: tanımlanan giriş sinyalidir.
[y, x] = lsim (a, b, c, d, u, x0, t) Burada x0: başlangıç koşullarıdır.
[y, x] = lsim (num, den, u, t)
EET-305 Kontrol Sistemleri
11
C-) Deneysel / Uygulama Çalışmaları
Yukarıda verilen MATLAB fonksiyonlarından yararlanarak aşağıdaki uygulamaların programını yazarak
Laboratuvar çalışmasına geliniz.
Uygulama 1:
Transfer fonksiyonu verilen doğrusal ve zamanla değişmeyen sistemin (Örnek 1.7)
2s
10)s(G
MATLAB Kontrol Toolbox Fonksiyonlarını kullanarak birim basamak, birim impulse, birim rampa ve tetu 2)( giriş sinyali için cevaplarını bularak grafiklerini çizdiriniz. Sistemin cevabını, zaman sabitesi, kalıcı
durum kazancı ve kararlılık vs. açısından inceleyiniz.
Uygulama 2:
Transfer fonksiyonu verilen doğrusal ve zamanla değişmeyen sistemin (Örnek 1.8)
5kss
4)s(G
2
MATLAB Kontrol Toolbox Fonksiyonlarını kullanarak birim basamak, birim impulse, birim rampa ve
)t2sin()t(u giriş sinyali için cevaplarını k=2, 10 için bularak grafiklerini çizdiriniz. Sistemin cevabını,
sönüm, kalıcı durum kazancı ve kararlılık vs. açısından inceleyiniz.
Uygulama 3:
Uygulama 2 de verilen sistemi, durum denklemine dönüştürerek aynı girişler için cevabını tekrar buldurarak
grafiklerini çizdiriniz. Grafikleri Uygulama 2 grafikleri ile karşılaştırınız. Farklılık varsa nedenlerini açıklayınız.
Uygulama 4:
Transfer fonksiyonu verilen doğrusal ve zamanla değişmeyen sistemlerin
2s
1)s(G
4s
s)s(G
2
5s2s
)2s(5.2)s(G
2
Birim basamak ve birim impulse cevaplarını bularak grafiklerini çizdiriniz. Sistemin cevabını sönüm, kalıcı
durum kazancı ve kararlılık vs. açısından inceleyiniz.
EET-305 Kontrol Sistemleri
12
Deney No: 4
MATLAB KONTROL SİSTEMLERİ TOOLBOX’IN KULLANIMI-II
A-) Amaç: MATLAB’ ın Kontrol Sistemleri Toolbox’ ını kullanarak blok şemaları indirgemek ve indirgenmiş
kontrol sistemlerinin çeşitli giriş sinyalleri için cevabını incelemek.
B-) Deneye / Uygulamaya Hazırlık
Blok ve sinyal akış şemalarının indirgenmesi için ders kitabına bakılabilir.
MATLAB Kontrol Toolbox Fonksiyonları:
series: Seri bağlı iki adet blok veya sistemi tek bir bloğa indirger. Genel kullanım biçimi:
[num,den]=series (n1,d1,n2,d2)
Seri blokların transfer fonksiyonlarının pay ve payda polinomları, n1,d1 ve
n2, d2 olarak girilmelidir. Seri bağlantı sonucunda elde edilen transfer fonksiyonunun pay ve payda
polinomaları ise num, den dir.
Eğer seri blokların transfer fonksiyonları yerine durum denklemleri belirli ise seri blokların katsayı matrisleri
sıra ile a1,b1,c1,d1 ve a2,b2,c2,d2 olarak girilmelidir.
[a, b, c, d]=series (a1,b1,c1,d1,a2,b2,c2,d2)
Seri bağlantı sonucunda elde edilen durum denkleminin katsayı matrisleri ise a,b,c,d dir.
parallel: Paralel bağlı iki adet blok veya sistemi tek bir bloğa indirger. Kullanım biçimi series ile aynıdır.
feedback: İleri besleme ve geri besleme modelleri verilen sistemlerin kapalı çevrim (geri beslemeli) kontrol
sisteminin indirgenmiş modelini verir. Yukarıdaki fonksiyonlara benzer şekilde transfer fonksiyonu ya da
durum denklemi modelleri kullanılabilir. Genel kullanım biçimleri:
Transfer fonksiyonu ve durum denklemi modelleri için sıra ile negatif geri besleme durumunda,
[num,den]=feedback (n1,d1,n2,d2) ya da [num,den]=feedback (n1,d1,n2,d2,-1)
[a, b, c, d]=feedback (a1,b1,c1,d1,a2,b2,c2,d2)
ve pozitif geri besleme durumunda +1 işareti kullanılmalıdır.
MATLAB kontrol sistemleri toolbox fonksiyonlarının diğer bir kullanım şekli de nesne model olarak
tanımlanan sistemlere uygulanışıdır. Pay ve payda polinomları verilen bir transfer fonksiyonunun nesne modeli,
G=tf (num,den)
Kutup-sıfır ve kazanç düzeninde verilen bir transfer fonksiyonunun nesne modeli,
G=zpk (z,p,K)
Durum denklemi verilen bir sistemin yine durum denklemi düzenindeki nesne modeli,
sys=ss (a,b,c,d)
olarak elde edilebilir.
EET-305 Kontrol Sistemleri
13
Nesne modelleri üzerinde de diğer MATLAB fonksiyonları uygulanabilir. Örneğin, G1 ve G2 gibi 2 adet nesne
modeli elde edilmiş olsun.
Ga=series (G1,G2)
Gb=parallel (G1,G2)
Gc=feedback (G1,G2)
yazılarak indirgenmiş sistemin nesne modelleri elde edilebilir. Diğer taraftan nesne modellerin de kökleri,
kararlılığı, çeşitli giriş sinyalleri için cevabı elde edilebilir.
pole (G1) ya da kokler=pole (G1)
ile kökleri (kutupları) bulunabilir.
isstable (G1) ya da x= isstable (G1)
kararlı olup olmadığı (kararlı ise x=1 karasız ise x=0) belirlenebilir.
step (G1) ya da [y,t]=step(G1)
basamak cevabı bulunabilir. Benzer şekilde impulse ve lsim fonksiyonları da nesne modellerde kullanılabilir.
C-) Deneysel / Uygulama Çalışmaları
Yukarıda verilen MATLAB fonksiyonlarından yararlanarak aşağıdaki uygulamaların programını yazarak
Laboratuvar çalışmasına geliniz.
Uygulama 1:
Negatif geri beslemeli kapalı çevrim bir kontrol sisteminde ileri besleme transfer fonksiyonu 1s
6)s(G
ve
geri besleme transfer fonksiyonu 4s
1)s(H
olarak verilmiş olsun. Kapalı çevrim kontrol sistemini
indirgeyiniz ve birim basamak cevabını bularak grafiğini çizen ve kararlılığını belirleyen bir MATLAB
programı yazınız.
Uygulama 2:
Uygulama 1 deki modelleri, nesne modellere çevirerek kapalı çevrim kontrol sistemini indirgeyiniz ve birim
basamak cevabını bularak grafiğini çizen bir MATLAB programı yazınız.
Uygulama 3:
Negatif birim geri beslemeli kapalı çevrim bir kontrol sisteminde kontrol edilen sistem 1s
1)s(Gp
ve önüne seri bağlanacak kontrolör s
)67.6s(15)s(Gc
olarak verilmiş olsun. Kapalı çevrim kontrol
sisteminin birim basamak cevabını bularak grafiğini çizen ve kararlılığını belirleyen bir MATLAB programı
yazınız.
EET-305 Kontrol Sistemleri
14
Uygulama 4:
Uygulama 3 deki modelleri, nesne modellere çevirerek kapalı çevrim kontrol sistemini indirgeyiniz ve birim
basamak cevabını bularak grafiğini çizen bir MATLAB programı yazınız.
Uygulama 5:
Verilen durum denklemlerinin tek tek impuls cevaplarını bulunuz ve iki sistemi seri bağlayarak toplam cevabı
çizdiriniz.
u
x
x
x
x
x
x
3
0
1
421
102
010
3
2
1
'
3
'
2
'
1
3
2
1
1
x
x
x
511y
u
0
4
2
x
x
x
211
201
001
x
x
x
3
2
1
'3
'2
'1
u10
x
x
x
120y
3
2
1
2
Uygulama 6:
Uygulama 5 de verilen durum denklemlerini paralel bağlayarak indirgediğiniz sistemin impuls cevabını bularak
çizdiriniz ve uygulama 5 deki cevap ile karşılaştırınız.
Uygulama 7:
Uygulama 5 de verilen durum denklemlerini nesne modele çevirdikten sonra paralel bağlayarak indirgediğiniz
sistemin impuls cevabını bularak çizdiriniz ve uygulama 5 deki cevap ile karşılaştırınız..
Uygulama 8:
Yukarıda kullanımı anlatılan ancak uygulamalarda kullanılmayan fonksiyonlar için birer örnek uygulama
yapınız.
EET-305 Kontrol Sistemleri
15
Deney No: 5
MATLAB / SIMULINK PROGRAMI
A-) Amaç: MATLAB/Simulink Programını kullanarak kontrol sistemlerinin için blok şema çizimlerini yapabilmek ve çeşitli giriş sinyalleri için kontrol sisteminin cevabını incelemek.
B-) Deneye / Uygulamaya Hazırlık
SIMULINK; MATLAB programı (*.m dosyası) yazarak bir dinamik sistemin cevabının bulunması ve blok şemalarının fonksiyonlarla indirgenerek kontrol sisteminin incelenmesi yerine doğrudan blok şemalar ile kontrol sistemi çizilerek analizini sağlayan bir programdır. MATLAB/SIMULINK ortamına geçmek için komut satırından,
>> simulink
yazılmalı ya da Simulink düğmesi tıklanmalıdır. Simulink ortamında temel simulink blok kütüphaneleri ile birlikte çok sayıda toolbox blok kütüphaneleri mevcuttur. Temel simulink blok kütüphanelerinden ilk aşamada Continuous, Sinks, Sources, Math Operations kütüphaneleri önemlidir.
Yeni bir Simulink dosyası oluşturmak için SIMULINK den File-New seçilerek boş bir simulink ortamı açılmalıdır. Bu boş ortamda Simulink ile bir kontrol sisteminin blok şemasını oluşturmak için yukarıdaki şekilde görülen kütüphane blokları seçildikten sonra içeriğindeki ilgili bloklar sürüklenerek taşınmalı ve bağlantıları yapılmalıdır. Şekilde Continuous, Sinks, Sources kütüphanelerinden taşınan bloklarla bir transfer fonksiyonunun basamak cevabının osilaskopta incelenmesi çizilmiştir.
EET-305 Kontrol Sistemleri
16
Kontrol sistemi kurulduktan sonra dosyaya isim verilerek kaydedilebilir. Kurulan model, Simulation- start ile çalıştırılır. Bazı önemli blok kütüphaneleri ve bloklar aşağıda verilmiştir.
Math Operations Kütüphanesi çarpma, bölme, toplama, işaret alma, karekök alma vs. gibi çeşitli artimetiksel operatör bloklarını ihtiva eder.
Continuous kütüphanesi türev, integral, sistemlerin transfer fonksiyonu ve durum denklemi modellerini ihtiva eder.
Sinks kütüphanesi çeşitli osilaskoplar, blok çıkışı, dosya ve MATLAB komut satırına yazma bloklarını ihtiva eder.
EET-305 Kontrol Sistemleri
17
Sources kütüphanesi blok girişi ve çeşitli giriş sinyallerini ihtiva eder.
Örnek olarak, 21 xx CuBxAxx 212 olarak verilen diferansiyel denklem takımı simulinkte
aşağıdaki gibi modellenebilir.
EET-305 Kontrol Sistemleri
18
C-) Deneysel / Uygulama Çalışmaları
Uygulama 1:
Negatif geri beslemeli kapalı çevrim bir kontrol sisteminde ileri besleme transfer fonksiyonu 1s
6)s(G
ve
geri besleme transfer fonksiyonu 4s
1)s(H
olarak verilmiş olsun. Kontrol sisteminin Simulink blok şemasını
oluşturarak birim basamak, birim rampa vs. girişler için cevabını inceleyiniz.
Uygulama 2:
Negatif birim geri beslemeli kapalı çevrim bir kontrol sisteminde kontrol edilen sistem 1s
1)s(Gp
ve
önüne seri bağlanacak kontrolör s
)67.6s(15)s(Gc
olarak verilmiş olsun. Kontrol sisteminin Simulink blok
şemasını oluşturarak birim basamak, birim rampa vs. girişler için cevabını inceleyiniz.
Uygulama 3:
Verilen durum denkleminin Simulink blok şemasını oluşturarak birim basamak, birim rampa vs. girişler için cevabını inceleyiniz.
u
3
0
1
x
x
x
421
102
010
x
x
x
3
2
1
'3
'2
'1
3
2
1
1
x
x
x
511y
Uygulama 4:
Yukarıda örnek olarak verilen 21 xx CuBxAxx 212 sisteminin çeşitli A, B ve C değerleri için
simulink blok şemasını çizerek sistemin birim basamak ve birim rampa cevaplarını inceleyiniz.
EET-305 Kontrol Sistemleri
19
Deney No: 6
KONTROL SİSTEMLERİNİN ZAMAN BÖLGESİ KARAKTERİSTİKLERİ
VE PID KONTROLÖR TASARIM ESASLARI
A-) Amaç: MATLAB kontrol sistemleri toolbox’ ın komut ve fonksiyonlarını ya da MATLAB/Simulink’ i kullanarak kontrol sistemlerinin zaman bölgesi karakteristiklerini incelemek ve P-I-D kontrol etkilerini ve PID kontrolör tasarım esaslarını belirlemek.
B-) Deneye / Uygulamaya Hazırlık
Bu deneyde yapılacak uygulamalarda aşağıdaki kontrol sisteminin blok şeması esas alınarak incelemeler yapılacaktır. Burada, )s(Gp - kontrol edilecek sistemi )s(Gc - kontrolörü ve )s(H ise geri besleme birimini
(algılayıcıyı) göstermektedir.
(a)
R(s) Y(s)
H(s)
+
-
Gp(s)E(s)
(b)
R(s) E(s) Y(s)Gc(s)
H(s)
+
-
Gp(s)U(s)
Kontrol sistemlerinin zaman bölgesi karakteristikleri ve PID kontrolör tasarım esasları ile ilgili ayrıntılı teorik bilgi için ders kitabına bakılabilir.
MATLAB Kontrol Toolbox Fonksiyonları:
Önceki uygulamalarda verilen MATLAB kontrol toolbox komut ve fonksiyonları ya da MATLAB/Simulink, bu deneydeki uygulamaları yapmak için yeterlidir.
C-) Deneysel / Uygulama Çalışmaları
Aşağıdaki uygulamaların bir tanesini (örneğin uygulama 1) hem MATLAB/kontrol toolbox komutları
ile hem de simulink ile inceleyiniz. Diğerlerini sadece Simulink ile inceleyebilirsiniz.
Uygulama 1:
Şekil (a) da verilen kapalı çevrim kontrol sisteminde 4s
3)s(G
ve 1)s(H olarak verilmiş olsun.
a-) Sistemin zaman sabitesi, cevabın ilk ve son değerleri, sistemin tipi ve kalıcı durum hatası gibi parametrelerini belirleyerek birim basamak, birim impuls ve birim rampa cevaplarını yaklaşık olarak çiziniz.
b-) Hem MATLAB/kontrol toolbox komutları ile hem de simulink ile temel test girişleri için cevaplarının grafiğini çizdirerek (a) şıkkı ile karşılaştırınız.
EET-305 Kontrol Sistemleri
20
Uygulama 2:
Şekil (a) da verilen kapalı çevrim kontrol sisteminde 1kss
4)s(G
2 ve 1)s(H olarak verilmiş olsun.
a-) k=2 için sistemin sönüm oranı ve doğal frekansı, cevabın ilk ve son değerleri, sistemin tipi ve kalıcı durum hatası, maksimum aşma, yerleşme ve yükselme süreleri vs. gibi parametrelerini belirleyerek birim basamak, birim impuls ve birim rampa cevaplarını yaklaşık olarak çiziniz.
b-) k=6 için (a) şıkkındaki incelemeleri yaparak değerlendiriniz.
c-) MATLAB/simulink ile temel test girişleri için cevaplarının grafiğini çizdirerek (a) şıkkı ile karşılaştırınız
Uygulama 3:
Uygulama 2 (a) ve (c) deki çalışmaları s6s
25)s(G
2 sistemi için tekrarlayınız.
Uygulama 4:
Uygulama 2 (a) ve (c) deki çalışmaları s5.0
1)s(G ve
1s
1)s(H
sistemi için tekrarlayınız. Algılayıcının giriş
ve çıkış sinyallerini ölçerek etkisini değerlendiriniz.
Uygulama 5:
Yukarıdaki uygulamalarda verilen sistemler, Şekil (b) deki gibi sisteme seri bir kontrolör bağlanarak basamak girişler için kalıcı durum hatası olmayacak ve ayrıca sönüm oranları 6.0 ve doğal frekansı 8wn olacak
şekilde kontrol edilecektir. Yukarıdaki her bir uygulama için ayrı ayrı olmak üzere,
a-) Sistemlere hangi kontrolörü ( PI, PD ya da PID) bağlamak gerekir.
b-) Bağlayacağınız kontrolörü tasarlayarak kontrol sisteminin birim basamak cevabını MATLAB/simulink ile çizdiriniz.
c-) İstediğiniz cevap elde edilemiyorsa nedenlerini ve çözüm yolunu açıklayınız.
EET-305 Kontrol Sistemleri
21
Deney No: 7
KÖKLERİN YER EĞRİSİ ANALİZİ VE KONTROL SİSTEMİ TASARIMI
A-) Amaç: MATLAB’ ın kontrol sistemleri toolbox’ ının rlocus fonksiyonunu kullanarak köklerin yer eğrisini çizdirmek ve kontrol sistemlerinin KYE’ ni inceleyerek KYE’ nin kontrol sistemlerinin tasarımındaki etkinliğini belirlemek.
B-) Deneye / Uygulamaya Hazırlık
Köklerin yer eğrisi analiz ve tasarımı için ders kitabına bakılabilir.
MATLAB Kontrol Toolbox Fonksiyonları:
rlocus: Kapalı çevrim kontrol sisteminin açık çevrim transfer fonksiyonunda kazanç çarpanı durumunda olan bir parametre ya da kazanç değişimine göre kapalı çevrim sistemin kutuplarının nasıl değiştiğinin eğrisini yani köklerin yer eğrisini çizer. Dolayısıyla, köklerin yer eğrisi, bir sistemin oransal kontrolör ile nasıl kontrol edilebileceğini de göstermiş olur.
Genel kullanım biçimleri:
rlocus (num,den) : Açık çevrim transfer fonksiyonun pay ve payda polinomları sıra ile num ve den olarak verilen sistemin köklerin yer eğrisini çizer.
rlocus (num,den,K) :Kullanıcının belirlediği K kazanç vektörünün değerlerine göre köklerin yer eğrisini çizer.
[kokler,kazanclar]=rlocus (num,den) : Köklerin yer eğrisini çizmek yerine sayısal değerler olarak bulduğu kökleri ve karşılık gelen kazanç değerlerinin verir.
rlocus (a,b,c,d) : Durum denklemi modeli verilen sistemin köklerin yer eğrisini çizer.
rlocus (sys) : Nesne modeli verilen sistemin köklerin yer eğrisini çizer. Burada nesne modeli sys,
önceden açıklanan sys=tf (num,den) ya da sys=ss (a,b,c,d) fonksiyonları ile elde edilmiş olabilir
C-) Deneysel / Uygulama Çalışmaları
Uygulama 1:
Açık çevrim transfer fonksiyonu verilen sistemlerin köklerin yer eğrisini K>0 ve K<0 için ayrı ayrı çizdirerek inceleyiniz. Elde ettiğiniz KYE’ ne göre bu sistemlerini oransal bir kontrolör ile arzu ettiğiniz gibi (örneğin
10w,8.0 n olsun) kontrol edebilir misiniz? Değilse neden?
)4s(s
1)s(H)s(G
,
)4s(s
10s)s(H)s(G
EET-305 Kontrol Sistemleri
22
Uygulama 2:
Açık çevrim transfer fonksiyonu verilen sistemlerin köklerin yer eğrisini K>0 ve K<0 için ayrı ayrı çizdirerek inceleyiniz. (Örnek 6.4 ve Örnek 6.5). Elde ettiğiniz KYE’ ne göre bu sistemlerini oransal
bir kontrolör ile arzu ettiğiniz gibi (örneğin 10w,8.0 n olsun) kontrol edebilir misiniz? Değilse neden?
)5s2s)(10s(
6s)s(H)s(G
2
,
)4s)(2s(s
1)s(H)s(G
Uygulama 3:
Uygulama 1 deki sistemlere seri bağlı ve kutup-sıfırlarının yerinin sizin belirlediğiniz PD, PI ve PID kontrolörler bağlayarak (Örnek 6.9-6.12 ye benzer şekilde) köklerin yer eğrisini çizdiriniz ve kontrolörlerin etkilerini inceleyiniz.
Uygulama 4:
Örnek 7.1 ve 7.2 de, aşağıdaki sistem için PD ve FİK tasarımı verilmiştir.
a-) Tasarlanan kontrolörler ile sistemin cevabını çizdirerek inceleyiniz.
b-) Ayrıca bu sistemde, rampa giriş için kalıcı durum hatasının Kv,0ess ya da en azından
100Kv,01.0ess olması istenmektedir. Tasarlanan PD ve FİK dan sonra bir PI ve FGK bağlayarak sistemin
rampa cevabını inceleyiniz.
)4s(s
1)s(H)s(G
Uygulama 5:
Örnek 7.3 ve 7.4 de, aşağıdaki sistem için PI ve FGK tasarımı verilmiştir. Tasarlanan kontrolörler ile sistemin cevabını çizdirerek inceleyiniz.
)4s(s
1s)s(H)s(G
EET-305 Kontrol Sistemleri
23
Deney No: 8
FREKANS CEVABI ANALİZİ VE KONTROL SİSTEMİ TASARIMI
A-) Amaç: MATLAB’ ın kontrol sistemleri toolbox’ ının bode, nyquist ve nichols fonksiyonunu kullanarak frekans cevaplarını çizdirmek ve kontrol sistemlerinin frekans cevapları inceleyerek bode frekans cevabı eğrilerinin kontrol sistemlerinin tasarımındaki etkinliğini belirlemek.
B-) Deneye / Uygulamaya Hazırlık
Frekans cevabı analizi ve kontol sistemi tasarımı için ders kitabına bakılabilir.
MATLAB Kontrol Toolbox Fonksiyonları:
bode: Bir sistemin, logaritmik frekans değişimine göre logaritmik genlik ve faz cevaplarını çizer.
Genel kullanım biçimleri:
bode (num,den) : Bir transfer fonksiyonun pay ve payda polinomları sıra ile num ve den olarak verilen bode frekans cevap eğrilerini çizer.
bode (num,den,W) :Kullanıcının belirlediği W frekans vektörünün değerlerine göre bode frekans cevap eğrilerini çizer.
[genlik,faz]=bode (num,den) : Bode eğrilerini çizmek yerine sayısal değerler olarak bulduğu genlik (mutlak genlik) ve faz (derece) değerlerini verir.
bode (a,b,c,d) : Durum denklemi modeli verilen sistemin bode cevaplarını çizer.
bode (sys) : Nesne modeli verilen sistemin bode frekans cevaplarını çizer. Burada nesne modeli sys,
önceden açıklanan sys=tf (num,den) ya da sys=ss (a,b,c,d) fonksiyonları ile elde edilmiş olabilir.
Yukarıdaki MATLAB fonksiyonlarında bode yerine nichols kullanılırsa sistemlerin nichols (faza göre genlik) cevapları elde edilir.
Yukarıdaki MATLAB fonksiyonlarında bode yerine nyquist kullanılırsa sistemlerin nyquist (kutupsal) frekans cevapları elde edilir. Bu durumda,
[reel,sanal]=nyquist (num,den) : Kutupsal eğrileri çizmek yerine sayısal değerler olarak bulduğu kutupsal vektörlerin reel ve sanal bileşen değerlerini verir.
EET-305 Kontrol Sistemleri
24
C-) Deneysel / Uygulama Çalışmaları
Uygulama 1:
Açık çevrim transfer fonksiyonu verilen sistemlerin her biri için,
a-) bode, nyquist ve nichols frekans cevabı eğrilerini çizdiriniz.
b-) Faz ve kazanç marjınlarını ve dolayısıyla kararlı olup olmadıklarını belirleyiniz.
5s6s
10s)s(H)s(G
2
,
)10s(s
)1s(100)s(H)s(G
,
)10s(s
10)s(H)s(G
2
Uygulama 2:
Örnek 10.1 ve 10.3 de, aşağıdaki sistem için bode eğrileri kullanılarak geçici rejim kontrol kriterlerini geliştirmek amacıyla PD ve FİK tasarlanmıştır. Sistemin ve tasarlanan kontrolörlerle birlikte kontrol sisteminin bode cevaplarını çizdirerek faz ve kazanç marjınları açısından inceleyiniz.
)4s(s
1)s(H)s(G
Uygulama 3:
Örnek 10.6 ve 10.7 de, aşağıdaki sistem için bode eğrileri kullanılarak kalıcı durum kontrol kriterlerini geliştirmek amacıyla PI ve FGK tasarlanmıştır. Sistemin ve tasarlanan kontrolörlerle birlikte kontrol sisteminin bode cevaplarını çizdirerek kalıcı durum kazançları açısından inceleyiniz.
)4s(s
)8s(5)s(H)s(G