Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

PID yapan varmı ?

Başlatan Maxim, 04 Eylül 2007, 10:17:00

Maxim

protonda pid hesaplaması ile kontrol yapabilen varmı acaba ?

teşekkürler

zafzaf82

basic le değil ama C ile yapmış gayette güzel çalışmıştı.
Mikroişlemci bi araçtır, amaç değil.....

Analyzer

Selam,

@Zafzaf82 :

Kodları (daha iyisi projeni) sakıncası yoksa buradan yayınlarsan, arkadaşımız kendisi Proton'a çevirebilir diye düşünüyorum.
Kolay gelsin,

Analyzer
Üşeniyorum, öyleyse yarın!

mech

biz hocamla delphi'de data acquisition kartı ile yapmıştık. Ben kendim de p ve pd kontrolleri lm741 ile yapmıştım.
Sanırım picbasic'te adcin ve pwm kullanıp, döngüler yardımıyla sayısal analizle türev ve integral yapabilirsin.
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Şarttır

zafzaf82

Mikroişlemci bi araçtır, amaç değil.....

Analyzer

Selam,

Güzel çalışma zafzaf82, tebrikler. Simulasyonda virtual terminal ile aaa.hex'in baud rate'leri tutmuyor, virtual terminalin baud rate'ini 57600 yaparak deneyin. Bu arada parametre prosedürünü yazmışsın ama ana döngüye koymamışsın.

Analyzer
Üşeniyorum, öyleyse yarın!

zafzaf82

ana döngüye koymadım; çünkü sadece seri porttan veri geldiğinde o algoritma çalışıyor. PID algoritmasıda sadece örnekleme anlarında çalışıyor. (Zaten dijital kontrolde olması gerekende o).
Mikroişlemci bi araçtır, amaç değil.....

PhD

Arkadaşlar hangi şemayı çalıştırıyorsunuz gerçek şemayı deniyorum, herşeyi yaptım ama virtual terminalde hiç bir şey yok  :roll:  Biraz tarif etseniz mümkün mü acaba...

Bu arada çok teşekkürler @Zafzaf32 arkadaşım paylaşım için..
...hiç...

zafzaf82

devre dışarda kurulu proetus sadece seri kanaldan veri alıp yolluyo
Mikroişlemci bi araçtır, amaç değil.....

Maxim

C dilinden anlamadığım için birşey çıkaramadım ,
oku oku ama pek gelişme yok ,
zaten kolay birşey değil ,

bir kaç farklı formül hesabı var ,yöntemi var
burada çok önce tartışılmış,

http://picproje.org/index.php/topic,4386

bunalmış usatnın verdiği formül ,
PID = Kp * e(t) + Ki * İntegral e(t) + Kd * türev e(t)

Başka birinin kullandığı formul ,

While 1 = 1
Vadc = ADIN 1
Error_now = Set_point - Vadc
P = Kp * Error_now
I = I + Ki * Error_now
D = Kd * (Error_now - Error_last): Error_last = Error_now
PID = P + I + D (+ Offset --> optional)
HPWM 1, PID, 1000


içerisinde baya açıklamaların bulunduğu pdf dosyası ,
http://www.parallax.com/dl/docs/books/edu/ic.pdf

peki elde ne var ?
hiç :(
yukarıdaki formülde integrali ve türevini nasıl hesaplıyor ??? o kadar basit olmaması lazım

okumaya devam ,

Ziya

nümerik türev ve integral alıyor. Türev için taylor serileri  [ O(delta t) ], integral için de trapezoidal kuralını kullanıyor. Örnekleme zaman aralığının (delta t) ortasında yapıldığı varsayılarak doğrudan delta t* örnekleme değeri + eski toplam olarak hesaplanıyor. sadece delta t değeri Ki ve Kd içerisine gömülmüş. Yazımda sorun yok.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

Maxim

Alıntı yapılan: "Ziya"nümerik türev ve integral alıyor. Türev için taylor serileri  [ O(delta t) ], integral için de trapezoidal kuralını kullanıyor. Örnekleme zaman aralığının (delta t) ortasında yapıldığı varsayılarak doğrudan delta t* örnekleme değeri + eski toplam olarak hesaplanıyor. sadece delta t değeri Ki ve Kd içerisine gömülmüş. Yazımda sorun yok.

ben bu formulü kullanırsam PID yapmışmı olurum yani ?

While 1 = 1 
Vadc = ADIN 1 
Error_now = Set_point - Vadc 
P = Kp * Error_now 
I = I + Ki * Error_now 
D = Kd * (Error_now - Error_last): Error_last = Error_now 
PID = P + I + D (+ Offset --> optional) 
HPWM 1, PID, 1000


slm

Erol YILMAZ

Formülün basitliği sizi aldatmasın,
PID kontrolün manasını iyice anlamaya bakın,
Çoğu uygulama için PI bile fazlasıyla yeterlidir.

O kısacık formülde nasıl bir mana olduğunu nereden anlayabilirim derseniz,
P I ve D nin ne gibi etkisi olduğunu P den başlayarak incelemenizi tavsiye ederim.

Ziya

Alıntı yapılan: "maxiboost"ben bu formulü kullanırsam PID yapmışmı olurum yani ?
Eğer bu soruyu soruyorsanız cevabım hayır. PID yapmış olmazsınız.  Sadece pwm çıkışı veren basit bir program yapmış olursunuz.
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

Maxim

2 sene kadar önce kabaca 5x5x3 metre ebatlarında koca bir fırın için pid kullanmıştım ,
önce telemecanique micro serisi plc ile yapmaya çalışmıştım ,
onun içerisinde pic için hazır bir software modulu yoktu ,herşeyi kendin sıfırdan girmen gerekiyordu .
heralde 1 hafta falan uğraştım sonuç alamadım .

Sonra twido serisine döndüm ,
twidoda hazır pid modulleri var ,canavar gibi çalışmıştı .

şimdi twidonun program ve user manuellerini inceliyorum tekrar ,
unutmuşum çoğunu .

ama olay farklı tabi ,
twidoda çoğu şey hazır, siz sadece değerleri giriyorsunuz ,
hatta AT yani auto tuning olayıda var ,gerçi hep hata almıştım ya onda neyse .

en iyisi biraz daha okumak ,
birde yukarıdaki kod ile birkaç deneme yapmak .