LabVIEWForum.de
PID Regler eines Systems bestimmen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: PID Regler eines Systems bestimmen (/Thread-PID-Regler-eines-Systems-bestimmen)



PID Regler eines Systems bestimmen - Jansen83 - 13.04.2010 13:50

Da ich mein Thema nicht genau zuordnen kann stell ich es hier ein.
Zum Problem:
Ich betreibe eine PID-geregelten Linearschlitten (Regler läuft auf einer Rio, trotzdem wollte ich das Thema nicht zwingend unter FPGA einstellen).
Übergabewerte sind:
- Weg s
- Geschwindigkeit v
- Beschleunigung a

Wegsignal sind eine Rampe und ein Sinus².
Nun zum eigentlichen Problem:
ich muss meinen Regler richtig einstellen. Laut Aussage meines Betreuers mache ich dies am besten experimentell über einen Sprung und stelle die Parameter solange ein, bis sie mir ideal erscheinen.
Ich habe nur unter Simulation ein "Step Signal" gefunden. Handelt es sich dabei um eine Sprungfunktion? Allerdings bringt mir diese noch nicht viel, da ich ja den Sprung für mein reales System benötige.
Wäre toll, wenn mir jemand einen Ansatz geben könnte, wie ich das Problem am besten angehe, ich bin diesbezüglich leider mal wieder völlig planlos. Sad

Danke und Gruß
JAN


PID Regler eines Systems bestimmen - echtzeit - 14.04.2010 10:48

Hallo,
Ein "Sprung" ist nix anderes, als eine "sprunghafte" Änderung des Sollwertes. http://de.wikipedia.org/wiki/Sprungantwort
Beispielsweise befindet sich dein Schlitten in der Position X0 und soll sofort auf die Position X1 fahren. Aus der Sprungantwort erfährst du jetzt, ob dein System Totzeiten o.Ä. Eigenschaften aufweist...und du kannst die Parameter für Kp, Ki und Kd bestimmen.

Eine Andere Lösung wäre dein System nur mit einem P-Regler zu betreiben. P-Anteil solange erhöhen bis dein System zu schwingen anfängt und dann aus diesen Werten Kp, Ki und Kd berechnen.

Hoffe das hilft...


PID Regler eines Systems bestimmen - Jansen83 - 14.04.2010 12:28

Danke.
Ich weiß, dass es eigentlic hnichts mit LabVIEW zu tun hat, sondern ein eher ein fehlendes Grundlagenwissen der Regelungstechnik.
Bin derzeit dabei dies hoffentlich erfolgreich aufzuarbeiten.
Kurze Nachfrage: führe ich den Sprung am ungeregelten System durch zur Parameteridentifikation?
Und könnte mir vielleicht jemand auf die Sprünge helfen, wie sich Kp,Ki und Kd zusammensetzen? Unsure

Danke und Gruß


PID Regler eines Systems bestimmen - Maze82 - 14.04.2010 16:13

Hallo,
an deiner Stelle würde ich die zweite von echtzeit angesprochene Methode verwenden (vorausgesetzt ein instabiler Systemzustand richtet keinen Schaden an).
Dazu betreibst Du Dein System mit einem reinen P-Regler und gibst einen Sollwertsprung vor. Bei konstantem Eingangssignal erhöhst du den P-Anteil solange bis dein System anfängt zu schwingen.
Die Schwingungsdauer entspricht der Periodendauer T_krit und der P-Anteil der Verstärkung K_p_krit.
Mit diesen Werten kannst du nach der Faustformel von Ziegler-Nichols den P-, I- und D-Anteil errechnen.

Im Falle eines PID-Reglers:

Kp=0,6*K_p_Krit;
Tn=0,5*T_krit
Tv=0,125*T_krit

Alles nachzulesen unter Wikipedia
http://de.wikipedia.org/wiki/Faustformelve...ierungstechnik)


PID Regler eines Systems bestimmen - Jansen83 - 15.04.2010 10:46

' schrieb:Hallo,
an deiner Stelle würde ich die zweite von echtzeit angesprochene Methode verwenden (vorausgesetzt ein instabiler Systemzustand richtet keinen Schaden an).
Dazu betreibst Du Dein System mit einem reinen P-Regler und gibst einen Sollwertsprung vor. Bei konstantem Eingangssignal erhöhst du den P-Anteil solange bis dein System anfängt zu schwingen.
Die Schwingungsdauer entspricht der Periodendauer T_krit und der P-Anteil der Verstärkung K_p_krit.
Mit diesen Werten kannst du nach der Faustformel von Ziegler-Nichols den P-, I- und D-Anteil errechnen.

Der Sprung wäre in meinem Falle ein delta s, oder? Die Spannung ergibt sich ja aus der Differenz und und fällt in diesem Falle als Sprunggröße aus, oder (Spannung wäre aufgrund der kleiner werdenden Differenz auch nicht konstant)? Sofern dass der Weg ist bestimme ich ja anschließend mein T_krit und aus meinem K_p_krit und dem T_krit meien Parameter K_p, T_n und T_v aus den bekannten Formeln.
Wie bestimme ich meinen k-Faktor?

Fragen über Fragen Unsure

Jan

Edit: habe gestern natürlich schon etwas rumprobiert, allerdings ist mir der PID Regler für die cRio noch etwas schleierhaft.
Die `intial Gains´entsprechen sicherlich den errechneten Parametern K_p, T_n & T_v und werden dann nur in Festkommazahlen umgewandelt.
Sofern ich das Bedienelement mit den `PID Gains´an den PID Regler anschließe überschreibe ich die hinterlegten Parameter? Warum defniert man in der Dialogbox die PId-Parameter, im Regler ansich aber widerum K_p, T_n & T_v?


PID Regler eines Systems bestimmen - Jansen83 - 15.04.2010 12:40

Jetzt zur Abwechslung mal eine Nachfrage LV betreffend:

für das RT PID-Glied benötige ich die Sampling Time T_s, nach Hilfe definiert als folgende:

"Specifies the loop time, in seconds, at which the PID loop on the FPGA target runs."

We bestimme ich diese Schleifenzeit? Diese sollte ja sicher eine Konstante für mein System sein.