Comentar

Marlin Firmware configurado para Ender 3 + Nivelamento tipo malha

Esta é a versão 1.1.9 do Marlin Firmware pré-configurada para a Creality Ender 3. Esta versão consiste do firmware original combinado com configurações específicas para ampliar a funcionalidade da Ender 3. A principal melhoria é o Mesh Bed Leveling que compensa mesas deformadas (praticamente todas elas).

Existem três opções de instalação, as duas primeiras envolvem compilar o código (simples, demora menos de 5 minutos) e a última consiste na gravação direta do executável na placa. Esta última não requer nenhum contato com o código fonte, basta executar o comando para gravar e está tudo resolvido.

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 e melhorias

  • Marlin original + bugfix com todas as configurações oficiais da Creality (April 2020).
  • Três opções para a instalação.
  • Proteção para falha dos termômetros ativada (evita incêndios).
  • Nivelamento manual tipo malha ativado (mesh bed leveling).
  • Possibilidade de executar o nivelamento através do menu do LCD.
  • Não perde as informações de nivelamento após o comando G28.
  • Menu customizado com sequências para aquecimento e nivelamento.
  • Malha bilinear com 25 pontos ultra-precisa
  • Menus leves para o LCD (ocupam menos memória)
  • Baby steps ativado e configurado para os "número mágicos" (ângulos completos do motor de passo)
  • Sistema de comandos de emergência ativado
  • Função de estacionamento da cabeça de impressão ativada
  • Pausa avançada ativada (funções para mudança de filamento)
  • Interrupções para chave de fim de curso ativadas (poupa o processador)
  • Todas as alterações no código fonte estão identificadas com o comentário  "//Customized DBP"

Requisitos

 

Instruções usando o Arduino IDE (opção 1 - dificuldade média)

 

  1. Instalar o Arduino IDE
  2. Fechar qualquer programa que possa acessar a impressora via USB (Cura, Serial Monitor, OctoPrint, etc...).
  3. Executar o Arduino IDE e configurar para baixar a placa Sanguino. Adicionar a seguinte URL ao gerenciador de placas (File->Preferences->Additional boards manager):
    https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json

     

  4. Instalar as seguintes bibliotecas no Arduino:
    • U8Glib
    • Sanguino
  5. Após instalar todos os ítens acima, descompactar o arquivo ZIP para uma pasta e abrir o "Marlin.ino" no Arduino IDE.
  6. Desabilitar a função de interrupção para chave de fim de curso adicionando (//) na seguinte linha do configuration.h. Essa função deve ser desabilitada pois não é compatível com o Arduino IDE.
    //#define ENDSTOP_INTERRUPTS_FEATURE

     

  7. Compilar e carregar o Firmware na placa. Antes disso, certifique-se de utilizar as seguintes configurações
    • Configuração de placa: ATMega 1284P 16Mhz
    • Configuração do programador: AVRISP MKII
    • Porta COM: Depende do seu computador, geralmente só existe uma disponível com a impressora conectada. Utilize ela.
  8. Seguir as instruções pós-instalação abaixo.

Instruções usando o Visual Studio Code + PlatformIO (opção 2 - fácil)

  1. Descarregar e instalar o Visual Studio Code.
  2. Dentro do menu de extensões do Visual Studio, instalar a extensão PlatformIO IDE.
  3. Após instalar a extensão, descompactar o arquivo com o código fonte em uma pasta.
  4. Dentro do Visual Studio Code selecionar Arquivo->Abrir pasta e então localizar a pasta em que se encontra o arquivo platformio.ini. Atenção! Usar a opção "abrir pasta" e não "abrir arquivo".
  5. Selecionar Terminal->Run Task->Build (Terminal -> Executar tarefa -> Cosntruir). Pode demorar alguns minutos para baixar todas as dependências.
  6. Se o código compilou corretamente você vai observar uma mensagem similar a esta no terminal: "=== 1 succeeded in 00:00:30.050 ===".
  7. Conectar à impressora usando o cabo USB.
  8. Dentro do menu do Visual Code selecionar Terminal->Run Task->Upload (Terminal -> Executar tarefa -> Upload).
  9. Se tudo ocorrer bem uma mensagem como esta será exibida no terminal "=== 1 succeeded in 00:00:55.010 ===".

Instalando o programa pré-compilado no formato HEX (option 3 - muito fácil)

Esta opção permite carregar o firmware pre-compilado diretamente na impressora sem a necessidade de instalar o Visual Studio Code ou o Arduino IDE.

Para carregar o firmware na impressora você vai precisar do programa AVRDUDE 6.3. Para sua maior conveniência eu incluí a versão para Windows deste aplicativo no arquivo ZIP. O mesmo pode ser encontrado também na pasta de instalação do Arduino IDE em sistemas como Mac e Linux. O comando para upload no Windows PowerShell deve se parecer com esse:

./avrdude -p atmega1284p -c arduino -P COM3 -b 115200 -v -U flash:w:firmware.hex:i

A porta serial é um valor entre COM1 e COM8, dependendo de onde a sua impressora foi mapeada e firmware.hex é o arquivo que será gravado. Se você estiver utilizando algum outro sistema operacional como Linux ou Mac o que vai mudar é o endereço da porta COM, ao iníves de COM3 ele passa a ser algo do tipo /dev/ttyUSB0.

Se a gravação ocorreu bem, seguir as instruções abaixo.

Pós-instalação e nivelamento da mesa

  1. Pré-nivelar manualmente a mesa como você aprendeu nos vídeos da internet. Realizar essa operação antes do nivelamento por malha melhora bastante a qualidade da impressão porque o eixo Z vai trabalhar menos.
  2. Aquecer a mesa na temperatura de impressão e executar o comando para o nivelamento a partir do LCD (Prepare -> Bed Leveling -> Level bed)  ou utilize o código G29 ou ainda o menu Heat and Level do menu customizado, este último aquece a mesa e espera dois minutos para que a expansão ocorra.
  3. Seguir as instruções no LCD. Existem vídeos na internet mostrando como se faz porém você basicamente coloca uma folha de papel abaixo do bico de impressão e ajusta a altura do bico até ele prender a folhaa de papel. Esse ajuste é realizado em 25 pontos. A partir de agora não toque mais nas manoplas de nivelamento manual da mesa. A calibração dura semanas se a mesa estiver com as molas bem tensionadas.
  4. Após terminar a calibração, salve as configurações usando o menu LCD ou o código M500 (se você usou a função Heat and Level os dados serão salvos automaticamente no final do processo).
  5. Adicione o seguinte código logo abaixo da linha G28 na incialização do seu software slicer. Essa configuração carrega a malha da mesa antes da impressão.
    M420 S1

Dicas para resolução de problemas

  • Falha no nivelamento:
    • 1° - Certifique-se de que você nivelou manualmente a mesa antes de inciar o nivelamento de malha.
    • 2° - certifique-se de que o comando M420 S1 foi executado ANTES do G28 na inicialização do slicer.
  • Error "..._PIN is not interrupt-capable..." in Arduino IDE: Esse é um bug do Arduino IDE, certifique-se de que no configuration.h file a seguinte linha foi comentada com as barras duplas na frente (//).
//#define ENDSTOP_INTERRUPTS_FEATURE
  • Desabilite a porta serial antes de gravar: Se a porta COM estiver em uso não será possível gravar o firmware. Certifique-se de encerrar os slicers, OctoPrint, e qualquer outro software que possa acessar a porta.
  • Reiniciar o EEPROM: Algumas vezes a memória não é sobregravada ao atualizar o firmware e fica corrupta. Para reiniciar a memória executar os seguintes G-Code de qualquer Serial Terminal: M502 e depois M500.
  • LCD em branco após gravação: Você não carregou o firmware corretamente na placa. Isso ocorre quando se utiliza outros softwares para a gravação como o PROGISP ou até o Octoprint. Tente utilizar o AVRDude.
  • Serial Port Monitor para Windows: Este pequeno programa permite enviar e receber GCodes da impressora. Se os caracteres aparecem truncados você está usando a velocidade errada (comece com 115200bps).
  • avrdude: stk500_getsync() attempt 1 of 10: not in sync: Velocidade incorreta de upload ou porta em uso (OctoPrint, Cura, etc..). Tente configurar a velocidade de upload para 115200bps no Arduino IDE ou no arquivo platformio.ini se estiver usando o Visual COde.

Outros downloads para a Ender 3

Files
Versão
1.1.9.1+ Bugfix + Mesh Bed Level for Ender 3 (Nov 12th 2020)
Plataformas suportadas
Arduino IDE or PlatformIO
Tamanho do arquivo
4.2 MB
Capturas de tela

Categorias

O conteúdo deste campo é privado e não será exibido ao público.

Markdown