Forum: Mikrocontroller und Digitale Elektronik schnelle, grobe Reglereinstellung PI mit C


von merb (Gast)


Lesenswert?

Hallo zusammen,
ich möchte für einen kleinen Panzer welcher über einen MSp430 gesteuert 
wird, einen Regler parametrisieren.
Und zwar werte ich mit einem Raspberry ein Kamerasignal aus welches 
einen Ball erkennt.
Ist der Ball genau in der Mitte, hat dieser den Positionswert 32, ganz 
links 0 und ganz rechts 64.

Den PI-Regler habe ich soweit auch schon im C-Code wie folgt:

SumAbweich = SumAbweich + Abweich
Stellwert= Kp * Abweich + Ki  Ta  SumAbweich

Kp und Ki sind ja hierbei meine Reglerparameter. Was ist jedoch mit Ta? 
Wo kommt der Wert her?

Da das ganz ein kleines Bastlerprojekt ist und ich keine Sprungantwort 
habe, würde ich gerne wissen ob es ein paar Faustwerte gibt, die für so 
etwas in Frage kommen? Ich werde den Regler dann nur nach Gefühl 
einstellen.

Bisher habe ich mal versucht Kp, Ki und Ta auf 1 zu setzen aber das 
Ergebnis war miserabel...

Für Ziegler Nicholas benötigt man auch wieder die Sprungantwort oder?

Schöne Grüße und danke für eure Hilfe!

von merb (Gast)


Lesenswert?

Es geht natürlich um einen PI-Regler! Sorry ganz vergessen....

von ichduersiees (Gast)


Lesenswert?


von derElf (Gast)


Lesenswert?

Warum misst du nicht einfach die Sprungantwort aus indem du den ball 
einfach ganz schnell von der einen auf die andere Seite bringst?

sonst finden sich hier: 
http://rn-wissen.de/wiki/index.php/Regelungstechnik#Dimensionierung_des_Reglers

auch noch ein paar für dich interessante Verfahren.
Aufpassen musst du nur, weil normalerweise Kp und Ki keine Integer 
(Ganzzahlen) sind und du das in deinem Algorithmus beachten musst.

von Ulrich H. (lurchi)


Lesenswert?

Mit Ta ist normalerweise die Abtastzeit gemeint, also die Zeit zwischen 
2 Aufrufen der Routine.

So allgemeine Schätzwerte für die Regelparameter gibt es nicht, weil die 
Systeme sehr unterschiedlich sein können. Für den Abgleich gibt es im 
wesentlichen 3 Methoden:
1. Die System-anwort als Sprungantwort oder Impulsantwort messen (ggf. 
auch berechnen/schätzen) und daraus dann die passenden Parameter 
berechnen. Dafür gibt es sogenannte Einstellregeln und Tabellen mit 
Formeln dazu.

2. Das System als P-Regler an die Grenze der Instabilität bringen und 
aus der Frequenz und der Verstärkung als P-Regler die Einstellungen 
berechnen.

3. Durch iteratives Probieren die Werte optimieren. Mit etwas Erfahrung 
weiß man wie sich die Änderungen der Parameter auswirken und Probiert 
nicht ganz Planlos.

Das Verhältnis Kp/Ki gibt die Reaktionszeit vor. Dafür kann man halt 
einen Wert ansetzen der so etwa erreicht werden kann, bzw. etwa die Zeit 
die es ohne Regelung braucht sich zu stabilisieren.

von merb (Gast)


Lesenswert?

super! vielen vielen dank! ich denke mal damit werde ich es ausgelegt 
bekommen ;-)

Das mit der Sprungantwort ermitteln indem ich den Ball umlege ist ne 
gute idee!

von Ulrich H. (lurchi)


Lesenswert?

Den Ball zu versetzen ist die Antwort des geschlossenen Regelsystems auf 
eine sprungartige Störung. Das ist etwas anderes als die Sprungantwort 
des Offenen Regelsystems, die oft zum Abgleich genutzt wird.

Zum Aufnehmen der Sprungantwort müsste man eine Bewegung des Fahrzeugs 
(halt ein Sprung bei der Größe die der Regler steuern soll) 
programmieren, und die gemessene Postion des Balls aufzeichnen.


Es kann gut sein, das der PI Regler für dieses Beispiel keine gute 
Lösung ist.

von Matu (Gast)


Lesenswert?

Hallo,

ich gehe mal davon aus dass es sich um eine Positionierung einer Kamera 
handelt und Du von deiner Messeinrichtung die Information der Position 
(von 0 bis 64 ) erhälst. Weiterhin gehe ich davon aus dass der Panzer 
entweder dem Ball folgen soll oder die Kanone auf den Ball ausgerichtet 
werden soll ?!
Wenn es sich um eine Positionierung handelt ist es ein I-Regelstrecke, 
d.h.
es kann keine Sprungantwort aufgenommen werden bzw. die Sprungantwort 
hat integrales Verhalten.
Ich würde Dir empfehlen einen einfachen P-Regler zu nutzen (y=Kpr*e)
oder wie Du schreibst "Stellwert= Kp * Abweich". Damit solltet Du erst 
einmal ausreichende Ergebnisse erhalten.

Matu

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.