ich wende mich mit einem problem aus der analogen signalverarbeitung an euch!
bei einem hydraulikzylinder mit integriertem analog-wegmesssystem (0,5...4,5V = 0...100%).
wird das signal vom sensor über einen analogen eingang am i/o-modul (fa. AIXIA) mit einer
auflösung von (leider nur) 10bit verarbeitet.
mit hilfe der wegmessung und dem zugehörigen proportionalventil soll eine elektronische
endlagendämfpung für den zylinders realisiert werden. bevor ich mich aber an die regelung
mache, kämpfe ich derzeit jedoch mit einigen basics...
die regelgröße im system ist die kolbengeschwindigkeit, die ich mittels ableitung des wegsignals
durch die zykluszeit ermitteln will.
durch die beim quantisieren entstehende treppenform des wegsignals sieht das ergebnis der
geschwindigkeit aber aus wie ein sägezahnsignal.
man kann nur aus einer mittelwertbildung die eigentliche geschwindigkeit erahnen.
noch dazu ist mir aufgefallen, dass aus den theoretisch ca. 820 werten vom wegsensor (ergibt
sich aus der auflösung von 10 bit und dem nutzbaren bereich von 4 volt) lediglich 70-90 (?) diskrete
werte tatsächlich erfasst werden (ev. hängt es damit zusammen, dass das signal per can-bus mit
250kbit zum master gelangt...).
mit welchem tool bekomme ich dennoch ein brauchbares geschwindigkeitssignal?
gruß aus dem alpenland!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
mir scheint es du brauchst einen "vorausschauenden Algorithmus" der die Geschwindigkeit
des Kolbens ermittelt und bereits rechtzeitig das ventil drosselt ...
sowas kann man mit Mathlab-Simulink oder mit Faktura machen,
und dann SPS Code erzeugen.
Alternativ (wenn o.g. nicht in frage kommt) würde ich mit einer 2 oder 3 stufigen Logik beginnen:
Zylinder in Mitte = volle Geschwindigkeit
Zylinder 20% vom Ende weg = halbe Geschwindigkeit.
und dann rantasten.
OSCAT kann eine wertvolle Hilfe sein,
da sind dinge wie Tiefpass usw drin.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
der ablauf ist dabei so, dass der zylinder über einen joystick vom fahrer
bedient wird. somit obligt es dem bediener, wie schnell sich die kolbenstange
bewegen soll. ich will mit dem regler lediglich einfluss auf das erreichen der
endlagen nehmen, da es sonst immer einen unangenhemen knall gibt.
hierfür werde ich letztenendes eine MIN-funktion verwenden (das funktioniert
auch jetzt schon ganz gut).
derzeit löse ich die aufgabe (noch) damit, dass ich an bestimmten stellen
vor der endlage die max. ventilöffnung begrenze, jedoch hat dies große
nachteile, da es einen unterschied macht, ob das öl kalt oder warm ist und
wie hoch die pumpenleistung ist (wird vom dieselmotor bzw. vom fahrer angesteuert).
darum ist die einzig rlevante messgröße die kolbengschwindigkeit selbst, an der
ich mich orientieren kann.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
alle prop.ventile sind in einem kompletten ventilblock integriert,
der hat bereits alles drin, was er braucht.
die prop.ventile werden ohnehin über pwm-ausgänge (allerdings
spannungsgeführt) angesteuert, und warum sollte man das nicht
elektronisch lösen können?
mein neuer ansatz zu der geschichte ist, dass ich nicht mehr den
gesamten geschwindigkeitsverlauf betrachte, sondern nur noch
an bestimmten stellen schaue, wie groß die wegänderung über
einige zyklen war. ich vergleiche diesen wert mit einem funktionswert
an dieser stelle und korrigiere dann die ansteuerung des prop.ventils
in dieser zone. das wird zwar dann kein richtiger regler, aber wenn das
ergebnis zufriedenstellend ist, passt es auch so.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hallo an die forumsgemeinde!
ich wende mich mit einem problem aus der analogen signalverarbeitung an euch!
bei einem hydraulikzylinder mit integriertem analog-wegmesssystem (0,5...4,5V = 0...100%).
wird das signal vom sensor über einen analogen eingang am i/o-modul (fa. AIXIA) mit einer
auflösung von (leider nur) 10bit verarbeitet.
mit hilfe der wegmessung und dem zugehörigen proportionalventil soll eine elektronische
endlagendämfpung für den zylinders realisiert werden. bevor ich mich aber an die regelung
mache, kämpfe ich derzeit jedoch mit einigen basics...
die regelgröße im system ist die kolbengeschwindigkeit, die ich mittels ableitung des wegsignals
durch die zykluszeit ermitteln will.
durch die beim quantisieren entstehende treppenform des wegsignals sieht das ergebnis der
geschwindigkeit aber aus wie ein sägezahnsignal.
man kann nur aus einer mittelwertbildung die eigentliche geschwindigkeit erahnen.
noch dazu ist mir aufgefallen, dass aus den theoretisch ca. 820 werten vom wegsensor (ergibt
sich aus der auflösung von 10 bit und dem nutzbaren bereich von 4 volt) lediglich 70-90 (?) diskrete
werte tatsächlich erfasst werden (ev. hängt es damit zusammen, dass das signal per can-bus mit
250kbit zum master gelangt...).
mit welchem tool bekomme ich dennoch ein brauchbares geschwindigkeitssignal?
gruß aus dem alpenland!
das hört sich schlimm an.
mir scheint es du brauchst einen "vorausschauenden Algorithmus" der die Geschwindigkeit
des Kolbens ermittelt und bereits rechtzeitig das ventil drosselt ...
sowas kann man mit Mathlab-Simulink oder mit Faktura machen,
und dann SPS Code erzeugen.
Alternativ (wenn o.g. nicht in frage kommt) würde ich mit einer 2 oder 3 stufigen Logik beginnen:
Zylinder in Mitte = volle Geschwindigkeit
Zylinder 20% vom Ende weg = halbe Geschwindigkeit.
und dann rantasten.
OSCAT kann eine wertvolle Hilfe sein,
da sind dinge wie Tiefpass usw drin.
der ablauf ist dabei so, dass der zylinder über einen joystick vom fahrer
bedient wird. somit obligt es dem bediener, wie schnell sich die kolbenstange
bewegen soll. ich will mit dem regler lediglich einfluss auf das erreichen der
endlagen nehmen, da es sonst immer einen unangenhemen knall gibt.
hierfür werde ich letztenendes eine MIN-funktion verwenden (das funktioniert
auch jetzt schon ganz gut).
derzeit löse ich die aufgabe (noch) damit, dass ich an bestimmten stellen
vor der endlage die max. ventilöffnung begrenze, jedoch hat dies große
nachteile, da es einen unterschied macht, ob das öl kalt oder warm ist und
wie hoch die pumpenleistung ist (wird vom dieselmotor bzw. vom fahrer angesteuert).
darum ist die einzig rlevante messgröße die kolbengschwindigkeit selbst, an der
ich mich orientieren kann.
dann musst du unter das Ventil eine sogenannte "Druckwaage" montieren.
damit ist der Durchfluss nicht mehr von der Pumpendrehzahl und (fast) nicht mehr
von der Temperatur abhängig.
außerdem solltest du eine Stromgeregelte PWM Ansteuerung verwenden.
das kann man nicht elektronisch lösen !
alle prop.ventile sind in einem kompletten ventilblock integriert,
der hat bereits alles drin, was er braucht.
die prop.ventile werden ohnehin über pwm-ausgänge (allerdings
spannungsgeführt) angesteuert, und warum sollte man das nicht
elektronisch lösen können?
mein neuer ansatz zu der geschichte ist, dass ich nicht mehr den
gesamten geschwindigkeitsverlauf betrachte, sondern nur noch
an bestimmten stellen schaue, wie groß die wegänderung über
einige zyklen war. ich vergleiche diesen wert mit einem funktionswert
an dieser stelle und korrigiere dann die ansteuerung des prop.ventils
in dieser zone. das wird zwar dann kein richtiger regler, aber wenn das
ergebnis zufriedenstellend ist, passt es auch so.