Mein Start- und Ende- GCode für den Anycubic i3 Mega
Man kann eigentlich in jedem Slicing-Programm - ich verwende zur Zeit ideaMaker von Raise3D, aber das geht natürlich auch in Cura von Ultimaker und anderen) einen GCode eingeben, der vor dem Druck (Start-GCode) bzw. nach dem Druck (Ende-GCode) ausgeführt werden soll.Der Slicer fügt dann beim slicen, also dem Prozess, bei dem er das 3D-Modell in GCode-Befehle umwandelt, eben diese zuvor definierten GCode-Passagen in den geslicten GCode ein.
GCode ist eine Beschreibungssprache für den Drucker (und andere 3D-Geräte wie CNC-Fräsen etc.), die mit kurzen Befehlen angeben, wo der Druckkopf langfahren soll und bei 3D-Druckern auch, wie heiß der Druckkopf sein muss, wie heiß das Bett, wie das Filament zugeführt wird usw. usf.
Der Anycubic i3 mega benutzt die sogenannte Marlin Firmware und benutzt damit die Marlin GCode-Befehle.
Mit den richtigen GCodes kann man so seinen Drucker steuern, um einen besseren Druck zu bekommen oder das Handling ein bisschen komfortabler zu gestalten. Was ich mit meinen GCodes gemacht habe.
Mein Start-GCode
Wer keinen Start-Gcode hat, dürfte das Problem kennen: Bei Druckbeginn hat der 3D-Drucker eine kleine Wurst in der Düse, die er dann - je nachdem wann diese dann abreißt und auf der Druckplatte liegenbleibt - auf besondere Weise in der Druck einarbeitet, meist so, dass es hässlich aussieht. Entweder steht etwas über den Rand über und muss mit dem Seitenschneider abgezackt werden oder die ansonsten perfekte Grundplatte "ziert" eine querliegende Wurst.Dafür kann man jetzt ein Skirt drucken. Dann fährt der Druckkopf ein paar mal um das eigentliche Objekt herum und druckt hier seine Bahnen. Darin werden dann noch anhänge Filamentreste in der meisten Fälle eingearbeitet oder bleiben hängen. Wenn es dann an der Druck des richtigen Objektes geht, ist das Filament bereits im Fluss und es gibt einen schönen Druck. Meistens.
Mit meinem GCode lasse ich den Druckkopf haarscharf und ganz langsam von der Ecke unten links ein bisschen nach rechts fahren. Vorher wird noch ein bisschen Filament herausgedrückt, damit es in Fluss kommt. Das bleibt dann an der Ecke hängen bzw. haftet am Bett durch die langsame Fahrt. Danach schließt sich eine rasante Fahrt des Druckkopfes an, die den Filamentfaden abreißen lässt. Der Start an der eigentlichen Druckposition geschieht dann sauber.
Im ideaMaker editiert man am besten die Einstellungen für das Filament und fügt dort unter Custom GCode seinen Start- und Ende- GCode ein. Dabei können die rechts angegebenen Variablen im GCode benutzt werden (geschweifte Klammern sind mit anzugeben):
Mein GCode sieht komplett so aus:
; Druck Start Melodie
; StarTrek
M300 S1396 P714
M300 S932 P238
M300 S2489 P1428
M300 S2349 P476
M300 S932 P357
M300 S1567 P357
M300 S2093 P357
M300 S2793 P952
G21 ; metrische mm
G90 ; absolute positionierung
M82 ; extruder auch im absoluten Modus
M106 S0 ; am Anfang Luefter aus
M107
G28 X0 Y0 ; auf HOME Poition X/Y
G28 Z0 ; und Z Home
M117 Filament nachfuellen...
; M117 sind Meldungen auf das Display, geht beim i3 mega leider nicht
; sonst fehlt was bei zu kleinen Skirts
G1 Z10.0 F2400 ; auf 10 mm hoch
G92 E0 ; extrudierte Laenge zuruecksetzen
G1 F200 E10 ; ca. 4mm extrudieren
G92 E0
M117 Filament abstreifen...
G1 Z0.1 F2400 ; auf 0.1mm gehen
G1 X10 F100 ; langsam nach rechts, damit es anhaftet
G1 X30 F7200 ; dann 2cm ganz schnell nach rechts, damit er es verliert
G1 Z2.0 ; dann wieder ein Stueck hoch
;G1 X100 F7200; und dann nochmal schnell nach rechts
G1 F{travel_xy_speed}
;Skirt sollte gedruckt werden, da das Filament erst ein wenig später flüssig kommt
M117 Drucke...
G90; absolute positionierung
G5
Was im einzelnen passiert, ist den Kommentaren zu entnehmen. Das sollte gut erklärt sein. Schaut euch auch das Video am Ende des Artikels an, dass wird ganz schnell, was vor sich geht.Wichtig ist, zu wissen, dass ideaMaker im absoluten Positionierungsmodus arbeitet und seinen GCode generiert. Dieser wird mit G90 gesetzt. Wenn wir jetzt den relativen Modus mit G91 setzen, weil dieser einfacher zu handeln ist, weil sich die zu machenden Angabe immer relativ zur letzten Position beziehen, dann dürfen wir nicht vergessen, am Schluss auch wieder auf den absoluten Positionierungsmodus mit G90 zurückzugesetzen. Sonst fährt der Druckkopf sonstwo hin und hinterlässt uns im dümmsten Fall einen Kratzer im Druckbett. So etwas ist sehr ärgerlich, besonders, wenn man bei jedem Ausdruck diesen Kratzer in der Grundplatte wiederfindet.
Octoprint ist so klug, anzumerken, wenn dadurch der gültige Druckraum verlassen wird. Diese Warnung sollte man nicht ignorieren, sondern zum Anlass nehmen, seinen GCode noch einmal zu überprüfen. Verdächtig ist auch, wenn das Objekt im Preview des Slicers nicht komplett oder seltsam gerendet ist.
Mein Ende GCode
Am Ende eines Druckvorgangs soll der Druckkopf aus dem Weg gefahren werden und die Platte ganz nach vorne. So kommt mehr Luft unter die Druckplatte und sie kühlt schneller ab. Außerdem lässt sich so der Druck einfacher entnehmen, es ist nichts im Weg.Das Heizbett, die Nozzle-Heizung und die Motoren sollen natürlich auch ausgeschaltet werden, alles andere wäre Stromverschwendung, jetzt wo der Druck fertig ist.
Ganz zum Schluss spielt noch eine kleine Melodie, damit ich weiß, dass der Druck jetzt fertig ist und ich ihn bald von der Platte nehmen kann, weil er in so 5 bis 10 Minuten abgekühlt ist.
Mein Ende-GCode sieht komplett so aus:
M104 S0 ; Extruder aus
M140 S0 ; Heizbett aus
M107; Luefter aus
G91 ; relative Positionierung
G1 E-1 F300 ; etwas Filament retracten, damit nichts am Druck kleben bleibt
G1 Z+0.5 E-5 ; X-20 Y-20 F{travel_xy_speed} ; Druckkopf anheben und noch mehr Filament zurückziehen
G28 X0 ;Y0 ; Kopf nach abs. Home fahren (X/Y) = Kopf aus dem Weg und Druckplatte vor
G1 Y180 F2000 ; Feeding-Rste setzen
M84 ; Motoren aus
G90 ; absolute Positionierung (falls doch noch Befehle danach kommen)
;M300 P300 S4000 ; ein langer Ton für Druckende
;Ende Druck Melodie
;MauroPicottoKomodo
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S1174 P181
M300 S2349 P181
M300 S0 P363
M300 S1174 P181
M300 S2349 P181
M300 S0 P363
M300 S1174 P181
M300 S2349 P181
M300 S1174 P181
M300 S2349 P181
M300 S0 P363
M300 S1174 P181
M300 S2349 P181
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S880 P181
M300 S1760 P181
M300 S0 P90
M300 S1760 P181
M300 S0 P90
M300 S880 P181
M300 S1760 P181
M300 S0 P90
M300 S1760 P181
M300 S0 P90
M300 S2093 P181
M300 S2349 P181
Auch hier ist alles mit Kommentaren erklärt und damit verständlich sein.Spaß mit Melodien
Witzig finde ich auch, dass man mit M300 Sxxx Pxxx Töne ausgeben kann. Beim Anycubic i3 Mega kommen die dann irgendwo aus Richtung Display. Allerdings ist der Piepser nicht für alle Tonhöhen geeignet.Der GCode-Befehl dafür ist wie folgt definiert:
M300 [P] [S]
Parameters
[P] Duration
[S] Frequency
Ich habe euch ein paar Melodien nachfolgend zusammengestellt. Probiert doch einfach selbst, wie es sich bei euch anhört und was euch am besten gefällt.
;Zelda Theme
M300 S987 P600
M300 S1479 P900
M300 S987 P300
M300 S987 P150
M300 S2217 P150
M300 S2489 P150
M300 S2637 P150
M300 S2959 P1200
M300 S2959 P300
M300 S2959 P225
M300 S3135 P225
M300 S1760 P225
M300 S1975 P1200
M300 S1975 P150
M300 S1975 P225
M300 S1760 P225
M300 S3135 P225
M300 S1760 P450
M300 S3135 P225
M300 S2959 P1200
M300 S2959 P600
M300 S2637 P300
M300 S2637 P225
M300 S2959 P150
M300 S3135 P1200
M300 S2959 P300
M300 S2637 P300
M300 S2349 P300
M300 S2349 P150
M300 S2637 P150
M300 S2959 P1200
M300 S2637 P300
M300 S2349 P300
M300 S2217 P300
M300 S2217 P150
M300 S2489 P150
M300 S2793 P1200
M300 S3322 P600
M300 S2959 P1200
;MauroPicottoKomodo
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S1174 P181
M300 S2349 P181
M300 S0 P363
M300 S1174 P181
M300 S2349 P181
M300 S0 P363
M300 S1174 P181
M300 S2349 P181
M300 S1174 P181
M300 S2349 P181
M300 S0 P363
M300 S1174 P181
M300 S2349 P181
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S1396 P181
M300 S1567 P181
M300 S0 P363
M300 S1396 P181
M300 S1567 P181
M300 S880 P181
M300 S1760 P181
M300 S0 P90
M300 S1760 P181
M300 S0 P90
M300 S880 P181
M300 S1760 P181
M300 S0 P90
M300 S1760 P181
M300 S0 P90
M300 S2093 P181
M300 S2349 P181
;Star Wars
M300 S1396 P166
M300 S1396 P166
M300 S1396 P166
M300 S932 P1000
M300 S2793 P1000
M300 S2489 P166
M300 S2349 P166
M300 S2093 P166
M300 S1864 P1000
M300 S2793 P500
M300 S2489 P166
M300 S2349 P166
M300 S2093 P166
M300 S1864 P1000
M300 S2793 P500
M300 S2489 P166
M300 S2349 P166
M300 S2489 P166
M300 S2093 P666
M300 S0 P333
M300 S1396 P166
M300 S1396 P166
M300 S1396 P166
M300 S932 P1000
M300 S2793 P1000
M300 S2489 P166
M300 S2349 P166
M300 S2093 P166
M300 S1864 P1000
M300 S2793 P500
M300 S2489 P166
M300 S2349 P166
M300 S2093 P166
M300 S1864 P1000
M300 S2793 P500
M300 S2489 P166
M300 S2349 P166
M300 S2489 P166
M300 S2093 P666
;StarTrek
M300 S1396 P714
M300 S932 P238
M300 S2489 P1428
M300 S2349 P476
M300 S932 P357
M300 S1567 P357
M300 S2093 P357
M300 S2793 P952
;How much is the fish
M300 S1567 P206
M300 S1567 P206
M300 S1396 P103
M300 S1318 P103
M300 S1396 P413
M300 S1174 P310
M300 S1046 P103
M300 S1174 P206
M300 S1567 P206
M300 S1567 P206
M300 S1396 P206
M300 S1318 P206
M300 S1567 P206
M300 S1567 P206
M300 S1396 P103
M300 S1318 P103
M300 S1396 P413
M300 S1174 P413
M300 S1318 P206
M300 S1046 P206
M300 S1174 P827
M300 S0 P206
;Bolero
M300 S2093 P750
M300 S2093 P375
M300 S987 P187
M300 S2093 P187
M300 S2349 P187
M300 S2093 P187
M300 S987 P187
M300 S880 P187
M300 S2093 P375
M300 S2093 P187
M300 S880 P187
M300 S2093 P750
M300 S2093 P375
M300 S987 P187
M300 S2093 P187
M300 S880 P187
M300 S1567 P187
M300 S1318 P187
M300 S1396 P187
M300 S1567 P1500
M300 S1567 P187
M300 S1396 P187
M300 S1318 P187
M300 S1174 P187
M300 S1318 P187
M300 S1396 P187
M300 S1567 P187
M300 S880 P187
M300 S1567 P750
M300 S1567 P750
M300 S1567 P187
M300 S880 P187
M300 S987 P187
M300 S880 P187
M300 S1567 P187
M300 S1396 P187
M300 S1318 P187
M300 S1174 P187
M300 S1318 P187
M300 S1174 P187
M300 S1046 P375
M300 S1046 P375
M300 S1046 P187
M300 S1174 P187
M300 S1318 P375
M300 S1396 P375
M300 S1174 P750
M300 S1567 P1500
;Coca-cola
M300 S2959 P240
M300 S2959 P240
M300 S2959 P240
M300 S2959 P240
M300 S3135 P480
M300 S2959 P240
M300 S2637 P480
M300 S2637 P240
M300 S1760 P240
M300 S2959 P480
M300 S2349 P480
M300 S0 P960
;Deutschlandlied
M300 S1567 P750
M300 S880 P187
M300 S987 P375
M300 S880 P375
M300 S2093 P375
M300 S987 P375
M300 S880 P187
M300 S1479 P187
M300 S1567 P375
M300 S2637 P375
M300 S2349 P375
M300 S2093 P375
M300 S987 P375
M300 S880 P375
M300 S987 P187
M300 S1567 P187
M300 S2349 P750
M300 S1567 P750
M300 S880 P187
M300 S987 P375
M300 S880 P375
M300 S2093 P375
M300 S987 P375
M300 S880 P187
M300 S1479 P187
M300 S1567 P375
M300 S2637 P375
M300 S2349 P375
M300 S2093 P375
M300 S987 P375
M300 S880 P375
M300 S987 P187
M300 S1567 P187
M300 S2349 P750
M300 S880 P375
M300 S987 P375
M300 S880 P187
M300 S1479 P187
M300 S1174 P375
M300 S2093 P375
M300 S987 P375
M300 S880 P187
M300 S1479 P187
M300 S1174 P375
M300 S2349 P375
M300 S2093 P375
M300 S987 P750
M300 S987 P187
M300 S2217 P375
M300 S2217 P187
M300 S2349 P187
M300 S2349 P750
M300 S3135 P750
M300 S2959 P187
M300 S2959 P187
M300 S2637 P187
M300 S2349 P375
M300 S2637 P750
M300 S2349 P187
M300 S2349 P187
M300 S2093 P187
M300 S987 P375
M300 S880 P750
M300 S987 P93
M300 S2093 P93
M300 S2349 P187
M300 S2637 P187
M300 S2093 P187
M300 S880 P187
M300 S1567 P750
M300 S987 P187
M300 S880 P187
M300 S1567 P750
;FunkyTown
M300 S2093 P240
M300 S2093 P240
M300 S932 P240
M300 S2093 P240
M300 S0 P240
M300 S1567 P240
M300 S0 P240
M300 S1567 P240
M300 S2093 P240
M300 S2793 P240
M300 S2637 P240
M300 S2093 P240
M300 S0 P960
M300 S2093 P240
M300 S2093 P240
M300 S932 P240
M300 S2093 P240
M300 S0 P240
M300 S1567 P240
M300 S0 P240
M300 S1567 P240
M300 S2093 P240
M300 S2793 P240
M300 S2637 P240
M300 S2093 P240
;SuperMario
M300 S0 P600
M300 S1046 P450
M300 S1567 P150
M300 S0 P300
M300 S1318 P300
M300 S0 P150
M300 S880 P300
M300 S987 P150
M300 S0 P150
M300 S932 P150
M300 S880 P300
M300 S1567 P450
M300 S2637 P300
M300 S3135 P300
M300 S1760 P300
M300 S2637 P150
M300 S3135 P150
M300 S0 P150
M300 S2637 P300
M300 S2093 P150
M300 S2349 P150
M300 S987 P450
M300 S2093 P450
M300 S1567 P150
M300 S0 P300
M300 S1318 P300
M300 S0 P150
M300 S880 P300
M300 S987 P150
M300 S0 P150
M300 S932 P150
M300 S880 P300
M300 S1567 P300
M300 S2637 P300
M300 S3135 P300
M300 S1760 P300
M300 S2793 P150
M300 S3135 P150
M300 S0 P150
M300 S2637 P300
M300 S2093 P150
M300 S2349 P150
M300 S987 P300
;Super Mario Bros Death Theme
M300 S2093 P83
M300 S2093 P83
M300 S2093 P83
M300 S0 P333
M300 S987 P166
M300 S2793 P166
M300 S0 P166
M300 S2793 P166
M300 S2793 P250
M300 S2637 P250
M300 S2349 P166
M300 S2093 P166
M300 S0 P166
M300 S1318 P166
M300 S0 P166
M300 S1046 P166
Vielleicht wichtig noch zu bemerken, dass die einzelnen M300-Zeilen getrennt untereinander stehen müssen. Mehrere oder alle in eine Zeile zu schreiben funktioniert nicht und führt zu einem Absturz des Druckers.