Haberler:

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

Ana Menü

PID motor kontrolü soru

Başlatan zamzam23, 24 Ağustos 2010, 14:50:46

zamzam23

Ref        :referan giriş
Ger       : gercek deger
Mpid: PWM iletim kesim süresi
Kp    : oransal katsayı
Ki     : integral katsayısı
Kd     : türev katsayısı
A      : değişken
e        : hata
eonceki: hatanın bir önceki değeri
e= Ref-Ger;
mpid=A+Kp*e+Ki*e+(Kd*(e-eonceki));
p=(int)mpid;
A=p;
eonseki=e;

forumun birinde buldum bu algoritmayı.ben bunu ccs ye çeviricem ama anlamadıgım birkaç nokta var.ref hzı var bu diyelim cm/sn cinden girdik. Ger değeri de cm/sn cinsinden olmalı haliyle. peki sonra? A,Kp,Ki birimsizdir tmm ama nasıl değerler olmalı float tipindemi int tipindemi?kafam karıstı brz nasıl olucak

serdararikan

Alıntı yapılan: zamzam23 - 24 Ağustos 2010, 14:50:46
Ref        :referan giriş
Ger       : gercek deger
Mpid: PWM iletim kesim süresi
Kp    : oransal katsayı
Ki     : integral katsayısı
Kd     : türev katsayısı
A      : değişken
e        : hata
eonceki: hatanın bir önceki değeri
e= Ref-Ger;
mpid=A+Kp*e+Ki*e+(Kd*(e-eonceki));
p=(int)mpid;
A=p;
eonseki=e;

forumun birinde buldum bu algoritmayı.ben bunu ccs ye çeviricem ama anlamadıgım birkaç nokta var.ref hzı var bu diyelim cm/sn cinden girdik. Ger değeri de cm/sn cinsinden olmalı haliyle. peki sonra? A,Kp,Ki birimsizdir tmm ama nasıl değerler olmalı float tipindemi int tipindemi?kafam karıstı brz nasıl olucak

hız bilgisini okumak için bir encoder kullanacaksın.yanlız bu encoderden bilgiyi bir birim zamanda alman lazımki hız olsun.bu değer int olacak. PID denkleminde Ref. değerden Ger. değer çıkarılarak hata bulunuyor.O zaman hata ve Ref değer deint olacak.Kp,Kd ve Ki float olabilir çünki sistemin olması gereken PID değerlerinin int olması garanti değildir.mpid değeri ise  bir PWM modülünde kullanılacağı için int olmalı.microchip in kendi sitesinde application note larda hız,pozisyon kontrolünün PID ile yapılmış bir örneği var.onu inceleyebilirsin.

zamzam23

teşekkür ederim. birde sunu sorayım ki,kp ve kd değerlerinin hesabında bir yöntem var.ziegler nichols.bu yontemın acıklamasında acık cevırım cevabı diye bişi gecıyor. bu ne demektir.
http://img833.imageshack.us/img833/3006/17252627.jpg

serdararikan

ziegler nichols şöyle yapılıyor.sistemi kurup Kd ve Ki değerlerini sıfır yapıyorsun.Kp=1 den başlayarak yavaş yavaş Kp yi artırıyorsun.öyle bir an geliyorki sistem osilasyona gidiyor.bu andaki genliğe Ku  osilasyonun periyoduna da Tu dersek

Kp=Ku / 1.7   
Ki=2Kp / Tu   
Kd=KpTu / 8

formülleri ile parametreleri hesaplayabilirsin.

zamzam23

#4
"bu andaki genliğe Ku  osilasyonun periyoduna da Tu dersek" demissiniz ama tam anlayamıyorum. bu genliği nerden ölçücem ben veya Tu süresini nasıl hesaplarım ne osilakop var ne bişi.