Guía Calibración Impresoras 3D FDM/Filamento
La puesta en marcha de una impresora así como el calibrado preventivo es muy importante para un correcto funcionamiento y precisión de nuestra impresora.
Aunque probablemente muchos de vosotros sepáis como funciona una impresora FDM puede ser instructivo para algunos repasar a grandes rasgos como es su funcionamiento. La siguiente infografía, aunque algo antigua, creemos que refleja de una forma bastante sencilla y clara el funcionamiento general de esta tecnología de impresión 3D:
Por otro lado y dado que en algunas partes de los pasos de calibración mencionaremos algunas partes de nuestras impresoras a continuación os facilitamos un esquema de las partes de una impresora 3D FDM:
Os recordamos que tienes mas guias de ayuda en nuestro bot de Telegram @ThreeDWorkHelpBot
Para realizar los diferentes tests indicados en esta guía es necesario un laminador, os aconsejamos varios, ordenados por nuestro gusto personal, podéis probar varios y usar el que más os guste:
⚠️ OrcaSlicer - es un fork de Bambu Studio con algunas mejoras interesantes... como la compatibilidad incluyendo perfiles de otras máquinas como Ratrig, Voron, Creality, Anycubic, Prusa...
Dado que es un fork de PrusaSlicer comparte muchas opciones y funcionamiento pero con una interfaz reformulada, junto con algunas funciones de SuperSlicer, Cura y otros laminadores... además de incluir algunas funciones centradas en producción interesantes como múltiples platos de impresión, generación de 3mf con todo el contenido, acceso a la interfaz web de la impresora si esta cuenta con ella, etc...
Podemos descargar OrcaSlicer:
OrcaSlicer -> https://github.com/SoftFever/OrcaSlicer/releases/
Si estáis interesados podéis acceder anuestro grupo de Telegram.
Aconsejamos el uso de OrcaSlicer (fork de Bambu Studio) o SuperSlicer (un fork de PrusaSlicer donde integran opciones avanzadas antes de incorporarlas) ya que tiene unas estupendas opciones para generar algunos de los tests de calibración usados en esta guía.
Índice Tests Calibración:
Tenemos organizados por orden lógico los tests de calibración, en cualquier caso os vamos a agrupar estos en diferentes categorías que permitan localizar mejor el test adecuado en nuestro caso:
A continuación os facilitamos una serie de tests básicos a realizar...
Cambiamos de tipo de filamento
Hemos cambiado algún componente de nuestro sistema de extrusión
A continuación os vamos a sugerir, por orden, los tests y ajustes que pensamos interesantes para la calibración de nuestra impresora 3D. En todo caso, y aunque está en inglés, os aconsejamos este "cheat sheet" de core-electronics muy visual que nos puede ser de gran utilidad:
1. Ajuste vref/corriente Motores
VREF/corriente es simplemente el voltaje regulado que entregan nuestros drivers al motor. Un ajuste correcto del VREF/corriente nos permitirá una calibración precisa de nuestros motores.
Si nuestro VREF/corriente es muy bajo nuestro motor no tendrá suficiente torque y puede causar la temida pérdida de pasos en forma de pérdida de precisión y el efecto de capas desplazadas en nuestras impresiones. Si por el contrario nuestro VREF es muy alto nuestros motores puedes sobrecalentarse ocasionando efectos similares al punto anterior e incluso hacer fallar los motores o dañarlos.
Cálculo de nuestro VREF/CURRENT óptimo
En el caso que tengamos una maquina comercial y siempre que no modifiquemos sustancialmente su mecánica/cinemática, motores o no tengamos los problemas citados anteriormente (perdida de pasos o sobrecalentamiento/fallo de los motores) no es normalmente necesario realizar este ajuste.
El calculo de VREF/CURRENT depende principalmente de tres factores... el tipo de drivers que usemos , los A soportados por nuestros motores y el tipo de firmware que usemos.
Es muy importante que en el caso de cambio de drivers o motores tengamos en cuenta las características de los mismos y las capacidades de los drivers. Como ejemplo revisa la siguiente lista sobre los A soportados por estos tipos de drivers listando algunos a modo de ejemplo:
A4988 -> 2A
DRV8825 -> 2A
TMC2208 -> 1.2A
TMC2209 -> 1.7A
Debemos intentar tener en concordancia los A de nuestros motores con las capacidades de nuestros drivers para evitar problemas
Con estos datos y para que sea sencillo el cálculo os aconsejamos el uso de una calculadora online donde indicar los A de vuestro motor y el % de seguridad el cual es aconsejable colocar entre 80-90%, tenéis una buena explicacion en este documento de E3D
Ajustar el VREF/CURRENT en nuestra impresora
Para el ajuste del VREF/CURRENT tenemos dos opciones dependiendo de como nuestros drivers esten instalados/configurados, normalmente tenemos dos modos... modo UART/SPI que es un modo inteligente donde el firmware puede controlar al detalle los ajustes del driver o Standalone/StepDir donde el driver usa una configuración estática:
En modo UART... ajuste recomendable si nuestros drivers/placa lo soportan
El modo UART o modo gestionado dinámico de drivers es el más adecuado para poder aprovechar al máximo nuestros drivers siempre que estos y nuestra placa los soporten y estén configurados en nuestro Marlin.
En el caso de usar nuestra calculadora deberemos usar el valor de corriente máxima (CURRENT) de nuestros motores aplicando un margen de entre 80-90%.
Para ajustar el CURRENT en este caso es muy sencillo y básicamente tenemos 3 opciones:
Usando nuestra pantalla LCD/TFT, en pantallas LCD modo Marlin dispondremos de un menu Configuracion/Avanzado/TMC donde ajustar la corriente antes calculada o simplemente ajustarla a nuestro gusto. Para pantallas TFT depende de cada fabricante en que parte del interfaz dispongan de esta configuración. En cualquier caso es importante salvar a EEPROM una vez hecho el cambio (modo Marlin menú Configuracion/Salvar EEPROM) para evitar que este se pierda al reiniciar la impresora.
Mediante gcode usando un cliente terminal como Pronterface/Octoprint o algunas pantallas TFT. Para ello enviaremos el comando M906. M906 X5 Y5 Z5 por ejemplo ajustariá la corriente de los ejes X Y Z a 0.5V (500)... al igual que el punto anterior es importante salvar los cambios en EEPROM con un M500
En los ficheros de Marlin, en configuration_adv y dependiendo de nuestros drivers tenemos la configuración... os aconsejamos revisar la documentación de vuestra placa para encontrar donde se ubican exactamente los cambios
En este caso es muy aconsejable realizar un M503 y/o un M122 para verificar que los datos estan correctmente.
Es importante al ajustar estos valores realizar un seguimiento de nuestros motores para ver si los valores de vref/run_current son los adecuados para nuestra máquina:
En el caso que observemos un calor excesivo de los motores deberemos reducir el valor vref/run_current hasta unos valores que no afecten a la temperatura del motor en exceso. No hay una fórmula mágica pero generalmente si tocando con el dedo no aguantamos el calor del motor es síntoma de exceso de temperatura en el mismo
Por otra parte si vemos pérdida de pasos ya sea constante o puntuales que no estén relacionadas con problemas mecánicos deberemos aumentar el valor vref/run_current. Dado que normalmente aconsejamos un 80-90% de seguridad al calcular los valores suele ser el caso más común tener que ajustar al alza los valores vref/run_current pero siempre teniendo en cuenta los límites de nuestro motor y drivers!!!
2. Pasos Extrusor
Una parte crítica en una impresora 3D es el control del filamento extruido. Este proceso no es en un eje de movimiento si no de extrusión así que se aconseja que el test se realice extruyendo filamento por el nozzle.
Antes de comenzar a imprimir, si... ya hay ganas!!!, tenemos que calibrar los pasos de nuestro extrusor.
Con el hotend a la temperatura aconsejada para el material que usemos realizaremos una marca a 120mm de la entrada del extrusor.
Si en lugar de realizar el test extruyendo en caliente queréis hacerlo al "aire"/frio sin extruir deberéis desconectar el extrusor del hotend o desmontar este y usar el comando M301 P1 o S0 para poder extruir en frio.
Desde nuestra pantalla o mediante gcode mandaremos extruir 100mm.
Después de extruir mediremos desde la entrada del extrusor, donde previamente tomamos como referencia para marcar los 120mm, hasta la marca que hicimos en el primer punto y con ese valor realizaremos la siguiente fórmula (asumiremos que, aunque en un mundo perfecto debería medir 20mm esa distancia, hemos obtenido 19mm): 120mm-19mm= 101mm
Ahora calcularemos nuestros nuevos steps utilizando el valor de la siguiente fórmula: (valor_actual_steps*100)/(valorcalculado_medicion_extruido)= nuevo_valor_steps Como ejemplo: (33 * 100)/(101) = 32.673
El ajuste de los pasos los puedes realizar de diferentes formas:
desde la pantalla en modo Marlin en Configuración/Avanzado/Steps
mediante gcode desde un terminal como Pronterface con M92 Exxx (donde xxx serían los pasos calculados previamente).
Recuerda, si tienes un Marlin cocinado por ti anotar estos valores, y si modificaste por pantalla ir a Configuración/Salvar EEPROM o si lo hiciste por terminal lanzar un M500.
Puedes acceder a la calculadora E-step/rotation_distance aquí a continuación puedes ver como es:
3. Ajuste PID/MPC
Esta calibración es independiente del resto, dado que no requiere que se hayan reslizado otros tests previamente
Antes de meternos en lo que es la calibración en sí, sería bueno entender que es el PID/MPC, lo cual básicamente es un algoritmo que ayuda a la máquina a mantener los valores de temperatura deseados tanto en el Nozzle como en la Cama caliente, para ello tiene una serie de valores que ajustan la cantidad de corriente que llega a los calentadores de estos y la varía en función de las lecturas recogidas por los termistores (sensores de temperatura).
En el caso de la cama os aconsejamos ver el siguiente video para entender la importancia de usar o no PID en la cama.
En Marlin contamos con tres formas diferentes de ajustar temperaturas:
BANG BANG, es el método tradicional que actúa básicamente como un termostato apagando o encendiendo cuando un valor este por encima o debajo del umbral establecido. No suele ser el aconsejable salvo en casos muy específicos como con calentadores accionados por relés mecánicos o si tenemos inductancias como vimos en el video anterior
PID, es el más usado y básicamente es un algoritmo que actúa sobre la potencia del calentador para ajustar/mantener la temperatura de nuestros calentadores.
MPC, o Model Predictive Temperature Control, disponible desde las versiones 2.1.x es más inteligente y adaptable ya que usa la simulación y aprendizaje para el mantenimiento de nuestra temperatura. Esto añade unas ventajas como una configuración sencilla aportando más estabilidad térmica
PID
Para realizar este ajuste podemos realizarlo de dos formas distintas:
IMPORTANTE!!! Es aconsejable realizar el PID con la ventilación de capa activada al 100%, la cama a la temperatura normal de impresion y la algura de Z a 5mm. En el caso de necesitar el proceso PID varias veces asegurarse que la temperatura del hotend/cama sea la ambiente para obtener valores más precisos.
Desde el LCD dentro del menú Temperatura o Configuración/Avanzado
Recordar habilitar en Marlin (configuration.h) las siguientes opciones:
#define PID_EDIT_MENU #define PID_AUTOTUNE_MENU
Desde terminal como Pronterface
Para realizar el PID del hotend: M303 E0 S200 C8 U
Para realizar el PID de la cama: M303 E-1 S60 C8 U
El comando M303 de Marlin tiene los siguientes parámetros:
C<número>, le indicamos el número de ciclos PID que queremos que haga. Por defecto hace 5 en el caso que no se especifique aunqe lo ideal es al menos 3. Normalmente un numero entre 8-10 suele ser más preciso
E<indice>, le indicamos el índice de nuestros calentadores.
Para la cama caliente indicaremos -1
Para hotends comenzaremos desde 0 para el primero, 1 para el segundo, ...
S<temperatura>, la temperatura objetivo a realizar el PID que os aconsejamos usar la temperatura máxima que uséis con vuestros filamentos
U, para que nuestros parámetros se apliquen en EEPROM... si no simplemente los mostrará en el terminal y será necesario guardarlos manualmente
En el caso que no deje realizar el PID de la cama (M303 E-1) es muy probable que no esté habilitado en Marlin (configuration.h): #define PIDTEMPBED
Guardar datos del PID en nuestra EEPROM!!!
Para que los valores obtenidos sean efectivos tenemos que asegurarnos que estos se almacenan en nuestra EEPROM para ser usados por el firmware. Tenemos tres formas de realizar este proceso:
directamente durante el proceso de calibración usando el flag U
anotando los valores obtenidos y aplicarlos con los gcodes M301 y M304
M301 P19.56 I0.71 D134.26 - hotend M304 P1 I2 D3 - cama
y en cualquier caso un M500 para que estos valores se almacenen en nuestra EEPROM
anotando los valores en las fuentes de nuestro Marlin, recordad que en caso que se haga un reset de la EEPROM si estos valores no estaban en nuestras fuentes/firmware compilado desaparecerán!!!, compilando y subiendo nuestro firmware con los nuevos valores... recordad que SIEMPRE que subamos una nueva versión de firmware debemos de realizar al menos un M502 (Factory reset) y un M500 (almacenar datos en EEPROM).
En caso que por protección térmica, nos puede saltar un aviso por pantalla o en raras ocasiones incluso resetear la impresora, no permita hacer el autoPID deshabilitar momentáneamente:
En el caso de alarmas por protección de temperaturas que no se solucione con un PID se tendrán que variar los parámetros de tiempo e histéresis de dicha protección.
https://3dprinting.stackexchange.com/questions/8466/what-is-thermal-runaway-protection
MPC
Como ya os comentamos MPC es una nueva función para el control que tiene en cuenta los siguientes aspectos:
el valor de potencia del hotend
temperaturas ambientes
efecto del ventilador en la temperatura del ambiente
temperatura del filamento y su feedrate, entendiendo que por defecto el filamento tiene la misma temperatura que el ambiente
Durante el proceso de calibración Marlin realiza todos los calculos y compara su predicción con la lectura del sensor haciendo diferentes simulaciones para obtener su algoritmo.
Os recordamos que MPC esta actualmente en modo EXPERIMENTAL por lo que puede no ser estable.
Dado el funcionamiento de MPC y siendo mucho más preciso que el PID tambien require de más cálculos por parte de la MCU lo que puede hacer que en electrónicas antiguas o con MCU lentas provoque problemas de rendimiento.
Habilitar MPC es bastante sencillo aunque actualmente solamente se encuentra esta función para el hotend:
Nos aseguraremos que NO tenemos habilitado PIDTEMP (Hotend)
Habilitaremos MPCTEMP en configuration.h
Configuraremos la potencia de nuestro calentador de hotend, normalmente las máquinas montan de 30W o 40W, en MPC_HEATER_POWER
Nos aseguraremos que en MPC_TUNING_POS tenemos unas coordenadas adecuadas para nuestra máquina como las que ya lleva por defecto que son en medio de los ejes X e Y y entre altura de primera capa y 1mm
También es interesante habilitar los menús de ajustes y de autotune que aparecerán en la sección Advanced Settings de nuestro display
Con esto ya tenemos la configuración de nuestro firmware, solo tendremos que compilar y aplicarlo a nuestra electrónica.
Una vez ya tenemos todo listo lanzaremos el autotune de MPC ya sea desde la pantalla como os sugeriamos antes o por gcode con el comando M306 T. En nuestro caso os mostramos por gcode:
Nos conectaremos desde un terminal a nuestra máquina y lanzaremos el gcode M306 T para hacer el autotune del hotend. El proceso moverá nuestro cabezal de impresión al centro de la cama y cerca de la superficie de la cama. Enfriará el hotend usando el ventilador de capa para conocer el efecto de este en la temperatura ambiente. Calentará el hotend varias veces, a 200ºC, para realizar mediciones. Mantendrá la temperatura y realizará más mediciones durante unos minutos. Con todos los datos realizará los cálculos para nuestra máquina y finalizará el proceso mostrando los valores a ajustar.
Una vez finalizado el proceso guardaremos en la eeprom con un M500 e idealmente anotaremos los valores que nos sufiere el proceso en nuestras fuentes de Marlin.
4. Nivelación de la cama
El nivelado de cama es crítico para poder disponer de una buena base para nuestras impresiones.
Dado que las primeras capas son extremadamente importantes para la adherencia de nuestras piezas es importante disponer de un sistema de nivelación que nos ayude a compensar desviaciones en nuestra máquina:
Nivelación manual
En Marlin y si no contamos con sensor de nivelación es muy aconsejable activar el nivelado MESH manual, tenéis una guía nivelación MESH aquí, ya que podéis ajustar y solventar problemas en el caso que vuestra cama no esté totalmente plana.
También en Marlin y para el ajuste manual 4 esquinas contamos con una interesante función de tramming (LEVEL_BED_CORNERS
) que si disponemos de sensor de nivelación podremos usar nuestro sensor de nivelación como ayuda para el ajuste haciendo que el nivelado sea mucho más preciso.
Nivelación automática
Si disponéis de sensor de nivelación y sois usuarios de Marlin os aconsejamos usar la nivelación UBL, la más potente en Marlin, y que gracias a sus opciones y asistentes nos facilitará enormemente el proceso de nivelación. Si queréis más información la podéis encontrar en nuestra guía UBL.
En el caso de ser necesario ajustar el ZOffset a partir del valor obtenido (en el caso de disponer de sensor de nivelación o MESH como sistema de nivelación) sumaremos el valor de babbystepping a nuestro ZOffset.
Podéis ver una explicación en forma de video aqui
Podemos verificar el estado de nuestra cama y si disponemos de un sistema de nivelación realizando un test de primeras capas:
Nuestro laminador favorito también nos permite crear un test de primeras capas en unos cuantos clicks.
Dado que SuperSlicer y PrusaSlicer suelen usar la misma base es muy sencillo el exportar/importar sus perfiles o usando un fichero 3mf
Iremos al menú de Calibration donde seleccionaremos Bed/Extruder leveling desde donde se nos abrirá una nueva pantalla con descripción del proceso y pulsar a generar nuestro test de primeras capas
Nos va a generar 5 rectángulos con una solapa para retirarlos fácilmente ubicados en las cuatro esquinas y otro central en nuestra cama.
Babystepping... ajuste zoffset durante una impresión
Una función que incorporan la mayoría de los firmware para impresoras 3D es babystepping que básicamente nos permite realizar ajustes en la distancia de Z durante una impresión, normalmente usado en primeras capas.
Normalmente durante el test de primeras capas utilizaremos esta función para ajustar a nuestro gusto el ajuste de estas:
Desde Marlin, es imprtante que tenéis que tener habilitada esta opción (más información aquí), tenemos diferentes formas de realizar el ajuste:
Desde la pantalla (ejemplo para pantalla emulación Marlin, si dispones una táctil deberás revisar donde se encuentra en tu caso la opción) durante la impresión para poder usar Babystepping iremos al menú
Tune
y seleccionaremosBabystep Z
y ajustaremos a nuestro gusto prestando atención al valor de Babystep ya que usaremos este después.
Enviando comandos gcode, desde un cliente terminal como Pronterface/Octoprint/TFT, disponemos de los comandos
M290 Zx.xx
(para pedir que baje Z enviaremosM290 Z-0.0125
o para subirM290 Z0.0125
) donde x.xx es la distancia en mm a subir o bajar nuestro eje Z
5. Ajuste Flujo/Flow
El ajuste de flujo permite ajusta la cantidad de plástico extruído por la impresora. Una correcta calibración del flujo/flow permite solucionar problemas de falta o sobre extrusión además de mejorar los valores de retracción, ayudar a mejorar las esquinas y el efecto costura en nuestras impresiones.
Como paso previo al ajuste de flujo/flow es imprescindible que previamente tengamos correctamente ajustados los pasos de nuestros motores, encontrada la temperatura adecuada para nuestro filamento y el PID.
Un paso previo muy importante para una correcta calibración es realizar una comprobación del diámetro de nuestro filamento. Aunque el filamento que compramos normalmente indique 1,75mm en la realidad depende de la calidad del fabricante que este sea así cuando lo normal seria una desviación de 0.02mm en buenas marcas nos podemos encontrar con desviaciones de hasta/o más del 0.05mm. Para realizar esta comprobación mediremos 5 secciones de filametos con una distancia de unos 10cm en cada una y realizaremos una media.
Una vez tengamos este valor medio para este filamento lo ajustaremos en nuestro perfil de filamento en nuestro fileteador/slicer.
Filament Settings -> Filament -> Diameter
Como generar un test para comprobar nuestro flow idóneo:
En OrcaSlicer, podemos encontrar un test de flujo que podemos generar en unos pocos clicks:
Seleccionamos el perfil de impresora y filamento con el que queremos realizar el test de flujo.
Se nos crea un nuevo proyecto con 9 bloques, cada uno con un modificador de flow. Procederemos a laminar e imprimirlo.
Una vez impreso examinaremos los diferentes bloques de test para determinar cual es el que tiene una superficie más lisa.
Ajustaremos nuestro valor de Flow Ratio, dentro del perfil de filamento, haciendo una regla de 3: FlowRatio_orig*(100+modificador)/100 Si nuestro Flow Ratio original era 0.98 y en nuetro test hemos seleccionado el bloque de +5 el nuevo valor lo calcularemos: 0.98*(100+5)/100= 1.029 -> valor a colocar en Flow Ration
Volveremos al menú de calibración pero esta vez lanzaremos el Pass 2. Este proceso es similar al anterior pero en este caso generará 10 bloques con rangos de flow de -9 a 0.
Volvemos a imprimir el proyecto y seleccionaremos el bloque con mejor acabado. Teniendo en cuenta el Flow Ratio calculado previamente de 1.029 y seleccionando del nuevo test -6 el nuevo valor de Flow Ratio lo calcularemos de la siguiente forma: 1.029*(100-6)/100= 0.96726
En el caso que tengamos una Bambu Lab X1 o X1C, y para lanzar este test, deberemos desmarcar la opción Flow Calibration
Una vez tengámos nuestro valor de flujo/flow en nuestro fileteador/slicer lo podemos encontrar en...
Filament settings/Filament/Basic information/Flow ratio
Ultimas recomendaciones sobre el flujo/flow...
A veces es muy difícil obtener unas correctas dimensiones de los muros, dada la naturaleza de la impresión FDM es complicado obtener unos valores exactos y repetibles
El test de flujo no es necesario en cada bobina de un mismo tipo/color de filamento pero si seria aconsejable realizarlo en cada tipo y color de filamento para tenerlo como referencia ya que los valores de flow pueden cambiar significativamente sobretodo por tipo de filamento (PLA/PLA+/SPLA/PETG/TPU/ABS/etc...)
6. Torre de temperatura
Las torres de temperaturas nos permiten encontrar la temperatura óptima para un determinado filamento.
Es importante hacer este test con cada bobina que usemos para ajustar o verificar que los valores son los correctos.
Como crear nuestra torre de temperatura:
Como ya os hemos comentado usando SuperSlicer contamos con un menú dedicado para crear nuestros tests de una forma muy sencilla.
Dado que SuperSlicer y PrusaSlicer suelen usar la misma base es muy sencillo el exportar/importar sus perfiles o usando un fichero 3mf
Iremos al menú de Calibration donde seleccionaremos Filament temperature calibration desde donde se nos abrirá una nueva pantalla con descripción del proceso y algunos ajustes para poder generar nuestra torre de temperatura
Descripción del test con algunas imágenes de ejemplo
Zona importante dado que nos indica que tests deberíamos de tener hechos antes de realizar este
Número de tests por debajo de la temperatura actual definida en nuestro perfil de filamento
Lo mismo que el anterior pero por encima de la temperatura
Aquí indicaremos el salto, por encima o por debajo, de temperatura en cada test. Por ejemplo con 2 saltos por encima y por debajo con un salto de 10 grados tendremos.. -20 -10 0 +10 +20. En el caso de ser un filamento totalmente nuevo hacer saltos en 10 suele ser un test bueno de aproximación siendo aconsejable hacer otro más fino después
Desde aquí podremos generar el test
Recuerda que si pasas el cursor por encima de las funciones tendrás una descripción de que hacen
Una vez todo ajustado y generado el test veremos nuestra torre de temperatura!!! en 4 clicks
podemos hacer el laminado y revisar el preview para verificar temperaturas en el
Para interpretar las torres de temperaturas deberemos fijarnos en:
Acabado de los puentes (bridge) y voladizos (overhang), que no queden descolgados en la medida de lo posible y bien definidos
Definición de los números de la temperatura, estos deben quedar lo mas legibles posible además del efecto "olas" (ghosting) alrededor de los mismos aunque esto último suele ser por otro tipo de problemas una correcta temperatura ayuda a reducir el efecto
Figuras cónicas (stringing) que bien definidas sin restos de material o deformaciones en la medida de lo posible
Consistencia, podemos intentar partir cada sección para ver si la adhesión de capas es adecuada
7. Pasos Ejes Movimiento
Es muy importante asegurar que los movimientos, en nuestros ejes de movimiento XYZ, son precisos y hacemos especial incapié en el concepto ejes de movimiento.
Históricamente, y por simplicidad para los usuarios que empiezan en la impresión 3D, hemos aconsejado el método del cubo de calibración para este ajuste... todo y que en las primeras versiones de esta guía no lo hacíamos creando problemas para entender el proceso o preferían el método del cubo.
Dado que queremos que nuestra guía de calibración sea lo más fiable posible volvemos a añadir en detalle el proceso de ajuste y verificación de los pasos en ejes de movimiento.
El uso del cubo de calibración está muy bien como test para comprobar si nuestras impresiones son fiables dimensionalmente pero no deberíamos usarlo como referencia para el ajuste de nuestros pasos en los ejes de movimiento.
Volviendo al concepto de ejes de movimiento... los ejes X Y Z de una impresora 3D son ejes de movimiento y por lo tanto tenermos que ajustar sus configuraciones en base a movimientos NO en base a piezas impresas.
Las configuraciones de estos ejes se han de calcular en base a:
el tipo de motor, básicamente al ángulo usado para sus movimientos en lo que básicamente encontramos de dos tipos... motores con 1.8º y 0.9º de giro
cantidad de micropasos usados por el driver para los movimientos del motor, normalmente 16 aunque hay máquinas o usuarios que les gusta usar 32 o incluso más. En este aspecto podríamos tener una amplia discusión de si el aumento de estos micropasos tienen verdaderamente beneficios, en general para máquinas normales, o pueden acarrear más problemas que beneficios.
tipo de engranaje usado para el acople de nuestras correas
Pongamos un caso práctico de una impresora típica que usa una correa en un eje de movimiento, normalmente una GT2 que tiene exactamente 2mm +/- tolerancias del fabricante entre dientes.
Si usamos un engranaje de 20 dientes que es lo normal en la mayoría de impresoras tendremos que una revolución del motor, una vuelta, será SIEMPRE 20 dientes * 2mm que es un desplazamiento de 40mm.
De igual forma, para un motor estándard de 1.8º necesitará SIEMPRE 200 pasos completos para realizar una vuelta con lo qu etendremos que 200 pasos completos equivalen a 40mm de desplazamiento.
Salvo casos graves las tolerancias de fabricación de componentes no deberían cambiar estos cálculos.
Los objetos impresos, a nivel de dimensiones en concreto, les afectan diferentes variables como por ejemplo el flujo, la expansión horizontal de nuestros filamentos, la precisión/calidad en el diámetro del filamento y un largo etcétera de opciones de nuestra configuración firmware/laminador o incluso ambientales.
Con todas esas variables y teniendo en cuenta lo explicado anteriormente NO es aconsejable usar una pieza impresa para el ajuste de pasos en ejes de movimiento.
Para calibrar de forma precisa nuestra máquina, y de nuevo recordando el concepto de ejes de movimiento, lo primero de todo deberemos excluir de la ecuación el uso de extrusión de filamentos para ello.
Segundo, tendremos que asegurarnos que nuestra máquina esté correctamente en aspectos como: tensión y calidad de correas, excéntricas, chasis a escuadra, prisioneros, engrasado/lubricado, corriente y configuración de señales de nuestros motores, etc.
Para realizar el test usaremos un manómetro o en su defecto un calibre digital el cual anclaremos de una forma firme a nuestra máquina para poder medir el eje deseado.
Os adjuntamos un video muy bueno de nuestro compañero TeachingTech que explica de forma excelente el proceso.
Es importante para estos tests:
nuestro sistema de medición ha de estar bien fijado y totalmente paralelo al movimiento del eje a medir
revisar que los movimientos y montaje de nuestro sistema de medición no golpee en ningún lugar durante los tests
Para realizar los tests podemos usar los controles de movimiento desde nuestra pantalla, usando Pronterface o desde un host como Octoprint o la UI de Klipper dependiendo de que sistema use nuestra máquina.
Hemos de asegurarnos que nuestra máquina haga un home antes de comenzar con el proceso y entonces fijar nuestro sistema de medición.
Os aconsejamos realizar movimientos de entre 50-100mm dependiendo de vuestra máquina y espacio disponible que permita la instalación del sistema de medición, a tests más grandes en distancias mejor detección de las desviaciones.
Es importante repetir las medidas por lo menos 3 veces por cada eje y hacer una media con los valores obtenidos.
Independientemente del método que decidamos usar para revisar/ajustar los paso de nuestros ejes es importante cuando dar por buena una desviación. En nuestro caso y para impresoras 3D destinadas para usuarios normales dariamos por buenas unas desviaciones entre 0.1-0.05 mm ya que normalmente no vamos a necesitar más precisión para nuestros proyectos.
También os recordamos que es mejor usar test de medidas de mayor tamaño dado que podremos encontrar o resaltar las desviaciones de una forma más visible y fiable, como por ejemplo imprimir un cubo de calibración de 30 o incluso 40mm o solicitar movimientos de 50 o 100mm para medirlos con un calibre o manómetro digital.
Por último os aconsejamos, antes de realizar cualquier ajuste de pasos en esta dado que vienen o se definen en base a las características de la máquina, revisar cuidadosamente los siguientes aspectos:
correas con la tensión correcta, y lo más parecidas entre los diferentes ejes... en especial en máquinas CoreXY o similares. Para ello tenemos diferentes métodos como una herramienta de verificación de tensado o un espectrómetro.
Un dato importante relacionado con las correas, engranajes y precisión dimensional es importante el porqué es aconsejable el uso de engranajes dentados para los pasos de correa.
El uso de engranajes dentados la unión entre el engranaje, por un paso con tracción, y la correa es más firme además que puede prevenir el propio desgaste de la correa tal como podemos observar en la siguiente imagen.
Por otro la los pasos de correa por engranaje por su parte lija es aconsejable que se use un paso liso sin dientes:
excéntricas correctamente ajustadas evitando holguras y/o resistencias en los movimientos del eje
chasis correctamente a escuadra que permita un movimiento fluido y fiable de los ejes
prisioneros en engranajes de motores correctamente fijados para evitar cualquier pequeño desplazamiento
correcto engrasado/lubricado de nuestra máquina que permita unos movimientos fluídos
corriente en nuestros motores bien ajustada que evite perdidas de pasos y/o excesivo calentamiento de los motores y drivers
funciones que mejoren la precisión de las señales o pulsos a nuestros motores como por ejemplo SQUARE_WAVE_STEPPING de Marlin, deshabilitar Hybrid o ajustarlo para velocidades que no afecten durante la impresión, etc...
Como ajustar finalmente nuestras desviaciones teniendo en cuenta por un lado los movimientos exactos de nuestros ejes donde ajustaremos los pasos en nuestro firmware y como segundo paso como ajustar nuestro laminador para afinar las medidas de nuestras piezas impresas:
Sentimos ser pesados pero recuerda que los pasos en firmware se definen por la configuración mecánica/electrónica de nuestra impresora, además de por el correcto ajuste de las partes expuestas anteriormente.
NO debería ser necesario modificar pasos salvo por no conocer o saber calcular los valores de tu máquina o que esta tenga unas desviaciones muy grandes probablemente provocadas por algún fallo en algún punto de la máquina.
Marlin usa steps por mm que básicamente son el número de pulsos que se envian al motor para llegar a realizar una distancia de 1mm.
Steps por mm dependen de diferentes cosas, angulo del motor (normalmente 1.8º aunque también son populares los de 0.9º), los drivers y su configuración de micropasos, y el sistema mecánico de engranajes y correas que use nuestra impresora.
Tal como desscribimos anteriormente con un calibre y midiendo un movimiento del eje calcularemos/ajustaremos nuestros pasos.
Puedes usar calculadora de pasos, regla de 3, para proceso de cálculo o verificado de pasos (pulsa sobre el icono Run Pen):
https://blog.prusaprinters.org/calculator_3416/#steppermotors
El ajuste/verificación de los pasos los puedes realizar de diferentes formas:
desde la pantalla en modo Marlin en Configuración/Avanzado/Steps
El ajuste/verificación de los pasos los puedes realizar de diferentes formas:
desde la pantalla en modo Marlin en Configuración/Avanzado/Steps
mediante gcode desde un terminal como Pronterface con M92 Xxxx Yxxx Zxxx (donde xxx serían los pasos calculados previamente) o usando M503.
Recuerda si tienes un Marlin cocinado por ti anotar estos valores, y si modificaste por pantalla ir a Configuración/Salvar EEPROM o si lo hiciste por terminal lanzar un M500.
He seguido todos los pasos anteriores y sigo teniendo problemas dimensionales con mis piezas o me gustaría ajustarlo al máximo...
IMPORTANTE!!!
hemos de asegurarnos que tenemos correctamente ajustados los pasos de nuestro extrusor
Tener correctamente los pasos o rotation_distance tal y como hemos leído previamente
Si vemos un error de skew/obliquidad >0.5º os aconsejamos revisar mecánicamente vuestra máquina antes de continuar con este test
Usemos el método de nuestro compañero Vector 3D con su Califlower Calibration!!! Para nosotros el método más fiable para ajuste dimensional usando una pieza impresa.
El proceso es muy sencillo y tenemos una calculadora de apoyo a continuación:
Nos aseguraremos que lo comentado en el warning anterior lo tengamos correcto
Descargaremos la pieza de test la cual imprimiremos sin escalar, es importante que si ya tenemos activadas correcciones de SKEW en nuestro firmware las deshabilitemos
Una vez impreso esperaremos a que se pueda extraer la pieza sin forzarla de nuestra cama de impresión
Mediremos siguiendo la calculadora los puestos indicados en el eje X, Y y Skew anotando en las celdas con fondo verde claro los valores. Se aconseja medir 3 veces por cada medida para obtener una media más adecuada
Con todos los valores ajustados procederemos a ajustar nuestro firmware:
Marlin podemos ajustar los e-steps y el skew tal como se indica
Klipper ajustaremos el skew en nuestro printer.cfg
Además de la siguiente calculadora para calibrar skew/pasos tendremos el proceso y cálculos de forma sencilla, podéis ver un video del compañero Vector 3D detallando el proceso también:
8. Retracciones
La retracción es el movimiento de retroceso del filamento necesario para evitar goteos de material durante los movimientos y desplazamientos que realiza el extrusor en vacío durante la impresión 3D.
Los parámetros que configuran a la retracción son:
Distancia de retracción: Longitud de material que retrocede en el proceso de retracción. Varía en función del tipo de material, el tipo de sistema de extrusión (Directo o Bowden) y del tipo de HotEnd. Para materiales flexibles, sobre todo para los tipo TPE (Filaflex), se debe desactivar la retracción para evitar que el filamento se enrolle en el piñón del extrusor.
Velocidad de retracción: Velocidad a la que el motor del extrusor hace retroceder al filamento. Con este parámetro hay que tener mucho cuidado si se utilizan velocidades altas (mayores a 70 mm/s) porque puede mellar (marcar) el filamento de tal modo que quede inservible para continuar la impresión 3D.
Desplazamiento mínimo: Longitud mínima a partir de la cual se quiere que se realice la retracción.
Enable combing: Al activar este parámetro, que se encuentra en apartado de opciones avanzadas de retracción del programa de laminación que se utilice (PrusaSlicer/SuperSlicer,Cura, Simplify3D, etc.), aparte de realizar la retracción, se evita que el HotEnd se mueva por encima de orificios o huecos. Con esto se evitan restos de material en las caras vistas de partes internas de las piezas.
Elevación del eje Z al retraerse (Lift z): A la vez que se produce la retracción, el HotEnd se mueve en el eje z a la distancia indicada. Esta elevación solo es necesaria en caso de realizar piezas con muchos detalles y con zonas pequeñas de mucho detalle para evitar que queden restos de material justo en esa zona. En caso de necesitar utilizar este parámetro recomendamos utilizar la misma distancia que la altura de capa.
Humedad en el filamento: algo crítico para este parámetro ya que es muy importante para el acabado final que nuestro filamento esté a 10% de humedad. Esto lo podemos conseguir con un correcto almacenado del filamento y el uso de una deshidratadora de alimentos por ejemplo.
Tipo de filamento: algunos filamentos más viscosos o técnicos, como por ejemplo PETG van a afectar más en las retracciones por lo que los valores de retracción pueden ser significativamente diferentes e incluso en ocasiones complicado encontrar el punto "dulce" de estas. Como ya se comentó es más que aconsejable realizar tests de retracciones por cada tipo de filamento... incluído diferentes marcas, tipos, colores incluso.
Tipo de y diámetro de nozzle: el tipo de material utilizado en nuestro nozzle así como su diámetro pueden afectar significativamente a los valores de retración por lo que es más que aconsejable de nuevo realizar tests si cambiamos el tipo o diámetro de nuestro nozzle.
Desgraciadamente no existe una fórmula para encontrar el valor exacto, si no que cada impresora 3D y cada extrusor necesita un valor particular.
La siguiente tabla contiene unos valores aconsejados de longitud y velocidad de retracción para la impresora 3D en función del tipo de extrusor que se utilice, los cuales son un buen punto de partida para ajustarlos a vuestro caso particular:
Como generar un test de retracciones:
Iremos al menú de Calibration donde seleccionaremos Extruder retraction calibration desde donde se nos abrirá una nueva pantalla con descripción del proceso y algunos ajustes para poder generar nuestra torre de temperatura
Elegiremos la distancia de retracción a añadir en cada test, normalmente 0.2 es un valor que nos dará buenos resultados para extrusión directa y 0.5 para bowden
Seleccionaremos la altura del test, no os aconsejamos modificarlo ya que unos valores altos pueden hacer que nuestro filamento se atasque en el sistema de extrusión
Seleccionaremos la temperatura del test
Dado que a las retracciones uno de los parámetros que más le afectan es la temperatura podemos elegir si queremos hacer varios tests bajando desde el umbral de temperatura que marcamos antes
Una vez configurado generaremos el/los tests:
Una vez finalizado el test revisaremos el resultado, teniendo en cuenta que cada marca equivale a un test/salto y al valor de retracción marcado a la hora de generar nuestro test podremos calcular el resultado óptimo. En el siguiente ejemplo se generó un test para bowden, 0.5 de distancia de retracción por salto, y a partir del 8 test/salto aparecen buenos resultados con lo que nuestro valor de retracción sería 4mm aunque siempre es aconsejable darle un margen de al menos un test/salto
Por último ajustaremos el valor en las opciones de retracción en el perfil de máquina/extrusor, aunque también podemos hacerlo en el de filamento en el caso que sea para un tipo de filamento que no sea el normal de impresión.
Por último y en el caso que no veamos mejoras significativas en nuestro tests:
Filamento, como ya te comentamos el estado del filamento es muy importante
y si, un filamento recien abierto puede venir y vienen con humedad
en el caso de filamentos viscosos como PETG
usar nozzles con recubrimiento que eviten que restos del filamento se adhiera a nuestra punta dejando gotas de filamento o evitando que este se deposite correctamente en nuestra pieza
ajustar especialmente bien pressure/linear advance
ajuste correcto de tu ventilación de capa ya que pueden afectar
Extrusor, uno de los componentes importantes de tu impresora y que en el caso de las retracciones por el tipo de movimiento puede ser importante revisar...
que tus engranajes estén bien y sin juegos por el desgaste
tengas una configuracion correcta de pasos
vref/corriente adecuada para tu motor, puedes perder grip y empuje en ciertos movimientos creando stringing o por otro lado y dependiendo del tipo de extrusor un exceso de calor puede afectar a la integridad del filamento afectando de nuevo al grip y empuje
Hotend, otro componente que influye significativamente en nuestra extrusión y por lo tanto en nuestras retracciones
limpia periódicamente este con un filamento de limpieza o mediante un tirón en frio, de esta forma quitamos trazas de otros filamentos o incluso de otros componentes que pudieran acabar en el nozzle como restos de PTFE, barrel, nozzle
manten bien el apriete entre las diferentes partes de tu hotend para evitar fugas y por lo tanto pérdidas de flujo especialmente críticas durante las retracciones
Calibración, asegúrate que los pasos anteriores al ajuste de retracciones estén ajustados para tu máquina/material en especial el ajuste de flujo y el pressure/linear advance
Perfil de laminador, algunas funciones de nuestro laminador nos van a permitir reducir artefactos en retracciones
el uso de Combing (Cura) o evitar cruzar perímetros (PrusaSlicer y derivados) puede reducir artefactos en las restracciones
el uso de Z-hop puede reducir artefactos
9. Tolerancia/Expansió Horizontal
El test de tolerancia horizontal permite ajustar el valor de compensación para minimizar la expansión del material y que las piezas que son encajables lo hagan correctamente sin necesidad de rehacer el diseño o modificar las dimensiones de las piezas y su tolerancia.
Hablando de impresión 3D FDM/FFF normalmente se suelen tener un orden de +-0.5% de tolerancias. Por ejemplo, y dependiendo del tipo/calidad del filamento, una impresión realizada en ABS puede llegar a encogerse hasta un 2%, o usando PLA alrededor de un 0.5%.
Os adjuntamos una tabla orientativa:
Puedes utilizar este test muy rápido para encontrar los valores adecuados de tu filamento.
Es importante que antes de realizar estos tests tengas flujo, temperatura, pasos ejes y extrusión perfectamente ajustados.
Para evitar falsear las medidas de nuestras piezas se aconseja usar solamente la expansión interna no la externa.
También contamos con estos tests integrados en algunos laminadores como:
OrcaSlicer cuenta con un test de tolerancia que nos va ayudar y simplificar este proceso. Básicamente es un rectángulo donde encontramos seis hexagonos, cada uno con diferentes tolerancias... 0.0mmm 0.0.5mm 0.1mm 0.2mm 0.3mm y 0.4mm:
En contraremos el test dentro del menú Calibration donde seleccionaremos Orca Tolerance Test, no tendremos que añadir ningún ajuste extra:
Aunque el test incluye un hexágono para testear los seis aperturas lo ideal es usar una llave Allen M6.
Dependiendo del slicer este ajuste se llaman de formas diferentes:
En este laminador podemos encontrar estas opciones como Print settings -> Slicing -> XY compensation donde normalmente ajustaremos interna (inner) o externa (outer).
En el caso de SuperSlicer, imagen a continuación, contamos como siempre con algunas opciones extras con respecto a PrusaSlicer.
También disponemos en laminadores como PrusaSlicer/SuperSlicer o OrcaSlicer opciones de "shrinkage" con el cual podemos aplicar un % general en nuestras piezas siendo este relacionado con la contracción del filamento que usemos.
Este parámetro aplica una contracción o expansión, en %, para los ejes X-Y aplicando un escalado. Este ajuste puede ser similar a la compensación XY del contorno además de requerir diferentes tests para ajustarlo adecuadamente.
10. Ajuste de voladizos/puentes
Este ajuste es doblemente importante, por una lado nos permite obtener unos mejores resultados en el aspecto de nuestras impresiones y por otro el ahorro de tiempo minimizando el uso de soportes.
Es aconsejable tener correctamente ajustados todos los pasos previos de esta guía ya que algunos de ellos afectan considerablemente al resultado del mismo.
Como comentabamos los voladizos permiten reducir el numero de soportes, para ello deberemos encontrar el valor del ángulo que nuestra impresora puede imprimir sin que se produzcan aberraciones o caídas en las capas. Para ello a parte del test específico es bueno recordar dos puntos importantes... ... reducir el ancho de línea mejora el resultado final por lo que nozzles de tamaño standard/pequeño 0.4-0.2 darán un mejor resultado que aquellos más grandes ... ventilación de capa es otro punto muy importante, no solo el flujo de aire que podamos lanzar sobre la creación de voladizos si no que la tobera que dirige dicho flujo lo haga orientada al punto exacto y desde al menos 2 o más direcciones ... optimizar las piezas en el diseño si el objetivo es la impresión FDM, esto es el uso de chaflanes 45 grados en lugar de angulos rectos ... en situaciones más extremas el cortal la pieza en varias partes puede darnos buen resultado
Para realizar el test os sugerimos el uso de esta torre de voladizos
El valor que encontremos deberemos configurarlo en nuestro fileteador/slicer. En PrusaSlicer podrás encontrarlo en Overhang thresold.
Relacionado con los voladizos es interesante ajustar los parámetros de nuestro fileteador/slicer para poder imprimir puentes sin que estos queden de forma incorrecta.
El siguiente test nos puede ayudar para
Este test realiza puentes de 10mm hasta 100mm, el objetivo seria imprimirlos a diferentes velocidades para ver cual es el que mejor se adapta a las caracteristicas de nuestra impresora. Entre estas caracteristicas estarian la de velocidad al realizar puentes... normalmente los valores ideales dependiendo de la impresoras estarían entre 30-80 mm/seg siendo 40mm/seg un buen punto de partida:
Otro valor a revisar es flujo de aire del ventilador en puentes, normalmente es aconsejable 100% pero en algún tipo de material como el PETG es aconsejable bajarlo un poco para evitar atascos.
11. Costuras
Las costuras (seam en inglés) se generan en nuestras piezas durante el cambio de capa y normalmente este proceso puede dejar más o menos marcas en nuestras piezas.
Normalmente son más visibles en piezas redondeadas o si no ajustamos correctamente las opciones de ubicación o pintado que comentaremos más adelante, normalmente los laminadores intentan ajustar la costura en las aristas de nuestras piezas.
Cuando nuestras costuras no están bien ajustadas y dejan marcas que afectan al acabado es por una incorrecta configuración de los ajustes de nuestro laminador al realizar estas transiciones entre capas. Normalmente se producen por un exceso de presión en el hotend al realizar estas transiciones.
Os vamos a intentar dar algunas sugerencias para mejorarlas.
Temperatura, la temperatura del nozzle es uno de los aspectos más importantes en la extrusión y por lo tanto va a afectar al acabado de nuestras costuras. Si vemos gotas de filamento en las costuras podemos intentar reducir la temperatura unos grados (podemos probar bajando 5 grados). En la sección de torre de temperatura tenéis más información.
Flujo, otro factor muy importante para las costuras ya que el ajuste fino de la extrusión es clave para que las transiciones de capa se produzcan sin generar artefactos en las costuras. Os aconsejamos revisar la sección de ajuste de flujo de la guía.
Retracciones, quizás el ajuste más importante para el acabado de la costura. Como ya explicamos anteriormente en la sección de retracciones, el correcto ajuste de estas va a tener un impacto directo en el acabado de la costura. Normalmente los laminadores al realizar la transición entre capas aplican una retracción precisamente para evitar que las costuras sean muy visibles y si estas, las retracciones, no están bien ajustadas van a afectar a estas.
Linear Advance/Pressure Advance, son MUY importantes a la hora de conseguir buenas costuras tenerlas correctamente ajustadas para nuestro filamento. Tenéis más información en la sección LA/PA de esta guía.
Velocidad, la velocidad puede impactar también en un buen acabado en las costuras... una velocidad muy alta puede hacer que nuestro extrusor no tenga tiempo para realizar el proceso de retracción y vuelta a la extrusión correctamente.
Purgado/Wiping/Coasting, el purgado, o wiping en inglés, permite evitar un exceso de presión en el hotend al realizar la transición de capa. También contamos en algunos laminadores con la función de coasting que tiene unos efectos similares.
Los laminadores también cuentan con algunas funciones específicas para intentar "ocultar" las costuras:
Vamos a hacer una mención especial a este laminador ya que a partir de su v2 Beta contamos con una nueva función que promete revolucionar el acabado de nuestras costuras y seguramente acabará implementándose en otros laminadores.
OrcaSlicer, desde su versión v2 Beta, ha implementado las costuras Scarf, básicamente esta función realiza un solapamiento gradual entre las capas a la hora de la costura tal como podemos ver en la siguiente imagen:
Donde usar preferentemente el tipo de costura Scarf?
mejoramos el acabado general de la costuras ya que no producimos un salto si no un ajuste paulatino entre ellas algo especialmente eficiente cuando la costura se realiza en zonas curvas.
en costuras en superficies planas también podemos ver mejoras aunque en ocasiones las costuras tradicionales pueden ser mejor opción.
Que tenemos que tener en cuenta?
Velocidad de perímetros externos, tanto velocidades altas como bajas pueden afectar al acabado así que lo ideal es realizar pruebas para tu máquina/filamento... normalmente velocidades entre 50-100 mm/s suelen dar buenos acabados.
Ancho de perimetros externos, las costuras Scarf se comportan mejor con anchos de linea mayores al diámetro de nuestro nozzle ya que el flujo de extrusión suele ser más consistente. En una boquilla de 0.4 mm se suele recomendar utilizar 0.6 mm de ancho en perímetros externos.
Altura de capa, la altura de capa puede influir al resultado de las costuras Scarf. Normalmente una altura de capa 0.2 mm es aconsejable, si variamos esta es posible que tengamos que ajustar algunas opciones de las costuras Scarf.
Orden de impresión perímetros, para Scarf se aconseja utilizar interno/externo/interno (inner/outer/inner).
Otras opciones que pueden afectar al acabado, se aconsejan deshabilitarlas si utilizamos Scarf:
Wipe on loops/Wipe on external loops, opciones de purgado/limpieza, no se llevan bien con Scarf
Retract on layer change/Wipe while retracting, estas otras dos opciones que suelen funcionar bien con costuras tradicionales pueden generar artefactos usando Scarf
Voladizos, estos no se llevan especialmente bien con Scarf por lo que se aconseja revisar nuestras costuras para alinearlas con zonas donde no caigan voladizos ya sean mediante las opciones de alineado de costuras o directamente pintando nosotros donde más nos interesen estas.
Modo perímetros, aunque suele funcionar bien con el modo clásico y Arachne las costuras Scarf suelen llevarse mejor con el modo clásico.
Opciones disponibles en el laminador para ajustar las costuras Scarf:
Conditional Scarf Joint, más que recomendable tenerlo habilitado, pernite aplicar Scarf en las superficies óptimas para este. Se puede ajustar los umbrales para aplicar costuras tradicionales o Scarf deberás experimentar con este umbral para encontrar el ajuste óptimo para tu máquina/filamento.
Modo Contour, permite controlar donde aplicar Scarf en los perímetros. Normalmente Contour+Hole da buenos resultados pero dependiendo de la pieza puede ser más aconsejable usar uno u otro modo.
Inner Scarf, otra opción que suele dar buenos resultados tenerla activada aunque tiene impacto en el tiempo de impresión.
Scarf arount entire wall around, realiza pasadas por el perimetro en espiral para "planchar" este... no hemos visto mucho beneficio en tenerlo habilitado más bien añadir más tiempo a la impresión.
Scarf lenght, la distancia a usar por Scarf... se aconseja dejarlo en el valor por defecto (2), si lo bajamos o subimos en exceso suele dar malos acabados en la costura Scarf.
Scarf steps, como el anterior no parece tener mucho impacto en el acabado o no lo hemos llegado a ver
Scarf flow ratio, tampoco hemos visto grandes mejoras aunque teóricamente un correcto ajuste puede mejorar en piezas con muchos voladizos donde coincidan nuestras costuras.
Velocidad perímetros internos, normalmente los perímetros internos se suelen hacer a velocidades más altas que los externos por acabado... con Scarf activado, o ya a nivel general si tenemos artefactos en nuestras superficies externas, es aconsejable al menos dejarlos a la misma velociad que los externos.
Otra opción disponible para ocultar las costuras es intentar evitar estas transiciones entre capas, para ello la mayoría de laminadores disponen del modo Vaso (Vase mode o Spiralize Outer Contour).
Básicamente este modo de impresión no realiza transiciones y continua la capa realizando un salto sin dejar de extruir dejando una transición entre capas sin costuras.
El modo vaso por desgracia solo es posible dependiendo del tipo de pieza ya que ha de permitir un salto entre capas sin dejar de extruir.
12. Test de Soportes
Normalmente imprimimos piezas complejas las cuales por simple física requieren imprimir al "aire" capas que es imposible que puedan sustentarse.
Para solventar este problema los slicers permiten la generación de soportes que ayudan a mantener estas capas impresas al aire en el sitio adecuado.
Estos soportes sin una correcta configuración pueden dar dos problemas, el primero que sean tan complicados de extraer que dañen la figura y el segundo que la pieza no quede uniforme en esas partes.
Que podemos hacer para mejorar estos soportes::
Imprimir a una temperatura correcta es clave para que el acabado general sea óptimo y en especial el de las partes que necesiten soporte. Así que es ideal que revisemos la temperatura optima de nuestro filamento.
Otro punto importante son las capas que hacen de interfaz entre las torres de los soportes y la pieza a imprimir, normalmente podemos especificar el numero de capas de la misma y tendremos que encontrar el balance perfecto para nuestra pieza donde normalmente a mas gruesa es más difícil que estas se adhieran a la pieza.
También importante es la distacia de estas capas de interfaz hasta la pieza donde nos encontramos que a menor distancia entre ellas obtenemos un mejor acabado pero más complicado el poder extraerlas incluso que acaben dañando a la pieza.
Como es coger los mejores valores? no podemos dar unos valores universales pero si un posible punto de partida el cual podremos acabar de identificar los valores correctos con tests específicos:
distancia de las capas interfaz de soportes 90% de altura de capa tanto superior como inferior
patrón rectilineo con 1.5-2.5mm de espaciado dependiendo de la pieza
separación XY entre 70-100% altura capa
número de capas de interfaz 3-5
Os aconesjamos el siguitente test que podéis utilizar como referencia ya que permite comprobar de una forma rápida nuestros valores tanto de soportes en cama como aquellos que descansan sobre la propia pieza.
13. Linear Advance/Pressure Advance
Es una característica muy interesante que mantiene constante la presión del filamento dentro del nozzle.
Al tener una presión constante, no le afectan los cambios de velocidad durante la impresión, por lo que las zonas conflictivas salen mejor. Se nota una gran mejoría en la pieza en general, pero sobre todo en las esquinas.
Otra cosa buena de esta característica, teniendo bien configurado el Linear Advance, te puedes olvidar del jerk/junction (una característica relacionada con la aceleración) y puedes imprimir a más velocidad sin teóricamente perder calidad.
Por último, otra de las ventajas es que las dimensiones de las piezas que imprimáis teóricamente serán más exactas.
Es importante recordar que esta funcionalidad, por lo menos hasta la versión 2.0.7.x donde asegurate de habilitar #define EXPERIMENTAL_SCURVE, no se lleva muy bien con S_CURVE que son unos algoritmos que mejoran arcos y circunferencias.
Activarlo es muy sencillo, sólo tenéis que ir al archivo configuration_adv.h de vuestro Marlin y descomentar esta línea:
Con la característica activa, vamos a ver como se configura el parámetro K, que es que el gestiona la presión dentro del nozzle.
Para ello, en la propia página de Marlin, hay una herramienta de Marlinpara generar un patrón de configuración/test.
Desde cualquiera de las herramientas anteriores podéis generar el Gcode correspondiente, lo bajáis y lo imprimís.
Al imprimirlo obtendréis algo parecido a esto:
A la derecha os aparece el valor de la K, y debéis elegir la línea que sea más constante a lo largo de toda la longitud de la misma. En mi caso elegí una K de 140, puesto que debe ser lo menor posible.
Como el valor K cambia dependiendo del material utilizado, lo mejor es cambiar la K mediante un Gcode cuando vas a imprimir. Para ello en el slicer que uses, se añade el Gcode que la configura en el script inicial de la impresión o en el script de filamentos (la mejor opción si tu slicer lo tiene, PrusaSlicer/SuperSlicer por ejemplo). M900 K140 Donde 140 es el valor elegido del test anterior.
Podeis ver mas información en el siguiente vídeo
También disponemos de un generador de test Linear Advance/Pressure Advance más versátil que podéis encontrar aquí.
Este generador es compatible con Marlin y Klipper además que el test nos parece más sencillo de interpretar dado que aporta no solamente información de trazadas rectas si no del comportamiento en esquinas.
OrcaSlicer, un fork de Bambu Studio, dispone de un menu para generar nuestros patrones de una forma sencilla.
Cuenta con dos tipos de tests, cada uno con sus ventajas y desventajas, y ambos con un test para extrusion directa y bowden.
Test de líneas
Es el test más rápido y probablemente más sencillo de interpretar, aunque por otra parte su eficacia dependerá de la calidad de nuestras primeras capas, asegúrate de tener bien ajustadas estas.
Seleccionaremos nuestra impresora y filamento
Seleccinaremos el test de lineas y directo/bowden, esto nos creará un proyecto nuevo con el test de lineas donde ajustará el valor PA en cada una de ellas
Una vez impreso el test revisaremos las lineas impresas y seleccionaremos aquella que quede más perfecta en su trazado
Ajustaremos nuestro valor de Pressure Advance
Test de patrones
Es una adaptación del generador creado por Andrew Ellis es muy similar al de líneas pero bajo nuestro punto de vista más completo ya que aparte de simular las líneas también nos muestra el acabado de las esquinas.
En que hemos de fijarnos en el test?
esquinas de la zona central del test, estas han de quedar lo más perfectamente líneas y el espacio entre líneas sin huecos
también podemos fijarnos en las zonas internas y anclajes de las líneas con un acabado deseado como el punto anterior
En el ejemplo anterior, para un sistema de extrusión directa, seleccionariamos 0.04 como nuestro valor para este filamento
Algunas cosas importantes a tener en cuenta al generar este test:
las velocidades que se usan durante el test son las de primeras capas para la primera capa del test y para el resto las de perimetros externos
el patron de relleno de la parte de texto no se puede ajustar
Test Torre
Este test puede tardar más y tener un gasto superior de filamento pero no depende, como el anterior, de la calidad de tus primeras capas.
De nuevo seleccionaremos nuestro perfil de impresión y filamento
Seleccinaremos el test de lineas y directo/bowden, esto nos creará un proyecto nuevo con el test de torre. En este test el valor de Pressure Advance va incrementando 0.002 cada 1mm en el test de extrusión directa y 0.02 en el caso de bowden.
Imprimiremos el proyecto y nos fijaremos en la calidad de las esquinas seleccionando la que quede más perfecta. En el siguiente ejemplo hemos seleccionado 8mm en un test de extrusió directa quedando el cálculo final de Pressure Advance de la siguiente forma: 0.002*8=0.016
Por último, indicar que dependiendo del tipo de sistema de extrusión deberíamos estar en unos rangos:
extrusión bowden, nuestro extrusor está alejado del hotend, normalmente LA/PA están entre 0 y 1 siendo lo normal de media un 0.4
extrusión directa, nuestro extrusor está junto a nuestro hotend, en estos casos los valores de LA/PA suelen estar entre 0 y 0.1 siendo lo normal de media un 0.04
14. Input Shaper y Aceleraciones (opcional)
Encontrar los valores de acelración óptimos nos van a permitir mejorar enormemente nuestras impresiones en especial aquellos artefactos en las esquinas además de mejorar el efecto onda/ghosting en los cambios de dirección.
Es importante recordar que los valores obtenidos no necesariamente tienen porqué ser siempre practicos para imprimir con ellos dependiendo de nuestras piezas.
Además es importante recordar:
si buscamos velocidad sistemas drivers/motor HV (High Voltage...12-24v) nos van a ofrecer generalmente mayor velocidad/aceleración
podemos mejorar ajustando correctamente nuestros valores de corriente/vref de nuestros drivers/motores al alza, probablemente sacrificando un poco la temperatura en los motores siempre y cuando se encuentren dentro de valores seguros para drivers/motor
los motores 1.8º rinden mejor normalmente a altas velocidades/aceleraciones que los de 0.9º
Con las últimas actualizaciones de los firmwares para impresoras 3D se ha implementado Input Shaper que es una técnica que permite reducir las vibraciones/ondas (ringing, echoin, ghosting, rippling son otros nombres de ese tipo de artefactos) provocadas normalmente por vibraciones mecánicas.
Desde la versión 2.1.2 de Marlin contamos con la implementación de Input Shaping, si bien se encuentra recién implementado puede mejorar significativamente nuetras impresiones.
Para poder activar Input Shaping en nuestro Marlin, recordad que es a partir de la versión 2.1.2, tan solo deberemos activar INPUT_SHAPING_X e Y en configuration_adv.h, también es interesante habilitar el menú LCD (SHAPING_MENU) para su ajuste desde la pantalla:
Input Shaper... electrónicas 8b y ajustes óptimos avanzados!!!
Si bien es verdad que no todas las electrónicas 8b son iguales hay dos factores muy importantes para habilitar IS (Input Shaper) en Marlin... la RAM disponible y la potencia del procesador.
IS en Marlin fué diseñado para funcionar en un atmega1284p/8KB (procesador/RAM) cuando lo normal en placas antiguas 8b era el uso de atmega2560/4KB... mejor procesador pero menos RAM lo que tiene implicaciones a la hora de este tipo de funciones y por lo tanto hemos de optimizar al máximo algunos aspectos de nuestra configuración.
Tal como podemos ver en la propia descripción de la sección IS en el código hay que tener en cuenta ciertas configuraciones, en especial si contamos con una electrónica de 8b o con RAM limitada:
DEFAULT_MAX_FEEDRATE idealmente ajustar los valores reales y lógicos que pueda llegar la máquina. Si nuestra mecánica/cinemática soporta 150mm/s en XY es más que aconsejable ajustar estos valores.
SHAPING_MAX_STEPRATE correctamente a las características de nuestra máquina si estamos justos de RAM
SHAPING_MIN_FREQ ajustado al valor mínimo correcto de frecuencias para nuestra máquina.
ADAPTIVE_STEP_SMOOTHING viene habilitado en algunos firmware y no tiene sentido ni se obtienen mejoras significativas dependiendo de la electrónica, máquina y funciones habilitadas ya que esta especialmente pensado para electrónicas rápidas por lo que su uso indevido puede afectar a la efectividad de IS.
LINEAR_ADVANCE es otra funcionalidad que junto con IS mejoran la calidad de nuestras impresiones.
Otros aspectos que pueden afectar en electrónicas limitadas en RAM y procesador es la configuración de nuestro laminador usando precisiones que no son realista para nuestra máquina generando un gcode pesado y complejo que junto con otras funcionalidades como las anteriormente comentadas pueden afectar al rendimiento de nuestra máquina. En ocasiones, el uso de ARC WELDER, puede mejorar este aspecto.
En cualquier caso y como consejo generalizado el disponer de una máquina bien ajustada mecánicamente y con buenos componentes va a requerir de menos correcciones por software como estas y que estas sean más efectivas.
El proceso de test es similar al que usamos para Klipper y podemos usar la torre de test junto con el nuevo comando M593 de Marlin.
Dividiremos, para un resultado más óptimo, el test en dos partes donde la primera será identificar aproximadamente el techo de aceleraciones/frecuencia que nuestra máquina puede llegar y a continuación realizaremos el test de Input Shaper. Aunque también puedes ir directamente a hacer este último pero puede que conociendo mejor tu máquina puedas obtener mejores resultados.
Os recordamos que por ahora Marlin no soporta el uso de acelerómetros por lo que el test es manual y requiere interpretar el resultado en una pieza de test lo cual puede ser bastante subjetivo.
Por otro lado os recordamos que actualmente esta funcionalidad (Marlin 2.1.2) está considerada como experimental.
En el caso que nuestra máquina sea una CoreXY es recomendable que cualquier test de calibración que tenga que ver con cinemáticas este a 45º girado en la cama.
De esta forma las trazadas se realizarán moviendo uno solo de los motores que suele ser el objetivo de este tipo de tests.
Antes de realizar este test es importante que nuestra máquina esté perfectamente ajustada en temperatura, flujo y pasos ya descritos en esta guía.
Deberemos asegurarnos que al laminarlo tenermos en cuenta los siguientes aspectos:
Altura de capa inicial y normal a 0.2mm
Usar uno o dos perímetros sin relleno o relleno mínimo
Ajustaremos una velocidad alta para nuestra impresora viable mecánicamente, normalmente entre 80-100mm/s
Asegurarnos que tenemos configuradas unas aceleraciones altas tanto para la impresion como para traslados (>=1000mm/s^2) para los ejes X e Y. Esto lo encontraremos en "Printer Settings" -> "Machine Limits".
Evitar que el laminador genere gcodes M204 después de cada tipo de trazada, Print Settings -> Speed Acceleration control (advanced) -> set "Default" to 0
Asegurarnos que no tenemos MVS activado
Revisar configuraciones específicas de velocidad y aceleración para los perímetros
Asegurarnos que en las opciones de ventilación/enfriamiento no reducimos velocidades por tiempo de impresión de capa
Si usamos jerck/junction usar el valor más alto posible para nuestra máquina
Si nuestro laminador usa Arachne desactivarlo, ya que tiende a redondear las esquinas
El nuevo gcode M593 dispone de los siguientes parámetros:
Una vez tengamos la torre de test y configuradas las opciones tal como aconsejamos arriba tendremos que configurar:
Script de capa anterior para aplicar cambios con el gcode M204 (aceleración)... para PrusaSlicer/SuperSlicer lo haremos dentro de "Printer Settings" -> "Custom G-code" -> "Before layer change G-code" y debajo de lo que ya tengamos.
Nos aseguraremos que ajustamos las aceleraciones máximas y deshabilitamos Linear Advance de tenerlo activado añadiendo, dependerá de vuestro gcode de inicio donde exactamente... revisar que no existan ya los gcodes y ponerlos después de ellos, lo siguiente a nuestro gcode de inicio
Es importante estar atento durante la impresión del test y pararlo en caso de que veamos un claro exceso de ghosting, tengamos extrusión inconsistente o veamos que las aceleraciones comienzan a ser exageradas para nuestra máquina provocando pérdida de pasos.
Cómo interpretar el test:
Usaremos las caras X (1) o Y (2) para encontrar los valores para cada uno de los ejes
Para ver el valor adecuado de aceleración nos centraremos en los tests 4 (X) y 6 (6) donde tendremos que observar que la figura de test esté correcta
Para calcular el valor óptimo de frecuencia usaremos la interacción seleccionada anteriormente y mediremos las ondas de ghosting en las zonas de test 3(X) y 5(Y). Para medir la distancia entre ondas seleccionaremos aquellas claramente visibles, obviando la primer/segunda, y marcaremos entre ellas para medirlas con un calibre. La fórmula será la siguiente: Velocidad * NumeroOndas / DistanciaOndas = Frecuencia. En el siguiente ejemplo tendremos 100mm/seg que es la Velocidad que elegimos al laminar nuestra figura de test, 6 como NumeroOndas y 12.14 como DistanciaOndas. 100 * 6 / 12.14 ≈ 49.4 Hz
Si observamos que el valor de frecuencia es muy bajo deberíamos de revisar nuestra mecánica/cinemática (correas, excentricas, tornillos del chasis, etc...)
Con el test anterior obtendremos la frecuencia y aceleración óptima que puede soportar nuestra máquina imprimiendo de forma "decente" sin pérdida de pasos cogiendo ese valor para generar una nueva torre de test pero en este caso cambiando el script de cambio de capa para ajustar los valores zeta de input shaper.
Este test de factor Z deberemos realizarlo una vez tengamos nuestro valor óptimo de frecuencia (M593 F) y aceleración el cual ajustaremos en nuestro laminador este último (M204) en nuestro gcode de inicio por ejemplo
Script de cambio de capa ajustando el factor Z de Input Shaper, en este caso y con el valor de frecuencia anterior hemos obtenido un rango entre 15Hz a 60Hz (nuestro valor anterior estaba entre este rango aproximadamente):
Laminaremos e imprimiremos la torre utilizando una altura de capa de 0.2mm (para un nozzle de 0.4) a la máxima velocidad que nuestra máquina permita imprimir de forma adecuada.
Una vez finalizado el test deberemos observar el rango que mejor veamos:
Una vez encontremos a que altura se comporta mejor teniendo como referencia las imagenes anteriores y para obtener los HZ a una altura determinada de Z usaremos la siguiente fórmula:
Donde z será la altura donde hemos obtenido mejor resultado restandole un par de capas, a modo de ejemplo en nuestro caso obtuvimos el mejor resultado en 20.4mm y utilizamos 20mm como valor para el cálculo:
Para facilitar el proceso podéis realizar estos cálculos de forma sencilla en esta calculadora:
Con la Frecuencia y Factor Z listos para añadir a nuestro laminador o configuración de firmware:
En el caso de querer añadirlo al firmware deberemos editar los valores obtenidos en nuestro firmware o ajustarlo desde el LCD en Advanced, recordar salvar EEPROM para no perder los datos
Ajustarlo en vuestro laminador en el gcode de inicio o de filamentos suele ser la mejor opción dado que estos valores pueden variar significativamente dependiendo del tipo de filamento que usemos
En el caso que queramos deshabilitar las correcciones Input Shaper sin compilar el firmware usaremos el gcode:
En el caso que usemos Cura hay un plugin experimental que nos facilitará la tarea
Os dejamos algunos vídeos interesantes:
15. VFA/MRR
En ocasiones podemos observar que en nuestras impresiones, todo teniendo todo lo comentado anteriormente ajustado, vemos unos patrones verticales en nuestras capas externas similares a esto:
Podemos encontrar este problema, en mayor o menos medida en prácticamente todas las impresoras 3D y este efecto se suele llamar VFA/MRR y básicamente están relacionadas con pequeñas vibraciones en nuestros motores o cinemática (correas,poleas,etc...) de nuestra impresora.
Este efecto VFA/MRR normalmente es más o menos visible dependiendo de nuestra velocidad de impresión y tal como comentamos esas vibraciones en los motores provocan resonancias:
Cómo podemos minimizar o solucionar estos artefactos?
Dado que una parte de la aparición de este problema puede estar relacionado con el ajuste de nuestra mecánica/cinemática el uso y ajuste de Input Shaper puede reducir significativamente este efecto.
Podemos encontrar las velocidades óptimas para nuestra máquina para reducir este efecto, normalmente podremos usar un cubo hueco ajustando su velocidad cada 5mm y dentro de los rangos que soporte nuestra impresora para ver el óptimo.
En OrcaSlicer, fork de Bambu Studio, encontramos dentro de sus opciones de calibración un test que nos va a permitir revisar como se comporta nuestra máquina ante el efecto VFA/MRR.
Generaremos el test VFA desde el menú Calibration>>>More...>>>VFA
Nos creará una figura en forma de estrella donde tendrá planos en diferentes ángulos para observar el impacto VFA/MRR en diferentes ejes y angulaciones. Como parámetros seleccionaremos los rangos de velocidad que queramos revisar así como el salto de velocidad en cada paso del test
Podemos ver en el preview como se van ajustando las velocidades del test
Ya solo quedará imprimirlo y ajustar nuestras velocidades de forma adecuada, es aconsejable antes de esto que sigáis revisando los consejos para disminuir este efecto.
Otro punto de gran mejora es el uso de motores de calidad, Profifi3D por ejemplo cuenta con una gama especialmente ajustada para evitar este problema. En este aspecto los motores de 0.9º suelen afectar más de VFA/MRR dado que tienen, normalmente, menor torque y requiren mayores velocidades de giro empeorando el efecto.
El correcto ajuste de nuestros driver a nivel de corriente, normalmente si ponemos esta demasiado baja para las necesidades de nuestro motor.
Nuestra cinemática, en concreto en los engranajes y correas que transfieren nuestros movimientos, aunque el patron es similar al provocado por el motor y vibraciones en este caso tiene unos patrones que coinciden con el paso de correas (normalmente 2mm) y suelen ser más visibles en trazadas a 45º. El uso de correas y engranajes de mejor calidad, junto con un correcto tensado y guiado