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...
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.
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.
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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.