Montag, 7. Juli 2014

Der 3D Print Software Stack

Was ich zu Beginn meiner 3D Druck Karriere noch nicht wußte, war welche Software Produkte man in welcher Abfolge für das Erzeugen eines Drucks benötigt. Hier nochmal eine grobe Übersicht, welche Schritte und welche Produkte notwendig sind.

Ich beschränke mich hier ausschließlich auf OpenSource Software.

Zeichnen

Grundlegend für einen 3D Drucke ist eine CAD Zeichnung, die man in einem x-beliebigen 3D CAD Programm erstellen kann.
Einige Beispiele sind:
Es gibt sicher noch etliche Programm die 3D Modelle erzeugen können, alle sollten aber zumindest die Möglichkeit haben eine Zeichnung im STL Format zu exportieren.
Die nicht CAD geübten sollten sich auf Thingiverse umschauen und fertige Zeichnungen suchen.

Slicen

Die vorhandene CAD Zeichnung im STL Format, kann noch nicht als Eingabe für den 3D Drucker gebraucht werden, da sie keinen Schichtenaufbau beschreibt. Die Aufgabe des Slicers besteht nun darin aus einem in der Zeichnung definierten Volumen einzelne Schichten zu extrahieren, und jede Schicht in GCODE zu übersetzen, der direkt als Eingabe für die Firmware verwendet werden kann.
Die gängigsten Programm sind
Als Ausgabe erhalten wir vom Slicer eine GCODE Datei. Wer sich dafür interessiert, sollte die Datei einfach mal mit einem Editor aufmachen. Die einzelnen Befehle beschreiben direkt die Bewegungen der einzelnen Achsen (X, Y, Z) und der Extruder (E) in Millimetern. Zusätzlich gibt es noch eine Fülle an M-Codes die spezielle Funktionen des Druckers, wie z.B. das Heatbed ausfzuheizen, auslösen.

Hostsoftware

Die Hostsoftware dient dazu die Gcode Befehle meist über eine virtuelle serielle Schnittstelle an die Firmware auf dem Controller zu senden. Diese Software verfügt meist aber auch noch über eine grafische Darstellung und Kontrollmöglichkeiten um die Motoren und den Extruder auch ohne GCODE zu steuern. Das ist wichtig um z.B. das Heatbed zu kalibrieren, oder einen Filament Stau zu beheben indem man einfach den Extruder einige Millimeter rückwärts fahren läßt.
Die Vertreter die ich kenne
Es wäre aber durchaus machbar einfach die bestehende GCODE Datei an die Serielle Schnittstelle zu schicken.


Firmware

Die Firmware ist am Microcontroller installiert und kommuniziert über die serielle Schnittstelle mit der Hostsoftware. Primäre Aufgabe der Firmware ist die Steuerung der 5 Motoren(X, Y, 2*Z, Extruder), des Hotends, des Heatbed, der Überwachung der Endstops und die Temperaturüberwachung.

Aus den empfangenen GCODES erzeugt die Firmware STEP + DIRECTION Impulse für die Stepper Motor Treiber, die Umrechnung ist nicht ganz trivial und der Interessierte sollte sich mal auf der GRBL Seite schlau machen.
Die gängigste Firmware bei REPRAP basierten Druckern ist wohl Marlin.

Wie man die Firmware auf den Arduino Controller bekommt beschreibe ich in einem anderen Artikel, das ist als Voraussetzung auch nur einmal zu erledigen und reicht dann für viele Drucke.

Keine Kommentare:

Kommentar veröffentlichen