Ao desenvolver um projeto aberto para a impressora Z-Bolt de 4 extrusoras, enfrentamos o problema de escolher uma tela para controlar a impressora. Das telas disponíveis, apenas a solução Duet Wifi pode controlar mais de 2 extrusoras. A solução, para dizer o mínimo, não é orçamentária e a interface não é para todos. Por isso, decidimos procurar uma alternativa com preferência e cortesãs. Esta história é sobre ele ...
Na Internet, existem muitas informações sobre o uso do Octoprint. Há pouco mais de meio ano, nos tornamos usuários desta solução, apreciando imediatamente suas vantagens. É difícil superestimar a capacidade de controlar a impressora através de uma pessoa da web. O Octoprint possui muitos plug-ins, e o mais importante para nós - o Octoprint é muito bem controlado com o número de extrusoras maior que 2. Mas ainda resta resolver um problema.
Muitos amantes da Octoprint afirmam com confiança que não precisam mais de uma tela com a palavra “completamente”, que essa é uma parte absolutamente supérflua da impressora que apenas os incomoda.
No entanto, estou convencido de que há outra parte dos usuários do OctoPrint. Todo mundo tem seus próprios hábitos e requisitos para o uso diário de uma impressora 3D e há operações mais convenientes para executar com uma tela:
- Substituição de filamentos
- Calibração no nível da tabela
- Comece a imprimir um arquivo que foi impresso anteriormente
- Ative o pré-aquecimento da impressora
- Capacidade de ver o status de impressão
- ...
Agora, a tela padrão nas impressoras Z-Bolt é o MKS TFT. Você pode colocar TFT24, TFT32 ou TFT35. Essas são boas telas, mas não podem ser integradas ao Octoprint. Se o Octoprint começar a imprimir, a tela não saberá nada sobre isso. Eles usam diferentes repositórios de arquivos, etc. E as telas MKS TFT não desejam trabalhar com impressoras 3D de três ou mais cabeças.
Meu objetivo era encontrar / criar / configurar uma tela para Octoprint, capaz de controlar mais de 2 extrusoras.
Pesquisando um pouco, me deparei com
um plugin TouchUI .

A primeira impressão foi: aqui está - uma solução !!!
Instalei imediatamente o plug-in e abri o Octoprint pelo telefone. A interface TouchUI é estúpida: /. Às vezes, os botões eram pressionados normalmente, às vezes diminuíam a velocidade e às vezes não eram pressionados desde o início. Em uma tela conectada, o TouchUI se comportou tão mal quanto em um telefone.
Paralelamente,
outra solução foi encontrada.

A descrição foi encorajadora, ao contrário do TouchUI, este é um aplicativo independente que é executado sem um navegador, o que significa que exigia significativamente menos recursos de computação.
Instalação e configuração não causou problemas. A interface realmente funcionou muito mais previsível e responsiva.

Mas aqui, nem tudo saiu bem. O aplicativo falhou regularmente ao iniciar a impressão. No github, houve um
problema para esse erro , criado há quase um ano e discutido ativamente, mas não fechado.
O principal problema acabou sendo que o autor do aplicativo, aparentemente, perdeu o interesse nele e atualmente não está mais se desenvolvendo.
Como, na minha opinião, o aplicativo foi escrito bem o suficiente e tem potencial, foi decidido fazer um “trabalho duro” e levar o projeto a fundo.
Aqui está o que temos:
- As telas ideais para o projeto são selecionadas
- Criou um “hard-fork” da Octoprint-TFT
- Visão revisada da arquitetura de hardware e software da impressora
- Criou seu próprio tema para a interface Octoprint
Mas as primeiras coisas primeiro ...
Seleções de tela
Começamos com a tela TFT 3.5, que, para dizer o mínimo, não resistiu às críticas. Sem ângulos de visão, a imagem está desbotada. Portanto, foi decidido escolher uma solução melhor.
Os principais critérios foram:
- Matriz IPS
- tamanho 4-5 polegadas
- tela capacitiva (opcional)
- preço razoável
Como resultado, decidimos por duas opções:
1. A opção é mais simples. Ecrã táctil resistivo IPS de 4 ''
2. A opção é mais rica. Ecrã táctil capacitivo IPS de 4,3 ''
Ambas as telas têm uma resolução de 800x400. Ambos têm uma ótima imagem, reprodução de cores e ângulo de visão. Sua principal diferença é a tela sensível ao toque capacitiva. Você se acostuma (como tudo de bom) muito rapidamente e usa-o muito mais agradável do que resistivo. No entanto, uma tela com uma tela sensível ao toque resistiva também é bastante viável.
Isso é Hard-Fork, baby!

O aplicativo foi seriamente modificado. E quase deixou de se parecer com o pai. Portanto (e também porque o criador do Octoprint-TFT congelou oficialmente o desenvolvimento de sua ideia), decidiu-se fazer um hard-fork e nomear o novo projeto como Octoscreen.
- Primeiro de tudo, o problema de congelamento de tela sofrido pelo Octoprint-TFT foi completamente eliminado.
- - O design e o layout mudaram visivelmente:

- A tela aprendeu a entender o status da impressora (espera / impressão):

- Adicionada a função de pré-aquecimento / desligamento rápido do aquecimento pressionando o ícone da extrusora ou da mesa, enquanto a tela destaca o status:

- Tela de calibração de mesa manual adicionada:

- O item “Menu” é exibido em uma tela separada:

- Função de controle WiFi adicionada:

- O aplicativo em si agora suporta até 4 extrusoras, razão pela qual foi criado:

Você pode baixar o aplicativo e encontrar breves instruções de instalação no
nosso GitHub .
Há também uma
instrução detalhada para a tela 3.5 , pela qual agradecemos especialmente ao nosso colega Denis (@ negativ72rus).
Revise suas opiniões sobre as alterações de firmware ou sapato da impressora em movimento

Inicialmente, planejamos usar o Marlin em nossa impressora multi-extrusora, mas no final, a escolha recaiu sobre a Klipper. Existem várias razões:
1. Uma das principais razões para nós, como desenvolvedores, é a sua flexibilidade. O Marlin e seu código de "massas" tornam o processo de aprimoramentos e, ainda mais, seu apoio adicional, um verdadeiro desafio.
Klipper a esse respeito é exatamente o oposto de Marlin. Primeiramente, toda a configuração do Klipper é retirada do código do programa. O código em si é bem estruturado. Mas o mais importante, Klipper fornece modularidade !!! Você pode adicionar sua lógica ao firmware sem fazer alterações em seu núcleo e, assim, simplificar bastante o suporte adicional ao seu código.
2. Toda a configuração do firmware pode ser feita diretamente através da interface da web OctoPrint. E, ao mesmo tempo, as configurações são muito mais poderosas que as do Marlin ou Smootheiware.
3. Como não posso dizer sobre os bits que todo mundo está perseguindo recentemente)). A própria arquitetura Klipper pressupõe que a carga computacional esteja no PI de framboesa. A função do painel de controle MKS Gen L (no caso de impressoras Z-Bolt) permanece na transmissão de sinais de / para a periferia (motores, sensores, aquecedores, controles).
Mas o Raspberry Pi 3 Modelo B + está equipado com um chip Broadcom BCM2837B0 A53 de 1,4 GHz e 4 bits de 64 bits.
Essencialmente Octoprint + Klipper rodando no Raspberry Pi + o mesmo MKS Gen L -
uma ordem de magnitude mais funcional e progressiva do que o Marlin executando em algum chip de 32 bits.
Os arquivos de configuração das impressoras Klipper para Z-Bolt também podem ser
encontrados aqui .
Um pequeno bônus no final!
Também criamos nosso próprio tema para a interface Octoprint:

O chapéu pode ser configurado com o seletor de cores nativo na seção Aparência:

Instruções sobre como instalar o tema podem ser encontradas
no nosso GitHub .
Escreva nos comentários quais recursos da tela você achar mais úteis e necessários para adicionar.
Todos os elementos bons, positivos e bons soprando pendentes!