Hallo Leute, ich habe hier in diesem Forum schon sehr viel gelernt und gefunden was mir helfen konnte, jetzt hab ich aber selber mal eine Frage ;). Im Zuge eines Praktikums soll ich ein Hydraulik-System einer Spritzgussmaschine Modellieren und Simulieren. Wie ich von einer gegebenen Übertragungsfunktion einen Regler designe und das ganze dann Simuliere ist mir bekannt. Mir fehlt eig. nur das Verständnis von der Herangehensweise an ein unbekanntes System bis hin zur Übertragungsfunktion des Systems - G0(s). Im kleinen hab ich so etwas schon gemacht (Temperaturregelung), einen Sprung an den Eingang eines Heizkörpers gelegt und die Temperatur aufgezeichnet, über Küpfmüller-Approximation T1 und T2 ausgerechnet und fertig. Bei dem Hydraulik-System sind aber mehrere Komponenten (Pumpe, Leitung, Ventil, Zylinder, Last an Zylinder) und da hab ich meine Schwierigkeiten wie ich anfangen soll und was ich aufzeichnen soll, hauptsächlich geht es um die Pumpe und den Zylinder. Interessant sind auf alle Fälle die Drücke für die Kraft des Zylinders und die Durchflussmenge wegen der Geschwindigkeit des Zylinders. Diese 2 Werte (Druck und Durchflussmenge) sind auch einstellbar an der Maschine. Jetzt ist meine Frage, wie würdet ihr hierbei herangehen? Wo soll ich einen Sprung anlegen und was soll ich messen? Und wie verknüpf ich die verschiedenen Systeme, oder ist es besser ein gesamtes System zu erstellen so z.B.: ein PT5-Strecke? Danke im Voraus! Lg. Dominik
Was willst du den Regeln? Was ist das für eine Pumpe, welche Ventile werden eingesetzt?
Ah sry ganz vergessen! Also die Pumpe wird mit einem Servomotor betrieben, das kann ich aber vernachlässigen, ich soll von einer ganz normalen Standard Hydraulikpumpe ausgehen die dauerhaft Öl fördert. Die max. Durchflussmenge ist Q=240[Liter/min] bei einer Umdrehung von n=2500[min^-1]. Der max. Druck des Systems betragt p=175[bar]. Das Ventil ist ein ganz normal standardmäßiges 4/3-Wege-Ventil mit einer Druckdifferenz von Δp=5[bar]. Der Zylinder ist mit einer Differenzialschaltung versehen was dazu führt das er beim Ausfahren schneller reagiert, die Abmaße sind dKolben=105[mm],dStange=70[mm] und der Hub h=408[mm]. Geregelt wird das Ganze auf Druck und als 2. Bedingung nach der Drehzahl des Motors(Pumpe). Der Druck wird aber normalerweise höher priorisiert, dass soll heißen wenn der Druck schon erreicht ist aber die Drehzahl noch nicht soll der Motor bei der aktuellen Drehzahl bleiben, diese aktuelle Drehzahl wird auch ausgegebn. Der andere und eher seltene Fall wäre, wenn die gegebene Drehzahl (Sollwert) schon erreicht ist aber der Druck noch nicht, würde es auch bei der Drehzahl bleiben die angegeben ist. Wenn ich wieder was vergessen hab, bitte einfach melden! Danke im Voraus! Lg. Dominik
So, und jetzt sollst du das Ventil elektromotorisch betätigen, ja?
Ich vermute mal, das es sich nicht um ein Proportionalventil handelt. So ist also nur die Drehzahl verstellbar. Um eine Sprungantwort aufzunehmen müsste man den Druck aufzeichnen. Die Pumpe läuft mit n1. Wenn der Druck stationär wird, wird der Motor auf n2 hochgeschaltet. Voila, da ist die Sprungantwort auf die Pumpendrehzal. Man könnte auch anstelle von der Drehzal die Frequenz von einem Umrichter umschalten. Wie lange braucht der Zylinder bis er ganz ausgefahren ist?
Ach sry, ne ist kein proportionalventil, es wird elektrisch mit z.B.: -10V - 0V - 10V angesteuert (wegen den 3 Stellungsarten). Der Zylinder braucht max. 1 sek. bei voller Leistung der Pumpe.
Aja und der Zylinder hat auch einen Positionsgeber. Dies kann man sich auch aufzeichnen lassen wo sich der Zylinder gerade befindet. Die Drücke können Pumpen-Seitig und Zylinder-Seitig (beidseitig) aufgezeichnet werden.
Also, ehrlich gesagt, würde ich da nur ein Überdruckventil zu Druckbegrenzung einsetzen, dann eine Pumpe mit dem richtigen Volumen. Da gibt es nichts zu regeln. Wenns besonders energiesparend sein soll, so müsste man hier eine verstellbare Pumpe einsetzen. Ich bin zwar kein Hydraulikspezialist, aber nach allem was ich kenne, macht man soetwas nicht. Haben deine Auftraggeber eine Vorstellung von Hydraulik?
Ich hab mal versucht das Überblickhalber nachzuzeichnen -> Anhang. Lg. Dominik
Die Regelung ist nur wegen Energieeffizienz und der Stabilisation des Systems, da durch die Kräfte was auftreten ziemliche Vibrationen entstehen. Mir geht es aber eh nicht um die Regelung sondern um das Model des Systems, da ich das nachbilden soll in z.B.: Simulink/SciLab/WinMOD. Und dabei hab ich Probleme wie ich das machen soll, wie kann ich die Strecke am besten identifizieren? Und was soll ich alles identifizieren, sprich wo soll ich einen Sprung anlegen und welchen Wert ich aufnehmen soll um auf das Ergebnis zu kommen. Der Anfang fehlt mir das ich auf meine Übertragunsfunktion des Systems komme. Danke. Lg.
PS.: die Pumpe ist verstellbar, aber das muss ich in meinem Modell nicht berücksichtigen.
Die Geschwindigkeit ergibt sich doch durch die eingestellte Drehzahl (Fördermenge) der Pumpe. Aber laut messungen ist die max. Geschwindigkeit des Zylinders ca. 0,5m/s. Für was ist das so wichtig? Danke, lg.
Naja, Wenn du eine Sprungantwort aufzeichnen willst, brauchst du etwas mehr Zeit. Ich denke, bei Aufschaltung des Sprunges wird das System ein wenig Zeit brauchen um auszupendeln. 1s ist ein bisschen wenig. Du kannst die Zeitkonstante (fin -> p) aus der Rotationsmasse herausziehen (in guter Näherung). Die Verstärkung (fin -> p) müsstest du in zwei Durchläufen ermitteln. Also, welcher Druck stellt sich bei fin ein wenn der Zylinder fährt.
Zur Erklärung: Dieses System gibt es bereits, meine Aufgabe besteht aber derin ein Virtuelle-Nachbildung (vereinfacht) zu erstellen. Um das aber zu können muss ich das verhalten des System zuerst identifizieren und dabei hab ich meine Probleme. lg. Dominik
netseal schrieb: > Naja, > Wenn du eine Sprungantwort aufzeichnen willst, brauchst du etwas mehr > Zeit. Ich denke, bei Aufschaltung des Sprunges wird das System ein wenig > Zeit brauchen um auszupendeln. 1s ist ein bisschen wenig. > > Du kannst die Zeitkonstante (fin -> p) aus der Rotationsmasse > herausziehen (in guter Näherung). > Die Verstärkung (fin -> p) müsstest du in zwei Durchläufen ermitteln. > Also, welcher Druck stellt sich bei fin ein wenn der Zylinder fährt. Ok das ist kein Problem weil die Drehzahl und Druck einstellbar sind, das heißt ich kann den Zylinder auch z.B.: 30sek. auch fahren lassen. Würde das dann mit einem Sprung (Drehzahl erhöhen) funktionieren? Wie meinst du das mit der Zeitkonstante (fin) ? Ich kann die Versuche auch mehrmals durchführen da mir eine Maschine zur verfügungen gestellt ist mit der ich Testen kann. Danke!
Um eine Sprungantwort aufzunehmen müsste man den Druck aufzeichnen. Die Pumpe läuft mit n1. Wenn der Druck stationär wird, wird der Motor auf n2 hochgeschaltet. Voila, da ist die Sprungantwort auf die Pumpendrehzal. Man könnte auch anstelle von der Drehzal die Frequenz von einem Umrichter umschalten. Dies muss alles passieren während der Zylinder Kunststoff fördert(also in Bewegung ist). >> Du kannst die Zeitkonstante (fin -> p) aus der Rotationsmasse >> herausziehen (in guter Näherung). Mit (fin -> p) meine ich die Transferfunktion Umrichterfrequenz nach Druck. Diese Zeitkonstante hängt meiner Einschätzung nach hauptsächlich von der Rotationsmasse (Pumpe+Rotor) ab. Dies könnte man auf jeden Fall zu Verifizierung des gemessenen Modells verwenden. Also Fu mit Frequenz 1 einstellen, Motor starten. Wenn der Druck ausgependelt ist wird auf Frequenz 2 umgeschaltet.
Ok danke das bekomm ich hin, somit hab ich dann das Verhalten von dem Druckaufbau im System, ich werd das über den FU machen. Und über den Druckverlauf hab ich auch die Kraftentwicklung des Zylinders, weil die Abmaße des Zylinders sind ja Konstant. Aber brauch ich nicht noch ein 2. System für die Geschwindigkeit des Zylinders das ich den auch abbilden kann? Wie soll das gehn? Und wie verbind ich dann die 2 Systeme am besten das Sie dann als ein Gesamtes-System arbeitet? Danke! lg.
Na, ich denke bei der Geschwindigkeit handelt es sich ja nur um eine Begrenzung auf einen maximalen Wert, also keine Regelung. Und du hast ja auch keine Möglichkeit die Drehzahl zu messen. Das kannst du in Matlab mit einem Begrenzer simulieren und im echten System durch Begrenzung (näherungsweise) des FU.
Moin und danke für deine Hilfe! Jetzt hab ich nur noch 1 Problem... Ok die Geschwindigkeit ist keine Regelung jedoch beeinflusst die Durchflussmenge die Geschwindigkeit des Zylinders, wie soll ich das dann in meiner Simulation integrieren? Weil für die Aufgabe sind meine Startbedingungen ein Sollwert für Druck und Drehzahl der Pumpe, am ende soll der Zylinder ausfahren mit der entsprechenden Geschwindigkeit. Da müsst ich vielleicht einen Geschwindigkeits-Sprung erzeugen und die Position des Zylinders mit verschiedenen Geschwindigkeiten aufzeichnen um dieses Verhalten nachzubilden oder lieg ich da falsch? Danke! Lg.
Garnicht, du hast einfach eine Frequenzbegrenzung am FU. Was du nicht messen kannst, kannst du auch nicht regeln.
Du hast ja die dann die Transferfunktion (f->p), jetzt setzt du in Matlab davor noch einen Saturation-Block mit den Grenzen 0 und fmax.
Ok sorry mein Fehler, ich glaub wir reden gerade bisschen überkreuz. 1.Die Pumpe wird hauptsächlich durch den Druck geregelt, also ich weiß immer den aktuellen Druck im System. 2.Die Drehzahl der Pumpe wird auch geregelt, d.h. ich weiß auch immer die aktuelle Drehzahl der Pumpe und somit die Durchflussmenge durch eine Berechnung. Also es gibt 3 Fallunterscheidungen: 1. Eingestellt z.B.: p=100bar, n=25% Ergebnis: pSoll == pIst und nSoll == nIst 2. Eingestellt z.B.: p=100bar, n=50% Ergebnis: pSoll == pIst und nSoll != nIst 3. Eingestellt z.B.: p=100bar, n=10% Ergebnis: pSoll != pIst und nSoll == nIst Der 3. Fall ist eher selten da der Maschinenbediener ungefähr weiß was er einzustellen hat um auf den Druck zu kommen. Der 2. Fall ist mehr zutreffend da durch Umschalten des Ventils (Richtungswechsel des Zylinders) die Pumpe noch mehr nachfahren kann um die Durchflussmenge/den Druck aufrecht zu halten. D.h. meistens tritt Fall 1 und 2 ein. Danke! Lg.
Ich denke nicht, das das so möglich ist. Möglicherweise erreicht die Pumpe nicht den Solldruck, da der Zylinder keinen Widerstand erfährt. Du könntest eine Kaskadenregelung bauen. Psoll--|P-Regler|-|MaxN|--|N-Regler|----|Frequenz|--|Drehzahl|---|Druck| -- | | | | | ------------------------------------- | |------------------------------------------------------------------| Das würde aber bedeuten, das dein Modell schon den inneren Regler beinhaltet. So müsstest du den Step-Response von einem Frequenzwechsel nach der Drehzahl aufnehmen, dann den N-Regler implementieren und dann den P-Regler(Druckregler).
Ich denke nicht, das das so möglich ist. Möglicherweise erreicht die Pumpe nicht den Solldruck, da der Zylinder keinen Widerstand erfährt. Du könntest eine Kaskadenregelung bauen. Psoll--|P-Regler|-|MaxN|--|N-Regler|----|Frequenz|--|Drehzahl|-|Druck|- | | | | | ------------------------------------ | |----------------------------------------------------------------| Das würde aber bedeuten, das dein Modell schon den inneren Regler beinhaltet. So müsstest du den Step-Response von einem Frequenzwechsel nach der Drehzahl aufnehmen, dann den N-Regler implementieren und dann den P-Regler(Druckregler).
Ok ja versteh ich, dann danke für die Hilfe, das hat mir viel geholfen! Schönen Tag noch!
> Dominik Ziller (Firma: B&R)
~~~~~
Sag mal, weiß das Dein Chef, dass Du hier Deine Aufgabe lösen lässt?
Oder ist das etwa ein Kundenproblem? Na dann gute Nacht...
Wie vollständig soll eigentlich Deine Simulation ausfallen? Allein zu Deinem Zylinder gehört ein ganzer Sack voll Untersysteme. In vielen Fällen ist Dein Zylinder auch kein Zylinder sondern eine Mischung aus einer, von einer Heizung umgebenen, Schnecke, die aber auch die Funktion eines Hubzylinders übernimmt. Dieses recht komplexe System ist seinerseits auf einem Schlitten montiert um von der eigentlichen Form gelöst werden zu können. Usw. usw.
Bevor ich‘s noch vergesse: In all den Spritzgussmaschinen, die ich gesehen habe wurde sehr wenig geregelt. Die Hydraulik bestand aus einem Elektromotor mit angeflanschter Pumpe, die einen relativ großen Druckspeicher bediente. Die Druckregelung erfolgte durch ein einfaches Überdruckventil, welches einfach das überflüssige Öl in den Tank zurückleitete. Aus Sicht der Steuerung war das ganze System eine in allen Schritten (zeitlich) einstellbare Ablaufsteuerung. Die Programmierkunst bestand in Grunde genommen darin, dem Bediener bzw. Einsteller eine möglichst komfortable Möglichkeit zu geben an allen Ecken und Enden Ventile zur Verfügung zu stellen (jedes Produkt ist anders) und diese in den Ablauf, vor allem zeitlich, zu integrieren. Natürlich sind auch ein ganzer Sack voll Sicherheitsmaßnamen zu implementieren, da die verwendeten Drücke so groß sind, dass die Maschine sich selbst zerstören kann. Kochend heißes Öl soll auch dem Bediener nicht so gut bekommen. Geregelt wurden nur die Heizung, die Kühlung (Form und Öl) und ein paar den Materialfluss betreffende Parameter. Also erstaunlich wenig.
Entsetzter schrieb: > Sag mal, weiß das Dein Chef, dass Du hier Deine Aufgabe lösen lässt? > Oder ist das etwa ein Kundenproblem? Na dann gute Nacht... Moin. Nein weiß er nicht, aber meine Aufgabe wurde auch nicht gelöst, ich habe lediglich einen Denkanstoß bekommen wie ich das System richtig betrachten soll. Und das war auch der Sinn der sache warum ich hier gefragt hab. Nur als Beispiel, aber dann dürfte ich meinen Professor auch nichts Fragen. Danke nochmal und lg. PS.: für mich ist das Thema geschlossen.
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.