Come configurare Cura per eseguire la sonda Z prima del riscaldamento


12

Sto usando Cura come software di taglio / stampa e ho appena iniziato a utilizzare la superficie di stampa BuildTak.

BuildTak viene danneggiato spingendo un ugello caldo al suo interno e la funzione di autolivellamento della mia stampante (Robo3D R1 +) funziona spingendo l'ugello nella superficie di costruzione.

Esiste un modo per configurare Cura in modo che esegua prima la sonda Z, quindi riscaldare l'ugello?

Il mio primo foglio di BuildTak contiene già 10 piccoli buchi (nella posizione di riferimento e nei 9 punti di tocco livellanti)

Risposte:


9

In Cura (e Slic3r), puoi personalizzare al 100% ciò che fa la stampante prima di stampare il tuo modello reale attraverso il codice g personalizzato di inizio / fine .

Se si accede a Start/End-GCode tab in Cura, quindi selezionare start.gcode, è possibile vedere quali operazioni vengono eseguite prima dell'inizio di ogni stampa. Le righe con il prefisso ;sono commenti e non influiscono in alcun modo sulla stampa.

Fondamentalmente, vogliamo dire manualmente alla stampante di eseguire il livellamento automatico prima di riscaldare l'ugello modificando il codice g start.gcode.

Codice G generato con il codice start.gcode predefinito:

Se provi a tagliare un modello con il codice predefinito trovato in start.gcode, otterrai qualcosa come il seguente (a seconda della tua stampante):

; 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
.
.

Analizzare l'output del codice g

Nella parte superiore di questo frammento di codice, possiamo vedere che Cura inserisce automaticamente il codice g per riscaldare il letto e l'ugello alle rispettive temperature con i codici g M190 e M109 . Ciò significa che la stampante riscalderà sempre l'ugello prima di leggere le start.gcodes che abbiamo impostato. Tuttavia, se eseguiamo l'override manuale del codice M109start.gcode , l' M109 in alto scomparirà automaticamente dall'output del codice g generato! (Grazie, @TomvanderZanden!)

Potremmo quindi utilizzare il comando di livellamento automatico G29 prima di impostare manualmente la temperatura dell'ugello con M109 ; in particolare, vogliamo aggiungere M109 S{print_temperature}, che legge l' Basic -> Print Temperatureimpostazione in Cura, e sostituirla {print_temperature}automaticamente.

Manipolazione di start.gcode:

Per rimandare il riscaldamento dell'hotend fino a dopo il sondaggio, start.gcodepotrebbe essere qualcosa del tipo:

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

E questo è tutto! È quindi possibile utilizzare questi codici nel proprio start.gcode. Tuttavia, probabilmente dovrai ricalibrare il tuo offset z-prove.

Regola offset sonda z:

Normalmente, l'autolivellamento viene eseguito con l'ugello riscaldato per un motivo: quando l'ugello è caldo, si espande leggermente, avvicinandosi al letto. Pertanto, potrebbe essere necessario regolare l'offset della sonda Z con il comando M565 (come mostrato nello snippet) per tenere conto dell'aumento della lunghezza dell'ugello quando è caldo.

Ricorda:

Ricorda che quando modifichi g-code in questo modo, avrai il pieno controllo del funzionamento della stampante. Potresti quindi fare qualcosa di non intenzionale, quindi tieni l'interruttore di accensione vicino!


3
Questa risposta manca un punto molto importante: in Cura (e qualcosa di simile funziona per Slic3r e Simplify3D) puoi inserire "M109 S {print_temperature}" nel tuo codice G. Sostituirà {temperatura_stampa} con la temperatura di stampa impostata e non aggiungerà il proprio M109. In questo modo non devi fare il brutto hack di impostare la temperatura su 0.
Tom van der Zanden,

@TomvanderZanden, hai perfettamente ragione! Non pensavo che Cura sarebbe stato abbastanza intelligente da rimuovere il primo M109 se lo avessi impostato manualmente in start.gcode, ma sembra che lo sia! Aggiornerò la risposta.
Tormod Haugene,

2
{print_temperature}non ha funzionato per me. {material_print_temperature}fatto. Guarda qui per di più.
Markus Hütter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.