Ich bastel gerade ein wenig an meinem Prusa rum... Ich möchte ihn zweckentfremden und zu einer kleinen Graviermaschine und ggf. zu einem Laserplotter umbauen. Als erste Umbaumassnahme ist der Endschalter für Z auf die MAX-Position gewandert. Zum einen brauche ich das fürs Fräsen, zum anderen hat mich dieser Blogpost von Nophead dazu gebracht:
http://hydraraptor.blogspot.de/2012/06/only-way-is-up.html
So weit, so gut. Nun muss der Prusa vor jedem Druck einmal zum Z-MAX fahren, um sich dann wieder komplett runter zum Druckbett zu bewegen. Das kostet Zeit und hat mich irgendwie genervt - auch wenn die paar Sekunden im Anbetracht der Gesamtdruckzeit komplett zu vernachlässigen sind.
Aber es gibt ein paar Möglichkeiten, die Verfahrzeit mit sinnvollen Aufgaben zu füllen - wie z.B. dem Aufheizen des Druckbetts. Ich verwende meist Cura und hier ist es so, dass die Firmware bis zum Erreichen der Zieltemperatur wartet und dann erst die nächsten Zeilen abarbeitet.
Ein Blick in einen von Cura erzeugten Gcode zeigt was geschieht:
M190 S100.000000
M109 S250.000000
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z15.0 F9000 ;move the platform down 15mm
;Put printing message on LCD screen
M117 Printing...
Ein paar Details habe ich der Übersichtlichkeit halber gelöscht. Die ersten beiden Zeilen sind setzen die Temperatur für das Heizbett und das Hotend.
In einfache Sprache übersetzt, sieht der Workflow wie folgt aus:
- setze Heizbett auf 100°C
- warte bis zum Erreichen der Temperatur
- setze Hotend auf 250 °C
- warte bis zum Erreichen der Temperatur
- Fahre auf Nullpunkt für X, Y und Z
- Fahre Z auf Höhe 15mm über Heizbett
- ..los geht der Druck
Nun habe ich ein paar Anpassungen vorgenommen, um auf folgenden Workflow zu kommen:
- setze Heizbett auf 100°C
- Fahre auf Nullpunkt für X, Y und Z
- warte bis zum Erreichen der Temperatur
- setze Hotend auf 250 °C
- Fahre Z auf Höhe 15mm über Heizbett
- warte bis zum Erreichen der Temperatur
- ..los geht der Druck
Ihr seht - im Endeffekt müssen die gleichen Vorraussetzungen erfüllt sein, bis der Druck starten kann. Aber während das Heizbett aufheizt, kann ich bereits meine Nullpunkte anfahren und nutze die Aufwärmphase des Hotends, um wieder in Richtung Bett zu fahren.
Für die Umsetzung mit Cura müssen nur wenige Anpassungen an dem
start.gcode vorgenommen werden:
M140 S{print_bed_temperature}
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
M190 S{print_bed_temperature}
M104 S{print_temperature}
G1 Z15.0 F9000 ;move the platform down 15mm
M109 S{print_temperature}
;Put printing message on LCD screen
M117 Printing...
Die beiden Kommandos
M140 und
M104 machen den Unterschied.
Als nächstes gehe ich mal den
end.gcode an..
Habt ihr Ideen für weitere Änderungen? Immer her damit..!