Transcript PID 02 - Mavi Egitim
Slide 1
Serhat YILMAZ, [email protected]
Slide 2
9.PID DENETLEYİCİ TASARIMI
Bu kısımda, uygulamalarda yaygın olarak kullanılan üç terimli
denetleyicinin (PID: Proportional+Integral+Derivative) yapısı ve PID
ile denetim sisteminin nasıl tasarlanabileceği açıklanacaktır.
Oransal(P),integral(I) ve türev(D) denetimlerinin her birinin
karakteristikleri ve istenen cevabı elde etmek için nasıl
kullanılacakları gösterilecektir. Aşağıdaki birim geribildirimli sistemi
ele alalım. (http://www.engin.umich.edu/group/ctm/)
R
+
e
Denetleyici
u
Model
Y
-
Şekil.9.1. Geribildirimli Sistem
e; hata işareti, u; Etkiyen işaret, Model; Kontrol edilen bir sistem,
Denetleyici; Modelin uyarılmasını sağlar,bütün sistem davranışını
denetlemek için tasarlanmıştır
Serhat YILMAZ, [email protected]
Slide 3
9.1 Üç Terimli Denetim
PID denetleyicinin transfer fonksiyonu aşağıdaki gibidir.
Kp
Kı
s
Kd .s Kp .s K ı
2
Kd .s
s
Kp: Oransal kazanç
Kı: İntegral kazanç
Kd: Türevsel kazanç
Serhat YILMAZ, [email protected]
Slide 4
Yukarıdaki şemaya göre PID denetleyici kapalı bir sistemde nasıl
çalışır görelim.Değişken(e),izleme hatasını temsil eder,istenen
değer(R) ile gerçek çıkış(Y) arasındaki farktır.Hata sinyali(e) PID
denetleyiciye gönderilir PID denetleyici bu hatanın hem integralini
hemde türevini hesaplar.Şimdi kontrolörden çıkan (u) etkiyen
işareti,hatanın büyüklüğünün (Kp) oransal kazancı katı artı,hatanın
türevinin (Kd) katı artı hatanın integralinin (Kı) katına eşittir.
u Kp .e K ı edt Kd .
de
dt
Bu (u) işareti modele gönderilir ve yeni çıkış (Y) işareti elde edilir. Bu
yeni çıkış işareti(Y) algılayıcıya tekrar geri gönderilir, böylece yeni
hata sinyali(e) bulunur. Denetleyici yeni hata işaretini alır, integral ve
türev değerlerini hesaplar. Bu işlem böyle sürer gider.
Serhat YILMAZ, [email protected]
Slide 5
9.2 P,I ve D Denetleyicilerinin Karakteristikleri
Bir
oransal
denetleyici(Kp),yükselme
zamanını
azaltmada etkili olur ama,kalıcı durum hatasını hiçbir
zaman ortadan kaldıramaz.
Bir integral denetleyici(Ki),kalıcı dutum hatasını ortadan
kaldırmada etkili olur ama geçici cevabı daha kötü
yapabilir.
Bir
türevsel
denetleyici(Kd),sistem
kararlılığının
artmasında,aşmanın azalmasında ve geçici cevabın
düzelmesinde etkili olur.
Her bir denetleyicinin (Kp,Kd,Ki) kapalı döngülü bir
sisteme etkisi,aşağıdaki tabloda özetlenmiştir.
Serhat YILMAZ, [email protected]
Slide 6
Tablo.9.1. PID Denetleyicilerinin Karakteristikleri.
(http://www.engin.umich.edu/group/ctm/)
Kp,Ki,Kd birbirlerine bağımlı olduğu için bu bağıntılar tam kesin doğru
olmayabilir.
Birindeki değişme diğer ikisini etkileyebilir.
Bu sebepten dolayı yukarıda verilen tablo sadece Ki,Kp,Kd değerlerini
belirlerken bir tahmin referansı olarak kullanılmalıdır.
Serhat YILMAZ, [email protected]
Slide 7
9.3 PID Parametrelerinin Hesaplanması
PID kontrolörler, endüstride kullanılan kontrol
türlerinin büyük bir kısmını oluşturur.
Dolaysıyla
PID
kazanç
belirlenmesi ile ilgili çok
yapılmıştır.
parametrelerinin
sayıda çalışma
Bu çalışmada Ziegler–Nichols yöntemi ile öz–
uyarmalı PID parametreleri ayar yöntemi
kullanılmıştır.
Serhat YILMAZ, [email protected]
Slide 8
9.4 PID Katsayılarının Öz-Uyarlamalı Ayarı
Katsayıların öz-uyarlamalı ayarı, kontrolörün kendi
kendine sistem dinamiklerini algılaması ve bu değerlere
göre kendi katsayılarını kendisinin belirlemesi demektir.
Bunun pratikte şu avantajları vardır:
Sistem için en uygun kontrol parametreleri belirlenebilir.
Sistemde oluşacak değişmeleri algılayarak kendini adapte
edebilir.
Kontrolör değerlerini önceden hesaplama işlemine gerek kalmaz.
Kontrolör sadece tek bir sisteme özel kalmaz, pek çok sistem
için kullanılabilir olur.
Serhat YILMAZ, [email protected]
Slide 9
9.5 Ziegler–Nichols Metodu
Ziegler–Nichols metodu PID parametrelerinin
hesaplanmasında en yaygın olarak kullanılan metot
olup sistem modeli gerektirmez.
Bu metot açık çevrim ve kapalı çevirim olmak üzere
ikiye ayrılmaktadır.
Serhat YILMAZ, [email protected]
Slide 10
9.5.1 Açık Çevrim Ziegler–Nichols Metodu
Bu metot birçok sistem için kullanışlıdır. Açık çevrim Ziegler–
Nichols metodunda sistemin ölü zamanı ve maksimum eğimi
hesaplanır. Hesaplanan bu değerler gerekli formüller
kullanılarak PID kontrolör için gereken katsayılar hesaplanır.
Şekil9.2’de ölü zamana sahip birinci dereceden bir sistemin
çıkış grafiği görülmektedir. Bu sisteme ait genel formül şu
şekildedir.
G (s)
Ke
L .S
.s 1
Şekil 9.2’deki eğrideki K ve T değerlerinden faydalanılarak
denklemdeki R olarak ifade edilen değer elde edilir.
Serhat YILMAZ, [email protected]
Slide 11
R
K
T
Şekil.9.2. Birinci dereceden bir sistemin çıkış grafiği
Şekil 9.2’deki değerler kullanılarak Tablo 9.2’deki PID parametreleri
hesaplanır.
Tablo.9.2. Ziegler–Nichols Metodu için Parametrelerin Hesaplanması
Serhat YILMAZ, [email protected]
Slide 12
9.5.2 Kapalı Çevrim Ziegler–Nichols Metodu
Kapalı çevrim Ziegler–Nichols metodu ile sistemin cevap eğrisinin
osilasyona girmesi sağlanır. Şekil 9.3’de sistem çıkışının a
noktasına geldiği noktadaki kazanç değeri osilasyon kazancı(Ku)
olarak ifade edilir ve osilasyon periyodu(Pu) ile kullanılarak gerekli
PID katsayıları Tablo 9.3’deki formüller kullanılarak hesaplanabilir.
Şekil.9.3. Kapalı Çevrim Ziegler – Nichols Metoduna ait Çıkış İşareti
Tablo.9.3. Z.N Yöntemi ile Kapalı Çevrim Kontrol Parametrelerinin Hesabı
Serhat YILMAZ, [email protected]
Slide 13
Örnek.9.1: Basit bir kütle, yay ve sönümleyici problemi düşünelim; Sistem
modelleme denklemi;
..
.
M . x b x k .x F
(9.1)
Modelleme denklemi (9.1)’in Laplace dönüşümü alındığında;
M .s . X ( s ) b .s . X ( s ) k . X ( s ) F ( s )
2
X(s) yer değiştirmesi ile F(s) girişi arasındaki transfer fonksiyonu;
X (s)
1
F (s)
Ms
2
b .s k
‘dır. M=1kg, b=10 N.s/m, k=20 N/m, F(s)=1 N olsun
Yukarıda verilen değerleri transfer
fonksiyonunda yerine yazarsak;
X (s)
F (s)
1
s 10 .s 20
2
Problemin amacı Kp,Ki ve Kd’nin
Daha hızlı yükselme zamanı
En az aşma
Sıfır kalıcı durum hatası , elde etmedeki katkılarını göstermektedir.
Serhat YILMAZ, [email protected]
Slide 14
Açık Çevrim Basamak Cevabı
Yeni bir m-file dosyası oluşturup aşağıdaki
kodları bu dosyanın içine yazalım
pay=1; payda=[ 1 10 20 ];
sistem=tf(pay,payda); step(sistem)
MATLAB daki m-file dosyası derlendiğinde size
yandaki şekli vermelidir.
Modelin DC kazancı 1/20’dir , birim basamak
girişe uygulandığında çıkışın en son değeri
0,05 olabilir.Bu da %95’lik bir kalıcı durum
hatası oluşturur,bu gerçektende büyük bir
değerdir.Dahası ,yükselme zamanı yaklaşık
1sn,oturma zamanı da yaklaşık 1,5sn’dir.
Kalıcı durum hatasını ortadan kaldıracak,
yükselme
zamanını kısaltacak,
yatışma
zamanını azaltacak şekilde denetleyiciyi
yeniden tasarlayalım.
Serhat YILMAZ, [email protected]
Şekil.9.5. Açık Çevrim Basamak yanıtı
Slide 15
Oransal Kontrol
Yukarıdaki tablodan görüldüğü gibi,oransal denetleyici(Kp)
yükselme zamanını kısaltır,aşmayı arttırır ve kalıcı durum hatasını
azaltır.Yukarıdaki sistemin oransal kontrollü kapalı çevrim transfer
Kp
fonksiyonu; X ( s )
F (s)
s 10 .s ( 20 Kp )
2
Kp 300 olsun;
Kp=300;
Contr=Kp;
Sys_cl=feedback(contr*plant,1);
t=0:0.01:2;
step(sys_cl,t)
Şekil.9.6. Kapalı Çevrim Basamak Yanıtı
Yukarıdaki çizim, oransal kontrolün, yükselme zamanını ve kalıcı
durum hatasını azalttığını, aşmaları arttırdığını, oturma zamanını
çok az da olsa düşürdüğünü göstermektedir.
Serhat YILMAZ, [email protected]
Slide 16
Oransal-Türev Denetimi
Şimdi PD denetimine göz atalım.Tabloya göre türevsel
denetleyici(Kd) aşmayı ve oturma zamanını azaltır.Verilen sistemin
PD denetleyici ile birlikte kapalı çevrim transfer fonksiyonu;
X (s)
F (s)
Kp 300 olsun,Kd 10 olsun;
Kd .s Kp
s
2
(10 Kd ). s ( 20 Kp )
Kp=300;
Kd=10; contr=tf([Kd Kp],1);
sys_cl=feedback(contr*plant,1);
t=0:001:2; step(sys_cl,t)
Şekilden, türevsel denetleyicinin
hem yükselme zamanını hem de
kalıcı durum hatasını azalttığını,
aşmayı arttırdığını, oturma
zamanını da küçük
miktar
azalttığını görüyoruz.
Şekil.9.7.
Serhat YILMAZ, [email protected]
Kapalı Ç. Basamak Yanıtı Kp=300,Kd=10
Slide 17
Oransal – İntegral Denetim
PID denetime geçmeden önce, PI denetimine bakalım. Tablodan integral
denetleyicinin (Ki), yükseltme zamanını kısalttığı, aşmayı ve oturma zamanını
attırdığı, kalıcı durum hatasını ortadan kaldırdığı görülmektedir. Verilen
sistemde, PI denetleyicili kapalı çevrim transfer fonksiyonu ;
X (s)
F (s)
Kp .s Ki
s 10 .s ( 20 Kp ). s Ki
3
2
p’yi 30 düşünelim,Ki’de 70 olsun.
Kp=30; Ki=70; contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*plant,1);
t=0:0.01:2; step(sys_cl,t)
Şekil.9.8. Basamak Yanıtı Kp=30,Kd=70
Oransal kazanç(Kp)’yi düşürmemizin nedeni, integral denetleyicinin de ayrıca
oransal denetleyici gibi,yükselme zamanını kısaltmayı ve aşmayı
arttırmasıdır(çifte etki). Yukarıda integral denetleyicinin kalıcı durum hatasını
ortadan kaldırdığı görülmektedir.
Serhat YILMAZ, [email protected]
Slide 18
Oransal-İntegral-Türev Denetimi
Şimdi PID denetleyiciye bir göz atalım.Verilen sistemin PID
denetleyici ile kapalı çevrim transfer fonksiyonu;
X (s)
F (s)
Kd .s
2
Kp .s Ki
s (10 Kd ). s
3
2
( 20 Kp ). s Ki
Birkaç deneme yanılmadan sonra, kazançların Kp=350, Ki=300 ve
Kd=50 olarak seçilmesi istenen cevabı elde etmemizi sağladı.
Kp=350; Ki=300;Kd=50;
contr=tf([Kd Kp Ki],[1 0]);
sys_cl=feedback(contr*plant,1);
t=0:0.01:2;step(sys_cl,t)
Şekil.9.9. Kp=350,Kd=50,Ki=300
Şimdi aşma olmadan,hızlı yükselme zamanı ve kalıcı durum hatasız
Serhat YILMAZ, [email protected]
bir kapalı çevrim sistemi
elde ettik.
Slide 19
9.6.PID Tasarımında Dikkat Edilmesi Gerekenler;
PID tasarlarken istenen cevabı elde etmek için aşağıdaki adımları izleyin;
(http://www.engin.umich.edu/group/ctm/)
1-) Önce sistemin açık çevrim cevabına bakın ve nelerin düzeltilmesi
gerektiğini belirleyin.
2-) Yükselme zamanını iyileştirmek için bir oransal denetim ekleyin.
3-) Aşma(salınımlar)’yı azaltmak için bir türev denetim ekleyin.
4-) Kalıcı durum hatasını kaldırmak için bir integral denetleyici ekleyin.
5-) İyi bir sonuç elde etmek için Kp,Ki ve Kd’yi (tablodaki özelliklere
bakarak) ayarlayın.
Gerekmediği sürece denetleyiciyi mümkün olduğu kadar basit tutmaya
çalışın.Üç denetleyiciyi de her zaman kullanmanız gerekmez.Sadece PI
yeterli cevabı veriyorsa,ayrıca bir türev elemanı katmanıza hiç gerek yok.
Serhat YILMAZ, [email protected]
Slide 20
9.7 PID İle Tasarım Örnekleri
Örnek.9.2. Araç Hız (Cruise)
Kontrol Sisteminde PID
Cruise kontrol problemi için
transfer fonksiyonu;
Y (s)
U (s)
1
.ms b
m=1000
Şe kil.9 .1 0 .A racın S erb est C isim Ş em a sı
http://w w w .eng in .u m ich.edu /gr ou p /ctm /)
b=50
U(s)=10
Y(s)=hız çıkışı
Birim geribildirimli bir sistemin
tipik blok diyagramı aşağıdaki
gibidir
Serhat YILMAZ, [email protected]
Slide 21
R
giriş
+
e
Denetleyici
u
Y
çıkış
Model
-
Şekil.9.11. Birim geribildirimli sistemin blok diyagramı
Bu problem için tasarım şartları: Yükselme zamanı < 5sn,
Aşma < %10
Kalıcı durum hatası < %2 olmalı
2
Kı
Kd .s Kp .s K ı
PID denetleyicinin transfer fonksiyonu: Kp Kd .s
s
s
Önce oransal denetime bir göz atalım;
Oransal Denetim
Öncelikle yapılacak olan Kp oransal kontrollü kapalı çevrim transfer
fonksiyonunu bulmaktır. Blok diyagramı indirgediğimizde, Kp oransal
kontrollü kapalı çevrim transfer fonksiyonu;
Y (s)
U (s)
Serhat YILMAZ, [email protected]
Kp
ms ( b Kp )
Slide 22
PID dersinden hatırlayacağımız
gibi , Kp oransal denetleyicisi,
yükselme zamanını kısaltıyordu.
Bizim istediğimizde zaten buydu.
Kp’yi 100 yapıp cevaba bakalım;
Kp=100; m=1000; b=50;
u=10; num=[1]; den=[m b];
cruise=tf(num,den);
sys_cl=feedback(Kp*cruise,1);
t=0:0.1:20;
step(u*sys_cl,t)
axis([0 20 0 10]) ;
Şe kil.9 .1 2 . B a sa m a k Y a nıtı K p= 1 0 0
(http://www.engin.umich.edu/group/ctm/)
Serhat YILMAZ, [email protected]
Slide 23
Çıkışta hızın 10m/s olması isteniyordu.
Çizimden görüldüğü gibi , ne kalıcı
durum hatası ne de yükselme zamanı
istenen tasarım kriterlerini sağlamıyor.
Sistem çıkışını iyileştirmek için Kp’yi
arttırabiliriz. Kp’yi 10000 yapalım. Kalıcı
durum hatası neredeyse sıfır oldu ve
yükselme zamanı 0,5 sn’nin altına düştü.
Ancak bu cevap gerçekçi değildir. Çünkü
gerçekte hiçbir cruise denetim sistemi
aracın hızını 0’dan 10m/s’ye 0.5 sn den
daha az bir sürede çıkaramaz. Zaten
gerçek sistemlerde kazancı 10.000
yapmak çok zordur.
Şe kil.9 .1 3 . B a sa m a k Y a nıtı K p= 1 0 0 0
Bu problemin çözümü için makul bir
yükselme zamanı sağlayacak bir oransal
kazanç (Kp) uygulanır ve kalıcı durum
hatasını ortadan kaldırmak için de bir
integral denetleyici eklenir.
Serhat YILMAZ, [email protected]
Slide 24
PI Denetim: PI denetleyicili bir cruise kontrol sisteminde
kapalı çevrim transfer fonksiyonu;
Y (s)
U (s)
Kp .s Ki
m .s ( b Kp ). s Ki
2
’idi
Sisteme bir integral eklenmesi, kalıcı
durum hatasını ortadan kaldırıyordu.
Şimdi Kp=600 ve Ki=1 olsun.Sistemin
cevabı ne olacak?
Step Response
10
9
8
7
m=1000; b=50; num=[1]; den=[m b];
cruise=tf(num,den); Kp=600; Ki=1;
contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*cruise,1);
u=10; t=0:0.01:20;
step(u*sys_cl,t); axis([0 20 0 10])
Amplitude
6
5
4
3
2
1
0
0
2
4
6
8
10
Time (sec)
12
14
16
18
Şekil.9.14. PI Kontrol Kp=600,Ki=1
Serhat YILMAZ, [email protected]
20
Slide 25
Oransal kazanç(Kp) ve integral
kazanç(Ki)
ile
oynayarak
istenen cevap elde edilmeye
çalışılır. Büyük Ki değerleri
kararlılığı bozabileceği için
önce küçük Ki değerleriyle
başlayalım.
Kp=800 , Ki=40 alınınca,cevap
aşağıdaki gibi olur.
Görüldüğü gibi,bu basamak
cevabı tüm tasarım kriterlerini
karşılamaktadır.
Şe kil.9 .1 5 . K p= 8 0 0 ,K i= 4 0
Serhat YILMAZ, [email protected]
Slide 26
PID Denetim:
Bu örnek için, türevsel denetime gerek yoktur.
Yeterli çıkış PI ile alınmaktadır. Yine de diğer çalışmalar için PID ile
nasıl çalışıldığını görmek amacıyla bir deneme yapalım. Bu cruise
denetim sistemi için PID denetleyicili kapalı çevrim transfer
fonksiyonu;
Y (s)
U (s)
Kd .s Kp .s Ki
2
( m Kd ). s ( b Kp ). s Ki
2
’ idi.
Kp=600,Ki=1,Kd=1 olsun;
Kp=600; Ki=1; Kd=1; m=1000; b=50; u=10; cruise=tf(num,den);
contr=tf([Kd Kp Ki],[1 0]); t=0:0.01:20; step(u*sys_cl,t); axis([0 20 0
10])
Yukarıdaki kodlar çalıştırıldığında matlab bize PID denetleyicili
sisteminin çıkış yanıtını verecektir. Kp, Kd ve Ki değerlerini
ayarlayarak istediğimiz çıkış yanıtını elde edebiliriz.
Öneri: Uygun kazanç değerlerini bulmak için deneme yanılma
yolunu kullanmalıyız. Kp, Ki ve Kd değişkenlerini teker teker
Serhat YILMAZ, [email protected]
değiştirip çıkışı gözlemleyerek
istenilen çıkış yanıtını elde edebiliriz.
Slide 27
Örnek.9.3.:
Kontrolü
DC
Motor
Hız
rotor eylemsizlik momenti (J) =
0.01 kg.m²/s²
mekanik sistemin sönüm oranı
(b) = 0.1 Nms
Emk sabiti (K=Ke=Kt) =
0.01 Nm/Amp
rezistans (R) = 1 ohm
indüktans (L) = 0.5 H
giriş (V): kaynak voltajı
çıkış(theta): mil durumu
rotor ve milin sert olmadığı kabul
edilir.
Serhat YILMAZ, [email protected]
Slide 28
DC motorun dinamik eşitlikleri ve açık çevrim transfer fonksiyonları
s ( Js b )( s ) KI ( s )
,
( Ls R ) I ( s ) V Ks ( s )
,
V
Sistemin blok şeması;
R
+
e
Denetleyici
u
Model
K
( Js b )( Ls R ) K
2
θ
-
Şekil.9.17. Birim Geribildirimli Blok Diyagram
1 rad/sn’lik basamak girişi için tasarım koşulları;
● Yatışma zamanı 2 sn’den az
● Aşma %5’den az
● Kalıcı durum hatası %1’den az
PID denetleyicimizi tasarlayarak sisteme ekleyelim;
j=0.01; b=0.1; K=0.01; R=1; L=0.5; num=K; den=[(j*L) ((j*R) + (L*b)) ((b*R)+K^2)];
motor=tf(num,den);
Serhat YILMAZ, [email protected]
Slide 29
Oransal Kontrol: Önce kazancı
100 olan oransal denetleyicimizi
kullanmayı deneyelim. Feedback
komutunu kullanarak kapalı çevrim
transfer fonksiyonunu belirledik.
Kp=100; contr=Kp;
sys_cl=feedback(contr*motor,1);
Basamak yanıtımız nasıl olacak onu
görelim;
t=0:0.01:5;
step(sys_cl,t)
title(‘Oransal denetleyicinin
basamak yanıtı’)
Ş ekil.9.18. O ransal D enetleyicinin B asam ak Y anıtı
Serhat YILMAZ, [email protected]
Slide 30
PID Kontrol: Oransal denetleyicili
sistemimizin aşma ve kalıcı durum
hatası çok büyüktür.Sisteme integral
denetimi ekleyerek kalıcı durum
hatasını ve türevsel denetimi
ekleyerek de aşmayı ortadan
kaldırabiliriz.Küçük
Ki
ve
Kd
kazançlı PID denetleyicimizin çıkış
yanıtını görelim.
j=0.01; b=0.1; K=0.01; R=1; L=0.5;
num=K;
den=[(j*L) ((j*R) + (L*b)) ((b*R)+K^2)];
motor=tf(num,den); Kp=100;Ki=1; Kd=1;
contr=tf([ Kd Kp Ki],[1 0]);
sys_cl=feedback(contr*motor,1);
step(sys_cl);
title(‘Küçük Ki ve Kd kazançlı PID
denetleyici’)
Ş ekil.9.19. Küçük Ki ve Kd Kaz ançlı P ID
Serhat YILMAZ, [email protected]
Slide 31
Kazançların
Ayarlanması:
Yatışma zamanı çok uzun olduğu
için Ki kazancımızı arttırarak
oturma zamanını azaltabiliriz.
Ki=200 yaparsak sistemimizin
çıkış yanıtı yandaki gibi olur;
Bu sefer de çıkış yanıtımızın
öncekinden çok daha hızlı
olduğunu
görüyoruz.
Ki
kazancının arttırılması geçici
çıkış yanıtını (aşma) kötüleştirdi.
Kd kazancımızı arttırarak aşmayı
azaltabiliriz.
Ş ekil.9 .2 0 . B ü yü k Ki Kaz an çlı P ID D en etleyici
Kd=10
yaparsak sistemimizin
çıkış yanıtı yandaki gibi olur;
Kp=100,
Ki=200,
Kd=10
değerlerini kullanarak istediğimiz
çıkış
yanıtını
veren
PID
denetleyicimizi tasarlamış oluruz.
Ş ekil.9 .2 1 . P ID D en etle yici
Serhat YILMAZ, [email protected]
Slide 32
Örnek.9.4: DC Motor Konum Kontrolü
* rotor eylemsizlik momenti (J) = 3.2284E-6 kg.m²/s²
* mekanik sistemin sönüm oranı (b) = 3.5077E-6 Nms
* elektromotor kuvvet sabiti (K=Ke=Kt) = 0.0274 Nm/Amp
* rezistans (R) = 4 ohm
* indüktans (L) = 2.75E-6 H
* giriş (V): kaynak voltajı
* çıkış(theta): mil durumu
* rotor ve milin sert olmadığı kabul edilir
Şekil.9.22.DC Motor (http://www.engin.umich.edu/group/ctm/)
Serhat YILMAZ, [email protected]
Slide 33
Bu problemde, DC motorun dinamik eşitliği ve açık döngü transfer
fonksiyonu aşağıdaki gibidir:
R
+
V
K
s (( Js b )( Ls R ) K )
2
u
e
Denetleyici
θ
Model
-
Şekil.9.23.DC Motorun blok şeması
1 rad/sn’lik basamak girişi için tasarım koşulları:
● Yatışma zamanı 0.04 sn’den az ● Aşma %16’dan az ● Kalıcı durum
hatası yok ● Bozucu girişten kaynaklanan kalıcı durum hatası yok
PID denetleyicimizi sisteme adım adım ekleyelim. Öncelikle motor
parametrelerini girelim:
j=3.2284E-6; b=3.5077E-6; K=0.0274; R=4; L=2.75E-6; num=K;
den=[ (j*L) ((j*R) + (L*b)) ((b*R)+K^2) 0 ]; motor=tf(num,den);
Serhat YILMAZ, [email protected]
Slide 34
Oransal
Kontrol:
Önce
kazancı
1.7
olan
oransal
denetleyicimizi
kullanmayı
deneyelim. Feedback komutunu
kullanarak kapalı çevrim transfer
fonksiyonunu belirledik.
Kp=1.7;contr=Kp;
sys_cl=feedback(contr*motor,1);
Ş e kil.9 .2 4 .K p= 1 .7 K a za n çlı B a sa m a k Y a nıtı
Basamak yanıtımız ve basamak
bozucu yanıtı;
t=0:0.001:0.2; step(sys_cl,t);
dist_cl=feedback(motor,contr);
step(dist_cl,t);
Serhat YILMAZ, [email protected]
Şekil.9 .25 .K p=1.7 K azançlı B asam ak B ozucu Y anıtı
Slide 35
PID Kontrol: Kalıcı durum hatası
istediğimiz gibi olmasına rağmen
oturma zamanı ve aşma çok
büyüktür. Bozukluk büyük olduğu
zaman kalıcı durum hatasının ortaya
çıktığını görüyoruz. Sisteme integral
denetimi ekleyerek kalıcı durum
hatasını ve türevsel denetimi
ekleyerek
te
aşmayı
ortadan
kaldırabiliriz.
Öncelikle
PI
denetleyiciyi
kullanarak
bozucu
durum hatasını ortadan kaldırabiliriz.
j=3.2284E-6; b=3.5077E-6;
K=0.0274; R=4;
L=2.75E-6; num=K;
den=[ (j*L) ((j*R) + (L*b))
((b*R)+K^2) 0 ];
motor=tf(num,den);
Kp=1.7;
Ş e kil.9 .2 6.K p=1 .7 ,Ki=20
Ki=20;
contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*motor,1);
t=0:0.001:0.4;
Serhat YILMAZ, [email protected]
step(sys_cl,t)
Kazançlı B asam ak Y anıtı
Slide 36
Aşağıdaki
komutları
programımıza
ekleyerek
basamak bozucu yanıtının
nasıl olduğunu görebiliriz.
figure
dist_cl=feedback(motor,contr);
step(dist_cl,t);
İntegral denetleyicinin kalıcı
durum
hatasını
sıfıra
düşürdüğünü
görüyoruz
(Şekil9.27)
Ş e kil.9 .2 7.K p=1 .7 ,Ki=20 B asam ak B ozucu Y anıtı
Serhat YILMAZ, [email protected]
Slide 37
Kazançların Ayarlanması
Yatışma zamanının çok uzun olduğunu görüyoruz. Çıkış yanıtını
hızlandırmak için kazançları arttıralım. Ki=200 ve Kp=17 olsun.
Ş ekil.9.28.Kp= 17,Ki= 200 Kazan çlı B asam ak Y anıtı
Ş ekil.9 .2 9 .Kp = 1 7 ,Ki= 2 0 0 , B asamak B o zu cu Y an ıtı
Serhat YILMAZ, [email protected]
Slide 38
Çıkış yanıtımızın öncekinden daha hızlı olduğunu görüyoruz. Ki
kazancının arttırılması geçici çıkış yanıtını (aşma) kötüleştirdi.
Sistemimize türevsel denetleyici ekleyerek aşmayı azaltalım.
Kp=17; Ki=200; Kd=0.15; contr=tf([Kp Kd Ki],[1 0]);
sys_cl=feedback(contr*motor,1);
t=0:0.001:0.1; step(sys_cl,t)
Ş ekil.9.30.Kp= 17,Ki= 200,Kd= 0.15 B asam ak Y anıtı
Ş ekil.9.31.Kp= 17,Ki= 200,Kd= 0.15 Kaz ançlı
B asa mak B ozucu Y anıtı
http://w w w .e ng in .u m ic h.e du /gr ou p /c tm /)
Serhat YILMAZ, [email protected]
Slide 39
Basamak yanıtımızın öncekinden çok daha iyi olduğunu
görüyoruz.Aşma %16’dan az,oturma zamanı aşağı yukarı 40ms
ve kalıcı durum hatası sıfır.Ancak basamak bozucu yanıtımızın
çok yavaş olduğunu görüyoruz.Ki kazancını arttırarak bozucu
yanıtını hızlandıralım.Ki=600 olsun.
Ş ekil.9.33.Kp= 17,Ki= 600,Kd= 0.15 B . B ozucu Y anıtı
Ş ekil.9.32.Kp= 17,Ki= 600,Kd= 0.15 B asam ak Y anıtı
http://w w w .eng in .u m ich.edu /gr ou p /ctm /)
Basamak bozucu yanıtımızın kalıcı durum hatası sıfır oldu. İstenilen PID
denetleyicinin kazançları;Kp=17, Ki=600,Kd=15 ‘dir.
Serhat YILMAZ, [email protected]
Slide 40
Örnek.9.5: Otobüs Süspansiyon Sisteminin Denetimi
Şekil.9.34.Otobüs Süspansiyon Sistem Modeli
http://www.engin.umich.edu/group/ctm/)
Serhat YILMAZ, [email protected]
Slide 41
Yukarıda serbest cisim şeması verilen otobüs süspansiyonuna ait
kontrol sisteminin blok şeması yanda gösterilmiştir.
* Gövde kütlesi(m1)=2500kg
* Süspansiyon kütlesi(m²)=320kg
* Süspansiyon sisteminin yay sabiti(k1)=80,000N/m
* Tekerlek ve lastiklerin yaylanma sabiti(k2)=500,000N/m
* Süspansiyon sisteminin sürtünme katsayısı (b1)=350Ns/m
* Tekerlek ve lastiklerin sürtünme katsayısı (b2)=15,020Ns/m
*Kontrol kuvveti(u)= Denetleyiciden alınan kuvvet
Serhat YILMAZ, [email protected]
Şe kil.9 .3 5 .Siste m in B lok Ş e m a sı
Slide 42
Dinamik eşitlikler transfer fonksiyonu şeklinde aşağıda gösterilmiştir
G1 (s)
X 1 (s) X
21
(s)
U (s)
(M 1 M 2 )s b2 s K 2
2
,
G 2 (s)
X 1 (s) X
21
(s)
M 1b 2 s M 1 K 2 s
3
W (s)
2
( M 1 s b1 s K 1 ).( M 2 s ( b1 b 2 ) s ( K 1 K 2 )) ( b1 s K 1 ).( b1 s K 1 )
2
2
Birim basamak girişiyle gösterilmiş bozucu yol etkilerinden dolayı
geribildirimli bir denetleyici tasarlamak istiyoruz. Çıkış(X1-X2) oturma
zamanı 5 sn’den ve aşma %5’den az olmalıdır. Örneğin otobüs 10 cm adım
genliğinde çalışırsa, Otobüsün gövdesi +/-5 mm aralığında salınacak ve
salınım 5 sn sonra duracak.
Aşağıdaki kodları yazarak bu sistemi matlabta tanımlayalım:
m1=2500; m2=320; k1=80000; k2=500000; b1=350;
b2=15020;
nump=[ (m1+m2) b2 k2 ];
denp=[ (m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];
G1=tf(nump,denp);
num1=[ -(m1*b2) -(m1*k2) 0 0 ];
den1=[ (m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2 ];
G2=tf(num1,den1); numf=num1;
denf=nump; F=tf(numf,denf);
Serhat YILMAZ, [email protected]
Slide 43
Sisteme PID Denetleyici Ekleme: Kp oransal, Ki integral ve Kd
türevsel kazançtır.Denetleyicimizin bu kazançların üçünede ihtiyacı
olduğunu farzedelim.Başlangıçta bu kazançaların herbirine tahmini
değerler atıyoruz Kp=208025,Ki=832100 ve Kd=624075. Aşağıdaki
matlab kodlarını m-file dosyasına yazarak PID denetleyicisini
sisteme eklemiş oluruz.
Kd=208025; Kp=832100;
Ki=624075; contr=tf( [Kd Kp Ki],[1 0]);
Yolun bozucu etkisine karşı sistemin çıkışta verdiği cevabı(X1-X2
mesafesi) görelim.Yukarıdaki şemaya bakarak bozucu yol etkisi(W)
ile çıkış(X1-X2) arasındaki transfer fonksiyonunu bulabiliriz.
sys_cl =F*feedback(F*G1,contr);
Serhat YILMAZ, [email protected]
Slide 44
Kapalı
Çevrim
Cevabını
Çizdirme:
Matlabta modeli, bozucu etkiyi
ve
denetleyiciyi
gösteren
kapalı
çevrim
transfer
fonksiyonunu
oluşturduk.
Kontrol işlemine başlamadan
önce kapalı çevrim transfer
fonksiyonunun
basamak
girişine verdiği cevabı görelim.
Bozucu etki için 0.1m adım
genliği kullanacağız. Benzetim
için sys_cl kodunu 0.1 ile
çarpmak yeterli olacaktır.
Aşağıdaki
kodları
m-file
dosyasına ekleyelim.
t=0:0.05:5; step(0.1*sys_cl,t);
title(‘PID denetleyicili kapalı
cevrim yaniti’)
Ş ekil.9.36.P ID D enetleyicili K apalı Ç e vri m B asa m ak Y anıtı
W basamak bozucu girişinin
YILMAZ, [email protected]
cevabı(X1-X2) şekildekiSerhat
gibi
olmalı;
Slide 45
Grafikten görüldüğü gibi aşma %9’dur. Bu sonuç istediğimiz %5 aşma
değerinde fazladır. Oturma zamanı istediğimiz gibi 5sn’den azdır.
Oransal kazancı(Kp) seçmek başlangıçta bize makul bir çıkış sağlar.
PID denetleyici için bir tane kutup ile iki tane sıfır seçerek işe
başlayalım. Denetleyicinin kutbu sıfırda olmalı ve sıfırlardan bir tanesi
de orijinde kutba çok yakın olmalıdır. Diğer sıfırı birinci sıfırdan daha
uzağa koyacağız. İkinci sıfırın konumunu sistemin gereklerini yerine
getirmek için istediğimiz gibi ayarlayabiliriz. Aşağıdaki kodları m-file
dosyamıza yazarak ikinci sıfırın yerini ayarlayabilir ve Kp, Ki, Kd
kazanç değerlerinden hangisini kullanmamız gerektiğini aşağı yukarı
tahmin ederek seçim yapabiliriz.
z1=1; z2=3; p1=0;
numc=conv([ 1 z1],[ 1 z2]);
denc=[ 1 p1 ];
contr=tf(numc,denc);
rlocus(contr*G1)
title(‘root locus with PID controller’)
[K,p]=rlocfind(contr*G1) ;
(http://www.engin.umich.edu/group/ctm/)
Ş ekil.9.37. P ID D enetleyicili S istemin Kök Y e r E ğrisi
Kapalı çevrim kutup ve sıfırlarını aşağıdaki şekilde görebiliriz ve grafik
üzerinden kazanç ile baskın
kutupları
kendimiz seçebiliriz
Serhat YILMAZ,
[email protected]
Slide 46
PID Denetleyicinin Kazançlarını
Belirleme:
Kapalı
çevrim
transfer
fonksiyonunu elde ettikten sonra
Kp, Kd ve Ki kazançlarını
değiştirerek
bizden
istenen
denetleyici
değerlerini
elde
etmeye çalışacağız. Şekilden
görüldüğü gibi sistem istenilenden
daha fazla sönümlemeye uğramış,
yatışma zamanı ise istenilenden
çok daha kısa olmuştur. Sistem
cevabı hala istenilen %5 lik
aşmayı sağlamıyor. Önceden de
değinildiği gibi
Kp,Ki ve Kd
değişkenlerini ayarlayarak daha iyi
çıkış yanıtı elde edebiliriz. m-file
dosyasından
Kp,Ki
ve
Kd
değerlerini 2 ile çarparak ne
olacağını görelim.
Ş ekil.9.38.P ID B asam ak Y anıtı
Serhat YILMAZ, [email protected]
Slide 47
Ekseni değiştirerek önceki
düşük kazançlı grafik ile
karşılaştıralım,
Axis([0 5 -.01 .01])
Görüldüğü gibi aşma, yatışma
zamanı
sistem gereklerine
uygundur. Aşma yaklaşık giriş
genliğinin %5’i yatışma zamanı
ise 2sn’dir, istenildiği gibi 5 sn
den azdır. PID denetleyicinin
kazançlarını
değiştirerek
sistemi istediğimiz gibi kontrol
edebiliriz. Kp, Ki ve Kd
parametrelerini
en
uygun
şekilde
seçmeliyiz
aksi
takdirde çok büyük aşma ve
çok uzun yatışma zamanı ile
karşılaşmamız mümkündür.
Ş ekil.9.39 . P ID B asam ak Y anıtı
Serhat YILMAZ, [email protected]
Slide 48
Kaynaklar
1. http://www.engin.umich.edu/group/ctm/
2. Kandemir,V., 2008, PID Kontrol ve
Uygulamaları Lisans Tezi, KOÜ,Elektronik ve
Hab. Bölümü
Serhat YILMAZ, [email protected]
Serhat YILMAZ, [email protected]
Slide 2
9.PID DENETLEYİCİ TASARIMI
Bu kısımda, uygulamalarda yaygın olarak kullanılan üç terimli
denetleyicinin (PID: Proportional+Integral+Derivative) yapısı ve PID
ile denetim sisteminin nasıl tasarlanabileceği açıklanacaktır.
Oransal(P),integral(I) ve türev(D) denetimlerinin her birinin
karakteristikleri ve istenen cevabı elde etmek için nasıl
kullanılacakları gösterilecektir. Aşağıdaki birim geribildirimli sistemi
ele alalım. (http://www.engin.umich.edu/group/ctm/)
R
+
e
Denetleyici
u
Model
Y
-
Şekil.9.1. Geribildirimli Sistem
e; hata işareti, u; Etkiyen işaret, Model; Kontrol edilen bir sistem,
Denetleyici; Modelin uyarılmasını sağlar,bütün sistem davranışını
denetlemek için tasarlanmıştır
Serhat YILMAZ, [email protected]
Slide 3
9.1 Üç Terimli Denetim
PID denetleyicinin transfer fonksiyonu aşağıdaki gibidir.
Kp
Kı
s
Kd .s Kp .s K ı
2
Kd .s
s
Kp: Oransal kazanç
Kı: İntegral kazanç
Kd: Türevsel kazanç
Serhat YILMAZ, [email protected]
Slide 4
Yukarıdaki şemaya göre PID denetleyici kapalı bir sistemde nasıl
çalışır görelim.Değişken(e),izleme hatasını temsil eder,istenen
değer(R) ile gerçek çıkış(Y) arasındaki farktır.Hata sinyali(e) PID
denetleyiciye gönderilir PID denetleyici bu hatanın hem integralini
hemde türevini hesaplar.Şimdi kontrolörden çıkan (u) etkiyen
işareti,hatanın büyüklüğünün (Kp) oransal kazancı katı artı,hatanın
türevinin (Kd) katı artı hatanın integralinin (Kı) katına eşittir.
u Kp .e K ı edt Kd .
de
dt
Bu (u) işareti modele gönderilir ve yeni çıkış (Y) işareti elde edilir. Bu
yeni çıkış işareti(Y) algılayıcıya tekrar geri gönderilir, böylece yeni
hata sinyali(e) bulunur. Denetleyici yeni hata işaretini alır, integral ve
türev değerlerini hesaplar. Bu işlem böyle sürer gider.
Serhat YILMAZ, [email protected]
Slide 5
9.2 P,I ve D Denetleyicilerinin Karakteristikleri
Bir
oransal
denetleyici(Kp),yükselme
zamanını
azaltmada etkili olur ama,kalıcı durum hatasını hiçbir
zaman ortadan kaldıramaz.
Bir integral denetleyici(Ki),kalıcı dutum hatasını ortadan
kaldırmada etkili olur ama geçici cevabı daha kötü
yapabilir.
Bir
türevsel
denetleyici(Kd),sistem
kararlılığının
artmasında,aşmanın azalmasında ve geçici cevabın
düzelmesinde etkili olur.
Her bir denetleyicinin (Kp,Kd,Ki) kapalı döngülü bir
sisteme etkisi,aşağıdaki tabloda özetlenmiştir.
Serhat YILMAZ, [email protected]
Slide 6
Tablo.9.1. PID Denetleyicilerinin Karakteristikleri.
(http://www.engin.umich.edu/group/ctm/)
Kp,Ki,Kd birbirlerine bağımlı olduğu için bu bağıntılar tam kesin doğru
olmayabilir.
Birindeki değişme diğer ikisini etkileyebilir.
Bu sebepten dolayı yukarıda verilen tablo sadece Ki,Kp,Kd değerlerini
belirlerken bir tahmin referansı olarak kullanılmalıdır.
Serhat YILMAZ, [email protected]
Slide 7
9.3 PID Parametrelerinin Hesaplanması
PID kontrolörler, endüstride kullanılan kontrol
türlerinin büyük bir kısmını oluşturur.
Dolaysıyla
PID
kazanç
belirlenmesi ile ilgili çok
yapılmıştır.
parametrelerinin
sayıda çalışma
Bu çalışmada Ziegler–Nichols yöntemi ile öz–
uyarmalı PID parametreleri ayar yöntemi
kullanılmıştır.
Serhat YILMAZ, [email protected]
Slide 8
9.4 PID Katsayılarının Öz-Uyarlamalı Ayarı
Katsayıların öz-uyarlamalı ayarı, kontrolörün kendi
kendine sistem dinamiklerini algılaması ve bu değerlere
göre kendi katsayılarını kendisinin belirlemesi demektir.
Bunun pratikte şu avantajları vardır:
Sistem için en uygun kontrol parametreleri belirlenebilir.
Sistemde oluşacak değişmeleri algılayarak kendini adapte
edebilir.
Kontrolör değerlerini önceden hesaplama işlemine gerek kalmaz.
Kontrolör sadece tek bir sisteme özel kalmaz, pek çok sistem
için kullanılabilir olur.
Serhat YILMAZ, [email protected]
Slide 9
9.5 Ziegler–Nichols Metodu
Ziegler–Nichols metodu PID parametrelerinin
hesaplanmasında en yaygın olarak kullanılan metot
olup sistem modeli gerektirmez.
Bu metot açık çevrim ve kapalı çevirim olmak üzere
ikiye ayrılmaktadır.
Serhat YILMAZ, [email protected]
Slide 10
9.5.1 Açık Çevrim Ziegler–Nichols Metodu
Bu metot birçok sistem için kullanışlıdır. Açık çevrim Ziegler–
Nichols metodunda sistemin ölü zamanı ve maksimum eğimi
hesaplanır. Hesaplanan bu değerler gerekli formüller
kullanılarak PID kontrolör için gereken katsayılar hesaplanır.
Şekil9.2’de ölü zamana sahip birinci dereceden bir sistemin
çıkış grafiği görülmektedir. Bu sisteme ait genel formül şu
şekildedir.
G (s)
Ke
L .S
.s 1
Şekil 9.2’deki eğrideki K ve T değerlerinden faydalanılarak
denklemdeki R olarak ifade edilen değer elde edilir.
Serhat YILMAZ, [email protected]
Slide 11
R
K
T
Şekil.9.2. Birinci dereceden bir sistemin çıkış grafiği
Şekil 9.2’deki değerler kullanılarak Tablo 9.2’deki PID parametreleri
hesaplanır.
Tablo.9.2. Ziegler–Nichols Metodu için Parametrelerin Hesaplanması
Serhat YILMAZ, [email protected]
Slide 12
9.5.2 Kapalı Çevrim Ziegler–Nichols Metodu
Kapalı çevrim Ziegler–Nichols metodu ile sistemin cevap eğrisinin
osilasyona girmesi sağlanır. Şekil 9.3’de sistem çıkışının a
noktasına geldiği noktadaki kazanç değeri osilasyon kazancı(Ku)
olarak ifade edilir ve osilasyon periyodu(Pu) ile kullanılarak gerekli
PID katsayıları Tablo 9.3’deki formüller kullanılarak hesaplanabilir.
Şekil.9.3. Kapalı Çevrim Ziegler – Nichols Metoduna ait Çıkış İşareti
Tablo.9.3. Z.N Yöntemi ile Kapalı Çevrim Kontrol Parametrelerinin Hesabı
Serhat YILMAZ, [email protected]
Slide 13
Örnek.9.1: Basit bir kütle, yay ve sönümleyici problemi düşünelim; Sistem
modelleme denklemi;
..
.
M . x b x k .x F
(9.1)
Modelleme denklemi (9.1)’in Laplace dönüşümü alındığında;
M .s . X ( s ) b .s . X ( s ) k . X ( s ) F ( s )
2
X(s) yer değiştirmesi ile F(s) girişi arasındaki transfer fonksiyonu;
X (s)
1
F (s)
Ms
2
b .s k
‘dır. M=1kg, b=10 N.s/m, k=20 N/m, F(s)=1 N olsun
Yukarıda verilen değerleri transfer
fonksiyonunda yerine yazarsak;
X (s)
F (s)
1
s 10 .s 20
2
Problemin amacı Kp,Ki ve Kd’nin
Daha hızlı yükselme zamanı
En az aşma
Sıfır kalıcı durum hatası , elde etmedeki katkılarını göstermektedir.
Serhat YILMAZ, [email protected]
Slide 14
Açık Çevrim Basamak Cevabı
Yeni bir m-file dosyası oluşturup aşağıdaki
kodları bu dosyanın içine yazalım
pay=1; payda=[ 1 10 20 ];
sistem=tf(pay,payda); step(sistem)
MATLAB daki m-file dosyası derlendiğinde size
yandaki şekli vermelidir.
Modelin DC kazancı 1/20’dir , birim basamak
girişe uygulandığında çıkışın en son değeri
0,05 olabilir.Bu da %95’lik bir kalıcı durum
hatası oluşturur,bu gerçektende büyük bir
değerdir.Dahası ,yükselme zamanı yaklaşık
1sn,oturma zamanı da yaklaşık 1,5sn’dir.
Kalıcı durum hatasını ortadan kaldıracak,
yükselme
zamanını kısaltacak,
yatışma
zamanını azaltacak şekilde denetleyiciyi
yeniden tasarlayalım.
Serhat YILMAZ, [email protected]
Şekil.9.5. Açık Çevrim Basamak yanıtı
Slide 15
Oransal Kontrol
Yukarıdaki tablodan görüldüğü gibi,oransal denetleyici(Kp)
yükselme zamanını kısaltır,aşmayı arttırır ve kalıcı durum hatasını
azaltır.Yukarıdaki sistemin oransal kontrollü kapalı çevrim transfer
Kp
fonksiyonu; X ( s )
F (s)
s 10 .s ( 20 Kp )
2
Kp 300 olsun;
Kp=300;
Contr=Kp;
Sys_cl=feedback(contr*plant,1);
t=0:0.01:2;
step(sys_cl,t)
Şekil.9.6. Kapalı Çevrim Basamak Yanıtı
Yukarıdaki çizim, oransal kontrolün, yükselme zamanını ve kalıcı
durum hatasını azalttığını, aşmaları arttırdığını, oturma zamanını
çok az da olsa düşürdüğünü göstermektedir.
Serhat YILMAZ, [email protected]
Slide 16
Oransal-Türev Denetimi
Şimdi PD denetimine göz atalım.Tabloya göre türevsel
denetleyici(Kd) aşmayı ve oturma zamanını azaltır.Verilen sistemin
PD denetleyici ile birlikte kapalı çevrim transfer fonksiyonu;
X (s)
F (s)
Kp 300 olsun,Kd 10 olsun;
Kd .s Kp
s
2
(10 Kd ). s ( 20 Kp )
Kp=300;
Kd=10; contr=tf([Kd Kp],1);
sys_cl=feedback(contr*plant,1);
t=0:001:2; step(sys_cl,t)
Şekilden, türevsel denetleyicinin
hem yükselme zamanını hem de
kalıcı durum hatasını azalttığını,
aşmayı arttırdığını, oturma
zamanını da küçük
miktar
azalttığını görüyoruz.
Şekil.9.7.
Serhat YILMAZ, [email protected]
Kapalı Ç. Basamak Yanıtı Kp=300,Kd=10
Slide 17
Oransal – İntegral Denetim
PID denetime geçmeden önce, PI denetimine bakalım. Tablodan integral
denetleyicinin (Ki), yükseltme zamanını kısalttığı, aşmayı ve oturma zamanını
attırdığı, kalıcı durum hatasını ortadan kaldırdığı görülmektedir. Verilen
sistemde, PI denetleyicili kapalı çevrim transfer fonksiyonu ;
X (s)
F (s)
Kp .s Ki
s 10 .s ( 20 Kp ). s Ki
3
2
p’yi 30 düşünelim,Ki’de 70 olsun.
Kp=30; Ki=70; contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*plant,1);
t=0:0.01:2; step(sys_cl,t)
Şekil.9.8. Basamak Yanıtı Kp=30,Kd=70
Oransal kazanç(Kp)’yi düşürmemizin nedeni, integral denetleyicinin de ayrıca
oransal denetleyici gibi,yükselme zamanını kısaltmayı ve aşmayı
arttırmasıdır(çifte etki). Yukarıda integral denetleyicinin kalıcı durum hatasını
ortadan kaldırdığı görülmektedir.
Serhat YILMAZ, [email protected]
Slide 18
Oransal-İntegral-Türev Denetimi
Şimdi PID denetleyiciye bir göz atalım.Verilen sistemin PID
denetleyici ile kapalı çevrim transfer fonksiyonu;
X (s)
F (s)
Kd .s
2
Kp .s Ki
s (10 Kd ). s
3
2
( 20 Kp ). s Ki
Birkaç deneme yanılmadan sonra, kazançların Kp=350, Ki=300 ve
Kd=50 olarak seçilmesi istenen cevabı elde etmemizi sağladı.
Kp=350; Ki=300;Kd=50;
contr=tf([Kd Kp Ki],[1 0]);
sys_cl=feedback(contr*plant,1);
t=0:0.01:2;step(sys_cl,t)
Şekil.9.9. Kp=350,Kd=50,Ki=300
Şimdi aşma olmadan,hızlı yükselme zamanı ve kalıcı durum hatasız
Serhat YILMAZ, [email protected]
bir kapalı çevrim sistemi
elde ettik.
Slide 19
9.6.PID Tasarımında Dikkat Edilmesi Gerekenler;
PID tasarlarken istenen cevabı elde etmek için aşağıdaki adımları izleyin;
(http://www.engin.umich.edu/group/ctm/)
1-) Önce sistemin açık çevrim cevabına bakın ve nelerin düzeltilmesi
gerektiğini belirleyin.
2-) Yükselme zamanını iyileştirmek için bir oransal denetim ekleyin.
3-) Aşma(salınımlar)’yı azaltmak için bir türev denetim ekleyin.
4-) Kalıcı durum hatasını kaldırmak için bir integral denetleyici ekleyin.
5-) İyi bir sonuç elde etmek için Kp,Ki ve Kd’yi (tablodaki özelliklere
bakarak) ayarlayın.
Gerekmediği sürece denetleyiciyi mümkün olduğu kadar basit tutmaya
çalışın.Üç denetleyiciyi de her zaman kullanmanız gerekmez.Sadece PI
yeterli cevabı veriyorsa,ayrıca bir türev elemanı katmanıza hiç gerek yok.
Serhat YILMAZ, [email protected]
Slide 20
9.7 PID İle Tasarım Örnekleri
Örnek.9.2. Araç Hız (Cruise)
Kontrol Sisteminde PID
Cruise kontrol problemi için
transfer fonksiyonu;
Y (s)
U (s)
1
.ms b
m=1000
Şe kil.9 .1 0 .A racın S erb est C isim Ş em a sı
http://w w w .eng in .u m ich.edu /gr ou p /ctm /)
b=50
U(s)=10
Y(s)=hız çıkışı
Birim geribildirimli bir sistemin
tipik blok diyagramı aşağıdaki
gibidir
Serhat YILMAZ, [email protected]
Slide 21
R
giriş
+
e
Denetleyici
u
Y
çıkış
Model
-
Şekil.9.11. Birim geribildirimli sistemin blok diyagramı
Bu problem için tasarım şartları: Yükselme zamanı < 5sn,
Aşma < %10
Kalıcı durum hatası < %2 olmalı
2
Kı
Kd .s Kp .s K ı
PID denetleyicinin transfer fonksiyonu: Kp Kd .s
s
s
Önce oransal denetime bir göz atalım;
Oransal Denetim
Öncelikle yapılacak olan Kp oransal kontrollü kapalı çevrim transfer
fonksiyonunu bulmaktır. Blok diyagramı indirgediğimizde, Kp oransal
kontrollü kapalı çevrim transfer fonksiyonu;
Y (s)
U (s)
Serhat YILMAZ, [email protected]
Kp
ms ( b Kp )
Slide 22
PID dersinden hatırlayacağımız
gibi , Kp oransal denetleyicisi,
yükselme zamanını kısaltıyordu.
Bizim istediğimizde zaten buydu.
Kp’yi 100 yapıp cevaba bakalım;
Kp=100; m=1000; b=50;
u=10; num=[1]; den=[m b];
cruise=tf(num,den);
sys_cl=feedback(Kp*cruise,1);
t=0:0.1:20;
step(u*sys_cl,t)
axis([0 20 0 10]) ;
Şe kil.9 .1 2 . B a sa m a k Y a nıtı K p= 1 0 0
(http://www.engin.umich.edu/group/ctm/)
Serhat YILMAZ, [email protected]
Slide 23
Çıkışta hızın 10m/s olması isteniyordu.
Çizimden görüldüğü gibi , ne kalıcı
durum hatası ne de yükselme zamanı
istenen tasarım kriterlerini sağlamıyor.
Sistem çıkışını iyileştirmek için Kp’yi
arttırabiliriz. Kp’yi 10000 yapalım. Kalıcı
durum hatası neredeyse sıfır oldu ve
yükselme zamanı 0,5 sn’nin altına düştü.
Ancak bu cevap gerçekçi değildir. Çünkü
gerçekte hiçbir cruise denetim sistemi
aracın hızını 0’dan 10m/s’ye 0.5 sn den
daha az bir sürede çıkaramaz. Zaten
gerçek sistemlerde kazancı 10.000
yapmak çok zordur.
Şe kil.9 .1 3 . B a sa m a k Y a nıtı K p= 1 0 0 0
Bu problemin çözümü için makul bir
yükselme zamanı sağlayacak bir oransal
kazanç (Kp) uygulanır ve kalıcı durum
hatasını ortadan kaldırmak için de bir
integral denetleyici eklenir.
Serhat YILMAZ, [email protected]
Slide 24
PI Denetim: PI denetleyicili bir cruise kontrol sisteminde
kapalı çevrim transfer fonksiyonu;
Y (s)
U (s)
Kp .s Ki
m .s ( b Kp ). s Ki
2
’idi
Sisteme bir integral eklenmesi, kalıcı
durum hatasını ortadan kaldırıyordu.
Şimdi Kp=600 ve Ki=1 olsun.Sistemin
cevabı ne olacak?
Step Response
10
9
8
7
m=1000; b=50; num=[1]; den=[m b];
cruise=tf(num,den); Kp=600; Ki=1;
contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*cruise,1);
u=10; t=0:0.01:20;
step(u*sys_cl,t); axis([0 20 0 10])
Amplitude
6
5
4
3
2
1
0
0
2
4
6
8
10
Time (sec)
12
14
16
18
Şekil.9.14. PI Kontrol Kp=600,Ki=1
Serhat YILMAZ, [email protected]
20
Slide 25
Oransal kazanç(Kp) ve integral
kazanç(Ki)
ile
oynayarak
istenen cevap elde edilmeye
çalışılır. Büyük Ki değerleri
kararlılığı bozabileceği için
önce küçük Ki değerleriyle
başlayalım.
Kp=800 , Ki=40 alınınca,cevap
aşağıdaki gibi olur.
Görüldüğü gibi,bu basamak
cevabı tüm tasarım kriterlerini
karşılamaktadır.
Şe kil.9 .1 5 . K p= 8 0 0 ,K i= 4 0
Serhat YILMAZ, [email protected]
Slide 26
PID Denetim:
Bu örnek için, türevsel denetime gerek yoktur.
Yeterli çıkış PI ile alınmaktadır. Yine de diğer çalışmalar için PID ile
nasıl çalışıldığını görmek amacıyla bir deneme yapalım. Bu cruise
denetim sistemi için PID denetleyicili kapalı çevrim transfer
fonksiyonu;
Y (s)
U (s)
Kd .s Kp .s Ki
2
( m Kd ). s ( b Kp ). s Ki
2
’ idi.
Kp=600,Ki=1,Kd=1 olsun;
Kp=600; Ki=1; Kd=1; m=1000; b=50; u=10; cruise=tf(num,den);
contr=tf([Kd Kp Ki],[1 0]); t=0:0.01:20; step(u*sys_cl,t); axis([0 20 0
10])
Yukarıdaki kodlar çalıştırıldığında matlab bize PID denetleyicili
sisteminin çıkış yanıtını verecektir. Kp, Kd ve Ki değerlerini
ayarlayarak istediğimiz çıkış yanıtını elde edebiliriz.
Öneri: Uygun kazanç değerlerini bulmak için deneme yanılma
yolunu kullanmalıyız. Kp, Ki ve Kd değişkenlerini teker teker
Serhat YILMAZ, [email protected]
değiştirip çıkışı gözlemleyerek
istenilen çıkış yanıtını elde edebiliriz.
Slide 27
Örnek.9.3.:
Kontrolü
DC
Motor
Hız
rotor eylemsizlik momenti (J) =
0.01 kg.m²/s²
mekanik sistemin sönüm oranı
(b) = 0.1 Nms
Emk sabiti (K=Ke=Kt) =
0.01 Nm/Amp
rezistans (R) = 1 ohm
indüktans (L) = 0.5 H
giriş (V): kaynak voltajı
çıkış(theta): mil durumu
rotor ve milin sert olmadığı kabul
edilir.
Serhat YILMAZ, [email protected]
Slide 28
DC motorun dinamik eşitlikleri ve açık çevrim transfer fonksiyonları
s ( Js b )( s ) KI ( s )
,
( Ls R ) I ( s ) V Ks ( s )
,
V
Sistemin blok şeması;
R
+
e
Denetleyici
u
Model
K
( Js b )( Ls R ) K
2
θ
-
Şekil.9.17. Birim Geribildirimli Blok Diyagram
1 rad/sn’lik basamak girişi için tasarım koşulları;
● Yatışma zamanı 2 sn’den az
● Aşma %5’den az
● Kalıcı durum hatası %1’den az
PID denetleyicimizi tasarlayarak sisteme ekleyelim;
j=0.01; b=0.1; K=0.01; R=1; L=0.5; num=K; den=[(j*L) ((j*R) + (L*b)) ((b*R)+K^2)];
motor=tf(num,den);
Serhat YILMAZ, [email protected]
Slide 29
Oransal Kontrol: Önce kazancı
100 olan oransal denetleyicimizi
kullanmayı deneyelim. Feedback
komutunu kullanarak kapalı çevrim
transfer fonksiyonunu belirledik.
Kp=100; contr=Kp;
sys_cl=feedback(contr*motor,1);
Basamak yanıtımız nasıl olacak onu
görelim;
t=0:0.01:5;
step(sys_cl,t)
title(‘Oransal denetleyicinin
basamak yanıtı’)
Ş ekil.9.18. O ransal D enetleyicinin B asam ak Y anıtı
Serhat YILMAZ, [email protected]
Slide 30
PID Kontrol: Oransal denetleyicili
sistemimizin aşma ve kalıcı durum
hatası çok büyüktür.Sisteme integral
denetimi ekleyerek kalıcı durum
hatasını ve türevsel denetimi
ekleyerek de aşmayı ortadan
kaldırabiliriz.Küçük
Ki
ve
Kd
kazançlı PID denetleyicimizin çıkış
yanıtını görelim.
j=0.01; b=0.1; K=0.01; R=1; L=0.5;
num=K;
den=[(j*L) ((j*R) + (L*b)) ((b*R)+K^2)];
motor=tf(num,den); Kp=100;Ki=1; Kd=1;
contr=tf([ Kd Kp Ki],[1 0]);
sys_cl=feedback(contr*motor,1);
step(sys_cl);
title(‘Küçük Ki ve Kd kazançlı PID
denetleyici’)
Ş ekil.9.19. Küçük Ki ve Kd Kaz ançlı P ID
Serhat YILMAZ, [email protected]
Slide 31
Kazançların
Ayarlanması:
Yatışma zamanı çok uzun olduğu
için Ki kazancımızı arttırarak
oturma zamanını azaltabiliriz.
Ki=200 yaparsak sistemimizin
çıkış yanıtı yandaki gibi olur;
Bu sefer de çıkış yanıtımızın
öncekinden çok daha hızlı
olduğunu
görüyoruz.
Ki
kazancının arttırılması geçici
çıkış yanıtını (aşma) kötüleştirdi.
Kd kazancımızı arttırarak aşmayı
azaltabiliriz.
Ş ekil.9 .2 0 . B ü yü k Ki Kaz an çlı P ID D en etleyici
Kd=10
yaparsak sistemimizin
çıkış yanıtı yandaki gibi olur;
Kp=100,
Ki=200,
Kd=10
değerlerini kullanarak istediğimiz
çıkış
yanıtını
veren
PID
denetleyicimizi tasarlamış oluruz.
Ş ekil.9 .2 1 . P ID D en etle yici
Serhat YILMAZ, [email protected]
Slide 32
Örnek.9.4: DC Motor Konum Kontrolü
* rotor eylemsizlik momenti (J) = 3.2284E-6 kg.m²/s²
* mekanik sistemin sönüm oranı (b) = 3.5077E-6 Nms
* elektromotor kuvvet sabiti (K=Ke=Kt) = 0.0274 Nm/Amp
* rezistans (R) = 4 ohm
* indüktans (L) = 2.75E-6 H
* giriş (V): kaynak voltajı
* çıkış(theta): mil durumu
* rotor ve milin sert olmadığı kabul edilir
Şekil.9.22.DC Motor (http://www.engin.umich.edu/group/ctm/)
Serhat YILMAZ, [email protected]
Slide 33
Bu problemde, DC motorun dinamik eşitliği ve açık döngü transfer
fonksiyonu aşağıdaki gibidir:
R
+
V
K
s (( Js b )( Ls R ) K )
2
u
e
Denetleyici
θ
Model
-
Şekil.9.23.DC Motorun blok şeması
1 rad/sn’lik basamak girişi için tasarım koşulları:
● Yatışma zamanı 0.04 sn’den az ● Aşma %16’dan az ● Kalıcı durum
hatası yok ● Bozucu girişten kaynaklanan kalıcı durum hatası yok
PID denetleyicimizi sisteme adım adım ekleyelim. Öncelikle motor
parametrelerini girelim:
j=3.2284E-6; b=3.5077E-6; K=0.0274; R=4; L=2.75E-6; num=K;
den=[ (j*L) ((j*R) + (L*b)) ((b*R)+K^2) 0 ]; motor=tf(num,den);
Serhat YILMAZ, [email protected]
Slide 34
Oransal
Kontrol:
Önce
kazancı
1.7
olan
oransal
denetleyicimizi
kullanmayı
deneyelim. Feedback komutunu
kullanarak kapalı çevrim transfer
fonksiyonunu belirledik.
Kp=1.7;contr=Kp;
sys_cl=feedback(contr*motor,1);
Ş e kil.9 .2 4 .K p= 1 .7 K a za n çlı B a sa m a k Y a nıtı
Basamak yanıtımız ve basamak
bozucu yanıtı;
t=0:0.001:0.2; step(sys_cl,t);
dist_cl=feedback(motor,contr);
step(dist_cl,t);
Serhat YILMAZ, [email protected]
Şekil.9 .25 .K p=1.7 K azançlı B asam ak B ozucu Y anıtı
Slide 35
PID Kontrol: Kalıcı durum hatası
istediğimiz gibi olmasına rağmen
oturma zamanı ve aşma çok
büyüktür. Bozukluk büyük olduğu
zaman kalıcı durum hatasının ortaya
çıktığını görüyoruz. Sisteme integral
denetimi ekleyerek kalıcı durum
hatasını ve türevsel denetimi
ekleyerek
te
aşmayı
ortadan
kaldırabiliriz.
Öncelikle
PI
denetleyiciyi
kullanarak
bozucu
durum hatasını ortadan kaldırabiliriz.
j=3.2284E-6; b=3.5077E-6;
K=0.0274; R=4;
L=2.75E-6; num=K;
den=[ (j*L) ((j*R) + (L*b))
((b*R)+K^2) 0 ];
motor=tf(num,den);
Kp=1.7;
Ş e kil.9 .2 6.K p=1 .7 ,Ki=20
Ki=20;
contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*motor,1);
t=0:0.001:0.4;
Serhat YILMAZ, [email protected]
step(sys_cl,t)
Kazançlı B asam ak Y anıtı
Slide 36
Aşağıdaki
komutları
programımıza
ekleyerek
basamak bozucu yanıtının
nasıl olduğunu görebiliriz.
figure
dist_cl=feedback(motor,contr);
step(dist_cl,t);
İntegral denetleyicinin kalıcı
durum
hatasını
sıfıra
düşürdüğünü
görüyoruz
(Şekil9.27)
Ş e kil.9 .2 7.K p=1 .7 ,Ki=20 B asam ak B ozucu Y anıtı
Serhat YILMAZ, [email protected]
Slide 37
Kazançların Ayarlanması
Yatışma zamanının çok uzun olduğunu görüyoruz. Çıkış yanıtını
hızlandırmak için kazançları arttıralım. Ki=200 ve Kp=17 olsun.
Ş ekil.9.28.Kp= 17,Ki= 200 Kazan çlı B asam ak Y anıtı
Ş ekil.9 .2 9 .Kp = 1 7 ,Ki= 2 0 0 , B asamak B o zu cu Y an ıtı
Serhat YILMAZ, [email protected]
Slide 38
Çıkış yanıtımızın öncekinden daha hızlı olduğunu görüyoruz. Ki
kazancının arttırılması geçici çıkış yanıtını (aşma) kötüleştirdi.
Sistemimize türevsel denetleyici ekleyerek aşmayı azaltalım.
Kp=17; Ki=200; Kd=0.15; contr=tf([Kp Kd Ki],[1 0]);
sys_cl=feedback(contr*motor,1);
t=0:0.001:0.1; step(sys_cl,t)
Ş ekil.9.30.Kp= 17,Ki= 200,Kd= 0.15 B asam ak Y anıtı
Ş ekil.9.31.Kp= 17,Ki= 200,Kd= 0.15 Kaz ançlı
B asa mak B ozucu Y anıtı
http://w w w .e ng in .u m ic h.e du /gr ou p /c tm /)
Serhat YILMAZ, [email protected]
Slide 39
Basamak yanıtımızın öncekinden çok daha iyi olduğunu
görüyoruz.Aşma %16’dan az,oturma zamanı aşağı yukarı 40ms
ve kalıcı durum hatası sıfır.Ancak basamak bozucu yanıtımızın
çok yavaş olduğunu görüyoruz.Ki kazancını arttırarak bozucu
yanıtını hızlandıralım.Ki=600 olsun.
Ş ekil.9.33.Kp= 17,Ki= 600,Kd= 0.15 B . B ozucu Y anıtı
Ş ekil.9.32.Kp= 17,Ki= 600,Kd= 0.15 B asam ak Y anıtı
http://w w w .eng in .u m ich.edu /gr ou p /ctm /)
Basamak bozucu yanıtımızın kalıcı durum hatası sıfır oldu. İstenilen PID
denetleyicinin kazançları;Kp=17, Ki=600,Kd=15 ‘dir.
Serhat YILMAZ, [email protected]
Slide 40
Örnek.9.5: Otobüs Süspansiyon Sisteminin Denetimi
Şekil.9.34.Otobüs Süspansiyon Sistem Modeli
http://www.engin.umich.edu/group/ctm/)
Serhat YILMAZ, [email protected]
Slide 41
Yukarıda serbest cisim şeması verilen otobüs süspansiyonuna ait
kontrol sisteminin blok şeması yanda gösterilmiştir.
* Gövde kütlesi(m1)=2500kg
* Süspansiyon kütlesi(m²)=320kg
* Süspansiyon sisteminin yay sabiti(k1)=80,000N/m
* Tekerlek ve lastiklerin yaylanma sabiti(k2)=500,000N/m
* Süspansiyon sisteminin sürtünme katsayısı (b1)=350Ns/m
* Tekerlek ve lastiklerin sürtünme katsayısı (b2)=15,020Ns/m
*Kontrol kuvveti(u)= Denetleyiciden alınan kuvvet
Serhat YILMAZ, [email protected]
Şe kil.9 .3 5 .Siste m in B lok Ş e m a sı
Slide 42
Dinamik eşitlikler transfer fonksiyonu şeklinde aşağıda gösterilmiştir
G1 (s)
X 1 (s) X
21
(s)
U (s)
(M 1 M 2 )s b2 s K 2
2
,
G 2 (s)
X 1 (s) X
21
(s)
M 1b 2 s M 1 K 2 s
3
W (s)
2
( M 1 s b1 s K 1 ).( M 2 s ( b1 b 2 ) s ( K 1 K 2 )) ( b1 s K 1 ).( b1 s K 1 )
2
2
Birim basamak girişiyle gösterilmiş bozucu yol etkilerinden dolayı
geribildirimli bir denetleyici tasarlamak istiyoruz. Çıkış(X1-X2) oturma
zamanı 5 sn’den ve aşma %5’den az olmalıdır. Örneğin otobüs 10 cm adım
genliğinde çalışırsa, Otobüsün gövdesi +/-5 mm aralığında salınacak ve
salınım 5 sn sonra duracak.
Aşağıdaki kodları yazarak bu sistemi matlabta tanımlayalım:
m1=2500; m2=320; k1=80000; k2=500000; b1=350;
b2=15020;
nump=[ (m1+m2) b2 k2 ];
denp=[ (m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2];
G1=tf(nump,denp);
num1=[ -(m1*b2) -(m1*k2) 0 0 ];
den1=[ (m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2)
(b1*k2)+(b2*k1) k1*k2 ];
G2=tf(num1,den1); numf=num1;
denf=nump; F=tf(numf,denf);
Serhat YILMAZ, [email protected]
Slide 43
Sisteme PID Denetleyici Ekleme: Kp oransal, Ki integral ve Kd
türevsel kazançtır.Denetleyicimizin bu kazançların üçünede ihtiyacı
olduğunu farzedelim.Başlangıçta bu kazançaların herbirine tahmini
değerler atıyoruz Kp=208025,Ki=832100 ve Kd=624075. Aşağıdaki
matlab kodlarını m-file dosyasına yazarak PID denetleyicisini
sisteme eklemiş oluruz.
Kd=208025; Kp=832100;
Ki=624075; contr=tf( [Kd Kp Ki],[1 0]);
Yolun bozucu etkisine karşı sistemin çıkışta verdiği cevabı(X1-X2
mesafesi) görelim.Yukarıdaki şemaya bakarak bozucu yol etkisi(W)
ile çıkış(X1-X2) arasındaki transfer fonksiyonunu bulabiliriz.
sys_cl =F*feedback(F*G1,contr);
Serhat YILMAZ, [email protected]
Slide 44
Kapalı
Çevrim
Cevabını
Çizdirme:
Matlabta modeli, bozucu etkiyi
ve
denetleyiciyi
gösteren
kapalı
çevrim
transfer
fonksiyonunu
oluşturduk.
Kontrol işlemine başlamadan
önce kapalı çevrim transfer
fonksiyonunun
basamak
girişine verdiği cevabı görelim.
Bozucu etki için 0.1m adım
genliği kullanacağız. Benzetim
için sys_cl kodunu 0.1 ile
çarpmak yeterli olacaktır.
Aşağıdaki
kodları
m-file
dosyasına ekleyelim.
t=0:0.05:5; step(0.1*sys_cl,t);
title(‘PID denetleyicili kapalı
cevrim yaniti’)
Ş ekil.9.36.P ID D enetleyicili K apalı Ç e vri m B asa m ak Y anıtı
W basamak bozucu girişinin
YILMAZ, [email protected]
cevabı(X1-X2) şekildekiSerhat
gibi
olmalı;
Slide 45
Grafikten görüldüğü gibi aşma %9’dur. Bu sonuç istediğimiz %5 aşma
değerinde fazladır. Oturma zamanı istediğimiz gibi 5sn’den azdır.
Oransal kazancı(Kp) seçmek başlangıçta bize makul bir çıkış sağlar.
PID denetleyici için bir tane kutup ile iki tane sıfır seçerek işe
başlayalım. Denetleyicinin kutbu sıfırda olmalı ve sıfırlardan bir tanesi
de orijinde kutba çok yakın olmalıdır. Diğer sıfırı birinci sıfırdan daha
uzağa koyacağız. İkinci sıfırın konumunu sistemin gereklerini yerine
getirmek için istediğimiz gibi ayarlayabiliriz. Aşağıdaki kodları m-file
dosyamıza yazarak ikinci sıfırın yerini ayarlayabilir ve Kp, Ki, Kd
kazanç değerlerinden hangisini kullanmamız gerektiğini aşağı yukarı
tahmin ederek seçim yapabiliriz.
z1=1; z2=3; p1=0;
numc=conv([ 1 z1],[ 1 z2]);
denc=[ 1 p1 ];
contr=tf(numc,denc);
rlocus(contr*G1)
title(‘root locus with PID controller’)
[K,p]=rlocfind(contr*G1) ;
(http://www.engin.umich.edu/group/ctm/)
Ş ekil.9.37. P ID D enetleyicili S istemin Kök Y e r E ğrisi
Kapalı çevrim kutup ve sıfırlarını aşağıdaki şekilde görebiliriz ve grafik
üzerinden kazanç ile baskın
kutupları
kendimiz seçebiliriz
Serhat YILMAZ,
[email protected]
Slide 46
PID Denetleyicinin Kazançlarını
Belirleme:
Kapalı
çevrim
transfer
fonksiyonunu elde ettikten sonra
Kp, Kd ve Ki kazançlarını
değiştirerek
bizden
istenen
denetleyici
değerlerini
elde
etmeye çalışacağız. Şekilden
görüldüğü gibi sistem istenilenden
daha fazla sönümlemeye uğramış,
yatışma zamanı ise istenilenden
çok daha kısa olmuştur. Sistem
cevabı hala istenilen %5 lik
aşmayı sağlamıyor. Önceden de
değinildiği gibi
Kp,Ki ve Kd
değişkenlerini ayarlayarak daha iyi
çıkış yanıtı elde edebiliriz. m-file
dosyasından
Kp,Ki
ve
Kd
değerlerini 2 ile çarparak ne
olacağını görelim.
Ş ekil.9.38.P ID B asam ak Y anıtı
Serhat YILMAZ, [email protected]
Slide 47
Ekseni değiştirerek önceki
düşük kazançlı grafik ile
karşılaştıralım,
Axis([0 5 -.01 .01])
Görüldüğü gibi aşma, yatışma
zamanı
sistem gereklerine
uygundur. Aşma yaklaşık giriş
genliğinin %5’i yatışma zamanı
ise 2sn’dir, istenildiği gibi 5 sn
den azdır. PID denetleyicinin
kazançlarını
değiştirerek
sistemi istediğimiz gibi kontrol
edebiliriz. Kp, Ki ve Kd
parametrelerini
en
uygun
şekilde
seçmeliyiz
aksi
takdirde çok büyük aşma ve
çok uzun yatışma zamanı ile
karşılaşmamız mümkündür.
Ş ekil.9.39 . P ID B asam ak Y anıtı
Serhat YILMAZ, [email protected]
Slide 48
Kaynaklar
1. http://www.engin.umich.edu/group/ctm/
2. Kandemir,V., 2008, PID Kontrol ve
Uygulamaları Lisans Tezi, KOÜ,Elektronik ve
Hab. Bölümü
Serhat YILMAZ, [email protected]