Farbwechsel
Mein guter alter Anycubic Mega Pro kann nur eine Farbe drucken, da musste ich mir etwas einfallen lassen.
Die Ergebnisse aus dem Internet, wo ich das Filament von Hand in das Hotend drücken sollte, haben mir nicht gefallen. Den Befehl M600 unterstützt mein Drucker nicht, der für Farbwechsel nötig ist, um den aus Cura/Prusa raus zu starten. Ein Firmwareupdate schlug fehl, da Knutwurst die Endstopp-Schalter deaktiviert hat und der Drucker in alle Richtungen bis über den Anschlag hinaus fuhr.
Also, selber machen.
Etwas Code geschrieben und für gut befunden.
Was Bewirkt mein Schnipsel GCode denn?
Der Druck hält an, Druckkopf hebt sich, spielt einen Hinweiston, drückt altes Filament raus und fährt an die letzte Druckposition zurück um weiter zu drucken.
Das ist jetzt die erste Version von dem Code. Es wird noch eine Version geben, wo das Filament erst mal nach hinten rausgezogen wird, dann erst eingeschoben.
Vielleicht auch noch eine Version, wo der Drucker automatisch pausiert, nachdem er hochgefahren ist und man ihn dann per Tastendruck zum Filamentwechsel anstößt.
Hier die erste Version:
ACHTUNG!! Der Filamentsensor muß belegt sein!
Eine Anleitung, wie er im Prusaslicer anzuwenden ist, steht weiter unten. Cura geht zwar auch, ist aber im Vergleich zu Prusa unverhältnismäßig aufwendiger. Abgesehen davon, der Cura-Slice ist für den Anfang, oder wenn es einfache schnelle Sachen sind, ganz OK und erledigt seinen Job. Richtig einstellen und mehr Möglichkeiten sind aber ganz klar im Prusa-Slice gegeben.
Der Code ist 20 Zeilen.
;Ab hier kopieren und einfügen
G91 ;relative Position
G1 E-3.0 ;Filament zurueckziehen
G1 Z50 F1800 ;Duese um 50mm heben 30mms
M300 S1318 P480 ;Musik wird abgespielt
M300 S987 P480
M300 S880 P480
G4 S30 ;Pause 30sec
M300 S1318 P480 ;Noch ein Hinweiston 30sec um
M300 S987 P480
G4 S3 ;noch mal 3sec Pause
G1 F150 E250 ;Filament 250mm ausdruecken
G1 E-2 F500 ;Filament 2mm ruckziehen
M300 S1318 P800 ;lange Piepton zum Ende
G4 S3 ;3sec Pause Filamentreste abzuziehen, diese Zeile loeschen
G92 E0 ;Extruderposition auf 0
G1 F1200 Z-50.00 ;Duese faehrt auf alte Position zurueck
G90 ;Umschalten auf reale Position
G92 E0 ;Setzt Extruderposition auf 0
;Filamentwechsel Ende
G91 = sorgt dafür, dass die Positionsabfrage von absolut auf relativ umgestellt wird.
G1 = Befehl für eine geradlinige Bewegung. In Verbindung mit Z50.00 heißt das, dass die Achse Z um 50mm nach oben gefahren werden soll, und das mit einer Geschwindigkeit von 1800mm/min.
M300 = es wird ein Ton abgespielt. Da gibt es im Internet auch ganze Melodien, die durch den M-Befehl abgespielt werden können.
G4 = steht für eine Pause. Hinter dem S wird dieses mal eine Zeit in Sekunden angegeben. Die Zahl kann in deinem eigenen Code deinen Bedürfnissen angepasst werden.
G1 F150 E250 = zunächst einen geradlinige Bewegung, hier aber das Filament, was an dem E zu erkennen ist. Mit dem E wird der Extruder angesprochen. Er soll 250mm Filament fördern. Mit der Geschwindigkeit F von 150mm/min. Achtung!! Im Slice wird meistens mit mm/sec gerechnet, im GCode aber mm/min. Also umrechnen nicht vergessen.
G92 E0 = der G92 steht für absoluten Wert und weil E angesprochen wird, setzt der Befehl den Extruder damit auf 0.
G1 E-2 = den sollten wir jetzt langsam kennen. das minus – gibt eine negative, eine Rückwärtsbewegung an. Somit drückt bei der Konstellation das Filament nicht vorne aus die Düse, sondern wird etwas zurückgezogen (Retrackt).
G1 F1200 Z-50.00 = genau wie beim Extruder gibt das minus – eine Rückwärtsbewegung an. Wir müssen ja wieder auf unsere ursprüngliche Position am Druckteil zurück. Wenn du am Anfang des Codes z.B. hinter dem Z50.00 noch X50.00 schreiben würdest, dann fährt der Drucker nicht nur nach oben, sondern auch noch 50mm zur Seite. Die gleichen 50.00mm müssen aber dann auch hier am Ende wieder mit X-50.00 zurück. F gibt wieder die Geschwindigkeit in mm/min an.
G90 = stellt die Position wieder von relativ auf absolut um, also das Gegenteil von G91.
Weil wir von relativ auf absolut gestellt haben, setzen wir die Position vom Filament noch mal auf 0 zurück, um sicher zu gehen, dass der Extruder nicht noch mal in irgendeine Richtung dreht.