Einstellung des simple_ PID Regler - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Einstellung des simple_ PID Regler (/Thread-Einstellung-des-simple-PID-Regler) |
RE: Einstellung des simple_ PID Regler - Atilla - 22.04.2013 12:35 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!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:... d.h. für mein System ist das keine geeignete Lösung.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"? 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 RE: Einstellung des simple_ PID Regler - GerdW - 22.04.2013 15:42 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... RE: Einstellung des simple_ PID Regler - Atilla - 23.04.2013 16:08 Zitat:Aber 0,1A sind nicht Null...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. [attachment=44449] 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. [attachment=44450] 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. Gruß Atilla |