Calibrar una delta de la A a la Z – Marlin Telegram Anycubic

Preámbulo

Atención: Aplicable sólo a Marlin 1.1.6 – 1.1.9 v0.7 del grupo de Telegram Anycubic ES.

La calibración de las impresoras 3D es una tarea muy ardua y a veces, es tan pesada que muchas personas optan por saltárselo, pero luego vienen las quejas tipo: mis piezas no encajan y estoy harto de lijar, la boquillas se pega mucho a la base y me ha tatuado la pegatina, mi cubo de 20x20x20 mide 21x19x23… y similares. Todo eso es debido a que no se ha hecho una buena calibración, partes físicas incluidas.

Una calibración completa consiste en hacer lo siguiente:

  1. Calibración con el comando G33, con la sonda de autonivel. Llamado Delta Auto Calibration.
    • Ajuste de los tornillos y/o finales de carrera.
  2. Calibración con el comando G29, con la sonda de autonivel. Llamado UBL.
  3. PID del fusor y PID de la base caliente.
  4. Pasos de extrusor.
  5. Ancho de pared o flujo.
  6. Calibración dimensional.

Para todo eso, lo haremos con el Pronterface, así que lo abrimos, conectamos nuestra máquina y empezamos, nos centraremos solamente en el panel derecho.

Comprobación de los finales de carrera

Antes que nada, hay que comprobar los finales de carrera, especialmente el del eje Z (el sensor). Para ello, en Pronterface mandamos el comando M119 y vemos los resultados que devuelve. Si el sensor no está tocando a nada y nos devuelve z_min TRIGGERED o viceversa, si el sensor está tocando la base y devuelve z_min OPEN, hay que invertir el comportamiento. Si está todo correcto, ir directamente al siguiente apartado.

Eso se debe a que los sensores pueden ser de dos tipos: normalmente abiertos o normalmente cerrados (NO/NC). Según unos u otros, tienen una lógica diferentes.

Para corregir eso hay que abrir Marlin con Arduino e ir a la pestaña configuration.h, buscar las líneas que ponen: #define X_MIN_ENDSTOP_INVERTING#define Z_MIN_PROBE_ENDSTOP_INVERTING, ambas estarán en TRUE o FALSE, cambiar uno por otro en las dos líneas, pues ambas deben tener el mismo valor. Guardar y subir a la placa Trigorilla.

Delta Auto Calibration – G33

Antes que nada, restablecemos la memoria poniendo M502, guardamos los valores restablecidos con M500 y cargamos con M501.

También hacer el comando G29 D, lo que hace es desactivar el UBL y evita cualquier interferencia.

Lo primero que vamos a hacer es establecer la altura del área de impresión, con la sonda de nivel puesta, no importa que sea la de espuma o con las que vienen en la impresora 3D, el desfase lo corregiremos después. Aunque aprovecho para decir que la sonda de espuma es la mejor opción para nivelar.

Altura del área de impresión

M851 Z0 – Con eso limpiamos el desfase, dejándolo a 0.

G33 P1 – Función Delta AC, subfunción ajuste sólo de altura. Esperamos a que termine, guardamos con M500 y cargamos los valores con M501.

En algunas ocasiones se han reportado el siguiente error:

Error:Probing failed
[ERROR] Error:Probing failed

Correct delta settings with M665 and M666

Se corrige haciendo lo siguiente:

M665 H330 – Lo que hace es ajustar una mayor altura “teórica” para después ser corregida con el G33. Guardamos con M500 y cargamos con M501, volvemos a repetir el comando G33 P1.

Análisis completo de la base

Ahora toca hacer una calibración completa, analizando todos los puntos de la cama y sacando su media. Con esa calibración calcula la altura de los finales de carrera y los ángulos de las torres.

G33 P2 a P10, donde P2 analiza sólo el centro y las torres, y en P7 analiza todas las partes de la base y posiciones intermedias. Para una calibración estándar tirando a avanzado, es suficiente con el G33 P6 o G33 P7 si se quiere algo mas complejo.

Esperamos a que termine y devolverá una ristra de resultados. Pues nos quedaremos con las dos últimas líneas, que debería ser como las siguientes:

. Height:283.87 Ex:-0.41 Ey:+0.00 Ez:-0.27 Radius:131.95
. Tx:+0.32 Ty:-0.10 Tz:-0.22

Donde Ex, Ey, Ez significa la posición de los finales de carrera y donde Tx, Ty y Tz significa el ángulo de las torres. Esos valores son corregidos en tiempo real mientras se está imprimiendo, sin embargo, eso supone un trabajo extra al pobre microcontrolador, así que esos valores, cuanto más cercanos al 0, mejor. En este artículo se detalla cómo acercarse al 0 los valores de los finales de carrera.

Mientras tanto, guardamos con M500 y cargamos los nuevos valores con M501.

Desfase, también conocido como offset

Versión 1.1.6: El desfase se ajusta de la siguiente manera: al acercar la tobera a la base, con el sensor quitado, poniendo G0 Z0, se quede más arriba de lo que debería estar, para acercar a la cama, hay que poner valores negativos: G0 Z-1, G0 Z-2, e incluso G0 Z-2.1, G0 Z-2.5... hasta acercarse a la base y dejar la separación de un folio de papel. Pues el nuevo valor negativo que hay después del 0 es el desfase. Ese valor que obtenemos hay que ponerlo con el comando M851 Z-XX.X, donde X va el valor que habéis llegado acercando la tobera a la base. Ejemplo: si habéis llegado a G0 Z-14.8, hay que poner: M851 Z-14.8.

Versión 1.1.9: Para que la separación del cabezal de impresión y de la base tengan el grosor de un folio y con la sonda quitada, basta con usar el comando G0 Z0, G0 Z-0.2, G0 Z-1... y así sucesivamente hasta que veamos que el folio roza. Pues ese valor negativo que hayamos puesto, que por ejemplo, si hemos tenido que bajar -14.3 mm, lo sumamos en la altura que nos dio en el comando G33 P1, que si fue de 285.89 mm, el resultado sería: 14.3 + 285.89 = 300.19. Usamos el comando M665 H300.19, guardamos con M500 y cargamos con M501.

Nota: Si veis que la jaula baja muy lento, podéis poner F3000, (G0 F3000 ZXX) eso hace aumentar la velocidad, pero ten mucho cuidado con embestir la tobera contra el cristal.

Unified Bed Leveling – G29

Se ha reportado en varias ocasiones que dan más problemas de los que soluciona. Usar con precaución y realmente saber lo que se está haciendo. Pues no está nada recomendado realizar.

Es una característica que tiene implementada Marlin, en el que es todavía experimental, necesita un desarrollo más profundo y está sujeto a cambios y mejoras, en el que no tengo mucha información al respecto. Es la combinación de las características de ABL y MBL con varios extras añadidos. Vamos a ello:

G29 P1: para comenzar el análisis de la base.

G29 S1: con ello guardamos los puntos analizado en la memoria.

G29 F 10.0: para ajustar la altura de fundido en 10 mm.

G29 A: vuelve a activar el sistema UBL.

Una vez finalizado esos 4 pasos, guardamos con M500 y cargamos los valores como M501.

PID temperatura del conjunto fusor y de la base

PID significa proporcional, integral y derivativa. Es un algoritmo de retroalimentación que grosso modo en caso de la impresora 3D, realiza una serie de cálculos para alcanzar a la temperatura deseada y mantenerse estable durante todo el tiempo de funcionamiento. Unos valores PID mal colocados podría provocar oscilaciones de temperaturas variando hasta 10 grados hacia arriba y abajo.

Nos aseguramos que no haya nada en la tobera como sensores de autonivel, es conveniente también que no haya filamento colocado. Empecemos:

Para una calibración óptima, y en caso de que se vaya a imprimir con el ventilador de capa encendido, escribid M106 para activar el ventilador de capa.

M303 E0 S220 C10 – Lo que hará es calentar el bloque calefactor a 220 grados diez veces.

Para una mejor calibración, podemos cambiar el valor SXXX por cualquiera que nos habituemos en temperaturas. Ej.: si se va a imprimir mayoritariamente filamentos que requieran más de 230 grados como el ABS, poned S230. Si es PLA, poned S200.

Una vez finalizado el afinamiento de PID, en la ventana de comandos nos devolverá una respuesta similar a la siguiente:

Respuesta cuando termina el ajuste de PID

Una vez finalizada la prueba, ejecutar el comando: M301 P27.64 I2.66 D71.90 – En el que después de poner los nuevos valores lo guardaremos con M500 y cargaremos con M501.

Si te fijas, donde se ha puesto P es el valor que hay en Kp, en I es el valor que hay en Ki y D es el valor en el que hay en Kd.

Importante: la versión de Marlin del grupo de Telegram no tiene habilitada la función de calibración PID de la base caliente, para activar, hay que abrir Marlin.ino con el IDE de Arduino, ir a la pestaña Configuration.h, buscar la línea donde pone #define PIDTEMPBED y descomentar (eliminando las dos barras de la izquierda). Guardar y subir. Si da error al subir, asegurarse de que Pronterface no esté conectado a la impresora 3D, desconectar y repetir la subida. Volver a Pronterface.

Con eso tenemos el PID ajustado del cartucho calefactor, ahora nos toca la base caliente. El proceso es exactamente el mismo, en lugar de poner E0, se pone E-1. Tal que así:

M303 E-1 S60 C5 – Se calienta la base 5 veces a 60 grados.

Con los valores devueltos, grabar con el comando M304. Mismo ejemplo que el del fusor.

Pasos del extrusor

Por fin, ya estamos mucho más cerca de imprimir. Esa calibración consiste en que si le damos a extruir 10 centímetros de filamento, que salga esos 10 centímetros, ni más ni menos.

Precalentamos el fusor a una temperatura razonable, a 180 está bien, es para que no nos salte el aviso de extrusión en frío. Sacamos todo el filamento si es que tenemos metido dentro del fusor. Desenroscamos la pieza que sujeta el tubo del filamento y lo dejamos al descubierto, con el filamento al ras de la salida, tal que así:

extruder

Filamento al ras de la salida del extrusor.

Le damos a extruir 100 mm a 100 mm/minuto (son los valores por defecto) y le damos clic al botón Extrude. Medimos el filamento que ha salido, con una regla o con un calibre.

measuring-extruder

Midiendo el filamento extruido.

Debería de darnos 100 mm de filamento extruido, de lo contrario debemos de hacer una regla de tres para corregir ese valor. Si por ejemplo se ha extruido 95 mm, a 96 pasos (que es el valor por defecto en Marlin), tendremos que hacer esa cuenta: 100 x 96 / 95 = 101.05.

El nuevo valor es 101.05, lo grabamos con el comando M92 E101.05. Guardar con M500 y cargar con M501. Repetir ese proceso todas las veces hasta que logremos un resultado más proximo a los 100 mm, un margen de error de medio milímetro es aceptable.

Recuerda, si hacemos de nuevo el test, ya no son 96 pasos, sino el nuevo valor que le asignasteis, con lo cual, en la regla de tres ha de ser con el nuevo valor de pasos. Ejemplo: 100 x 101.05 / xx = yy. Donde xx es la nueva medida extruida e yy es el resultado.

Calibración de ancho de pared

¡Hurra! ¡Por fin ya empezamos a imprimir! Aquí imprimiremos un cubo con unas esquinas redondas y se va a calibrar el flujo de extrusión, valor que se le da al programa fileteador. Yo personalmente uso Slic3r, pero cualquier es aplicable. También he escrito un artículo profundizando los detalles sobre la calibración del flujo.

El objeto a imprimir en cuestión.

En primer lugar, restableceremos todos los ajustes de extrusión. Normalmente es el Extrusion multiplier / Multiplicador de extrusión / Flow / Flujo según un programa u otro puede variar el nombre. Ese valor hay que dejarlo a 1 o 100%.

Se aconseja usar la tobera estándar, la de 0.4 mm.

Extrusion width / Ancho de extrusión en Auto. El valor suele ser: diámetro de la tobera multiplicado por 1.20.

Imprimimos con esos valores asignados. Una vez que tengamos el cubo impreso, debemos medir con un calibre por la mitad de cada lado a media altura.

La ecuación funciona de la siguiente manera:

Nuevo flujo / multiplicador de extrusión = (ancho esperado / ancho medido ) x flujo actual / multiplicador de extrusión actual.

Ancho esperado = (diámetro de la tobera (mm) x 1.20) x 2 líneas de contorno.

Ancho medido = (media de ancho medido de cada lado).

Calibración dimensional

En desarrollo. Disculpen las molestias.

Fuentes

Autocalibrado y UBL. Yakandu.

Ajuste de ancho de pared y pasos del extrusor. Yakandu.

Flowrate. Desiquintans.

Gracias a @Linderkin por las correcciones.

Introduzca tus palabras claves y pulsa Intro

Usamos cookies para brindarle la mejor experiencia en línea. Al aceptar que acepta el uso de cookies de acuerdo con nuestra política de cookies.