Kanten Antasten
Verfasst: Mi 8. Jul 2020, 14:31
Ich habe schon länger die Idee, dass man doch die Dehnungsmessstreifen auch dafür benutzen könnte, die X- und Y-Achsen vernünftig relativ zum Werkstück zu nullen. Für die Z-Achse gibt es den Fnd Z Origin Scan, der allerdings auch leidlich ungenau ist und mit den Erfahrungen, die wir mit dem Z-Offset-Scan vom Druckmodus gesamment haben, auch verbessert werden kann.
Die grundsätzliche Idee ist, einen Schaft mit exakt bekanntem Durchmesser (ich benutze einen umgedrehten abgebrochenen Fräser) einzuspannen und in einer Achse langsam an das Werkstück zu fahren, bis der Schaft das Werkstück berührt. Auf den Punkt muss noch der halbe Schaft-Durckmesser aufgerechnet werden, dann hat man die exakte Position der Werkstück-Kante. Wiederholt man das für die andere Achse, könnte man also z.B. den Nullpunkt des Koordinaten-Systems auf eine Ecke des Werkstücks legen.
Zusätzlich könnte man noch den Scan für die gleiche Achse an einer anderen Stelle (möglichst weit entfernt) wiederholen, um die Ausrichtung des Werkstücks zu messen. Idealerweise würde die Firmware dann das GCode-Koordinatensystem um den gemessenen Winkel rotieren. Damit erspart man sich dann das mühsame und immer mit Fehlern verbundene Ausrichten des Werkstücks parallel zur Achse - besonders wenn man von zwei (oder gar mehr) Seiten fräst, schlägt hier jeder Fehler auf die Genauigkeit des fertigen Teils durch.
Ich habe mal angefangen, einen entsprechenden neuen M-Code zu implementieren. Das Ganze funktioniert noch nicht richtig und liegt deshalb in einem Branch ("feature-auto-touch") in unserer Community-Version. Was schon geht, ist in einer Richtung (bisher nur X in positiver Richtung getestet) den Kontaktpunkt zu suchen. Ein paar Erkenntnisse habe ich dabei schon gewonnen:
Die physikalische Kraft ist bei gleicher Digit-Differenz erheblich höher als in Z-Richtung. Das ist logisch, weil die Dehnungsmesstreifen ja eigentlich falsch ausgerichtet sind für die Messung in X/Y. Ich vermute auch mal stark, dass es da signifikante Unterschiede zwischen X und Y gibt. Aber das wichtigste ist: es geht. Eine Differenz von 100 Digits erreiche ich schon, ohne eine allzu große Kraft ausüben zu müssen.
Die Differenz von 100 Digits lässt sich leider nur zuverlässig messen, wenn man mittelt. Die Routine, die wir für den Z-Offset-Scan beim Drucken verwenden, eignet sich wunderbar. Dadurch wir der Scan natürlich langsam - also wie bisher beim Z-Origin-Scan im Fräsmodus die ganze Achse vom Endanschlag durchfahren ist wohl eher nicht drin. Man wird wohl manuell den Schaft kurz vor die zu messende Kante stellen müssen und dann den Scan starten. Das ist für mich aber völlig akzeptabel und mache ich auch beim Z-Origin-Scan schon immer so.
Die Kraft bei 100 Digits oder auch bei 50 (geht auch noch) ist aber eben nicht vernachlässigbar. Würde man den so gefundenen Punkt einfach als Nullpunkt verwenden, hätte man schnell einen Fehler von mehreren 1/10 Millimetern. Meine Idee dafür ist: Wir messen zwei Punkte mit unterschiedlicher Kraft, z.B. bei 50 und 100 Digits. Theoretisch sollte die Kraft halbwegs linear mit der Strecke sein (-> Federkonstante). Mit einer einfachen linearen Extrapolation lässt sich dann also der wahre Kontaktpunkt ausrechnen.
Das klappt schon soweit, allerdings kann ich bislang noch nicht sagen, wie genau das ist. Ich werde als nächstes mal die Wiederholgenauigkeit bestimmen, aber das sagt natürlich noch nichts über einen konstanten Fehler. Den kann ich vermutlich am Besten bestimmen, wenn ich mit einem metallischen Werkstück und einem Durchgangsprüfer den Punkt bestimme, an dem gerade eine leitende Verbindung besteht. Die Methode verwende ich seit längerem beim Platinenfräsen, um den Z-Nullpunkt zu bestimmen (der spitze Frässtichel taucht beim Find Z Origin viel tiefer ein, als ich überhaupt fräsen möchte), das scheint sehr genau zu gehen.
Natürlich krankt das Ganze am Ende an der schlechten Genauigkeit unserer Zahnriemen. Dadurch wird die Extrapolation ungenau, denn die gefahrene Strecke ist leicht anders als gedacht. Da helfen dann wohl nur die Kugelumlaufspindeln
Die grundsätzliche Idee ist, einen Schaft mit exakt bekanntem Durchmesser (ich benutze einen umgedrehten abgebrochenen Fräser) einzuspannen und in einer Achse langsam an das Werkstück zu fahren, bis der Schaft das Werkstück berührt. Auf den Punkt muss noch der halbe Schaft-Durckmesser aufgerechnet werden, dann hat man die exakte Position der Werkstück-Kante. Wiederholt man das für die andere Achse, könnte man also z.B. den Nullpunkt des Koordinaten-Systems auf eine Ecke des Werkstücks legen.
Zusätzlich könnte man noch den Scan für die gleiche Achse an einer anderen Stelle (möglichst weit entfernt) wiederholen, um die Ausrichtung des Werkstücks zu messen. Idealerweise würde die Firmware dann das GCode-Koordinatensystem um den gemessenen Winkel rotieren. Damit erspart man sich dann das mühsame und immer mit Fehlern verbundene Ausrichten des Werkstücks parallel zur Achse - besonders wenn man von zwei (oder gar mehr) Seiten fräst, schlägt hier jeder Fehler auf die Genauigkeit des fertigen Teils durch.
Ich habe mal angefangen, einen entsprechenden neuen M-Code zu implementieren. Das Ganze funktioniert noch nicht richtig und liegt deshalb in einem Branch ("feature-auto-touch") in unserer Community-Version. Was schon geht, ist in einer Richtung (bisher nur X in positiver Richtung getestet) den Kontaktpunkt zu suchen. Ein paar Erkenntnisse habe ich dabei schon gewonnen:
Die physikalische Kraft ist bei gleicher Digit-Differenz erheblich höher als in Z-Richtung. Das ist logisch, weil die Dehnungsmesstreifen ja eigentlich falsch ausgerichtet sind für die Messung in X/Y. Ich vermute auch mal stark, dass es da signifikante Unterschiede zwischen X und Y gibt. Aber das wichtigste ist: es geht. Eine Differenz von 100 Digits erreiche ich schon, ohne eine allzu große Kraft ausüben zu müssen.
Die Differenz von 100 Digits lässt sich leider nur zuverlässig messen, wenn man mittelt. Die Routine, die wir für den Z-Offset-Scan beim Drucken verwenden, eignet sich wunderbar. Dadurch wir der Scan natürlich langsam - also wie bisher beim Z-Origin-Scan im Fräsmodus die ganze Achse vom Endanschlag durchfahren ist wohl eher nicht drin. Man wird wohl manuell den Schaft kurz vor die zu messende Kante stellen müssen und dann den Scan starten. Das ist für mich aber völlig akzeptabel und mache ich auch beim Z-Origin-Scan schon immer so.
Die Kraft bei 100 Digits oder auch bei 50 (geht auch noch) ist aber eben nicht vernachlässigbar. Würde man den so gefundenen Punkt einfach als Nullpunkt verwenden, hätte man schnell einen Fehler von mehreren 1/10 Millimetern. Meine Idee dafür ist: Wir messen zwei Punkte mit unterschiedlicher Kraft, z.B. bei 50 und 100 Digits. Theoretisch sollte die Kraft halbwegs linear mit der Strecke sein (-> Federkonstante). Mit einer einfachen linearen Extrapolation lässt sich dann also der wahre Kontaktpunkt ausrechnen.
Das klappt schon soweit, allerdings kann ich bislang noch nicht sagen, wie genau das ist. Ich werde als nächstes mal die Wiederholgenauigkeit bestimmen, aber das sagt natürlich noch nichts über einen konstanten Fehler. Den kann ich vermutlich am Besten bestimmen, wenn ich mit einem metallischen Werkstück und einem Durchgangsprüfer den Punkt bestimme, an dem gerade eine leitende Verbindung besteht. Die Methode verwende ich seit längerem beim Platinenfräsen, um den Z-Nullpunkt zu bestimmen (der spitze Frässtichel taucht beim Find Z Origin viel tiefer ein, als ich überhaupt fräsen möchte), das scheint sehr genau zu gehen.
Natürlich krankt das Ganze am Ende an der schlechten Genauigkeit unserer Zahnriemen. Dadurch wird die Extrapolation ungenau, denn die gefahrene Strecke ist leicht anders als gedacht. Da helfen dann wohl nur die Kugelumlaufspindeln