Bigtreetech Eddy

- English

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

  • 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

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.

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:

  • 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.

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 guΓ­a de sensores de nivelaciΓ³n.

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

  • 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

Tenemos una guΓ­a de nivelaciΓ³n de cama que os puede servir como referencia, aunque tiene algunos cambios en el caso del BTT Eddy.

  • 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

  • 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

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

A modo de referencia tenemos el proceso explicado en la guΓ­a de sensores de nivelaciΓ³n.

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

Muchos usuarios les gusta utilizar KAMP aka Klipper-Adaptive-Meshing-Purging ya que permitΓ­a tener un mallado dinΓ‘mico del Γ‘rea de impresiΓ³n y un ajuste de la lΓ­nea de purgado.

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].

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 guΓ­a de mallado cama inteligente.

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

Os aconsejamos leer esta 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.

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.

Última actualización

ΒΏTe fue ΓΊtil?