3Dwork - Klipper
KLIPPERMARLINLABSTelegramColabora
  • 3DWork.io - Klipper
  • Invitame a un cafe :D
  • 🖇️Klipper
    • Klipper
    • Instalación
      • Múltiples instancias Klipper
      • Klipper en Raspberry Pad 5
      • Klipper en Orange Pi Zero Plus
      • Klipper en PC con Windows (Usando WSL)
      • Duet 2 Wifi - Klipper
      • Guías Instalación específicas impresora/electrónica
        • Creality - Klipper
          • Creality Sonic Pad - Klipper Oficial, custom firmware
        • Artillery - Klipper
    • Configuración
      • Primeros pasos con Klipper
      • PID
      • Calibración extrusor (e-steps)
      • Nivelación manual de cama
      • Sensor nivelación
        • Bigtreetech Eddy
        • BIQU MicroProbe
      • Nivelación Gantry (Z-TILT)
      • Malla nivelación de cama
      • Pressure Advance
      • Input Shaper
      • Velocidad Máxima
      • Configuración Klipper en laminadores
      • SKEW : compensación chasis/cinemática
      • Ajustes avanzados TMC (VFA)
      • Retracciones en firmware
      • Configuración de una dirección IP estática y nombre DNS
      • Sincronización horaria
    • Mejoras/Tips
      • 3Dwork Klipper Bundle
      • Backup Klipper
      • Host como segunda MCU
      • Sensores de filamento
      • Cámaras - Instalación y configuración
      • Neopixel
      • Mainsail - Mejoras
        • Exclude Objects
        • Timelapses
      • Moonraker - Mejoras
        • Moonraker-Telegram
      • KlipperScreen - Mejoras
        • KlipperScreen - Personaliza arranque con un video con tu logo
        • KlipperScreen - Guia de pantallas
        • KlipperScreen Android (Wifi)
        • KlipperScreen - MKS TS35
        • KlipperScreen - Raspberry Pi 5" DSI
      • Macros - Mejoras
        • Mallado de cama inteligente
        • Test de cinemática
        • Cambio Filamentos/M600
        • Pausado en capa
      • CANbus
        • ‼️CANbus Troubleshooting
        • Octopus/Octopus Pro + EBB Toolhead (CANbridge)
        • Bigtreetech Manta + EBB Toolhead
      • Impresión desde USB
      • VPN con ZeroTier
    • ‼️Klipper Troubleshooting
    • Guía Calibración Impresoras 3D FDM/Filamento
  • ℹ️GUÍAS ESPECÍFICAS KLIPPER
    • Creality
      • Creality K2 Plus
      • Creality K1 & K1 Max
    • QIDI
      • QIDI Plus 4
      • QIDI X-MAX 3
    • Bigtreetech Hurakan
    • RatRig V-Core 3
    • RatRig V-Minion
  • 🎨ERCF
    • Enraged Rabbit Carrot Feeder (ERCF)
  • 🌐3DWORK
    • Quieres promocionar tus productos/empresa?
Con tecnología de GitBook
En esta página
  • Instalación firmware Klipper en nuestro Host para que actúe como MCU
  • Añadir nuestro MCU Host a nuestra configuración
  • Habilitar SPI (Raspberry)
  • Habilitar I2C (Raspberry)
  • Utilidades GPIO (Raspberry)

¿Te fue útil?

  1. Klipper
  2. Mejoras/Tips

Host como segunda MCU

AnteriorBackup KlipperSiguienteSensores de filamento

Última actualización hace 1 año

¿Te fue útil?

En ocasiones como por ejemplo añadir un sensor acelerómetro, un relé de apagado o la gestión de dispositivos por GPIO nos puede interesar usar nuestro host como segunda MCU y poder integrarla para su uso en Klipper.

Instalación firmware Klipper en nuestro Host para que actúe como MCU

El proceso es muy sencillo:

  • Usando nuestro cliente SSH/Terminal favorito nos conectaremos a nuestro Host. Os aconsejamos usar o por ejemplo.

Para OS Raspberry, recordamos que por defecto normalmente se usa "pi" como nombre de usuario y "raspberry" como contraseña.

Revisar en cualquier caso el user/password de vuestro sistema

  • Entraremos en el directorio de Klipper lanzando el siguiente comando:

cd ~/klipper/
  • Instalaremos el soporte local para MCU, al usar el comando sudo nos solicitará la contraseña:

sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
  • Haremos que el servicio de MCU Klipper funcione en el arranque:

sudo systemctl enable klipper-mcu.service
  • Crearemos nuestro firmware Klipper para nuestro Host, en las opciones iremos con las flechas a la opción Micro-controller Architecture y pulsando enter seleccionaremos de la lista Linux process una vez seleccionado pulsaremos Q e Y para confirmar:

cd ~/klipper/
make menuconfig
  • Pararemos por seguridad el servicio Klipper con el siguiento comando:

sudo service klipper stop
  • Ejecutaremos el comando siguiente para crear y aplicar el firmware Klipper para nuestro Host:

make flash
  • Ahora tan solo tenemos que iniciar nuestro servicio Klipper y si hemos seguido las instrucciones correctamente y no falló ningún paso ya tendremos nuestro Host como segunda MCU:

sudo service klipper start

Si nuestro Klipper no conecta con nuestro Host como MCU podemos revisar el log de Klipper (klippy.log):

  • revisaremos que el servicio klipper-mcu funcione correctamente systemctl status klipper-mcu Nos debería retornar algo así: klipper@bigtreetech-cb1:~# systemctl status klipper-mcu ● klipper-mcu.service - Starts the MCU Linux firmware for klipper on startup Loaded: loaded (/etc/systemd/system/klipper-mcu.service; enabled; preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Mon 2023-12-11 19:39:56 CET; 4s ago Docs: https://www.klipper3d.org/RPi_microcontroller.html Process: 2408 ExecStart=/usr/local/bin/klipper_mcu -r -I ${KLIPPER_HOST_MCU_SERIAL} (code=exited, status=255/EXCEPTION) Main PID: 2408 (code=exited, status=255/EXCEPTION) CPU: 6ms En el caso que nos indique que el servicio no este funcionando y mediante un sudo service klipper-mcu restart nos diga que el servicio no existe realizaremos los pasos previos para montarlo

  • si vemos problemas de Permission denied al intentar conectar a /tmp/klipper_host_mcu podemos intentar reparando añadiendo permisos al usuario pi al grupo tty necesario para el acceso:

sudo usermod -a -G tty pi

Añadir nuestro MCU Host a nuestra configuración

Ahora solo nos queda añadir a nuestro printer.cfg la configuración de nuestra nueva MCU:

printer.cfg
# The rpi microcontroller is used as secondary.
# Typically, both the X and Y axes
# are connected to the main micro-controller. The rpi microcontroller is used
# on non time-critical functions such as enclosure sensors, additional fan or
# light sources
[mcu host]
serial: /tmp/klipper_host_mcu

Podemos cambiar el nombre de host en la definición de la sección [mcu por otro más descriptivo como rpi, raspberry, cb1 o host si os es más sencillo para identificarla, en todo caso recordad que ese será el nombre que debereis usar al definir componentes conectados a nuestro host pin: host:gpio211 a modo de ejemplo

Habilitar SPI (Raspberry)

Este paso es opcional y normalmente se utilizará en el caso de que queramos usar un componente externo SPI conectado a nuestra RPI como por ejemplo un acelerómetro.

Para ello y desde SSH ejecutaremos:

sudo raspi-config

Encontraremos la opción de habilitar SPI en Interfacing options:

Habilitar I2C (Raspberry)

Al igual que el paso anterior, en ocasiones puede interesarnos habilitar el soporte para I2C, normalmente para acelerómetros de la familia MPU.

Para ello y desde SSH ejecutaremos:

sudo raspi-config

Encontraremos la opción de habilitar I2C en Interfacing options:

Además, en este caso necesitaremos añadir o des comentar unas líneas de nuestro /boot/config.txt (o /boot/firmware/config.txt dependiendo de la distro usada para instalar el OS en nuestra RPI):

sudo nano /boot/config.txt
dtparam=i2c_arm=on,i2c_arm_baudrate=400000

Con este cambio habilitaremos el canal I2C para que use 400000 como baudrate, en caso que nuestro dispositivo use uno diferente deberiamos ajustarlo

Utilidades GPIO (Raspberry)

Ahora que ya podemos usar nuestra Raspberry como segunda MCU de nuestro Klipper y dado que normalmente el objetivo suele ser para poder tener control desde Klipper sobre las funcionalidades de nuestra Raspberry como pueda ser el acceso a los GPIO os sugerimos algunas herramientas que facilitarán la gestión:

  • Lo primero que haremos será instalar las herramientas para tenerlas disponibles:

sudo apt-get install gpiod
  • Con gpiod instalado ya dispondremos de comandos útiles para la gestión de nuestro GPIO:

    • gpiodetect, que nos permitirá detectar nuestros gpio

    • gpioinfo, nos proporcionará información sobre gpio

🖇️
- English
Terminus
PuTTY