3D Druck Erfahrungen mit dem AnyCubic i3 Mega S

Vor einigen Wochen habe ich einen gebrauchten AnyCubic Mega S gekauft. Dies ist mein erster 3D Drucker und ich möchte einige Erfahrungen festhalten.

Ein 3D Drucker schmelzt Kunststoff (Filament) und drückt ihn durch eine dünne Düse (Nozzle) auf die Druckunterlage oder bestehende Schichten und baut dann schichtweise ein Objekt auf.

Erst einmal habe ich festgestellt, daß ich mit dem mitgekauften Extrudr PETG Anthrazit-Grau Filament überhaupt nicht zurechtkam. Die Drucke haben nicht auf der Ultrabase (dem Druckbrett) gehalten. Nach einigem Frust habe ich dann das Original AnyCubic PLA Filament in schwarz erworben. Als erstes habe ich einfach die mitgelieferte Druckdatei owl_pair.gcode von SD Karte gedruckt. Die wurde schon mal nicht schlecht und meine Begeisterung für 3D Druck begann.

Dann habe ich verschiedene Testdateien, z.B. einen Temptower, mit dem AnyCubic PLA gedruckt. Dabei störten mich die vielen, dünnen Druckfäden (Stringing).

Also habe ich versucht, mich im Internet schlau zu machen. Da gibt es Unmengen Tipps zur Verbesserung eines 3D Drucks. Düsen/Druck-Temperatur rauf oder runter, Retract (Filament-Rückzug) stärker oder/und schneller/langsamer. Mittlerweile verwende ich einen angepassten Retract von 1mm plus 3,5mm für das Bowdenspiel (Spiel des Filament im PTFE Schlauch/Bowden zum Druckkopf) und möglichst schnelle Bewegungen in den Druckpausen (Travel oder Move Einstellungen).

Druckaufbereitung

Wenn man eine 3D Objekt-Datei drucken möchte, muß diese erst in Druckbefehle (G-Code) umgewandelt werden. Dies erfolgt mit sogenannten Slicer Programmen. Ein gängiges 3D Format ist STL. Viele Objekte liegen nur als STL vor, was dann die Nachbearbeitung oder Reparatur erschwert (Stichwort Manifold). Manche Druckprogramme können auch STL reparieren, aber manchmal kommt dabei etwas heraus, das man nicht drucken möchte oder erst am Ende des Drucks feststellt. Eine Bitte an alle Thingiverse publizierenden wäre, daß sie die Original Objekt-Dateien mit zur Verfügung stellen. Übrigens sehe manche Sachen in Thingiverse super aus, kann man aber so gar nicht drucken. Die Darstellung der Objekte aus dem verwendeten 3D Programm ist toll, aber wenn es für 3D Drucker sein soll, sollte auch ein Beispielfoto dabei sein.

Vom Slice Programm und den Einstellungen hängt es ab, wie gedruckt wird. Je nach Einstellung gehen Details verloren (z.B. kleine Bohrungen) oder es werden in der Luft Filamentkringel gedruckt, weil kein Support angegeben wurde.

Schichtdicke / Layer Height

Eine wichtige Einstellung ist die Schichtdicke, in der Regel zwischen 0,1mm und 0,3mm bei einer 0.4mm Drückdüse.

Druck-Temperatur

Mit welcher Temperatur soll die Druckdüse drucken. Ich nehme 190-200°C für PLA und 240°C für das Extrudr PETG. Bei PLA drucke ich die erste Schicht meist 10°C höher. Das Anycubic PLA druckte sogar bei (angeblichen) 175°C am besten. Ich hatte die Temperatur mit einem UNI-T Digital Thermometer und einem sehr kleinen K-Sensor an der Düse und am Düsenblock mal nachgemessen. Dabei hatte ich bei der Einstellung 170°C schon 190°C an der Düse gemessen. Nachdem ich das Ersatz-Hotend (Druckdüse, Heizbloch, Heatbreak mit Heizung und Temperatur-Sensor) mit einer neuen original E3D Düse eingebaut hatte, war die 175°C Einstellung bei dem AnyCubic Filament aber zu wenig, es kam zu Filamentfluß-Unterbrechungen. Nach dem Extruder und Düsenwechsel habe ich auch PETG vernünftig drucken können. Düsen soll man wohl generell von Zeit zu Zeit wechseln. Aber bitte im heißen Zustand Aus- und Einschrauben (ich benutze dazu einen Heißluft Bläser). Mir war die alte Düse im alten Extruder-Heizblock beim Losschrauben abgerissen. Gott sei Dank stand noch genügend über, so daß ich den Rest im heißen Zustand nach Einsägen einer Kerbe ausdrehen konnte.

Druckbrett Temperatur

Bei PLA heizt das Druckbett (oder Brett oder Platte?) bei mir während des Druckens auf 60°C. Bisher hält der PLA.Druck auf der Ultrabase Glasplatte sehr gut. Ich reinige immer mit Isopropanol (70%) und ab und zu mit Glasreiniger. Habe auch schon mal 1200er Nass-Schleifpapier verwendet, nachdem der PETG Skirt (umlaufende Linie außerhalb des Drucks, um einen gleichmäßigen Fluß des Filaments am Anfang des Druckvorgangs sicherzustellen) gar nicht abgehen wollte. Bei PLA und PETG löse ich den Druck nach dem Abkühlen der Platte.

Kühlung

Bei PLA läuft der Lüfter mit 100%, außer bei der ersten Schicht. Bei PETG verwende ich gar keine Kühlung.

Bisher habe ich noch kein optimales Programm zum Drucken gefunden. Die Slicer von Cura, Prusa und deren Derivate überfordern mit einer Unmenge an Einstellungen (obwohl sie meist auch global einen Anfänger, Fortgeschrittenen und Experten Modus mit reduzierten Optionen anbieten). Nicht schlecht finde ich Simplify3D, insbesondere der gedruckte Support ist leicht zu entfernen. Bei den anderen Tools wird teilweise Support generiert, den man kaum vom Objekt abtrennen kann. Leider finden sich viele Einstellungen der Slic3r Programme (Cura, Prusa etc) nicht in Simplify3D wieder, haben eine total andere Bezeichnung oder verwenden andere Maßeinheiten (z.B. mm/min statt mm/sec). Ich erwähne das, weil es schwieriger ist empfohlene Sli3r Einstellungen in Simplify3D zu übertragen.

An SuperSlicer, auch ein Slic3r Abkömmling, gefällt mir besonders die automatische Generierung von Testobjekten für Bedleveling, Materialfluß, Temperatur Tower und andere. Da muß man nicht langen an Scripten und Plugins rumschrauben.

Einige Kalibrierungs Ausdrucke aus SuperSlicr

Druckgeschwindigkeit

PLA drucke ich meist mit 60mm/sec. Die erste Schicht und Außen- und Innenwände langsamer. PETG drucke ich langsamer, bei 40mm/sec und 25mm/sec. Den Travel oder Move Speed setze ich auf 250mm/sec (15000mm/min). Das verringert das Stringing zusammen mit einem Retract.

Rückzug / Retract

Das Bowdenspiel meines AnyCubic Mega S habe ich mit 3,5mm gemessen. Also Bowden aus dem Extruder (dem Filament Vorschub Motorblock) gezogen, Filament unter Spannung in den Bowden geschoben und Ende am Bowden markiert. Dann am Filament gezogen und dabei den Bowden (PTFE Schlauch) am Ende festgehalten und den Abstand der Markierung zum Bowdenende gemessen. Bei mir sind dies 3,5mm. Dies bedeutet, wenn das Filament unter Spannung zum Heatend geführt wird und dann zurückgezogen wird, muß der Extruder erst mal ca. 3,5mm ziehen bevor das Filament am Heatend gezogen wird. Nun wird ein Unterschiede zwischen Direct-Extruder und Bowden Extruder klar. Beim Direct-Extruder hat man nicht so viel Spiel zwischen Druck und Zug des Filament.

Extruder Kalibrierung

Ach ja, was man auch unbedingt an seinem Drucker machen sollte ist die Extruder Kalibrierung. Dabei misst man ab, wieviel Filament gefördert wird, wenn z.B. 100mm gefördert werden sollen. Der Korrekturwert wird dann in der Druckerfirmware hinterlegt.

Ergebnis

Anhand der Einstellungen wird das 3D Objekt in zu druckende Schichtlinien umgerechnet. Dabei versuchen die Programme die Umrechnung der vielen tausende Dreiecke zu optimieren. Die meisten Programme schreiben ihre Einstellungen oder einen Teil davon mit in die G-Code Druckdatei. Manchmal sind diese Daten in der G-Code Datei aber komprimiert und nicht direkt lesbar.

Es gibt keine optimale Einstellung für alle Druckobjekte und sie sind stark vom jeweiligen Drucker abhängig. Viele Einstellungen und Tipps funktionieren bei einem Drucker und bei einem anderen nicht. Die Streuung und die Genauigkeit der Drucker ist selbst in der gleichen Modellreihe unterschiedlich. Alleine das Setzen einer Soll-Temperatur und die tatsächliche Druckdüsen-Temperatur kann schon unterschiedlich sein.

Verwendete Filamente

  • Extrudr PETG Anthrazit Grau

Tourist Duck in PETG

  • AnyCubic PLA Schwarz 🙁

owl pair in Anycubic PLA black

  • Proca PLA Anthrazit Grau

 

owls Proca PLA

cat moon Proca PLA

  • OWL Filamentwerk Blau

benchy OWL Filamentwerk PLA Blau

Get Profile Setting from AnyCubic gcode 3D print file

I wanted to see the settings and profile used to print the sample Owl_pair.gcode. The file has the settings included at the end starting with

;CURA_PROFILE_STRING:

After that there is the base64 encoded zlib inflated profile data. You can extract it by removing everything before the following start code similar to ‘eNrtWk’ (6 bytes or chars) and after the == at the end of this line.

Here is a single line to do this within a Linux system with zlib-flate fro qpdf installed:

awk -F ';CURA_PROFILE_STRING:' '{print $2}' <Owl_pair.gcode |base64 -d -i | zlib-flate -uncompress | tr '\010' '\012' >Owl_pair.gcode.settings

Or here the bash script I used:

#!/bin/sh
# awk -F ';CURA_PROFILE_STRING:' '{print $2}' <Owl_pair.gcode |base64 -d -i | zlib-flate -uncompress | tr '\010' '\012' >Owl_pair.gcode.settings
infile=$1
[ $# -eq 0 ] && { echo "Usage: $0 gcode-file"; exit 999; }
echo "$0\ntool to extract cura settings from gcode file\n"
if [ -f ${infile} ];
then
awk -F ';CURA_PROFILE_STRING:' '{print $2}' < ${infile} |base64 -d -i | zlib-flate -uncompress | tr '\010' '\012' > ${infile}.settings
# less ${infile}.settings
else
echo "\n${infile} not found!\n"
fi
if [ -s ${infile}.settings ];
then
echo "\nSettings written to ${infile}.settings"
else
echo "\nNO Settings found. Either missing ';CURA_PROFILE_STRING:' in gcode file or base64 decode or zlib deflate failed\n"
if [ -f ${infile}.settings ];
then
#delete empty file
rm ${infile}.settings
fi
fi

The output looks similar to this:

layer_height=0.2
wall_thickness=1.2
retraction_enable=True
solid_layer_thickness=1.2
fill_density=25
print_speed=50
print_temperature=200
print_temperature2=0
print_temperature3=0
print_temperature4=0
print_temperature5=0
print_bed_temperature=60
support=None
platform_adhesion=None
support_dual_extrusion=Both
wipe_tower=False
wipe_tower_volume=15
ooze_shield=False
filament_diameter=1.75
filament_diameter2=0
filament_diameter3=0
filament_diameter4=0
filament_diameter5=0
filament_flow=100.0
nozzle_size=0.4
retraction_speed=60.0
retraction_amount=5
retraction_dual_amount=16.5
retraction_min_travel=1.5
retraction_combing=All
retraction_minimal_extrusion=0.02
retraction_hop=0.0
bottom_thickness=0
layer0_width_factor=140
object_sink=0
overlap_dual=0.15
travel_speed=60
bottom_layer_speed=20
infill_speed=0.0
solidarea_speed=30
inset0_speed=30
insetx_speed=40.0
cool_min_layer_time=5
...

 

Settings location for Ultimaker Cura Linux AppImage

Where does Ultimaker Cura AppImage store plugins and settings?

There are two locations. One is the $HOME/.config/cura/ directory and the other is %HOME/.local/share/cura/ folder.
For example: The material folder of Ultimaker Cura 4.9 with your custom changes is at $HOME/4.9/materials/.

Beispiel Kunden-Programmierung: Honeywell BasicTE

Ein Honeywell Kunde möchte von CK3, Windows Mobile 6, Intermec Terminal Emulation zu Honeywell CK65, Android 9, Honeywell BasicTE wechseln.

Für die SAP Telnet/VT Anwendung werden zwei spezielle Anpassung notwendig:

  1. Beim  Drücken der F5 Taste soll die Zeichenfolge “~[35” (F21) zum Host gesendet werden
  2. Wenn GS1-128 Barcode Typen gescannt werden, sollen diese mit dem Präfix [C1 versehen werden.
  3. Das GS Symbol in GS1-128 Barcode Typen muß durch “#” ersetz werden.

Die oben genannten Bedingungen sind auf dem CK3 implementiert. Dort kann man zB den Symbology Identifier (Aim ID) nur für GS1-128 einsetzen lassen. Auf dem CK65 ist diese Aim ID Einfügung nur global für alle Barcode Typen einschaltbar. Die Ersetzung des GS Symbols (hex: 0x1D) ist auf dem CK3 ebenfalls von Haus aus möglich. Der CK65 bietet dies Möglichkeit im Zusammenhand mit Honeywell BasicTE nicht.

Die Tastenbelgung F5->”~[35″ ist in der BasicTE Anwendung über die Anpassung der CustomKeyboard.xml möglich, welche auch das Tastenlayout und die Funktionen der BasicTE Software Tastatur bestimmt.

Da die BasicTE den Barcode Scanner direkt ansteuert muß die Aim ID Einsetzung und die GS Symbol ersetzung über ein sogenanntes DataEdit Plugin realisiert werden. Dazu ist etwas Android Programmierung notwendig. Diese Android Programm erhält dann die Barcode Daten und den Typ über einen Broadcast und kann die Daten dann verändert zurückliefern.

Nach erstenTests und Korrekturen kann der Kunde nun das CK65 uneingeschränkt statt dem CK3 verwenden.