"Enter"a basıp içeriğe geçin

PID Kontrol -1 (PID Control -1)

Merhaba arkadaşlar bu yazımda PID kontrolünün temel prensibini ve nasıl koda dönüştüreceğimizi anlatacağım. PID kontrol döngüsü yöntemi , yaygın endüstriyel kontrol sistemlerinde kullanılan genel bir kontrol döngüsü geri bildirim mekanizmasıdir. Bir PID denetleyici ölçülü bir süreç içinde değişen ve istenilen ayar noktası ile arasındaki farkı olarak bir “hata” değerini hesaplar. Kontrolör proses kontrol girişini ayarlayarak hatayı en aza indirerek istenilen ayar değerine ulaşmak için çalışır.[1]

PID algoritması üç ayrı sabit parametreyi içerir ve buna göre bazen üç aşamalı kontrol denir: oransal, P ile  integral I ile türev değerleri, D ile gösterilir.[1]

Hata (Error)

Sisteminizde öncelikle hatayı tanımlamanız gerekmektedir.  Hata Referans değere olan uzaklık olarak açıklanabilir(Şekil1).

Ref = İstenilen değer

Gelen = Şu an ki konum

[php]
Hata = Ref – Gelen
[/php]

hata
Şekil1

Oransal (Proportional) Terim

Oransal terim, sistemden geri besleme olarak gelen hatanın bir kat sayıyla çarpılmasıyla elde edilir. Hata büyüdükçe daha yüksek değerler üreterek hatayı azaltmaya yarar(Şekil2). Ancak bozucu etkileri de vardır. Örneğin sistem istenilen değere yaklaştığında çıkışta osilasyon görülebilir (Şekil3). Bu yüzden çok yüksek seçilmemesi gerekir.

[php]
P = Kp * Hata
[/php]

 

2013-05-21 22.50.01
Şekil2
kp120ki0.02
Şekil3

İntegral (Integral) Terimi

İntegral hatanın alanını bulmak anlamına gelmektedir. Her bir dt çevriminde hata ki katsayısıyla çarpılarak toplanır(Şekil4). İntegralin çok yükselmesini önlemek için sınırlandırmak gereklidir. Sürekli toplandığı için integral çok artarsa tekrar azalmasını beklemek zaman alır. Bu yüzden integrali sınırlamak sistemin çabuk toparlamasını sağlayacaktır.

dt = pid fonksiyonuna her girdiğindeki geçen zaman.

[php]
I = I + (Ki * Hata * dt)
[/php]

pi
Şekil4

Türev (Derivative) Terimi

Türev sistemimizde iki örnekleme zamanı arasındaki değişimi hesaplamaya yarar. Eğer hatada bir değişim yoksa türev sıfırdır(Şekil5).

EHata = Bir önceki hatanın değeri (eski hata)

HD = Hata – EHata

[php]
D = (Kd * HD)/dt
[/php]

pid
Şekil5

PID

Kp , Ki ve Kd katsayılardır ve bu katsayılar deneme yanılma yöntemiyle bulunur. Ayrıca özel algoritmalarla bu katsayıların bulunması da mevcuttur.

[php]
Hata = Ref – Gelen
HD = Hata – EHata
P = Kp * Hata
I = I + (Ki * Hata * dt)
D = (Kd * HD)/dt
PID = P + I + D
EHata = Hata
[/php]

Bir sonraki yazımda AnkaKit üzerinde PID uygulamasını paylaşacağım.

Kaynaklar

[1] http://tr.wikipedia.org/wiki/PID

[2] http://www.youtube.com/watch?annotation_id=annotation_891845&feature=iv&src_vid=UR0hOmjaHp0&v=XfAt6hNV8XM

2 Yorum

  1. Muhammed ÇALIŞ Muhammed ÇALIŞ Haziran 1, 2013

    Devamını bekliyoruz 🙂

  2. M. Raşit Doğan M. Raşit Doğan Haziran 8, 2013

    eline ve zihnine sağlık.zamanı vaktinde anlamak için neler çekmiştim.halada çıraklık seviyesindeyim PID kontrolde.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir