Guías de impresión

Instalar y configurar BLTouch / 3DTouch en Marlin 2.0.x (MKS Gen, SKR, Anet A8, RAMPS)

Recientemente un compañero me envió un sensor BLTouch / 3DTouch de la marca Geeetech. Para mis impresoras suelo utilizar sensores de infrarrojos ópticos, pero deseaba probar los sensores BLTouch ya que aún no había caído ninguno por mis manos. Así que me puse manos a la obra para Configurar BLTouch con BabyStepping en el último Marlin disponible a día de hoy y saciar mi curiosidad.

Siempre he utilizado sensores de nivelación en mis máquinas, ya que lo de nivelar con un folio las cuatro esquinas de la superficie de impresión definitivamente no es lo mío. Ni lo veo práctico y ni mucho menos preciso, aunque llegado a este punto seguro que discrepo con algún lector 🙂

He de decir que probé bastantes sensores inductivos y capacitivos, incluso opté por el PINDA 2 original, el cual es muy cómodo de instalar ya que es de los pocos que realmente se alimenta a 5v. y da bastante precisión. Pero tampoco me convenció. En todos y cada uno de ellos un denominador común, la distancia de detección varía dependiendo del metal e incluso de la temperatura de la cama.

Es algo que no me gusta para nada. No me da sensación alguna de precisión, ya que lo que yo busco es una medición inmutable (o al menos mínima). Tener un componente que según las condiciones de uso funcione de distinta manera carece de sentido alguno. No quiero calibrar de nuevo esa distancia si cambio el filamento de PLA a ABS, es un engorro.

Con los sensores ópticos, los cuales me encantan, nos olvidamos de esas variaciones ya que en condiciones normales no les afecta el tipo de metal ni la temperatura. Y con los BLTouch lo mismo, ya que son sensores completamente mecánicos (de allí mis ganas por probarlo).

Introducción

Antes de comenzar he de confesar que no dispongo de una impresora 3D comercial como podéis tener muchos de vosotros (Anet A8, Ender3 o Artillery X1 por ejemplo). Tuve una comercial al principio (un desastre de impresora), así que opté por diseñar y fabricar una propia a mi gusto y necesidades.

No obstante eso no debe preocuparte ya que a la hora de configurar el sensor BLTouch las opciones a modificar en el firmware Marlin serán exactamente las mismas. Lo único que variará serán las conexiones, pero indicaremos algunos ejemplos para que no tengas problema alguno en su sección correspondiente.

En este artículo solamente vamos a comentar las opciones a modificar para dar soporte a BLTouch / 3DTouch. Si necesitaras configurar completamente Marlin no dudes en visitar la Guía completa: Configurar Marlin 2.0.3 desde cero y no morir en el intento que también tienes disponible en nuestra página web.

¿Por qué utilizar BLTouch / 3DTouch?

La principal razón para mi sería no tener que estar nivelando 4 esquinas con un folio o haciendo cuadrados en la cama. Si efectuamos la nivelación de la superficie de impresión en las 4 esquinas, cuando estas nivelando una otra se descompensa. Al final para que quede todo bien cuadrado acabas haciendo varias pasadas, y máxime si eres un maniático de la precisión.

Así que la pregunta es extremadamente sencilla. ¿Por qué no instalar un sensor de nivelación para nivelar en un solo punto central de la cama (SAFE_HOMING), y dejar que Marlin genere la malla de puntos y se preocupe del resto? Para eso está Marlin, para facilitarnos la vida ciertamente.

Más razones, puedes instalar sensores capacitivos o inductivos, pero este tipo de sensores varían dependiendo de la temperatura de la cama y del metal. A mayor temperatura, menor rango de detección. Con lo cual no puedes dejar un valor fijo para PLA y otro para ABS.

Además, sobre aluminio se ve mermado considerablemente el rango de detección de los sensores capacitivos y conductivos respecto a usar acero o hierro. Otro punto negativo ya que si usas cristal vas a ir muy justo y en cualquier fallo tu boquilla atravesará el cristal con el consiguiente riesgo de rotura.

Los sensores BLTouch / 3DTouch son mecánicos, así que no les afecta calor, humedad o tipo de material de tu superficie de impresión.

Además, la conexión de los sensores BLTouch / 3DTouch a las placas es relativamente sencilla y no precisas de efectuar ninguna modificación electrónica como sí pasa en otros sensores. Algunos sensores chinos, te indican rangos de funcionamiento desde 6-36v, nada más lejos de la realidad. Si los alimentas a valores mínimos no funcionan, así que has de alimentarlos a 12v.

El problema viene cuando has de enviar la señal (S) a tu placa electrónica, si no regulas ese voltaje (con electrónica adicional) puedes llegar a quemar el puerto como me pasó a mi en mi MKS Gen v1.4. El resultado fue que el conector Z- se me quedó completamente inservible al haber metido 12v. en una entrada de 5v. No es mayor problema, puedes cambiar dentro del firmware de Marlin e indicarle que para Z- vamos a usar el Z+, pero ya has de hacer modificaciones innecesarias.

¿Donde puedo adquirir un BLTouch / 3DTouch?

Puedes adquirir este tipo de sensores en cualquier tienda online,  ya que son muy comunes en el mundo de la impresión 3D. Más abajo te dejo dos enlaces de afiliado a Amazon y Banggood. Por supuesto puedes adquirirlos donde desees, existen decenas de páginas.

Si decides adquirirlo a través de estos enlaces, es mi deber comentarte que una pequeña comisión se destinará al proyecto 3DWork.io y te estaremos eternamente agradecidos. De esta forma podremos continuar redactando guías de impresión 3D y artículos de interés. O como alternativa, puedes seguirnos en nuestras redes sociales 🙂

BLTouch Original (Antclabs)
3DTouch
Bigtreetech 3DTouch v3.0
Creality 3D BLTouch v3.1
3DTouch Geeetech

O si lo deseas, puedes utilizar nuestro buscador de componentes Markets.sx, donde podrás comparar precios en diferentes Marketplaces (Amazon, Aliexpress, Banggood, etc.) con una sola búsqueda y muy fácilmente.

Configurar BLTouch / 3DTouch en Marlin

Bueno, pues comencemos a configurar nuestro firmware Marlin para dar soporte a los sensores BLTouch / 3DTouch. Tal y como expliqué en el articulo previo de Configurar Marlin 2.0.3 desde cero, para activar las opciones hay simplemente que descomentarlas. Eso se efectua eliminando las dos barritas que hay delante de cada #define, de esta forma el compilador podrá hacer uso de ellas y añadirlas al firmware finalizado.

Empezaremos la configuración editando el archivo Configuration.h con tu editor de textos favorito (el mío es Sublime). Una vez que lo has editado, vamos a indicarle a nuestro querido Marlin que nuestra impresora 3D dispone de un final de carrera (sensor) en el eje Z. Procederemos a descomentar las opciones USE_ZMIN_PLUG.

#define USE_ZMIN_PLUG // 3DWORK BLTOUCH Z-

Dependiendo de como conectemos nuestro sensor de nivelación a nuestra placa  podemos optar por dos tipos de configuración en Marlin. 

  • En el caso que usemos el método tradicional de conectar la parte endstop a nuestro final de carrera en Z, normalmente el – o MIN:
    Descomentamos la opción Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN.
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // 3DWORK BLTOUCH Z-
  • En el caso que nuestra placa cuente con un conector especial PROBE y queramos instalarlo ahí:
    Descomentaremos las siguientes lineas (recordad revisar que el caso anterior no este descomentado ya que haría fallar la compilación del firmware), siendo la primera para indicar que nuestro sensor conectado al puerto PROBE se use para el proceso de homing y la segunda (en el caso que no este definido ya en nuestro fichero pins que suele estar) indicar en que pin de nuestra placa se encuentra el PROBE:
#define USE_PROBE_FOR_Z_HOMING // 3DWORK BLTOUCH PROBE PARA HOMING
#define Z_MIN_PROBE_PIN XXX // 3DWORK BLTOUCH PROBE PIN
Ejemplo para una SKR 1.4 usando el pin PROBE para Marlin 2.0.5.3 o superior

Y en esta otra línea del código le vamos a indicar que nuestro sensor instalado es un BLTouch / 3DTouch, que para Marlin vienen a ser lo mismo.

#define BLTOUCH // 3DWORK BLTOUCH

Si usamos un sensor de autonivelación (sea BLTouch o cualquier otro), deberemos indicarle a Marlin la posición del mismo respecto a nuestro Nozzle de impresión. Este obligatoriamente se encontrará separado y lo definiremos como coordenadas y en milímetros.

Mi BLTouch de nivelación se encuentra 37mm a la derecha del fusor, y 2 mm más atrás del mismo, así que pondría la siguiente configuración. Deberás medir en tu impresora estos valores a introducir (no uses los míos)

/**
 * Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 *
 * In the following example the X and Y offsets are both positive:
 *
 *   #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
 *
 *     +-- BACK ---+
 *     |           |
 *   L |    (+) P  | R <-- probe (20,20)
 *   E |           | I
 *   F | (-) N (+) | G <-- nozzle (10,10)
 *   T |           | H
 *     |    (-)    | T
 *     |           |
 *     O-- FRONT --+
 *   (0,0)
 *
 * Specify a Probe position as { X, Y, Z }
 */#define NOZZLE_TO_PROBE_OFFSET { 37, -2, 0 } // 3DWORK BLTOUCH OFFSETS

Ahora debemos descomentar la función AUTO_BED_LEVELING_BILINEAR y después la función RESTORE_LEVELING_AFTER_G28, para que queden activas en nuestro firmware.

/**
 * Choose one of the options below to enable G29 Bed Leveling. The parameters
 * and behavior of G29 will change depending on your selection.
 *
 *  If using a Probe for Z Homing, enable Z_SAFE_HOMING also!
 *
 * - AUTO_BED_LEVELING_3POINT
 *   Probe 3 arbitrary points on the bed (that aren't collinear)
 *   You specify the XY coordinates of all 3 points.
 *   The result is a single tilted plane. Best for a flat bed.
 *
 * - AUTO_BED_LEVELING_LINEAR
 *   Probe several points in a grid.
 *   You specify the rectangle and the density of sample points.
 *   The result is a single tilted plane. Best for a flat bed.
 *
 * - AUTO_BED_LEVELING_BILINEAR
 *   Probe several points in a grid.
 *   You specify the rectangle and the density of sample points.
 *   The result is a mesh, best for large or uneven beds.
 *
 * - AUTO_BED_LEVELING_UBL (Unified Bed Leveling)
 *   A comprehensive bed leveling system combining the features and benefits
 *   of other systems. UBL also includes integrated Mesh Generation, Mesh
 *   Validation and Mesh Editing systems.
 *
 * - MESH_BED_LEVELING
 *   Probe a grid manually
 *   The result is a mesh, suitable for large or uneven beds. (See BILINEAR.)
 *   For machines without a probe, Mesh Bed Leveling provides a method to perform
 *   leveling in steps so you can manually adjust the Z height at each grid-point.
 *   With an LCD controller the process is guided step-by-step.
 *///#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR // 3DWORK BLTOUCH BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING

/**
 * Normally G28 leaves leveling disabled on completion. Enable
 * this option to have G28 restore the prior leveling state.
 */#define RESTORE_LEVELING_AFTER_G28 // 3DWORK BLTOUCH

Es muy importante una vez subidos los cambios veríficar que los offsets esten correctamente cargados en la EEPROM. Esto lo podemos verificar usando el comando M503 desde Pronterface/Octoprint o desde la propia pantalla (segun version y opciones habilitadas en Marlin) en Configuración/Avanzado/Probe Offsets.
En el caso que no estén cargados correctamente esros valores podemos refrescar los datos desde Pronterface/Octoprint usando M502 M500 o desde la pantalla de la impresora Configuración Reset / Load Save Eeprom.
Si deseamos cambiarlos sin tener que compilar Marlin podemos desde Pronterface/Octoprint usar el comando M851 y despues un M500 (guardarlos en EEPROM) y un M503 para verificar que se guardaron correctamente. Por ejemplo para un desfase X de -1.7 e Y -1.3 de nuestro PROBE usariamos el siguiente comando
M851 X-1.70 Y-1.30

Una vez configurado el tipo de autonivelación que deseamos que Marlin efectúe, le indicaremos con los parámetros GRID_MAX_POINTS el número de sondeos (o pruebas) a efectuar. Yo suelo realizar 9 puntos de comprobación antes de cada impresión, podéis ampliarlo o reducirlo, eso queda a vuestra elección.

#define GRID_MAX_POINTS_X 3 // 3DWORK BLTOUCH MALLADO 3x3
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

Y como me gusta hacer siempre el HOMING en el centro de la cama por seguridad, activo la opción Z_SAFE_HOMING.

#define Z_SAFE_HOMING // 3DWORK BLTOUCH

En el caso que usemos cama de cristal con grapas/clips podremos ajustar el margen de seguridad para evitar que nuestro sensor de nivelación pueda chocar con estas.

#define MIN_PROBE_EDGE 20 // 3DWORK BLTOUCH MARGEN 20MM

Para versiones de 2.0.6.x de Marlin o superiores:

#define PROBING_MARGIN 20 // 3DWORK BLTOUCH MARGEN 20MM

Aunque con un sensor como Bltouch/3DTouch no suele ser necesario podemos definir varias lecturas por punto para mejorar la resolución de las mismas.

#define MULTIPLE_PROBING 3 // 3DWORK BLTOUCH MULTIPLES LECTURAS X PUNTO

Otra opción que os aconsejamos es habilitar los menús en pantalla para la nivelación que os dará opciones extras muy interesantes, es importante comentar que esta opción solo funciona si tienes una pantalla LCD.

#define LCD_BED_LEVELING // 3DWORK MEJORAS

Siguiendo con añadir mejoras en las opciones de nuestra pantalla es interesante añadir las opciones de homing por eje, podremos activarlo mediante:

#define INDIVIDUAL_AXIS_HOMING_MENU // 3DWORK MEJORAS

Otra mejora muy interesante e útil es la activación del nivelado de 4 esquinas mediante el sensor de nivelación que nos ayudará a nivelar nuestra cama de una forma sencilla y precisa, más que usar un folio y sensaciones, para dejarla lo más a nivel posible.

#define LEVEL_BED_CORNERS // 3DWORK MEJORAS
...
#define LEVEL_CORNERS_USE_PROBE // 3DWORK MEJORAS

Es necesario ajustar las coordenadas donde se realizará el test de las 4 esquinas para que al compilar no genere un error.
Primero revisaremos el valor que tenemos en los offsets de nuestro sensor/probe, tomamos el siguiente como ejemplo:
#define NOZZLE_TO_PROBE_OFFSET { 35, 5, -0.799 }
A continuación cogiendo como referencia el valor absoluto mayor en los offsets del sensor/probe para los ejes X e Y de la anterior linea le sumaremos 5, en nuestro caso 35+5=40 y colocaremos ese valor en la siguiente linea:
#define LEVEL_CORNERS_INSET_LFRB { 40, 40, 40, 40 }
Esto es una sugerencia de cálculo rápido y válido para el cálculo para las 4 esquinas con sensor aunque dependiendo de la máquina puede variar, es importante entender que ese punto que elijamos para las 4 esquinas el sensor de nivelación quede dentro de la cama ya que las coordenadas hacen referencia a la punta del nozzle

Por otro lado disponemos de ENABLE_LEVELING_FADE_HEIGHT el cual nos permite indicarle a Marlin hasta que altura se aplicarán las correcciones de nivelación para evitar artefactos.

#define ENABLE_LEVELING_FADE_HEIGHT 10 // 3DWORK MEJORAS

Ahora guardaremos el archivo Configuration.h y editaremos un nuevo archivo denominado Configuration_adv.h. La diferencia respecto a Configuration.h es que nos ofrece opciones de personalización más detalladas, y funciones experimentales o en desarrollo.

Es aconsejable activar reintentos en el proceso de generacion de malla G29 para prevenir problemas durante el proceso (esta función puede no ser compatible con todos los sistemas de nivelación como por ejemplo UBL)

# define G29_RETRY_AND_RECOVER // 3DWORK MEJORAS

Otra función más que interesante es la de activar el asistente de Z-Offset para que el proceso de encontrar este offset sea muy muy sencillo.

#define PROBE_OFFSET_WIZARD // 3DWORK MEJORAS

Yo en mi impresora uso una función de nivelación disponible en Marlin 2 denominada BABYSTEPPING. Esta función me permite calibrar con un folio la altura de mi sensor de nivelación en el centro de la cama una sola vez.

Más tarde, la impresora efectuará 9 puntos de testeo (probe points) automáticamente al comenzar cada impresión. De esta forma no tendré que ir esquina por esquina innecesariamente para calibrar mi cama. Por defecto viene desactivada, así que activaremos la opción BABYSTEPPING tal y como os muestro a continuación:

#define BABYSTEPPING // 3DWORK BABYSTEPPING
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // 3DWORK BABYSTEPPING
#define BABYSTEP_DISPLAY_TOTAL // 3DWORK BABYSTEPPING

Bueno, pues estas serían las opciones básicas para configurar tu BLTouch. Por supuesto, puedes configurar mucho más parámetros como límites, sondeos, velocidades de desplazamiento, etc. Pero para empezar es más que suficiente.

Instalar BLTouch / 3DTouch en tu cabezal

Independientemente de donde se ubique respecto a los ejes X e Y, que son los que debes configurar en Marlin, tienes que posicionar el sensor BLTouch / 3DTouch a una distancia determinada en altura de tu Nozzle.

Está lógicamente tiene que estar dentro del rango de acción del mismo. Cuando la sonda se encuentre retraída deberá estar por encima del Nozzle (sino tendremos problemas). Y cuando se encuentre extendida deberá bajar varios milímetros por debajo del Nozzle para poder actuar.

Lo recomendable es 2mm. según he visto en algunos sitios, pero a mi se me hacía algo corto tras unas pruebas y decidí ponerlo a 2.5mm. que me funciona correctamente. Por supuesto, esta distancia queda a tu absoluta elección, solo es un valor orientativo.

Conexión de BLTouch / 3DTouch a tu electrónica

Como puedes observar en esta imagen, los sensores de nivelación BLTouch / 3DTouch disponen de dos cables de conexión. Uno de tres pines y otro de dos pines, que serán los que necesitaremos conectar a nuestra electrónica.

A continuación os adjuntamos algunos esquemas de conexión para las placas más usadas:

Esquemas conexión SKR

Dada la gran popularidad de las placas de BigtreeTech os mostramos los esquemas de conexión de alguna de sus placas.

Este esquema depende de la versión de Marlin cargada en la impresora, normalmente a partir de la 2.0.7.x se puede usar el puerto dedicado PROBE en la placa si no se deberá utilizar el puerto Z-STOP.

Podéis encontrar más detalles e información de la SKR 1.4 aquí.

Esquemas conexión Fysetc

Otra marca es Fysetc que cuentan con unas placas muy interesantes y potentes. A continuación podéis encontrar los esquemas para sus dos buques insignia la Fysetc Spider y S6.

En el caso de disponer de una Spider v1.1 esta cuenta con un conector específico para el Bltouch/3Dtouch.

Es importante colocar el jumper rojo en la posición de 5v para alimentar correctamente nuestro sensor.

Podéis encontrar más detalles e información de la Fysetc Spider aquí.

Esquemas conexión otras marcas

Importante actualizar el firmware a la última versión o uno custom y actualizar el firmware del TFT que tenga soporte, este es muy aconsejable https://github.com/wgcv/RAWR-TFT-Firmware-Artillery3D. También puedes ver el siguiente video del proceso

Muy fácil como habéis podido comprobar, pinchar en esos 2 sitios y listo. Cuando enciendas la impresora verás que el sensor hace una pequeña comprobación (despliega y retrae la sonda).

Esta conexión es similar, pero deberás asegurarte que tienes el jumper activado, así nos aseguraremos de que le lleguen al sensor de nivelación los 5v. necesarios (muy importante).

Comprobaciones previas!!!

  • Comprobación del sensor:
    • Revisar la parte servo, la parte servo funciona con el grupo de tres cables (rojo/amarillo/negro). Para comprobar si funciona correctamente lo aconsejable es desde la pantalla ir a Configuración donde encontraremos un menu para gestionar el BlTouch, en este caso tenemos que comprobar que podamos desplegar y recoger el pin. Si esto no funciona deberemos revisar el cableado o en el caso de placas antiguas la definición del SERVO en Marlin.
      También se puede hacer esta parte con gcode desde un terminal:
      M280 P0 S10 ; despliega el pin
      M280 P0 S90 ; recoge el pin
      M280 P0 S120 ; Autotest – despliega y recoge el pin hasta que ponemos el dedo o lanzamos el comando posterior
      M280 P0 S160 ; Elimina estado ALARMA
    • Comprobación de la parte endstop, la parte endstop funciona como cualquier endstop y esta gestionado por el par de cables negro y blanco que normalmente colocamos en el puerto PROBE o Z-STOP/Z-MIN de la placa. Dependiendo de las versiones de Marlin debera colocarse en uno o en otro si esta soportada la placa o no completamente.
      Para comprobar que funcione correctamente y tal como hicimos en el paso anterior mediante el menu o comandos desplegamos y recogemos el pin y comprobamos con M119 que el enstop cambia de TRIGERED (pin recogido) a OPEN (pin desplegado) correctamente.
  • Activar Modo Debug nivelado
    El modo debug para el nivelado se tiene que activar solo en caso de problemas con el proceso de nivelación si no es el caso puedes obviar este punto.
    Cambios en Marlin (configuration.h):
    #define DEBUG_LEVELING_FEATURE // Permite obtener información detallada en caso de problemas
    Comandos gcode para habilitar/deshabilitar el modo Debug:
    M111 S38 ; LEVELING, ERRORS, INFO
    M111 S0 ; Disable debugActivar
  • Test de precisión
    Permite habilitar un menú dentro del LCD para realizar tests de repetitibilidad y mostrar el rango de precisión del sensor:
    #define Z_MIN_PROBE_REPEATABILITY_TEST
  • Verificar ajuste del pin para errores aleatorios en lecturas
    Se pueden dar dos casos que el pin este demasiado junto al servo que imanta el mismo y evite que caiga o que el imán del pin no tenga la suficiente tracción por el estado de su imán para que el servo lo pueda imantar y retraer.
    En estos casos mediante el tornillo central podremos ajustar ambos problemas en la medida de lo posible.
    Puedes ver el siguiente video donde puedes ver como es el proceso.
    Por otro lado en el caso que el pin este totalmente sin imán puedes extraerlo y dejarlo 24h junto con otro imán para que recupere sus propiedades… en caso que ninguna de estas soluciones funcione puedes solicitar un repuesto del pin o del propio sensor.

Configurando el desfase (Z-Offset)

Ajuste Z-Offset usando el wizard/asistente

Desde la version 2.0.7.2 Marlin incluye un nuevo asistente para encontrar el valor Z Offset de una forma sencilla. Para activarlo iremos a configuration_adv y habilitaremos:

#define PROBE_OFFSET_WIZARD // 3DWORK MEJORAS

Con esto dispondremos de un nuevo menu en Configuración/Avanzado/Probe Offsets

Ajuste fino del Z-Offset con BabyStepping durante la impresión

Ya para acabar, y al haber activado BabyStepping dispondrás de un menú propio llamado Desfase. Podrás acceder a él antes del proceso de impresión y durante (si, me has leído bien) el proceso de impresión pulsando el botón dos veces en tu display.

De esta forma, y en tiempo real, podrás ajustar el desfase mientras te está haciendo los primeros perímetros de impresión, y dejar un ajuste perfecto. A mi esto me ha salvado alguna que otra impresión, la verdad es que es bastante útil.

Una vez que hayas efectuado la configuración del desfase, no olvides guardar el valor en memoria. Deberías tener una opción llamada Grabar en EEPROM, siempre y cuando le hayas dado soporte en tu Marlin. Si no la encuentras, puedes como alternativa ejecutar el comando M500 (Save settings). Este almacenará toda la configuración actual en tu EEPROM de forma permanente.

Script de inicio (Comandos GCODE)

Deberás añadir la función de autonivelación al principio de cada impresión. Eso se hace muy fácilmente configurándose en tu Slicer favorito (Repetier, Simplify3D, Cura, etc.). Simplemente es añadir el comando G29 para nivelar vuestro cabezal antes de cada impresión.

Os dejo un ejemplo de mi script de inicio en cada impresión:

G28          ; Efectuar HOME en todos los ejes
G29          ; Comando de nivelar cabezal

En todo caso os aconsejamos revisar la Guia de Calibración Inicial ya que contiene un script de inicio completo con todas las opciones completas.

Y bueno, si has leído hasta aquí te mereces un gallifante, te felicito. No sería de extrañar que me hubiera dejado algo en el tintero, si es así no dudes en notificarlo en los comentarios al final del artículo Instalar y configurar BLTouch / 3DTouch en Marlin 2.0.3 (MKS Gen v1.4 y RAMPS).

Por último recordarte, como siempre, que puedes encontrarnos en nuestro canal de Telegram lleno de trastornados por la impresión 3D en el siguiente enlace, o en nuestras redes sociales (no olvides seguirnos si te gusta la web).

Otras guías de impresión que pueden interesarte en 3DWork.io:

Peter

Ver comentarios

  • Hola,

    Muy buen artículo. Estoy prácticamente convencido de comprar el BL Touch. Me salta la duda si para mi impresora sirve, ya que no consigo localizar de las placas mostradas cual sería la mía.
    Tengo una LK4 Pro Placa Base -> https://www.amazon.com/LONGER-Printer-Mother-Board-Longer/dp/B083FN2STF A mi me da que es la SKR v1.3. Pero no estoy seguro.

    También decir que llave Marlin 1.1.9 una versión algo personalizada de la compañía, que tampoco me queda claro si será necesario actualizar.

    • Lamentablemente es una electrónica que desconozco. No obstante, aunque no tenga un puerto específico como puede tener una MKS Robin o una SKR, entiendo que modificando en el firmware deberías de poder hacerlo. Verifícalo no obstante, siento no poder serte de más ayuda.
      Un saludo!

    • Hola, he configurado el bltouch como en el tuto. Pero he tenido que dejar desactivado Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN porque se me quedaba pensando la impresora. Pero ahora a la hora de ir a tocar la cama el vástago se mete antes de empezar a bajar. Como lo puedo solucionar?

      • Hola, encontré la solución. El Bltouch parece mentira pero el Endstop tiene polaridad, con darle la vuelta al conector solucionado.

  • tengo un par de preguntas que hacer si fueran tan amables gracias
    tengo anet A8 con SKR 1.3 instalada pantalla tactil 3.5 y me gustaria poner Bltouch pero se da el caso que sigo todas las indicaciones y cuando enchufo bltouch a la placa la pantalla tactil se apaga y ni bltoch funciona ni pantalla

    • Hola,

      Revisa las conexiones que estás efectuando, si se te apaga la pantalla no pinta bien, es posible que estés haciendo algún corto debido a una mala conexión.

      Un saludo!

    • Deberas fijarte en el archivo configuration.h el tipo de display que tienes habilitado y modificarlo conforme al tuyo

    • Revisa el archivo configuration.h el display que tienes habilitado se corresponda al tuyo, cuando no es el correcto queda toda la pantalla "vacía"

  • Quiero mi gallifanteeeee...
    Muy buen tuto... Muy currado como siempre.
    Esta semana me pillo dos..
    Te estaré dando la tabarra en el whuassap si no soy capaz.

  • Genial artículo. He configurado mi 3D-Touch en Marlin 2 siguiendo la guía y en un principio no conseguía hacerlo funcionar. El 3D-Touch, al hacer home del eje Z bajaba con el pin retraído y tocaba contra la cama caliente sin parar los motores teniendo que desenchufar rapidamente para evitar el desastre. Al encender la impresora el pin subía y bajaba como haciendo un autotest, pero tampoco podía controlar el 3D-touch desde el menú. Desde el grupo de whatsapp, me explicaron que era un problema de conexión con la ramps y que revisara configuración y cables. El cable amarillo estaba defectuoso, por lo que no había conexión de datos entre el sensor y la ramps. Cambiando el cable quedó solucionado.
    PD: También me explicaron que al haber conexión se enciende un pequeño led azul en el sensor y lo he podido comprobar.

    ¡Mil gracias!

  • He visto que la altura recomendada es 2mm con la sonda retraida pero tu pusiste a 3mm. Donde se configura esta distancia para que sepa donde esta el nozzle? En el #define NOZZLE_TO_PROBE_OFFSET que corresponde a Z?

    • Hola InFeRn0

      Yo el NOZZLE_TO_PROBE_OFFSET en el valor para Z lo suelo dejar a 0. Si instalas el sensor a 2mm. o a 3mm. ya prácticamente lo tendrás ubicado correctamente (pasará el nozzle hacia abajo desplegado y quedará arriba recogido). Luego solamente has de modificar el OFFSET desde el display de tu impresora (no desde Marlin).

      Un saludo!

  • Hola,
    Estoy interesado en instalarle el sensor, porque estoy harto de nivelar a mano.
    Mi duda es si tiene compatibilidad o si funciona correctamente con la TRONXY 5A
    Muy bueno tu post y espero respuesta dentro de tus posibilidades
    atte,
    Karl

    • Hola,

      Bueno, el sensor no es algo que sea compatible o no con la impresora que tengas. Todas las impresoras tienen conectores para finales de carrera X, Y y Z, así que es factible instalarlo sin problema alguno. No obstante, implica que tendrás que diseñarte el soporte adecuado para la TRONXY 5A y modificar Marlin, pero eso lo explicamos en este artículo.

      Un saludo!

  • Una duda,que yo lo tengo en inglés. He instalado el firmware de bigthreetech preparado para el bltouch, así que no sé qué opciones han tocado por defecto, pero me aparece una llamada "probe z offset". ¿Sería la misma?

    • Si, allí configuras la distancia "extra" que debe bajar el cabezal, es correcto. Ves haciendo pruebas y encuentra la adecuada. Un saludo!

  • Muy buen articulo y super bien explicado. Yo ya tenia medio configurado esto pero para un detector inductivo y la verdad q con este articulo he descubierto cositas muy interesantes.
    Ahora quiero ponerle un bltouch pero el unico problema q yo tengo la skr v1.1. A ver si encuentro info al respecto.

    • Para instalarlo en una SKRv1.1 es prácticamente lo mismo (la parte marlin es idéntica). Simplemente en lugar de utilizar el conector específico que viene en la SKRv1.4 (que tu placa no lo trae), conecta el sensor al conector de final de carrera Z Min (2 pines), y tendrás que localizar donde pinchar tb en tu placa el servo (los otros 3 pines). Si lo localizas y lo dejas funcional, y deseas contactar conmigo para confirmarme que lo tienes operativo, puedo añadirlo al artículo. Un saludo!

  • Hola, me he bajado la imagen del repositorio que tienes para la artillery Genius y realizado el tutorial. Sin embargo, el eje z se me queda a media altura, el 3D Touch intenta hacer tres mediciones y ya me salta el error BLTouch error - restart with M999.

    Es como si detectará el home a esa altura.

    ¿Me puedes echar una mano?

    Mil gracias.

Compartir
Publicado por
Peter

Entradas recientes

LaserPecker LP4 : grabadora láser premium

Normalmente solemos centrarnos en dispositivos y accesorios relacionados con la impresión 3D, en este caso…

3 semanas hace

TwoTrees SK1 : Review

Nuestros compañeros de TwoTrees han lanzado una nueva impresora muy interesante, la Twotrees SK1. TwoTrees…

1 mes hace

Creality K1 / K1 Max / K1C : Review

Las Creality K1 Series tienen todo lo que puedas buscar en una impresora 3D, son…

2 meses hace

Revopoint RANGE 2 : escáner 3D de para objetos de gran tamaño

Los amigos de Revopoint siguen renovando sus modelos, en este caso hemos podido probar el…

2 meses hace

Bigtreetech Manta M8P / M5P / M4P / E3EZ: Análisis y guía completa

La nueva serie Bigtreetech Manta, que tiene cuatro versiones para adaptarse a cualquier máquina, además…

3 meses hace

Anycubic Photon Mono M5S PRO: más resolución, más inteligente

Hoy os traemos otra impresora que teníamos muchas ganas de que cayera en nuestras manos,…

3 meses hace