/* CoderDojo */ August Termin nach [[CoderDojo]] angepasst
[stratum0-wiki.git] / 3D-Drucken.mw
index 9521ba3..47a6857 100644 (file)
 {{Hardware
-|kontakt=[[Benutzer:NoikK|NoikK]], [[#Druckberechtigte]]
+|kontakt=[[Benutzer:NoikK|NoikK]], [[Benutzer:Daniel Bohrer|Daniel Bohrer]], teilweise auch [[#Druckberechtigte]]
 |beschreibung=3D-Drucker
 |status=working
-|links=[http://192.168.179.161:3344 Repetier-Server] auf einem Raspberry Pi
+|links=[http://repetier.s0 Repetier-Server] auf einem Raspberry Pi
 |usage=Nach Einweisung durch Druckberechtigte
 }}
-Mittlerweile stehen im Space mehrere 3D-Drucker, die alle auf unterschiedliche Weise bedient werden können. Um die Bedienung von allen vorhandenen 3D-Druckern zu vereinheitlich und zu vereinfachen wurde [http://www.repetier-server.com Repetier-Server] auf einem Raspberry Pi installiert. Hier soll die Bedienung und die Einrichtung erläutert werden.
 
-=Toolchain=
-==Schritt 1:==
-3D-Modell als [https://de.wikipedia.org/wiki/STL-Schnittstelle .stl] Datei bereitstellen.<br />
-Hierzu kann entweder ein eigenes Design erstellt werden (z.B. mit [http://www.openscad.org/ OpenSCAD], [http://www.123dapp.com/design 123DDesign]) oder ein bereits vorhandenes verwendet werden (z.B. von [http://www.thingiverse.com/ Thingiverse]).
-==Schritt 2:==
-Die .stl Datei in .gcode wandeln.<br />
-Dieser Vorgang wird Slicen genannt und benötigt ein weiteres Programm. Im Stratum0 wird der [http://slic3r.org/ Slic3r] oder [https://www.repetier.com/ RepetierHost] (bringt bei der Intsallation den Slic3r mit) verwendet.
-=== Verwendung von Repetier-Host ===
-Neben der Möglichkeit, Repetier-Server über den Browser zu bedienen, kann auch [http://www.repetier.com/ Repetier-Host] verwendet werden. Dies benötigt IP und API<br />
+Mittlerweile stehen im Space mehrere 3D-Drucker, die alle auf unterschiedliche Weise bedient werden können. Um die Bedienung von allen vorhandenen 3D-Druckern zu vereinheitlich und zu vereinfachen, wurde [http://www.repetier-server.com Repetier-Server] auf einem Raspberry Pi installiert. Hier soll die allgemeine Bedienung und die Einrichtung erläutert werden.
 
- IP: [http://192.168.179.161:3344 192.168.179.161:3344]
- API: '''427c06fe-5a61-4571-8a89-95dc79a8c26a'''
-==Schritt 3:==
-Drucken durch senden des .gcode an den Drucker.<br />
-Im Stratum0 wird [http://www.repetier-server.com Repetier-Server] zur Bedienung der 3D-Drucker verwendet. Entweder der erstellte .gcode wird im Webinterface hochgeladen, oder durch [https://www.repetier.com/ RepetierHost] an den Server gesendet. Anschließend kann der Druck über den das Webinterface gestartet werden.
+Zu den einzelnen Besonderheiten der Drucker siehe [[RepRap]], [[LulzBot]] und [[TinyBoy]].
 
-===Repetier-Server ===
-Repetier-Server dient zum Hochladen und Verwalten von G-Code, sowie dem Starten von Drucken und das allgemeine Steuern der Drucker.
+Im Rahmen des ''Studium Generale'' an der TU Braunschweig gab es einen Vortrag von {{Benutzer|larsan}}, der eine grobe Einführung bietet. Die Slides dazu finden sich unter [[:Datei:Stratum 0 3D-Druck-Vortrag Folien Studium Generale.pdf]].
 
-==== Verbindung ====
-Der Webserver ist aus dem Stratum 0 Netzwerk unter [http://192.168.179.161:3344 192.168.179.161:3344] zu erreichen:
- '''Benutzername:''' stratum0
- '''Passwort:'''     stratum0
+== Hinweise zur Benutzung ==
+So ein 3D-Drucker ist nicht gerade billig, deshalb müssen einige Regeln befolgt werden.
 
+* Nur die [[#Druckberechtigte]]n dürfen drucken.
+* Kein Essen und Trinken am 3D-Drucker-Arbeitsplatz!
+* Nicht an den Einstellungen herumspielen. Unbedachtes Ändern von Beschleunigungs- und Geschwindigkeitseinstellungen kann die Motoren und den 3D-Drucker beschädigen.
+* 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.
+** Hacks: entsprechend positionierter Mikrofonständer als Abrollvorrichtung für die Rolle
+* 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.
 
+== Schritt 1: 3D-Modell erstellen ==
+:''siehe: [[3D-Modell erstellen]]''
 
-= Slic3r-Einstellungen =
-Wenn Repetier-Host für das Slicen verwendet wird, sollte das eingebundene Programm ''Slic3r'' verwendet werden. Dazu den [https://www.dropbox.com/sh/lppa83e1b0kes31/AAAinheEm9P6xD-EZW7AUWzma?dl=0 Download als .zip] herunterladen, entpacken und anschließend im Repetier-Host unter ''Slicer'' bei ''Manager'' das Slic3r-Konfigurationsverzeichnis auf den entpackten Ordner verweisen. Jetzt sind alle .ini-Dateien, die zum Drucken notwendig sind, vorhanden.
+3D-Modell als [https://de.wikipedia.org/wiki/STL-Schnittstelle .stl-Datei bereitstellen.
 
-Alternativ kann das folgende Config-Bundle in Repetier Host oder Slic3r importiert werden. In Slic3r geht das über den Menüpunkt „File“ → „Load Config Bundle“.
+Hierzu kann entweder ein eigenes Design erstellt werden (z.B. mit [http://www.openscad.org/ OpenSCAD], [https://www.tinkercad.com/ Tinkercad]) oder ein bereits vorhandenes verwendet werden (z.B. von [http://www.thingiverse.com/ Thingiverse]). Zum Umwandeln aus anderen 3D-Formaten eignet sich z.B. [https://blender.org Blender].
+
+===Geeignete CAD-Programme (Beispiele)===
+* [http://www.openscad.org OpenSCAD]
+** <tt>git clone git://github.com/openscad/openscad.git</tt>
+** [http://www.openscad.net Online-Interface] (braucht halbwegs aktuelle Webbrowser mit WebGL)
+* [https://www.tinkercad.com/ Tinkercad])
+* [https://www.freecadweb.org/ FreeCAD]
+* [http://www.meshmixer.com/ Autodesk Meshmixer]
+* [https://www.rhino3d.com/de/ RhinoCeros]
+** Parametrische CAD-Software mit Slicer, vergünstigte Studentenversionen
+* kommerzielle industriebewehrte  Software (sehr teuer) wie NX, Solid Edge, Solid Works, Catia, Creo, Inventor ...
+* [https://www.blender.org Blender]
+** Blender ist in den meisten Distributionen in den Repos
+* [http://www.implicitcad.org/ ImplicitCAD]
+* oder jedes andere Program, das einen STL-Export hat
+* Manchmal enthalten die STLs Fehler und Slic3r kommt durcheinander. [https://cloud.netfabb.com/ Netfabb] kann viele dieser Dateien wieder reparieren.*
+
+== Schritt 2: Slicen ==
+Die .stl-Datei müssen in [[reprap:GCode|GCode]] umgewandelt werden, der zum Drucker gesendet werden kann. Dieser Vorgang wird Slicen genannt und benötigt ein weiteres Programm. Im Stratum0 wird der [http://slic3r.org/ Slic3r] oder [https://www.repetier.com/ RepetierHost] (bringt bei der Installation den Slic3r mit) verwendet.
+* [http://slic3r.org '''Slic3r'''] (oder über die Paketverwaltung, oder <tt>git clone git://github.com/alexrj/Slic3r.git</tt>)
+
+Weitere Software (unsupported, YMMV):
+* [http://daid.github.com/Cura/ Cura]
+** Beispiel-Konfiguration ist unter [[Reprap/Configs/Cura]] zu finden
+* [https://www.simplify3d.com/ Simplify 3D (kommerziell)]
+* [http://fabmetheus.crsndoo.com/index.php Skeinforge]
+* [https://github.com/ahmetcemturan/SFACT SFACT] (Fork von Skeinforge) 
+
+=== Slic3r-Einstellungen ===
+Wenn Repetier-Host für das Slicen verwendet wird, sollte das eingebundene Programm ''Slic3r'' verwendet werden. Dazu den KAPUTTER LINK <strike>[https://www.dropbox.com/sh/lppa83e1b0kes31/AAAinheEm9P6xD-EZW7AUWzma?dl=0 Download als .zip]</strike> herunterladen, entpacken und anschließend im Repetier-Host unter ''Slicer'' bei ''Manager'' das Slic3r-Konfigurationsverzeichnis auf den entpackten Ordner verweisen. Jetzt sind alle .ini-Dateien, die zum Drucken notwendig sind, vorhanden.
+
+Alternativ kann das folgende Config-Bundle in Repetier Host oder Slic3r importiert werden. In Slic3r geht das über den Menüpunkt „File“ → „Load Config Bundle“. Eventuell ist diese Config nicht mehr ganz aktuell. Bitte die Hinweise für die jeweiligen Drucker beachten (z.B. [[LulzBot#Slicen]]).
 
 {{rawinclude|3D-Drucker/SlicerBundle.ini|Slic3rBundle.ini|fold=y}}
 
+===Hinweise===
+* Die Config muss nach jedem Start neu geladen werden
+* Die Drucktemperatur sollte auf dem Filament stehen. Ansonsten ist 180°C-200°C eine gute Temperatur für PLA, 240°C für ABS.
+* Der erste Layer sollte mit 10°C mehr gedruckt werden
+* Es kann helfen, von Zeit zu Zeit die Version zu updaten
+
+== Schritt 3: GCode senden ==
+Drucken durch senden des .gcode an den Drucker.
+
+Bitte vor dem starten eines Drucks unbedingt die Düsenhöhe prüfen (sollte man bei der Einweisung gelernt haben). Sollte die Düsenhöhe nicht passen, bitte unbedingt jemanden fragen der sich wirklich damit auskennt.
+
+Im Stratum0 wird [http://www.repetier-server.com Repetier-Server] zur Bedienung der 3D-Drucker verwendet. Entweder wird der erstellte .gcode im Webinterface hochgeladen, oder durch [https://www.repetier.com/ RepetierHost] an den Server gesendet. Anschließend kann der Druck über den das Webinterface gestartet werden.
+
+=== Weboberfläche: Repetier-Server ===
+[[Datei:Repetier s0 Webinterface.png|thumb|Das Repetier-Server-Webinterface]]
+
+Repetier-Server dient zum Hochladen und Verwalten von G-Code im Browser, sowie dem Starten von Drucken und das allgemeine Steuern der Drucker.
+
+Der Webserver ist aus dem Stratum0 Netzwerk unter http://repetier.s0 (notfalls 192.168.178.147) zu erreichen:
+* Benutzername: <code>stratum0</code>
+* Passwort: <code>stratum0</code> (you guessed it.)
+
+=== Rechner: Repetier-Host ===
+Neben der Möglichkeit, Repetier-Server über den Browser zu bedienen, kann auch [http://www.repetier.com/ Repetier-Host] auf dem Rechner direkt zum Hochladen des G-Codes verwendet werden. Dies benötigt IP und API-Key:
+
+* IP: <code>[http://192.168.178.147 192.168.178.147]</code>
+* API-Key: <code>7b47c015-8a6f-4ef9-811a-3929a335a7da</code>
+===Alternativen===
+==== Rechner per USB ====
+Schließlich gibt es noch [http://github.com/kliment/Printrun.git '''Printrun'''/Pronterface/Pronsole], das zum Steuern des Druckers verwendet werden kann, wenn man ihn per USB anschließt (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, was allerdings auch über die Weboberfläche kein Problem darstellt.
+* Pronterface öffnen (<tt>pronterface.py</tt>), den GCode laden und mit 250000 Baud zur entsprechenden seriellen Schnittstelle (meist <tt>/dev/ttyUSB0</tt>) 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)
+* Dann den Button "Print" drücken.
+
+==== Ü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 <tt>rapsberry</tt> [sic] zu erreichen (zB über [[mDNS]]: <tt>ssh pi@rapsberry.local</tt>). Zugangsdaten stehen auf der SD-Karte.
+* GCode könnt ihr einfach direkt unter <tt>/home/pi</tt> abladen, zB per scp.
+* Dann entweder:
+** <tt>pronsole.py</tt> aus <tt>/home/pi/Printrun</tt> starten
+** oder die pronsole-Instanz aus der [[screen]]-Session benutzen, die ich immer benutze (damit nix kaputtgeht, wenn die SSH-Session mal abschmiert): <tt>screen -x</tt>. Mit der Tastenfolge Ctrl-A Ctrl-D kommt man wieder aufs „normale“ Terminal.
+* pronsole dokumentiert sich eigentlich mit dem Befehl <tt>help</tt> ausreichend selbst. Oft benutzte Befehle sind: <tt>connect</tt>, <tt>load</tt>, <tt>home</tt>, <tt>settemp</tt>, <tt>bedtemp</tt>, <tt>gettemp</tt>, <tt>extrude</tt>, <tt>print</tt>, <tt>monitor</tt>. GCode kann man außerdem auch direkt eingeben.
+
+===== Typische Befehlreihenfolgen ===== 
+====== Druck starten ======
+ $ screen -x
+
+oder, falls das nicht an eine vorhandene screen-Session andockt:
+
+ $ screen Printrun/pronsole.py
+
+Dann in pronsole:
+
+ > connect
+ > load $filename
+ > print
+
+====== Druck abbrechen ======
+ > pause
+ > settemp 0
+ > move z 20
+ > m84
+
+===== Hinweise =====
+* Reverse-extrude geht, indem man dem Befehl <tt>extrude</tt> eine negative Länge gibt.
+* <tt>/tmp</tt> und <tt>/run</tt> sind im Arbeitsspeicher gemountet, um die SD-Karte etwas zu schonen. Dort also besser nichts wertvolles ablegen.
+
+== Filamente (outdated)==
+Wir haben derzeit einen Druckkopf, der eine Filamentstärke von 1,75 mm benötigt.
+
+=== ABS ===
+Erster Test von {{Benutzer|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 ===
+{{Benutzer|Ortwin}} hat welches gekauft und [[Benutzer:Daniel Bohrer|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&nbsp;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.)
+
+<gallery heights="150" widths="225">
+Datei:Holz-PLA Würfel.jpg|Test-Würfel mit nur 20% Infill, dementsprechend failt der oberste Layer… Die untere Hälfte mit 185°C ist etwas heller als die obere Hälfte mit 200°C.
+Datei:Holz-PLA Mate-Tag 1.jpg|Mate-Tag (durchgängig 200°C, 90% Infill)
+Datei:Holz-PLA Mate-Tag 2.jpg|Die Haptik erinnert ein bisschen an Kokosfaser.
+Datei:Holz-PLA Mate-Tag 3.jpg|Resultat von tropfendem Filament, kann aber mit dem Skalpell leicht korrigiert werden
+</gallery>
+
+== Fehler und Behebung ==
+Eine sehr gute Übersicht an Fehlern und Ratschlägen zu deren Behebnung bietet [https://www.simplify3d.com/support/print-quality-troubleshooting/ Simplify3D] jedoch sind viele Lösungen nicht ohne Eingriff in  die Firmware anwendbar. Falls es es jemand wirklich für Notwendig erachtet Werte in der Firmware Dauerhaft zu ändern, spricht er bitte [[Benutzer:NoikK|NoikK]] an.
+
+== Setup und Konfiguration ==
+=== Port 80 statt 3344 für RepetierServer ===
+Der Standardport des RepetierServers ist 3344, mehr konvenient ist aber Port 80. Um den Port zu ändern:
+ sudo vim /usr/local/Repetier-Server/etc/RepetierServer.xml 
+Da Port 80 aber ein privileged Port ist, muss der RepetierServer-Binary noch die notwendige Capability gegeben werden:
+ sudo setcap cap_net_bind_service=+ep /usr/local/Repetier-Server/bin/RepetierServer
+Ob das Binary die Capability bekommen hat, kann man mit getcap überprüfen:
+ sudo getcap /usr/local/Repetier-Server/bin/RepetierServer
+Danach den Service (neu)starten:
+ sudo systemctl restart RepetierServer
+
+==Druckberechtigte==
+* [[Benutzer:DanielWillmann|Daniel Willmann]]
+* {{Benutzer|Shoragan}}
+* {{Benutzer|Daniel Bohrer}}
+* Oni
+* {{Benutzer|DooMMasteR}}
+* DieLenaMaria
+* Marylin
+* {{Benutzer|Larsan}}
+* {{Benutzer|Stew}}
+* {{Benutzer|Chrissi^}}
+* {{Benutzer|Hanhaiwen}}
+* {{Benutzer|Matthis}}
+* {{Benutzer|Emantor}}
+* {{Benutzer|Joke}}
+* {{Benutzer|Lulu}}
+* {{Benutzer|tsuro}}
+* {{Benutzer|blinry}}
+* mjh
+* {{Benutzer|mkalte666}}
+* {{Benutzer|Pecca}}
+* {{Benutzer|Ortwin}}
+* Arnulf
+* leonmortiba
+* {{Benutzer|Kasalehlia}}
+* bw_snaable
+* {{Benutzer|Sonnenschein}}
+* {{Benutzer|Drahflow}}
+* {{Benutzer|Sintox}}
+* {{Benutzer|Alex-k}}
+* {{Benutzer|NoikK}}
+* Tropion
+* lichtfeind
+* mkalte
+
+==== Interessierte Entitäten ====
+Bitte bei Bedarf eine erfahrene Druckentität ansprechen.
+Prinzipiell kann das aber auch jede Entität machen, die sich auskennt und schon mehrmals gedruckt hat. Es gibt keine Prüfung oder ähnliches.
+
+== Aussicht ==
+Auf lange Sicht sollen alle 3D-Drucker vereinheitlicht werden. Dazu siehe https://pad.stratum0.org/p/3d-Drucker
+
 [[Kategorie:RepRap]]
+[[Kategorie:LulzBot]]
 [[Kategorie:Infrastruktur]]
 [[Kategorie:Raspberry Pi]]
 [[Kategorie:3D-Druck]]
This page took 0.048485 seconds and 4 git commands to generate.