Retomar una impresión 3D interrumpida
Las impresoras 3D de hoy en día cuentan con tecnologías avanzadas diseñadas para superar diversos contratiempos. No solo pueden reanudar una impresión después de un corte de energía, sino que también están equipadas con sensores para detectar problemas con el filamento. Sin embargo, surgen situaciones en las que un error pasa desapercibido y la impresión se detiene abruptamente. En esos instantes, puede parecer que todo el esfuerzo ha sido en vano. Afortunadamente, existen soluciones para retomar y completar esa impresión interrumpida.
Para recuperar una impresión interrumpida, es esencial ajustar el G-code. Al detectar la interrupción, detén la impresión inmediatamente y enciende la cama caliente para evitar que la pieza se despegue. Si la pieza se despega, la recuperación se vuelve extremadamente complicada.
Con la cama encendida, identifica la última capa impresa observando la posición del nozzle. Mide la altura de la pieza con exactitud. En nuestro ejemplo, utilizaremos la siguiente medida: 109.90 mm. Esta medida es fundamental para retomar la impresión en la altura adecuada.
Es crucial que los ejes mantengan su posición relativa. Por ejemplo, Z130 debe ser exactamente Z130 y no Z150. Realiza un homing para devolver los ejes a la posición 0, pero hazlo eje por eje para evitar posibles daños a la pieza.
Desplaza el plato completamente hacia delante de forma manual. Luego, envía el primer comando:
G28 Z
Esto hará que el eje Z vuelva a la posición 0. Después de este paso, los motores quedarán bloqueados, impidiendo cualquier movimiento manual de la impresora. En este punto, tienes dos alternativas:
- Desbloquear los motores utilizando el código:
- O, preferiblemente, elevar el eje Z a una posición por encima de la altura actual para evitar posibles desfases con el home:
M84
G1 Z111
Con esta altura, podrás comprobar si el nozzle está realmente por encima de la pieza, que en este ejemplo mide 109.9 mm. Una vez asegurado que no tocas la pieza, es el momento de establecer la posición inicial (hacer home) para los ejes X e Y con los siguientes comandos:
G28 X
G28 Y
Una vez que hayas realizado los pasos anteriores, utiliza los comandos de la impresora para mover el nozzle con las flechas. El objetivo es posicionar el nozzle justo encima de la pieza para ajustar el eje Z. Aquí, es esencial conocer bien las características de tu pieza. Como ejemplo, supongamos que la capa inicial mide 0.28 mm y las capas subsiguientes 0.2 mm. Dado que hemos medido una altura de 109.9 mm, esta no coincide exactamente con una capa completa. Debería ser 109.88 mm. Aquí te dejo una breve explicación de cómo llegar a esa cifra:
- Resta la capa inicial de la altura total: 109.9 - 0.28 = 109.62
- Divide el resultado entre el grosor de las demás capas: 109.62 ÷ 0.2 = 548.1
- Dado que 548.1 no es un número entero, tomamos 548 como referencia. Multiplicamos 548 por el grosor de las capas: 548 x 0.2 = 109.6
- Sumamos de nuevo la capa inicial: 109.6 + 0.28 = 109.88
- Con esta altura calculada, busca en el Gcode el valor "Z109.88". Pero antes de hacer cualquier cambio, asegúrate de que esta medida sea correcta. Baja el eje Z gradualmente usando los siguientes comandos:
- Si el nozzle entra en contacto con la pieza, confirma su posición exacta utilizando el comando: M114 El valor proporcionado corresponde a la última capa impresa; avanzaremos a la capa siguiente para proseguir con la impresión.
G1 Z110
G1 Z109.88
El siguiente paso es buscar "Z109.88" en el Gcode y eliminar todo lo que esté escrito antes de ese punto. Dependiendo del editor que estés utilizando, es posible que tengas problemas para encontrar el valor en un archivo extenso. En ese caso, puedes desplazarte manualmente a través del documento para acotar la búsqueda y encontrarlo.
En muchos archivos Gcode, cada capa comienza con un comentario específico que se ve así: ;MESH:Nombre-archivo.extension (por ejemplo, nombre_archivo.stl). A partir de este comentario, en la capa que deseas retomar, copia todo el contenido hasta el final del archivo. Luego, pégalo en un nuevo archivo con la extensión .gcode.
No obstante, antes de continuar, necesitarás conservar los valores de X, Y y E de las últimas líneas de la capa previa a la que vas a imprimir.
A continuación, te presento un fragmento del archivo como ejemplo. Este inicia en el punto donde se detuvo la impresión, al final de la capa Z109.88, y abarca hasta el comienzo de la siguiente capa, Z110.08.
Final de la capa Z109.88:
G1 X139.237 Y102.126 E2376.18396
G1 X140.126 Y102.773 E2376.22053
G1 X140.313 Y103.348 E2376.24064
G0 F2700 X140.467 Y103.821
G0 X140.126 Y104.869
M204 S5000
M205 X30 Y30
G1 F4200 E2371.24064
G1 F600 Z110.08
Nota: Los valores en negrita son aquellos que deberás anotar para añadir posteriormente al g-code que crearemos para continuar con la impresión.
Inicio de la capa Z110.08:
;MESH:Luffy.stl
G0 F7200 X126.297 Y113.476 Z110.08
M204 S3000
M205 X20 Y20
;TYPE:FILL
G1 F600 Z109.88
G1 F4200 E2376.24064
G1 F3000 X126.525 Y113.506 E2376.24829
G1 X127.73 Y113.403 E2376.28852
Una vez que hayas eliminado todo el contenido anterior al punto de interrupción en tu archivo G-code, lo que tienes ahora es el segmento de código que retoma exactamente donde se detuvo la impresión. Sin embargo, antes de iniciar la impresión, es esencial añadir algunos comandos específicos al principio de este segmento para preparar la impresora correctamente.
Para hacerlo, inserta el siguiente código al inicio de tu archivo G-code modificado:
M140 S55
Esta línea establece la temperatura de la cama caliente. Modifica el valor de acuerdo a la temperatura que tienes en el inicio de tu archivo original con este mismo comando.
M104 S210
Con esta línea, ajustas la temperatura del extrusor. Cambia el valor según lo que tienes registrado al inicio de tu documento original con este comando.
G92 E2376.24064
Este comando define el valor del extrusor. Lo hemos identificado previamente, y puedes verlo en el ejemplo proporcionado. Es crucial entender que desde el inicio de la impresión hasta su finalización, la posición del extrusor es acumulativa. Si omites este paso, la máquina no extruirá filamento, invalidando todo el esfuerzo que has invertido hasta ahora.
G0 F3000 X140.126 Y104.869 Z110.08
Con esta línea, indicas a la impresora que se posicione exactamente en las coordenadas X, Y y Z especificadas. Es vital que la coordenada Z sea una capa por encima del valor que identificaste inicialmente. Por ejemplo, si con Z109.88 el nozzle estaba en contacto, significa que debes imprimir la capa siguiente. En este caso, sería 109.88 + 0.2 (que es la altura de tu capa) = 110.08.
Con estas instrucciones, tu archivo debería lucir así:
M140 S55
M104 S210
G92
E2376.24064
G0 F3000 X140.126 Y104.869 Z110.08
;MESH:Luffy.stl
G0 F7200 X126.297 Y113.476 Z110.08
M204 S3000
M205 X20 Y20
;TYPE:FILL
G1 F600 Z109.88
G1 F4200 E2376.24064
G1 F3000 X126.525 Y113.506 E2376.24829
G1 X127.73 Y113.403 E2376.28852
G1 X128.935 Y112.917 E2376.33173
G1 X130.14 Y111.894 E2376.38431
; ... (el código continúa)
El paso final antes de guardar tu archivo .gcode es enviar el comando resaltado en negrita. Con esto, te asegurarás de que el nozzle esté correctamente posicionado por encima de la pieza y no haya roce o desplazamiento.
Si has seguido todos los pasos cuidadosamente y todo ha funcionado como se esperaba, habrás logrado recuperar tu impresión sin desperdiciar filamento.