Hallo,
ich bin Maschinenbaustudent und arbeite im Hiwijob und auch privat mit
Mikrocontrollern und Programmierung in C.
In der Uni gab es natürlich auch die Klausuren Mess- und
Regelungstechnik, die ich auch bestanden habe - aber davon habe ich für
ein geplantes Projekt leider überhaupt keinen Nutzen. Die
Regelungsaufgabe ist vermutlich relativ einfach, aber mit meinen
Vorlesungsmitteln aus der Regelungstechnik wüsste ich überhaupt nicht,
wie man da ran geht.
Es geht um einen Hydraulikzylinder, der per Servoventil vor- und
zurückbewegt werden kann. Eine Spannung > 0 V und < 10 V verursacht eine
Ausfahrbewegung und eine Spannung < 0V und größer > -10 V lässt den
Zylinder einfahren. Je größer der Betrag der Spannung, desto größer die
Verfahrgeschwindigkeit.
Ich möchte jetzt eine Geschwindigkeit in mm/s vorgeben (also die
Ausgangsspannung von -10 bis 10 V regeln). Den Weg bekomme ich als
analoges Spannungssignal, die Ist-Geschwindigkeit kann ich also immer
berechnen.
Mit was für Algorithmen würde man hier arbeiten? Macht es hier Sinn, das
Ganze irgendwie auf Basis von Übertragungsgliedern wie PID, D, I, PT2
etc. zu betrachten?
Grüße,
copter
Suche im Web mal nach "PID without a PhD" von Tim Wescott.
Das PDF sollte man ausdrucken, weil die Grafik zum Text fast immer zwei
Seiten weiter hinten kommt.
Ich schätze mal, Du brauchst eine Positionsregelnung, die alle
100..200ms einen neuen Sollwert (Weg) bekommt.
Viel Erfolg
Hat der Zylinder einen Positionssensor?
Bei einem Servocentil gibt man Kolbenöffnung vor. Diese ist nicht
proportional zum Ölfluß. Daher kann man nicht von einem linearen
Zusammenhang von Kolbensollwert und Zylindergeschwindigkeit ausgehen.
Ausserdem vermindert bei gegebener Kolbenöffnung der Fluß, sobald im
Zylinder eine Gegenkraft auftritt.
Das alles lässt sich nur durch übergeordnete Regelkreise kompensieren:
1. Zylinderposition oder
2. Druckkompensation des Flusses durch messen der Druckdifferenz Ps und
Pa
Wenn du eine halbwegsordentliche Übertragunsfunktion hättest, wäre es
einfach.
Meiner Meinung nach ist die Übertragungsfunktion so etwa
Die Verstärkungsfaktoren kann man bestimmen, indem man unterschiedliche
Sprungantworten misst.
Ich glaube du brauchst einen PI Regler. Reglerverstärkungen kann man
durch ausprobieren einstellen. Achtung die sind beide positiv.
Deine Angabe:
>Eine Spannung > 0 V und < 10 V verursacht eine>Ausfahrbewegung und eine Spannung < 0V und größer > -10 V lässt den>Zylinder einfahren. Je größer der Betrag der Spannung, desto größer die>Verfahrgeschwindigkeit.
Irritiert mich ein wenig.
Bei einem Servo, gibt die Eingangsspannung üblicherweise die
Zielposition und nicht die Fahrrichtung an.
Da dieser offensichtlich eine eigene Regelung hat, ist "von außen" nicht
sichtbar, was mit den Eingangsgrößen passiert.
Vielleicht hilft Dir die Manipulation der Anstiegszeit
(Änderungsgeschwindigkeit bei der Vorgabespannung) um das gewünschte
Ergebnis zu erreichen.
Ob die Angabe: Benutze doch einen PDI-Regler etwas hilft, hängt wohl in
erster Linie vom Verhalten der oben erwähnten inneren Regelung ab.
Da wahrscheinlich kein Anschluss für die aktuelle Position vorhanden ist
- die brauchst Du für jegliche Art der Regelung - wirst Du dir darüber -
und über die Montage/Position - auch noch Gedanken machen müssen.
Übrigens:
>Ja, PID funktioniert so gut wie immer, aber: So richtig schnell wird die>Regelung damit nicht.
Bei mechanischen Vorgängen - und bei einem hydraulischen System handelt
es sich um ein Solches - ist in den meisten Fällen der Regler viel zu
schnell und muss oft auf ein "passendes" Maß begrenzt werden.
copter schrieb:> Je größer der Betrag der Spannung, desto größer die> Verfahrgeschwindigkeit.
Dann bestimme zunächst genau diesen Zusammenhang mathematisch. Also nach
welcher Funktion hängt die Geschwindigkeit von der Spannung ab?
Parametereinflüsse wie Druck und Gegenkraft wurden ja schon erwähnt.
>Bei einem Servo, gibt die Eingangsspannung üblicherweise die>Zielposition und nicht die Fahrrichtung an.
Hm das stimmt aber so nicht. Die Spannung (bzw. meistens eher der Strom)
gibt vor wie weit der Kolben in jeder Richtung öffnet. D.h. je größer
die Spannung am Servo umso weiter öffnet es. Lässt man diese Spannung
anstehen, dann steigt der hydraulische Druck im Zylinder bis auf
maximalen Systemdruck an.
Klaus Günter schrieb:> Entwurf auf endliche Einstellzeit...
Ähm, räusper...
Was denn sonst? Unendliche Einstellzeit? ;-)
Das würde bedeuten: Vorgabewert liegt an, wird aber erst in unendlicher
Zeit erreicht (also niemals).
>>Ja, PID funktioniert so gut wie immer, aber: So richtig schnell wird die>>Regelung damit nicht.>Bei mechanischen Vorgängen - und bei einem hydraulischen System handelt>es sich um ein Solches - ist in den meisten Fällen der Regler viel zu>schnell und muss oft auf ein "passendes" Maß begrenzt werden.
Nun das kann ich nicht so stehen lassen.
Die Totzeit des Reglers sollte so gering wie möglich gehalten werden.
Dass heist nicht, dass ein Rerler überreagieren muss.
Bernhard schrieb:
>>Bei einem Servo, gibt die Eingangsspannung üblicherweise die>>Zielposition und nicht die Fahrrichtung an.>Hm das stimmt aber so nicht. Die Spannung (bzw. meistens eher der Strom)>gibt vor wie weit der Kolben in jeder Richtung öffnet.
Das stimmt so nur für eine Servo-Achse.
copter schrieb aber von einem Servo-Ventil, welches sich auf einer
Zylinderachse befindet. Für dieses gelten normalerweise die von ihm
beschriebenen Sollwerte für die Ventil-Kolbenposition: "Eine Spannung >
0 V und < 10 V verursacht eine Ausfahrbewegung und eine Spannung < 0V
und größer > -10 V lässt den Zylinder einfahren.". Der Zylinder wirkt
dann gewisserweise wie ein Integrator über die Zeit.
npn schrieb:> Klaus Günter schrieb:>> Entwurf auf endliche Einstellzeit...>> Ähm, räusper...> Was denn sonst? Unendliche Einstellzeit? ;-)> Das würde bedeuten: Vorgabewert liegt an, wird aber erst in unendlicher> Zeit erreicht (also niemals).
Ja Räusper... Von Dead Beat scheinst du noch nie gehört zu haben...
>>Bei einem Servo, gibt die Eingangsspannung üblicherweise die>>Zielposition und nicht die Fahrrichtung an.>Hm das stimmt aber so nicht. Die Spannung (bzw. meistens eher der Strom)>gibt vor wie weit der Kolben in jeder Richtung öffnet.>>>Das stimmt so nur für eine Servo-Achse.>>>copter schrieb aber von einem Servo-Ventil, welches sich auf einer>>>Zylinderachse befindet. Für dieses gelten normalerweise die von ihm>>>beschriebenen Sollwerte für die Ventil-Kolbenposition: "Eine Spannung >>>>0 V und < 10 V verursacht eine Ausfahrbewegung und eine Spannung < 0V>>>und größer > -10 V lässt den Zylinder einfahren.". Der Zylinder wirkt>>>dann gewisserweise wie ein Integrator über die Zeit.
Ich glaube wir reden hier aneinander vorbei. Vielleicht verstehe ich das
auch einfach nicht. Die Spannung mit der das Servo angesteuert wird
bestimmt die Kolbenposition des Servo Ventils. Und zwar je nach
Polarität eben in die eine oder in die andere Richtung.
Die Position des Zylinders hat damit erst mal nicht zu tun. Die ergibt
sich dann, genau so wie du es beschrieben hast. Die Position ist dann
das Integral über die zugeführte Ölmenge. Hängt natürlich noch von
anderen Dingen ab, wie z.B. Zylindergröße, Servodurchfluss,
Druckdifferenz usw.
> Die Spannung mit der das Servo angesteuert wird> bestimmt die Kolbenposition des Servo Ventils. Und zwar je nach> Polarität eben in die eine oder in die andere Richtung.> Die Position des Zylinders hat damit erst mal nicht zu tun. Die ergibt> sich dann, genau so wie du es beschrieben hast. Die Position ist dann> das Integral über die zugeführte Ölmenge. Hängt natürlich noch von> anderen Dingen ab, wie z.B. Zylindergröße, Servodurchfluss,> Druckdifferenz usw.
Genau so ist es.
... Druckdifferenz, welche vor allem von dem Druck, der durch die
Krafteinwirkung auf die Zylinderachse entsteht, abhängt.