PID Nedir?

Katılım
15 Ara 2008
Mesajlar
21
Puanları
1
Yaş
34
abilerim bu pid nedir ne işe yarar nasıl bişeydir bana bu konularda yardımcı olup anlatırmısınız
 
proportional–integral–derivative controller (PID controller)

ingilizcesi

orantılı integral türetme açılımıdır

bir borudan 100 m3/min su geçmesi istensin. bunun kontrolü için senin borudan gecen suyun akışını birim zamanda algılayan elemana (flowmeter), borunun içinden geçen suyun miktarını ayarlayan boruya seri bağlı bir oransal vanaya, ve flowmeter deki değeri okuyup bu değere göre oransal vanayı kontrol edecek devre elemanına (genelde plc) ihtiyacın vardır.

plc yazılımı borudan gecen su fazla ise oransal vanayı bir miktar kapatacak, az ise açarak suyundaha fazla geçmesini sağlayacak dolayısı ile hassas bir şekilde borudan geçen suyun miktarının sabit kalmasını sağlayacaktır.

plcnin değer okuyup vanayı kontrol edebilmesi için içinde çeşitli fonksiyonlara veya denklemlereihtiyacı vardır

flow metre değeri plc okur - değer plc içindeki denklem ile işleme girer - çıkan değer oransal vanayı kontrol için vanaya gönderilir

işte bu flowmeterden değer okuyup oransal vanayı kontrol etmeye yarayan plc içerisindeki denklem ve kontrol dizisine pid denir
 
birde bunu ısı için digıtall çıkışla yapmamızz gerekiyo burada devreye pwm mi girioo
 
salt plc ile değilde genel anlamda otomatik kontrol bilimi ile alakalı bir konudur, şimdi bunu izah etmeye çalışmak saatlerimi alır ama bildiğim kadarıyla halen Uludağ Üniversitesi'nde görevli Prof.Dr. İbrahim Yüksel'in kitaplarını edinebilirseniz harika bir şekilde anlarsınız.
 
sanli arkadaşımın dediği doğru. plc olması şart değil ben örnek bir devre anlatmaya çalıştım. yukarıda anlattığım devrede benim kontrol elemanım plc ydi. buraya mikroişlemci veya farklı kontrol elemanıda gelebilir.

hangi kontrol elemanı gelirse gelsin içindeki bu kontrolü yapan yazılım bloğuna pid bloğu deniyor

pid kontrol elemanı içerisindeki bir fonksiyon bloğudur diyebilirim
 
birde bunu ısı için digıtall çıkışla yapmamızz gerekiyo burada devreye pwm mi girioo


Pulse-width modulation (PWM)

dediğin işlemi oransal olarak değilde elektrik pulseleri ile yapan devredir. tam olarak oransal bir kapalı çevrim sağlamasada o sistemde pid içerisine giriyor
 
PID yi iyi anlayabilmek için en az bir dönem otomatik kontrol dersi almak lazım
 
bi de kontrol diyince akla ilk gelen kitap Katsuki Ogata'nın MOdern Control Enginnering kitabıdır :)..göndermiş olduğum rar dosyasında da gerçekten bir iki tanesi kaliteli iş görebilecek opamplarla pidlerle ilgili uygulama war.Bu arada "elektronikmuh" nickli abimizin verdiği linlkerde çok faydalı.. pid ve kontrolle uğraşan her kişi mutlaka o sayfaları defalarca ziyaret etmiştir :) :)
 

Ekli dosyalar

  • pid ile ilgili dökümanlar.rar
    3.5 MB · Görüntüleme: 6,681
  • PID%20OAPM.rar
    99.4 KB · Görüntüleme: 3,340
PID sadece bir kontrolör modelidir.
PI, PD, PI-PD, gibi farklı kontrolör modelleri de mevcuttur.

Pek ilgilenilmese de, sistem dinamikleri, parametreleri ile yakından ilgilidir aslında.
yukarıda bir mesajda belirtildiği gibi otomatik kontrol dersi ile PID nedir anlaşılabilir.
 
Set değer ve aktuel değer arasındaki farka hata dersek
P oransal kazanç o anki hatanın belirli bir katıyla çıkışı kontrol eden değişkendir
I integral(toplamsal) etkisi demektir, bu da mevcut hata ve daha önceki hataların toplamıyla çıkışa etki eden değerdir.
D türevsel(değişim miktarı) etkisidir, bu da mevcut hatanın bir önceki hatayla değişiminin(farkının) miktarıyla çıkışa etki eden değerdir.
Çıkış bu üç etkinin toplamıyla kontrol edilir.
Kod:
previous_error = setpoint - process_feedback //Bir önceki örneklemedeki hata

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
Hata sıfıra yaklaştıkça(aktuel değer set değeri yaklaştıkça) P ve D nin etkisi azalır neden dersen P hatanın bir katıydı hata yok olmaya yakın, D ise hatada değişimi arar o da azalmış, I integral (lisede öğretilen ama neden öğrendiğimizi anlamadığımız) devrede, sistem çıkışı integral etkisi altına girer ve integralle aktuel deger kumanda altında kalır. Integralin devrede olması demek aktuel değerin set degere kadar gelirken harcadığı süre içerisinde girişten aldığı hata örneklerinin toplanmasıyla oluşan kontrol değeridir.

Hata sıfıra yakınken(sistem oturmuşken), sıcaklıktan örnek verecek olursak, oturmuş bir sıcaklığı, ani bir soğutmada soğumanın ne kadar hızlı olduğuyla D türev kontrolü alır ve sistemi hatanın değişim miktarının oranıyla tepki vererek ısıtır, soğuma hızı azaldığında(hatanın değişim miktarı sıfıra gittiğinden türevin etkisi azalır) ve tekrar P ve I kontrolü ele alarak set değere sistemi oturtur.

D katsayısı sistemin dinamikliğini belirler, sistemdeki aktuel değerin tepe noktalarında etkisi yok denecek kadar azdır, o yüzdendir ki matematiksel olarak, bir fonk.da birinci türevi sıfıra eşitlemek fonksiyoun maksimum veya minimum yaptığı noktaları bulmaya yarar(matematikten hatırlayın 2nci derece denklemler konusu). Kısaca bu türev olayı aktuel değerin değişim hızı ne kadar fazlaysa o kadar fazla kontrolü eline alır. Sizin için dinamiklik önemli degilse P-I kontrollede işinizi halledersiniz.

Sistem ilk startı aldığı durumda ise P nin hata fazla old. için etkisi fazladır, I daha hataları toplama işlemine yeni başlamıştır, D ise aktuel değerin set degere yaklaşma hızıyla orantılı oldugundan sistemin dinamik cevap vermesine göre etkisini gösterir.

Kısaca üç adet cambazı bir ipte tutma tekniğidir ve PID katsayıları otomatik bulan ayarlar(Autotunning deniyo) bu tip PID kontrol cihazlarıyla veya PLC yazılımlarıylada bu katsayılar bulunabiliyor.
Basit uygulamalar için PID bloğu aşağıdaki örnekte verilmiştir.
Kod:
FUNCTION FC100 : VOID

VAR_INPUT
   SP:REAL;
   PV:REAL;
   Kp:REAL;
   Ti:REAL;
   Ts:REAL;
   LowLimit:REAL;
   UpLimit:REAL;
END_VAR

VAR_OUTPUT
   INTEGER_OUT:INT;
END_VAR
VAR_IN_OUT
  REAL_OUT:REAL;
END_VAR

VAR_TEMP
  e_n:REAL;
  e_n_1:REAL;
  MvDiff:REAL;
END_VAR

BEGIN
   e_n:=SP-PV;
   MvDiff:= ((e_n-e_n_1)+((e_n*Ts)/Ti))*Kp;
   REAL_OUT:=MvDiff+REAL_OUT;
   INTEGER_OUT:=REAL_TO_INT(REAL_OUT);

   IF REAL_OUT<LowLimit THEN
       REAL_OUT:=LowLimit;
   ELSIF REAL_OUT>UpLimit THEN
       REAL_OUT:=UpLimit;
   END_IF;

END_FUNCTION

https://www.kontrolkalemi.com/forum/konu/pid-kontrölde-formüllerin-anlamları.25621/page-2
Engineers-Excel.com: PID Loop Simulator
PIDTuningOptimization - ControlsWiki
CTM: PID Tutorial
MATLAB Central - File detail - PID Controller Matlab Code
MATLAB Central - File detail - Temperature Control with the Use of PID
 
Son düzenleme:

Forum istatistikleri

Konular
128,126
Mesajlar
915,242
Kullanıcılar
449,839
Son üye
Qkay

Yeni konular

Geri
Üst