PID Kontrol CCS Kodları

Başlatan mekatronica, 08 Nisan 2012, 01:47:13

Okan AKÇA

seri sargılı dc motor sonsuza gitmemesi  icin yük olması şart degilse sabitleyemessiniz sabitlemek icin  motorun devirini ölceceksiniz ona göre pwm degerini arttırıp azaltacaksınız arada cok kod yazmanıza gerek yok deviri olcün devir düşükse pwm arttırın  devire ulaşıncaya kadar   ulaştıktan sonra tolerans verin olsun bitsin yüksek ise eger pwm azaltın  olay bundan ibaret aslında cok basit ilk bende pid denince korkardım artık cocuk oyuncagı

Mucit23

Hocam zaten motorun devrini ölçüyorum. Sürekli elimin altında devir bilgisi. Biraz bu işin püf noktalarına ihtiyacım var.

Dediğim gibi bu katsayı neye göre belirleyeceğimi bilmiyorum açıkçası

Okan AKÇA

benim yaptıgım sistemde yol bilgisi oldugu icin katsayısını yola göre buluyorum senin yaptıgın sistemde her hangi bir kat sayıya gerek yok pwm arttıracaksın  istedigin degere kadar

esesibo26

Arkadaşlar ben de bir dc motorun konum kontrolünü yapmam gerekiyor. İlk olarak elimde 10 K lık bir sensör var. Rüzgar yön sensörü. 10 K 360 Derece. Bu sensörden alınan bilgilere göre rüzgara doğru kanatları çevireceğim. Bana encoder okuyabilen bir pic mi lazım. Ve ben pid hesaplamalarını yapıp nasıl bu konumlamayı yapabilirm program ile. Yardımlarınızı bekliyorum.

skara1214

Alıntı yapılan: cyclone - 06 Şubat 2013, 17:31:47
Bu günlerde bende pid üzerine motor kontrol ünitesi tasarlamaktayım  bütün işleri kendi yazdıgım  kodlarla pid  olarak çalıştırıyorum.
hocam trapezoidal move yaparken hızlanma, yavaşlanma  ve maximum hız ayarlaması yaparken Ana pid döngüsü dışında bunlarıda ayarlayan ayrı bir  pid döngüsünü  mü yazıyorsunuz yoksa ana pid döngüsü içinde bunlarıda ayarlıyormusunuz?
Herkes ölür ama herkes gerçekten yaşamaz

trinity

PID konusu birde PID kontrol devresi yapayımda geçeyim denilecek kolay bir konu değil, PID üzerinde uzmanlaşma istiyor.

Ben bir fırın kontrolu için PID yapmak istedim, katsayıları tespit etmekte zorlandım. Oto tune denilen otomatik katsayı bulma yönteminede girsem herhalde proje aylar sürerdi, bende oransal kontrolle istediğim değerlere yaklaştım ve projeyi bitirdim.

Sonradan elime bir markanın PID kontrol cihazı geçti içini açıp inceledim adamlar 2 pcb koymuşlar birinde 16bit işlemciden girmişler 24bit adc, flash tan çıkmışlar, diğerinde smps besleme ve sürücü yapmışlar. Fiyatınıda ucuza satıyorlar, piyasayı öldürmüşler.

skara1214

Alıntı yapılan: trinity - 12 Ağustos 2014, 16:21:25
Sonradan elime bir markanın PID kontrol cihazı geçti içini açıp inceledim adamlar 2 pcb koymuşlar birinde 16bit işlemciden girmişler 24bit adc, flash tan çıkmışlar, diğerinde smps besleme ve sürücü yapmışlar. Fiyatınıda ucuza satıyorlar, piyasayı öldürmüşler.
Hangi firma bende inceleyeyim
Herkes ölür ama herkes gerçekten yaşamaz

trinity

Markası Hanyoung tu, kaliteli bir Kore markası özellikle dokunmatık renkli ekran PID cihazları gerçekten başarılı. Adamlar ucuza mal etmek için entegrelerinide kendileri yapmışlar ama kataloglarını bulamadım. içinde microchip in 93 serisi flashlarını kullanmışlar bir tek onu bulabilmiştim.

Burada PID paylaşımı yapmayan arkadaşlar rahat olsunlar, zaten koreliler çinliler çoktan piyasayı süpürmüşler.







z

PID denetleyiciyi neden gözünüzde büyütüyorsunuz?

C ile yazıyorsanız 10 bilemedin 20 satırlık kod parçası.

Forumda da pek çok kere örnek kodlar yayınlandı.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mozkan87

Alıntı yapılan: skara1214 - 12 Ağustos 2014, 17:03:42
Hangi firma bende inceleyeyim

Genelde çoğu firma için yapı bu şekilde. Ya yüksek çözünürlüklü adc ye sahip bir mikroişlemci(analog devicesın bu tip ürünleri var) oluyor yada harici ADC entegresi, ayrıca analog çıkışı olanlar DAC'ta bulunuyor. Bu tip cihazlar genelde MODBUS iletişim barındırmakta. Tabi her sistemin bunları barındırması gerekmez sıcaklık için NTC PTC tarzı birşey kullanıyorsanız ve ısıtmak için PWM kullanıyorsanız 8 bitlik bir işlemciyle çok rahat yapabilirsiniz. Timer kesmesini kurarsınız her kesmede yeni değeri okur gerekli hesaplamaları yapıp PWM üretirsiniz ve işi halledersiniz.

Eğer yapacağınız sistemin tepkisinin çok hızlı olaması gerekmiyorsa PID işi biraz kolaylaşıyor, katsayıları deneme yanılma ile sistemin tepkisine bakarak kestirilebiliyor. http://en.wikipedia.org/wiki/PID_controller Linteki grafikleri incelerseniz sistemin davranışına göre katsayıları kestirebilirsiniz. İlk başlangıçta katsayıları çok küçük tutarsanız sisteme zarar verme ihtimaliniz düşer. P,I,D değerlerini anlık olarak takip ediniz.

skara1214

Herkes ölür ama herkes gerçekten yaşamaz

trinity

Hanyoung ın Türkiye bayisi var, ordan temin edebilirsiniz. Endüstriyel uygulamalarda öyle basit integral, türevli 16f628 li PID devreleri yeterli olmuyor, bunlarla ancak amatör işler yapabilir.

işletmenin dev gibi bir fırını var ve 1 derece ofset kayma istiyor, ısınma ve soğumalarda da belli bir grafiği tutturmak zorundasınız., fırının içinde bir ısı yayılım hızı, soğuma katsayıları var. Böyle bir uygulama kısa bir programla yapılamıyor, cihazın koşulları kendi kendine öğrenmesi gerekiyor.

quarko

Alıntı yapılan: z - 12 Ağustos 2014, 20:36:57
PID denetleyiciyi neden gözünüzde büyütüyorsunuz?

C ile yazıyorsanız 10 bilemedin 20 satırlık kod parçası.

Forumda da pek çok kere örnek kodlar yayınlandı.

Mesele PID kontrolü gerçekleştirmek değilki, mesele sistemin P, I, D katsayılarını tespit etmek... Teoriye aşırı girilirse, bu iş içinden çıkılmaz bir hale gelebiliyor maalesef.
"Vicdanın ziyası ulum-u diniyedir. Aklın nuru fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder."

trinity

Endistüriyel uygulamalarda zaten katsayılar sabit olmuyor, çünkü fırına devamlı farkı miktarda ve özellikte malzeme konuyor, bu da fırının ısı yayılımını değiştiriyor.

Gelişmiş PID cihazlarıda pattern özelliği var, farklı koşullar için farklı ısıma ve soğuma katsayıları haritalandırılıyor.

z

O zaman "Burada PID paylaşımı yapmayan arkadaşlar rahat olsunlar, zaten koreliler çinliler çoktan piyasayı süpürmüşler." benzeri imalı laflar etmeyeceğiz

Diyeceğiz ki  "Ben adaptif kontrol sistemi yapmaya çalışıyorum" yardımcı olurmusunuz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com