PID Kontrol ve Algoritması

Korkut Ata İHA sitesinden
Bhtyrbyr (mesaj | katkılar) tarafından oluşturulmuş 23:56, 2 Mayıs 2021 tarihli sürüm
(fark) ← Önceki hâli | En güncel hâli (fark) | Sonraki hâli → (fark)
Şuraya atla: kullan, ara

Açıklama

Kategori: Kontrol Sistemleri

Yazar: Mustafa SAVURAN


Kontrol sistemleri:

    Kontrol sistemlerinin amacı sistemden alınmak istenilen çıkış değeri ile sistemin verdiği çıkış değeri arasındaki farkı bulmaktır.Bulunan bu fark değeri ile sistem üzerinde kontrol gerçekleştirmektir. Bu farka error (hata) denir. Kontrol sisteminde, sistemin girişi değiştirilerek error değeri en aza indirilmeye çalışılır.

Proportional-(Oransal),Integral-(İntegral),Derivative-(Türev) controller, ölçülen değer(process value) ile istenen ayar noktası(Setpoint) değeri arasındaki error değerini hesaplar. Setpoint olarak belirlenen değer ile motor hızı, sıcaklık yada herhangi bir girdiden alınan değer farkı alınır.

  Error = Setpoint(SP) - Process value(PV)

Error değeri oran, türev ve integrali alınarak çarpılır. Çıkış devresine yeni değer aktarılır. Bu yeni değer sistem içerisinde kıyaslanır. Bu işlem, error 0 ya da minimuma yakın bir değer alana kadar devam eder.

PID Kontrol Blok Şeması-1
PID Kontrol Blok Şeması-2
Hata Grafiği

Proportional Kontrol

P=Kp*Error

    Proportional sistemdeki error değerini (Kp) katsayısı ile çarparak setpoint kısmına yakınlaştırıp, küçültmeyi hedefler. Bu işlem, error değerini hızlıca düzeltir ancak çıkışta salınım yapma ihtimali artar.

Şekil 1-Proportional ile Kontrol Grafiği
Şekil 2-Proportional ile Isıtıcı Kontrol Grafiği
  • Kp değeri arttırılırsa error değeri hızla azalır.
  • Kp değeri düşük olursa salınım azalır ancak Şekil 1'de görüldüğü gibi Kp=1 değerinde error minumum şekilde devam eder ve hedef noktaya ulaşma süresi artar.
  • Kp değeri yüksek olursa error çok çabuk düzeltilir ancak setpoint değerini hızlı bir şekilde geçer.Bu yüzden salınımları önlemek için Kp değeri yüksek seçilmemelidir.
  • Şekil 2 de görüldüğü gibi bazen (Kp) değeri ne kadar yükseltilirse yükselsin setpointe ulaşılamaz. Ayrıca Şekil 2'de t=2 zamandan sonra ortamda bir değişikliğin oldugunu, bu değişikliğe proportional kontrolünün nasıl tepki verdiği gözlenmiştir.

Integral Kontrol

I=Ki*Error

error_sum+=error

    İntegral error değerinin alanını bulmak anlamına gelir. Bu işlem her bir periyottaki error katsayı (Ki)değeri ile çarpılarak toplanır. Setpoint değerinin altında yaptığı error değerinin alanı kadar setpoint değerinin üst kısmında da salınım yapar. İntegral çok fazla artmadan sınırlandırılması gerekir. 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.

Şekil 3-İntegral ile Kontrol Grafiği
Şekil 4-İntegral ile Isıtıcı Kontrol Grafiği
  • Sadece integral ile kontrol yapılırsa toplam error değeri kadar setpoint değerinin üstüne çıkar. Setpoint üzerinde toplam error değerini tekrar hesaplar ve setpoint altında toplam error değeri kadar salınım yapar. Bu nedenle sonsuz bir osilasyon değeri elde edilir.
  • Eğer (Kp) değeri ile (Ki) değeri aynı anda hesaplanırsa başlangıçtan setpoint değerine kadar (Ki) değeri, sürekli error değerlerini toplama içerisinde olduğu için büyük bir error değeri oluşacaktır. Bu nedenle (Kp) değerini belirli bir noktaya getirip, (Ki) değerini (Kp) değerinden sonra başlatmanız gerekir. Böylece oluşacak salınımlar büyük oranda azaltılmış olur.

Derivative Kontrol

D=Kd*Error (d/dt)

    Derivative zamana bağlı değerin değişimi ile ilgilidir. Sistemde gerçekleşen değişim sırasında gerçekleşecek değişimi fark eder ve sistemi istenen değerin üzerine çıkmaması için yavaşlatır.

Şekil 5-PD Kontrol

PID Kontrol Grafiği

Şekil 6-PID Kontrol ile Isıtıcı

    Şekil 6'da Proportional, Integral ve Derivative kulanılmıştır. Verilen grafikte değişken bir ortamda (Kp), (Ki) ve (Kd) katsayılarına farklı değerler verilerek sinyallerin oluşturduğu hareketler gözlenmiştir.

Referanslar

fabacademy.org

Şekil 1-2-3-4-5-6/Blok Şeması-2

video