Pneumtaikzylinder Position bestimmen

Hallo und guten Tag,
ich habe lange im Internet und im Forum gesucht doch nichts Konkretes für mein Problem gefunden,
hoffe das ich nichts übersehen habe.

Zu meinem Anliegen, mit einer CNC-Fräse (Portalfräse) werden kleine Aluminiumblöcke graviert, die unterschiedlich hoch sind, momentan wird die Höhe nicht ermittel, sondern auf eines der Blöcke eingestellt. Meine Maschine kann sehr umständlich einen Höhenabgleich ausführen, wo er die Z-Achse mit dem Gravierstichel bis zum Kontakt mit dem Alublock runterfährt, im G-Code ist es der Befehl G38.3, und dann stoppt. Einen effizienten Tagesoutput erreicht man mit dieser Methode nicht.

Meine Idee ist es nun diesen Vorgang zu beschleunigen, indem an die Seite der Z-Achse ein Pneumatikzylinder mit einem Magnetventil gesteuert angebracht wird, der beim Anschalten den Alublock runterdruck. Nach der Ermittlung der Position des Zylinders, kann man anhand der Hubbewegung errechnen, wie hoch der Alublock ist und den Graviervorgang mit dem ermittelten wert starten. Der Pneumatikzylinder hat einen Magneten im Zylinder, der sich mit dem Kolben bewegt.

Meine Idee ist es die Position des Kolbens mit einem Hall Sensor auf 0,01mm genau zu bestimmen.
Ist es üerhaubt möglich mit einem Hall Sesnor der an dem Arduino UNO angeschlossen ist, das Magnetfeld so Präzise auszuwerten und die position des Kolbens zu bestimmen?

Sollte ich mit meiner vorgehensweise zu meinem Problem auf dem Holzweg seine, wäre ich für alternativen sehr dankbar. Vielen dank schonmal und ein Frohes Neues Jahr.

Hallo,

Hallsensor weiss ich nicht wie das gehen sollte. den kannst Du z.B als Schater benutzen (Initiator) zur Abfrage der Endlage des Zylinders.

es gibt fertige Linearwegmesssysteme zu kaufen. Als Absolutsysteme, bei nicht zu häufiger Bewegung, könnte ich mir noch ein LinearPoti vorstellen. Auflösung hängt vom Messweg ab und der Auflösung des AD Wandlers.
Einen Encoder in Verbindung mit einer Seilroller kann ich mir auch noch vorstellen gibts auch fertig zu kaufen , den muss man allerdings dann Refferieren. Encoder gibts auch als Absolut systeme. Wenn Du mechanisch was bauen kannst , geht eventuell auch ein kleiner Zahnriemen um die Lineare Bewegung in eine Drehbewegung umzusetzten.

Hallo Rentner,
danke für deine konstruktiven Ideen, der einfachste und kosten günstigste weg, ist für mich der beste.
Die Automatisierung mit meiner z-Achse ist erst der Anfang, es soll noch eine genau Positionsbestimmung in der X und Y-Achse und das bei 2 Weiteren CNC-Fräsen aufgerüstet werden. Deine erwähnten Sensoren würde meinen finanziellen Rahmen sprengen, da ich 9 Stück davon bräuchte. Professionelle Wegsensoren fangen bei 120€ das Stück an.
Deine Idee mit dem Linearpotentiometer (schiebe Potentiometer) wie Realistisch wäre es damit eine Auflösung in 0,01 mm zu erreichen? Bei der Toleranz hätte ich noch Spiel, es muss nicht exakt 0,01 mm sein, wäre nur für mein Vorhaben besser und genauer. Gibt es in die richtung schon ein Projekt was bekannt ist? Danke schonmal.

Kann man den Alublock nicht mit einem (schwachen) Pneumatikzylinder hochfahren, bis die Oberseite auf einen Rahmen trifft?

Hallo,

mit Hallsensor geht das nicht. Außerdem wenn du die Hubbewegung kennst wozu dann das mit dem Hallsensor? Außerdem benötigst du dafür noch einen Magneten oder Magnetfeld. Wo soll der hin oder das Feld erkommen?
Du benötigst für die Genauigkeit einen Taststift wie bei einer richtigen CNC Maschine. Da wird bei Werkzeugwechsel immer ein Referenzpunkt angefahren. Der Taststift kann meinetwegen zuerst die Werkstück-Auflageebene abtasten und dann das Werkstück selbst. Die Differenz wäre die Werkstückhöhe. Die Anforderung der Mechanik muss deiner gewünschten Präzisions angepasst werden.

Hallo DrDiettrich,
theoretisch würde das funktionieren und das eine Problem lösen, allerdings lässt meine Konstruktion an meiner Maschine keine Pneumatik oder Hubmagneten von unten zu. Das Werkstück (Alublock) muss zwingend von oben in meine vorrichten fallen gelassen werden. Die Sensorik, für die Ermittlung der Position an der Pneumatik, ist essenziell.

Hallo Doc_Arduino,
die Entstehung des angesprochenen Magnetfeldes, wird durch einen Magneten in der Pneumatik selbst realisiert. Hier ein Link um es besser zu verdeutlichen.

Ich kenne zwar die Hubbewegung, jedoch nicht die Endposition des Pneumatikzylinders, da diese von der Höhe des Alublockes abhängt, die ja unterschiedlich hoch sind. Die Alublöcke unterscheiden sich in der Höhe, somit auch die Position des Pneumatikzylinders.

Momentan realisiere ich es mit einem Taster, so wie du es beschreibst, dafür muss der Taster (bei mir ist es mein Gravierstichel) den Alublock berühren und gibt mir dann die Position der Kontaktstelle an. Der Rest ist, wie du es beschreibst.

Eine weitere Idee war es das Problem mit Kapazitiven Näherungssensoren zu lösen, damit kenne ich mich leider nicht aus.

Hallo,

0,01mm hatte ich vorhin übersehen, kannst Du vergessen mit einem Schiebepoti. das ist bei einer Messstrecke von 10mm 1Promill Damit müsste dein AD wandler mindestens 4000 liefern bei 5 oder 10V und das Poti ebenfalls besser als 1% sein.

Nachtrag 1 Promill

was Du willst ist ja auch nicht ganz anspruchslos bezüglich der Genaugkeit.

ich hab mal nach

linerencoder gegooglet

Linear-encoder

Suche mal nach "Wegsensor".
In der einfachsten Form könnte es eine Schieblehre/Messschieber mit serieller Schnittstelle sein.

Hi

Ich verstehe Dein Problem noch nicht richtig.
Du hast Alu-Blöcke, Die graviert werden sollen.
Für die entsprechende Gravurtiefe wäre die Höhe der Oberfläche äußerst wichtig.
Wie benutzt Du akut G38.3?
Womit benutzt Du den g-Code? Selber Linux-CNC, wo ich mir zum Antasten eine Sub geschrieben habe, Die das Werkstück antastet, die Spindel wieder hoch fährt und mir den Abstand zum Objekt zu Ober- und Unterkannte anzeigt (ein 08/15 Werkzeuglängensensor aus chinesischer Produktion - bin recht zufrieden - ist nur eine Anschlag-Platte, isoliert)
Mittels G38.x das Werkstück antasten, mit G92 den Nullpunkt verschieben, Starttaste drücken.
(Eigentlich benutze ich alle meine SUBs per G92, im Normalfall aber nur für X/Y)

Bei Deinen Pneumatik-Zylindern sehe ich das Problem, daß bei Pneumatik einzig zwei Punkte wiederholsicher angefahren werden können - die beiden Endanschläge.
Sämtliche Zwischenpositionen sind reiner Zufall.

Man kann per Hall-Sensor die Drehung eines Magneten wohl recht genau erfassen - vll. wäre Das ein Weg, daß Du den Hub in eine Drehbewegung umwandelst und Diese erfasst.
Wie genau Das wird, kann ich aber nicht abschätzen.

MfG

Edit DU in Du gewechselt

Hi Rentner,
das würde die Kosten halbieren :wink: 9 x die Encoder da wäre ich bei 540€, das ist eine menge Geld für Sensoren finde ich. Meine Idee ist es eine "Möglichst" gute und bezahlbare Genauigkeit hinzubekommen.

Hallo Combie,
wenn alle Stricke reißen werde ich wohl das mit dem Messschieber machen müssen. Die Problematik ist nicht nur der Preis bei meiner Geschichte, sondern auch der Platz, hier ist kleiner und Platzsparender für mich besser.

Am effizientesten wäre es den Magneten in der Pneumatik zu nutzen statt, Sensoren oder Mechanismen drumherum zu bauen.
Ich möchte euch etwas Zeigen was ich gefunden habe, es würde mich interessieren was ihr davon haltet und ob das mein Problem lösen würde.
Bei etwa 30 Sekunden im Video wird das mit dem Pneumatikzylinder gezeigt.

Gefunden habe ich wo man es kaufen kann.

Ich weiß nur nicht was ich davon halten soll. Was meint ihr?

Hallo,

solche Zylinder mit Magnetring haben wir auch auf Arbeit. Nutzen wir nur zur Endlagenerkennung. Für was anderes sind die laut meines Wissens auch nicht zu gebrauchen. Für jede Zwischenposition würde man außen weitere Sensoren benötigen, die dann wiederum einen Bereich x abdecken. Alles sehr grob.

Andere Idee. Wenn du sowas wie eine Abtastung schon hast und machst und nur den Gravierstichel schonen möchtest, darum gehts dir wahrscheinlich, dann mach es mit Werkzeugwechsel vorher. Taststift auf Referenzpunkt, dann Auflageebene, dann Werkstück. Mit Gravierstichel nur noch auf Referenzpunkt.

Was ich aber bis jetzt auch noch nicht verstanden habe ist, wie du deinen Pneumatikzylinder auf 0,01mm Genauigkeit steuerst?
Du müßtest für die Z-Achse eigentlich sowas wie Schrittmotoren haben.

Hi

Wie ich Das verstanden habe, soll der Zylinder nur das Werkstück in Position bringen - und gleich 'sagen' wie hoch Z0 nun ist.
Damit kann dann der Gravierstichel auf Z-0,5 Seine Bahnen ziehen.
Die genaue Höhe ist beim Gravieren nicht ganz unwichtig, da der Strich breiter wird, je tiefer der Stichel ins Material rein geht.
Auch ist so ein Stichel schnell ab, wenn's viel zu tief wird :wink:
(Alles unter 2mm lebt bei mir nicht sonderlich lange ...)

MfG

Doc_Arduino,
Was du schreibst, ist korrekt natürlich ist das tasten mit dem Stichel keine Dauerlösung mehr, es zu schonen gehört auch zu meinem anliegen :wink:

Die Pneumatik selbst soll gar nicht auf 0,01mm genau gesteuert werden, sondern nur die Position soll so genau wie möglich bestimmt werden, nachdem die Pneumatik den Alublock beklemmt hat.

Hallo postmaster-ino,
korrekt ich benutze Linux-CNC und die Subroutine die du beschreibst.
G38.3 wird bei mir exakt so benutzt.

Deine Idee mit dem Hall Sensor und die Linear Bewegung in eine Drehbewegung umzuwandeln ist gut, diese beschrieb Renter oben auch schon.
Du hast die Problematik richtig erkannt.

Ich hab das so verstanden das das Werkstück von oben kommt und mit dem Zylinder auf Position gefahren werden soll, damit fährt der Zylinder Block und die Länge des ausgefahren Zylinders ist quasi die Oberkante des Werstücks.

Diese magnetischen Zylinderschalter sind zur Abfrage der Endlage gedacht, kannst Du nicht gebrauchen.

Hallo Rentner,
Exakt so ist es gedacht, hätte nicht gedacht das es so schwierig ist die Position der Pneumatikzylinder so genau zu ermittel.

Hallo,

hab mir gerade mal das Teil angesehen das Du da gefunden hast. Es handelt sich um ein Linear Poti.

im Datenblatt wird eine Liearität von 5% (1%) angegeben. D.h wenn das Ding 300 mm lang ist misst es auf 15mm ( 3mm) genau , ok bei der Wiederholgenauigkeit wird es etwas besser aussehen. Aber das sind 3 zehnerpotenzen von dem weg was du willst.

Danke Rentner das du dir das angeschaut hast.
Ebay link
habe noch das gefunden... ob es möglich ist, das am Arduino anzuschließen ? Die Auflösung laut dem Text, liegt bei 0,01mm, genau was ich suche.

Hi,

hab mir das auch noch mal kurz angesehen, Leider ist das Messsystem nicht beschrieben, und keine Angabe zu den Signalen gemacht. Denke aber es wird sowas wie ein Encoder drin sein der eventuell mittels einer Rolle auf der Unterfläche läuft. hast Du noch eine alte mechanische PC maus ? so Ähnlich denke ich.

Genauigkeit ist mit 0,08 mm angegeben Auflösung ist 0.01 mm

Heinz

Hi

Ich habe immer noch nicht verstanden, was Du mit der Information IM ARDUINO anfangen kannst.
Selbst, wenn der Arduino ganz genau weiß, wie weit der Pneumatik-Zylinder ausgefahren ist, ändert Das an den Achsen Deiner CNC ... Nichts.
Du musst diese Info ja irgendwie an Linux-CNC weiter geben oder über externe Signale Linux-CNC dazu bringen, die Z-Achse entsprechend zu verfahren und dann zu Nullen (aka G92).

Wie machst Du Es jetzt?
Mein Weg wäre immer noch via G38.x auf Block antasten und mittels G92 Z zu Nullen.
Probe hat aber ein Problem: Wenn während der Bearbeitung das Probe-Signal Kontakt anzeigt, bricht die Bearbeitung ab.
Hier müsste man, um automatisch abtasten zu können, die Spindel (nicht Deren Achse/das Werkzeug) als Gegenpol benutzen und Probe bei der Bearbeitung 'abschalten'.

... funktionierte dann auch nur mit metallischen Werkstücken ...

Die Längenerfassung des Zylinder wäre vom Material unabhängig - vll. 'kratzt' Du ja auch nicht metallisches Zeug - mein Liebling heißt Da HPL.

MfG

Hallo postmaster-ino,
mein Vorhaben ist es, die Maße des eingespannte Werkstück exakt in X Y und Z mit dem Arduino zu bestimmen. Die erfassten X und Y werte durch 2 zu teilen, um den Mittelpunkt zu errechnen und die Z Höhe des Werkstücks ermitteln. Nachdem ich all diese Werte im Arduino verarbeitet habe, werden die werte in das Parallelport des Computers eingespeist und von LinuxCNC anhand der HAL-Pins verarbeitet.

So ist es mir dann möglich das eingespannte Werkstück exakt zu bestimmen, die Nullpunkte anzufahren und Achsen zu Nullen. Die Spindel einschalten und zu Gravieren.

Ich weiß es ist ein aufwendiges Projekt, es liegt aber alles im Rahmen des machbaren.
Werde mir erstmal 3 Wegsensoren holen, auch wenn sie teuer sind, und alles zum Laufen bringen;)
das ist der Plan.