PID-Regler I-term resetten?

Gast #2243639
Lesenswert?

Hi,
ich bastle gerade an dem PID-Regler für meinen Quadrocopter. Als 
PD-Regler funktioniert der soweit auch ganz gut, und jetzt soll noch der 
I-Teil dazu kommen. Soweit ich gelesen hab, summiert man dazu einfach in 
jedem Zyklus den vorhanden Fehler auf (und multipliziert das mit einem 
Faktor). Jetzt stellt sich mir jedoch die Frage, ob es nicht besser 
wäre, zusätzlich eine Überprüfung einzubauen, die die Variable mit der 
Fehlersumme auf Null setzt, wenn der Fehler exakt Null ist, oder das 
Vorzeichen wechselt, denn ansonsten würde der I_Teil ja weiterhin (in 
die falsche Richtung) "drücken", obwohl er das eigentlich nicht mehr 
bräuchte?
Gast #2243707
Lesenswert?

Da hast du einen Denkfehler. Oder willst du dass der Rotor bei Fehler 0 
ganz ausgeschaltet wird? ;-) Nein, er soll sich genau mit der erreichten 
Geschwindigkeit weiterdrehen und die steckt im I-Anteil, da der P und 
D-Teil bei Fehler=0 genau ... NULL ist!
Gast #2243892
Lesenswert?

Und noch etwas. Wenn du mit einem PD-Regler keine bleibende 
Regeldifferenz hast, dann liegt eine integrierende Strecke vor. In 
diesem Fall würde ich auf einen zusätzlichen I-Anteil im Regler 
verzichten.

Gruß,
Stefan
Gast #2244243
Lesenswert?

Resetten sollte man den I Term nicht. Man sollte aber dafür sorgen, dass 
der I Term nicht weiter wächst, wenn das Stellglied am Ausgang am 
Anschlag ist.

Manchmal ist es auch gut die absolute Größe des I-gliedes zu begrenzen.
Gast #2244598
Lesenswert?

So, ich hab den Regler jetzt fertig, und einfach mal (auf gut Glück und 
mit ein bisschen denken) ein paar Werte eingestellt, allerdings muss ich 
feststellen, dass der Copter dazu neigt zu Schwingen und zwar mit sehr 
geringer Frequenz (<1Hz)(die Amplitude wird zwar immer kleiner, aber er 
schwingt schon so 2-3 mal hin und her, bis er sich eingependelt hat). 
Nachdem was ich gelesen hab vermute ich mal, das liegt am I-Teil. Ich 
muss ihn also doch mal richtig einstellen (welch Wunder..). Hat einer 
dazu vllt eine Art (empirische) Faustregel, ohne große Rechnungen (weil 
ich glaube die auf meine Implementierung zu übertragen wäre sehr 
kompliziert...). Folgendes hatte ich dazu gefunden:
Alle parameter auf 0.
Dann P soweit hochdrehn, bis er anfängt mit konstanter Amplitude zu 
schwingen.
Dann solange D erhöhen, bis er nicht mehr (oder kaum noch) schwingt.
Und zu guter letzt noch einen kleinen Schuss I.

Würde sowas funktioniern, oder hat eienr andere Tipps?
Gast #2246242
Lesenswert?

Tec Nologic schrieb:
> Such mal nach symetrisches Optimum, oder Zigler-Nichols. das sind
> Einstellregeln für PID regler

Für beides benötigt man ein Streckenmodell oder zumindest eine 
Sprungantwort.

So wie ich bin ein (Gast) es beschrieben hat, würde ich vorgehen. Aber 
weiterhin Vorsicht mit dem D-Anteil. Wenn man den Regler beispielsweise 
in Festkommaarithmetik umsetzt, dann kann ein Bitwechsel aufgrund des 
D-Anteils schon Stellreaktion hervorrufen, die man nicht will. So könnte 
es dann auch zu Schwingungen kommen.

Wie sieht denn die Regelgüte bei einem P-Regler aus?

Gruß,
Stefan

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