Kendi PID bloğumu nasıl oluşturabilirim?

Katılım
18 May 2009
Mesajlar
42
Puanları
1
Yaş
42
Tansiyon kontrol Yapmak istiyorum.Loadcell den aldığım anallog bilgi ile servo motorumu hızlandırıp -yavaşlatarak sarıcı tarafında tansiyon kontrol yapmak istiyorum. P yi çok rahat yazabiliyorum u=(e-e1)xK , ancak I ve D yi nasıl yazacağımı bilmiyorum. U benim kontrol sinyalim olmuş oluyor.
Basic ile kendi PID formülümü nasıl yapabilirim.
En azından bana bir örnek bile verseniz ben işin içinden çıkablirim sanırım.
 
300px-Pid-feedback-nct-int-correct.png

A block diagram of a PID controller

Kod:
previous_error = 0
integral       = 0
start:
  error          = setpoint - actual_position
  integral       = integral + (error*dt)
  derivative     = (error - previous_error)/dt
  output         = (Kp*error) + (Ki*integral) + (Kd*derivative)
  previous_error = error
  wait(dt)
goto start
Yukarıdaki kodu wikipediadan aldım, anladığım kadarıyla kod pc tabanlı sistemler için verilmiş, PLC için düşünürsek(PLC de sürekli tarama işlemi oldugundan) "start" ve "goto start" arasındaki döngüyü "dt" zaman periyodunda çalıştırmak gerekli, bu kısmı siemens S7 300-400 serisi için OB35 kullanılabilir, döngüye girmeden önce "hata ve integral" değeri sıfırlanmış, PLC tarafında bu değişkenlere sürekli sıfır basmamak için PID ye ilk start (çıkan kenarda) sıfırlayabiliriz ya da set point değiştiginde bu degerler sıfırlanabilir. SCL dili kullanarak bu kod PLC tarafına adapta edilebilir.
Tabi matematiksel işlemler bitince "output" çıkışını(0-27648 arasına) scale yapıp kanala göndermek gerekiyor.

Kaynak:PID controller - Wikipedia, the free encyclopedia
 
Basic derken Windows altinda Visual Basic ile birseyler yapmayi dusunuyorsan, teoride calisan bir kod olur ama pratikte ise yaramaz cunku uzerinde calistigi sistemin kosulllarindan dolayi gereken hizda tepki veremezsin. Tabii sistemde degisim cok yavas ve toleranslar fazla ise olabilir.

Servoyu tork modunda kullanmak isine yaramiyor mu?
 
Basic derken Windows altinda Visual Basic ile birseyler yapmayi dusunuyorsan, teoride calisan bir kod olur ama pratikte ise yaramaz cunku uzerinde calistigi sistemin kosulllarindan dolayi gereken hizda tepki veremezsin. Tabii sistemde degisim cok yavas ve toleranslar fazla ise olabilir.

Servoyu tork modunda kullanmak isine yaramiyor mu?

Öncelikle Teşekkür ederim bilgi vermeye çalışan arkadaşlara
Basic tabanlı motion kontrolle yapmak istiyorum.
Tork modunda çalıştırma mantığı nasıl olacakki? Speed de tansiyon düşükse +hız yazıyo formül, bu sayede sarıcı ana merdane hızını biraz geçtiğinden tansiyon yükseliyor ve bir süre sonra biraz azalıyor-artıyor böle bişey işte.
Tork sürmedeki mantık nasıl olabilir. Ben hiç tork sürmedim servoyu.
 
Tork modunda hizi degil torku sen belirliyorsun, servo o torku saglamak icin hizini kendi ayarliyor. Kullandigin servonun tork modu varsa dokumaninda yazar nasil yapildigi. Muhtemelen servo surucude tork degerini bir kere ayarlayacan ve isin bitecek, bilgisayara gerek kalmayacak.
 
Tork modunda hizi degil torku sen belirliyorsun, servo o torku saglamak icin hizini kendi ayarliyor. Kullandigin servonun tork modu varsa dokumaninda yazar nasil yapildigi. Muhtemelen servo surucude tork degerini bir kere ayarlayacan ve isin bitecek, bilgisayara gerek kalmayacak.

Emrah bey ben böyle bir çalışma şekli ile hiç karşılaşmadım,
Ben Estun marka servo kullanıyorum, macapion da kullandım, delta da ancak bunların hiçbirinde böyle bir çalışma şeklini duymadım, hatta sizden duyduktan sonra, deltanın ve estunun türkiye sorumluları ile görştüm onlarda servonun böyle çalışamayacağını söylediler. Tork belirliyorsunuz servo o torku sabit tutup hızını ona göre ayarlamasını kimse olur demiyor. Sizden bu konu ile ilgili acil yardım bekliyorum.
Siz daha önce böyle çalıştırdınızmı? hangi marka servoyla?
 
Tork sınırlaması bir makinemizde yapmıştık makina limit sivicini görmez ise mekanige binip zarar verebiliyordu bunun önüne geçebilmek için servoda tork sınırlaması yapıldı ve sivici görmese bile mekaniğe belirli bir torka kadar baskı yapıyordu.
 
Tork sınırlaması bir makinemizde yapmıştık makina limit sivicini görmez ise mekanige binip zarar verebiliyordu bunun önüne geçebilmek için servoda tork sınırlaması yapıldı ve sivici görmese bile mekaniğe belirli bir torka kadar baskı yapıyordu.

bu sistemde belirlenen torka gelince motor torku aşmamak için hız sıfırmı olutordu, duruyormuydu servo yani??
Eğer öyleyse zaten tam aradığım yöntem, yani istediğim torka gelince servo kontrollü olarak kendi yavaşlasın, benim isteğimde o zaten.
 
arkadaslar bende PID kontrol le çalışan sistem yapmak istedim çok pahalı oldugunu söylediler geri vaz geçtim maliyet ne kadar çıkar
 

Forum istatistikleri

Konular
128,108
Mesajlar
915,037
Kullanıcılar
449,808
Son üye
YunusKibar

Yeni konular

Geri
Üst