Mamba 3D
Netzwerk | |
---|---|
IPv4 | 172.23.195.37 |
IPv6 | 2001:470:1f15:156::37 |
Hostname | Octoprint-mamba3d |
Switch | ? |
Port | ? |
Dose | – |
3D-Drucker nach dem FDM-Verfahren. Spende von Rechenkraft.net e.V.-Mitglied Tim an den Verein.
Vorläufige Ansprechpartner*innen: Oleander, Felix, Michael, Tim, binbash.
Slic3r-Config-Bundle unbedingt neu laden! Dieser Drucker hat jetzt automatisches Bed-Leveling, zu dem der Drucker vor dem Druck angewiesen werden muss. Drucker kann bei Nichtbeachtung kaputt gehen!
ToDo
- Stepper-Strom prüfen?
- Beschleunigung auf x- und y-Achse limitieren (z.B. in Slic3r) um Wackeln des Druckers zu vermeiden
- Mehr an Haftungsrelevanten Parametern herumspielen
- (First-level)-Hotend-Temperatur
- Heatbed-Temperatur
- 60° sind meist ok
- z-Offset
- Min. -0.1, sonst schleifts!
- First-level-speed
- Extruder + Nozzle sind gereinigt, trotzdem immer wieder unsaubere Ebenen
- Nachschub an Filament unsauber?
- Ist unten der Serialport richtig? Er reagiert auf /dev/ttyUSB1, nicht aber /dev/ttyUSB0 in octoprint
How To Print
- Steckdosenleiste auf dem Tisch einschalten und Steuer-Computer per Druck auf den Ein- und Ausschalter (rund und zentral auf Front) starten.
- Etwa eine Minute später Octoprint unter https://mamba3d.hsmr.cc/ aufrufen.
- Filament einlegen
- Heizung des Extruders auf Filament einstellen (Octoprint kennt bereits passende Presets, z.B. 205 °C für unser PLA)
- Zwei passende Reduzierstücke in die Spule einsetzen.
- Rohr des Halters entnehmen, in Spule stecken und fixieren.
- Bei Bedarf mit Seitenschneider den Strang glatt abschneiden.
- Filament-Strang auf der Front des Druckers zum Extruder führen.
- Hebel am Extruder betätigen und Filament-Strang zwischen den Rollen vorbei in das weiße Röhrchen einführen. Den Extruder dabei mit der Hand stützen, um die Belastung des Rahmens zu reduzieren.
- Hebel loslassen und sicherstellen, dass Filament-Strang mittig in den Transport-Rollen läuft.
- Die gerändelte Transportrolle muss frei von Filamentabrieb sein. Sollte dies nicht der Fall sein, sollte sie Rille für Rille mit einem spitzen Gegenstand (Lötbesteck) gereinigt werden.
- In Octoprint in einigen 1mm-Schritten extrudieren, bis Plastik-Wurst aus der Düse kommt.
- Pastik-Wurst entfernen.
- Heizung abschalten.
Slicing
Im Slicer sollte die Temperatur gemäß Temperatur-Tabelle der Filamente oder Datenblatt des Filaments eingestellt werden. (FIXME: Temperatur-Test-Druck-Dings)
Slic3r
- Attach:Mamba3D-Slic3r_config_bundle.ini herunterladen und als Config Bundle in Slic3r importieren.
- Im Plater-Tab über die Add-Schaltfläche 3D-Modell laden.
- Ggf. Einstellungen anpassen.
- Über Export G-Code-Schaltfläche den G-Code lokal abspeichern.
Cura
Attach:Mamba3D_Cura.ini herunterladen und mittels "Open Profile" in Cura öffenen. Achtung, experimentell.Muss angepasst werden auf Automatisches Bed-Leveling!
Drucken mit Octoprint
Wenn die Kamera im Control-Tab nicht funktioniert, Schalter an DSLR in Off-Position und nach ca. fünf Sekunden wieder in On-Position bewegen. Wenn dies nicht hilft, überprüfen, ob eins sich in hsmr_5ghz befindet oder per Kabel angebunden ist. Kamera braucht 40 Mbit/s!
- Spitze unter „Control“ manuell in z-Richtung hochfahren.
- Ebenfalls im Tab „Control“ in die maximal positive y-Richtung und in maximal negative x-Richtung fahren.
{# Klebestift auf zu bedruckende Fläche sowie rechte untere Ecke des Printbeds auftragen (direkt neben der Schraube).}
- .gcode-Datei in Octoprint laden und drucken.
- Es wird zuerst ein Test-Blob links unten abgesetzt. Dieser muss, sollte er nicht auf dem Printbed haften, fix mit einer Pinzette entfernt werden.
Druck von Bed abnehmen
Das Lösen des Druckes vom Bed sollte erst nach vollständigem Abkühlen erfolgen und kann etwas Zeit in Anspruch nehmen. Helfen kann ein Spatel oder eine Plastikkarte. In keinem Falle sollten scharfkantige Objekte verwendet werden. Den ersten Test-Blob links unten in Richtung des Randes entfernen um ein Ablösen des BuildTaks an dieser Ecke zu vermeiden.
Reinigung
Sollten nach dem Ablösen des Objekts Filamentrückstände verbleiben, so sollten diese mit Spatel, Plastikkarte oder Fingernagel vorsichtig abgelöst werden. Da Staub und Fingerabdrücke die Haftung beeinflussen können empfiehlt sich eine regelmäßige Reinigung mit Isoprop (braune Glasflasche) und Papiertuch.
Andere Lösungsmittel außer Wasser und Isoprop dürfen nicht verwendet werden, da sie die Druckfläche schädigen können!
Sollten sich Filamentrückstände nicht lösen lassen, da beispielsweise die Düse zu nah am Druckbett war, so sollte das Druckbett auf etwa 100°C (Verbrennungsgefahr!) erwärmt werden. Das Filament kann i.d.R. nun an einer Stelle angehoben und wie Kaugummi in einem flachen Winkel abgezogen werden.
Filament entfernen
- Heizung des Extruders auf Filament einstellen (Octoprint kennt bereits passende Presets, z.B. 205 °C für unser PLA)
- Hebel am Extruder betätigen und Filament-Strang ggf. mit etwas Kraft gerade nach oben aus dem Röhrchen ziehen. Den Extruder dabei mit der Hand stützen, um die Belastung des Rahmens zu reduzieren.
- Mit Seitenschneider den Strang glatt abschneiden.
- Heizung abschalten.
- Filament in dafür vorgesehenen, luftdichten Eimer oder Box legen und Deckel schließen.
Timelapses
In Octoprint können über den Tab Timelapse Zeitraffer-Aufnahmen der Druckvorgänge heruntergeladen werden.
Abschalten
Wenn alle Druckjobs erledigt sind, bitte den Steuer-Computer per kurzem Druck auf den Ein- und Ausschalter (grün leuchtend, rund und zentral auf Front) oder aus Octoprint heraus herunterfahren. Danach die Steckerleiste auf dem Tisch ausschalten.
Gemeinschafts-Filament
Das Filament kann von allen genutzt werden und wurde von Leuten privat eingekauft. Haltet euch daher bitte an die Preisvorgabe. Das Filament kostet 2 Cent je Gramm. Nach dem Druck wiegt ihr bitte das was ihr verdruckt habt. Inklusive Stützmaterial und allem anderen. Umso genauer, desto besser. Denn dann kann wieder neues Filament besorgt werden und steht für alle zur Verfügung.
Nach dem Wiegen zahlt ihr bitte den entsprechen Geldbetrag in die Kasse ein.
4 Cent ≙ 1 g ≙ 0,8 cm³
Bitte das Filament wieder zurück in die entsprechende Behältnisse und die Sachen wieder in den Schrank zurück.
Im Wiki gibt es unter Sammelbestellungen eine Liste von Lieferanten. Wenn ihr Wünsche habt, tragt diese bitte dort ein. Es wird versucht sich zeitig darum zu kümmern.
Temperaturen
Je nachdem mit welchem Filament gedruckt wird müssen ein paar Einstellungen angepasst werden.
Marke | Farbe | Temperatur |
---|---|---|
ColorFabb | egal | 195 °C |
SIENOC | Flourecent Rose Red | 205 °C (+- 5°C) |
SIENOC | Transparent | 205°C (+-5°C) |
SIENOC | Transparent Red | 205°C (+-5°C) |
SIENOC | Gold | 205°C (+-5°C) |
Kaisertec | Tannengrün | ? |
Kaisertec | Orange | ? |
Kaisertec | Schwarz | ? |
Kaisertec | Weiß | ? |
Kaisertec | Navy | ? |
Aufbau
Techn. Dokumentation zum Drucker
Controller
Ist ein Minitronics 1.0 mit angepasster Marlin-Firmware. Durch das neue E3D-v6 Hotend hätte es sein können, dass die Firmware nach Herstellerinformationen angepasst werden muss, die dort angemerkte Anpassung ist allerdings bereits in der oben verlinkten angepassten Marlin Firmware genau so vorhanden.
Extruder/HotEnd
Das Hotend ist ein E3D-v6 1.75mm Universal mit höherer Leistung als das ursprünglich im Mamba 3D verbaute HotEnd (30W statt 25W). Dieses Hotend kann theoretisch 295°C erreichen, was allerdings vermieden werden sollte, da diese Temperaturen den Temperatursensor im HotEnd beschädigen können. Höchsttemperatur die sicher verwendet werden kann sind ca 285°C. Praktisch liegt dieser Wert niedriger, da der Drucker neustartet, sobald ein gewisser Wert vom Temperatursensor überschritten wird (ca 275°C).
PID-Tuning
Um die Ansteuerung des HotEnds durch die Firmware zu verbessern sollte das sogenannte PID Tuning gemacht werden. Alternativ hier eine Anleitung in Textform. Anmerkung: Dies kann/sollte für ein (zukünftiges) Hotbed auch getan werden.
Außerdem: NIEMALS am HotEnd drehen. Erst gesamten Extruder ausbauen und dann sehr vorsichtig die Aufbauanleitung von E3D Rückwärts befolgen.
PID-Kalibration erfolgte in 10 Zyklen bei 205°C.
Wenn PID Werte nicht im EEPROM gespeichert werden können (weil die Firmware zickt oder ähnliches), hier aktuelle Werte, die an den Anfang des GCodes gesetzt werden können, um PID vernünftig einzustellen:
M301 P26.48 I2.02 D86.77
Hotbed
Hotbed ist eine verklebte Gummimatte mit 200W Heizleistung. Der Thermistor hat einen Nennwiderstand von R25°C = 100 kΩ und einen Temperatur-Koeffizient (Beta-Konstante) von B25/50 = 3950 K ± 1%. Marlin wird dafür in Version 1.1.0 die Tabelle 11 (QU-BD silicone bed QWG-104F-3950 thermistor) liefern. Diese haben wir derzeit backported.
Maximale erkennen
X-Achse
Rollen, auf denen sich der Extruder bewegt, stoßen links oder rechts an den Rahmen. Anmerkung: Der für die 0-Stellung der X-Achse zuständige Schalter ist an nicht mehr vollständig geraden Pins auf der Platine befestigt. Sollte dieser nicht mehr funktionieren, sollte hier ggf nachkorrigiert/gelötet werden. Zum momentanen Zeitpunkt (14.12.2016) funktioniert (noch) alles wie es soll.
Y-Achse
Die Rollen auf dem zur Y-Achse parallel verlaufendem Profil fahren an ein Blech auf der von vorne betrachtet rechts liegenden Seite auf.
Z-Achse
Hinterer Bereich des Extruders (Filament-Transprt-Motor) schlägt am oberen Teil des Rahmens an. Im Minimal stößt die Nozzle an das Druck-Bed.
Techn. Dokumentation des Octoprint-Setups
Grundsystem
ArchLinux auf einem Dell Optiplex 745 Tower mit 160 GB großer Festplatte und $genug RAM. Auf der Festplatte ist ein MBR und ein einziges ext4, welches /
bildet. Bootloader ist GRUB.
Octoprint
octoprint (AUR)
# systemctl enable octoprint $ echo "octoprint ALL=(ALL) NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot,/usr/bin/systemctl restart octoprint" | sudo tee -a /etc/sudoers
/var/lib/octoprint/.octoprint/config.yaml
accessControl: salt: [snip] api: key: [snip] appearance: name: Mamba 3D feature: {} gcodeViewer: {} plugins: cura: cura_engine: /usr/share/cura/CuraEngine debug_logging: true discovery: upnpUuid: bb97356d-b927-4444-94ec-f6a1560e2294 softwareupdate: _config_version: 4 checks: octoprint: checkout_folder: null prerelease: false prerelease_channel: null printerParameters: {} printerProfiles: default: mamba3d defaultProfile: {} serial: autoconnect: true baudrate: 115200 maxCommunicationTimeouts: {} port: /dev/ttyUSB0 timeout: {} server: commands: serverRestartCommand: sudo systemctl restart octoprint systemRestartCommand: sudo systemctl reboot systemShutdownCommand: sudo systemctl poweroff firstRun: false host: 127.0.0.1 secretKey: [snip] system: actions: - action: shutdown command: sudo systemctl poweroff confirm: You are about to shutdown the system. name: Shutdown - action: reboot command: sudo systemctl reboot confirm: You are about to reboot the system. name: Reboot - action: restart command: sudo systemctl restart octoprint confirm: You are about to restart Octoprint. name: Restart Octoprint temperature: profiles: - bed: '50' extruder: '195' name: PLA webcam: ffmpeg: /usr/bin/ffmpeg ffmpegThreads: 2 snapshot: /webcam/?action=snapshot stream: /webcam/?action=stream watermark: false
/var/lib/octoprint/.octoprint/printerProfiles/mamba3d.profile
axes: e: inverted: false speed: 1500 x: inverted: false speed: 9000 y: inverted: false speed: 9000 z: inverted: false speed: 150 color: default extruder: count: 1 nozzleDiameter: 0.4 offsets: - - 0.0 - 0.0 heatedBed: false id: mamba3d model: Mamba3D name: Mamba3D volume: depth: 200.0 formFactor: rectangular height: 200.0 origin: lowerleft width: 200.0
CuraEngine
cura-not-so-old (AUR)
Caddy
caddy-full-bin (AUR)
# systemctl enable caddy
/etc/caddy/Caddyfile
mamba3d.hsmr.cc proxy / 127.0.0.1:5000 { websocket transparent header_upstream X-Scheme {scheme} header_upstream X-Forwarded-Host {host} } proxy /webcam 127.0.0.1:8080 { transparent without /webcam }
MJPG-Streamer
mjpg-streamer (AUR)
# usermod -aG video octoprint
/etc/systemd/system/mjpg-streamer.service
[Unit] Description=MJPG Streamer StopWhenUnneeded=true [Service] User=octoprint Group=octoprint Type=simple Restart=on-failure ExecStart=/usr/bin/mjpg_streamer -i "input_ptp2.so" -o "output_http.so -p 8080 -n" [Install] WantedBy=multi-user.target
/etc/udev/rules.d/10-mjpg-streamer.rules
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="317b", ENV{ID_GPHOTO2}="1", ENV{GPHOTO2_DRIVER}="PTP", MODE="0660", GROUP="video", TAG+="systemd", ENV{SYSTEMD_WANTS}="mjpg-streamer.service"