PID Kontrol Mantığı

Başlatan ete, 23 Ekim 2004, 10:57:02

ete

Arkadaşlar,

100-700 derece arasında çalışacak bir sistemin sıcaklığını PID kullanarak kontrol etmek istiyorum. Board'ı araştırdım. Bu konuda önceleri bazı talepler olmuş ancak ortada somut bir netice yok. Bu konuda bilgisi olanlardan yardım rica ediyorum. Yaklaşık 10 günden beri PID konusunda yazılmış her şeyi okudum. Tümü işe teorik yaklaşıyor. Tabiiki benim bu konuda bir alt yapım yok. Ancak örnek olursa işi kavrayabilirim. Bu nedenle basitçe bir kontrol mantığını açıklayacak ve bir  örnek verebilecek arkadaş var ise yardımını bekliyorum.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

birisi_r

ete kardeş bende işin teroiği konusunda inverted pendulum üzerinde çalışmıştım geçen dönem.. pratiğinden çok bahsedeemem ama genede bir kaç bişiler yazıyım belki yarıdımım olur...

 öncelikle PID giriş sinyallerinin türevini integralini ve orantısal kazancını oluşturarak bir çıkış verir.. bunlara tüev kazancı (Kp) integral kazancı (Ki) ve orantısal kazanc (K)denir.. tüm olay bu kazanç değerlerini ayarlayabilmesinde biter.. bu sistemin kararlı yada kararsız olması ile yakından alakalı.. öncelikle sistemin matematiksel modellemesi çıkarılarak genelde matlab ortamında step response (adım yanıtı) gibi grafiklerle sistem analiz edilir ve karmaşık matematiksel işlemler sayesinde bu kazançların değerleri tespit edilebilir...

  ANCAK benim tahminim bu sıcaklık ile ilgili sistem kararlı ancak kararlı hale geçme süresinin kısaltılması istenebilir.. eğer sistem kararsızsa bile pratrikde en çok uygulanan yöntemi uygulamanı tavsiye ederim buda elbette deneme yanılma yöntemidir.. kontrolörün üzerinde mutlaka bahsettiğim kazançların girilmesi gerekir.. bu kazançları deneyerek bir müddet sonra istediğin durumu elde edebilirsin.. yalnız bu deneme yanılma sürecini kısaltmak için hangi kazancın neye etkidiği bilmek önemlidir... örneğin integral kazancı aşmayı düşürüken türev kazancı yerleşme zamanın düşürür... doğru yada ters orantılı olarak (kazançların etkilerinde yanılıyor olabilim)  eğer bu verdiğim bilgiler işine yarıycaksa hangi kazancın neyi etkilediğiyle ilgili bi taplo olacaktı elimde onu bulmaya çalışırım...
   ama bu yöntemde elinde tablo olmasa bile öncelikle iki kazancı örneğin türevsel kazançla integral kazancını 1 alarak orantısal kazancın yani k nın sistem üzerinde nasıl bir değişiklik meydana getirdiğini sonra diğer iki kazancı sıfır yaparak türevsel kazancın ne gibi bir durum oluşturduğunu irdeleyebilirsinn.

umarım yardımı olur başarılar....

z

Dinamik sistemlerin her hangi bir andaki cikisi, sadece o anda sisteme giren sinyale bagli değil, o anki ve daha onceki giris sinyalinin degerine baglidir. Bu nedenle bu sistemlere hafisazi olan sistemler denir.

Ornegin sicaklik kontrolunda sicakligi sabit tutulmak istenen ortamin herhangi bir andaki sicakligi, isiticiya o an uygulanan voltajin degerine ve taa basindan beri isiticiya uygulanan voltajin degerlerine de baglidir. (Daha onceki giris sinyalleri ortamin isinmasina neden oldugu icin su anda uguladiginiz sinyal ortam sicakligina ani olarak buyuk etkide bulunmaz)

Dolayisi ile bu sistemlerde cikis ani olarak degistirilemez. Ornegin ucunda buyukce bir disk bulunan motorun hizini kontrol etmek zordur. Zira motora uygulanan voltaji aniden degistirmek motor devrinde ani bir degisime neden olmaz. Bu da motora uygulanan voltajin nasil bir sey olmasini dusunmemizi zorlastirir

Dinamik sistemlere ataletli sistemlerde diyebiliriz. Sistem cikisini yukseltmek yada dusurmek icin zamana ihtiyac vardir. Bu zamanin mumkun oldugunca dusuk olmazi arzulanir.

------------------------------------------------------------------------

Sistem cikisi, bir giris ile yonetilir. Amac, cikisin girisi izlemesi daha dogrusu cikis ile giris arasindaki farkin (hatanin) sifir olmasidir.

Cikis ile giris arasindaki fark (hata sinyali)  islenerek kontrol sinyali elde edilir ve bu sinyal actuator'e (motor, selenoid, isitici vs) uygulanir.

(Yani, cikisin degerini oku giris ile arasindaki farki hesapla bunu isle ve sonucu isiticiya uygula. bu islemi surekli yap.)

Yukaridaki cumlede "bunu isle" olarak tabir ettigimiz kisim sizin merak ettiginiz PID bolumudur.

PID kontrolda, ataleti olan bir sistemin mumkun olan en kisa zamanda istenen hataya ulasilmasi icin hata sinyali ustunde bir dizi hesap yapilir.

Bu hesaplar.

1. Hata sinyalinin Kp gibi bir kazanc ile carpilmasi
2. Hata sinyalinin integralinin Ki kazanci ile carpilmasi
3. Hata sinyalinin turevinin Kd ile carpilmasi
4. Bulunan bu 3 degerinin toplanmasi ve cikisa verilmesi


Turev ve integral icin tiklayin


Gorulecegi uzere PID aslinda basit bir kac islemden ibarettir.

Peki buradaki Kp, Ki, Kd nasil tespit edilir.

Iste bu kisim PID nin can alici kismidir. Bu asamada Ziegler Nichols deneysel yontemine bakabilirsiniz.

Ziegler Nichols

Elektrikli motor ile hareket ettirilen bir arabanin PID ile kontrolunda
Kp, Ki ve Kd nin degisiminin sisteme olan etkisi hakkinda belki asagidaki link biraz fikir verir.

Motor-PID-Trajectory
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

aster

Hocam, eline ağzına sağlık döktürmüşsün gene  :D

ete

Arkadaşlar,

Herkese teşekkürler. İşin çok kolay olmadığını anlıyorum. Zor yanı parametrelerin tespiti. Aslında yardımı bu konuda çalışmış ve gerekli parametreleri tespit etmiş biri vardır diye istemiş idim. Anladımki yok. Neyse biraz daha çalışmak gerekiyor.

Tekrar teşekkürler.
ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

birisi_r

her sistem için paremetler ayrı ayrı tespit edlir... daha önceden birinin aynı sistem üzerinde çalışmış ve paremetleri tespit olmuş olması bile aynı paremetlerin sizin işnize yarıycağı manasına gelmez... sistemdeki ,...1 lik kayma bile paremetreleri değiştirecektirr.....

Erol YILMAZ

Parametreleri o kadar kafaya takma. Sen sistemi kur.
Parametrelerin ayarını  küçük bir kapta deneyler yaparak öğrenebilirsin.
Büyük sistemde aynı olacak sonuçta, sadece sürelerin artacak.
Deneysel yolla sistemin parametrelerini bulmak için Ziegler Nichols'un birim basamak yöntemi diye bir yöntemi var. Başarıyla uygulanıyor.
Bir de sistem parametreleri denildiği gibi ultra hassas değil.
Üç aşağı beş yukarı, tutar...

salim ALTIN

Merhaba.
Ya arkadaşlar ben okudum yazılanları ama bişey anlamadım. bunun formülü varmı.
böyle bir şey anlaşılıyo gibi.
 hata=olması gereken - şuanda elde edilen (mi???)
     hata x Kp
     İnt hata x Ki
     türev hata x Kt
   +-------------------
         ?????????

Bunlarıda verilen linkten buldum(teşekkürler ayrıca)

PID düzeneği,   Kp * e(t) + Ki * İntegral e(t) + Kd * türev e(t)  bağıntısını hesaplayarak (yada işleyerek) motor için kontrol sinyali üretir.
Kp, hata sinyalinin yükseltilmesini sağlayan kazanç faktörüdür.

Ki, hata sinyalinin integralini olan sinyalin yükseltilmesini sağlayan kazanç faktörüdür. İntegral almada zaman sabiti olarak da anılır.

Kd, hata sinyalinin türevi olan sinyalin yükseltilmesini sağlayan kazanç faktörüdür. Türev almada zaman sabiti olarak da anılır.
İnsanlar 3 guruba ayrılırlar. 1- Birşeyler yapıp üretmeye çalışan küçük bir gurup. 2- Birşeyler yapanları hayranlıkla ve takdirle izleyen büyük bir gurup. 3- Hiç birşeyden haberi olmadan yaşayan devasa yığınlar....

z

Evet Salim aynen o şekilde, bu en yazım PID'nin basit hali.

Digital domain'de (Dumrul bey kızacak ama :D ) Türev almanın zorluğu nedeniyle türev bağıntısında değişiklik yapılır. Böylece gürültünün türevinin yüksek genliklere neden olması engellenir.

Aynı şekilde integralde de saturasyona başvurulur. Büyük bir hatanın integralinin alıp başını gitmemesi için integratör sature edilir yada integrator kendi içinde kapalı döngüye alınarak integratör çikişi belirli bir değerde sabitlenir.

Bu ek ilavelere rağmen senin yazdığın ifade çoğu uygulamada yeterli olur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Erol YILMAZ

Evet, integraldeki saturasyonu biliyorum ama Türev olayını tam anlayamadım. yani türevdeki problemi ve problemin çözümünü...

tnr

Arkadaşlar bu PID mantığını ben de çok merak ediyorum ve öğrenmek istiyorum. Bu PID 'yi sıfırdan anlatan bir link pdf veya kitap var mı önerebileceğiniz.

cozturk

Arkadaşlar bu işin en popüler uygulamalarından birisi kuluçka makinesidir.sıcaklık çok dar bir alanda sabit tutulmalıdır. sistemin reaksiyon süresi de çok kısa olmalıdır. Tabi bu süre ortama göre değişmektedir.


z

Alıntı yapılan: "Erol"Evet, integraldeki saturasyonu biliyorum ama Türev olayını tam anlayamadım. yani türevdeki problemi ve problemin çözümünü...

Turev, yuksek frekanslarda cok yuksek genliklerin olusmasina dolayisi ile de gurultunun yukseltilmesine neden olur.

Bu nedenle turev ifadesi sTd yaklasik olarak   sTd/(1+sTd/N) olarak alinir.
Boylece max. turevsel kazanc N ile sinirlanmis olur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Alıntı yapılan: "tnr"Arkadaşlar bu PID mantığını ben de çok merak ediyorum ve öğrenmek istiyorum. Bu PID 'yi sıfırdan anlatan bir link pdf veya kitap var mı önerebileceğiniz.

PID'yi gercekten ogrenmek istiyorum derseniz Kontrol 1 konularina goz atmaniz gerekecek. Damardan PID'ye giris yapmazsaniz cok sey havada kalir.

Yok ben PID kontrol yapacagim derseniz, sadece bu tartismada yazilanlar yeterli.

PID =  Kp * e(t) + Ki * İntegral e(t) + Kd * türev e(t)

Hepsi bu.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com