Duet 2 Wifi - Klipper
Última actualización
Última actualización
Las electrónicas Duet son muy buenas, sobre todo en entornos de producción porque son muy robustas. Originalmente, usan RRF que es un gran firmware 3D pero sinceramente nunca nos hemos llevado muy bien con él y en especial desde que Klipper empezó a dar sus primeros pasos.
Vamos a explicar el proceso a seguir para aplicar el firmware Klipper a nuestra Duet en especial teniendo en cuenta algunos aspectos importantes.
IMPORTANTE!!
El proceso de aplicar un firmware a una electrónica es un paso crítico que de fallar o realizarse de forma incorrecta puede dejar dañada nuestra electrónica y puede requerir de herramientas adicionales para recuperarla o incluso dejar inservible de darse el caso.
Los siguientes pasos si los realizas son bajo tu propia responsabilidad!!!
MainsailOS es una de las distribuciones, para Raspberry, más utilizadas y actualizadas ya que tenemos todo pre-instalado... por contra y en el caso de Duet puede dar problemas si utilizamos una distribución de MainsailOS basada en Debian 11. Podemos averiguar que usamos mediante el comando lsb_release
Aunque puede ser un poco laborioso, en el caso que el escenario anterior sea el vuestro, os aconsejamos utilizar dos imágenes... una con MainsailOS actualizado y otra u otro dispositivo host utilizando una version OS que no esté afectada por el fallo anterior.
Podemos utilizar una distribución de Rasbian Lite antigua basada en buster, realizaremos la instalación de Kiauh y desde el instalar Kiauh. Desde el propio Kiauh pudemos hacer el proceso de creación y aplicar el firmware y debería funcionar.
Descargaremos una imagen de Raspian LITE 10 BUSTER (legacy) que podréis encontrar aquí y la aplicaremos en una SD nueva para continuar manteniendo nuestro MainsailOS actualizado. Asegúrate que habilitas la opción de SSH al quemar la imagen a la SD desde RaspiImager además de los datos de tu WiFi de ser necesario.
Abriremos Terminus o Putty, cliente SSH para conectarnos al host con la imagen Raspbian Buster, recuerda encontrar la IP de tu host para ello.
Desde el terminal SSH e instalaremos Git:
Instalaremos y lanzamos Kiauh:
Dentro de Kiauh instalaremos una instancia de Klipper y Moonraker y ya podemos salir de Kiauh. Cin esto ya tenemos una versión actaulizada y mínima de Klipper en una versión antigua no afectada por el problema con Duet.
IMPORTANTE!!!
Antes de seguir este proceso os aconsejamos revisar el anterior con detalle!!!
Vamos al paso sencillo que es crear el firmware para nuestra Duet utilizando el comando make menuconfig
desde SSH, recuerda entrar en el directorio klipper
antes, utilizando las siguientes opciones:
Guardaremos y saldremos.
El siguiente paso es generar el firmware con la configuración anterior utilizando el comando make
El siguiente paso, el complicado, es el de aplicar el firmware creado anteriormente en nuestra Duet. Os aconsejamos revisar le guía de Duet para más detalle del proceso.
En concreto nos fijaremos en los pasos para preparar nuestra Duet para ponerla en flash mode
, previamente deberemos haber hecho el proceso de borrado de firmware.
También tenemos el proceso en otra guía que hicimos hace tiempo sobre la BLV que podéis ver en el siguiente link:
Básicamente deberemos de:
IMPORTANTE!!! Conexión Raspberry/Duet
Dado que normalmente las Duet no tienen un jumper de alimentación USB es importante que tapemos el pin 5v del conector USB para evitar retroalimentación
Este pin ha de quedar sin tapar cuando realicemos el proceso de actualización de firmware cuando la Duet no tenga alimentación de la fuente.
Hacer un borrado del firmware, haremos un factory reset
de nuestra placa, para ello con la placa apagada colocaremos un jumper en los pines de borrado (Erase pins en la imagen de abajo.
A continuación conectaremos el cable USB para alimentar nuestra placa.
Una vez el led DIAG se encienda, quitaremos el jumper y tendremos nuestra placa sin ningún firmware instalado
Pulsaremos el botón RESET (Reset button) para poner en modo DFU
Obtendremos el USB ID mediante el comando ls /dev/serial/by-id/* que copiaremos.
Pararemos el servicio Klipper por seguridad sudo service klipper stop
Lanzaremos el comando para aplicar el firmware creado reemplazando el /dev/serial/by-id/xxxx por el obtenido en pasos anteriores make flash FLASH_DEVICE=/dev/serial/by-id/xxxx
Si aparece algo como lo siguiente ya tenemos Klipper en nuestra Duet!!!
Volveremos a iniciar el servicio Klipper con sudo service klipper start
.
Ahora con nuestro firmware Klipper aplicado podemos volver a nuestro MainsailOS y desde el interfaz web comentazar a ajustar nuestro printer.cfg y verificar que todo funcione correctamente.
Ahora que ya tenemos nuestro firmware Klipper aplicado y el USB ID que obtuvimos con el ls en el paso anterior ya podemos montar nuestro printer.cfg, podemos utilizar el ejemplo proporcionado por Klipper en su Github.
A continuación un ejemplo de printer.cfg y uno de macros:
A continuación os sugerimos algunos ajustes de Klipper interesantes para nuestra BLV:
Configuración de la gestión de apagado/encendido
Usar nuestra pantalla PanelDue, conectando la pantalla a nuestra Pi por GPIO... más detalle aquí
Ejecutaremos la utilidad raspi-config
mediante sudo raspi-config
e iremos a la opción 3 Interface Options > P6 Serial Port > No > Yes
y reiniciaremos nuestra Pi
Nos aseguraremos que nuestro PanelDue está configurado en 115200
Por último deberemos de realizar algunas modificaciones en el fichero moonraker.cfg de nuestro Klipper, aquí tenéis más detalles de los cambios.
Tenéis un video de Nero3D para más referencias.
También tenéis el siguiente PDF muy bueno aunque algo antiguo sobre el proceso.
Deberemos actualizar nuestro config.txt
mediante sudo nano /boot/config.txt
añadiendo al final dtoverlay=pi3-miniuart-bt
presionaremos CTRL+X
para guardar los cambios seguido de ENTER
Por otro lado tendremos que actualizar nuestro cmdline.txt
lanzando sudo nano /boot/cmdline.txt
eliminando o comentando console=serial0,115200
presionaremos CTRL+X
para guardar los cambios seguido de ENTER