Al desarrollar un proyecto abierto para la impresora Z-Bolt de 4 extrusoras, nos enfrentamos con el problema de elegir una pantalla para controlar la impresora. De las pantallas disponibles, solo la solución Duet Wifi puede controlar más de 2 extrusoras. La solución, por decirlo suavemente, no es presupuestaria, y la interfaz no es para todos. Así que decidimos buscar una alternativa con preferencia y cortesanas. Esta historia es sobre él ...
En Internet hay mucha información sobre el uso de Octoprint. Hace poco más de medio año, y nos convertimos en usuarios de esta solución, apreciando de inmediato sus ventajas. La capacidad de controlar la impresora a través de una persona web es realmente difícil de sobreestimar. Octoprint tiene muchos complementos, y lo más importante para nosotros: Octoprint está muy bien controlado con un número de extrusoras mayor que 2. Pero quedaba por resolver un problema más.
Muchos entusiastas de Octoprint afirman con confianza que ya no necesitan una pantalla de la palabra "completamente", que esta es una parte absolutamente superflua de la impresora que solo les molesta.
Sin embargo, estoy convencido de que hay otra parte de los usuarios de OctoPrint. Todos tienen sus propios hábitos y requisitos para el uso diario de una impresora 3D, y hay operaciones que son más convenientes de realizar, teniendo una pantalla:
- Reemplazo de filamento
- Calibración de nivel de tabla
- Comience a imprimir un archivo que se imprimió previamente
- Encienda el precalentamiento de la impresora.
- Posibilidad de ver el estado de impresión
- ...
Ahora la pantalla predeterminada en las impresoras Z-Bolt es la MKS TFT. Puedes poner TFT24, TFT32 o TFT35. Estas son buenas pantallas, pero no pueden integrarse con Octoprint. Si Octoprint ha comenzado a imprimir, la pantalla no sabrá nada al respecto. Usan diferentes repositorios de archivos, etc. Y las pantallas MKS TFT no quieren trabajar con impresoras 3D de 3 o más cabezales.
Mi objetivo era encontrar / hacer / configurar una pantalla para Octoprint, capaz de controlar más de 2 extrusoras.
Buscando en Google un poco, me encontré con
un complemento TouchUI .

La primera impresión fue: aquí está, ¡una solución!
Inmediatamente instalé el complemento y abrí Octoprint desde el teléfono. La interfaz de TouchUI es estúpida: /. A veces, los botones se presionaron normalmente, a veces disminuyeron la velocidad y, a veces, no se presionaron la primera vez. Desde una pantalla conectada, TouchUI se comportó tan mal como lo hizo desde un teléfono.
En paralelo, se encontró
otra solución .

La descripción fue alentadora, a diferencia de TouchUI, esta es una aplicación independiente que se ejecuta sin un navegador, lo que significa que requiere significativamente menos recursos informáticos.
La instalación y configuración no causaron problemas. La interfaz realmente funcionó mucho más predecible y receptiva.

Pero aquí, no todo salió bien. La aplicación se bloqueó regularmente cuando comenzó la impresión. En github hubo un
problema para este error , creado hace casi un año y discutido activamente, pero no cerrado.
El principal problema resultó ser que el autor de la aplicación, aparentemente, ha perdido interés en él y actualmente ya no se está desarrollando.
Dado que, en mi opinión, la aplicación está bien escrita y tiene potencial, se decidió hacer un "hard-fork" y abordar el proyecto a fondo.
Esto es lo que tenemos:
- Se seleccionan las pantallas óptimas para el proyecto.
- Hecho un "tenedor duro" por Octoprint-TFT
- Perspectiva revisada sobre la arquitectura de hardware y software de la impresora
- Creó su propio tema para la interfaz Octoprint
Pero lo primero es lo primero ...
Selecciones de pantalla
Comenzamos con la pantalla TFT 3.5, que, por decirlo suavemente, no resistió las críticas. Sin ángulos de visión, la imagen se desvaneció. Por lo tanto, se decidió elegir una mejor solución.
Los criterios principales fueron:
- Matriz IPS
- tamaño 4-5 pulgadas
- pantalla capacitiva (opcional)
- precio razonable
Como resultado, nos decidimos por dos opciones:
1. La opción es más simple. Pantalla táctil resistiva IPS de 4 ''
2. La opción es más rica. Pantalla táctil capacitiva IPS de 4.3 ''
Ambas pantallas tienen una resolución de 800x400. Ambos tienen una excelente imagen, reproducción de color y ángulo de visión. Su principal diferencia es la pantalla táctil capacitiva. Te acostumbras (como todo lo bueno) muy rápido y lo usas mucho mejor que resistivo. Sin embargo, una pantalla con una pantalla táctil resistiva también es bastante viable.
¡Esto es Hard-Fork, bebé!

La aplicación ha sido seriamente modificada. Y casi dejó de parecerse a su padre. Por lo tanto (y también porque el creador de Octoprint-TFT congeló oficialmente el desarrollo de su creación), se decidió hacer una bifurcación y nombrar el nuevo proyecto Octoscreen.
- En primer lugar, se eliminó por completo el problema de congelación de pantalla que sufría Octoprint-TFT.
- - El diseño y el diseño han cambiado notablemente:

- La pantalla ha aprendido a comprender el estado de la impresora (en espera / imprimir):

- Se agregó la función de precalentamiento rápido / apagado de calefacción al presionar el extrusor o el icono de la mesa, mientras que la pantalla resalta el estado:

- Pantalla de calibración de tabla manual agregada:

- El elemento "Menú" se muestra en una pantalla separada:

- Función de control WiFi agregada:

- La aplicación en sí misma ahora admite hasta 4 extrusoras, por eso se creó:

Puede descargar la aplicación y encontrar breves instrucciones de instalación en
nuestro GitHub .
También hay una
instrucción detallada para la pantalla 3.5 , por lo que agradezco especialmente a nuestro colega Denis (@ negativ72rus).
Revise sus puntos de vista sobre el firmware de la impresora o los cambios de zapata sobre la marcha

Inicialmente, planeamos usar Marlin en nuestra impresora multi-extrusora, pero al final, la elección recayó en Klipper. Hay varias razones:
1. Una de las razones principales para nosotros, como desarrolladores, es su flexibilidad. Marlin y su código de "pasta" hacen que el proceso de mejorarlo, y aún más su apoyo adicional, sea un verdadero desafío.
Klipper en este sentido es exactamente lo contrario de Marlin. En primer lugar, toda la configuración de Klipper se elimina del código del programa. El código en sí está bien estructurado. ¡Pero lo más importante, Klipper proporciona modularidad! Puede agregar su lógica al firmware sin hacer un cambio en su núcleo y, por lo tanto, simplificar en gran medida el soporte adicional de su código.
2. Toda la configuración del firmware se puede hacer directamente a través de la interfaz web de OctoPrint. Y al mismo tiempo, la configuración es mucho más poderosa que la de Marlin o Smootheiware.
3. ¿Cómo no puedo decir acerca de los bits que todos han estado persiguiendo recientemente)). La propia arquitectura Klipper supone que la carga computacional recae en el Raspberry PI. La función de la placa de control MKS Gen L (en el caso de las impresoras Z-Bolt) permanece en la transmisión de señales hacia / desde la periferia (motores, sensores, calentadores, controles).
Pero el Raspberry Pi 3 Modelo B + está equipado con un chip Broadcom BCM2837B0 A53 1.4GHz de 64 bits y 4 núcleos.
Esencialmente, Octoprint + Klipper se ejecuta en Raspberry Pi + el mismo MKS Gen L -
Una solución de orden de magnitud más funcional y progresiva que Marlin que se ejecuta en un chip de 32 bits.
Los archivos de configuración de Klipper para impresoras Z-Bolt también se pueden
encontrar aquí .
¡Una pequeña bonificación al final!
También creamos nuestro propio tema para la interfaz Octoprint:

El sombrero se puede configurar con el selector de color nativo en la sección Apariencia:

Las instrucciones sobre cómo instalar el tema se pueden encontrar
en nuestro GitHub .
Escriba en los comentarios qué características de la pantalla le parecen más útiles y necesarias para agregar.
¡Todos los elementos sobresalientes buenos, positivos y buenos!