D-T PID controller in IIR structure with anti wind-up

OP #3542101
Lesenswert?
• ▲
▼
Hallo liebe Community,

ich koennte vielleicht mal ein wenig Unterstuetzung gebrauchen. Ich 
versuche derzeit auf einem digitalen signal Prozessor einen PID 
controller in IIR-Filter form zu implementieren.
Das sollte eigentlich einen schoenen PID controller mit low pass Filter 
Verhalten fuer den D-Anteil ergeben.
Meine Frage dazu: Wo muss ich den anti wind-up implementieren, damit das 
Integrieren begrenzt wird.
Wuerde gerne ersteinmal einfachheits halber ein simples I-clamping 
verwenden, sprich mit einer Variablen die fehler Integration ab oder zu 
schalten. Back tracking ist aber auch willkommen. Implementierung sollte 
kein Problem sein, eher die Frage: Wo in meinem IIR filter ist der 
I-Anteil.
D-T Transferfunction gebe ich auch nochmal eben mit:
Bin dankbar fuer jede Hilfe. Eine Gleichung die das Problem beschreibt 
oder aehnliches waere nicht schlecht.

Schoene Gruesse
Gast #6213226
Lesenswert?
• ▲
▼
Hi Cesar,

die Antwort ist tatsächlich ganz einfach:
Limitiere V0 und du hast den anti wind-up schon fertig.
Da V1, V2, V3 etc jeweils die um z verzögerten Werte sind, werden auch 
diese auf V0 gesetzt und der Integralanteil somit begrenzt.
Hier ein simples Code Beispiel:

#define LIMIT(A, B, C)           ((A < B) ? (B) : (A > C) ? (C) : (A))

/* Voltage loop calculation */
VoltU0 = (B0 * VoltE0) + (B1 * VoltE1) + (B2 * VoltE2) + (A1 * VoltU1) + 
(A2 * VoltU2)

/* Limit voltage loop output */
VoltU0 = LIMIT(VoltU0, DutyCycleMin, DutyCycleMax);

/* Store control loop variables */
VoltU2 = VoltU1;
VoltU1 = VoltU0;
VoltE2 = VoltE1;
VoltE1 = VoltE0;

Hoffe das hilft dir weiter, ansonsten einfach nochmal melden, falls es 
Probleme gibt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.