3D-Drucker
3D-Konstruktionsprogramm
Das bisher beste Programm um 3D-Konstruktionen zu erstellen ist FreeCAD.
Weitere 3D-Programme sind Thinkercad und Sketchup (wobei das unfreie sketchup viel zu kompliziert ist).
Für den 3D-Drucker muss das Programm im STL-Format speichern können.
Bei FreeCAD geht das mit "exportieren".
Für einfache Dinge kann man eine STL-Datei auch direkt mit einem beliebigen
Texteditor selbst schreiben.
STL gibts als Binär-Format und auch als ASCII-Format:
STL auf wikipedia
Es ist auch ziemlich einfach ein eigenes C-Programm zu schreiben, das eine STL-Datei erstellt.
Mit meinem Programm "xyzstl.cc" lässt sich eine Moleküldatei in eine STL-Datei wandeln
um ein Molekülmodell zu drucken.
Es sollte dann mit wasserlöslichem Stützmaterial gedruckt werden, was mein 3D-Drucker leider (noch) nicht kann.
Wenn das Melekül nicht zu kompliziert ist, kann man aber auch in 2 Teilen drucken und danach zusammenkleben.
Mit dem Programm "stlplotter.cc" kann man eine einfache Funktion z=f(x,y) als 3D-Modell drucken.
Diese beiden Opensource-Programme sind hier zu finden:
stlprog.tar.gz
Beispiele für Moleküldateien findet man z.B. bei
Molz3d
Mit diesem Programm lassen sich auch PDB-Dateien (ProteinDatenBank) einlesen und wieder als xyz-Dateien speichern.
Slicer
Der Slicer ist ein Programm um die zu druckenden Schichten zu berechnen.
Ein entsprechendes Programm, das gut funktioniert ist Cura. (läuft auf MacOSX und Linux)
Cura benötigt eine 3D-Datei, die im STL-Format gespeichert ist.
Das Ergebnis vom Slicer (eine Textdatei mit der Endung .gcode) wird auf einer SD-Karte gespeichert.
Diese kann dann direkt beim Deltatower eingesteckt werden um das Objekt zu drucken.
Hier ein kleiner Versuch eines eigenen Slicers.
Dieser zeigt bisher nur die Schichten als x11-Grafik auf dem Bildschirm an (ohne gcode-Datei zu erstellen).
x11slicer.tar.gz
G-Code
Für gewisse Dinge kann man gcode-Dateien direkt (mit Texteditor) schreiben:
Beispiel Kalibrierprogramm:
G28 ;homing
G0 F9000 X0 Y0 Z2 ;schnell auf Mitte fahren, 2mm ueber der Ebene
G0 F900 X-77.94 Y-45 Z2 ;langsam auf Eckpunkt X
G0 F900 X77.94 Y-45 Z2 ;langsam auf Eckpunkt Y
G0 F900 X0 Y90 Z2 ;langsam auf Eckpunkt Z
G0 F900 X-77.94 Y-45 Z2 ;langsam auf Eckpunkt X
Im Slicer (zumindes bei Cura) muss man noch einen Start-Code und End-Code setzen
(Die Voreinstellung war zumindest bei mir falsch).
Startcode:
G21 ;metric values
G90 ;absolute positioning
M107 ;start with the fan off
G28 ;homing
G92 E0 ;zero the extruded length
M82 ;use absolute distances for extrusion
G1 F{travel_speed} ;set travel speed
M117 Delta in action... ;status message
Endcode:
M104 S20 ;extruder heater auf niedrigen Wert stellen
M140 S20 ;heated bed heater auch auf niedrigen Wert
G1 F{travel_speed} ;set travel speed
G28 ;homing
G92 E0 ;zero extruded length, Wichtig da sonst das Filament zu weit zurueckgezogen wird
G1 E-2 F300 ;retract the filament a bit
M84 ;steppers off
G90 ;absolute positioning
Materialabhängige Einstellungen
Material | Düsen-Temperatur | Bett-Material | Bett-Temperatur | print_speed |
PLA | 225 Grad | Spiegel | 70 Grad | 70 |
Nylon | 235 | Holz oder Kork | 20 | 35 |
Holz | 180-220 | Spiegel | 20 | 70? |
ABS | 240 | Spiegel | 100 (Fan off!) | 60 |
- Das Nylon hält nur sehr schlecht. Am besten bisher auf Kork (Pfannenunterlage von Migros).
- Das Holz (Laywood) hält zu gut wenn des Bett geheizt ist. Dann ist es nicht mehr vom Spiegel ablösbar.
(Neue Spiegel, welche passen gibt es bei Conforama, etwa 21 cm Kantenlänge funktioniert.
Vorsicht beim Entfernen des Ramens, der Spiegel ist sehr scharfkantig)
- Das ABS hält nicht so gut auf dem Spiegel. Vor allem wenn die Auflagefläche nicht gross genug ist.
Für grosse Objekte ist ABS eher nicht geeignet, da es sich stark verzieht.
Kleine Objekte: gerade wieder erfolglos probiert.
Motorstrom-Einstellungen
Bei meinem Deltatower benötigen die Motoren einen Maximalstrom von 1.2 A.
Dieser wird jeweils mit einem kleinen Poti eingestellt. Für 1.2 A muss an
Uref eine Spannung von 0.48 V eingestellt werden.
Oder allgemein: Uref = Imax * 0.4
Hier der Link zum entsprechenden Forumbeitrag.
Beispiele
Zu Weihnachten wollte ich einen Stern drucken. Nachdem ein Versuch es mit freecad zu konstruieren
misslungen ist, habe ich es in c++ programmiert. Das war sehr viel einfacher.
Das Programm ist in stlprog.tar.gz
zu finden und heisst stern.cc.
Erste Variante ist zwei mal PLA gedruckt und mit Uhu zusammengeklebt.
Zweite Variante ist mit farbigen LEDs beleuchtet (Option -c im Programm benutzt).
Für den 20-zackigen Stern wurde ein Ikosaeder gedruckt (stern2mittelteil.cc)
und auf jede Dreiecksfläche einen entsprechenden Zacken aufgeklebt
(20 mal gleicher Zacken gedruckt).
Da der Griff am Kühlschrank zerbrochen war habe ich den ausgedruckt:
Probleme
- Schrittverluste
Ursachen:
Maximalstrom für die Motoren zu klein eingestellt (Lösung siehe oben)
Reibung an den Umlenkrollen: provisorische Lösung: Schrauben etwas lockern, so dass die Unterlagscheiben sich mitbewegen können.
- Verstopfte Düse
Mögliche Ursachen: Staub, schlechtes Filament, fehlende Überwachung des Filament-Vorschubs, ...
Lösung des Problems noch unbekannt.
- Verwickeltes Filament
Das Faberdashery PLA 3mm-Filament ist sehr schlecht gewickelt. Abhilfe: von Hand umwickeln.
- Unerwünschte Fäden
Mögliche Ursachen: Retraction falsch eingestellt, falsche Düsentemperatur?, ...
Lösung des Problems noch unbekannt.
Diverse Links
Letzte Änderung: 2.Feb.2014 / Rolf