Geri besleme kontrol sistemlerinin anatomisi
Aşağıdaki şekilde PID kontrol sistemlerinin blok diyagramını görüyorsunuz:
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:
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:
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ış.
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:
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:
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
Çok faydalı ve basit anlatım. Teşekkür ederim.
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?
Kp, Ki ve Kd değerlerini belirliyorsunuz. Bunu da arduino kodu içinde kullanıyorsunuz. PID olan bir çizgi izleyen kodunu incelerseniz bunu görürsünüz.
dth11 sensöründen alınan değeri pıd ile kontrol edebilir miyim ?
Sade, anlaşılır ve güzel bir anlatım olmuş. Teşekkürler.
Güzel bir özet olmuş, elinize sağlık. Örnek Arduino PID uygulaması arayanlar için bu video faydalı olabilir. https://youtu.be/SX5V_52DTSA