Octopus/Octopus Pro + EBB Toolhead (CANbridge)
En esta guía os mostraremos el proceso para tener nuestra Octopus/Octopus Pro usando un módulo EBB conectada directamente a nuestra Octopus.
Conexiones
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 



Instalando CANboot
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 menuconfigpara 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:
cd ~
git clone https://github.com/Arksine/CanBoot
cd CanBoot
make menuconfigCANboot para Octopus
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:
makeAl 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.
A continuación vamos a aplicar nuestro firmware/bootloader CANboot a nuestra Octopus, y para ello necesitaremos la aplicación STM32CubeProgrammer para ello necesitaremos poner nuestra Octopus en modo DFU.
- 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!!! 
CANboot para EBB
Volveremos al menu de CANboot para crear el firmware/bootloader para nuestro toolhead EBB:
make clean
make menuconfig

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:
makeAl finalizar obtendremos un firmware canboot.bin en /home/pi/CanBoot/out/canboot.bin el cual deberemos de copiar a nuestro equipo.
A continuación vamos a aplicar nuestro firmware/bootloader CANboot a nuestra EBB, y para ello necesitaremos la aplicación STM32CubeProgrammer para ello necesitaremos poner nuestra EBB en modo DFU.
- Comenzaremos colocando el jumper VUSB para que permita encender la EBB mediante USB 


IMPORTANTE!!
Para los modelos EBB36/42 v1.1 al entrar en modo DFU se activa el pin del calentador del hotend. Si tenemos alimentada nuestra EBB con la fuente de la impresora puede calentar el hotend sin ningún tipo de protección lo que puede causar daños importantes!!!
- 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. 


Instalando Klipper
Ahora que ya tenemos preparadas nuestra Octopus y EBB con CANboot toca ponerse con el firmware Klipper.
Klipper para Octopus (CANbus Bridge)
- Comenzaremos creando el firmware Klipper desde make menuconfig seleccionando la configuración para nuestra Octopus usando CANbus bridge. 
cd ~/klipper
make menuconfigIMPORTANTE!!!
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:
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 
mv ~/klipper/out/klipper.bin octopus_klipper.binKlipper para EBB
Vamos a continuar generando el firmware Klipper para nuestra EBB.
- Limpiaremos y lanzaremos nuestro - makeajustando las opciones dependiendo de nuestro modelo:
make clean
make menuconfig

- Una vez ajustadas las opciones, pulsaremos Q y Y para salir y guardar la configuración. Lanzaremos el comando - makey copiaremos el firmware creado a ebb_klipper.bin en nuestro directorio klipper:
make
mv ~/klipper/out/klipper.bin ebb_klipper.binConfiguración Klipper 
Conectaremos por USB nuestro host y Octopus alimentando esta con la alimentación de nuestra impresora. Desde el terminal SSH lanzaremos el comando:
ls /dev/serial/by-id/*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:
cd CanBoot/scripts
pip3 install pyserial
python3 flash_can.py -f ~/klipper/octopus_klipper.bin -d /dev/serial/by-id/usb-CanBoot_stm32f429xx_350026000B50314B33323220-if0
Ahora que ya tenemos nuestra Octopus con el firmware Klipper que habilita CANbridge procederemos a configurar nuestra interfaz CAN.
sudo nano /etc/network/interfaces.d/can0Y copiaremos la siguiente configuración:
allow-hotplug can0
iface can0 can static
    bitrate 500000
    up ifconfig $IFACE txqueuelen 1024- 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:
cd CanBoot/scripts
python3 flash_can.py -i can0 -q
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:
python3 flash_can.py -f ~/klipper/ebb_klipper.bin -u 127081e7e3c6
Ajustando nuestro printer.cfg
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:
[mcu]
canbus_uuid: 463b35222d7b
[mcu EBBCan]
canbus_uuid: 127081e7e3c6Si 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
- Revisa nuestra guía de Troubleshooting CAN 
Actualizando nuestro firmware Klipper mediante CANboot
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 
python3 flash_can.py -f ~/klipper/octopus_klipper.bin -u 463b35222d7b- Realizaremos el proceso tanto para nuestra Octopus como EBB 
Última actualización
¿Te fue útil?



