Anycubic i3 Mega S: Tipps & Ideen zum 3D Drucker

 

Nach meinem letzten “Winter-Projekt” 2019/2020 (der Arcade Spielstation) kam ich mehr per Zufall (wieder) auf die Idee, mir doch endlich auch einen 3D Drucker zuzulegen.
Mein Herbstprojekt 2020 stand somit fest.
Geliebäugelt habe ich damit schon seit Jahren, aber paar Jahre zuvor waren die Teile doch recht teuer und benötigten z.T. sehr viele Anpassungen und Einstellungen, um passable Druckergebnisse hinzubekommen.
Das hat sich in der letzten Zeit sehr geändert, auch in der 200 Euro Preisklasse wird man zumeist nicht enttäuscht.

 

Hinweis
Ich kann hier nicht jeden Umbauschritt ausführlich beschreiben oder Raspberry-Befehle im Detail erklären; dieser Blog-Beitrag soll vielmehr als “Ideengeber” dienen, was bei dem 3D Drucker alles möglich ist und welche “Erweiterungen” in Frage kommen können. Er spiegelt auch meine Erfahrungen des ersten Monats wieder.
Kurzum: Ein Sammelsurium an Tipps und Anregungen, um den 3D Drucker noch besser und angenehmer nutzen zu können.

Und da es mehr wurde als ursprünglich gedacht … ein kleines “Inhaltsverzeichnis”


Inhaltsverzeichnis

Überblick | Anycubic | Varianten | Erste Eindrücke | Meldungen Heat Over | Fachbegriffe | Lüfter | Druckergehäuse | Bodenkühlung | Beleuchtung | Web-Cam | Web-Frontend | 5″ Display | Slicer | Integration | Raspberry | Licht-Taster | Filament-Halter | Silikon-Dämpfer | Einstell-Rad | Schleppkette | Push-Nachricht | 3D Software | Kleinigkeiten | Druckvorlagen | Skripte


 

Überblick / Grundlagen

Heutige 3D Drucker drucken i.d.R. nach dem FDM Prinzip, bei welcher ein Kunststoff erhitzt, dann durch eine Düse gepresst und auf das Druckbett aufgetragen wird, um dort wieder abzukühlen und zu erhärten.
Mittels einer 3D-Software lassen sich 3D Modelle erstellen, diese speichert man zumeist im STL-Format ab. Eine Slicer-Software wandelt dieses stl-Format  (und andere) in den standardisierte GCode um, denn nur dieses Format können 3D Drucker verarbeiten. Der erstellte GCode wird nun dem Drucker per per SD-Karte, direkter USB-Verbindung (PC<=>Drucker) oder über sogenannte Webfrontends (ein am USB-Port des Druckers angeschlossener Mini-Computer mit Octoprint oder Repetier-Server) übermittelt. Der Drucker heizt das Druckbett und Extruder (gemäß den übermittelten Drucktemperaturen) auf, der Extruder wird dann mittels Schrittmotoren über das Druckbett bewegt (X, Y) und das verflüssigte Kunststoff-Filament wird über den Nozzle (Düse) auf das Bett aufgetragen. Dies erfolgt in Z-Richtung (↓↑) Schicht für Schicht, von unten nach oben.
Die notwendige Druckdauer hängt von Größe und Komplexität, kleinere Modelle (4x4x4 cm) dauern mindestens 2 Stunden, größere Modelle können auch 12 Stunden oder auch mal 2 Tage dauern. Die Slicer ermitteln zuvor aber auch die voraussichtliche Druckdauer und die benötigte Kunststoffmenge (Filament, in Meter und Gramm).

 

Anycubic i3 Mega S

Anycubic i3 Mega S

Nach einiger Internet-Recherche entschied ich mich für einen “Anycubic i3 Mega S” mit einer mir ausreichenden Druckfläche von 210 x 210 x 205 mm.
Auschlaggebend für diesen Drucker waren:
– gute Internetbewertungen (Bsp. 4,4 Sterne bei Amazon)
– schneller Hersteller Support (auf Mails bei Problemen erhält man Ticketnummer und einen Supporter zugewiesen)
– guter Preis: 188 Euro incl. Versand aus Deutschland
– gut besuchtes und aktives deutsches Forum vorhanden und Facebook-Seite
– Mittelgroßes Display mit Touchscreen vorhanden

Ich möchte hier nicht auf alle Details bzw. Vorteile des Druckers eingehen, da gibt es schon viele Webseiten, die sich ausgiebig mit diesem Drucker beschäftigen, nur einige Highlights:
– Weiterdrucken nach einer (Strom-)Unterbrechung
– Touchscreen mit großem Display: Recht komfortable Bedienung
– Wirklich gute Druckergebnisse

 

Anycubic “Varianten” ?

Amazon “Angebote”

Aber vor dem Kauf gab es bereits die erste “Schwierigkeit”:
Verschiedene Verkäufer (speziell bei Amazon) bewerben “ihren” “i3 Mega S” mit “neuem Extruder” oder “aktualisiertem Extruder“. Die Preis dort liegen dann zwischen 260 Euro und 330 Euro!
Der Hersteller selbst bietet (auch bei Ebay D) den Drucker für 209 Euro an, ohne diese Schlagwörter, so dass ich zunächst davon ausgegangen bin, das es “Auslaufmodelle” sind, die zu einem reduziertem Preis abverkauft werden. Aber im Internet konnte ich die Antwort finden, das ALLE Anycubic Mega S den selben (“neuen”) Extruder haben !
Bei Ebay wurd emir auch gleich ein 21 Euro Aktionsgutschein bei diesem Drucker angeboten, so das ich lediglich konkurrenzlose 188 zahlen musste.
Somit kann man für diesen Drucker 209 Euro (bzw. mit Rabatt 188 Euro) zahlen, oder man fällt auf die Werbeaussagen mancher Verkäufer rein (in der Hoffnung einen besseren, neueren Extruder zu erhalten) und zahlt über 100 Euro mehr für letztlich den völlig identischen Drucker!

 

Erste Eindrücke

Beispiel-Ausdrucke

Zwei Tage nach der Bestellung kam der Drucker schon mit DHL an, ein wie erwartet etwas größeres Paket (55 x52 x27 cm).
Der Drucker ist (entgegen früherer Modelle oder anderer Hersteller) bereits zu 99% vormontiert und in 10 Minuten fertig montiert:
Es müssen nur 10 Schrauben montiert und 2 Kabel eingesteckt werden. Der Filament-Halter wird auch mit 2 Schrauben am Rahmen montiert.
Insgesamt macht der Drucker einen robusten und stabilen Eindruck (Metallrahmen), nichts wackelt. Es empfiehlt sich trotzdem, auch die restlichen Schrauben zu kontrollieren und ggf. festzuziehen.
Ab Werk nimmt der Drucker die Druckdateien nur direkt per SD-Karte entgegen (er besitzt kein LAN/WLAN, aber mit einem Raspberry Pi läßt sich dies “nachrüsten”. Stichwort: Webfrontend).
Ein USB Kartenleser und eine einfache SD-Karte liegen dem Drucker auch bei.

Meine ersten Testdrucke wollten dann aber partout nicht auf dem (beheiztem) Druckbett haften, einen ganzen Sonntag habe ich vergeblich versucht das Bett richtig zu leveln weil ich dies als Ursache ansah: Etwas hoch, wieder minimal runter, usw. … (wobei hier mit “etwas hoch” nur ein Bruchteil eines Millimeters gemeint).
Letztlich besorgte ich mir Haftspray (“3DLack Sprühkleber”) und seitdem habe ich (fast) keine Probleme mehr mit dem Haften des Filaments auf dem Heizbett!
Ein korrektes leveln (also der korrekte Abstand zwischen der Druckdüse (Nozzle) und dem Druckbett)) muss natürlich trotzdem durchgeführt werden!
Tipp:
Für die Testdrucke beim leveln habe ich diese Vorlage von Thingiverse genutzt, 5 Würfel. Im Slicer sollte dann “Skirt” aktiviert sein, so dass das Filement auch große Bereiche des Druckbettes bedruckt (und nicht nur die reinen Würfel) und man die so sehr gut die Haftung auf dem Druckbett und Abstand der Drucknadel kontrollieren kann.

 

Meldung “Bed Heat Over”

Message auf dem Display

Nach den ersten (erfolgreichen) Ausdrucken ist mir aufgefallen, das auf dem Display des Druckers nach dem aufheizen des Druckbettes und auch nach dem aufheizen des Extruders die Meldungen
“bed heat over” und “hotend over” auf dem Display angezeigt wurden.
In einem Forum meinte man, das “over” (sinnvollerweise) für “overheat” stehen würde, also eine Überhitzung und somit eine Fehlfunktion des Druckers.

So machte ich bei Anycubic per Mail auch ein Ticket auf (diese benötigen auch die Seriennummer des Druckers, Aufkleber auf der Seite), und der erste Supporter kam per Mail mit dem Lösungsansatz:
– Extruder tauschen (ein Ersatz-Extruder liegt bei)
– verschiedene Spannungen auf dem Board messen und vergleichen mit Referenzwerten

Dies erledigt ich, aber ohne Besserung: Meldung blieb.
Mittlerweile erhielt ich aber im Forum die Info, das “over” bei der Anycubic-Meldung nicht für “overheat” steht, sondern nur dafür, das die Aufheizzeit vorbei (also “over”) ist, toll!
Zur Sicherheit machte ich ein zweites, unabhängiges Ticket auf, dieses mal bekam ich Jeff als Supporter zugewiesen, der gleich meinte, das dies nur eine Statusmeldung sei und keine Fehlermeldung.
Fazit:
a) schlechte, unglückliche und irreführende Übersetzung.
b) unklar, warum der erste Supporter diese (Status) Meldung nicht gleich korrekt interpretieren konnte.

 

Fachbegriffe

In der Druckerwelt gibt es viele Fachbegriffe, einen kompletten Überblick dieser Fachausdrücke gibt es hier und auch hier.
Die meiner Meinung nach wichtigsten habe ich hier mal zusammengefasst (und versucht zu erklären):

ABS Filament-Werkstoff, recht hartes Material. Benötigt aber recht hohe Temperaturen.
Extruder Zuständig für das schmelzen des Filaments (und prinzipielle auch für den Materialfluss, siehe Feeder).
FDM (Fused deposition modeling) Nach diesem Prinzip funktionieren die meisten 3D Drucker:
Kunststoff (Filament) wird erhitzt, auf Druckbett aufgetragen und kühlt ab und erhärtet wieder
Feeder Falls Filament-Transport nicht im Extruder stattfindet, ist der extern angebrachte Feeder dafür zuständig.
Filament Werkstoff, der zum drucken genutzt wird. Auf einer Rolle (zumeist 250 g oder 1 kg).
GCode Wird von Slicern erzeugt, beinhaltet den Steuercode für den Drucker. GCode-Index/Commands
Heizbett (engl.: heat bed) Fläche, auf der das Objekt gedruckt wird. Zumeist aufheizbar (50° bis 80°). Oft aus Glas.
Hot-End Teil des Extruders. Heizt das Filament auf (160° bis 220°).
Infill Auffüllung von Hohlräumen in 3D Objekten aus stabilitätsgründen. Slicer berechnen das Infill.
Nozzle Die Düse, aus der das flüssige Filament gedrückt wird. Standard ist 1,75mm Durchmesser.
Marlin Firmware für den Drucker, Opensource. Ist bei Anycubic standardmäßig installiert.
PLA Beliebtestes, da leicht zu verarbeitendes Filament. Ca. 170° Drucktemperatur.
Slicer Software, “zerschneidet” das 3D-Modell in Schichten und erzeugt den GCode.
STL-Dateien Standard Dateiformat für Erstellung von 3D Modellen.
Skirt Wird um das eigentliche Druckobjekt gedruckt (optional), zur Kontrolle des Materialflusses etc.
Warp-Effekt Nicht gewollte Bauteilverformung durch unterschiedliche Auskühlung.

 

Lüfter

Auch wenn die Lautstärke des Anycubic Mega S Drucker im Druckbetrieb nicht unerträglich laut ist (für das Arbeitszimmer evtl. noch OK, für Schlafzimmer oder Wohnzimmer natürlich zu laut), habe ich mich von Anregungen anderer Benutzer überzeugen lassen und die Lüfter des Druckers gegen (etwas) leisere ausgetauscht.
Der Drucker hat insgesamt vier Lüfter verbaut:
– Netzteillüfter: 14V (12V geht aber auch); 60 x 15 mm; Bsp. Sunon HA60151V41000UA99; Bsp. Amazon
– Lüfter für Board- und Treiberkühlung: 12V; 50 x 10 mm
– Filament-Kühler (Radial-)Lüfter: 12V; 40 x 10 mm; Bsp. Sunon MF50151VX-B00U-A99, Bsp: Ebay
– Hotend-Lüfter: 12V, 40 x 10 mm, Bsp: Sunon EE40101S221000U999; Bsp. Amazon

Der Tausch der Lüfter geht recht einfach und problemlos. Und wenn man zum tauschen des Netzteil- und/oder Treiber-Lüfters den Gehäuseboden abgeschraubt hat, empfiehlt es sich, den Boden 180° gedreht wieder anzuschrauben: Denn genau unter dem Lüfter der Treiberkühlung befindet sich KEIN Lüftungsschlitz! Warum das so ist, keiner weiß es. Sinn macht es nicht!

Der Geräuschlevel wird durch die neuen Lüfter tatsächlich geringer, man darf sich aber auch keine Wunder erhoffen!

Tipp:
Wer die neuen Lüfter nicht an die alten Buchsen der ausgebauten Lüfter löten möchte;
dies sind die passenden Buchsen, welche man benötigt, um die Lüfter auf die Boards des Druckers stecken zu können: JST 2.0 mm 2-poliger Stecker

Manche User tauschen auch die Treiberbausteine für die Steppermotoren und die Lager des Anycubic Druckers; bislang habe ich darauf aber verzichtet. Ich kann mit der jetzigen Lautstärke gut leben bzw. drucken 😉

 

Druckergehäuse (Ikea Tisch)

Geschlossenes Druckergehäuse

Was Geräuschtechnisch einiges bringt und was ich auch umgesetzt habe, ist ein Gehäuse rund um den Drucker zu bauen. Auch verstaubt der Drucker dann nicht so stark.
Ausgangsbasis ist (wie auch im WWW öfters empfohlen) der Ikea Lack-Beistelltisch für konkurrenzlose 5,85 Euro. Wobei hier der Drucker nicht auf den Tisch, sondern unter den Tisch gestellt wird.
Die vier orig. Tischbeine habe ich mit vier Holzklötze um je 8 cm in der Höhe verlängert (sonst passt der Drucker mit seiner Höhe von 45 cm nicht unter den Beistelltisch). Bei mir steht der Drucker neben einem großen Schrank in der Ecke, so das zwei der vier Seiten bereits dadurch eine Art Seitenwand haben.
An die Vorderseite habe ich eine Tür aus 4mm Sperrholz mit Sichtfenster (aus 2mm Kunststoffglas, Restbestand) und 2 Scharnieren montiert, die rechte Seite habe ich bewusst nicht komplett geschlossen, um keinen Hitzestau zu verursachen:
Bei komplett geschlossenem Gehäuse kommen sonst je nach Druckdauer Temperaturen von über 50 Grad zustande!

So habe ich bei der vierten Seite (rechts bei mir) nur 3/4 des unteren Bereichs mit einer 3 cm dicken Akustikschaumstoffmatte geschlossen: Die warme Luft kann oben durch den 8 cm Schlitz noch ausströmen.

 

Auch die Innenseiten und den “Deckel” habe ich mit der Schaumstoffmatte beklebt. Diese Matten in Kombination mit dem (fast) komplett geschlossenem Druckergehäuse schlucken eine Menge von den Druckergeräuschen:
Telefonieren und arbeiten, auch wenn der Drucker aktiv ist (was ja oft Stunden oder auch Tage dauern kann!), ist so ohne Probleme möglich, auch wenn man nur 3 Meter vom Drucker entfernt sitzt.

An die Vorderseite (Tür) habe ich zusätzlich das Display eines kleinen Thermometers montiert, der Fühler geht in den Drucker-Innenraum und zeigt mir die dortige Temperatur an. Nette Spielerei, aber auch informativ – nice to have 😉

 

Bodenkühlung

Lüftung von “unten”

Zur besseren Kühlung des gesamten Druckers bzw. der verbauten Elektronik habe ich ein 8 cm großes Loch in die Holzplatte gebohrt, auf welcher der Drucker steht.
Unten an die Holzplatte wurde eine leiser und recht langsam drehender, 8 cm großen 12V PC-Lüfter (aus Altbestand) montiert, der nun mit einen nur leichtem Luftzug (kalte) Luft zum Drucker und in das fast geschlossene Druckergehäuse bläst. Insgesamt bringt das eine messbare (und sinnvolle) Kühlung des Innenraums um ca. 8 Grad.
Diesen Lüfter habe ich parallel zur Innenbeleuchtung des Druckers geschaltet. Und da die Innenbeleuchtung des Druckers bei mir automatisch bei Druckbeginn eingeschaltet wird, läuft auch der Zusatzlüfter in der Druckphase mit. Mehr dazu im nächsten Abschnitt “Beleuchtung”.

 

LED Lichtleiste

Und damit das Druckvorgang nicht im dunkeln stattfindet und auch gut (ggf. per Webcam) zu beobachten und zu kontrollieren ist, wurden an die beiden vorderen Seitenteile (linker und rechter “Fuß”) und an die obere Seite (“Deckel”) ein LED-Lichtband montiert.
Über einen entsprechenden Taster links am Druckergehäuse (welcher letztlich einen GPIO des Raspberry Pi ansteuert) lässt sich dieses Licht manuell ein- und ausschalten.
Zusätzlich stellt eine entsprechender Codezeile (@execute ….) im Pre- bzw. Post-Code innerhalb CURA’s (Slicer, der die 3D-Druckdatei letztlich erzeugt) sicher, dass das Licht bei Druckbeginn eingeschaltet wird und nach Druckende auch wieder ausgeschaltet wird. Dazu später mehr, incl. dem Beispiel-Code (falls der Drucker über ein Webfrontend wie Octoprint oder Repetier-Server genutzt wird, lassen sich diese entsprechenden Befehle auch dort hinterlegen).
Im Internet findet sich oft der Tipp, auch in das Gehäuse des Druckkopfes eine Beleuchtung (12V LED-Band, Streifen mit 3 LED’s passt rein) zu montieren, diese kann man einfach an die 12V des Hotend-Lüfters klemmen. Ich habe bzw. hatte dies auch gemacht, aber wieder entfernt:
Es zeigte sich, das der mit diesen LED ausgeleuchtete (recht kleine) Druckbereich in den Aufnahmen der Webcam (Bilder und Live-Stream) überbelichtet werden, ohne diese Zusatzbeleuchtung sieht das Bild über die Webcam besser aus.

 

Web-Cam

Logitech Cam mit Halter

Es empfiehlt sich, den Druckvorgang auch mit einer Live-Cam zu beobachten: Sollte es zu Problemen beim drucken kommen (z.B.: Druckobjekt löst sich vom Druckbett und wird vom Druckkopf hin- und her geschoben) kann man zeitnah den Druck stoppen.
Ob diese Live-Cam eine IP-Standalone Überwachungskamera ist oder ein Webcam, welche an einem Computer (z.B. Raspberry Pi) hängt, ist letztlich von den eigenen Wünschen und Anforderungen ab.
Ich besorgte mir über Ebay Kleinanzeigen die oft empfohlene HD-Webcam von Logitech, die C270.
Diese habe ich dann per USB an den Raspberry angeschlossen und sie auch gleich erkannt. Aber auch andere werden funktionieren.

Livebild der Cam

 

Bei Thingiverse.com habe ich mir einen Kamerahalter für den Anycubic Mega S Drucker heruntergeladen. Der Halter wird mit 2 Schrauben am Rahmen montiert und wird dadurch mit der Z-Achse bewegt (Kamera fährt also in der Höhe immer mit dem Druckkopf “mit”).
(Die Montage des Rahmens ist etwas kompliziert, weil man an die zwei genutzten Löcher im Metallrahmen des Druckers nicht gut erreicht)

 

Web-Frontend

Repetierserver Webfrontend auf dem 5″ Display

Ich möchte den Drucker nicht ausschließlich direkt am Gerät bedienen und steuern (wobei dies beim Anycubic Mega S dank des Touchscreens schon recht komfortabel möglich ist), sondern auch remote (vom PC oder Tablet) steuern und kontrollieren können. Dafür gibt es “Serverlösungen” mit entsprechendem Web-Interface.
Die zwei bekanntesten und besten Lösungen hierfür sind das kostenlose Octoprint und der Repetier-Server (Free und Commercial (in einer “Corona-Sparaktion” für ca. 42€ anstatt 59€)). Ich habe mich für die kostenpflichtige Variante vom Repetier-Server entschieden. Beide Lösungen genügt ein 30 Euro teurer Raspberry Pi als Hardware.
Größter Vorteil dieser Lösungen ist es, das ein Druckauftrag über das Netzwerk an die Drucker geschickt werden kann, denn die meisten 3D Drucker (zumindest im unteren Preissegment) besitzen kein Netzwerkanschluß: Ansonsten müssen die Druckdateien per SD-Karte dem Drucker übermittelt werden, oder der Drucker muss über USB mit dem PC verbunden werden. Das ist auf Dauer wirklich keine komfortable Lösung. Die sicherste Variante mit den meisten Optionen ist ein eigener “Server” am USB-Port des Druckers.
Auch kann mit einer solchen Serverlösung ein Druckauftrag gestartet, überwacht und ggf. auch gestoppt werden. Ebenso wird eine an den “Print-Server” angeschlossene, herkömmliche (USB) Webcam  unterstützt. Interessante Zeitrafferaufnahmen vom Druckvorgang sind somit einfach möglich. Ebenso ist der Status des Druckers von überall (auch von Unterwegs, wenn es eingerichtet ist, Stichwort VPN bzw. DynDNS) abrufbar, incl. Livebild und Temperaturen vom Druckbett und Extruder!
Ich möchte diesen “Luxus” und Sicherheit nicht mehr missen.
Tipp: Repetier-Forum (deutscher und englischer Support)

 

5 Zoll Display

5″ Touchdisplay

Und damit der am Drucker angeschlossene Raspberry Pi nicht nur “dummer” Befehlsempfänger für Druckaufträge ist, welcher er über LAN oder WLAN übermittelt bekommen hat, sondern auch vor Ort (am Drucker) bedienbar wird und Druck-Infos (Rest Druckdauer etc.) preisgeben kann, bekam er ein 5″ Display verpasst:
Ich schwankte zwischen einem 7″ (ca. 90 Euro) und einem 5″ ( ca. 50 Euro) Display mit Touchscreen, aber just in dieser Phase gab es den 5″ Touch Screen Monitor für 37 Euro im Blitzangebot, somit wurde es dieses. Mir reicht diese Größe, es passt noch gut neben den Drucker und verdeckt das orig.Display nicht. Auch ist es gerade so hoch, dass das Druckbett über das Display hinweg fahren kann.
Der Raspberry wird bei diesem Monitor-Modell hinten an den Monitor geschraubt: Ich finde eine gute und kompakte Lösung!

 

Slicer

3D Modell in CURA

3D-Drucker benötigt sogenannten G-Code-Dateien. Mit 3D Modelldateien wie .stl kann der Drucker nichts anfangen.
Sogenannte Slicer -Programme wandeln die Modell-Dateien (z.B. stl) in G-code um. Hier kann man mehr darüber lesen.
Wobei der erzeugte G-code dann speziell für den ausgewählten Drucker Gültigkeit hat und auf einem anderen Druckertyp nicht funktionieren wird.
Gute und kostenlose Slicer sind z.B. CURA und Slic3R.
Im Slicer-Programm kann man genau sehen, wie der Drucker später den Druckkopf ansteuern wird, alle Bewegungen in x, y und z Richtung, Schicht für Schicht … .
(Wichtig zu wissen: Ein 3D Drucker druckt immer von unten nach oben (Z-Ebene), er fährt nie wieder nach unten (denn dort wird sich ja evtl. schon ausgehärtetes Filament befinden). Auch läßt sich im Slicer einstellen, ob und wie Stützmaterial beim Drucken zum Einsatz kommt.
Über CURA lässt sich auch die Firmware des angeschlossenen Druckers komfortabel aktualisieren (ab Werk hat der Anycubic die Marline-Firmware installiert, ich hab diese nur aktualisiert. Es gibt auch noch andere Firmware).

 

Integration Cura => Repetier-Server

Wer als Slicer CURA einsetzt und den Repetier-Server nutzt, kann den erstellten GCode nach dem slicen auch direkt zum Repetier-Server senden (“hochladen”), ohne den sonst üblichen “Umweg”:
In Cura: “Datei speichern unter …” ; dann im Repetier-Webfrontend über: “G-Code hochladen” diese Druckdatei auf den Repetier-Server hochzuladen zum späteren Ausdrucken.

Die Integration ist recht einfach, man benötigt nur dieses (kostenlose) Plugin und 3 Minuten Konfigurations-Zeit:
1.) Plugin herunterladen/clonen/lokal speichern.
2.) Das entpackte ZIP-File in den Cura Plugin-Ordner kopieren (Pfad unter: Cura=> Help => Show configuration folder).
3.) Cura (neu) starten.
3.) Den exakten (!) Druckernamen in Cura ermitteln, merken.
4.) In Cura: Preferences => Printers => Printer auswählen => Connect Repetier => Add:
Instance-Name=<Druckername in Cura>; IP-Adresse vom Drucker eingeben. Dann “Get printers” sollte jetzt den Drucker anbieten, OK drücken.
5.) Webfrontend Repetierserver öffnen, unter: Einstellungen => Globale Einstellungen => Konnektivität den API-Schlüssel kopieren (Strg-C).
6.) Jetzt nochmal in CURA auf “Connect to Repetier” klicken, es sollte nach dem API key gefragt werden, den zuvor kopierten API Key hier eintragen.

Fertig. Nun sollte nach dem Slicen eines Objektes neben dem “Save to file” zusätzlich ein: “Print with Repetier” in CURA auswählbar sein.

 

GPIO Raspberry / Relais

Wie weiter oben erwähnt, kann ich die LED Drucker-Innenbeleuchtung über ein Relais über den Raspberry (welcher bei mir den Webserver vom Repetier-Server hostet und per USB mit dem Drucker verbunden ist) ein- und ausschalten.
Der Raspberry bietet hierfür sogenannte GPIO Anschlüsse an, diese können als Input (für Taster etc.) dienen, oder als Output (für LED oder Relais) definiert werden.
Konkret habe ich einen GPIO für meinen Licht-Taster definiert (Input) , und zwei GPIO’s als Ausgänge, an denen jeweils ein Relais hängt (LED-Licht und Drucker-Strom).

Mit dem zweiten Relais kann ich den 3D-Drucker über einen elektrische (“Smarte”) Steckdosenschalter stromlos schalten (um Strom zu sparen oder als “Not-Aus” für den Fall der Fälle).
Ich habe diese Art von Steckdosen genutzt, welche ich bereits in meiner Hausautomation im Einsatz habe. Diese verfügen “nur” über eine einzelnen Taster, welcher den aktuellen Schalt-Status ändern (von: “Aus” zu “Ein” und dann von “Ein” nach “Aus” … ). Den Taster-Kontakt der Steckdose habe ich nach außen geführt und mit dem Schließ-Kontakt des zweiten Relais verbunden. Wird über das Repetier-Menu die dort konfigurierte Aktion “Druckerstatus ändern” angetriggert, wird über den entsprechende GPIO das zweite Relais für 0.2 Sekunden aktiviert und sendet so den Umschaltimpuls zur Steckdose. Dieser “toggle” Befehl wird natürlich nie im gcode mit gesendet 😉  Er ist nur im Menu (Web-Oberfläche) des Repetier-Servers erreichbar. Und somit auch “remote” von Unterwegs verfügbar (Stichwort VPN).

Angesteuert (Relais) bzw. überwacht (Input Taster) werden die GPIO’s über kleine Shell-Skripte, die auf dem Raspberry laufen (Python geht auch, aber ich komme aus der Shell-Welt).
Zum ansteuern der einzelnen Relais lassen sich im Menu des Repetier-Servers recht einfach neue Einträge erstellen (“Bsp. “Light Off”), die letztlich “einfach” das dort hinterlegte Script (lightoff.sh) dann ausführen.
Die entsprechende Datei beim Repetier-Server ist die: /var/lib/Repetier-Server/database/extcommands.xml :
Dort werden die benutzerdefinierten Menu-Einträge eingetragen (unter: <commands>), und ebenso die execute-commands (unter: <execute>), die in einem G-Code ausgeführt werden sollen (z.B. Licht-aus bei Druckende).
Wichtig ist, dass die genutzten Shell-Skripte auch in der: /etc/sudoers.d  definiert werden, so dass der User “repetier” (unter dem die Skripte gestartet werden) diese Skripte dann auch als User root ausführen darf!

 

Licht-Taster

Um das innenliegende Druckerlicht auch manuell direkt am Drucker ein- und ausschalten zu können, habe ich einen kleinen Taster links an das Druckergehäuse (genauer: linkes Ikea-Tischbein) montiert.
Der Taster selbst ist natürlich nicht direkt mit der Beleuchtung bzw. 12V verbunden:
Die Überwachung des Tasters erfolgt über eine einfache Endlosschleife, welche den GPIO überwacht, an dem der Taster am Raspberry Pi angeschlossen ist.
Ein anderer GPIO des Raspberry steuert dann ein Relais an, dessen Kontakte die 12V der LED-Beleuchtung im Druckergehäuse schalten.
Da der Taster ja nicht “direkt” das Relais steuert, sondern über ein Skript, muss sichergestellt werden, dass dieses Skript auch nach einem Neustart des Raspberry automatisch mit gestartet wird und aktiv ist; ich habe dies über einen einfachen Eintrag in der root-Crontab erledigt:
@reboot /scripte/toggle-light.sh

 

Filament-Halter (plus Mod)

Modifizierter Filamenthalter

Der dem Drucker beiliegende Filament Halter wird rechts am Rahmen in 10 cm höhe festgeschraubt.
Mich hat er beim hantieren und beim rein- und rausheben des Druckers in den (engen) Druckerschrank immer etwas gestört, auch passen auf diesen keine kleine Filament-Rollen (250Gramm) drauf (diese haben einen zu kleinen Innendurchmesser).
Auch sollte der Filament Halter möglichst reibungslos das Filament abrollen können, daher entschied ich mich, auf einen Filament-Rollenhalter mit Kugellager zu wechseln.
Ich entschied mich daher für diesen recht preiswerten und kugelgelagerten Filament Halter. Kompakt und klein, macht einen guten Eindruck.
Aber hier passen (auch) die kleinen Filament-Rollen nicht drauf, sie fallen “durch” die zwei montieren Rollen.
Meine Lösung:
Ich habe an passender Stelle zwei Löcher gebohrt, zwei 4 mm Schrauben (l=30mm) in das Plexiglas geschraubt und in die nach innen ragenden Schrauben ein 8 mm dickes und 80 mm langes Alu Rohr gesteckt. Diese rollt nun auf den Schrauben (zwar nicht so leichtgängig wie die verbauten Kugellagerrollen, aber auch diese Variante dreht recht leicht).
Jetzt kann ich schnell und problemlos (ohne Umbau oder so) zwischen den großen (1 kg) und kleinen (250 Gramm) Filamentrollen wechseln.

 

Silikon-Dämpfer

SilikonDämpfer anstatt der Federn zum einstellen des Druckbettes (leveln). Diese sollen das leveln des Druckbetts nicht mehr so häufig notwendig machen
Ich habe mir über Ebay bei Landwehr-3D ein Set (4 Stk.) bestellt und eingebaut

Silikondämpfer und grosses Einstellrad

Zum montieren müssen die alten Einstellfüße komplett rausgedreht werden, dann die Federn entnommen werden und die Dämpfer auf die Schrauben gesteckt werden.

Größeres Einstellrad / Wheel

Was auch wirklich praktisch und nützlich ist, sind größere Einstellräder für das Bett-Leveln zu verbauen. Falls man Silikondämpfer verbaut, bietet es sich an, dann auch gleich große Einstellräder zu montieren (es muss ja eh dann wieder komplett gelevelt werden …).
Ich habe mir bei Thingiverse diese heruntergeladen und ausgedruckt. Sehr gutes Design! Man benötigt dann noch zur Montage vier M3 Muttern.
Tipp:
Weisses Filament beim ausdrucken verwenden, dann kann man die auf den Einstellrädern hervorgehobenen Zahlen mit einem schwarzen Edding einfach anmalen und erhält so eine gut sichtbare Zahlen-Skala.

 

Schleppkente

Gekauft, aber (noch) nicht verbaut: Diese Schleppkette mit 10×10 mm und 1 Meter Länge (preiswerte 9 Euro).
Sie wird hinten (oder auch seitlich) am Drucker montiert und nimmt die Kabel auf, welche aus dem Gehäuse zum Heizbett führen.
Ab Werk ist dieses Kabel mit einer spiralartigen Ummantelung versehen und wird  beim bewegen des Heizbettes in Y-Richtung (also: Heizbett-Bewegung vor/zurück) nur “lose” hin- und bewegt. Die Gefahr hierbei ist, das es zu einem Kabelbruch kommen kann, da das Kabel nicht gleichmäßig beansprucht wird, sondern immer wieder an bestimmten Stellen stark (ab)geknickt wird.
Verbaut man eine Schleppkette (oder mehrere, auch den Extruder könnte wohl prinzipiell man mit einer Schleppkette ausstatten), hat das Kabel eine saubere (professionell aussehende) Führung und wird nicht an einzelnen Stellen stark beansprucht, sondern ein großer Kabelbereich innerhalb der Schleppkette wird auf- und angerollt. Und das in einem definierten Radius.

 

Push Nachrichte

Pushnachricht am Druckende

Ich nutze bereits den Pushnachrichten-Dienst “Pushover.net” (in meiner Hausautomation und Alarmanalage), welcher es ermöglicht, sich selbst definierte und getriggerte Nachrichten auf sein Handy schicken zu lassen. incl. individuellem Benachrichtigungston und Bild (optional).
Beim 3D Drucker bietet es sich zum Beispiel an, sich über das Druckende oder Probleme informieren zu lassen.
Diese nach Druck-Ende auszuführende Aktion(en) läßt sich in  Cura (Slicer, der ja den gcode für den Drucker erstellt) unter: Einstellungen => Drucker => Drucker verwalten => Geräteeinstellungen => “End G-Code”  definieren.
Oder beim Repetier-Server unter: Home => Einstellungen vom Drucker (das Zahnrad) => Drucker Einstellungen => Tab: G-Codes” >= Ereignisabhängig …
Ich habe an beiden Stellen individuellen G-Code hinterlegt:
Die Push-Nachricht wird in Cura in den GCode reingeschrieben und dann zum Drucker mitgeschickt:

@execute makepicture ; erstelle und speichere ein Webcam-Bild
G4 S1   ;  Pause 1 Sekunde
@execute sendmessage_printdone ;  sende Push-Nachricht

Und im Repetier-Server wird am Ende das Druckerlicht (und damit auch der Zusatzlüfter) ausgeschaltet:

@execute lightoff.sh -delay 15 ; Ausschaltverzögerung, sonst ist das Licht schon aus, wenn das Bild für Pushnachricht erstellt wird

 

Eigene 3D Modelle erstellen: PC-Software

Skizze in FreeCAD

Um auch eigene 3D Modelle zu erstellen, benötigt man ein 3D Programm.
Es gibt verschiedene (auch einige/viele) kostenlose; die beliebtesten und für Einsteiger (wie auch ich einer bin) wohl am besten geeignet sind:
FreeCAD, TinkerCAD, Blender und Sketchup-Make (um nur einige zu nennen).
Hier gibt es eine grobe Zusammenfassung der Programme incl. Kurzbewertung.

Ich habe mich für FreeCAD (unter Windows) entschieden.
Und bei Youtube finde ich die Tutorials von “flowwies corner” zum Thema FreeCAD sehr hilfreich  und Anschauens Wert!

 

Kleinigkeiten

Magnethalter

  • Vorne am Druckergehäuse habe ich einen Touchscreen-Stift mit Band montiert, um das 5″ Display leichter bedienen zu können.
  • Am rechten “Tischbein” des Druckergehäuses habe ich im oberen Bereich zwei Rundmagnete mit Heißkleber befestigt:
    Hier hänge ich die immer mal notwendige Pinzette und den Spachtel an. Immer griffbereit!

 

Genutzte Druckvorlagen

von Thingiverse.com für den Anycubic:

Einstellrad
———————————
Webcam-Halter
———————————
Testvorlage Heizbett-Griff

 


Shell-Skripte / XML-Config-Datei

Hier nun die Shell-Skripte, welche auf meinem Raspberry laufen, um das Licht ein- und ausschalten zu können sowie den Drucker komplett vom Netz trennen zu können.
Auch das Snapshot-Skript (Webcam) und wie ich die Push-Nachrichten aufs Handy sende ist hier gelistet.
Ebenso die notwendigen sudoers-Files (gehören nach /etc/sudoers.d)  und die Zusatzeinträge in der extcommands.xml  (unter: /var/lib/Repetier-Server/database)

lighton.sh
#!/bin/bash

GpioRelay1=6

/bin/echo “$GpioRelay1” > /sys/class/gpio/export 2>/dev/null # make this GPIO port accessible
/bin/echo “out” > /sys/class/gpio/gpio$GpioRelay1/direction # define the direction from this GPIO, here: Output

/usr/bin/gpio -g write $GpioRelay1 0

lightoff.sh
(optionale Parameter: Push-Nachricht (- push) ; Ausschalt-Verzögerung (-delay <sec>))
#!/bin/bash

GpioRelay1=6   # Used GPIO on the Raspberry
Delay=0            # seconds; default: no delay

while [ $# -ne 0 ]
do
···case $1 in
······”-push” ) LSUSB=`lsusb | grep Cygnal` # Cygnal is the name from printers USB-driver;  -push parameter comes from the extcommand.xml
·········# lightoff from the printer-menu will also show the actual status from the printer (if on or off)
·········[ “$LSUSB” = “” ] && StatusPrinter=”ausgeschaltet (OFF)” || StatusPrinter=”eingeschaltet (ON)”  # USB Check if printer is online/connected
·········/usr/bin/curl -s –form-string “token=axdxxxxx1sy” –form-string “user=uSMxxxxciS” \       # These two lines will send a push message to smartphone
············–form-string “message=Status Printer : $StatusPrinter”  https://api.pushover.net/1/messages.json >/dev/null
·········shift 1
······;;
······”-delay” ) Delay=$2        # Switch-off delay needed that the end picture has still light. This picture is used in the PDF from “Print-Job history
·········shift 2
······;;
······*) echo “Usage: $0 [ -push ] | [ -delay <sec> ]”
·········exit 1
······;;
···esac
done

/bin/echo “out” > /sys/class/gpio/gpio$GpioRelay1/direction
nohup sleep $Delay; /usr/bin/gpio -g write $GpioRelay1 1 &    # Let run in the background ….

toogle-relay2.sh
#!/bin/bash

GpioRelay2=26 # Used GPIO from the Raspberry for the 2nd relay

echo “$GpioRelay2” > /sys/class/gpio/export 2>/dev/null # make this GPIO port accessible
echo “out” > /sys/class/gpio/gpio$GpioRelay2/direction # define the direction from this GPIO, here: Output

LSUSB=`lsusb | grep Cygnal` # Check if the 3D printer is connected / switched on (Cygnal is the USB device name name from printer)
[ “$LSUSB” = “” ] && Status_New=”eingeschaltet” || Status_New=”ausgeschaltet”
# Send push message to smartphone about the new status (on or off). See: pushover.net
/usr/bin/curl -s –form-string “token=axdxxxx1sy” –form-string “user=uSMxxxxciS” \
···–form-string “message=Printer wurde $Status_New (by toggle)” https://api.pushover.net/1/messages.json >/dev/null

# Relay will just send a short signal to the external power switch. The used switch only toogle the status
# (from: on to off or from: off to on. Not possible to say “switch on”)
gpio -g write $GpioRelay2 1 # power to the relay => close relay contact
sleep 0.2 # wait 0.2 seconds
gpio -g write $GpioRelay2 0 # no power to the relay again => contact opens

make-picture.sh
wget -O /pictures/webcam_picture.jpg http://192.168.xx.yy:8080/?action=snapshot # Get and save picture from webcam
DATE=`date +%Y-%m-%d_%H:%M` # Format date
cp /pictures/webcam_picture.jpg /pictures/webcam_picture_$DATE # copy and rename actual picture for history reasons …

sendmessage-printdone.sh
/usr/bin/curl -s –form-string “token=axdxxxx1sy” –form-string “user=uSMxxxxxciS” \
···–form-string “message=3D Print finished” –form-string “sound=mechanical” -F “attachment=@/pictures/webcam_picture.jpg” \
······ https://api.pushover.net/1/messages.json > /dev/null

extcommands.xml
….
….
······ <command>
··············· <name>Licht an</name>
··············· <execute>sudo /scripts/lighton.sh</execute>
··············· <local>true</local>
··············· <remote>true</remote>
··············· <print-permission>true</print-permission>
··············· <add-permission>true</add-permission>
··············· <del-permission>true</del-permission>
··············· <config-permission>true</config-permission>
······ </command>

······ <command>
··············· <name>Licht aus (plus Status-Message)</name>
··············· <execute>sudo /scripts/lightoff.sh -push</execute>
··············· <local>true</local>
··············· <remote>true</remote>
··············· <print-permission>true</print-permission>
··············· <add-permission>true</add-permission>
··············· <del-permission>true</del-permission>
··············· <config-permission>true</config-permission>
······ </command>

······ <command>
··············· <name>Drucker ein bzw. aus !</name>
··············· <execute>sudo /scripts/togglerelay2.sh</execute>
··············· <local>true</local>
··············· <confirm>Drucker wirklich ein bzw. ausschalten ?</confirm>
··············· <remote>true</remote>
··············· <print-permission>true</print-permission>
··············· <add-permission>true</add-permission>
··············· <del-permission>true</del-permission>
··············· <config-permission>true</config-permission>
······ </command>

······ <execute name=”lighton” allowParams=”false” sync=”false”>sudo /scripts/lighton.sh</execute>
······ <execute name=”lightoff” allowParams=”true” sync=”false”>sudo /scripts/lightoff.sh</execute>
······ <execute name=”sendmessage_printdone” allowParams=”false” sync=”false”>sudo /scripts/sendmessage_printdone.sh</execute>
······ <execute name=”makepicture” allowParams=”false” sync=”false”>sudo /scripts/make_picture.sh</execute>
</config>

/etc/sudoers/ - Dateien
File: lighton
repetierserver ALL=NOPASSWD: /scripts/lighton.sh

File: lightoff
repetierserver ALL=NOPASSWD: /scripts/lightoff.sh

File: make_picture
repetierserver ALL=NOPASSWD: /scripts/make_picture.sh

File: sendmessage_printdone
repetierserver ALL=NOPASSWD: /scripts/sendmessage_printdone.sh

File: toggleprinter
repetierserver ALL=NOPASSWD: /scripts/togglerelay2.sh

ol.ac: 0 || pg.vs.td: 0 | pg.vs.ys: 6 | pg.vs.wk: 75 | pg.vs.mt: 216 ||  vs.td: 3(2) | vs.ys: 93(30) | vs.wk: 555(267 | vs.mt: 5339(1215)

You may also like...