Zum Inhalt springen
Home » Dokumentation » Koordinatensysteme / Werkstück-Ausrichtung

Koordinatensysteme / Werkstück-Ausrichtung

Die wichtigsten Links zum Thema Koordinatensysteme:

LightBurnLinuxCNC CNCCookbook’s G-Code Tutorial & CNCCookbooks Offsets

Begriffsklärung

Es gibt zwei zu unterscheidende Koordinatensysteme. Das Maschinen-Koordinatensystem und das Arbeits-Koordinatensystem. Diese Systeme können gleich sein, müssen es aber nicht. Die Firmware übernimmt die Umrechnung der Koordinaten, falls beide Systeme unterschiedlich sind.
Maschinen-Koordinatensystem: Dieses Koordinatensystem ist das interne Koordinatensystem der Firmware. Es wird entweder beim Start oder durch eine Referenzfahrt (sofern eingestellt) gesetzt. Die Koordinaten müssen den Nutzer in der Regel nicht interessieren. Sie können (und sind es standardmäßig auch) negativ sein.
Arbeits-Koordinatensystem: In diesem Koordinatensystem (auch als G54 Koordinatensystem bezeichnet), werden die Steuerbefehle des Nutzers ausgeführt. Dadurch kann der Nutzer andere Koordinaten oder Begrenzungen festlegen, als in der Firmware zur Verfügung stehen. Es ist sogar möglich, weitere Arbeits-Koordinatensysteme zu nutzen und zwei verschiedene Positionen als deren Nullpunkte zu setzen. Aber das führt in der Regel zu weit für den Normal-Gebrauch. Wichtig ist, dass man hiermit den „normalen“ Nullpunkt des Systems verändern kann, was in verschiedenen Konstellationen notwendig ist.

Laser / Firmware

Das folgende Bild zeigt das Koordinatensystem von grbl bzw. CNC-Maschinen allgemein. Der Ursprung des Koordinatensystems ist hinten rechts und geht in die positive Richtung nach hinten und rechts. Das heißt, der Arbeitsbereich befindet sich komplett in einem negativen Koordinatenraum. Je weiter nach vorne und links man sich bewegt, desto negativer werden die Koordinaten. Letztlich entspricht die Ecke vorne links der maximalen Arbeitsbereichs-Größe in negativer Form. Also -Xmax und -Ymax.

Koordinatensystem von grbl

Nullpunkt festlegen

Es gibt zwei Arten, den Nullpunkt der Maschine (Maschinen-Koordinatensystem) festzulegen:

  • Mit Endschaltern und einer Referenzfahrt
  • Durch Bewegen des Lasers an die gewünschte [0,0]-Position VOR dem Anschalten (im Moment des Starts setzt die Firmware die aktuelle Position (Arbeitsbereich und Maschine) auf [0,0]). Das bleibt auch so lange erhalten, bis der Laser ausgeschaltet oder eine Referenzfahrt durchgeführt wurde. [Beachte: Der Laser wird nicht ausgeschaltet, wenn man nur den Power-Schalter betätigt. Zusätzlich muss auch das USB-Kabel stromlos sein, siehe Kapitel Firmware-Aktualisierung]

Man kann der Firmware manuell an einer bestimmten Position sagen, dass hier der Nullpunkt für den Arbeitsbereich gesetzt werden soll. Das erleichtert insbesondere die Zusammenarbeit mit LightBurn, da LB den Ursprung nach unten links setzt (siehe unten). Das Kommando zum Setzen der Nullposition an der aktuellen Stelle, an der der Laser gerade steht, ist

G10 L20 P1 X0 Y0

Das sollte man also am besten ausführen, nachdem man den Laser nach unten links bewegt hat. Damit wird allerdings nur der Arbeitsbereich auf [0,0] gesetzt, das Maschinenkoordinatensystem nicht. Das behält seinen Nullpunkt an der Stelle, an der es stand, als es eingeschaltet wurde. Wenn man sich die Position des Lasers ausgeben lässt, erhält man dementsprechend andere (z. B. negative) Werte. Das kann man ändern, in dem man $10=0 in der Kommandozeile eingibt. Dann werden die Koordinaten des Arbeitskoordinatensystems ausegeben anstatt des Maschinenkoordinatensystems. Wenn man das Firmware-Update von LaserGRBL wie im Kapitel Firmware-Aktualisierung beschrieben durchgeführt hat, ist die Option „#define HOMING_FORCE_SET_ORIGIN“ aktiviert, die dazu führt, dass die [0,0] Position auch im Maschinenkoordinatensystem an der Stelle der Referenzecke gesetzt wird.

Zusätzlich sollte man beachten, dass der oben genannte Befehl die Koordinaten dauerhaft speichert. Es macht also nur Sinn, ihn zu benutzen, wenn man die automatische Referenzfahrt nutzt, weil man ihn sonst jedes Mal nach dem Anschalten oder wenn der Laser per Hand bewegt wurde, ausführen muss (da sich die Startkoordinaten höchstwahrscheinlich geändert haben).

Wenn keine Endschalter montiert und demnach keine Referenzfahrt möglich ist, sollte man den Laser-Kopf also vor dem Start nach vorne links bewegen und dann erst die Maschine einschalten. Nur so kann man den gesamten Arbeitsraum ohne weitere Anstrengungen nutzen.

LightBurn & LaserGRBL

LightBurn und LaserGRBL arbeiten mit dem Koordinatensystem-Ursprung unten links. Das ist aus Nutzer-Sicht am intuitivsten, da Koordinatensysteme oftmals links unten beginnen.

LightBurn coordinate system

In diesen Screenshots sieht man die Koordinatensysteme von LB und LaserGRBL.

Wenn also LB oder LaserGRBL einen Befehl an den Laser senden, wird dieser im Arbeitsbereichskoordinatensystem gesendet. Angenommen, der Laser steht auf der Position [0,0] (egal wo der Kopf tatsächlich steht, entscheidend ist, wo er stand, als er angeschaltet wurde, ob eine Referenzfahrt durchgeführt wurde oder ob manuell ein Arbeits-Koordinatensystem festgelegt wurde). Wenn man in LB oder LaserGRBL das Kommando gibt, auf die Position [20,20] zu fahren, wird der Laser 20 mm nach rechts und 20 mm nach hinten fahren. Und zwar, wie zuvor besprochen, in seinem Arbeitsbereichskoordinatensystem. Wenn der Laser schon hinten rechts steht, wird er also in den Rahmen fahren. Wenn er in der Mitte stand, steht er dann 20 mm neben und hinter der Mitte.

LB bietet zusätzlich die Option, statt der absoluten Position die „aktuelle“ Position als Startpunkt zu nehmen. Damit ist es möglich, recht einfach den Zielpunkt zu finden, in dem man den Laser manuell an einer Ecke oder der Mitte eines Werkstücks positioniert und dann den Vorgang startet. Dann werden die Koordinaten nicht im Verhältnis zum Rahmen des Lasers benutzt, sondern zur aktuellen Position. Näheres dazu in der Dokumentation von LightBurn oder in dem folgenden Video:

LightBurn Tutorial-Video

Notwendigkeit einer Referenzierfahrt

Eine Frage, die sich häufig stellt, ist, ob man überhaupt Endschalter / automatische Referenzierung benötigt. Das lässt sich nicht pauschal beantworten. Grundsätzlich ist das für den Betrieb nicht nötig. Wie beschrieben, gibt es auch manuelle Methoden für das Ausrichten des Lasers. Aus meiner Sicht gibt es folgende Punkte zu bedenken:

  • Überwachung / Sicherung des Arbeitsraums: Wenn der Laser zu jeder Zeit eine definierte und bekannte Position hat, hat man die Möglichkeit, den Arbeitsraum zu sichern. Durch Einsatz der sog. Soft Limits kann die Firmware Befehle, die den Laser außerhalb des Arbeitsraums führen würden, abbrechen. Man kann also nicht mehr in den Rahmen krachen, was sehr schonend für die Mechanik ist. Dies kann man allerdings auch mit den Hard Limits erreichen, dazu muss an jedem Ende jeder Achse ein Endschalter installiert werden, und der Laser stoppt automatisch bei Berührung.
  • Wiederholgenauigkeit: Da der Laser mit automatischer Referenzierung immer an dem gleichen Punkt startet, ist es einfacher möglich, Serien von Objekte zu erstellen oder Projekte zu stoppen und wieder fortzuführen. Der Laser hat immer die genau gleiche Position beim Lasern.
  • Intuitive Bedienung: Wenn das Koordinatensystem parallel zur Steuerungssoftware eingerichtet ist, wird der Laser auch genau an der Stelle lasern, an dem das Objekt im Arbeitsbereich der Software dargestellt ist. Das erleichtert in der Regel die Bedienung, ist aber vermutlich auch eine Frage der Gewöhnung.

Wiederholtes Positionieren ohne absolute Koordinaten

[Hast du eine bessere Methode? Ich nehme gerne weitere Methoden auf, schreib mir eine Mail: diy@melvin-isken.de oder einen Kommentar auf dieser Seite]

Häufig tritt die Frage auf, wie man mit dem Koordinatensystem arbeitet, wenn man keine absoluten Koordinaten verwenden kann und trotzdem wiederholt die gleichen Positionen anfahren will (wenn keine automatische Referenzfahrt durchgeführt werden kann). Ich würde dabei folgendes Verfahren in LightBurn empfehlen:

Hierbei ist es essenziell, dass der Laser NIE per Hand verschoben wird. Das System hat keine Sensoren, um die Position festzustellen und bekommt diese Verschiebung nicht mit! Er geht weiterhin vom alten Punkt aus!

  • [Optional] Bewege den Laser per Hand an die Stelle, die als Ausgangsposition dienen soll und schalte ihn ein. Die folgenden Schritte funktionieren nur im positiven Koordinatenraum, daher nur nach rechts und hinten von der Nullposition des Lasers aus gesehen. Daher sollte man den Laser nach unten links bewegen vor dem Anschalten.
  • [Move-Fenster] Mit dem Knopf “Set Origin” kann man den Ausgangspunkt für alle Arbeiten angeben. Dazu bewegt man den Laser mit den Pfeilknöpfen an die gewünschte Position (falls man das nicht vor dem Einschalten per Hand gemacht hat) und drückt dann den Knopf.
  • [Move-Fenster] [optional] Mit dem Knopf “Set Finish Position” kann man die Position festlegen, die angefahren wird, wenn der Auftrag erledigt ist. Das ist dann z. B. hilfreich, wenn man zwischen zwei Aufträgen an das Werkstück muss, aber im Anschluss an der gleichen Stelle weitermachen will).
  • [Laser-Fenster] Man kann den Laser nun jederzeit mit dem Button “Go to Origin” zu der Position zurückfahren, die man anfangs festgelegt hat.
  • [Laser-Fenster] Als Startpunkt wählt man “User Origin”. Das heißt, Aufträge starten immer an der festgelegten Origin-Position und enden ggf. an der festgelegten “Finish Position”

Hinweis

Set Origin und Set Finish Position funktionieren nur im positiven Koordinatenraum. Man kann sich recht leicht einen Nullpunkt setzen, wenn man doch an einer anderen Stelle gestartet ist und jetzt weiter links / unten eine Position wählen will:
– der Laser wird (per Richtungs-Köpfe) an die Stelle bewegt, die als Nullposition angenommen werden soll
– in der Konsole gibt man das Kommando „G10L20P1X0Y0“ ein (siehe auch Kapitel zu Endschaltern). Damit wird das Arbeitskoordinatensystem an dieser Stelle auf [0,0] gesetzt.
– man gibt den Befehl $10=0 in der Konsole ein. Damit übermittelt die Firmware ab jetzt die Koordinaten im Arbeitsbereich, der ja jetzt an dieser Stelle [0,0] ist.
Achtung: Das G10…-Kommando speichert den Offset dauerhaft. Beim nächsten Einschalten oder nachdem der Kopf per Hand verschoben wurde, ist die Position daher vermutlich nicht mehr richtig. Dann muss das Kommando entweder erneut ausgeführt werden, oder man macht die Änderung rückgängig: $10=1 und $RST=# in der Konsole nacheinander eingeben.

Oben im Move-Fenster kann man sich auch mehrere Positionen speichern, das macht aber nur Sinn, wenn man den Laser immer an der gleichen Position starten kann.

Move und Laser Fenster in LightBurn

Positionieren ohne absolute Koordinaten

In der Regel ist es nicht nötig, absolute Koordinaten für ein Projekt zu nutzen. Man kann in LightBurn einfach “aktuelle Position” als Startposition wählen und dann direkt dort starten, wo sich der Kopf befindet. Man kann ihn auch per Hand so verschieben, wie benötigt.

Hier ist noch ein Video mit einer ähnlichen Methode: [EN]

Hier noch ein paar weitere Methoden: [EN]

Hier sind noch zwei Videos von Eelko aus der offiziellen Sculpfun Facebook Gruppe: [EN]

Man kann auch einfach einen mechanischen Anschlag verwenden, sodass man den Laser manuell immer an die gleiche Stelle verschieben kann und somit die gleiche Ausgangsposition hat.

Eine weitere Möglichkeit ist noch eine Anlege-Hilfe, die man sich mit dem 3D-Drucker drucken kann. Dieses Teil legt man an den Laser an und kann dann das Bauteil genau am Laser-Fokus ausrichten. Gefunden bei Etsy: https://www.etsy.com/de/listing/1159431135/laser-cutter-engraver-40mm30mm-laser. Freie Version von Andre Champoux: Link. Es gibt noch eine weitere Version von Stefano Maltauro: https://www.thingiverse.com/thing:5540992.

Wer keinen 3D-Drucker besitzt, kann auch die Variante von Lydie Du nutzen, die man selbst mit dem Laser erstellen kann. Download (LightBurn-Datei und SVG Version).

Hier noch die Erklärung zum Ablauf (maschinell übersetzt):

  • Die innere Ecke des Lineals zeigt an, wo der Laserstrahl beginnt (ich bin kein Profi, vielleicht gibt es eine kleine Abweichung). (Foto 3)
  • An der Stelle, an der sich der Punkt in Ihrem Entwurfsbereich befindet (ich verwende Lightburn), beginnt der Laserstrahl. Manchmal ist es nützlich, eine Hilfslinie um Ihren Entwurf herum zu legen. An dieser Stelle sollten Sie die Innenecke des Lineals auf die zu lasernde Fläche legen. (Foto 4)
  • Legen Sie die Leiste mit der inneren Ecke auf die zu lasernde Fläche, wo der Laserstrahl beginnen soll. (Foto 5)
  • Schieben Sie den Laserkopf ganz an die Ecke des Lineals heran. (Foto 6)
  • Er ist genau da, wo ich ihn haben will. Ich konnte ein Abfallstück optimal nutzen.
  • Entfernen Sie die Leiste, wenn Sie mit dem Lasern beginnen! Einfach, leicht und schnell.

Ausrichten per Kamera (LightBurn)

LightBurn bietet eine weitere sehr geniale Funktion, mit der sich Werkstücke per Kamerabild ausrichten lassen. Das Kamerabild wird in den Arbeitsbereich eingeblendet und man sieht das echte Objekt und kann sein Design darauf ausrichten. Da dies nur funktioniert, wenn LightBurn Kamerabild und echten Arbeitsbereich korrekt übereinander legen kann, muss man dafür am Anfang eine Kalibrierung durchführen und speichern. Im Anschluss darf die Kamera nicht bewegt werden, ansonsten muss die Kalibrierung erneut durchgeführt werden. Die Anleitung dazu findet sich hier: LightBurn: Using a Camera.

Screenshot aus der LightBurn Dokumentation

Hinweis zur Webcam

Die häufigste Frage zu diesem Thema ist, welche Webcam man dazu benutzen kann. Die Antwort ist: jede Kamera, die als USB-Webcam vom Rechner erkannt wird, kann genutzt werden! Ich habe es mit einer 10€-China-Webcam von Amazon getestet. Je höher die Auflösung, desto besser die Detailschärfe. Je nach Abstand zum Laser ist mehr oder weniger Weitwinkel / Fischaugenlinse notwendig. Dabei gilt: nur so viel Weitwinkel wie nötig! Je weniger Bildpunkte perpektivisch entzerrt werden müssen, um so besser.

Hier sind noch ein paar Videos zur Einrichtung & zum Benutzen der Funktion: