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 

Einstellung des simple_ PID Regler



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!

22.04.2013, 12:35 (Dieser Beitrag wurde zuletzt bearbeitet: 22.04.2013 12:35 von Atilla.)
Beitrag #21

Atilla Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2012

11
2012
DE


Deutschland
RE: Einstellung des simple_ PID Regler
Hallo GerdW

Zitat:D.h. du hast eine Übertragungsrate von ca. 1kByte/s, bei Botschaften von 10 Byte also max. 100 Messwerte pro Sekunde (exklusive Befehlsverarbeitungszeit des Geräts). Realistisch dürften 25Hz Samplerate sein...
Das ist doch schon eine ganze Menge.

Zitat:Und was sendet dein Gerät, wenn du mittendrin "Null"-Werte erhälst? Wo kommen diese Nullen her?
Da mein Gerät mit 2byte Integerwerten Antworten erhalte ich dort einen sehr kleinen Wert zurück. ca 1000 um gerechnet ergibt dies 0,1A.

Zitat:Du sollst während der Regelung nicht an den PID-Parametern rumspielen!
Man stellt diese Parameter einmal ein und der Regler/das System soll sich dann (bei dir sehr langsam) an den Sollwert annähern...
Es nähert sich aber bei mir nichts an. Ich will den Vorgang auch keine halbe Std laufen lassen, da ich mir wohl denke das es für die Apperatur nicht gut ist wenn das Filament im schnell Wechsel an und aus geht.

Zitat:Nach einigen Sekunden habe ich dann meinen Filamentstrom auf 2,2 Amper hochgesetzt und das Ergebnis aufgezeichnet.
Diese Kurve ist noch "schön": das Gerät reagiert in einem Zeitraum von ca. 20s auf den Sprung und arbeitet "monoton steigend". P sollte ca. 1 sein: Stellwertänderung von 2,2 führt zu Istwertänderung von ca. 2,5.

Zitat:
Zitat:Anschließend habe ich dann den Wert erhöht auf 2,5 Amper.
Und hier wird's kritisch: Dein System reagiert innerhalb von 3s - und das sind bei dir gerade mal 3 Messwerte! Schlimmer noch: erst gibt es eine Reaktion in die falsche Richtung (diese Null bei 16s), danach dann innerhalb von 2 Messwerten auf den Sollwert. Wie soll ein PID-Regler damit klarkommen, wenn er womöglich noch auf Integral(E) und Diff(E) reagieren soll und das Resultat seiner Stellwertänderung immer erst eine Sekunde später "sieht"?
Dein P-Wert sollte hier eine ganz andere Größenordnung haben (Stellwertänderung von 0,3 führt zu Istwertänderung von 13). Solche stark nichtlinearen Systeme fahre ich gern mit einem PID-Regler mit Vorsteuerung: man macht eine grobe Abschätzung des Stellwertes über eine Vorsteuerung (die das nichtlineare Verhalten in einer Kennlinie abbildet) und der PID-Regler muss dann nur relativ kleine Fehlerwerte "wegregeln". Allerdings haben meine System typischerweise Zeitkonstanten in der Größenordnung 30s bis 2min, da ist das ganze unkritisch...
... d.h. für mein System ist das keine geeignete Lösung.

Deine Vorsteuerung, wie genau sieht die nun aus bzw. was kann ich mir darunter vorstellen? Ist das ein gewissen Algorithmus oder ist das ein Array von bestimmten Werten deiner Kennlinie die du dem Regler übergibst?

Ich danke die für eine Bemühungen mir bei diesem Problem zu helfen.

Gruß Atilla
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.04.2013, 15:42
Beitrag #22

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Einstellung des simple_ PID Regler
Hallo Attila,

Zitat:Da mein Gerät mit 2byte Integerwerten Antworten erhalte ich dort einen sehr kleinen Wert zurück. ca 1000 um gerechnet ergibt dies 0,1A.
Aber 0,1A sind nicht Null...
Bekommst du nun sinnvolle Werte von deinem Gerät oder nicht?
Wieso bekommst du mehr Nullen, wenn du öfter abfragst?
Wird mit TermChar gearbeitet? Ist die Bytezuordnung immer korrekt (MSB/LSB)?

Zitat:Ich will den Vorgang auch keine halbe Std laufen lassen,
Entweder du kannst wesentlich schneller mit dem Gerät kommunizieren (=höhere Samplerate) oder du musst den Regler langsam arbeiten lassen. Da du am Gerät wohl nichts ändern kannst: lass den Regler eine halbe Stunde arbeiten...

Zitat:Deine Vorsteuerung, wie genau sieht die nun aus bzw. was kann ich mir darunter vorstellen?
Man könnte bei Wikipedia nachlesen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2013, 16:08
Beitrag #23

Atilla Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Oct 2012

11
2012
DE


Deutschland
RE: Einstellung des simple_ PID Regler
Zitat:Aber 0,1A sind nicht Null...
Bekommst du nun sinnvolle Werte von deinem Gerät oder nicht?
Also in meinem Fall ist 0,1 = 0. Das liegt aber daran das er nicht genau 0 ausgeben kann, weil iwie immer kleine ströme fließen. Außerdem ist das System nicht 100% geeicht, was aber wohl so ausreichend ist.
Ja ich erhalte in dem Sinne sinnvolle Werte, dass die Ausgabe richtig ist. Mir gefallen die Werte nicht, aber die sind richtig und spiegeln den aktuellen Strom am Filament wieder.

Zitat:Wieso bekommst du mehr Nullen, wenn du öfter abfragst?
DAs ist eine gute Frage. Ich denke, dass liegt iwie einfach damit zusammen das wohl mein Gerät nicht mehr mitkommt und deshlab die Kommunikation mir nur Nullen wieder gibt.

Zitat:Wird mit TermChar gearbeitet? Ist die Bytezuordnung immer korrekt (MSB/LSB)?
Weiß ich nicht, da ich nicht weiß wovon du redest.

Im Grund habe ich aber den Fehler in meinem System einigermaßen erkannt. Ein PID-Regler wäre für mich bestimmt gut gewesen, nur denke ich das die Justierung für mich viel zu aufwendig ist. Auf Grund dessen habe ich mich selbst an einer einfacheren Version zuschaffen gemacht. Und habe damit einen einfachen P Regler rausbekommen.

   

Dieser Unterscheidet aber bei dem Verstärkungsfaktor ob ich oberhalb vom Sollwert bin oder Unterhalb. Wie vll schon einige Feststellen konnten verhält sich das System nicht gleichmäßig und so habe ich festgestellt, dass ich beim Erhöhen und beim Senken des Stroms unterschiedliche Paramter nehmen muss. Für das Erhöhen passt der Paramter 0,05 und für das Senken 0,02 sehr gut. Natürlich habe ich da noch Schwankungen drinne im Bereich von 0,2 +- und ich habe auch versucht noch einen IRegeler mit einzufügen, doch das hat nicht so gut geklappt. Mein Istwert ist langsam angestiegen und es wurde damit nach 10 min aus 4W --> 4,5 W. Hat jmd eine Idee wie ich das ändern kann. Die Paramter habe ich hier auf 0,001 bis 0,0005 ansonsten erhielt ich wieder diese extrem starken Auschläge. Und weiß jmd vll wofür im simple_PID.vi dT gebraucht wird. Also es wird mit I verrechnet, aber warum?

Das Andere ist, dass meni Istwert um 1W vom Sollwert abweicht und das immer. Das Problem habe ich gelöst in dem ich einfach beim setzen meinen Sollwert um 1 erhöht habe, aber trotzdem finde ich den Effekt komisch. Vll hat ja jmd von euch eine Antwort.

   
Die starken Ausschläge nach unten habe ich manuell verursacht, damit meine REgelung wieder jeweils von 0 beginnen kann.

Ich bedanken mich hiermit nochmal sehr bei allen, die mir versucht haben bei meinem Problem zu helfen. Und ich hoffe ich habe euch mit meinen Wissenslücken nicht zu sehr geärgert. Blush

Gruß Atilla
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Timing Einstellung DAQ-assistent bachatero18 6 4.411 26.02.2019 15:11
Letzter Beitrag: bachatero18
  PID Regler belu003 14 25.745 12.01.2015 14:41
Letzter Beitrag: se
  Einstellung in "Signal simulieren" JoKo 4 5.274 06.06.2013 10:23
Letzter Beitrag: JohnnyBlack
  PID-Regler itsme87 12 21.172 05.10.2011 11:50
Letzter Beitrag: itsme87
  PID-Regler jooh 3 7.055 14.06.2011 15:22
Letzter Beitrag: jooh
  PID-Regler-VI Aleph1 3 9.667 16.09.2010 08:40
Letzter Beitrag: Aleph1

Gehe zu: