Forum: FPGA, VHDL & Co. PID Regler-Übertragungsfunktion


von A. (Gast)


Lesenswert?

Hallo,
Hab ein Problem beim Verständnis des PID Reglers. Die 
Übertragungsfunktion eines PID Reglers lautet ja:

U(s)= Up(s)+Ui(s)+Ud(s).

Up(s)= Kp*(W(s)-y(s)).                     Regeldifferenz e:
Ui(s)= Ki*(W(s)-y(s)*1/s.                    e=W(s)-y(s)
Ud(s)= Kd*(W(s)-y(s))*s.

nun mit der Tustin Formel im Z Bereich umtransformiert ergobt sich dann:

Up(z)= Kp*(W(z)-y(z)).
Ui(z)= Ki*T/2*(W(z)+(W(z)*z^-1)-y(z)-(y(z)*z^-1)+Ui(z)*z^-1).

Nun mein Problem, um den D Teil zu transormieren sieht doch die 
Gleichung so aus:

Ud(z)=Kd*2/T*((W(z)-y(z))-(W(z-1)-y(z-1)))*(z-1/z+1).
(Ud(z)=Kd*2/T*(   e      -        ealt)   *(z-1/z+1))

Ud(z)=Kd*2/T*((W(z)-(W(z)*z^-1)-y(z)+(y(z)*z^-1))-(W(z-1)-(W(z-1)*z^-1)- 
y(z-1)+(y(z-1)*z^-1))-Ud(z)*z^-1.

Ist das in etwa so korrekt.Danke.
Was mein Nächster Schritt ist, ich will diesen Algorythmus in Vhdl 
implementieren, den p Anteil und den i Anteil habe ich schon 
implementiert nur habe ich Probleme den D Anteil zu implementieren.

Hoffe ihr könnt mir helfen.

MfG

von A. (Gast)


Lesenswert?

Hallo,
Hab was vergessen, wenn man nun Ud(z) diskretisiert sollte doch die 
Funktion so aussehen.

Ud(k)=Kd*2/T*(W(k)-W(k-1)-y(k)-y(k-1)-W(k-1)+W(k-2)-y(k-1)+y(k-2))-Ud(k- 
1)

Ud(k)=Kd*2/t*(W(k)-2*W(k-1)-y(k)+2*y(k-1)+W(k-2)-y(k-2))-Ud(k-1)

Stimmt das auch so.Danke.

MfG
A

von A. (Gast)


Lesenswert?

Hallo,
ist da keiner der mir weiterhelfen kann.

Hab nun herausgefunden, dass der I-Anteils mit der Tustin-Formel und 
D-Anteil nach der Rechteckregel umgesetzt wird also lautet die Formel 
wiefolgt:


U=Kp+Ki*1/s+Kd*s
 =Kp+Ki*T/2*(z-1/z+1)+Kd*1/T*(z-1/z),

dass bedeutet, dass meine Ergebnis von oben nicht ganz stimmte, dann 
sieht die Lösung für den D-Anteil wiefolgt aus:

Ud(k)=Kd*1/T*(W(k)-2*W(k-1)-y(k)+2*y(k-1)+W(k-2)-y(k-2))+Ud(k-1)

    =Ud(k-1)+Kd*(W(k)-y(k)+(2*(-W(k-1)+y(k-1))+W(k-2)-y(k-2))
    =Ud(k-1)+Kd*(W(k)-y(k)-(2*(W(k-1)-y(k-1))+W(k-2)-y(k-2))

Danke.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.