Frage zu PID AppNote AVR221.

Gast #4898605
Lesenswert?

Hi Forum,

ich beschäftige mich seit ein paar Tagen mit der APPNOTE AVR221 von 
Atmel.
Ich habe den Regler nach der AVR 221 AppNote implementiert, er läuft 
auch aber ich bin mir nicht ganz sicher ob das so stimmt.

In folgenden Beitrag wird die Formel für die D-Term Berechnung wie folgt 
beschrieben.

y = Kp*e + Ki*Ta*esum + Kd/Ta*(e – ealt);

http://rn-wissen.de/wiki/index.php?title=Regelungstechnik#PD-Regler

Im Quelltext zu der Appnote von ATMEL so:

d_term = pid_st->D_Factor * (pid_st->lastProcessValue - processValue);


Jetzt frage ich mich was nun richtig ist. Klar in der oberen geht Td mit 
ein (Abtastzeit bei mir 10 Sekunden).
In der unteren nicht, wird die da einfach nur vernachlässigt oder sied 
das zwei verschiedene D-Term Typen?

Weiter ist es einmal (error - error_alt) in der zweiten genau anders 
herum (lastProcessValue - processValue). Wie rum ist das nun richtig?

Wäre toll wenn einer mit Regeltechnik Erfahrung was dazu sagen könnte.
Gruß und einen schönen Sonntag, AVRli...
Gast #4898607
Lesenswert?

AVRli schrieb:
> In folgenden Beitrag wird die Formel für die D-Term Berechnung wie folgt
> beschrieben.
>
> y = Kp*e + Ki*Ta*esum + Kd/Ta*(e – ealt);
> ...
> Im Quelltext zu der Appnote von ATMEL so:
>
> d_term = pid_st->D_Factor * (pid_st->lastProcessValue - processValue);

Der Therm
1
Kd/Ta*(e – ealt)
aus der oberen Gleichung (RN) und die Gleichung für d_Therm aus der 
Appnote sagen das gleiche mit unterschiedlichen Worten. In der 
Beschreibung der Appnote ist das Abtastintervall bereits in den 
Koeffizienten reingerechnet. Koeffizientenvergleich liefert
1
d_therm = Kd/Ta
Ein einmal bestimmter Koeffizient d_therm gilt also nur für eine 
bestimmte Abtastfrequenz.
Gast #4898610
Lesenswert?

AVRli schrieb:
> Weiter ist es einmal (error - error_alt) in der zweiten genau anders
> herum (lastProcessValue - processValue). Wie rum ist das nun richtig?

Beides auf seine Art. Bei RN steht in der PID-Gleichung die Differenz 
der Fehler, in der Appnote-Gleichung die Differenz der prozessValues. Je 
nach dem, wie im Kontext die unterschiedlichen Größen definiert sind, 
führt das zu unterschiedlichen Endgleichungen.

Richtig ist das Vorzeichen, dass bei einem Sollwertsprung zu einer 
schnellen Korrektur der Regelabweichung führt ;-)
Probier's einfach mal z.B. in einer Tabellenkalkulation aus, wie sich 
dein Regler mit falschem und richtigem Vorzeichen benimmt.
Gast #4898758
Lesenswert?

Vielen Dank Wolfgang!
Das habe ich allein nicht erkannt, muß auch gestehen, das ich die 
Beschreibung mit der ganz großen Formel nicht folgen kann.

Ich werde mich dann an die AppNote Beschreibung und den Code halten und 
die Zeilen aus RN so akzeptieren, da sie wohl im Ergebnis das gleiche 
ausdrücken, es ein anderer Weg ist und nicht 1:1 vergleichbar ist.

Nochmals Danke, einen schönen Sonntag!
Gruß AVRli...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren