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