Geri besleme kontrol sistemlerinin anatomisi

Aşağıdaki şekilde PID kontrol sistemlerinin blok diyagramını görüyorsunuz:

pid_kontrol şeması

Peki bu şemada ne denilmek isteniyor?

Buradaki Setpoint (SP) işlemin sonunda ulaşılmak istenen değerdir.

Örneğin; Evimizdeki sıcaklık kontrol sisteminin SP değerinin  22°C olduğunu düşünebiliriz. Bu şu demek: “Biz evimizdeki ısıtma ve soğutma aygıtlarının evimizin sıcaklığını 2 22°C’ye mümkün olduğunca yakın olmasını istiyoruz.”

Bir PID kontrolcüsü setpoint’e bakar ve bunu ulaşılmak istenen Proses değişkeni (PV) değeriyle karşılaştırır. Ev örneğine geri dönelim, Sıcaklık kontrol sistemimiz evimize bulunan sensörün ölçtüğü sıcaklığa (PV) bakar ve   22°C’yle karşılaştırır. Bu değere ne kadar yakın olduğunu ölçer.

Eğer SP ve PV aynıysa, PID kontrol sistemimiz için hiçbir sorun yok demektir. Yapılacak bir iş de yok demektir.

Tam tersine SP ve PV arasında bir fark varsa, bir hata (error) var demektir ve bunun düzeltilmesi gerekir.

Evimizde ölçtüğümüz sıcaklığın (PV) olması gereken sıcaklıktan (SP) daha yüksek olduğunu düşünelim. Soğutma sisteminin devreye girip evimizi soğutması gerekir.  Termometre evde daha düşük sıcaklık okudukça bu değer kontrol devresine gider. Buna feedback (geri besleme) denir. Kontrol devresi evin sıcaklığının biraz düşürüldüğünü ve hatanın azaldığını görür ve soğutucu sistemi biraz yavaşlatır. Bu işlem hata sıfır olana kadar yani evin sıcaklığının 22°C olana kadar devam eder. 

Sonra dışarıdan bir gürültü (noise, disturbance) gelir ve kontrol devresi tekrar hata algılar. Bizim ev örneğimizde bacadan esen soğuk bir rüzgar, açılan bir pencere gürültüye neden olabilir.

Elektroniğe yabancı olanlar için, bakınız:  gürültü

PID kontrol sistemlerinin basitçe anlatımı bu kadar.  Buraya kadar sıkıntı yoksa devam edelim;

Kontrolörü anlamak

Ne yazık ki, gerçek dünyada yukarıda anlatılan kontrol sisteminden daha karışık kontrollerle karşılaşırız. Sistemimizden en iyi performansı elde etmek istersek PID algoritmasını daha iyi anlamalıyız.  Şimdi şu örneğe bir bakalım;

Rüzgarlı bir günde, boş yolda, şerit değiştiren bir arabayı analiz edelim. Biz sürücüyüz diyelim. Bu yüzden arabanın pozisyonunu değiştiren işlemlerin kontrolörü biziz.  Aşağıda daha önce kullandığımız blok diyagramı var. Sadece şartları yeni örneğimize adapte ettik:

pid_kontrol şeması

Yukarıdaki diyagramda feedback (geribesleme) nin ne kadar önemli olduğunu farkettiniz mi? Geri beslemeyi silersek “açık döngülü kontrol ” yapmış oluruz. Bu da arabanın yönünü gözümüz kapalı kontrol etmeye benzer.  Şükürler olsun ki araba kullanırken “kapalı döngü kontrol” sistemi kullanıyoruz. Yani gözümüz açık kullanıyoruz.

İlk örneğimiz olan “ev sıcaklığının kontrolü” örneğinde  kontrolör her ili SP ve PV sinyallerini alıp karşılaştırıyordu. Bu karşılaştırmanın sonunda aradaki hatanın giderilmesi için bir takım hesaplamalar yapılır.Bu hesaplamalara “kontrol modları” denir. Bunlar:

  • Proportional (P) – Oransal kontrol
  • Integral (I) – integral-tümlev kontrol
  • Derivative (D) – türev kontrol

olarak adlandırılır.

PID Kontrol Blok Şeması

PID kontrolörün nasıl çalıştığına dair basit bir blok diyagramı aşağıdaki gibidir:

pid_blok şeması

Bunlar uygulamada çok basitler. PV , SP’den çıkartılarak hata değeri bulunuyor. Hatanın P,I ve D hesaplamaları yapılıyor. Sonra bu hata hesaplamaları toplanarak yeni PV değeri elde ediliyor. Tabi bu elde edilen yeni PV değeri istenen SP değerine daha yakın bir değer.

Bu 3 mod garklı kombinasyonlarda da kullanılabilir:

P – Bazen kullanılır.

PI – Daha sık kullanılır.

PID – Bazen kullanılır.

PD – çok seyrek kullanılır fakat servo motor uygulamalarında faydalıdır.

Derivatives – Türev kontrol

Bir fabrikanın kontrol odasına girin ve operatöre sorun:

“4 nolu reaktör basıncının türev kontrolü veya derivativesi nedir?”

Aldığınız cevap genellikle şöyle olacaktır:

“Sen neden bahsediyorsun kardeşim?”

Sorunuzu şu şekilde değiştirirseniz:

“4 nolu reaktörün basıncındaki değişim oranı nedir?”

Operatör sizi anlayacak ve şöyle bir cevap verebilecektir:

“10 dakikada bir 5 PSI değişiyor”

Bu örnekte operatör basınç değişimini hesaplıyor.

İşte “derivative” matematiksel olarak “değişim miktarı” anlamına gelmektedir.

Integral

Birçok insan integral kelimesini duyunca iyi duygulara kapılmaz. Ama aslında integral günlük hayatta çok kullandığımız bir işlemdir. İntegralin basit bir tanımı şu şekildedir: Örneklemeye başladığınız zamandan bitime kadar ki tüm anlık sinyallerin toplamına integral denir.

Örneğin aşağıdaki grafikte sıcaklık ölçüm prosesi var. Bu grafikten de anlaşılacağı gibi her saniye bir örnek değer alınmış.

pid_curve

Yeşil çizgi sizin sıcaklık değeriniz. Kırmızı daire ise kontrol sisteminin örneklediği andaki sıcaklık değeri ve altında kalan mavi alan ise sıcaklık sinyalinin integrali. Bu 5 sıcaklık değerinin toplamına eşit bir değer.  Toplam alan aşağıdaki gibi hesaplanır:

(13 x 1)+(14×1)+(13×1)+(12×1)+(11×1) = 63 °C s

İntegral yukarıdaki gibi işlemleri daha hızlı yapabilmemizi sağlar. 5 örnekleme yerine 100 örnekleme olan bir sinyali integral yoluyla hesaplamak çok daha pratiktir.

Proportional- Oransal kontrol

Aşağıda sadece P kontrolün yapıldığı bir kontrol sisteminin blok diyagramı görülmektedir:

pid_ponly

Sadece P olan modda, kontrolör basitçe Proportional kazancına(Kp) göre hatayı çoğaltır ve kontrol çıkışa verir.

Oransal kontrol modu kontrolcü çıkışını hataya orantılı olarak değiştirir. Parametrik değer  Kazanç ( Gain Kp) ‘tır. Bu bazen P ayarı veya oransal ayarı olarak da tanımlanabilir.

Kontrol eylemi kontrolcü kazanç ve hataya orantılıdır. Yüksek bir kazanç değeri çıkış eylemini de artıracak ve hatayı da büyütecektir.

Peylemi = Kp x E

Burada çok ayrıntıya girmeyeceğim. Ama şu konuda bu işlem daha iyi anlatılmış. Buradan bakabilirsiniz.

Çok uyumlu bir çift: P+I kontrol

Eğer Proportional/oransal ve İntegral kontrolleri birlikte kullanırsak PI kontrolor elde ederiz. Aşağıdaki blok diyagramı PI kontrolün nasıl yapıldığını gösteriyor:

pid_pi

Buradaki püf nokta integral hakkında. Prosesinize ne kadar integral katacaksınız. Bu hesaplamayı yapmaya PID Tuning denir. “Hangi işlem için ne kadar integral gerekir?” bu sorunun cevabına yanıt aranır. Bunun için birçok yöntem var. Bunlardan birisi de Ziegler Nichols Yöntemidir. Yrd.Doç.Dr. Mustafa Doğan’ın hazırladığı sunuda bu yöntem anlatılıyor. Sunuyu buradan indirebilirsiniz: PID

Derivative-Türevsel Kontrol – geleceği tahmin etmek

Aslında şimdiye kadar anlattığımız P ve I  kontrol sistemi çoğu uygulama için tatmin edici sonuçlar veriyor. Bu yüzden PI kontrol sistemleri daha çok kullanılıyor. Fakat mühendisler hep daha iyisinin peşinde olduklarından dolayı, kontrol sistemlerine bir de Derivative eylemini katıyorlar ve PID kontrol bu şekilde tamamlanmış oluyor.

Derivative eylemini eklemekle, daha büyük P ve I kazançları sağlanabilir ve daha stabil, hızlı çalışan , performansı daha iyi olan bir kontrol sisteminiz olur.  Derivative sistem şu anki çıkışa ve değişimlere bakarak gelecekteki çıkışı tahmin etmeye çalışır. Derivative eyleminde kullandığınız birimler, ne kadar uzağı tahmin edebilmesiyle alakalıdır. Örneğin 20 sn sonrasını tahmin edebiliyorsa, derivative eylemi 20 sn dir.

D kontrolün en büyük sıkıntısı gürültü sinyalleridir.  Bir anda çevresel etkenlerdeki bir değişiklik tüm algoritmayı bozabilir.  İşin sonunda şunu demeniz muhtemeldir:

“Allah kahretsin! Proses çok hızlı değişiyor, hadi D kontrolü atalım!!”

Tabi gürültüleri filtrelemekle de uğraşabilirsiniz. Ama benden söylemesi: PI kontrol size yetiyorsa D ile uğraşmayın.

İsterseniz PID tuning ile ilgili şöyle bir program da var: www.pidtuning.net

 

6 YORUMLAR

  1. Pıd denilen şey kod mu oluyor arduino içerisinde mi kullanıyoruz yada ayrı bir reel elle tutulur birşey mi ? Bu hata payını bulan şey nedir?

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz