Arduino CNC Styropor-Schneidemaschine selbst bauen – DIY Anleitung
In diesem Tutorial lernen Sie, wie man eine Arduino CNC Styropor-Schneidemaschine baut. Es handelt sich um eine typische DIY-CNC-Maschine, da sie aus einfachen, günstigen Materialien, einigen 3D-gedruckten Teilen und einem Arduino als Steuerung besteht. Sie können das folgende Video ansehen oder die schriftliche Anleitung unten lesen. Anstelle von Fräsern oder Lasern ist das Hauptwerkzeug dieser Maschine ein Heißdraht – ein spezieller Widerstandsdraht, der bei Stromdurchfluss extrem heiß wird. Der heiße Draht schmilzt oder verdampft den Schaumstoff beim Durchfahren, sodass wir präzise und einfach jede gewünschte Form ausschneiden können. Ich sagte „einfach“, weil der Bau einer CNC-Maschine eigentlich nicht so schwer ist. Wenn Sie Anfänger sind und über den Bau Ihrer ersten DIY-CNC-Maschine nachdenken, bleiben Sie dran – ich erkläre, wie alles funktioniert. Ich zeige den gesamten Bauprozess: vom Design der Maschine über den Anschluss der Elektronik und die Arduino-Programmierung bis hin zur Vorbereitung von Formen, Erstellung von G-Codes und Steuerung der Maschine mit kostenlosen Open-Source-Programmen. Also, legen wir los. Zunächst hier das 3D-Modell dieser Maschine. Sie können es unten herunterladen. Das 3D-Modell finden Sie auch auf Thangs, wo Sie es im Browser erkunden können. Assembly 3D-Modell auf Thangs herunterladen. STL-Dateien für den 3D-Druck: Das Grundgerüst besteht aus 20x20mm T-Nut-Aluminiumprofilen. Ich wählte sie, weil sie einfach zu montieren sind – kein Bohren nötig – und wiederverwendbar sind: Man kann sie leicht demontieren und für andere Projekte nutzen. Die Bewegung jeder Achse erfolgt über Linearlager, die auf 10mm Rundwellen gleiten. Pro Achse verwende ich zwei Wellen. Die Schlittenblöcke sehen vielleicht etwas ungewöhnlich aus, sind aber so konzipiert, dass sie als einzelnes Teil 3D-druckbar sind und mehrere Funktionen erfüllen. Der X-Schlittenblock nimmt z.B. zwei Linearlager auf, hält die Y-Achsen-Welle, die Riemenscheibe für den Y-Riemen und hat Befestigungen für den X-Riemen. Zum Antrieb der Schlitten nutzen wir NEMA 17 Schrittmotoren. Über eine Wellenkupplung, eine einfache Gewindestange, zwei Riemenscheiben und zwei Riemen treiben wir die beiden Schlitten auf jeder Schiene gleichzeitig an. Man bemerkt auch einen dritten Schrittmotor, der 2.5D-Formen ermöglicht – darauf kommen wir später zurück. Insgesamt ist die Konstruktion in Sachen Steifigkeit wahrscheinlich nicht optimal, aber mein Ziel war eine funktionsfähige Maschine mit minimalen Teilen, die den Job erledigt. Für den 3D-Druck der Teile nutzte ich meinen Creality CR-10 3D-Drucker – ein sehr guter Drucker zu vernünftigem Preis. Einige 3D-gedruckte Teile benötigen Nachbearbeitung oder das Entfernen von Stützmaterial vor dem Einsatz. In manchen Fällen musste ich auch eine Raspel nutzen, um überschüssiges Material zu entfernen – vermutlich wegen schlechter Support-Einstellungen im Slicer. Nun sind alle Materialien bereit, wir können mit dem Zusammenbau beginnen. Hier die Liste der wichtigsten mechanischen Komponenten. Die Elektronik-Komponenten finden Sie weiter unten im Schaltplan-Bereich. Meine T-Nut-Profile waren 60cm lang, also sägte ich sie per Metallsäge auf die im 3D-Modell vorgesehenen Längen zu. Mit den Eckwinkeln baute ich den Grundrahmen zusammen. Dann montiere ich die Wellenklemmen für die X-Achse. Man sieht: Mit T-Nut-Profilen ist das Arbeiten kinderleicht – man braucht nur M5-Schrauben und Nutensteine, um alles Mögliche zu befestigen. Als Nächstes schiebe ich die Wellen durch die Klemmen. Halb eingefügt, setze ich auch den X-Schlittenblock auf: Die beiden Lager hineinsetzen, dann auf die Welle schieben. Jetzt die Welle ganz einschieben und mit einer M4-Schraube und Mutter fixieren. Dies wiederhole ich für die andere Seite. Nun die Y-Achsen: Zuerst die Stangen in die X-Schlittenblöcke stecken, bündig mit der Unterseite ausrichten und mit M4-Schrauben/Muttern sichern. Dann die Y-Schlittenblöcke aufsetzen – diese nutzen je nur ein Linearlager. Oben auf den Y-Stangen befestigen wir die Montagehalterungen, die die beiden Y-Stangen mit einem T-Nut-Profil oben verbinden. Wieder dieselbe Befestigungsmethode. Für das Aufsetzen des T-Nut-Profils auf die Halterungen setze ich zuerst 3 M5-Schrauben mit Nutensteinen ein, schiebe das Profil hinein und ziehe die Schrauben an. Damit ist das Hauptgerüst fertig und wir können uns frei in X- und Y-Richtung bewegen. Als Nächstes montiere ich die Füße am Grundrahmen – wieder ganz einfach mit T-Nut-Profilen. Dann setze ich den ersten Schrittmotor für die X-Achse ein. Hier verwende ich 20mm Distanzhülsen, um die Motorwelle so zu positionieren, dass später eine Riemenscheibe nahe am Fuß sitzt. Nun kommt eine einfache 6mm Gewindestange, die beide Riemen gleichzeitig antreibt. Ich sägte sie auf Länge, setzte ein Lager mit 6mm Innen-Ø auf der gegenüberliegenden Seite des Motors ein und führte die Gewindestange hindurch. Eine Mutter sichert die Stange am Lager, zwei Zahnriemenscheiben für die Riemen kommen drauf. Für die Verbindung der Gewindestange mit dem Schrittmotor 3D-druckte ich eine Wellenkupplung mit 5mm Loch auf der Motorseite und 6mm auf der Stangenseite. Die Kupplung hat Schlitze für M3-Muttern, mit M3-Schrauben oder Madenschrauben lässt sie sich einfach an Motorwelle und Gewindestange fixieren. Dann positioniere ich die Riemenscheiben in einer Linie mit den Schlittengriffen und sichere sie mit Madenschrauben. Auf der gegenüberliegenden Seite der Maschine setze ich die beiden Umlenkrollen ein – mit M5-Schrauben und Muttern befestigt. Jetzt können wir die GT2-Riemen für die X-Achse montieren. Zuerst sichere ich den Riemen am Schlittenblock mit einem Kabelbinder. Dann führe ich ihn um die Zahnriemenscheibe, auf der anderen Seite um die Umlenkrolle, schneide ihn auf passende Länge und sichere ihn am anderen Schlittenblock wieder mit einem Kabelbinder. Dasselbe für die andere Seite. Beim Spannen der zweiten Seite muss sichergestellt sein, dass beide Schlitten auf derselben X-Position stehen. Dazu schiebt man sie einfach an das Schienenende, spannt den Riemen und fixiert den Kabelbinder. Damit ist der X-Schlittenmechanismus fertig. Verwandt: DIY Pen Plotter mit automatischem Werkzeugwechsler | CNC Zeichenmaschine Mit derselben Methode bauen wir den Y-Achsen-Mechanismus. Wieder Kabelbinder für die Riemenbefestigung. Der Schlitten hat nur einen Griff: Erst ein Riemenende mit Kabelbinder fixieren, dann den Riemen straffziehen und mit einem zweiten Kabelbinder beide Enden zusammenfassen. Den ersten Kabelbinder entfernen, überschüssigen Riemen abschneiden. Auch hier: Beim Spannen der Gegenseite müssen beide Schlitten auf gleicher Y-Position stehen. Damit ist auch der Y-Mechanismus fertig. Als Nächstes befestige ich ein weiteres T-Nut-Profil quer über der X-Achse. Es dient zur Aufnahme des 3. Schrittmotors und als Auflage für die Styropor-Platten. Mit diesem dritten Motor können wir 2.5D- bzw. eigentlich dreidimensionale Formen schneiden, z.B. einen Schach-Turm. Nun der Widerstandsdraht. Er muss hohe Hitze aushalten und eine gleichmäßige Temperatur über seine Länge halten. Meist nimmt man Nichrome-Draht oder Edelstahl-Angeldraht – beides günstig und leicht erhältlich. Der Draht muss gespannt zwischen den beiden Türmen/Schlitten laufen, hier meine Lösung: M5-Schrauben an beiden Schlittenblöcken, daran kleine Zugfedern. Den Draht hänge ich einfach in die Federn ein. Ich spannte ihn so weit, wie die Federn es zuließen. Die Federung ist wichtig, weil sich der Draht beim Erhitzen ausdehnt – die Federn gleichen das aus. Nun den Widerstandsdraht mit Elektrokabeln verbinden. Wir nutzen Gleichstrom, Polarität egal – Hauptsache Strom fließt. Achten Sie auf ausreichenden Kabelquerschnitt für 3-5 Ampere. Ich nutzte 0,6mm² (AWG 22), empfehle aber 0,75-1mm² (AWG 18-20) für Sicherheit. Zunächst klemmte ich das Elektrokabel zwischen zwei Muttern, sodass der Strom durch die Feder zum Widerstandsdraht floss. Das funktionierte nicht gut – gleich zeige ich warum. Ich führte das Kabel durch die Griffe des Schlittens, um es ordentlich und fern vom heißen Draht zu halten. Als Nächstes die Endschalter (Limit Switches) der CNC-Maschine. Diese Mikroschalter haben 3 Anschlüsse: Ground, Normally Open (NO) und Normally Closed (NC). Anfangs schloss ich sie an NO an, nach Tests wechselte ich auf NC, da die Maschine damit stabiler läuft. Das Problem: Elektrisches Störrauschen beim CNC-Betrieb löst die Schalter fälschlicherweise aus (sie wirken wie gedrückt) und stoppt die Maschine. Nun verbinden wir die Schrittmotor-Kabel und sehen, wie alle Elektronik-Komponenten verschaltet werden. Hier der Schaltplan: Das Gehirn der CNC-Maschine ist ein Arduino Board. Dazu brauchen wir ein Arduino CNC Shield, drei A4988 Schrittmotortreiber und einen DC-DC-Wandler (Step-Down) zur Temperaturregelung des Heißdrahts. Benötigte Komponenten: Ich 3D-druckte einen Halter für die Elektronik, den ich an einem T-Nut-Profil befestigte. Mit M3-Schrauben fixierte ich zuerst den Arduino am Halter und steckte dann das CNC Shield darauf. Dann wählen wir per Jumper die Schrittauflösung der Treiber. Ich wählte 1/16-Schritt (drei Jumper pro Treiber) für ruhigere Bewegungen. Beim Einstecken der Treiber auf die korrekte Orientierung achten: Der kleine Potentiometer sollte zur Unterseite des Shields zeigen. Dann den DC-Wandler befestigen. Die drei Schrittmotoren an das CNC Shield anschließen, die zwei Endschalter an X+ und Y+. Zur Stromversorgung nutze ich ein 12V 6A Netzteil. Das CNC Shield arbeitet mit 12-36V, der verwendete DC-Wandler ebenfalls. Am Eingang des DC-Wandlers sitzt ein Schalter, um den Heißdraht separat ein-/auszuschalten. Am Ausgang verbinde ich die beiden Kabel der Widerstandsdraht-Enden. Schließlich Arduino per USB mit Strom versorgen (für Logik) und CNC Shield + Schrittmotoren über den DC-Stromanschluss. Jetzt testen wir die Maschine – beginnend mit dem Heißdraht. Am DC-Wandler-Eingang 0V, nach Einschalten des Schalters 12V. Am Ausgang zunächst 0V, aber beim Drehen am Potentiometer lässt sich die Ausgangsspannung von 0-12V einstellen – damit steuern wir den Strom und letztlich die Drahttemperatur. Am besten testet man die optimale Spannung, indem man versucht, ein Styroporstück zu schneiden. Der Draht sollte ohne großen Widerstand und ohne sich zu verbiegen durch das Material gleiten. Nach dem ersten Test sehen Sie, was mit meinem Heißdraht passierte: Er dehnte sich durch die Hitze aus, und die Federn, die das ausgleichen sollten, versagten. Die Federn verloren durch Überhitzung ihre Funktion, weil bei dieser Verschaltung der Strom auch durch sie floss. Also tauschte ich die Federn gegen neue aus und umging sie nun, indem ich die Elektrokabel direkt per Krokodilklemmen am Widerstandsdraht anschloss. Jetzt hauchen wir der Maschine Leben ein und machen sie zur echten CNC-Maschine. Dafür laden wir zunächst eine Firmware auf den Arduino, die die Maschinenbewegungen steuert. Die beliebteste Wahl für DIY-CNC ist GRBL. Sie ist Open Source und auf GitHub herunterladbar. Nach dem Download als ZIP entpacken, den „grbl“-Ordner in das Arduino-Bibliotheksverzeichnis kopieren. Dann Arduino IDE öffnen: Datei > Beispiele > grbl > grblUpload. Board „Arduino UNO“ wählen, richtigen COM-Port auswählen und hochladen. Danach versteht der Arduino G-Codes und steuert die Maschine entsprechend. Als Nächstes brauchen wir eine Oberfläche/Controller, die mit dem Arduino kommuniziert. Wieder Open Source: Universal G-Code Sender (UGS). Ich lud die Version 2.0 Platform herunter. Zum Start: ZIP entpacken, in den „bin“-Ordner gehen, eine der ausführbaren ugsplatform-Dateien öffnen. Es ist ein Java-Programm – daher zuerst Java Runtime Environment (JRE) von der offiziellen Website kostenlos installieren. Im UGS-Programm zuerst den Setup-Wizard starten, um die Maschine zu konfigurieren. Port auswählen und mit dem Arduino verbinden. Nach Verbindungsaufbau kann man die Motor-Richtung per Klick testen und ggf. umkehren. Ich legte positive Bewegung von der Home-Position (wo die Endschalter sitzen) zu den anderen Seiten fest. Dann die Schritte/mm kalibrieren für präzise Bewegungen. Bei 1/16-Schritt und 200 physischen Schritten/Motor-Umdrehung braucht der Motor 3200 Schritte für 360°. Je nach Getriebe (hier Riemenscheiben-Größe) berechnet man die Schritte für 1mm Weg. Standardwert im Programm: 250 Schritte/mm. Klickt man einen Move-Button, macht der Motor 250 Schritte. Nun misst man mit Lineal die tatsächliche Bewegung und trägt den Wert im Programm ein. Es berechnet den korrigierten Schritte/mm-Wert. Bei mir: 83 Schritte/mm. Für die Z-Achse (Drehachse) setzte ich 400 Schritte/mm – d.h. 1mm Z-Bewegung = 45° Drehung. Dann prüfen, ob Endschalter funktionieren. Je nach NO/NC-Anschluss kann man sie hier invertieren. NC funktionierte bei mir besser. Wichtig: Z-Achsen-Endschalter deaktivieren, da wir keinen haben. Sonst kann man nicht homen. Dazu in der Arduino-Bibliothek im grbl-Ordner die config.h bearbeiten. Dort die Homing-Zyklus-Zeilen finden: Standard für 3-Achsen-Maschine auskommentieren, Setup für 2-Achsen-Maschine einkommentieren. Speichern und grblUpload neu auf den Arduino laden. Programme am besten neu starten, damit alles sauber läuft. Nun „Try homing“ testen: Maschine fährt zum X-Endschalter, dann Y-Achse. Falls nötig, Endschalter-Richtung ändern. Am Ende des Wizards Soft Limits setzen – maximale Verfahrwege pro Achse. Bei mir 45x45cm. Das Programm ist nun einsatzbereit. Vor jedem Gebrauch: Maschine homen, dann kann man loslegen. Erst mal mit dem Jog-Controller herumspielen und die Maschine manuell verfahren. Auch Testschnitte in Styropor machen, um passende Vorschubgeschwindigkeit (Feed Rate) zu finden. Man sollte mit Heißdraht-Temperatur und Vorschub experimentieren, um die saubersten, präzisesten Schnitte zu erzielen. Zum Schluss: Wie bereitet man Zeichnungen auf, damit die CNC-Maschine Formen daraus schneidet? Dazu braucht man ein Vektorgrafik-Programm – wieder Open Source: Inkscape. Kostenlos auf der offiziellen Website. Ich zeige zwei Beispiele, wie man G-Code für die Arduino CNC-Maschine mit Inkscape erstellt. Zuerst Seitengröße auf Arbeitsbereich einstellen: 45x45cm. Beispiel 1: Arduino-Logo als Bild herunterladen, importieren. Per „Bitmap nachzeichnen“ in Vektoren umwandeln. Um die Form mit dem Heißdraht schneiden zu können, muss sie ein durchgängiger Pfad sein. Der Heißdraht ist immer im Arbeitsbereich präsent – er kann nicht wie ein Fräser angehoben oder wie ein Laser ausgeschaltet werden, während er zwischen Buchstaben/Formen verfährt. Also verbinde ich alle getrennten Teile mit einfachen Rechtecken per „Vereinigen“-Funktion. Innere geschlossene Schleifen müssen geöffnet werden – per „Differenz“-Funktion. Ist die Zeichnung fertig, nutzen wir die Gcodetools-Erweiterung für G-Code-Erzeugung. Zuerst Orientierungspunkte generieren. Modell auf gewünschte Größe skalieren. Dann in der Werkzeugbibliothek das Werkzeug definieren: Zylinderform (Draht ist zylindrisch). Durchmesser auf 1mm setzen, Vorschubgeschwindigkeit festlegen. Andere Parameter vorerst unwichtig. Schließlich per „Pfad zu G-Code“ den G-Code erzeugen. Der G-Code ist eine Anweisungsfolge, die GRBL/Arduino versteht und entsprechend die Schrittmotoren ansteuert. Öffnen wir den G-Code im Universal G-Code Sender, sehen wir im Visualizer den Maschinenpfad. Gelbe Linien zeigen Leerfahrten (bei Fräser/Laser: Bewegung durch Luft). Beim Heißdraht darf das nicht passieren – der Draht würde durch das Material schneiden und die Form ruinieren. Hier sieht man auch: Kein durchgängiger Pfad für die ganze Form, weil wir innere geschlossene Bereiche im Logo vergessen haben zu öffnen. Einfach zurück zur Zeichnung, diese Bereiche öffnen, G-Code neu erzeugen. Tipp: Eigenen Startpunkt wählen: Form doppelklicken, Knoten wählen, „Pfad an gewähltem Knoten trennen“. Öffnet man den neuen G-Code, startet der Pfad beim Buchstaben A, durchläuft die ganze Form und endet wieder bei A. Zur Befestigung der Styropor-Stücke auf der CNC-Maschine baute ich einfache Halter mit M3-Schrauben, die in den Schaum eindringen und ihn fixieren. Ein weiteres Beispiel: 3D-Form herstellen. Wir machen einen quadratischen Pfeiler, der auf vier Seiten je 90° gedreht geschnitten werden muss. Pfeilerform per Bitmap-Nachzeichnung erhalten. Einfaches Rechteck in Pfeilergröße zeichnen, Pfeiler davon abziehen (Differenz). Eine Seite löschen – wir brauchen nur einen Profil-Pfad des Pfeilers. Das ist der eigentliche Pfad, den die CNC fahren soll, und nach jedem Durchgang muss der 3. Schrittmotor um 90° drehen. Bei den Orientierungspunkten Z-Tiefe auf -8mm setzen. In Werkzeugparametern Tiefe-Schritt (depth step) auf 2mm. Nach G-Code-Erzeugung sieht man im Sender: Maschine macht 4 Durchgänge desselben Pfads bei je 2mm Z-Differenz. Bei einer CNC-Fräse würde der Fräser jedes Mal 2mm tiefer schneiden, hier aber (wie oben gezeigt) haben wir Z-Achse so kalibriert: 1mm = 45°, also 2mm = 90° Drehung des Schrittmotors. Den G-Code muss man noch leicht anpassen. Standardmäßig bewegt der generierte Code nach jedem Durchgang Z auf 1mm (bei Fräse: Fräser anheben für Leerfahrt). Man könnte den Code so lassen, aber er macht unnötige Z-Bewegungen (dreht den Schaum grundlos). Daher nach jeder Iteration die Z-Werte so ändern, dass sie auf der gleichen Position bleiben, ohne zurück auf 1mm zu gehen. Zur Befestigung des Schaumstücks für die 3D-Form nutzen wir diese Plattform mit M3-Schrauben, die in den Schaum greifen und ihn beim Formen halten. Vor G-Code-Start: Heißdraht manuell nah an das Schaumstück bringen. Abstand vom Mittelpunkt zum Heißdraht sollte der gewünschten Wandstärke entsprechen. Für exakte Maße wie in der Zeichnung: Abstand vom Ursprung zum Formenmittelpunkt in der Zeichnung messen. Dann im Controller „Reset Zero“ klicken, damit das Programm hier startet statt an Home-Position. Play drücken – die Arduino CNC-Maschine fertigt die 3D-Form. G-Code-Dateien und Inkscape-Dateien für alle Beispiele hier herunterladen: Das war im Wesentlichen alles für dieses Tutorial. Ich hoffe, die Erklärung war verständlich genug, damit Sie Ihre eigene CNC-Maschine bauen können. Fragen gerne in den Kommentaren und schauen Sie in meine Arduino-Projektsammlung.Überblick

3D-Modell der Arduino CNC Styropor-Schneidemaschine





CNC zusammenbauen
















Schaltplan der Arduino CNC Styropor-Schneidemaschine







Software für Arduino CNC-Maschinen








G-Code für die CNC-Maschine erzeugen
















Herstellungsprozess
- CNC-Prototyping-Leitfaden: Präzision, Geschwindigkeit und kosteneffiziente Produktion
- CNC-Werkzeugmaschinen: Geschichte, Design und Zukunftstrends
- Umfassender Leitfaden zu CNC-Schneidmaschinen: Typen, Vorteile & Anwendungen
- Was ist CNC? – Computer Numerical Control für die moderne Fertigung verstehen
- CNC-Oszilliermesserschneider: Industrielle Anwendungen & Fähigkeiten
- CNC-Schneidwerkzeuge im Vergleich: Fräser, Gewindefräser & mehr
- Günstige Desktop-CNC-Maschinen für präzises Metallschneiden zu Hause
- CNC-Grundlagen: Computerized Numerical Control meistern
- CNC-Fräsmaschinen: Ein umfassender Überblick
- Umfassender Leitfaden zu CNC-Plasmaschneidanlagen: Funktionen, Vorteile und Anwendungen