PID kerdesek

Lukács Ákos lukrskywalkman at gmail.com
Tue Jan 16 21:28:55 CET 2007


On 1/16/07, Moczik Gabor <pm at progzmaster.hu > wrote:
>
> Lukács Ákos wrote:
> > FIFO-t tulajdonképpen ki lehet
> > dobni. IIIgazság szerint nem is értem, hogy miért is pont így néz ki ez
> a
> > kódrészlet. Pontosabban hogy minek van ott az a FIFO. (persze ez nem
> > jelent semmit :D).
> > Csak átlagot csinál az előző hibákból, azt meg egy mozgó átlag
> számítással
> > meg lehet csinálni.
>
> De a mozgo atlagot vegtelen idore kezdetektol fogva kell venni, vagy
> visszamenoleg X idore?
> Az utobbi esetben kell FIFO, mert kell tudni az X idovel ezelotti erteket,
>
> hogy kivegyem az osszegbol.
>
> > A " pwm = pwm +" rész
> > már magában egy integráló jelleget ad.
>
> Most akkor nem vilagos, hogy mire valo a PID kontroller kimenete?
> Ez a maga a meghajto jel, vagy azt mondja meg, hogy a meghajto jelet merre
>
> es mennyire kell megvaltoztatni?
>
> En ugy ertelmezem, hogy az utobbi.


Szerintem ez már maga a meghajtó jel.

Egyébként az a gond vele szerintem, hogy ebben a sorban: "pwm = pwm +
(Kp*error + Ki*integr/16 + Kd*(error-error_prev))/100;"
 két integráló jellegű tag is van. Ami nagyon nem jóóó.
így:

  integr = integr + error;
  pwm = Kp*error + Ki*integr + Kd*(error-error_prev);

működnie kell.

Valahol van is egy Atmeles appnote diszkrét PID-re...

á.


More information about the Elektro mailing list