Hallo zusammen, ich stehe gerade vor einem Regelungstechnischem Problem, dass mir etwas Kopfschmwerzen bereitet. Erstmal etwas zum Aufbau: Es soll ein hydraulischer Kolben bewegt werden, dessen Position von einem 4-20mA Wegaufnehmer bestimmt wird. Die Ansteuerung erfolgt über 2 Proportionalventile, eins für Auf und eins für Ab. Zur Ansteuerung der Ventile werden 3 Parameter festgelegt: Standbystrom (das Ventil ist hier noch vollständig geschlossen), Minimalstrom (bei dem das Ventil gerade öffnet) und der Maximalstrom (bei dem Ventil voll geöffnet ist). Zu den Ventilen ist nicht wirklich viel bekannt, außer der Aufschrift aus 24V, 100% ED, Datenblätter sind nicht verfügbar. Die Elektronik daran ist eine Eigentwicklung auf Basis eines STM32. Die Reglung der Position erfolgt über 2 hintereinandergeschaltete Regelkreise. Der erste PID-Regler regelt die Position und stellt ein Ansteuersignal für den Stromregler der Ventile zur Verfügung. Dort steuert ein PI-Stromregler die Magnete der Ventile per PWM mit einem konstanten Strom an. Für positive Werte wird das Einlass und für negative das Auslassventil angesteuert. Der Strom wird linear zwischen dem Minimal und Maximalstrom interpoliert. Meine Erfahrungen mit Hydraulik beschränken sich neben den angelesenen theoretischen Grundlagen nur auf kleinere Bastelein.. Das Ganze funktioniert auch schon prinzipiell, aber ich habe noch ein Problem mit dem Regelverhalten, bei dem ich mit meinem Grundwissen aus den Regelungstechnikvorlesungen nicht weiter komme. Und zwar kommt es bei der Ansteuerung mit einem Dreieckssignal zu einer Art Schwingung in den Bewegungen. Der Istwert pendelt quasi um den Sollwert. Zur Fehlersuche gibt es eine Art Oszilloskopfunktion auf dem PC, so dass man dem Mikrocontroller etwas bei der Arbeit zusehen kann. Leider gibt die USB-Bandbreite und Prozessorlast nur zwei Signale her, aber immerhin lässt sich so schon einiges anzeigen: Im Anhang sind folgende Bilder: Regelbetrieb1: Gerade in der steigenden Flanke ist das Problem zu sehen. Bei der fallenden Flanke wurde die „Agressivität“ der Ansteuerung durch einen gerineren Minimalstrom herabgesetzt. Regelbetrieb2: Ähnliches Bild wie 1, aber vergrößert und der Minimalstrom an der fallenden Flanke noch weiter herabgesetzt. Hier ist der Strom zu viel gering, und der Sollwert wird nicht mehr erreicht. Dreieck_istwert_ventilstrom: Der Ventilstrom hat folgende Werte: Standby 300mA, Minimal 960mA, Maximal 1400mA. In den breiteren „Lücken“ des Ventilstroms wird meistens sogar noch das entgegengesetzte Ventil kurz angesteuert. rechteck_istwert_ventilstrom rechteck_aollwert_istwert Das Ganze noch einmal im Falle eines Rechtsignals. Aber hier gibt es eigentlich nicht viel Grund zur Kritik und mit dem Ergebnis wäre ich zufrieden. Das einzige was etwas stört, ist das Ventilgeflatter kurz vor erreichen des Endwerts, aber dies lässt sich durch einfügen eines Tobereichs um den Nullpunkt der Regelabweichung sicher entfernen. Zur Fehlersuche habe ich den Stromregler bereits ausführlich getestet. Dazu wurde der Regelkreis aufgetrennt und Testsignale als Istwert eingespeist. Die Ströme folgten auch an den Sprüngen der Rechtecksignale, desweiteren gab es keine Schwingungen oder Regelabweichungen. Von daher betrachte ich diesen Teil als fehlerfrei. Von dem PID-Regler wurde bisher nur der P-Anteil verwendet. Versuche mit einem geringen I-Anteil führten immer zu Schwingungen. Ich befürchte das mein Ansatz wohl etwas zu naiv wahr und es ein paar Details gibt, die mir hier in die Suppe spucken. So langsam bin ich mit meinem Latein am Ende und würde mich über Hinweise, Tipps, Anregungen, Vorschläge zum weiteren Vorgehen oder Ansätze, die ich weiter untersuchen kann sehr freuen.. Schöne Grüße Jan
:
Verschoben durch User
Stick-Slip-Effekt beim Zylinder könnte das sein. Ist der Zylinder richtig ausgewählt (was die Reibung angeht)? Ich meine mit einem 5/3-Wegeventil müsste das gehen (Öldruck raus und rein). Mit zweien wird es schwierig das jeweilig andere Ventil passend zu bestromen.
Ermittelt der Positionsgeber wirklich die Auslenkung des Zylinders, oder misst Du an einer anderen Stelle, die über eine schwingende Mechanik mit dem Kolben verbunden ist? Regst Du mit der Verzögerungszeit in Deinem Regelkreis die Resonanzfrequenz Deines Aufbaus an?
Bist du auf Hydraulik festgelegt? Es gibt inzwischen elektrische Hubzylinder in (fast) allen Leistungsklassen. Die lassen sich deutlich einfacher regeln. Wichtig ist natürlich auch ein vernünftiges Feedback. Analoge Wegmessung ist nicht unbedingt optimal, weil über den gesamten Weg je nach Messprinzip und Wander nur 8 bis max. 12 bit Auflösung zur Verfügung stehen. Bei 500mm Hub liegt die Messauflösung dann bei einigen Zentel Millimeter. Mit freundlichen Grüßen Thorsten Ostermann
Bei Rechecksignal ist ein deutliches Überschwingen zu sehen, Ventil ist abgeschaltet doch die Bewegung geht noch ein Stück weiter. Welche Masse wird bewegt, Geschwindigkeit zu hoch ?. Im Dreieckbetrieb sieht es so aus als ob der Minimalwert zu niedrig wäre da die Sollposition (Dreiecksspitze) nicht erreicht wird.
Jan K. schrieb: > Die Reglung der Position erfolgt über 2 hintereinandergeschaltete > Regelkreise. Damit fängst du dir natürlich das Problem ein, noch mehr Variable zu haben. Ist der zweite Regler wirklich nötig? Jan K. schrieb: > Versuche mit > einem geringen I-Anteil führten immer zu Schwingungen. Das klingt nämlich nicht richtig. Ein I-Anteil soll integrieren und bei niedrigen Werten wenig, bei höheren Werten immer mehr dämpfen. Für mich klingt das eher nach D Faktor, an dem du da drehst. Ich vermute, das die Regler gegeneinander arbeiten. Wichtig für gute Regeleigenschaften sind auch die Skalierungen deiner Hardware Treiber. Wenn du etwa lineare Ansteuerung in etwa lineare Drücke übertragen kannst, ist das auf jeden Fall sehr hilfreich. Dann fallen die PID Faktoren recht schnell an ihren richtigen Platz.
:
Bearbeitet durch User
Sorry, das ich mich jetzt erst wieder melde, musste den Thread erstmal wiederfinden, da er verschoben wurde.. Erst mal schon mal vielen Dank für die Anregungen, ich gehe mal chronologisch auf sie ein: Jürgen Gensicke schrieb: > Ich meine mit einem 5/3-Wegeventil müsste das gehen (Öldruck raus und > rein). Mit zweien wird es schwierig das jeweilig andere Ventil passend > zu bestromen. Das Ganze ist also eine Einheit, also von daher gehe ich davon aus, dass es richtig ausgelegt ist. Wenn beide Ventile aufgesteuert werden, kommt es zu einem hydraulischen Kurzschluss und man hört das Medium durchströmen. Das passiert zum Beispiel wenn der Standbystrom zu hoch angesetzt ist. Es wird also immer nur ein Ventil bestromt. Die Vermutung mit der Haftreibung hatte ich auch schon. Bei Schieberventilen wird deshalb ja ein Wechselstrom überlagert, der eine Art Vibration erzeugt, um diesen Effekt zu verringern. Bei meinen Ventilen handelt es sich aber um Kugelsitzventile und ich habe gelesen, dass diese durch eine solche Ansteuerung sehr stark belastet und auf Dauer beschädigt werden. Yellow schrieb: > Ermittelt der Positionsgeber wirklich die Auslenkung des Zylinders, oder > misst Du an einer anderen Stelle, die über eine schwingende Mechanik mit > dem Kolben verbunden ist? Der Wegaufnehmer sitzt direkt oben drauf und dessen Achse geht direkt zum Kolben runter. > Regst Du mit der Verzögerungszeit in Deinem Regelkreis die > Resonanzfrequenz Deines Aufbaus an? Das könnte auch sein. Ich habe schon das folgende Phänomen beobachtet. Wenn ich die PT1-Glieder zur Eingangsfilterung stärker einstelle, schwingt das System bei gleichem P-Anteil und Rechteckanregung länger nach. Würde ich deine Vermutung beweisen können, wenn die Periodendauer der Schwingungen beim Rechtecksignal und die bei der Dreieckansteuerung gleich sind? Thorsten Ostermann schrieb: > Bist du auf Hydraulik festgelegt? Ja, bin ich. > Analoge Wegmessung ist nicht unbedingt optimal, weil über den gesamten > Weg je nach Messprinzip und Wander nur 8 bis max. 12 bit Auflösung zur > Verfügung stehen. Bei 500mm Hub liegt die Messauflösung dann bei einigen > Zentel Millimeter. Die Auflösung beträgt etwas unter 10bit (22mA ^= 2048 --> genutzter Wertebereich 8-18mA) und das Rauschen beträgt etwa 1-2 Promille. Da sehe ich im Moment jetzt nicht so das Problem.. Gisbert Kaemmerer schrieb: >Im Dreieckbetrieb sieht es so > aus als ob der Minimalwert zu niedrig wäre da die Sollposition > (Dreiecksspitze) nicht erreicht wird. Gerade beim Regelbetrieb2-Bild wurde der Strom für das "Ablassventil" absichtlich herabgesetzt. Matthias Sch. schrieb: > Jan K. schrieb: >> Die Reglung der Position erfolgt über 2 hintereinandergeschaltete >> Regelkreise. > > Damit fängst du dir natürlich das Problem ein, noch mehr Variable zu > haben. Ist der zweite Regler wirklich nötig? Der ist nötig, der logische Aufbau sieht so aus: Regelabweichung ----> PID-Regler --[Ausgangssignal +/- 1000]--> Ventilkennline --[Ventilstrom-Soll]--> PI-Stromregler --[PWM]--> Ventil Der Block Ventilkennlinie rechnet das Reglerausgangssignal in einen Stromwert um. Der Bereich um Null kann als Totbereich definiert werden. Wird der Totbereich verlassen, Erfolgt die Ansteuerung mit einem einstellbaren Minimalstrom, der dann linear ansteigt bis zum eingestellen Maximalstrom. Es kann natürlich sein, dass es durch die hohe Induktivität der Magneten zu einer Phasenverschiebung im Gesamtregelkreis kommt, die dann die Phasenreserve stark verringert. Das habe ich schon bei der Parametrierung des Eingangsfilter vom Ist-Wert bemerkt, dass ich damit die Schwingneigung beeinflussen kann (siehe oben). > Jan K. schrieb: >> Versuche mit >> einem geringen I-Anteil führten immer zu Schwingungen. > > Das klingt nämlich nicht richtig. Ein I-Anteil soll integrieren und bei > niedrigen Werten wenig, bei höheren Werten immer mehr dämpfen. Für mich > klingt das eher nach D Faktor, an dem du da drehst. Ja da muss ich noch einmal die Implementierung des Reglers überprüfen. Vielleicht gibt es da auch noch ein Problem drin, so das der I zum Beispiel viel zu schnell aufintegriert und ich eine Art Windup erhalte. > Ich vermute, das die Regler gegeneinander arbeiten. Mhh eigentlich tut der Stromregler was er soll, aber es kann sein, dass er zuviel Phasenverschiebung erzeugt.. > Wichtig für gute Regeleigenschaften sind auch die Skalierungen deiner > Hardware Treiber. Wenn du etwa lineare Ansteuerung in etwa lineare > Drücke übertragen kannst, ist das auf jeden Fall sehr hilfreich. Dann > fallen die PID Faktoren recht schnell an ihren richtigen Platz. Ich denke es geht eher um einen linearen Volumenstrom. Ich muss mal schauen ob ich da irgendwie etwas zu herausbekomme, wie der sich abhängig von der Ansteuerung verhält. Für denn Fall, dass der Zusammenhang nicht linear ist, müsste ich ja nur die Ventilanpassung ändern, um das zu kompensieren. Ich denke der nächste Schritt wird es sein, dass ich mal versuche das Übertragungsverhalten des Reglers genauer zu untersuchen. Also mal die Totzeit/Verzögerungen zu messen. Die Probleme mit der Haftreibung sollten sich ja eigentlich durch eine schnellere Ansteuerung überprüfen lassen. Die aktuellen Testsignale sind ja recht träge. Außerdem werde ich mal mit einer Sinusanregung versuchen, die Resonanztheorie zu überprüfen.
Jan K. schrieb: > Regelabweichung ----> PID-Regler --[Ausgangssignal +/- 1000]--> > Ventilkennline --[Ventilstrom-Soll]--> PI-Stromregler --[PWM]--> Ventil Ja, ist ja schön, aber warum zwei Regler? Welche Istgrösse bekommt denn der erste Regler? Und warum soll dieses Ausgangssignal nochmal durch einen PI Regler für die PWM? Logisch ist es doch, das Ausgangssignal des PID Reglers gleich als PWM Signal zu verwenden. Das System alleine sollte schon anständig regeln. Wenn du willst, kannst du dann später evtl. noch einen PI Regler für was auch immer benutzen, welchen Istwert bekommt eigentlich dieser? Also erstmal den ersten PID Regler ordentlich einstellen - und dann mal schauen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.