Essa é a versão 1.1.9 do Marlin Firmware original configurado para a impressora Creality Ender 3 com sensores BL Touch originais ou genéricos. As configurações do Marlin original foram cuidadosamente modificadas para incluir a calibração original da Creality.
Este firmware foi concebido para placas de 8-bits e não funcionará em placas de 32-bits. Para SKR Mini E3 v2.0 consultar este artigo.
Características
- Fimware Marlin original com a calibração original da Creality.
- Suporte ao BLTouch original/generico até a versão 3.x (pode exigir alteração da voltagem para 5V no menu LCD).
- Não é preciso remover nenhum capacitor da placa mãe para o funcionamento dos sensores.
- Instalação através do Arduino IDE (menor tamanho de arquivo e atualizações mais frequentes).
- Código fonte modificado para previnir que o sensor BLTouch seja ativado durante o "bip" enviado pelos comandos do LCD (a instalação original do BLTouch não contempla a desativação do som e isso impacta na operação do sensor).
- Proteção térmica ativada.
- Não apaga da memória as configurações de nivelamento após o comando G28 (Home).
- Menu customizado com modo de manutenção, modo de emergência e sequência completa de nivelamento (aquecimento da superfície, espera, homing, nivelamento e gravação das configurações).
- Nivelamento ultra-preciso com algorítmo bilinear, 25 pontos de prova e dupla verificação (demora aproximadamente 5 minutos para executar ou 10 incluindo o aquecimento da mesa).
- Executa o nivelamento e configuração do BLTouch a partir dos menus LCD.
- Menus compactos habilitados.
- Micro ajustes (baby steps) usando números mágicos (múltiplos inteiros de posição do motor de passo).
- Todas as alterações no código fonte foram marcadas com o comentário "Customized DBP".
Requisitos
- BLTouch instalado no pino 27 (antigo pino do alto falante)
- Chave do fim de curso Z removida ( se permancer instalada pode impedir o movimento do eixo Z)
- IMPORTANTE! A altura do sensor BLTouch deve ser ajustada conforme o indicado nos manuais oficiais. Existem versões diferentes do sensor BLTouch e a maior parte dos vídeos no YouTube ensinam uma configuração errada.
- Bootloader instalado
- Aplicativo Arduino IDE
Instruções
- Configurar o Arduino IDEpara baixar a placa Sanguino. Adicionar a seguinte URL ao gerenciador de placas (File->Preferences->Additional boards manager):
- Instalar as seguintes placas/biblotecas no Arduino IDE:
- U8Glib
- Sanguino
- Após cumprir os requisitos acima, descompactar o arquivo completo desta versão do Marlin em uma pasta. Abrir o arquivo "Marlin.ino" a partir do Arduino IDE.
- Procure a aba configuration.h e altere os valores de X_PROBE_OFFSET_FROM_EXTRUDER, Y_PROBE_OFFSET_FROM_EXTRUDER Z_PROBE_OFFSET_FROM_EXTRUDER para as coordenadas relativas da ponta de testes em relação ao bico da extrusora. As configurações padrão são válidas para este suporte. Você pode alterar estas configurações posteriormente usando o comando M851.
- Compilar e carregar o firmware na impressora. Usar as configurações abaixo:
- Configuração da placa: ATMega 1284P 16Mhz
- Configuração do programador: AVRISP MKII
- Porta COM: Depende do seu computador. Normalmente a única porta disponível é a correta.
- Pré-nivelar a mesa manualmente. Essa ação é importante porque o BLTouch tem um alcance limitado e mesmo que ele possa detectar as distâncias, quanto menos o eixo Z se mover durante a impressão, melhor a qualidade.
- Resfriar a mesa e o extrusor. A mesa não precisa estar quente para este ajuste inicial.
- Desabilitar os motores de passo (usar o menu LCD)
- Colocar um cartão de crédito entre o bico injetor e a mesa, a espessura do cartão será nossa referência de distância para o extrusor. Não é necessário usar um objeto mais fino pois o nivelamento automático se encarrega dessa diferença sem dificuldades.
- Mover o eixo Z com a mão até o o bico tocar no cartão.
- Mover o bico extrusor para diversos pontos da mesa. Ajustar as manoplas de nível da mesa para manter a espessura do cartão nos diversos pontos. Não mover o eixo Z durante esta operação.
- Aquecer a mesa até a temperatura de operação e acessar os seguintes menus: Prepare -> Bed Leveling -> Level bed, usar comando customizado Heat and Level ou o gcode G29 a partir do terminal. Eu recomendo executar o G29 a partir do monitor serial do Arduino IDE para verificar quaisquer problemas na instalação do sensor ou nas configurações dos offsets.
- Após o nivelamento, salvar as configurações usando o menu LCD ou o comando M500. Se você usou a opção Heat and Level no menu customizado, não será necessário salvar as alterações. Note que o comando Heat and Level tem uma pausa programada de 2 minutos após o aquecimento para garantir que todo o calor tenha espalhado uniformemente na mesa e a dilatação tenha ocorrido.
- Adicionar os seguintes comandos na sequência de inicialização do seu slicer logo após a linha com o comando G28: M420 S1 . Este gcode tem a função de carregar as configurações salvas de nivelamento da mesa antes de cada impressão. Não é necessário nivelar a mesa a cada impressão, se as manoplas de nível não foram movidas é possível imprimir por centenas de horas sem precisar renivelar.
- Após ajustar o nível, imprimir algo para ajusar o offset do Z. Na configuração padrão, o bico extrusor sempre estará mais longe da mesa do que deve e o offset Z precisa ser ajustado para um valor negativo para garantir a aderência da primeira camada. Use o menu LCD para ajustar este offset: Prepare -> Bed Leveling -> Z Offset. Não se esqueça de salvar as configurações após o ajuste do offset.
Instalação usando a versão compilada (HEX) do Firmware
Ao utilizar a versão compilada do firmware você pode atualizar a sua impressora sem a necessidade de instalar o Arduino IDE.
Para carregar a versão compilada você precisa da ferramenta AVRDUDE 6.3. Para conveniênia dos usuários a versão para Windows desta ferramenta foi incluída no ZIP do arquivo HEX. O comando para gravar o Firmware deve ser executado no PowerShell do Windows:
./avrdude -p atmega1284p -c arduino -P COM3 -b 115200 -v -U flash:w:firmware.hex:i
A porta serial varia entre COM1 e COM8, dependendo do local aonde foi mapeada a conexão com a impressora. firmware.hex é o arquivo que está sendo carregado.Se você estiver utilizando um sistema operacional baseado em linux, a porta deixa de ser COM e passa a ser algo similiar a /dev/ttyUSB0.
Após instalar o firmware não se esqueça de ajustar os offsets do sensor. No comando abaixo, substitua os valores (-42, -5, 0) pelas coordenadas relativas X,Y,Z da sua sonda.
M851 X-42 Y-5 Z0
M500