- Katılım
- 13 Ocak 2007
- Mesajlar
- 2,284
- Puanları
- 1,866
- Yaş
- 47
PID bir kontrol yöntemidir. Piyasada en çok kullanılan kontrol yapısı olduğundan konu hakkında çok fazla fikri olmayan biri buna somut anlamlar yükleyebilir. Aslında sorun nasıl pid katsayıları hesaplanır değil elimdeki sistemi nasıl kontrol edeceğim olmalıdır. Kontrol elektroniğin önemli bir alanı olup en genel anlamda sistemlerin istenilen davranışı istenilen yada beklenilenin altında hata ile genellikle otomatik olarak gerçekleştirmesini sağlamayı amaç edinmiştir.
Yukarıda elimden geldiğince ve kısaca kontol nedir açıklamaya çalıştım. Bir kontrol probleminde ilk olarak (genelde) elindeki sistemin bir modeline ihtiyaç duyarsın. Bunun için bir çok yöntem olmakla beraber genellikle çok kolay bir şey değildir. ( Bu konuda ayrıntılı bilgi talep edersen başka kaynaklar önererek yardımcı olmaya çalışabilirim) Daha sonra sistemden beklediğin davranışa karar verir ve bu kriterleri sağlayan uygun kontrolör yapısını seçersin.( Bir çok endustriyel yapıda oldugu gibi senin sistemin için PID kontrolör büyük ihtimal yeterli olacaktır.) Daha sonra istediğin davranış kriterlerini sağlayan kontrolör katsayılarını belirlersin. Bu işlemleri yeterli kontrol bilgisi olmadan elde yapmak mumkun olmayacaktır. Aslında yeterli kontrol bilgisi olmadan yapman mumkun olmayacak desek daha dogru olur. Ancak matlab simulink yada (kök eğrisi biliyorsan) sisotools kullanarak deneme yanılma ile yapabilirsin
PID paramametrelerinden de kısaca bahsedeyim. PID (proportional-integral-derivative) açılımından da anlaşılacağı gibi oransal - integral ve türev kontrolleri sağlar. Birim geri beslemeli blok diyagramı yorumlayabildiğini umarak devam ediyorum.
Sisteme vereceğimiz referans giriş(çıkışın ulaşmasını istediğimiz değer)'den sistem çıkışını ölçerek elde ettiğimiz geri besleme değerini çıkararak bir hata ifadesi elde ederiz. Bu hata ifadesi kontrolör (PID) girişi olur ve bunun oransal türevsel ve integral işlemlerine tabi tutarak elde ettiğimiz değeri sisteme kontrol işareti olarak veririz. Bu kontrol işaretinin sistemden beklenen referansı en iyi (istenilen-en kısa-en az aşımlayada aşımsız vs vs) bir şekilde çıkışta oluşturmasını bekleriz. İşte bu PID kontrolör sisteme nasıl bir kontrol işareti versinki sistem çıkışı arzu edildiği gibi olsun. Sonuç olarak PID verilen hata işaretini bir kazanç ile çarparak elde ettiği değeri ,sonra bir kazanç ve integral işlemine tabi tutarak elde ettiği değeri ve son olarak bir kazanç ve türev işlemine tabi tutarak elde ettiği değerleri toplayarak sisteme verir. Az önce kullandıgım üç kazanç ifadesi her sistem için ayrı olarak hesaplanır ve Kp (oransal) Kd (türev) Ki (integral) ile gösterilir.
Ayrıca kontrolör tasarlama işi doğrusal sistemlerde sağladığı kolaylıklar nedeniyle sistemin transfer fonksiyonu bulunarak S düzleminde kolayca yapılır. S düzleminde PID ifadesi :
Kp + Kd*s + Ki/s veya (Kp*s+Kd*s^2+Ki)/s yada Kc[1+(1/Td)s +Ti/s] şeklinde gösterilir. Üçüde aynı şeydir.
Aynı zamanda PID ayrık olarak Z düzleminde, t(zaman) domeninde ve fark denklemleri ile de gösterilir. Ama ben yoruldumistersen devam ederim sonra.
Ve son olarak bu kazanç,türev,integral işlemi analog bir devre ile(opamp kapasite enduktans vs kullanarak) , bir mikrokontrolör(PIC vs kullanarak) ve PLC ile gerçeklenebilir.
PIC'i C programlama diliyle yazmak oldukça kolaydır. PLC de ise SCL ,STL veya LAD gibi diller mevcuttur. Siemens s7 300/400 plc lerde hazır PID blokları da bulunmaktadır ki sadece katsayıları girersin. Kontrol için DSP de kullanılabilir ve simulinkteki dizaynı oldugu gibi entegrenin içine gömebiliyorsunuz hiç bir programlamaya gerek kalmadan. Tabi PLC ve DSP senin sistemin için abartıya kaçar galiba.
Kolay gelsin.
Yukarda verdiğin katsayılar ise tam olarak anlamış olmasamda galiba Ziegler-Nichols katsayılarıdır ki kolayca PID katsayılarını hesaplamak için geliştirilmiş bir yöntem olup basit uygulamalarda istenilen sonuçları verdiği söylenir. Ama ben pek bilmediğim gibi tercih ve tavsiye etmem.
gerçekten çok guzel ve kısa bır acıklama yapmıssınız ustad
aslında benım gıbı kontrol sıstemlerıne cok aşina olmayan uygulamcılar dedıgınız gıbı pıd kontrole somut anlamlar yukleyerek uygulamayı nasıl yapabılecegını aramakta
uygulamaya daır kucuk ornekler verebılırsenız aslında,azda olsa bı fıkır sahıbı olabılırız dıye dusunuorum
tskler...
previous_error = setpoint - process_feedback
integral = 0
start:
error = setpoint - actual_position //Hata üretilir
integral = integral + (error*dt) //Hata ve bir önceki örneklemedeki hatalar toplanır
derivative = (error - previous_error)/dt //Hatadaki değişim miktarı belirlenir
output = (Kp*error) + (Ki*integral) + (Kd*derivative) //Çıkış bu değişkenlerin toplamıyla
previous_error = error //Her çevrimde o andaki hata değeri saklanır
wait(dt) //Örnekleme zamanı kadar beklenir
goto start //Bir sonraki çevrim için start a gidilir
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?