Cómo configurar Cura para ejecutar la sonda Z antes de calentar

12

Estoy usando Cura como mi software de corte / impresión y recién comencé a usar la superficie de impresión BuildTak.

BuildTak se daña al presionar una boquilla caliente y la función de nivelación automática de mi impresora (Robo3D R1 +) funciona empujando la boquilla hacia la superficie de construcción.

¿Hay alguna manera de configurar Cura para que primero ejecute la sonda Z y luego caliente la boquilla?

Mi primera hoja de BuildTak ya tiene 10 pequeños agujeros (en la posición de referencia y en los 9 puntos de contacto de nivelación)

Nir
fuente

Respuestas:

9

En Cura (y Slic3r), puede personalizar al 100% lo que hace la impresora antes de imprimir su modelo real a través del código g personalizado de inicio / finalización .

Si navega hasta Start/End-GCode tab in Cura, luego seleccione start.gcode, puede ver qué operaciones se ejecutan antes de que comience cada impresión. Las líneas con prefijo ;son comentarios y no afectan la impresión de ninguna manera.

Básicamente, queremos decirle manualmente a la impresora que realice la nivelación automática antes de calentar la boquilla editando el código g start.gcode.

Código G generado con el código de inicio predeterminado:

Si intenta cortar algún modelo con el código predeterminado que se encuentra en start.gcode, obtendrá algo como lo siguiente (dependiendo de su impresora):

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

Analizando la salida del código g

En la parte superior de este fragmento de código, podemos ver que Cura inserta automáticamente el código g para calentar el lecho y la boquilla a sus respectivas temperaturas con los códigos g M190 y M109 . Esto significa que la impresora siempre calentará la boquilla antes de leer los start.gcodemensajes que configuramos. Sin embargo, si anulamos manualmente el código M109start.gcode , ¡el M109 en la parte superior desaparecerá automáticamente de la salida del código g generado! (¡Gracias, @TomvanderZanden!)

Por lo tanto, podríamos usar el comando de nivelación automática G29 antes de configurar manualmente la temperatura de la boquilla con M109 ; específicamente, queremos agregar M109 S{print_temperature}, que lee la Basic -> Print Temperatureconfiguración en Cura, y reemplazarla {print_temperature}automáticamente.

Manipulando start.gcode:

Para posponer el calentamiento del hotend hasta después de la prueba, start.gcodepodría ser algo como:

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

¡Y eso es todo! Luego puede usar estos códigos en su start.gcode. Sin embargo, probablemente tendrá que recalibrar su desplazamiento z-prove.

Ajuste el desplazamiento de la sonda z:

Normalmente, la nivelación automática se realiza con la boquilla calentada por una razón: cuando la boquilla está caliente, se expande ligeramente, acercándose a la cama. Por lo tanto, es posible que deba ajustar el desplazamiento de la sonda Z con el comando M565 (como se muestra en el fragmento) para tener en cuenta el aumento de la longitud de la boquilla cuando está caliente.

Recuerda:

Recuerde que cuando edite el código g de esta manera, tendrá el control total de cómo funciona la impresora. Por lo tanto, podría hacer algo sin querer, ¡así que mantenga el interruptor de encendido cerca!

Tormod Haugene
fuente
3
Esta respuesta pierde un punto muy importante: en Cura (y algo similar funciona para Slic3r y Simplify3D) puede insertar "M109 S {print_temperature}" en su código G. Reemplazará {print_temperature} con la temperatura de impresión establecida y no agregará su propio M109. De esta manera, no necesita hacer el feo truco de establecer la temperatura en 0.
Tom van der Zanden
@TomvanderZanden, ¡tienes toda la razón! No pensé que Cura sería lo suficientemente inteligente como para eliminar el primer M109 si lo configuraba manualmente en start.gcode, ¡pero parece que lo es! Actualizaré la respuesta.
Tormod Haugene
2
{print_temperature}No funcionó para mí. {material_print_temperature}hizo. Mira aquí para más.
Markus Hütter