PID katsayıları

rotsis

Üye
Katılım
7 Ağu 2011
Mesajlar
736
Puanları
6
Yaş
39
pid2.png
 
selamlar,
mavi : set degerim
yeşil : anlık değerim
kırmızı : çıkışım

1.set degerim yükseldikce yeşil ve kırmızı arasındaki fark artıyor
2.set degerini minimuma yakın bir degere çektiğim anda çıkışım sıfırlanıyor.

sizce hangi parametrelerle oynamalıyım?
 
Sn. rotsis,

P değeriniz fazla geldiği için overshoot durumu oluşuyor yani çok dinamik cevap alıyorsunuz. Eğer oransal değerinizi azaltırsanız çok daha düzgün bir artış gözlemlersiniz. Eğer hata sıfırlanmıyorsa yani çıkış değeri set değerine oturmuyorsa Integral kazancını yavaş yavaş arttırmanız gerekmektedir ki steady-state hatanız yani set değeri ile gerçek değer arasındaki fark sıfıra insin.

Bundan bağımsız olarak, PID parametre ayarları yapılırken ilk önce düşük oransal kazanç değerleri verilmelidir çünkü direk çıkış komut değerine etkilemektedir. Örneğin; set değeri 100 mm ve şu an pozisyon değeri 50 mm olsun. Eğer siz P kazancına 0.5 verirseniz, (100 - 50) * 0.5 = 25 gibi değer göndermiş olursunuz. Bu değer eğer analog çıkışa gönderiliyorsa ki genelde öyle olur, 25 Volt gibi bir değer göndermeye çalışmış olursunuz. Sistemin algılayabileceği +- 10V olacağı için siz motora bütün kapasitenle harekete başla demiş oluyorsunuz. Bundan dolayı oransal çok önemlidir. Bu değerler sürekli değişken olacağı için de ilk yapmanız gereken kontrol edeceğiniz sistemin (Servo motor, oransal valf, vs.) ne yapacağını öngörmenizdir. Çok basit bir şekilde "Aktüatör şu an nerede ve ben nerede olmasını istiyorum?" diye başlamanız en sağlıklı yöntemdir. Ezberleri bazen bozmak iyidir. :)

İyi çalışmalar,
 
Sn. rotsis,

P değeriniz fazla geldiği için overshoot durumu oluşuyor yani çok dinamik cevap alıyorsunuz. Eğer oransal değerinizi azaltırsanız çok daha düzgün bir artış gözlemlersiniz. Eğer hata sıfırlanmıyorsa yani çıkış değeri set değerine oturmuyorsa Integral kazancını yavaş yavaş arttırmanız gerekmektedir ki steady-state hatanız yani set değeri ile gerçek değer arasındaki fark sıfıra insin.

Bundan bağımsız olarak, PID parametre ayarları yapılırken ilk önce düşük oransal kazanç değerleri verilmelidir çünkü direk çıkış komut değerine etkilemektedir. Örneğin; set değeri 100 mm ve şu an pozisyon değeri 50 mm olsun. Eğer siz P kazancına 0.5 verirseniz, (100 - 50) * 0.5 = 25 gibi değer göndermiş olursunuz. Bu değer eğer analog çıkışa gönderiliyorsa ki genelde öyle olur, 25 Volt gibi bir değer göndermeye çalışmış olursunuz. Sistemin algılayabileceği +- 10V olacağı için siz motora bütün kapasitenle harekete başla demiş oluyorsunuz. Bundan dolayı oransal çok önemlidir. Bu değerler sürekli değişken olacağı için de ilk yapmanız gereken kontrol edeceğiniz sistemin (Servo motor, oransal valf, vs.) ne yapacağını öngörmenizdir. Çok basit bir şekilde "Aktüatör şu an nerede ve ben nerede olmasını istiyorum?" diye başlamanız en sağlıklı yöntemdir. Ezberleri bazen bozmak iyidir. :)

İyi çalışmalar,


harikasın üstadım.
şuan aslında bir analog inputum yok arge aşamasındayım 2 hafta sonra devreye almaya gidicem.
şuan için analog girişden okudugum degeri ben çıkışa göre bir oran kurup çıkışa bağımlı çalıştırıyorum.
yani sürekli bir dinamizm var :)

dediğiniz gibi integrali azar azar arttırınca resim1 gibi oturdugunu görüyorum.ancak çok fazla salınım var.yani tam bir sinüsoydal yakalayamama sebebim : ikinci resimde yaptıgım çıkışa göre feedback olayından dolayı mı?
 

Ekli dosyalar

  • pid3.png
    pid3.png
    2.1 KB · Görüntüleme: 52
  • pid4.png
    pid4.png
    373.6 KB · Görüntüleme: 48
ustad maxı aşarsa çıkış degerimi maxa eşitlediğim için yanma çatlama patlama triosu olmaz :)
 
pid5.png

oransal düşürdüğümde dediğiniz overshoot durumunu göremedim gerçekten.ama çok az salınım var.(en sagdaki )
 
Ekli dosyayı görüntüle 37007
oransal düşürdüğümde dediğiniz overshoot durumunu göremedim gerçekten.ama çok az salınım var.(en sagdaki )
Oransal değerini azaltırsanız overshoot durumundan kurtulursunuz ki son resimdeki ikinci verdiğiniz set değerinde güzel yaklaştığınız görülüyor. Sistem yük altındayken mi oluyor bu değerler?

Ayrıca salınımı sıfıra doğru indirgemek için oransalı azaltıp integral kazancı ile oynayabilirsiniz. Sistem salınım yapıyorsa artık oransalı değerini arttırmak işi daha kötü hale getirir ki birinci set değerinde böyle bir durum olmuş gibi gözüküyor.

"ikinci resimde yaptıgım çıkışa göre feedback olayından dolayı mı?"

Hangi resim olduğunu bir daha söyleyebilir misiniz?
 
Oransal değerini azaltırsanız overshoot durumundan kurtulursunuz ki son resimdeki ikinci verdiğiniz set değerinde güzel yaklaştığınız görülüyor. Sistem yük altındayken mi oluyor bu değerler?

Ayrıca salınımı sıfıra doğru indirgemek için oransalı azaltıp integral kazancı ile oynayabilirsiniz. Sistem salınım yapıyorsa artık oransalı değerini arttırmak işi daha kötü hale getirir ki birinci set değerinde böyle bir durum olmuş gibi gözüküyor.

"ikinci resimde yaptıgım çıkışa göre feedback olayından dolayı mı?"

Hangi resim olduğunu bir daha söyleyebilir misiniz?

ikinci resim derken "pid4" resmini kasttettim.burada analog çıkışımı feedbacka ufak bir programla tekrar yolluyorum.aslında buradaki grafik sadece SP(turkuaz) ile oynadıgım için elde ettiğim deger oluyor aslında.
kırmızı çizgi benim analog çıkışım, motor sürücüsüne yolladıgım deger.yeşil(PV) ve turkuaz(SP)
tam anlamıyla oturuyor. ama oransalı azar azar kıstıgım zaman parabol bir geçiş oluyor ve set degerini aşmadan oturuyor. :)
simdi 1000ms aralıklarla pik attırıp matematiği o cevrim anında gönderiyorum.daha kararlı gibi oldu...

bu katsayıları,kazancları matlab simulink gibi bir ortamda autotuning yaptırmak gibi.Siemens 1200 ve rockwellde autotuning yaptırmak çok kolaydı ama böyle deneme yanılma ugraştırıyor gerçekten.

Bir de ustadım pid tam anlamıyla ögrenmek mümkün müdür? yani kaç yılımı alır :)
 
pid7.png
bu şekilde bir parabol istenen bir durum mudur?
 

Forum istatistikleri

Konular
129,839
Mesajlar
930,677
Kullanıcılar
452,676
Son üye
ali danışan

Yeni konular

Geri
Üst