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 del sensor
  • Compilación del firmware
  • Configuración Klipper
  • Calibración BTT Eddy
  • Calibración DRIVE_CURRENT
  • Calibración de mapeo de lecturas
  • Calibración de malla
  • Compensación de temperatura
  • Z-Offset
  • Video Tutorial
  • Troubleshooting/Resolución de problemas
  • Versiones BTT Eddy
  • KNOMI
  • KAMP
  • Error during homing probe: Eddy current sensor error
  • Probe Triggered Before Movement
  • Pausas o saltos durante el mallado
  • gcode command < ANY GCODE COMMAND > already registered
  • Problemas z-offset

¿Te fue útil?

  1. Klipper
  2. Configuración
  3. Sensor nivelación

Bigtreetech Eddy

AnteriorSensor nivelaciónSiguienteBIQU MicroProbe

Última actualización hace 7 días

¿Te fue útil?

El BTT Eddy es un sensor de nivelación por escaneo de la superficie, este tipo de sensores pueden escanear tu cama en unos pocos segundos con una alta precisión.

Entre sus ventajas podemos destacar:

  • nivelación de alta velocidad, completa un nivelado de cama en unos pocos segundos (alrededor de 20s para una cama de tamaño medio)

  • alta precisión, con lecturas de 0.0005 mm de precisión

IMPORTANTE!!!

Por el tipo de sensor utilizado el BTT Eddy este solamente es compatible con superficies metálicas conductivas y que además cuenten con un campo magnético uniforme. El BTT Eddy puede dar problemas con camas con zonas específicas de nivelación o imanes para fijar el fleje/PEI.

  • tamaño compacto y bajo peso, con sus 6g y su pequeño tamaño es integrable en casi cualquier cabezal de impresión no afectando en el aumento de masa que pueda afectar las inercias y vibraciones durante nuestras impresiones. Especialmente pensado para su instalación en cabezales Voron

  • compensación de temperatura, integra la función de compensación de temperatura de Klipper para una precisión perfecta

Instalación del sensor

Algunos consejos de instalación:

  • el sensor hemos de montarlo en nuestro cabezal de impresión entre 2-3mm entre la superficie de impresión/punta del nozzle.

  • en el caso de la versión USB es aconsejable evitar que pase al lado de cables que generen mucho ruido eléctrico (motores por ejemplo) y/o utilizar un cable de calidad con buen apantallamiento, flexible y tolerable a temperaturas

  • instalarlo, especialmente el lado de la electrónica del sensor, alejado de fuentes de calor como el hotend

Compilación del firmware

Para poder utilizar el dispositivo este ha de tener el firmware correcto del sensor o host donde se conecte:

  • desde SSH lanzaremos los siguientes comandos:

cd ~/klipper
make menuconfig
  • estableceremos estos valores en la configuración de menús:

  • Pulsaremos Q y Yes para salvar los cambios

  • Desde la linea de comandos SSH lanzaremos el comando make

  • Si tenemos el sensor conectado quitaremos el cable

  • Dejaremos pulsado el botón BOOT, se puede pulsar sin desmontar el sensor, mientras volvemos a conectar el cable USB (este debe estar conectado a nuestro host Klipper). Una vez conectado y encendido el sensor podemos dejar de pulsar BOOT ya tendremos nuestro sensor en ese modo.

  • desde SSH lanzaremos el comando lsusb para ver si aparece nuestro sensor, deberíamos de ver algo como:

  • nos aseguramos que estamos en el directorio Klipper con cd ~/klipper

  • lanzaremos make flash FLASH_DEVICE=2e8a:0003 para generar y aplicar el firmware, recuerda ajustar 2e8a:0003 a lo obtenido en el lsusb

  • una vez finalizado el proceso lanzaremos ls /dev/serial/by-id/* para ver si aparece el serialID de nuestro sensor que usaremos en la configuración de Klipper en la sección [mcu eddy] que veremos más adelante

La versión BTT Eddy Coil está pensada para ser conectada a un toolhead o host mediante I2C, para poder utilizarlo has de aplicar el firmware a ese host y una vez conectado a Klipper el host hacer la configuración específica I2C para ese host.

Configuración Klipper

Dado que podemos utilizar el BTT Eddy de diferentes formas es importan elegir ejemplo de configuración adecuado:

El siguiente paso va a depender de que hemos elegico como z-endstop:

En el caso que queramos utilizar nuestro BTT Eddy como z-endstop, que normalmente es lo aconsejable, deberemos de seguir los siguientes pasos:

  • indicar que nuestro sensor Eddy va a hacer el proceso de z-endstop para el homing

    • en la sección [stepper_z] de nuestro printer.cfg (o del include que pueda contenerlo) cambiaremos endstop_pin a endstop_pin: probe:z_virtual_endstop, también es aconsejable comenta o eliminar position_endstop: 0

    • asegurarnos que hemos copiado o añadido como include a nuestro printer.cfg el fichero de ejemplo del punto anterior.

En el caso que utilicemos un dispositivo como el BTT KNOMI algunas macros pueden entrar en conflicto por lo que suele ser aconsejable comentarlas en el fichero de configuración del KNOMI y dejar las del Eddy

El siguiente paso será ajustar la configuración específica que obtuvimos en las secciones previas, ya sea si lo pusimos directamente en el printer.cfg o lo incluimos como un include tendremos que ajustar sobre las configuraciones de ejemplo:

Uso de includes:

Dado que Klipper puede funcionar con configuraciones modulares en base a includes, que son referencias a otros cfg para ser procesados para la configuración, es la forma más ordenada y limpia de implementar el BTT Eddy ya que todo lo relacionado con el lo vamos a tener en un fichero específico.

De los ficheros de configuración anteriores lo ideal es crear un eddy.cfg y copiar la configuración de ejemplo de puntos anteriores.

Para incluirlo en nuestra configuración como include será tan sencillo como poner la línea:

[include eddy.cfg]

Como siempre encima de la linea #*# <---------------------- SAVE_CONFIG ----------------------> y dado que Klipper proceso de forma secuencial la configuración encima o debajo de otras secciones que puedan afectarles, como por ejemplo si tenemos un KNOMI en nuestra máquina debería de estar por debajo de la configuración de este.

  • el serial del BTT Eddy en el caso que usemos la versión USB

  • los offsets del sensor XY para nuestra máquina

Podemos utilizar el siguiente procedimiento para obtener los offsets para nuestro caso.

También contamos con otro modo más preciso, aunque para ello tenemos que tener la máquina funcional para hacer un homing.

Desde nuestro interfaz de control de Klipper (Mainsail/Fluidd/KlipperScren) colocaremos el sensor/cabezal en el centro de nuestra área de impresión, previamente hemos de realizar un home.

Desde la consola/terminal del interfaz lanzaremos la macro PROBE, en la cama podemos poner un folio o cinta de carrocero marcando el punto donde está el punto de medición de la sonda para tenerlo como referencia.

Lanzaremos desde la consola/terminal la macro GET_POSITION que nos devolverá la ubicación actual de la máquina que nos anotaremos:

Recv: // toolhead: X:46.500000 Y:27.000000 Z:15.000000 E:0.000000

Con los controles de movimiento haremos que el nozzle quede encima de la marca que hicimos previamente y haremos lo mismo lanzando de nuevo el comando GET_POSITION y calcularemos nuestros offsets en base a la diferencia de ellos.

Estos valores los colocaremos en nuestro printer.cfg y haremos un RESTART desde la consola para que se carguen.

Con todos estos ajustes tan solo tenemos que reiniciar nuestro Klipper para que los valores se carguen y sean efectivos.

Calibración BTT Eddy

Ahora que ya tenemos nuestro sensor con el firmware, en el caso de que lo necesite, y la configuración de Klipper hecha es el turno de la calibración.

Calibración DRIVE_CURRENT

Desde la interfaz de Klipper, es aconsejable desde la web, seguiremos los siguientes pasos:

  • Haremos un homing de la máquina

En el caso que usemos el BTT Eddy como z-endstop puede ser que no podamos hacer un homing por lo que simplemente haremos homing de los ejes XY con G28 XY desde la consola y moveremos manualmente el cabezal a la distancia de 20mm

  • Colocaremos el cabezal en el centro de la cama, si nuestra rutina de homing ya la tenemos asi no hace falta modificar la ubicación, y dejaremos cabezal a 20mm de la cama.

  • Lanzaremos la macro LDC_CALIBRATE_DRIVE_CURRENT CHIP=btt_eddy

  • Una vez finalizado el proceso guardaremos los ajustes calculados con SAVE_CONFIG

Calibración de mapeo de lecturas

Una vez que ya tenemos el DRIVE_CURRENT calibrado, nuestro sensor ya está capacitado para poder realizar lecturas de nuestra cama. Pero antes debemos hacer que Klipper ajuste las lecturas del sensor con respecto a la altura del nozzle. Este proceso básicamente coloca el nozzle en z=0 y va realizando medidas con el sensor mientras incrementa la altura del nozzle.

  • Lanzaremos el comando PROBE_EDDY_CURRENT_CALIBRATE_AUTO CHIP=btt_eddy

  • Seguiremos las instrucciones para mover nuestro nozzle hasta tocar nuestra cama con un papel encima, el proceso tradicional de ajustar el nozzle.

  • Una vez finalizado daremos al ok en la UI y veremos que comienza el proceso de calibración.

  • Al finalizar el proceso ejecutaremos la macro SAVE_CONFIG para guardar los valores

Calibración de malla

  • Haremos un homing de todos los ejes ya sea desde la interfaz o con G28 desde la consola

  • Utilizaremos la macro BED_MESH_CALIBRATE METHOD=rapid_scan

  • Una vez finalizado guardaremos cambios con SAVE_CONFIG

La nueva actualización de Klipper para soportar el BTT Eddy incluye mejoras en la macro BED_MESH_CALIBRATE añadiendo por ejemplo un nuevo de escaneo para este tipo de sensores METHOD=scan.

  • SCAN_MODE=[detailed | rapid], nos va a permitir elegir el método de escaneo con uno más detallado realizando pausas para obtener varios sondeos de cada punto o el rápido que va a realizar el sondeo sin parar y de forma realmente rápida

  • SCAN_SPEED=[speed], donde ajustaremos la velocidad durante el escaneo

  • SAMPLE_TIME=[time], el tiempo de pausado cuando realizamos un escaneo en modo detallado

  • SAMPLES_RESULT=[option], el tipo de fórmula a aplicar sobre las lecturas de sondeo

    • standard, todas las medidas son calculadas como medias

    • centered, las medidas son filtradas los primeros y últimos se obvian y el resto son medias

    • weighted, las medidas cercanas al sensor son usadas tal cual y las lejanas como medias

Compensación de temperatura

Actualmente solamente la versión USB lo soporta!!!

  • Haremos un homing de todos los ejes ya sea desde la interfaz o con G28 desde la consola y moveremos el eje Z a 5mm desde los controles de la interfaz o consola con un G0 Z5

  • Es aconsejable ajustar el timeout de inactividad (idle timeout) para que el proceso se complete, lo haremos con la macro SET_IDLE_TIMEOUT TIMEOUT=36000

  • Lanzaremos la macro de calibración TEMPERATURE_PROBE_CALIBRATE PROBE=btt_eddy TARGET=56 STEP=4

  • Nos aparecerá en la interfaz un asistente para hacer el proceso de nivelación de altura con el papel

  • Ajustaremos desde la interfaz la temperatura de la cama y del nozzle a las máximas temperaturas que solamos imprimir con nuestra máquina. Es aconsejable realizar este test en condiciones óptimas evitando corrientes de aire.

  • El asistente nos irá indicando cada vez que sea necesario volver a realizar el ajuste del papel, ten mucho cuidado de no quemarte durante el proceso!!!

También podremos ir avanzando en estos pasos con las macros:

  • TEMPERATURE_PROBE_NEXT que usaremos para forzar un nuevo test antes de que llegue a la temperatura objetivo

  • TEMPERATURE_PROBE_COMPLETE para indicar que el proceso ha finalizado antes de llegar a la temperatura objetivo TARGET

  • ABORT para parar el proceso

Z-Offset

Este proceso solamente aplicará si utilizamos nuestro BTT Eddy como z-endstop!!!

Como funciona el z-offset en un sensor estilo Eddy?

Probablemente ya sepas que se considera z-offset, en referencia a un sensor de nivelación, como la distancia entre la que el sensor se activa y la posición física de la punta de nuestro nozzle ya que la posición entre ambos siempre ha de ser la misma salvo ajustes físicos.

Esto funciona en aquellos sensores tradicionales que envian una señal simple de activación que es la que se usa de referencia para calcular junto con el z-offset donde ubicar el nozzle en altura con respecto a la cama.

En el caso de sensores estilo Eddy no envian una señal de activación si no que están enviando un flujo de telemetría al sistema. Klipper interpreta esta telemetría para traducirla en alturas/distancias de Z.

Durante el proceso de ajuste básicamente se ajusta mecanicamente mediante un papel la distancia correcta del nozzle con la cama y le decimos al sistema que para la lectura en el rango obtenido del test ese va a ser z=0.

Teniendo en cuenta lo anterior puede llevar a confusión el valor z-offset de la configuración del Eddy ya que básicamente funciona de la forma contraria a lo que entendemos como z-offset en un sensor normal. Ese valor indica cuanto puede subir por encima de la altura de capa para realizar el sondeo. Por ejemplo si ponemos 2.5mm en ese valor veremos que durante el sondeo usa esa altura... en resumen el valor de z-offset en este caso no es para ajustar z=0 si no para ajustar la distancia de sondeo.

Para ajustar el z-offset cuando utilizamos nuestro BTT Eddy como z-endstop para realizar el proceso de homing:

  • Haremos un homing de todos los ejes ya sea desde la interfaz o con G28 desde la consola

  • Colocaremos un trozo de papel debajo del nozzle

  • Lanzaremos el comando PROBE_EDDY_CURRENT_CALIBRATE_AUTO CHIP=btt_eddy y seguiremos las indicaciones para bajar/ajustar la altura de Z para que el nozzle roce el papel

  • Realizaremos un SAVE_CONFIG

Video Tutorial

Como ayuda adicional tenéis este videotutorial con el proceso a seguir.

Troubleshooting/Resolución de problemas

El BTT Eddy es un sensor recientemente implementado en Klipper por lo que puede ser susceptible de mejoras en su uso y estabilidad, en cualquier caso os facilitamos algunos tips en el caso de problemas con su uso.

Versiones BTT Eddy

Es importante que dependiendo de nuestra máquina podamos escoger la versión/modelo adecuado para nuestro uso.

Existen básicamente 3 versiones de BTT Eddy:

  • BTT Eddy, suele ser el aconsejable siempre ya que se conecta por USB y se gestiona como cualquier otra MCU en nuestro Klipper... además cuenta con sensor de temperatura que nos va a dotar de funcionalidades extras importantes. Por contra va a requerir de un cable extra USB y la instalación del mismo.

  • BTT Eddy Coil, esta versión está especialmente pensada para su instalación junto a toolheads como los EBB36/42 ya que cuenta con la conexión I2C necesaria. En este caso no contamos con sensor de temperatura que va a limitar ciertas opciones pero por otro lado el cableado al ir al toolhead debería de ser más simple.

  • BTT Eddy CAN, en este caso se utiliza un bus CAN para la conexión a nuestro sistema directamente a nuestro host, electronica o toolhead siempre que estos cuenten con un bus CAN.

A continuación una tabla comparativa:

KNOMI

Como ya hemos comentado durante la fase de instalación/configuración si tenemos un KNOMI podemos tener problemas ya que algunas macros van a entrar en conflicto.

Para hacerlos compatibles tenemos diferentes opciones como comentar en el cfg del KNOMI las macros en conflicto, añadir la configuración de BTT Eddy después de la del KNOMI.

Por otro lado en la configuración de ejemplo del BTT Eddy, en el caso de disponer KNOMI, deberemos des comentar las macros que hacen referencia a este.

KAMP

Con la integración nativa del mallado dinámico en Klipper el uso de KAMP ya no aporta tantos beneficios y si juntamos esto con que el mallado de cama con BTT Eddy es extremadamente rápido carece de sentido usarlo.

Además de esto las macros de KAMP pueden entrar en conflicto con las de BTT Eddy por lo que es aconsejable eliminarlo o al menos eliminar/comentar de nuestra configuración KAMP_SETTINGS.cfg la línea #[include ./KAMP/adaptive_meshing.cfg].

Error during homing probe: Eddy current sensor error

Normalmente este error indica un fallo en los valores reportados por el sensor BTT Eddy, tenemos diferentes opciones para solucionar este tipo de problemas:

  • revisa que tu sensor se encuentre a la altura adecuada, como os dijimos este ha de estar entre 2-3mm de la punta del nozzle siendo 2.5mm la altura óptima

  • siempre que ajustemos la altura del sensor es necesario eliminar toda la configuración de calibración y realizar de nuevo esta

  • si seguimos con problemas podemos poner el valor 16 en reg_drive_current

Probe Triggered Before Movement

Normalmente sucede cuanto intentamos utilizar el PROBE dos o mas veces, para evitarlo es aconsejable subir Z unos mm entre comandos PROBE.

Pausas o saltos durante el mallado

Normalmente sucede cuando no hemos configurado bien las macros de mallado, BED_MESH_CALIBRATE METHOD=rapid_scan

También puede suceder como os comentamos anteriormente por utilizar KAMP o similares que modifican esta macro de sistema

gcode command < ANY GCODE COMMAND > already registered

Al igual que el anterior normalmente hace referencia al uso de una macro que usa el BTT Eddy y que no se ha cargado de forma correcta o ha sido machacada por otra configuración.

Problemas z-offset

Por esto es muy importante que hagamos una calibración correcta y si decidimos utilizar la versión z-offset de la configuración deberemos des comentar la macro z-offset que incluye ese ejemplo que alineara ese offset al z-offset.

Dado que ya no es necesario el uso del fork Bigtreetech de Klipper al usar este tipo de sensores es aconsejable utilizar Klipper oficial. Esta guía está pensada para utilizar Klipper oficial así que si estás utilizando el fork de Bigtreetech te aconsejamos que migres a la versión oficial por lo que es aconsejable reinstalarla siendo lo más fácil desde .

BTT Eddy solamente es compatible con instalaciones de Klipper que utilicen Python 3. En el caso que veamos errores durante la compilación del estilo Internal error during connect: split() takes no keyword arguments normalmente indican que tu instalación de Klipper está basada en Python 2 por lo que es aconsejable reinstalarla siendo lo más fácil desde .

utilizaremos el sensor BTT Eddy como sensor de nivelación/probe y otro dispositivo como z-endstop (homing) ->

utilizaremos el sensor BTT Eddy como sensor de nivelación/probe y z-endstop ->

utilizaremos el sensor BTT Eddy como sensor de nivelación/probe y z-endstop además de utilizar la nueva función de z-offset ->

Lo primero tendremos en cuenta la ubicación del sensor en el BTT Eddy:

Podemos obtener esos offsets simplemente midiendo con una regla la distancia desde nuestro nozzle al punto de medición del sensor en X e Y. Tenéis más información sobre esta forma manual en la .

mesh_min y mesh_max, tenéis más información e incluso una macro para calcularlos en la .

home_xy_position, que también tenéis explicado en a .

Tenemos una que os puede servir como referencia, aunque tiene algunos cambios en el caso del BTT Eddy.

A modo de referencia tenemos el proceso explicado en la .

Muchos usuarios les gusta utilizar ya que permitía tener un mallado dinámico del área de impresión y un ajuste de la línea de purgado.

Si queremos utilizar el mallado dinámico podemos utilizar el valor ADAPTIVE=1 cuando llamamos a nuestra macro de nivelación BED_MESH_CALIBRATION... tenemos más información en nuestra .

Os aconsejamos leer interesante información de como funciona en BTT Eddy. Con un BTT Eddy el z-offset actúa diferente a un sensor normal que indica la altura entre la activación del sensor y del nozzle... en este caso indica a que altura el sensor activa la señal de final de carrera.

🖇️
Kiauh
Kiauh
este sería el fichero de configuración a tomar como ejemplo
este sería el fichero de configuración a tomar como ejemplo
este sería el fichero de configuración a tomar como ejemplo
guía de sensores de nivelación
guía de sensores de nivelación
guía de nivelación de cama
KAMP aka Klipper-Adaptive-Meshing-Purging
guía de mallado cama inteligente
esta
- English
guía de sensores de nivelación
guía de sensores de nivelación