Sondeo y localización ultrarrápidos con firmware Marlin: malla 3×3 en 29 segundos, malla 8×8 en menos de 2 minutos.

He hablado sobre la instalación de sondas de nivelación de la cama en bastantes videos, pero nunca hablamos de que todo el proceso de nivelación automática de la cama es bastante lento de manera predeterminada. En este video, reduciremos el tiempo para nivelar la cama con una malla de 3×3 de 73 segundos a unos asombrosos 29 segundos y una malla de 8×8 se hará en menos de dos minutos.

BLTouch, CR-Touch y múltiples sondas inductivas

Cuando instala un BL-touch, un CR-touch u otra sonda como esta sonda inductiva en una impresora 3D, lo más probable es que también tenga que hacer algunos cambios en el firmware de la impresora. Al menos, activará la sonda en el menú de la impresora si su firmware ya admite una sonda.

Nivelación de la cama en una Ender 3 v2

Sin embargo, dado que la mayoría de estas impresoras ejecutan el firmware Marlin en una configuración más o menos predeterminada, habilitar estas sondas funcionará, pero a veces no le brindará la mejor experiencia por dos razones principales.

Primero, de forma predeterminada, la nivelación de la cama solo está haciendo una malla de 3×3, que puede funcionar, pero deja mucho espacio sin probar donde podría haber diferencias de altura, como pensé al menos para mis impresoras. Así que probablemente quieras más puntos de malla.

Ender 3 v2 haciendo un sondeo homing

Estoy usando una malla de 8×8 en mis impresoras Ender, que veremos en un segundo me da resultados bastante precisos, pero también podría usar 4×4 o 5×5, que ya debería ser lo suficientemente fina.

En segundo lugar, el procedimiento de sondeo en sí tiene algunas configuraciones predeterminadas realmente lentas, por lo que lleva bastante tiempo desde que se inicia el sondeo hasta el inicio real de la impresión.

Tipo de malla Tiempo (s) Varianza (mm)
3×3 73 0.16
4×4 118 0.214
5×5 243 0.197
8×8 412 0.257

Sondeo a la velocidad predeterminada

De forma predeterminada, hacer una malla de 3×3 con BL-Touch le lleva a esta Ender 3 v2 unos 73 segundos. Una malla de 4×4 se realiza en 118 segundos y mi malla de 8×8, por ejemplo, tarda 412 segundos. Queremos reducir esto un poco.

La variación de todas estas pruebas de velocidad predeterminadas parece ser de alrededor de 0,25 mm o menos.

La varianza es la diferencia absoluta entre el punto medido más alto y el más bajo y debemos tratar de no aumentar eso significativamente si hacemos que el sondeo sea más rápido.

Complemento Octoprint y Bed Visualizer

Para visualizar la malla, estoy usando Octoprint con el Bed Visualizer Plugin.

Voy a hacer algunas suposiciones en este punto:

Sabe cómo crear el firmware Marlin para su impresora, ya sea utilizando PlatformIO, Arduino IDE o la fábrica de firmware.

Ya sabe cómo habilitar la nivelación automática de la cama para su sonda en el firmware de Marlin.

Y también sabe cómo actualizar ese firmware a su impresora

Si alguna de esas cosas no está clara para usted, tengo videos para cada uno de estos temas en mi canal, los enlaces están al final de esta publicación de blog, para que pueda verlos como Kickstarter.

Echemos un vistazo al primer problema que afecta la velocidad de palpado, específicamente para los sensores BL-touch y CR-touch.

Estos sensores tienen una boquilla retráctil que se utiliza para sondear la distancia z. De forma predeterminada, esta boquilla se retrae por completo para cada punto de sondeo.

Sonda abajo Sonda retraída

Esto hace que el sondeo sea bastante lento, por lo que lo primero que queremos habilitar en nuestra configuración es un interruptor llamado BLTOUCH_HS_MODE en Configuration_adv.h. Ese es el modo de alta velocidad BL-Touch: suena prometedor.

Habilitación de BLTOUCH_HS_MODE en Configuration_adv.h

Solo este pequeño cambio hará que el sondeo sea un poco más rápido porque la sonda no se retrae completamente para cada punto, pero el sensor elevará inmediatamente el eje z cuando la sonda se dispare y, por lo tanto, permanecerá abajo y la impresora podrá continuar moviéndose hacia el el siguiente punto mucho más rápido y luego puede comenzar a buscar el siguiente punto también mucho más rápido.

La segunda configuración que cambiaría en Configuration_adv.h es BLTOUCH_DELAY, que configuré en 300 en lugar de los 500 predeterminados. Esto hará que BL-Touch y CR-Touch reaccionen un poco más rápido a los comandos. Es una pequeña mejora.

Configuración de BLTOUCH_DELAY 300 en Configuration_adv.h

Otro consejo: en algunas configuraciones de impresora, es posible que esté habilitada la configuración MULTIPLE_PROBING en Configuration.h. Nos aseguraremos de que esto esté deshabilitado, de lo contrario, la impresora haría al menos dos sondeos para cada punto, uno más rápido y otro más lento. Por lo tanto, deshabilitaremos MULTIPLE_PROBING en Configuration.h para ir solo al sondeo rápido.

Deshabilite MULTIPLE_PROBING en Configuration.h

Con estos cambios en su lugar, la impresora hará la malla 3×3 ya en 59 segundos en lugar de los 73 segundos anteriores, eso es un 19% más rápido.

Tipo de malla Tiempo (s) Varianza (mm)
3×3 59 0.179
4×4 93 0.209
5×5 134 0.187
8×8 310 0.264

Velocidades de sondeo mejoradas, pero hay más…

La variación para todos los tamaños de malla medidos es de 0,26 o inferior. Pero aún no hemos terminado, reduciremos el tiempo aún más.

Ahora echemos un vistazo a la velocidad de sondeo Z.

La velocidad de sondeo Z es la velocidad a la que la sonda bajará hacia la cama para activarse y qué tan rápido se eleva a partir de entonces.

El tiempo de sondeo se ve enormemente afectado por la velocidad de sondeo Z

Hay una velocidad de sondeo rápida y una velocidad de sondeo lenta.

Como ya deshabilitamos la opción MULTIPLE_PROBING, solo nos queda la configuración Z_PROBE_FEEDRATE_FAST en Configuration.h, que ahora estamos configurando en 20*60 en lugar del valor predeterminado 4*60.

Configuración de Z_PROBE_FEEDRATE_FAST en 20*60

Estos valores representan mm por minuto a diferencia de otras configuraciones en Marlin que representan mm por segundo como verá en un segundo. Sé que es un poco extraño, pero esa es la razón.

Después de establecer la velocidad de avance de la sonda Z en este valor más alto, también debe adaptar la configuración DEFAULT_MAX_FEEDRATE de la impresora en Configuration.h para el eje Z a este valor más alto. Si no lo hace, la velocidad de sondeo z más alta no tendrá efecto porque este DEFAULT_MAX_FEEDRATE finalmente limitará todos los movimientos de un eje dado a esos valores máximos.

No olvide adaptar el valor Z DEFAULT_MAX_FEEDRATE a su nuevo Z_PROBE_FEEDRATE_FAST

Estoy configurando la velocidad de avance z-max en 20 mm por segundo, por lo que se corresponderá con nuestra configuración Z_PROBE_FEEDRATE_FAST de 20*60 mm por minuto. Aquí ves, este valor es de aproximadamente mm por segundo, el otro mm por minuto.

Por cierto, los valores DEFAULT_MAX_FEEDRATE son las únicas configuraciones que luego puede cambiar con los comandos GCODE y que se guardarán en la EEPROM. Desafortunadamente, todas las demás configuraciones mencionadas en este tutorial están codificadas en el firmware y requieren una reconstrucción y una actualización si se modifican.

Con esta configuración en su lugar, hacemos otra compilación y flasheamos la impresora y nuestro tiempo de sondeo no ha cambiado. ¿Por qué? porque como dije, Z_PROBE_FEEDRATE_FAST podría estar limitado por lo que está configurado en la EEPROM de la impresora. DEFAULT_MAX_FEEDRATE solo se aplica cuando la EEPROM se restablece a los valores predeterminados. Eso puede suceder si actualiza un nuevo firmware, pero no es necesario. Verifiquemos los valores actuales para las tasas de alimentación máximas enviando un comando M203 a la impresora.

El envío del comando M203 revela la configuración real de DEFAULT_MAX_FEEDRATE en la EEPROM.

Aquí tienes, la tasa de alimentación máxima para Z sigue siendo de 5 mm por segundo porque eso fue lo último que se guardó en la EEPROM, así que intentemos establecerlo en 20 como realmente queremos que sea y luego guardarlo con un último M500.

Usar el comando M203 para establecer un nuevo valor de velocidad máxima Z y finalmente guardarlo con M500 en la EEEPROM

Probablemente se dé cuenta de que al cambiar este valor de velocidad de alimentación máxima en la EEPROM, podemos cambiar la velocidad de sondeo rápida para el eje z a cualquier valor igual o inferior al que hemos establecido en Z_PROBE_FEEDRATE_FAST. Usaré esto para probar varias velocidades de sondeo z sin volver a actualizar el firmware y compararé el cambio en la variación de los resultados del sondeo.

Tipo de malla Tiempo (s) Varianza (mm)
3×3 33 0.239
4×4 47 0.249
5×5 64 0.237
8×8 135 0.275

Resultados de velocidad de malla a una velocidad de sondeo de 10 mm/s

Tipo de malla Tiempo (s) Varianza (mm)
3×3 32 0.237
4×4 45 0.257
5×5 61 0.232
8×8 127 0.277

Resultados de velocidad de malla a una velocidad de sondeo de 15 mm/s

Tipo de malla Tiempo (s) Varianza (mm)
3×3 31 0.228
4×4 44 0.249
5×5 60 0.235
8×8 126 0.275

Resultados de velocidad de malla a una velocidad de sondeo de 20 mm/s

Entonces, para una velocidad de avance Z de 10 mm por segundo, reducimos el tiempo de sondeo de una malla de 3×3 a 33 segundos con una variación de 0,239 y al establecerlo en 15 obtenemos 32 segundos con una variación de 0,237. Finalmente, una tasa de 20 nos da 31 segundos de tiempo de prueba con una varianza de 0.228.

Mirando hacia atrás en todas estas medidas, concluiría que el punto óptimo de la velocidad de sondeo z con respecto a la variación y la disminución del tiempo de sondeo es probablemente de 10 mm por segundo y ese valor aún me brinda una adhesión consistente de la primera capa en docenas de impresiones. hasta aquí.

Por último, intentemos aumentar la velocidad de sondeo X e Y que utiliza la impresora para mover la boquilla al siguiente punto de sondeo después de que se haya realizado un sondeo. Podemos ahorrar algo de tiempo allí también.

Actualizando XY_PROBE_FEEDRATE a 150*60

Estoy configurando XY_PROBE_FEEDRATE en Configuration.h a un valor de 150*60 mm por minuto, que debería ser alcanzable.

También pensé que la sonda se mueve un poco hacia arriba después de cada punto, hay una configuración que influye en la cantidad de espacio libre entre las sondas y creo que podemos bajar un poco para ahorrar algo de tiempo.

Configuración de Z_CLEARANCE_BETWEEN_PROBES en 3

Así que estoy configurando Z_CLEARANCE_BETWEEN_PROBES en Configuration.h de 5 a 3.

Después de reconstruir y volver a flashear, nuestro tiempo de prueba total para la malla 3×3 a una velocidad de prueba de 10 mm por segundo es de 29 segundos, la variación sigue siendo baja en 0,21 mm.

Tipo de malla Tiempo (s) Diferencia
3×3 29 0.21
4×4 41 0.247
5×5 55 0.207
8×8 110 0.255

Resultados finales con todas las configuraciones de velocidad aplicadas (Ender 3 v2 con BLTouch)

Los tiempos de sondeo para una malla 4×4 son 41 segundos y 5×5 es de 55 segundos y una malla 8×8 increíblemente grande se hace en 110 segundos, así que en menos de dos minutos, cumplí mi promesa.

Hay una configuración adicional: cambié las velocidades de avance de referencia con HOMING_FEEDRATE_MM_M en Configuration.h a valores más altos de 150 * 60 mm por minuto para X e Y y 10 * 60 para Z, por lo que la búsqueda de referencia ahora también es mucho más rápida.

Establecer HOMING_FEEDRATE_MM_M en valores más altos

Aquí hay una descripción general de todas las configuraciones y sus valores correspondientes que hice en los dos archivos de configuración:

Configuración.h

  • MULTIPLE_PROBING deshabilitado (comentar con //)
  • Z_PROBE_FEEDRATE_FAST 10*60
  • DEFAULT_MAX_FEEDRATE { 500, 500, 20, 25 }
  • XY_PROBE_FEEDRATE 150*60
  • Z_CLEARANCE_BETWEEN_PROBES 3
  • HOMING_FEEDRATE_MM_M { (150*60), (150*60), (10*60) }

Configuration_adv.h

  • BLTOUCH_HS_MODE verdadero está habilitado (coméntelo eliminando el encabezado //)
  • BLTOUCH_DELAY 300

También creé una configuración de fábrica de firmware de mi impresora para que pueda reutilizarla aquí: https://www.firmwarefactory.net/AddBuildDefinition/39c0ee82-7876-4ab5-802c-83342584d488

Espero que este artículo le haya resultado útil, si es así, tráteme con un me gusta, suscríbase a mi boletín aquí y probablemente mire otro video de mi canal aquí.

Te veo en la próxima, ¡adiós!

VIDEOS PARA VER

Cómo construir el firmware de Marlin:
En una PC: https://youtu.be/Mjhp_P-Yzv0
En una Mac: https://youtu.be/_tnVl4X2p20
Uso de la fábrica de firmware: https://youtu.be/L9QcTNuHaaY

Cómo configurar la nivelación automática de la cama en Marlin (también funciona para otras impresoras):
Ender 3 Pro – https://youtu.be/YsTGH5JvClM
Placa base SKR – https://youtu.be/7le9L2LMY-U
Anet A8 (Marlin 1.X) – https://youtu.be/cdD4S-_0-wo

Cómo actualizar el firmware a su impresora:
Ender 3 v2 – https://youtu.be/C3td3wGPM8g
Ender 3 Pro – (placas base de 8 bits) – https://youtu.be/RbbzsJBpEhc
Anet A8-https://youtu.be/38PkynA1uGI
Impresoras con placas base SKR – https://youtu.be/0PEGNj5m90o

LAS IMPRESORAS QUE USO: https://kit.co/IMPRESORAS 3D/the-3d-printers-i-use
MI MERCANCÍA: https://IMPRESORAS 3D.io/shop

CONVIÉRTETE EN PATROCINADOR: https://www.patreon.com/IMPRESORAS 3D
CHATEA EN DISCORD: https://discord.gg/ne3J4Rf

SOLAMENTE CONSULTAS COMERCIALES (O SI DESEA ENVIAR ALGO) – IMPRESORAS 3D

SÍGUEME:
INSTAGRAM – https://instagram.com/IMPRESORAS 3D
Twitter – https://twitter.com/IMPRESORAS 3D
FACEBOOK – https://facebook.com/IMPRESORAS 3D
SITIO WEB: https://IMPRESORAS 3D.io

La Música que uso: https://IMPRESORAS 3D.io/es, INCREÍBLE para YouTubers!

ENGRANAJE UTILIZADO
https://kit.co/IMPRESORAS 3D/my-video-gear

Descargo de responsabilidad: como asociado de Amazon, gano con las compras que califican.

¿Le gustó? ¡Tómese un segundo para apoyar a IMPRESORAS 3D en Patreon!