INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

PID Regler eines Systems bestimmen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

13.04.2010, 13:50
Beitrag #1

Jansen83 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: May 2009

8.6
-
de

18055
Deutschland
PID Regler eines Systems bestimmen
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2010, 10:48 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2010 10:49 von echtzeit.)
Beitrag #2

echtzeit Offline
LVF-Grünschnabel
*


Beiträge: 39
Registriert seit: Oct 2009

8.6.1 und Labview 2009 SP1
2008
de

1099
Deutschland
PID Regler eines Systems bestimmen
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...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2010, 12:28 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2010 12:38 von Jansen83.)
Beitrag #3

Jansen83 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: May 2009

8.6
-
de

18055
Deutschland
PID Regler eines Systems bestimmen
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ß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2010, 16:13
Beitrag #4

Maze82 Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Oct 2009

2010
2006
DE

74076
Deutschland
PID Regler eines Systems bestimmen
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)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2010, 10:46 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2010 11:10 von Jansen83.)
Beitrag #5

Jansen83 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: May 2009

8.6
-
de

18055
Deutschland
PID Regler eines Systems bestimmen
' 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?


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2010, 12:40
Beitrag #6

Jansen83 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 95
Registriert seit: May 2009

8.6
-
de

18055
Deutschland
PID Regler eines Systems bestimmen
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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sichtbarkeit eines Fensters bestimmen THL 9 5.733 06.12.2016 14:16
Letzter Beitrag: BNT
  PID Regler belu003 14 25.321 12.01.2015 14:41
Letzter Beitrag: se
  Anzahl der Zeilen eines Strings bestimmen Pral 6 8.958 26.11.2012 11:16
Letzter Beitrag: Pral
  PID-Regler itsme87 12 20.996 05.10.2011 11:50
Letzter Beitrag: itsme87
  PID-Regler jooh 3 7.026 14.06.2011 15:22
Letzter Beitrag: jooh
  PID-Regler-VI Aleph1 3 9.606 16.09.2010 08:40
Letzter Beitrag: Aleph1

Gehe zu: