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?
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!
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
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
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
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
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.
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
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?
Such mal nach symetrisches Optimum, oder Zigler-Nichols. das sind Einstellregeln für PID regler
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.