|
Ana Sayfa | Kayıt ol | Yardım | Ortak Alan | Ajanda | Bugünkü Mesajlar | XML | RSS | |
06-09-2008, 12:56 | #1 | ||
ยŦยк Üyelik tarihi: Jan 2007
Mesajlar: 11.262
Tecrübe Puanı: 41 |
http://www.wekatronik.com/pid_files/...id_files/1.jpg PID (Proportional-Integral-Derivative) günümüzde çok kullanılan bir kontrol yöntemidir. Endüstrideki uygulamaların %75’inde uygulanmıştır. Çok geniş bir uygulama alanının olmasına rağmen PID uygulamaları için standart bir tanımlama yoktur. Karl Astrom'a göre PID algoritması aşağıdaki gibidir: http://www.wekatronik.com/pid_files/2.jpg Burada u(t) kontrol değişkeni, e(t) toplama noktası, y(t) çıkıştan ölçülen değerle aynıdır. K, Ti, Td PID parametreleridir. Yukarıdaki formülü biraz daha basite indirgersek: http://www.wekatronik.com/pid_files/3.jpg P: Oransal I: İntegral D:Türevsel http://www.wekatronik.com/pid_files/4.jpg PID AYARI Sistemin istenilen şekilde çalışabilmesi için PID parametrelerinin ayarlanması gerekmektedir. Bunun için çeşitli yöntemler uygulanmaktadır: Elle ayarlama veya parametrelerin hesaplanması (Ziegler-Nichols metodu). Ziegler-Nichols metodu 2 şekildedir: 1-Sistemin açık çevrim step cevabında aşağıdaki değerler hesaplanır. http://www.wekatronik.com/pid_files/5.jpg http://www.wekatronik.com/pid_files/6.jpg 2- PID kontrolörün I,D katsayıları 0 yapılır. P sistem osilasyona gidene kadar yavaş yavaş arttırılır. Sistemin osilasyona gittiği andaki P değerine Ku, osilasyon frakansına Pu dersek http://www.wekatronik.com/pid_files/7.jpg PID Örnekler PID kontrol her alanda kullanılması nedeniyle bir çok örnekleri vardır. Burada sistemin kendisine uygulama yerine simulasyon örneklerini bulabilirsiniz. Örnek: Matematiksel modeli aşağıdaki gibi olan bir sistem için Matlab ile simulasyonunun yapılması http://www.wekatronik.com/pid_files/8.jpg Burada PID parametreleri değiştirilerek simulasyonu çalıştırırsak sistem davranışını Scope ile aşağıdaki gibi görebiliriz. http://www.wekatronik.com/pid_files/9.jpg Uygun PID parametrelerini bulmak için sisteme Ziegler Nichols yöntemini uygulayalım. Bunun için PID'nin I ve D parametrelerini 0 yapılarak P katsayısı sistem osilasyon yapana kadar yavaş yavaş artırılır. Şekildeki sistem için bu P=8 de gerçekleşmektedir. Osilasyon anındaki kazanca Ku osilasyon zaman aralığına Pu diyelim. Burada Ku 3.2 Pu ise yaklaşık 4 birim zamandır. Ziegler-Nichols yönteminden PID parametrelerini yeniden hesaplarsak aşağıdaki değerler elde edilir: P= Ku /1.7= 1.92 I= 2 / Pu = 0.5 D= Pu / 8 = 0.5 PID Burada oransal (P), integral (I) ve türevsel (D) denetleyicilerin her birinin karakteristiklerini ve istenilen tepkiyi bulmakta nasıl kullanıldıklarını inceleyeceğiz. İşlemlerimizde aşağıdaki geri beslemeli sistemi tercih edeceğiz. http://www.wekatronik.com/pid_files/10.jpg Plant: kontrol edilecek sistem Denetleyici; Plant için uyarı sağlar; sistem davranışı denetlemek için tasarlanmıştır. Üç Terimli Denetleyici PID denetleyicinin transfer fonksiyonu aşağıdaki gibidir: http://www.wekatronik.com/pid_files/11.jpg <LI class=MsoNormal>Kp = Oransal kazanç <LI class=MsoNormal>Ki = İntegral kazancı Kd = Türevsel kazançYukarıdaki şemadaki kapalı döngülü sistem kullanılmış PID denetleyicinin nasıl çalıştığını inceleyelim. Değişken (e) izleme hatasını, istenilen giriş değeri (R) ile gerçek çıkış değeri (Y) arasındaki farkı gösterir. Bu (e) hata sinyali PID denetleyiciye gönderir ve denetleyici bu hata sinyalinin hem türevini hem de integralini hesaplar. Sadece denetleyiciden geçen (u) sinyali, oransal kazanç (KP) ile hata değeri, integral kazancı (Ki) ile hatanın integrali, türevsel kazanç (Kd) ile hatanın türevi çarpımlarının toplamına eşittir. http://www.wekatronik.com/pid_files/12.jpg Bu (u) sinyali denetlenen sisteme gönderilir ve yeni çıkış (y) elde edilmiş olur. Bu (y) çıkış sinyali algılayıcıya geri gönderilerek yeni hata sinyali (e) bulunur. Denetleyici yeni hata sinyaline aynı işlemleri uygular ve bu işlem böyle devam eder. P, I ve Denetleyicilerin karakteristikleri: Oransal denetleyicilerin (Kp), yükselme zamanını azaltmada etkisi vardır ve azaltır, ama asla tamamen yok etmez (kararlı hal hatası). İntegral denetleyicinin (Ki) karalı hal hatasının çıkarılmasında etkisi vardır ancak bu geçici tepkinin daha kötü olmasına sebep olabilir. Türevsel denetleyicinin (Kd) sistemin kararlılığının artmasında etkisi vardır, aşmayı azaltır ve geçici tepkiyi düzeltir. Kapalı döngülü bir sistemde, her bir denetleyicinin etkisi Kp, Kd ve Ki aşağıdaki tabloda özet olarak gösterilmiştir. http://www.supermp3.org/http://resim...res/124_11.JPG (http://www.resimupload.com/resim_upl...kleyen=Ekleyen) Unutmamalı ki bu düzeltmeler tam olarak geçerli değildir. Çünkü Kp, Ki ve Kd birbirlerine bağımlıdırlar. Yani değişkenlerden birinin değişimi diğer ikisinin etkisini değiştirebilir. Bu yüzden tablo Ki, Kp ve Kd değerlerinin belirlenmesinde sadece bir referanstır. Örnek: Basit bir kütle, yay ve tampondan oluşan bir problemimiz olduğunu varsayalım.. http://www.wekatronik.com/pid_files/13.jpg Bu sistemin model denklemi; Mx + bx + kx = F Yukarıdaki denklemin laplace dönüşümünü alırsak; Ms2X(s) + bsX(s) + kX(s) = F(s) http://www.wekatronik.com/pid_files/14.jpg olur. <LI class=MsoNormal>M = 1kg <LI class=MsoNormal>b = 10 N.s/m <LI class=MsoNormal>k = 20 N/m F(s) = 1 olarak alıp değerleri yerine koyduğumuzda transfer fonksiyonu aşağıdaki gibi olur. http://www.wekatronik.com/pid_files/15.jpg Bu problemin amacı Kp, Ki ve Kd’nin her birinin hızlı yükselme zamanı, minimum aşma ve hatasız kararlı hal elde etmedeki faydalarını görmektir. <LI class=MsoNormal>Hızlı yükselme zamanı <LI class=MsoNormal>Minimum aşma Kararlı hal elde etme Açık Döngü Adım Tepkisi İlk önce açık döngü adım tepkisini Matlab komutları ile ifade edelim. num=1;den=[1 10 20];step(num,den)Bu m-kütük’ün Matlab komutlarıyla çalıştırılmasıyla aşağıdaki grafik elde edilir. http://www.wekatronik.com/pid_files/16.jpg Denetlenen sisteme ait transfer fonksiyonunun DC kazancı 1/20’dir, bu yüzden birim basamak girişi uygulandığında çıkış değeri en yüksek 0,05 olur. Bu kararlı hal hatasının 0,95’i ile uyuşur, yani 1 büyüktür. Ayrıca, yükselme zamanı yaklaşık 1 saniye ve yerleşme zamanı yaklaşık 1,5 saniyedir. Oransal kontrol Tablo-1-de oransal denetleyicinin (Kp)yükselme zamanını düşürdüğünü, aşmayı arttırdığını ve kararlı hal hatasını azalttığını görmüştük. Yukarıdaki sistemin oransal denetleyicili kapalı döngü transfer fonksiyonu aşağıdaki gibidir. http://www.wekatronik.com/pid_files/17.jpg Oransal kazancı (Kp) 300’e eşit kabul edelim ve kütüğü şu şekilde değiştirelim. Kp=300; num=[Kp]; den=[1 10 20+Kp]; t=0:0.01:2; step(num,den,t)Bu kütüğün Matlab komutlarıyla çalıştırılması halinde aşağıdaki grafik elde edilir http://www.wekatronik.com/pid_files/18.jpg NOT: cloopolarak adlandırılan Matlab fonksiyonuyla kapalı döngü transfer fonksiyonu, açık döngü transfer fonksiyonundan direkt olarak elde edilir. Cloop komutunun kullanılmasıyla yukarıdakiyle özdeş bir grafik elde edilir num=1;den=[1 10 20];Kp=300; [numCL,denCL]=cloop(Kp*num,den);t=0:0.01:2;step(numCL, denCL,t) Yukarıdaki grafik bize oransal denetleyicinin yükselme zamanını ve kararlı hal hatasını düşürdüğünü, aşmayı arttırdığını ve yerleşme zamanını az bir miktarda düşürdüğünü göstermektedir. Oransal-Türevsel Kontrol Şimdi PD kontrolü inceleyelim. Tablo-1’e göre türevsel denetleyici (KD), yerleşme zamanını ve aşmayı azaltır. PD kontrollü bir sistemin kapalı döngü transfer fonksiyonu aşağıdaki gibidir. http://www.wekatronik.com/pid_files/19.jpg Kp’yi 300 ve KD’yi 10 alalım ve m_kütüğü aşağıdaki gibi değiştirelim. Kp=300;Kd=10;num=[Kd Kp];den=[1 10+Kd 20+Kp]; t=0:0.01:2;step(num,den,t)http://www.wekatronik.com/pid_files/20.jpg Yukarıdaki grafiğe göre türevsel denetleyici aşma ve yerleşme zamanını azaltır, yükselme zamanını ve kararlı hal hatasını çok az etkiler. Oransal-İntegral Denetleyici PID denetleyiciye girmeden önce PI denetleyiciyi inceleyelim. tablo-1’e göre integral denetleyici (Ki) yükselme zamanını azaltır,aşma ve yerleşme zamanını arttırır, kararlı hal hatasını yok eder. PI kontrollü bir sistemin kapalı döngü transfer fonksiyonu aşağıdaki gibidir. http://www.wekatronik.com/pid_files/21.jpg Kp’yi 30 ve Ki’yi 70 kabul edelim. M_kütükü şu şekilde değiştirelim. Kp=30; Ki=70;num=[Kp Ki]; den=[1 10 20+Kp Ki]; t=0:0.01:2; step(num,den,t) Bu m_kütük Matlab komutlarıyla çalıştırıldığında aşağıdaki grafik elde edilir. http://www.wekatronik.com/pid_files/22.jpg Hem oransal kazanç (Kp) hem de integral denetleyici yükselme zamanını azalttığı, aşmayı arttırdığı için çift etki oluşur. Bu etki integral denetleyicinin kararlı hal hatasını yok ettiğini gösterir. Oransal-İntegral-Türevsel Denetleyici Şimdi PID kontrolünü inceleyelim. PID kontrollü bir sistemin kapalı döngü transfer fonksiyonu aşağıdaki gibidir. http://www.wekatronik.com/pid_files/23.jpg Birkaç denemeden sonra istenilen tepkiyi elde etmek için kazançları Kp=350 Ki=300 KD=50 alalım. Bu durumda m_kütük aşağıdaki gibi olur. Kp=350;Ki=300;Kd=50; num=[Kd Kp Ki];den=[1 10+Kd 20+Kp Ki]; t=0:0.01:2;step(num,den,t)http://www.wekatronik.com/pid_files/24.jpg Genel PID denetleyici tasarımı için ipuçları: PID denetleyici tasarımında istenilen tepkiyi elde etmek için aşağıdaki adımlar izlenir: 1.Açık döngü tepkisi bulunur ve ihtiyaçlar belirlenir. 2.Yükselme zamanını düzeltmek için oransal denetleyici eklenir. 3.Aşmayı düzeltmek için türevsel denetleyici eklenir. 4.Kararlı hal hatasını yok etmek için integral denetleyici eklenir. 5.İstenilen tepki elde edilene kadar Kp, Ki ve KD ayarlanır. Hangi denetleyicinin hangi karakteristiği kontrol ettiğini tablo-1’den yararlanılarak bulabiliriz. Denetleyici tasarımında mümkün olduğu kadar basit tasarıma gidilmelidir. Eğer PI denetleyici ile istenilen tepki sağlanıyorsa, sisteme türevsel denetleyici eklenip sistem karmaşıklaştırılmamalıdır. Örnek: PID tasarım metodu ile DC motor hız kontrolü -Oransal kontrol -PID kontrol -Kazançların ayarı http://www.wekatronik.com/pid_files/25.jpg * rotor eylemsizlik momenti (J) = 0.01 kg.m^2/s^2 * mekanik sistemin sönüm oranı (b) = 0.1 Nms * elektromotor kuvvet 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 Bu problemde, DC motorun dinamik eşitliği ve açık döngü transfer fonksiyonu aşağıdaki gibidir. http://www.wekatronik.com/pid_files/26.jpg ve sistem şeması şöyledir: http://www.wekatronik.com/pid_files/27.jpg 1 rad/sn basamak girişli tasarım kriterleri: <LI class=MsoNormal>2 saniyeden az yerleşme zamanı <LI class=MsoNormal>%5’den az aşma %1’den az kararlı hal hatası Şimdi bir PID denetleyici tasarlayalım ve sisteme dahil edelim. İlk önce yeni bir m_kütük oluşturalım. 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)];PID kontrolü transfer fonksiyonu aşağıdaki gibidir: http://www.wekatronik.com/pid_files/28.jpg Oransal kontrol İlk önce kazancı 100 olan oransal denetleyici kullanarak inceleyelim. M_kütüğümüzün sonuna aşağıdaki komut dizisini ekleyelim. Kp=100;numa=Kp*num;dena=den; kapalı döngülü transfer fonksiyonunu çözmek için, cloopkomutu kullanılır. Bunu kütüğe aşağıdaki gibi ekleyelim [numac,denac]=cloop(numa,dena); numac ve denac kapalı döngü transfer fonksiyonu numaratör ve denumaratörüdür. Şimdi adım tepkisini nasıl göreceğimize bakalım ve bunu aşağıdaki gibi kütüğün sonuna ekleyelim. t=0:0.01:5;step(numac,denac,t)title('Step response with Proportion Control') aşağıdaki grafik elde edilir. http://www.wekatronik.com/pid_files/29.jpg PID kontrol Yukarıdaki grafikten kararlı hal hatasının ve aşmanın çok büyük olduğu görülür. İntegral halinin eklenmesinin kararlı hal hatasını yok ettiğini ve türev halinin aşmayı azalttığını daha önce görmüştük. Küçük Ki ve KD’ye sahip PID denetleyiciyi inceleyelim. kütüğümüzü aşağıdaki gibi değiştirelim. Bu kütük çalıştırıldığında aşağıda verilen grafik elde edilir. 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)]; Kp=100;Ki=1;Kd=1;numc=[Kd, Kp, Ki];denc=[1 0];numa=conv(num,numc);dena=conv(den,denc);[numac,denac]=cloop(numa,dena);step(numac,denac)title('PID Control with small Ki and Kd') http://www.wekatronik.com/pid_files/30.jpg Kazanç ayarı Yükselme zamanını çok uzun yapalım.Yükselme zamanını azaltmak için Ki’yi arttıralım.Kütükte Ki’yi 200 olarak değiştirelim. Bu durumda aşağıdaki grafik elde edilir. http://www.wekatronik.com/pid_files/31.jpg Şimdi etkinin öncesinden daha hızlı ama büyük olduğunu görüyoruz. Ki kötü bir geçici tepkiye sahip olur (büyük aşma). Aşmayı düşürmek için KD’yi arttıralım. kütükte KD’yi 10 olarak değiştirelim. Bu durumda aşağıdaki grafik elde edilir. http://www.wekatronik.com/pid_files/32.jpg Böylece, Kp=100,Ki=200, KD=10 alınarak PID denetleyicili tasarım için gereklilikler karşılanmış olur. | ||
|
Bu konuyu arkadaşlarınızla paylaşın |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |