CNC-Fräsen mit Open-Source-Software

Ich bin immer auf der Suche nach neuen Projekten, die ich mit meinem 3D-Drucker erstellen kann. Als ich kürzlich ein neues Design für eine CNC-Fräsmaschine sah, die hauptsächlich 3D-gedruckte Teile verwendet, war ich fasziniert. Als ich sah, dass die Maschine mit Open-Source-Software arbeitet und der Controller ein Arduino ist, auf dem Open-Source-Software läuft, wusste ich, dass ich eine bauen musste.

CNC-Fräsmaschinen sind Präzisionsschneidewerkzeuge, die bei der Herstellung von Formen, Gravuren und Modellen eingesetzt werden. Im Gegensatz zu anderen Fräswerkzeugen können sich CNC-Maschinen auf drei Achsen bewegen: Die Z-Achse bewegt sich vertikal, die X-Achse horizontal und die Y-Achse rückwärts und vorwärts.

DY your CNC

Während viele Komponenten dieser CNC-Maschine in 3D gedruckt sind, müssen einige Teile bestellt werden, damit sie funktioniert. Ihr Schöpfer, Nikodem Bartnik, hat eine Liste der Teile auf der Thingiverse-Seite des Projekts zusammen mit Links zum Herunterladen der STL-Dateien der 3D-gedruckten Teile.

Ich bestellte die erforderlichen Teile und begann zu warten. Sie wurden aus Übersee verschickt, und es dauerte etwa einen Monat, bis einige von ihnen eintrafen. In der Zwischenzeit habe ich die anderen Teile 3D-gedruckt.

Die CNC-Maschine ist auf einem Arduino-Controller aufgebaut, auf dem die Open-Source-Software GRBL zur Bewegungssteuerung läuft. Der GRBL-Controller empfängt CNC-G-Code (eine textbasierte Liste von Anweisungen für die CNC-Fräse) und setzt ihn in Bewegung um, indem er die Schrittmotoren ansteuert. Die Maschine hat einen Schrittmotor für die Z-Achse (auf und ab), einen Schrittmotor für die X-Achse (links und rechts) und zwei Schrittmotoren für die Y-Achse (vor und zurück). Auf der GRBL-Website finden Sie eine Dokumentation zum Laden von GRBL auf das Arduino-Board.

Ich werde nicht näher auf den Zusammenbau der CNC-Hardware eingehen, da Nikodem eine Reihe von Videos zur Verfügung stellt, die dies im Detail erklären. Stattdessen werde ich mich auf die Open-Source-Software konzentrieren, mit der man Designs für die CNC-Maschine erstellen und diese betreiben kann. Neben Fedora als Basis-Betriebssystem habe ich GRBL, Inkscape, jscut und CNCjs verwendet.

In diesem Tutorial erkläre ich, wie man eine CNC-gefräste Holzversion des Linux-Tux-Logos von Larry Ewing erstellt.

Dateien erstellen

Der erste Schritt zur Erstellung eines hölzernen Tux ist das Herunterladen einer Schwarz-Weiß-Version des Logos im PNG-Format von Wikimedia Commons.

cnc_bw-tux.png

Tux-Logo von Wikimedia Commons

Der Ausgangspunkt des Projekts, ein PNG-Bild von Tux von Wikimedia Commons, erstellt von gg3po, lizenziert unter der GPL v2.

Damit das Tux-Logo auf der CNC-Maschine funktionieren kann, konvertieren Sie die Tux-PNG-Datei mit Inkscape in eine SVG-Datei, indem Sie die PNG-Datei in das Inkscape-Fenster ziehen und dort ablegen. Verwenden Sie dann die Option Trace Bitmap von Inkscape, um das Bild in SVG-Pfade zu konvertieren. Dabei werden zwei Kopien des Bildes erstellt – eine ist ein Pfad, die andere eine Bitmap – löschen Sie die Bitmap-Kopie. Verwenden Sie die Option Auseinanderbrechen und entfernen Sie die Eigenschaft Füllen für den Umriss von Tux und Tux‘ Mund; Sie erhalten ein SVG-Bild, das wie die Umkehrung des Originalbildes aussieht.

cnc_inverse-svg.png

Inverse Tux-Datei erstellt in Inkscape

Inverse Tux erstellt in Inkscape. Die schwarzen Abschnitte werden von der CNC-Maschine ausgefräst.

Als Nächstes wird die SVG-Datei in CNC-G-Code umgewandelt, d. h. in eine Liste von Anweisungen, die der CNC-Maschine mitteilen, wie sie das gewünschte Design erstellen soll. Ich habe die Open-Source-Software jscut verwendet, ein webbasiertes CAM-Programm (Computer-Aided Manufacturing). Sie können die Software herunterladen und auf Ihrer lokalen Maschine ausführen oder die webbasierte Version auf jscut.org verwenden, was ich getan habe.

Öffnen Sie die SVG-Datei auf jscut.org über das Dropdown-Menü SVG öffnen. Klicken Sie anschließend auf einen oder mehrere Teile des SVG-Bildes und dann auf Operation erstellen. Wählen Sie die Art der Operation (Gravieren, Außen, Tasche usw.) und die Tiefe des Schnitts und klicken Sie auf Erzeugen. Die verschiedenen Arten von Operationen legen fest, wo der Schnitt ausgeführt wird; Sie können die Auswirkungen der verschiedenen Operationen sehen, indem Sie die Registerkarte GCODE simulieren aufrufen, die eine Vorschau des Schnitts anzeigt. Für Tux habe ich mehrere Operationen für verschiedene Teile des Entwurfs erstellt.

cnc-jscut.png

Erstellung des Tux CNC G-code mit jscut

Erstellung des Tux CNC G-code mit jscut.

Stellen Sie die Eigenschaften Ihres Schneidwerkzeugs im Abschnitt „Werkzeug“ ein; dazu gehören die Angabe des Durchmessers des Werkzeugs und die Geschwindigkeit, mit der der Schnitt ausgeführt werden soll. Eine Einschränkung von jscut besteht darin, dass Sie keine unterschiedlichen Bitgrößen für verschiedene Operationen festlegen können. Um Tux zu erstellen, musste ich zwei verschiedene Bits verwenden: ein kleineres Bit, um Details wie die Augen, die Nase und den Mund zu gravieren, und ein größeres Bit, um den Umriss von Tux durch die gesamte Holzplatte zu schneiden. Ich habe jscut zweimal verwendet, um zwei verschiedene G-Code-Dateien zu erstellen: eine für die Gravuren mit dem kleineren Meißel und eine weitere, um Tux‘ Umriss mit dem größeren Meißel auszuschneiden.

Nach der Erstellung der beiden G-Code-Dateien muss man sich als Nächstes eine CNC-Controller-Software besorgen. Ich habe die Open-Source-Software CNCjs verwendet. CNCjs ist webbasiert, einfach zu bedienen und unterstützt die Verbindung mit GRBL-Steuerungen. Nach der Installation rufen Sie CNCjs in einem Webbrowser auf und verbinden es mit Ihrem Arduino-GRBL-Controller.

Klicken Sie auf Upload G-Code und geben Sie die Datei an, die Sie mit jscut erstellt haben. Zuerst habe ich die G-Code-Datei geladen, die die Gravuren auf der Oberseite von Tux erzeugt.

Bereit zum Schneiden

Sie sind fast bereit, mit dem Schneiden zu beginnen! Da du das Holz ganz durchschneiden wirst, ist es klug, ein „Abfallbrett“ zu verwenden – ein Brett, das auf der CNC-Maschine liegt und in das du nicht hineinschneiden musst. Denn wenn die Maschine Tux ausschneidet, geht sie ganz durch und in das Brett darunter. Das Abfallbrett kann bei Bedarf ausgetauscht werden.

cnc-wasteboard.jpg

Abfallbrett

Abfallbrett mit früheren Schnitten.

Sicher befestigen Sie das Abfallbrett an Ihrer CNC-Maschine, um jede Bewegung zu verhindern, dann befestigen Sie das Holzstück, das Sie für Tux verwenden werden. Es gibt viele Möglichkeiten, das Holz zu befestigen – ich verwende strapazierfähiges, doppelseitiges Teppichklebeband.

Der letzte Schritt vor dem Schneiden besteht darin, den Bohrer an der Spindel auf das zu schneidende Holzstück auszurichten. Verwenden Sie die Achsen-Tasten von CNCjs, um die Spindel physisch so zu bewegen, dass die X-, Y- und Z-Koordinaten des Bits mit der oberen linken Ecke des Holzes ausgerichtet sind. Die Z-Achse sollte sich genau über dem Holz befinden; Sie sollten in der Lage sein, ein Stück Papier zwischen das Holz und den Meißel zu schieben, aber spüren, wie der Meißel auf dem Papier schleift, während er gleitet.

Sobald alles ausgerichtet ist, setzen Sie die Arbeitspositions-Offsets für die X-, Y- und Z-Achse auf Null, indem Sie auf die Schaltfläche Setzen für jede Achse klicken.

cnc-set-axes.png

Arbeitsposition der Achsen auf Null setzen

Die Arbeitsposition für die X-, Y- und Z-Achse auf Null setzen.

Drücken Sie die Taste Z+ in CNCjs, um den Meißel ein wenig anzuheben, damit die Spindel beim Einschalten keine Markierung im Holz hinterlässt.

Um mit dem Schneiden zu beginnen, setzen Sie Ihre Schutzbrille, den Gehörschutz und eine Staubmaske auf. Als Nächstes schalten Sie die Spindel ein und klicken auf die Schaltfläche „Play“ in CNCjs.

Beobachten Sie die Maschine während des Schneidens genau und haben Sie einen Plan, um die Stromversorgung der CNC-Maschine und der Spindel bei Bedarf schnell zu unterbrechen. Halten Sie auch einen Staubsauger bereit, denn es wird eine Menge Sägemehl entstehen.

Nachdem die erste G-Code-Datei die Gravuren auf Tux abgeschlossen hat, schalten Sie die Spindel aus und drücken Sie die Taste X0Y0 in CNCjs, um die Spindel in die Ausgangsposition der X- und Y-Achse zurückzubringen. Wechseln Sie dann zum größeren Werkzeug, laden Sie die G-Code-Datei hoch, mit der der Umriss von Tux ausgeschnitten werden soll, und führen Sie den gleichen Prozess durch, um sie auszuführen.