So konfigurieren Sie Cura für den Betrieb der Z-Sonde vor dem Erhitzen

12

Ich verwende Cura als Slicing- / Drucksoftware und habe gerade angefangen, die BuildTak-Druckoberfläche zu verwenden.

Der BuildTak wird beschädigt, indem eine heiße Düse hineingeschoben wird. Die automatische Niveauregulierung meines Druckers (Robo3D R1 +) funktioniert, indem die Düse in die Oberfläche des Aufbaus geschoben wird.

Gibt es eine Möglichkeit, Cura so zu konfigurieren, dass zuerst die Z-Sonde und dann die Düse erwärmt wird?

Mein erstes Blatt BuildTak enthält bereits 10 kleine Löcher (an der Referenzposition und an den 9 Berührungspunkten für die Nivellierung).

Nir
quelle

Antworten:

9

In Cura (und Slic3r) können Sie 100% anpassen, was der Drucker tut, bevor Sie Ihr tatsächliches Modell über benutzerdefinierten Start- / End-G-Code drucken .

Wenn Sie zu navigieren Start/End-GCode tab in Cura, dann wählen start.gcodeSie, können Sie sehen, welche Vorgänge ausgeführt werden, bevor jeder Druck beginnt. Mit einem Präfix versehene Zeilen ;sind Kommentare und wirken sich in keiner Weise auf den Druck aus.

Grundsätzlich möchten wir den Drucker anweisen, vor dem Aufheizen der Düse die automatische Nivellierung durchzuführen, indem der G-Code in bearbeitet wird start.gcode.

G-Code generiert mit dem Standard start.gcode:

Wenn Sie versuchen, ein Modell mit dem Standardcode in Scheiben zu schneiden start.gcode, erhalten Sie (abhängig von Ihrem Drucker) Folgendes:

; CURA AUTOMATICALLY INSERTS THESE TEMPERATURE CODES

M190 S70.000000 ; Set bed temperature to 70 degrees
M109 S210.000000 ; Set nozzle temperature to 210 degrees


; THESE ARE THE CODES FROM START.GCODE (for a ROBO 3D R1) 

G28          ;move printer to endstops (the home position)
G92 E0       ;zero the extruded filament length
M565 Z-1     ;set z-probe offset
G1 Z5 F5000  ;move the printer 5mm above the bed
G29          ;run auto-leveling


; THE ACTUAL MODEL BEGINS HERE

;Layer count: 168
;LAYER:0
.
.

Analyse der G-Code-Ausgabe

Oben in diesem Codefragment sehen wir, dass Cura automatisch den g-Code einfügt, um das Bett und die Düse mit den g-Codes M190 und M109 auf ihre jeweiligen Temperaturen zu erhitzen . Dies bedeutet, dass der Drucker die Düse immer aufheizt, bevor er die von start.gcodeuns eingestellten Werte liest . Wenn wir jedoch den M109- Code manuell überschreiben start.gcode, verschwindet der M109 oben automatisch aus der generierten G-Code-Ausgabe! (Danke, @TomvanderZanden!)

Wir könnten daher den Befehl zum automatischen Nivellieren G29 verwenden, bevor wir die Düsentemperatur manuell mit M109 einstellen . Insbesondere möchten wir hinzufügen M109 S{print_temperature}, dass die Basic -> Print Temperature-Einstellung in Cura gelesen und {print_temperature}automatisch durch sie ersetzt wird.

Start.gcode bearbeiten:

Um das Erhitzen des Hotends auf nach dem Sondieren zu verschieben, start.gcodekönnte dies etwa so aussehen:

G28          ;move printer to endstops (the home position)
G92 E0       ;zero the extruded filament length
M565 Z-1     ;set z-probe offset     <-----   ( YOU HAVE TO ADJUST THIS, READ BELOW)
G1 Z5 F5000  ;move the printer 5mm above the bed
G29          ;run auto-leveling
M109 S{print_temperature}    ;set nozzle temperature, and wait for it heat up

Und das war's auch schon! Sie können diese Codes dann in Ihrem verwenden start.gcode. Wahrscheinlich müssen Sie jedoch Ihren Z-Proof-Offset neu kalibrieren.

Passen Sie den Z-Sonden-Offset an:

Normalerweise erfolgt die automatische Nivellierung bei beheizter Düse aus einem bestimmten Grund: Wenn die Düse warm ist, dehnt sie sich leicht aus und nähert sich dem Bett. Möglicherweise müssen Sie daher den Z-Sonden-Offset mit dem Befehl M565 anpassen (wie im Snippet gezeigt), um die Zunahme der Düsenlänge im warmen Zustand zu berücksichtigen.

Merken:

Denken Sie daran, dass Sie beim Bearbeiten von G-Code die volle Kontrolle über die Funktionsweise des Druckers haben. Sie könnten also sehr gut etwas Unbeabsichtigtes tun, also halten Sie den Netzschalter in der Nähe!

Tormod Haugene
quelle
3
In dieser Antwort fehlt ein sehr wichtiger Punkt: In Cura (und etwas Ähnliches funktioniert für Slic3r und Simplify3D) können Sie "M109 S {print_temperature}" in Ihren G-Code einfügen. Es ersetzt {print_temperature} durch die eingestellte Drucktemperatur und fügt kein eigenes M109 hinzu. Auf diese Weise müssen Sie den hässlichen Hack des Einstellens der Temperatur auf 0 nicht tun.
Tom van der Zanden
@TomvanderZanden, du hast vollkommen recht! Ich hätte nicht gedacht, dass Cura klug genug wäre, den ersten M109 zu entfernen, wenn Sie ihn manuell in start.gcode einstellen würden, aber es scheint so! Ich werde die Antwort aktualisieren.
Tormod Haugene
2
{print_temperature}hat bei mir nicht funktioniert. {material_print_temperature}tat. Schauen Sie hier für mehr.
Markus Hütter