RepRap

Aus Stratum 0
Wechseln zu:Navigation, Suche
RepRap
20121020-reprap-01.jpg
Beschreibung: 3D-Drucker
Status: working (Was heißt das?)
Kontakt: larsan, Daniel Bohrer, Sintox, #Druckberechtigte
Usage Policy: nach Einweisung durch Druckberechtigte
Links: Octoprint auf dem Rapsberry
Alles zum alten Drucker von DanielWillmann unter Reprap/Parent.

Der RepRap ist einer unserer 3D-Drucker. Es ist ein RepRapPro Mendel mit ein paar kleinen eigenen Zusätzen.

Hinweise zur Benutzung

Der 3D-Drucker war nicht gerade billig, deshalb müssen einige Regeln befolgt werden.

  • Nur die #Druckberechtigten dürfen drucken.
  • Wenn der Drucker längere Zeit nicht druckt, stell sicher, dass die Heizung für den Extruder aus ist
  • Das Filament muss ggf. per Hand nachgeführt werden, wenn es nicht von selbst abrollt
  • Die Plattform vor dem Drucken gründlich mit Alkohol oder Pinselreiniger säubern, wenn nicht auf Papier gedruckt wird. Das ist eine häufige Ursache für Probleme.
  • Nach dem Drucken etwa 1-2 Minuten warten, bis die Teile abgekühlt sind, da sie sich ansonsten verformen
  • Manche Teile (besonders bei dünnen Strukturen) benötigen Kühlung, hierfür z.B. die Lüfter verwenden (siehe gedruckte Eule)
  • Den Druck zwischendrin zu unterbrechen um später weiter zu drucken – und sei es nur für 5 Sekunden – ist mit unendlich viel Problemen behaftet und sollte wenn irgendwie möglich vermieden werden.

Druckberechtigte

Interessierte Entitäten

Bitte bei Bedarf eine erfahrene Druckentität ansprechen.

Vereinheitlichter Druckführerscheinabsolvierungsundeinweisungsvorgang ist in Arbeit. Prinzipiell kann das aber auch jede Entität machen, die sich auskennt und schon mehrmals gedruckt hat. Es gibt keine Prüfung oder ähnliches.

Logbuch

Im Logbuch ist eine unvollständige Liste der bisher gedruckten Teile.

Software

Zum deklarativen Erstellen von 3D-Modellen eignet sich OpenSCAD, Blender oder jedes andere Programm, was STL-Format ausgeben kann.

Die STL-Modelle müssen dann in GCode umgesetzt werden, der zum Drucker gesendet werden kann. Slic3r und Cura sind die meistverwendeten Programme dafür.

Schließlich noch Printrun/Pronterface/Pronsole, das zum Steuern des Repraps verwendet werden kann (prinzipiell meldet sich der Drucker als serielle Konsole im System, aber du willst etwas mehr Komfort haben). Hiermit kann man insbesondere auch GCode zum Drucker schicken.

Modelle

siehe auch Unterseite: RepRap/Modelle
  • Mate name tags - http://www.thingiverse.com/thing:38861
    • bei Verwendung von Slic3r einiges beachten:
      • als Fill Pattern am besten "honeycomb" auswählen
      • neuere Versionen von Slic3r generieren bei einer Nozzle Size von 0.5mm keine senkrechten Striche mehr in der Schrift. Dagegen hilft, die Option “Detect thin walls“ ausschalten (“Print Settings” → “Layers and Perimeters”, siehe dieser Kommentar vom Entwickler). Alternative Lösungen: die Nozzle Size bis auf 0.4mm heruntersetzen (“Printer Settings“ → “Extruder 1”), unter Umständen muss dann aber auch der Extrusionsfaktor des Filaments (Tab „Filament”) nach oben korrigiert werden, dies sollte aber während des Drucks je nach Aussehen entschieden werden (siehe unten: #Während des Drucks). Andere Möglichkeit: mit der Extrusionsbreite herumspielen (Blogpost von RichRap: Slic3r: Advanced perimeter tuning).
  • INGA Gehäuse - http://www.thingiverse.com/thing:22450

Workflow

Zum Workflow gab es auf dem BarCamp Braunschweig 2012 einen längeren Vortrag (PDF) von Daniel Bohrer, larsan und Neo Bechstein. Hier die Kurzfassung:

Ablauf des 3D-Druck Workflows mit Nennung von freier Software.

3D-Modell-erstellen

Siehe 3D-Modell erstellen. Es wird eine .stl-Datei benötigt.

Slicen

  • Die Drucktemperatur sollte auf dem Filament stehen. Ansonsten ist 180°C-200°C eine gute Temperatur für PLA, 230°C für ABS.
  • Der erste Layer sollte mit 10°C mehr gedruckt werden
  • Es kann helfen, von Zeit zu Zeit die Version des Slicers zu updaten.

Fertige Konfigurationen:

Nutzbare Druckfläche

Die nutzbare Druckfläche beträgt 150×165 mm. Die gesamte Druckplatte ist zwar 200×200 mm groß, durch den Multi-Extruder-Druckkopf und die Klemmen, die die Glasscheibe halten, muss die Druckfläche verringert werden, damit die Extruder nicht gegen die Klemmen stoßen. Sofern nur der erste Extruder genutzt wird, kann die Druckfläche auf 190×165 mm erweitert werden.

Initiale Positionierung

Da die Position des ersten Extruder nach dem x-Homing nicht mit der Nullposition der Druckfläche (linke untere Ecke) übereinstimmt, muss vor jedem Druck der Kopf um 50 mm in x-Richtung verschoben werden. Für den Abstand zu den Klemmen der Glasplatte muss außerdem die y-Achse um 5 mm in y-Richtung verschoben werden. In Slic3r geht dies (im Experten-Modus) über den Tab “Printer Settings“ unter “Custom G-Code”, in Cura (“Full settings“-Modus) über den Tab “Start/End-GCode”. Dort sollte folgender G-Code eingefügt (bzw. mit dem dort vorhandenen Code zusammengeführt) werden:

G28 X0 Y0 ; home X and Y
G0 X50 Y5; move to X50 for first extruder, and to Y5 to leave space for binder clips
G92 X0; set postition to X=0
G28 Z0; home Z

Einzelne Objekte am Stück fertigstellen

Cura und Slic3r haben die Möglichkeit, mehrere Objekte gleichzeitig zu drucken, wobei jedes Objekt einzeln fertiggestellt wird, bevor das nächste Objekt angefangen wird (also nicht alle Objekte gleichzeitig Layer für Layer). Das ergibt unter Umständen bessere Druckerzeugnisse, da während der Travel-Bewegungen weniger Filament heraustropfen und an anderen Objekten hängen bleiben kann.

In Slic3r aktiviert man dafür auf dem Tab "Print Settings" im Abschnitt "Output options" die Option "Complete individual objects". Unter "Extruder clearance" muss folgendes eingestellt werden:

Hinweis:
Abmessungen haben sich in zwischen geändert, bitte nachmessen.
  • Radius: ? mm
  • Height: ? mm.

In Cura öffnet man dafür den Project Planner (im Menü "Tools") und dann das Dialogfeld "Project planner preferences" (auf der Toolbar). Folgende Werte müssen dort eingetragen werden (ohne die angehängte LED mit Kühlkörper links am Druckkopf):

Hinweis:
Abmessungen haben sich in zwischen geändert, bitte nachmessen.
  • Head size – X towards home: ? mm
  • Head size – X towards end: ? mm
  • Head size – Y towards home: ? mm
  • Head size – Y towards end: ? mm
  • Head gantry height: ? mm

Drucken

Über den eigenen Rechner

  • Pronterface öffnen (pronterface.py), den GCode laden und mit 250000 Baud zur entsprechenden seriellen Schnittstelle (meist /dev/ttyUSB0) verbinden. Es sollte die Meldung "Printer is now online." erscheinen und die Steuerelemente, die den Drucker kontrollieren, sollten farbig werden.
  • Es bietet sich an, die Temperaturüberwachung einzuschalten (Checkbox "Watch" neben dem Graphen bzw. "Monitor Printer" neben dem Reset-Button oben)
  • Nach dem Einschalten auf jeden Fall die Druckkopfposition homen, damit der Drucker weiß, wo sich sein Druckkopf befindet, und ihn nicht über die Grenzen hinaus bewegt und dabei möglicherweise etwas beschädigt. Das ist wichtig!
  • Falls nötig, das Bett schonmal vorheizen (das dauert laaaange.)
  • Dann den Button "Print" drücken.

Über den Raspberry Pi und HTTP

OctoPrint-Webinterface

Aus dem Space-Netz ist eine OctoPrint-Instanz über http://rapsberry.local:5000/ [sic!] erreichbar. Die Benutzung fühlt sich fast wie Pronterface an (braucht dem entsprechend JavaScript und Websockets), man kann GCodes hochladen (der große Button „Upload“ links unten), laden (das kleine Verzeichnis-Icon neben einem Dateinamen), sich den GCode anschaun (Tab „GCode Viewer“), drucken, den Druckkopf bewegen (Tab „Control“) und GCodes manuell an den Drucker senden (Tab „Terminal“).

Falls irgendwas mal nicht so läuft wie es soll, einfach den Pi neustarten (Netzteil raus und wieder rein). Alle relevanten Dienste sollten dann nach dem Reboot wieder von selbst starten.

Über den Raspberry Pi und SSH

Falls der Raspberry am Drucker hängt, kann auch der zum Drucken benutzt werden, allerdings mit etwas Komforteinbußen ohne grafische Oberfläche.

  • Per SSH ist der Raspberry unter dem Namen rapsberry [sic] zu erreichen (zB über mDNS: ssh pi@rapsberry.local). Zugangsdaten stehen auf der SD-Karte.
  • GCode könnt ihr einfach direkt unter /home/pi abladen, zB per scp.
  • Dann entweder:
    • pronsole.py aus /home/pi/Printrun starten
    • oder die pronsole-Instanz aus der screen-Session benutzen, die ich immer benutze (damit nix kaputtgeht, wenn die SSH-Session mal abschmiert): screen -x. Mit der Tastenfolge Ctrl-A Ctrl-D kommt man wieder aufs „normale“ Terminal.
  • pronsole dokumentiert sich eigentlich mit dem Befehl help ausreichend selbst. Oft benutzte Befehle sind: connect, load, home, settemp, bedtemp, gettemp, extrude, print, monitor. GCode kann man außerdem auch direkt eingeben.
Typische Befehlreienfolgen
Drucken
$ screen -x -oder- screen Printrun/pronsole.py
> connect
> load $filename
> print
Abbrechen
> pause
> settemp 0
> move z 20
> m84
Hinweise
  • die aktuelle Version von pronsole hat noch ein paar Macken, unter anderem funktioniert der gettemp-Befehl nicht :-/ Ich schau da bei Gelegenheit™ nochmal nach. --Daniel Bohrer 03:35, 29. Mai 2013 (CEST)
  • Reverse-extrude geht, indem man dem Befehl extrude eine negative Länge gibt.
  • /tmp und /run sind im Arbeitsspeicher gemountet, um die SD-Karte etwas zu schonen. Dort also besser nichts wertvolles ablegen.
  • Bitte auch die wichtigen Hinweise im Abschnitt hierdrüber beachten.

Filament wechseln

  • Zum Filamentwechseln zuerst den Extruder aufheizen (~180°C für PLA)
  • Die Buttons "Extrude" und "Reverse" können dazu benutzt werden, das Filament heraus- bzw. wieder hineinzuschieben. Die beiden Felder "mm" und "mm/min" daneben geben jeweils die Geschwindigkeit bzw. Länge des beförderten Filaments an.
    • Daniel Bohrer hat das mal ausgemessen: 3×200 mm bei 1000 mm/min sind nötig, damit das Filament ganz rausgeschoben wird, beim Einführen des neuen Filaments kann man ruhig 2×200 mm bei 1000 mm/min machen, und sich danach mit einer langsameren Geschwindigkeit (~100 mm/min) vorantasten, bis das Filament unten am Druckkopf rauskommt.
  • Zur Not noch ein bisschen weiter extrudieren (in ~5 mm-Schritten), bis das restliche alte Filament rausgedrückt ist und die Farbe stimmt.

Drucken über SD-Karte

Falls eine Mini-SD-Karte im Slot steckt (auf der Reprap-Platine unter dem USB-Anschluss), kann der GCode mit Pronterface auch als Datei auf die SD-Karte geschrieben werden. Das hat den Vorteil, dass man nach dem Starten des Drucks prinzipiell den Drucker vom USB-Port abziehen kann, sofern die Platine nicht über USB mit Strom versorgt wird (der Jumper auf der Platine muss weg vom Reset-Button gesetzt sein).

Zum Upload benutzt man in Pronterface den Button "SD", der dann ein Menü anzeigt. Dort wählt man "SD Upload" (und wartet, während Pronterface den GCode über die serielle Schnittstelle lädt, und gleichzeitig anzeigt, was grade hochgeladen wird). Wenn der Upload fertig ist, kann man im selben Menü wieder "SD Print" wählen und bekommt dann eine Liste der Dateien, die sich auf der SD-Karte befinden.

Wenn man nicht so lange auf den Upload warten will, kann man auch einfach die SD-Karte herausnehmen und die Datei über seinen Rechner auf die Karte legen. (FIXME: Was für ein Dateisystem?) Wichtig ist nur, dass der Dateiname im 8.3-Format ist. Nachdem die SD-Karte wieder in den Reprap geschoben wurde, muss unter Umständen der Button "INIT SD" betätigt werden.

Während des Drucks

Man sollte es vermeiden, während des Drucks das Raumlicht oder andere leistungsstarken Verbraucher an- oder auszuschalten! Das kann dazu führen, dass die Reprap-Platine resettet wird und der Druck abbricht. (Es gibt aber eine gewisse Wahrscheinlichkeit, dass der Druck dabei nicht abbricht. Diese Wahrscheinlichkeit ist bisher allerdings nicht empirisch oder rechnerisch bestimmt worden.)

Während des Drucks kann mit dem G-Code M220 die Geschwindigkeit aller Druckoperationen geändert werden:

M220 S<Speed>

Wobei <Speed> der Faktor in Prozent ist.

M220 S200

verdoppelt also die Druckgeschwindigkeit.

Ein äquivalenter Befehl ist der Extrudierfaktor

M221 S110

erhöht die extrudierte Menge Filament um 10%

Mehr GCodes kennt das RepRap-Wiki.

Filamente

Wir haben derzeit einen Druckkopf, der eine Filamentstärke von 1,75 mm benötigt.

ABS

Erster Test von Sintox mit schwarzem 1,75 mm ABS-Filament des Händlers "Filamentworld.de": Sowohl bei großen als auch bei kleinen Teilen:

  • Heatbed-Temperatur: 80 °C
  • Hotend-Temperatur: 240 °C
  • Hotend-Fan (mit "Luft-Kanalisierer"): dauerhaft auf 100%, da am besten keine 120 mm Lüfter verwendet werden sollten (ABS kann sich verformen, wenn der Bauraum zu stark gekühlt wird)

Geschwindigkeiten und Infill-Dichte sind scheinbar nicht Filament-abhängig und müssen je nach Zweck und Größe des Gedruckten individuell eingestellt werden. Beim verwendeten Filament war keine wirkliche ABS-Geruchsentwicklung im Raum festzustellen, lediglich leichter Geruch direkt am 3D-Drucker.

Aufheiz-Zeit des Heatbeds auf 80 °C betrug etwa 15 Minuten, zwischen nacheinander gedruckten Modellen besser Heatbed-Temperatur auf 80 °C fixieren, um nicht immer wieder hochheizen zu müssen.

Ablösen des Gedruckten ist bei großer Kontaktfläche mit dem Heatbed im geheizten Zustand recht schwer, aber mit ein wenig vorsichtiger Verwendung der "Ablöse-Werkzeuge" gut machbar.

PLA

Wir haben derzeit PLA in mehreren verschiedenen Farben.

Holz-PLA

Ortwin hat welches gekauft und Daniel Bohrer hat das mal ausprobiert. Die gedruckten Objekte sind längst nicht so stabil wie mit normalen PLA, eher so wie Hartgummi.

  • grrf sagt zwar, dass Holz-PLA ab 185°C zu drucken geht, aber Temperaturen um 200°C sind anscheinend noch besser für die Festigkeit.
  • Generell eher was für gröbere Arbeiten, das Filament kann anscheinend nicht sehr fein gedruckt werden. Man sollte darauf achten, dass man nicht zu feine Strukturen und nicht zu wenig Infill druckt (siehe Fotos). Beim Mate-Tags lohnt es sich durchaus, nochmal 1 mm bei der Dicke draufzuschlagen.
  • Das Filament ist ziemlich flüssig, sodass es sehr leicht heraustropft. Dadurch kommen die unschönen Würste am Mate-Tag zustande, Man Müsste™ nochmal probieren, ob Cura das besser als Slic3r hinkriegt (weil es den Druckkopf nur innerhalb der Perimeter bewegt).
  • Auch aus diesem Grund lohnt es sich durchaus, 3-4 Skirt-Loops zu drucken, bis das Filament wieder richtig fließt.
  • Nach dem Drucken die Objekte lieber länger als zu kurz abkühlen lassen, sonst sind sie noch ziemlich weich.
  • Beim Ablösen behutsam vorgehen, das Holz-PLA klebt sehr gerne am Kapton fest, und besonders die Kanten der Kapton-Klebestreifen werden gerne mal mit hochgezogen. (Den Mate-Tag habe ich schließlich mit einem Messer vorsichtig an einer Ecke durch Hebelwirkung abgelöst und mich dann schrittweise mit dem Messer vorgetastet. Das Kapton ist heile geblieben.)

Erweiterungen

Der RepRap wurde mit zwei weiteren Druckköpfen zum 3-Farb-3-D-Drucker aufgerüstet.

Außerdem wurde ein 6 cm-Lüfter mit Luftführung vor dem ersten Extruder installiert.

Triple-Extruder-Druck: Mehrfarbdruck / Multi-Material-Druck

Der RepRap ist noch nicht vollständig aufgerüstet auf Triple-Extruder-Druck.

Die Hardware ist aufgerüstet, es fehlt Firmware-Update und Inbetriebnahme (?)

Mehr dazu auf RepRap/Mehrfarb-3D-Druck

Probleme

Drucker hört mitten drin auf, Filament zu extrudieren

Illustration: in der rechten Hälfte ordentliche Filamentbahnen, dann eine Lücke. Das Filament wurde daraufhin von Hand nachgeschoben, aber es fehlte schon ein Layer zwischendrin, sodass das neue Filament sich nicht mehr glatt verbindet.

Dieses Problem tritt meist bei Solid-Layern auf. Anscheinend wird das Filament zu schnell nachgeschoben, sodass es nicht schnell genug erhitzt werden kann. Durch den Widerstand wird das Filament am Vorschubritzel zu sehr abgerieben und der Motor verliert seine Grundlage für den Vorschub des Filaments.

Lösung: Druckgeschwindigkeit (zumindest während der Solid-Layer) verringern, z.B. schon beim Slicen oder während des Drucks mit dem Befehl M220.

Drucker druckt die Diagonalen merkwürdig

Am linken Ende druckt er ein Stückchen doppelt, am rechten Ende macht er einen merkwürdigen Versatz.

Ursache: Am X-Motor ist die Inbusschraube locker und rutscht mit ganz viel Schlupf bei jedem Richtungswechsel hin und her.

Lösung: Inbusschraube mit Schraubenlack festziehen.

Drucker zieht beim Wechsel zwischen Objekten Fäden

Das Problem schein ein bisschen Filament-Abhängig zu sein (Transparentes PLA ist besser als grüntransparentes PLA).

Lösungsvorschläge?

Verwandte Projekte