Forum: Mikrocontroller und Digitale Elektronik PID-Regler I-term resetten?


von ich bin ein (Gast)


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?

von Hubu (Gast)


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!

von StinkyWinky (Gast)


Lesenswert?

Dank dem "Drücken" des I-Anteils, wurde der Fehler ja zu 0. Wenn man 
jetzt schlagartig den I-Anteil löschen würde, käme halt schlagartig ein 
Fehler zurück.

-> keine gute Idee

von ich bin ein (Gast)


Lesenswert?

Stimmt das macht Sinn...darauf bin ich irgendwie nicht gekommen. Dann 
dürfte er ja auch nich ganz so zappelig sein wie ohne den I-Teil...
vielen Dank

von Stefan (Gast)


Lesenswert?

Das mit dem unruhigen Stellsignal kommt wohl eher durch die Kombination 
aus Messrauschen und D-Anteil im Regler. Den würde ich testweise mal 
totbedaten.

Gruß,
Stefan

von Stefan (Gast)


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

von Ulrich (Gast)


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.

von Achim M. (minifloat)


Lesenswert?

Stefan schrieb:
> In
> diesem Fall würde ich auf einen zusätzlichen I-Anteil im Regler
> verzichten.

Dann kann man zusätzlich noch versuchen, den D-Anteil hochzuschrauben, 
das macht den geschlossenen Regelkreis schneller. Aber nicht 
übertreiben, sonst schwingts. :)

mfg mf

von ich bin ein (Gast)


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?

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Such mal nach symetrisches Optimum, oder Zigler-Nichols. das sind 
Einstellregeln für PID regler

von Stefan (Gast)


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

von Stefan (Gast)


Lesenswert?

Vergessen:

Schwingungen in der Regelung rühren oftmals auch von zu großem P-Anteil 
her.


Gruß,
Stefan

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.