Octopus/Octopus Pro + EBB Toolhead (CANbridge)
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
En esta guía os mostraremos el proceso para tener nuestra Octopus/Octopus Pro usando un módulo EBB conectada directamente a nuestra Octopus.
En la siguiente imágen podremos ver el diagrama de conexiones que vamos a utilizar:
Conectaremos nuestra Octopus mediante cable USB y nuestro toolhead EBB usando el conector CAN de nuestra Octopus... a continuación tenéis más detalle sobre las conexiones:
Usaremos un cable de calidad y de la menos distancia posible USB-A a USB-c para conectar nuestra Octopus (USB-C) a nuestro host (USB-A)
Alimentaremos desde nuestra fuente de alimentación de la impresora nuestra Octopus y el toolhead EBB
Para el cable CANbus entre nuestra Octopus y el EBB.
Necesitaremos un conector RJ11/12 (telefono 6 pins) y un tramo de cable, os acosejamos leer más abajo las sugerencias para el cableado CANbus, al igual que una crimpadora para esos conectores
Antes de comenzar con el proceso vamos a explicar brevemente que es CANboot y para/porque lo vamos a utilizar:
CANboot es un bootloader que se aplica a nuestras electrónicas (Octopus y EBB en este caso) que nos va a permitir poder aplicar el firmware Klipper usando USB, USART o CAN sin necesidad de acceder físicamente a la electrónica para realizar procesos como un reset o DFU
Utiliza un sistema similar a Klipper y su make menuconfig
para crear, configurar y compilar el firmware
Vamos a comenzar instalando y entrando en el menú de creación del firmware/bootloader, desde el terminal SSH ejecutaremos:
En el menu de configuración de firmware/bootloader configuraremos de la siguiente forma, recuerda que tendrás que hacerlo para tu Octopus:
Una vez ajustadas las opciones pulsaremos Q y Y para salir y guardar la configuración. Lanzaremos el comando make:
Al finalizar obtendremos un firmware canboot.bin en /home/pi/CanBoot/out/canboot.bin el cual deberemos de copiar a nuestro equipo si aplicamos el firmware usando la SD en la electrónica.
Conectaremos el cable USB entre nuestro ordenador y nuestra Octopus
Quitaremos el jumper de los pines USB-C y pondremos un jumper en BOOT0
Aplicaremos alimentación a nuestra Octpus desde la fuente de la impresora y pulsaremos y soltaremos el boton RESET, esto hará que entre en modo DFU.
Abriremos en nuestro ordenador STM32CubeProgrammer, deberemos asegurarnos que tenemos seleccionado USB y pulsaremos el botón de Connect en el caso que no nos indique que estemos conectados.
Deberemos de limpiar la memoria flash de nuestra Octopus.
Volveremos al inicio pulsando sobre el icono del lápiz y cargaremos nuestro firmware canboot.bin, el que preparamos para nuestra Octopus, y daremos a Download que descargará el firmware/bootloader a nuestra Octopus.
Una vez aplicado apagaremos la alimentación de nuestra Octopus y quitaremos el jumper de BOOT0... ya tenemos nuestra Octopus con CANboot!!!
Volveremos al menu de CANboot para crear el firmware/bootloader para nuestro toolhead EBB:
En los ejemplos anteriores usamos 500000 como velocidad del bus CAN, en cualquier caso es interesante realizar la pruebas con 1000000 para ver si funciona correctamente.
Una vez ajustadas las opciones, pulsaremos Q y Y para salir y guardar la configuración.
Lanzaremos el comando make
:
Al finalizar obtendremos un firmware canboot.bin en /home/pi/CanBoot/out/canboot.bin el cual deberemos de copiar a nuestro equipo.
Comenzaremos colocando el jumper VUSB para que permita encender la EBB mediante USB
Activaremos el modo DFU
Conectaremos la EBB a nuestro ordenador y desde STM32CubeProgrammer realizaremos los mismos pasos que hicimos para nuestra Octopus.
Una vez finalizado el proceso apagaremos nuestra EBB quitando el cable USB, quitaremos el jumper VBUS y pondremos el jumper 120R.
Ahora que ya tenemos preparadas nuestra Octopus y EBB con CANboot toca ponerse con el firmware Klipper.
Comenzaremos creando el firmware Klipper desde make menuconfig seleccionando la configuración para nuestra Octopus usando CANbus bridge.
IMPORTANTE!!!
A la hora de generar el firmware Klipper usando como conexión CANbus asegúrate que seleccionas la velocidad correcta que usaste previamente al generar el fimware/bootloader CANboot. En el ejemplo usamos 500000 pero os aconsejamos hacer pruebas con 1000000.
Una vez ajustadas las opciones, pulsaremos Q y Y para salir y guardar la configuración.
Lanzaremos el comando make
:
Os aconsejamos cambiar el nombre del firmware creado a octopus_klipper.bin y lo dejaremos en el directorio de klipper para evitar que se sobreescriba
Vamos a continuar generando el firmware Klipper para nuestra EBB.
Limpiaremos y lanzaremos nuestro make
ajustando las opciones dependiendo de nuestro modelo:
Una vez ajustadas las opciones, pulsaremos Q y Y para salir y guardar la configuración.
Lanzaremos el comando make
y copiaremos el firmware creado a ebb_klipper.bin en nuestro directorio klipper:
Conectaremos por USB nuestro host y Octopus alimentando esta con la alimentación de nuestra impresora. Desde el terminal SSH lanzaremos el comando:
Esto nos devolverá el serial id de nuestra Octopus, en nuestro caso /dev/serial/by-id/usb-CanBoot_stm32f429xx_350026000B50314B33323220-if00
:
El serial id puede variar en tu caso, adapta los siguientes pasos a tu caso!!!
Ahora procederemos a aplicar el firmware Klipper que generamos en el punto anterior usando CANboot:
Ahora que ya tenemos nuestra Octopus con el firmware Klipper que habilita CANbridge procederemos a configurar nuestra interfaz CAN.
Y copiaremos la siguiente configuración:
Recuerda ajustar el bitrate al mismo que indicases en tu firmware/bootloader!!!
Usando CTRL+X y Y y ENTER guardaremos los cambios
Apagaremos la impresora, conectaremos los cables de alimentación y RJ11/12 a nuestro EBB... Volveremos a encender la impresora.
Ahora que nuestra interfaz CAN vamos a revisar que esté levantado y funcionando con el comando, ip -s link show can0
en el caso de que diera un error podemos intentar levantarlo con sudo ip link set up can0
:
Si todo funcionó correctamente, lanzaremos el siguiente comando para encontrar los UUID de nuestros dispositivos CAN:
Podemos ver los UUID de nuestra Octopus con Klipper (463b35222d7b) y nuestra EBB en CANboot (127081e7e3c6).
Ahora lanzaremos el comando para aplicar el firmware Klipper previamente creado para nuestra EBB usando la interfaz CAN:
Si hemos llegado hasta aquí ya tenemos nuestro CAN montado, aplicado nuestros firmwares Klipper/CANboot y disponemos de nuestro bus CAN funcionando y los UUID de nuestros componentes.
Ahora deberemos de configurar nuestro fichero de configuración de Klipper, printer.cfg o alguno de sus includes, para indicarle que conecte con nuestros componentes usando el bus CAN.
Modificaremos nuestras secciones mcu y mcu EBBCan para indicar sus UUID:
Si tenemos problemas de conexión:
En ocasiones el interfaz/bus CAN puede tardar en levantarse, prueba a realizar un reset o un reinicio de la máquina
Podemos lanzar el comando sudo ip link set up can0
Dado que ya tenemos montada nuestra red CANbus y disponemos de CANboot en nuestras electrónicas, podemos realizar actualizaciones de firmware de una forma sencilla.
Volveremos a crear el firmware tal como realizamos en pasos anteriores
Lanzaremos el script flash_can.py para aplicar el firmware, es importante tener el UUID
Realizaremos el proceso tanto para nuestra Octopus como EBB
A continuación vamos a aplicar nuestro firmware/bootloader CANboot a nuestra Octopus, y para ello necesitaremos la aplicación para ello necesitaremos poner nuestra Octopus en modo DFU.
A continuación vamos a aplicar nuestro firmware/bootloader CANboot a nuestra EBB, y para ello necesitaremos la aplicación para ello necesitaremos poner nuestra EBB en modo DFU.
Revisa nuestra guía de