Im MakerSpace Schwerte ist ein neues spannendes Projekt entstanden: Wir haben einen CNC Foam Cutter nach der Anleitung von How to Mechatronics nachgebaut. Ein großes Dankeschön an Dejan für die hervorragend dokumentierte Bauanleitung und die frei zugänglichen Ressourcen!
Der Cutter ermöglicht es, mit einem elektrisch beheizten Draht präzise Formen aus Styropor (EPS) oder ähnlichen Schaumstoffen auszuschneiden – von 2D-Konturen bis hin zu rotierenden 3D-Formen.
Was ist ein CNC Foam Cutter?
Ein CNC Foam Cutter ist eine computergesteuerte Heißdraht-Schneidemaschine. Anders als Fräsen oder Laser arbeitet sie mit einem gespannten Draht, der elektrisch erhitzt wird. Das Material wird nicht mechanisch abgetragen, sondern lokal geschmolzen. Dadurch entstehen:
- saubere Schnittkanten
- kaum mechanische Belastung des Werkstücks
- leiser und vergleichsweise sicherer Betrieb
Unser Aufbau basiert auf:
- einem Aluminium-Profilrahmen
- Schrittmotoren für die X-, Y- und eine rotierende Achse
- einem Arduino UNO R3 mit GRBL-Firmware
- einem Motortreiber-Board
- sowie einem steuerbaren Heizdraht
Die Steuerung erfolgt über G-Code – also denselben Code, der auch in Fräsen und 3D-Druckern verwendet wird.
Mechanischer Aufbau
3D-gedruckte Komponenten
Zu Beginn haben wir die benötigten Bauteile anhand der online verfügbaren Zeichnungen gedruckt. Das hat insgesamt gut funktioniert – allerdings gab es typische Lernmomente:
- Einige Löcher waren durch Stützstrukturen schwer zu reinigen.
- Anfangs war in der Druckersoftware die falsche Düse eingestellt, wodurch einzelne Teile nicht stabil genug wurden.
Nach einer Korrektur der Druckeinstellungen konnten wir die benötigten Komponenten sauber herstellen.
Rahmenmontage
Der Rahmen wurde aus Aluminiumprofilen zusammengeschraubt.
Hier zeigte sich, wie wichtig die richtige Reihenfolge ist: Wir hatten zunächst in einer ungünstigen Reihenfolge montiert – einige Teile passten dadurch nicht wie vorgesehen und mussten wieder gelöst werden.
Ein weiterer Lerneffekt:
Wir hatten die Zahnriemen zu fest gespannt, wodurch sich die Koppelwelle leicht verbogen hat. Nach dem Neujustieren lief die Mechanik deutlich ruhiger.
Konstruktive Anpassungen
Wie so oft bei Nachbauprojekten mussten wir einige Details an unsere Komponenten anpassen:
- Befestigungsplatten:
Die Lochabstände passten nicht exakt zu unseren Elektronikkomponenten – hier waren Nacharbeiten nötig. - Y-Endschalter:
Der ursprüngliche Gleiter erreichte den Endschalter nur knapp. Wir haben ihn leicht umkonstruiert, sodass die Referenzfahrt nun zuverlässiger funktioniert. - Elektrischer Anschluss des Heizdrahts:
Die ursprünglich vorgesehene Lösung mit Krokodilklemmen erwies sich als ungeeignet:- Kabelquerschnitt zu gering
- Kunststoffummantelung schmolz durch die Hitze
- Kontakt nicht dauerhaft stabil
Wir haben daher eine robustere Lösung mit geeigneterem Kabelquerschnitt umgesetzt.
Stromversorgung:
Anfangs verwendeten wir zu dünne Kabel für die Leistungsaufnahme des Heizdrahts. Diese wurden bei voller Leistung deutlich zu warm. Nach Umrüstung auf stärkere Leitungen läuft das System zuverlässig.
Software-Setup
Die Softwarearchitektur besteht aus drei zentralen Komponenten:
GRBL auf dem Arduino
Auf dem Arduino UNO R3 läuft die Firmware GRBL.
Diese interpretiert eingehenden G-Code und erzeugt daraus Schrittimpulse für die Schrittmotoren.
Die erste Konfiguration war nicht ganz trivial:
- In der Arduino IDE musste eine zusätzliche Bibliothek eingebunden werden.
- Die ZIP-Datei enthielt nach dem Entpacken auf unterschiedlichen Rechnern teilweise unterschiedliche Inhalte.
- Das führte zu unerwarteten Installationsproblemen.
Nach erfolgreicher Einrichtung lief GRBL jedoch stabil.
Universal G-Code Sender
Als Interface verwenden wir den Universal G-Code Sender (UGS).
Dieser:
- lädt die G-Code-Datei
- überträgt sie an den Arduino
- erlaubt manuelle Achsbewegungen
- zeigt Positionen und Status an
Gelegentlich friert UGS ein und sendet keinen Code mehr. In diesem Fall hilft es, die Verbindung neu zu starten.
G-Code-Erstellung mit Inkscape
Für 2D-Konturen kann z. B. Inkscape genutzt werden, um aus Bilddateien G-Code zu erzeugen.
Hier stehen wir aktuell noch vor Herausforderungen:
- Nicht jede Bilddatei erzeugt sauberen, optimierten G-Code.
Parameter wie Pfadoptimierung und Linienumwandlung müssen sauber eingestellt sein.
Erste Tests & Ergebnisse
Mit einer vorhandenen Beispiel-G-Code-Datei funktionierte die Maschine auf Anhieb sehr gut.
Besonders spannend:
Unsere Maschine verfügt zusätzlich über eine rotierende Achse (Z-Achse im Projektkontext), mit der sich 3D-Formen aus einem Block herausschneiden lassen.
Das Beispielprojekt zeigte, dass:
- synchronisierte Bewegung von Draht und Rotation funktioniert
- saubere 3D-Konturen möglich sind
Was uns noch fehlt:
Ein Workflow, um selbstständig eigene 3D-G-Code-Dateien für rotierende Schnitte zu erzeugen.
Aktuelle Herausforderungen
Ein paar Punkte stehen noch auf unserer To-Do-Liste:
- Referenzfahrt der Y-Achse:
Wenn die Y-Position sehr hoch ist, fährt die Maschine beim Homing nicht immer zuverlässig bis zum Endschalter.
Aktuell positionieren wir die Achse manuell in die Nähe der Home-Position und starten erst dann die Referenzfahrt. - Stabilität des G-Code-Senders:
Gelegentliche Verbindungsabbrüche zwischen UGS und Arduino. - Eigene 3D-Modelle erzeugen:
Wir möchten künftig eigene rotierende 3D-Schaumteile schneiden – dafür fehlt noch ein geeigneter Software-Workflow.
Fazit
Der Nachbau des CNC Foam Cutters war ein äußerst lehrreiches Projekt.
Wir haben:
- mechanische Konstruktion umgesetzt
- Elektronik angepasst
- Software eingerichtet
- Fehler analysiert und Lösungen entwickelt
Das Projekt zeigt sehr schön, wie im MakerSpace aus einer Online-Anleitung ein individuell angepasstes, funktionierendes System entsteht – inklusive aller typischen Maker-Herausforderungen.