Adaptiver PI-Regler

Gast #5155964
Lesenswert?

Hallo Leute,
ich hoffe, dass mir jemand helfen könnte und bedanke mich schon im 
Voraus.

Für mein Problem solle ich ein adptiven Pi-Regler programmieren,
der Anfange habe ich schon gemacht und zwar der PI-Regler.
es sieht jetzt bei mit so aus:

//-------------------------------------------------
int x,w, y, diff, eDiff;
int kp = 10;
int Ki = 40;
int Ta = 1;

diff = w-x;
eDiff = eDiff + diff;

if (eDiff < -0xFFF) {eDiff = 0x000;}
if (eDiff > 0xFFF) {eDiff = 0xFFF;}
y = Kp*e + ((Ki*Ta*esum)/100);

//---------------------------------------------------------
 jetzt meine frage: wie kann ich diesen Regler erweiteren, dass es zu 
einem adptiven (self tuning) wird? Also der Regler muss sein I-Anteil 
selber anpassen können.

Danke
Gast #5156097
Lesenswert?

Servus,
adaptive Regler laut Unbehauen III nix anderes als heiße Theorie.

Eine sehr gute Regelgüte erreicht man mit Aström Anti-Windup Regler.

Dein Regler ist vollkommen unvollständig! Deshalb keinen weiteren 
Kommentar dazu.
Gast #5156447
Lesenswert?

Anfänger93 schrieb:
> if (eDiff < -0xFFF) {eDiff = 0x000;}
> if (eDiff > 0xFFF) {eDiff = 0xFFF;}
> y = Kp*e + ((Ki*Ta*esum)/100);

Bei Codeteilen solltest du zumindest sicher stellen, dass der Compiler 
das frisst. Wie groß ist dein int Datentyp. Du solltest dir ein bisschen 
Gedanken über Wertebereiche machen, wenn du in int zu Gange bist.

Die Schreibweise "-0xFFF" mag zwar syntaktisch richtig sein, nur führt 
sie eher zur Verwirrung.
#5156525
Lesenswert?

Das Problem ist, dass unter "adaptive control" gut ein Dutzend 
verschiedene Methoden fallen, die von "gain scheduling" bis "machine 
learning" reichen und in jener Reihenfolge auch entsprechend in der 
Komplexität explodieren. Den "adaptiven Regler" perse gibt es so also 
eigentlich nicht.

Was für kleine µC in der Regel am zielführendsten ist, ist erstmal ein 
simples "gain scheduling" auf Basis irgendwelcher selbst erstellten 
Parameter zu erstellen. Etwa "I steigt mit dem Quadrat des 
Rollendurchmessers"... oder was auch immer für deine Applikation als 
passend erscheind.

Führt das nicht zum Erfolg, dann kann man sich immer noch überlegen ein 
Referenzmodell der Regelstrecke zu erstellen. Entweder im voraus, oder 
vom µC selbst via Messungen off- oder online. Solche modellbasierten 
Regler ermöglichen dann meist auch echte "adaptive Regler", indem man 
das Verhalten des Modells mit dem des Reglers in ein Optimierungsproblem 
packt und abgleicht... das is dann aber schon sehr, ich sag mal 
fortgeschritten. ;)
Gast #5156837
Lesenswert?

Hallo, das Wörtchen "adaptiv" taucht seit undenklichen Zeiten immer mal 
in allen möglichen Verbindungen auf. Am Anfang meiner Berufslaufbahn war 
das schlicht ein PR-Argument. Adaptiver PI-Regler z.B. hört sich ja auch 
gewichtig an. Und suggeriert etwa so etwas wie automatisch, 
selbstständig...was würde man also in diesem Fall des TO erwarten. Einen 
PI-Regler, der sich selbst seine Regelaufgabe optimiert. Auch wenn es 
durchaus (überaus komplexe) Systeme gibt, die sowas können, so wird 
praktisch eher ein Parameter des Systems in simpelster Art und Weise 
umgeschaltet und nennt sich dann eben adaptiv.
Bin kein Regeltechniker und kann dem TO deshalb nur raten, sich mit der 
Optimierung seines Regelkreises zu beschäftigen. Vielleicht ist ein 
PI-Regler ja z.B. gar nicht geeignet, um die gestellte Aufgabe zu lösen! 
Jedenfalls, bevor "adaptiv" gedacht wird, sollte das System erst mal 
stehen. Und dazu wird hier im Forum sicher kompetente Hilfe vorhanden 
sein.
Gruß Rainer und gutes Gelingen!
Gast #5157130
Lesenswert?

Seine Regelstrecke ändert sich. Daher wird ein Regler, der sich auf die 
Veränderung anpasst überlegen sein. Ist auch nichts kompliziertes.

Der I Anteil schleppt Information von vergangenen Zeiten mit sich 
(deshalb heißt er auch so), man kann nicht einfach den Faktor Ki 
anpassen, damit würde der Anteil der vergangenen Zeit mit verstärkt. 
Also den alten Anteil so lassen und nur den neu dazugekommenen mit einem 
neuen KIneu dazu addieren.

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