Como configurar o Cura para executar o probe Z antes do aquecimento

12

Estou usando o Cura como meu software de fatiamento / impressão e comecei a usar a superfície de impressão BuildTak.

O BuildTak é danificado ao pressionar um bico quente e o recurso de auto-nivelamento da impressora (Robo3D R1 +) funciona empurrando o bico para a superfície de construção.

Existe uma maneira de configurar o Cura para que ele execute a sonda Z primeiro e depois aqueça o bico?

Minha primeira folha do BuildTak já possui 10 pequenos orifícios (na posição de retorno e nos 9 pontos de contato de nivelamento)

Nir
fonte

Respostas:

9

No Cura (e Slic3r), você pode personalizar 100% o que a impressora faz antes de imprimir seu modelo real por meio do código g inicial / final personalizado .

Se você navegar até Start/End-GCode tab in Cura, e selecionar start.gcode, poderá ver quais operações são executadas antes de cada impressão começar. As linhas prefixadas com ;são comentários e não afetam a impressão de nenhuma maneira.

Basicamente, queremos informar manualmente a impressora para fazer o nivelamento automático antes de aquecer o bico editando o código g start.gcode.

Código G gerado com o start.gcode padrão:

Se você tentar dividir algum modelo com o código padrão encontrado start.gcode, obterá algo como o seguinte (dependendo da sua impressora):

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

Analisando a saída do código g

Na parte superior deste trecho de código, podemos ver que o Cura insere automaticamente o código G para aquecer a cama e o bico com suas respectivas temperaturas com os códigos G M190 e M109 . Isso significa que a impressora sempre aquecerá o bico antes de ler os start.gcodeque definimos. No entanto, se substituirmos manualmente o código M109start.gcode , o M109 na parte superior desaparecerá automaticamente da saída do código g gerado! (Obrigado, @TomvanderZanden!)

Portanto, poderíamos usar o comando de nivelamento automático G29 antes de definir manualmente a temperatura do bico com M109 ; especificamente, queremos adicionar M109 S{print_temperature}, que lê a Basic -> Print Temperatureconfiguração no Cura, e substituí {print_temperature}-lo automaticamente.

Manipulando start.gcode:

Para adiar o aquecimento da hotend até depois da sondagem, start.gcodepode 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

E é isso! Você pode usar esses códigos no seu start.gcode. No entanto, você provavelmente terá que recalibrar seu deslocamento de prova z.

Ajustar o deslocamento da sonda z:

Normalmente, o nivelamento automático é feito com o bico aquecido por um motivo: quando o bico está quente, ele se expande levemente, aproximando-se da cama. Portanto, pode ser necessário ajustar o deslocamento do apalpador Z com o comando M565 (conforme demonstrado no trecho) para explicar o aumento no comprimento do bico quando quente.

Lembrar:

Lembre-se de que, ao editar o código g dessa maneira, você assumirá o controle total de como a impressora funciona. Portanto, você pode muito bem fazer algo não intencional, então mantenha o interruptor de alimentação próximo!

Tormod Haugene
fonte
3
Esta resposta perde um ponto muito importante: no Cura (e algo semelhante funciona para o Slic3r e o Simplify3D) você pode inserir "M109 S {print_temperature}" no seu código G. Ele substituirá {temperatura de impressão} pela temperatura definida de impressão e não adicionará seu próprio M109. Desta forma, você não precisa fazer o corte feio de definir a temperatura a 0.
Tom van der Zanden
@TomvanderZanden, você está totalmente certo! Não achei que o Cura fosse inteligente o suficiente para remover o primeiro M109 se você o configurasse manualmente em start.gcode, mas parece que sim! Vou atualizar a resposta.
Tormod Haugene
2
{print_temperature}não funcionou para mim. {material_print_temperature}fez. Veja aqui mais.
Markus Hütter