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
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
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
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.
Podéis encontrar más detalles e información de la SKR Octopus aquí.
Podéis encontrar más detalles e información de la SKR 2 aquí.
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í.
Podéis encontrar más detalles e información de la SKR MINI E3 v2 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.
- 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.
- 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:
- Warping : Guía para eliminarlo definitivamente de tus impresiones 3D
- Guía completa: Configurar Marlin 2.0.3 desde cero y no morir en el intento
- Soportes avanzados en Simplify3D: 6 trucos imprescindibles para mejorar tus soportes
- Realiza fácilmente litofanías con tu impresora 3D en 3DWork.io
- Manual de Simplify3D: Todo lo que necesitas saber acerca de él
- Extrusion Multiplier, imprimiendo cubos de calibración
- Parámetro Extrusion Width, el gran olvidado
- Guía para convertir archivos GCODE a STL
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.
En teoría aquí deberías conectarlo, te dejo imagen:
https://mega.nz/#!oC5lHI5R!wOHAQnRnnwlgQJ39uaUSjq0xLbQgTGXZoPfqd0YRH4M
Pero que pasada!! como has encontrado eso? haha muchas gracias. Pues creo que me compraré el BLTouch.
Y pruebo esto! https://3dwork.io/visualizar-malla-en-3d-de-nuestra-superficie-de-impresion-sin-octoprint/ que me ha picado el gusanillo.
Pero primero tengo que intentar esto https://3dwork.io/marlin-builder-en-3dwork-io/ que tengo que averiguar como obtener todos los datos que pide y si es compatible con mi placa!
Muchas gracias!!!
Veo que se te van acumulando la faena, me alegro 🙂
Sobre el BLTouch, agradéceselo al usuario Juanjo, de nuestro canal de Whatsapp, el me localizó el esquema ya que no conocía yo esa electrónica.
Un saludo!
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.
Luego te lo mando Domingo 😉
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!
Gracias a ti por el comentario, esperamos continuar viéndote por la comunidad. Un saludo!
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.
Hola Rafa,
Me sucede algo parecido a mi también, pudiste solventarlo?
Gracias
Hola a todos, comparto mi experiencia, tengo creality cr1′-S5, con skr 1.4 TURBO, TMC 2208 con doble z, en eso fue todo bien, pero la verdad que me costo mucho configurar bien el bltouch, gracias a este manual y a los compañeros del grupo de TELEGRAM DE 3DWork.io Makers, me han ayudado mucho, han explicado y me han sabido ayudar para que ahora funcione perfectamente la maquina con todo lo instalado, hacen unas guias muy intuitivas y resolutivas y se pueden ir siguiente y poder programar las placas e impresoras segun necesidad, estoy encantado de poder encontrar manuales asi y gente que quiera y pueda ayudar, sois unos cracks !!!
Gracias a ti por el comentario Car3d 🙂
Un saludo!
Exactamente igual me ocurre con la Genius. Y además al hacer el primer autonivelado baja demasiado sin parar y presiona la cama a lo bestia. Lo tengo que apagar
Hola soy Jose Luis, tengo una sunhokey modificada, y de todos los tutoriales que he visto en relación al BLtouch, éste marca la diferencia. Me ha gustado mucho y le he seguido al pie dela letra solo que con el Marlin bugfix 1.1. pero tengo un problema con la nivelación de la cama. siempre imprimo en el lado derecho porque es donde mas se aproxima la nivelación. Me gustaría dejaros una foto pero no se muy bien como. Si sois tan amables de ayudarme os lo agradecería. Este sitio ocupa ahora un buen lugar en mis favoritos. Saludos.
Ahh no consigo unirme al grupo del whatsapp me dice que está completo.
Excelente alticulo como siempre…
Como nota adicional, al conectar el sensor en la electronica SKR1.4Turbo como se muestra en los diagramas, se produce un error y no realiza el home en Zmin…
Por ello los cables negro-blanco deben ser conectados donde iria el final de carrera Z, asegurando la correcta polaridad.
Esta imagen muestra la correcta forma, se reemplaza el 1 por el 2
https://mehanik.me/uploads/b08ab5fab71515aefef957f85cdffb74.png
Saludos!!!
Tienes toda la razón, en cuanto tenga un minuto modificaré la imagen y lo corregiré en el artículo. Al parecer SKR no verificó bien las líneas que añadieron para este propósito y el conector no es funcional (espero que lo corrijan en futuras revisiones de la PCB). Muchas gracias por la aclaración y un saludo!
Espectacular! Perfectamente explicado todo. Después de mucho probar otros tutoriales, por fin he conseguido instalar Marlin y configurar Bltouch gracias a este tutorial y al otro de Configurar marlin desde 0.
Solo me quedan un par de dudas… ¿Como se usa la opción de desfase?
Y por otro lado, He añadido el codigo de inicio del gcode para que nivele al inicio de las impresiones, pero ahora, lo que me pasa es lo siguiente: Cuando inicio una impresion va al centro, despues baja (demasiado) y el hotend empuja incluso la cama hacia abajo un poco.
despues hace lo mismo en la esquina inicial y vuelve otra vez l centro y se para la impresion… ¿¿¿???
Porque me está pasando esto?
PD: He intentado preguntar en el grupo de Telegram, pero me dice que «Los administradores del grupo han restringido que escribas mensajes»
Ya se porque se para la impresion. Lo que no se es como solucionarlo.
El caso es que cuando hago homing, se va tan abajo que Marlin apaga la impresora para evitar que siga bajando el eje z y parta el cristal.
He mirado el desfase y estaba a la altura de 2.5, he ido subiendo hasta incluso 12 pero el eje sigue bajando hasta empujar la cama y pararse la impresora por seguridad. Luego he visto que hay otra opcion eb «movimiento» que es «compensacion de altura» la cual estaba en 10 y he bajado a 0…. Pero mismo resultado…. como se configuran ambas opciones?
Hola Dryant,
El desfase colócalo con valor 0, y después lo vas subiendo pero con valores negativos, por ejemplo -0,10 … -0.15 … etc … Cuanto mayor sea el desfase (en negativo), más bajará.
También asegurate que has instalado correctamente el BLTouch, a la distancia que te marca el artículo respecto al nozzle o boquilla.
Un saludo!
Hola,
Sal del grupo de telegram y vuelve a entrar de nuevo. Una vez dentro efectua la verificación con el bot, solo se ha de hacer la primera vez, para evitar que entren bots de spam 🙂
Un saludo!
Ok Ya estoy dentro. Pregunto por ahi! 🙂
hola saludos excelente explicacion todo impecable
he realizado todos los pasos pero no me deja el Z_SAFE_HOMING. en la mitad queda corrido como puedo corregir eso
saludos
Hola Jorge,
Has configurado correctamente el offset del BLTouch?
Has de indicarle a Marlin la distancia de tu BLTouch respecto al Nozzle, para que el calcule correctamente la posición para los sondeos.
Un saludo!
Saludos desde México, te comento, tengo dos impresoras, una Anet A8 con placa SKR V1.3 y una corexy igual con placa SKR V1.3, la cuestión es que la Anet le puse un 3D Touch marca TRIANGLELAB y la COREXY tiene uno marca GEEETECH, el marca GEEETECH no me ha funcionado del todo bien, en primer lugar, viene con una resistencia de 10K, pero en los manuales de instalación no mencionan en donde ponerle la resistencia, segundo, cundo hago HOME en Z a veces trabaja y a veces me detiene la maquina, cuando lo conecto a PRONTERFACE, me indica un error y dice que cuando arregle el error reinicie con M999, pero solo me dice que el error es del BLTOUCH.
A tu 3DTOUCH marca GEEETECH, le pusiste esa resistencia???
Hola,
Yo he probado BLTouch originales y 3DTouch de Geeetech (si mal no recuerdo), y sinceramente no me vino ninguna resistencia.
Un saludo!
Como bien dice Peter la resistencia en la gran mayoría de mothers no es necesaria. Esa resistencia es solo para el caso que alimentes el sensor a partir de una tensión de 12VDC y no delos 5VDC que funciona el sensor
Hola , saludos todos . Buena explicación , pero tengo un problema y es que al tratar de realizar el home en Z me queda a media altura . El BLtouch realiza 2 mediciones , posteriormente me sale un error «BLTouch error – restart with M999».Ya revise cada una de las conexiones desde el BLtouch hasta la placa madre y están bien . Tengo una Placa SKR Mini E3 v2 0 . Primero revise que el Marlin estuviera bien configurado y sigue apareciendo el mismo error , posteriormente le subo el el firmware original de la marca para el BLTouch ( para saber si definitivamente tengo un problema en el Marlon ) pero sigue el mismo problema .
Ender 3 pro
Es posible que me des una orientación ?
Buenas!
Gran tutorial. Quería comentar el jumper de conexión de la RAMPS 1.4 lo tienes conectado mal… sería en el pin del centro de los 3 y en el de «más» al interior de la placa. Esto funcionó para mi al cambiarlo
Hola, tengo una duda. Segui todos los pasos, pero cuando censa, no baja el vastago. Se que funciona y que todo esta conectado bien, porque cuando lo prendo el sensor sube y baja el vastago.
Cuando pongo G28 en el Repetier, “x” va al 0, tambien “y”, y “z” baja un poco y luego empieza a subir, y el bltouch con su luz roja prendida, no baja el vastago.
Hola. Gracias por el informe. Quisiera hacer una consulta. Tengo una Ender 3 V2 y necesito hacer una impresión combinando G-codes de diferentes colores. Si la pieza que estoy imprimiendo queda en el centro de la placa va a interferir cuando el BLTouch haga AUTOHOME para la siguiente impresión? Cómo puedo solucionarlo? Muchas gracias! Saludos!
Una vez configurado el marlin siguiendo este magnifico manual.. ¿no es necesario actualizar el tft para que te salgan las nuevas funciones?
Hola,
Para al que le pueda ayudar, el jumper para alimentarlo, al menos en mi ramps 1.4 china, va desde el pin central al interno, no como se ve en la foto que está del central al externo.
De paso me sirve de recordatorio.
Gracias por el tutorial me ayudan mucho.
Buenas tardes,
Muchas gracias por el articulo, todo muy bien explicado y cuando lo haces lo entiendes, lo cual es de muy agradecer. He instalado un Geeetech BTouch en una creality ender 3 pro con plaza ender 4.2.7. He generado el firmware con todo lo explicado en el articulo y lo instalado en la impresora. He realizado las pruebas que indica el articulo y parece que todo funciona bien hasta que le pido a la impresora que me diga como están los endstops. Da igual como tenga el BTouch lo levanta y da un valor de triggered, este inicialmente abajo o arriba. Si pido a la impresora que vaya a home da un error y me pide que la reinicie. ¿Alguna sugerencia de que puede estar pasando? Gracias.
Me contesto a mi mismo por si alguien tiene el mismo problema, el parámetro para #define Z_MIN_PROBE_PIN es 17.
Hola, tengo una BIGTREETECH SKR V1.4 Turbo y estoy intentando conectarle un BLtouch. En marlin 2.x qué pin debo colocar en #define Z_MIN_PROBE_PIN XXX // 3DWORK BLTOUCH PROBE PIN ?
Desde ya muchas gracias!!!!
Dependiendo de tu versión de Marlin y tu configuración puedes usar uno de estos dos:
Z_MIN_PROBE_PIN P0_10
Con este último vas sobre seguro. En la guía de esa electrónica tienes un esquema de pines donde verás cuál es el número/id del pin del conector PROBE.
P0_10, es el PROBE de la SKR 1.4 turbo, izq GND (Negro), derecha + (blanco)
Buenas tardes, perfectamente explicado, peroooooo, tengo dos motores en Z en mi Ender 3 con la BTT SKR1.4 turbo y el segundo motor a E1, por ahora todo perfecto con end-stop independiente para Z y E1 (Z2).
Este último como Z_MAX por que Z_MIN es para Z1……
En configuration.adv.h ahora tengo:
#define Z_MULTI_ENDSTOPS // Other Z axes have their own endstops
#if ENABLED(Z_MULTI_ENDSTOPS)
#define Z2_USE_ENDSTOP _ZMAX_
ahora este ZMAX que seria mi Z_MIN para motor 2, ¿debería de ser?:
#define Z2_USE_ENDSTOP _Z_MIN_PROBE_
Para usar el BLTOUCH?????
Gracias y un saludo.
Como debería configuram arlinr si tengo la sonda conectada en una Mks gen lv1; con el fin de carrera y tierra en el pin D19 y tierra de Zmax, y el cable señal de la sonda en el D11 del servo2???
Gracias por su ayuda.
Hola es un vídeo que al menos indica como meter mano, el problema es que mi impresora es una Artillery Hornet, he entrado en este mundo hace menos de 2 semanas pero he pedido el bltouch porque me dijeron que se podría colocar, mi impresora es una Artillery Hornet… Y he visto, links a otro de los modelos de la marca artillery, pero no sé si sería compatible con esta placa, ni siquiera se que modelo es. Si hay alguien que me pueda echar una mano se lo agradecere mucho. Gracias
Hola excelente explicación. Estoy actualizando la Creality Cr10 smart con el extrusor directo sprite pro y necesito ponerle bltouch, no puedo identificar los cables para instalarlo. Me podrán ayudar a instalar el cableado en la placa madre. Luego tengo que activarlo en el firmware. Muchas gracias