pozicio vezerles
Moczik Gabor
pm at progzmaster.hu
Sat Mar 17 23:15:10 CET 2007
Imre Torok wrote:
> Van egy kepletem:
>
> Output= Kp * Perror - Kd * Derror + Ki * Ierror
>
> Kerdesem: hogyan tudom ezt a kepletet (eloszor csak a P-reszet)
> atultetni a ket jeladora? Aztan, ha ebben mar hijjdenagy profi lennek,
Ugy, hogy az egyik jelado az alapjelet (setpoint) adja, a masik meg a
tengelyen mert erteket (measurement), a ketto kozotti kulonbseg a hibajel
(error).
error = measurement - setpoint
Ierror = Ierror + error
Derror = error - error_prev
error_prev = error
out = Kp*error + Ki*Ierror + Kd*Derror
A Derror-t gyakran nem az error alapjan kepzik, hanem a 'measurement'
alapjan, ennek akkor van ertelme, ha nem akarod, hogy az alapjel hirtelen
megvaltoztatasa eseten hirtelen avatkozzon be a szabalyzo.
> Azt sem igazan tudom, ha csak a P-tagot hasznalom, es mondjuk a ket
> jelado kozott van 100impulzus elmozdulas, vagy csak 10, vagy esetleg
> 1000, akkor honnan fogja tudni, hogy mekkora 'sebesseggel' kellene
> hajtania a masik jeladot, hogy 'utolerje' ???
A Kp, Kd es Ki erteketol fugg, hogy mekkora elteresre kulonfele korulmenyek
kozott hogy fog reagalni.
Ha Kd nagy, akkor hirtelen valtozasra hirtelen fog beavatkozni.
Ha Ki=0, akkor mindig maradando hibaval fog beallni a rendszer. Ha Ki tul
nagy, akkor az Ierror tulkompenzalja a hibat, oszcillalni fog a rendszer.
Ha valami miatt a rendszer nem kepes a celpozicio eleresere, akkor az Ierror
a vegtelenbe novekedik (integral windup). Ezt megakadalyozando, az Ierror
erteket nem szabad mondjuk OUT_MAX/Ki-nal nagyobbra novekedni (csokkenni).
Erdemes google-zni az alabbiakkal:
PID controller
PID motion controll
PID position controll
PID servo
...
http://en.wikipedia.org/wiki/PID_controller
--
((( Móczik Gábor )))--((( pm -> @ -> progzmaster -> . -> hu )))
((( Skype: moczik )))--((( Website: http://www.progzmaster.hu )))
More information about the Elektro
mailing list