IDEA 1.61.
Klipper Input Shaping mejora la calidad de la impresión exorcizando los fantasmas causados por las vibraciones y las resonancias. Siga leyendo para saberlo todo.
klipper es un tipo relativamente nuevo de firmware para impresoras 3D. En lugar de procesar el código G en la placa base de la impresora, Klipper lo descarga en un ordenador independiente (normalmente una Raspberry Pi). Esto no sólo da a Klipper más capacidad para realizar cálculos, sino que también permite que el controlador de la impresora centre toda su atención en el manejo de su propio hardware.
Esto permite a Klipper, en teoría, imprimir más rápido y con mayor calidad que los enfoques tradicionales, ya que puede realizar los cálculos más rápidamente y manejar la impresora con más fuerza. Sin embargo, la velocidad conlleva sus propios problemas. Por ejemplo, algunas partes del cabezal de impresión pueden resonar como el sonido de una campana. Aunque no se oiga ni se vea, puede manifestarse en extraños patrones reflejados en la superficie de una impresión, que reducen la calidad de la misma. Entre los fabricantes, este efecto recibe diversos nombres, como fantasma, eco, ondulación y timbre.
En este artículo, vamos a echar un vistazo a una característica que Klipper ha desplegado para contrarrestar el ghosting. Se llama “Input Shaping”, y requiere un poco de esfuerzo para configurarla. Veamos cómo funciona.
Por qué vibran y resuenan las impresoras.

Antes de entrar en los detalles de la función Input Shaping de Klipper, hablemos primero de por qué vibran las impresoras 3D. De hecho, todo vibra cuando se somete a fuerzas externas repetidas. A ciertas frecuencias, los objetos pueden “resonar”, lo que significa que la amplitud de las vibraciones se vuelve particularmente intensa.
Un violín o una guitarra se aprovechan de ello para amplificar las notas musicales, una lavadora en el ciclo de centrifugado puede resonar lo suficiente como para moverse por el suelo, y una copa de vino “cantando” puede hacerlo con la suficiente intensidad como para romperse.
El cabezal de impresión de una impresora no está bloqueado y, cuando se somete a movimientos rápidos, también vibra y puede tener una frecuencia de resonancia pronunciada donde ese movimiento o vibración es más significativo. A veces, puede haber varias frecuencias pronunciadas.
Aunque este efecto puede no ser directamente visible, hace que la boquilla no esté exactamente donde se supone que está. En efecto, está ligeramente en el lugar equivocado en lo que respecta al código G, y esto se muestra a través de artefactos en las superficies de la impresión.

Este problema siempre ha supuesto un reto para los diseños de las impresoras 3D, y la falta de rigidez estructural o las oscilaciones de las correas de transmisión pueden empeorar la situación. Las impresoras grandes y las que tienen cabezales de impresión pesados son especialmente propensas a ello. Como se indica en nuestro artículo sobre el ghosting, hay medidas mecánicas que se pueden tomar para reducir los efectos, pero no siempre son totalmente eficaces.
Después de abordar los problemas mecánicos, en la medida de lo posible, el único otro paso que se puede tomar es reducir las velocidades de impresión – o al menos reducir las aceleraciones que impulsan el cabezal de impresión. Si la reducción de la velocidad no es una opción y si se han probado todas las soluciones mecánicas locales, aquí es donde el Input Shaping de Klipper tiene un papel particular que desempeñar.
¿Qué es esto?.

El Input Shaping, también conocido como Compensación de Resonancia, reduce o elimina el efecto fantasma mediante la cancelación de las resonancias, un poco como los auriculares con cancelación de ruido, que filtran los sonidos de fondo. La función requiere un poco de esfuerzo para configurarla, así que ¿Cuándo merece la pena aplicarla?
En última instancia, se trata de una decisión de criterio. Las imágenes fantasma están causadas por problemas físicos de la impresora y empeoran progresivamente a medida que aumenta la velocidad de impresión. Esto ocurre especialmente si el cabezal de impresión u otras partes móviles son pesadas.
Una cierta cantidad de imágenes fantasma puede ser aceptable, pero si la prioridad es lograr una gran calidad de impresión o se requieren las mayores velocidades de impresión posibles, pasar por el proceso de calibración es casi seguro que vale la pena. El Input Shaping puede reducir significativamente o eliminar por completo las imágenes fantasma, lo que se traduce en impresiones más rápidas y de mejor calidad y también en un menor desgaste de la impresora.
Cómo funciona.

El concepto de “Input Shaping” es bien conocido en la teoría de control de ingeniería, pero su implementación puede ser un reto matemático. Por ello, hay que felicitar a Dmitry Butyugin por haber descubierto cómo incluirlo en Klipper.
El punto de partida de Input Shaping es la comprensión de las frecuencias y la importancia de las vibraciones resonantes. (Con esta información, se pueden utilizar varios modelos matemáticos para compensar con precisión las vibraciones cambiando proactivamente el movimiento de los motores paso a paso de la impresora, frenando así los movimientos no deseados. Si quieres una explicación técnica, lo hace mediante la convolución de una secuencia de impulsos alimentados a los controladores de los pasos.
Fórmula de modelado de entrada.
Los distintos tipos de modelos de Input Shaping que realizan la compensación real tienen nombres esotéricos como “MZV” (magnitud de vibración cero) y “3Hump-EI” (donde “EI” significa extra-insensible). Afortunadamente, no es necesario entender lo que ocurre bajo el capó, ya que existen guías sencillas de seguir que ayudan a determinar cuál es el mejor ajuste para los resultados medidos.
El modelo adecuado dependerá del tipo de impresora (por ejemplo, Cartesiana, CoreXY, Delta, entre otras) y de una serie de otros factores. También es probable que la mejor solución para los ejes X e Y sea diferente.
Configuración en Klipper.
Los tipos apropiados de Input Shaper junto con las frecuencias resonantes asociadas se introducen en el archivo de configuración estándar de Klipper, que se lee cada vez que se inicia Klipper. Por ejemplo, la siguiente entrada en el archivo de configuración elegirá el tipo MZV a 49,18 Hz para el eje X y el tipo EI a 34,6 Hz para el eje Y:
shaper_freq_x: 49.18 shaper_type_x: mzv shaper_freq_y: 34.6 shaper_type_y: ei
Si te suena a chino, no te preocupes. Ya te explicaremos qué significa todo esto. En este punto, basta con saber que después de un reinicio de Klipper, estos cambios tendrán efecto inmediato y el Input Shaping estará habilitado. También es importante tener en cuenta que estos ajustes pueden necesitar ser revisados si se realizan cambios físicos significativos en la impresora, incluyendo el cambio de la tensión de la correa.
MÉTODOS DE CONFIGURACIÓN.
Está claro que necesitamos un método adecuado para identificar las frecuencias de resonancia en los ejes X e Y y seleccionar el tipo de configuración de entrada adecuado entre los diversos modelos disponibles. Hay dos maneras de hacerlo. La primera es una configuración manual, que consiste en imprimir una pieza de calibración y tomar medidas a partir de ella. Tiene la ventaja de que es bastante sencilla de implementar, pero la desventaja es que es menos precisa y tiene dificultades para manejar resonancias más complejas.
La otra forma de hacerlo, una configuración automática, tiene una ventaja en cuanto a la precisión, pero es más complicada de implementar. Además de una serie de scripts de prueba automatizados, la configuración automática se basa en un acelerómetro, que se conecta físicamente al cabezal de impresión y, si lo tiene, también a la cama móvil de la impresora.
Veamos estos dos enfoques con más detalle.
Configuración manual: Los Preliminares.

La forma más común, aunque menos precisa, de configurar la conformación de entrada es imprimir una pieza de prueba de calibración conocida como torre de afinación (el enlace descarga automáticamente el archivo STL). Consta de dos paredes perpendiculares: una para el eje X (que está anotada con una “X” en la parte trasera) y otra para el eje Y (que también está anotada en la parte trasera de la pared). Las paredes presentan formas festoneadas que se repiten para facilitar el proceso de calibración. Amplían cualquier efecto fantasma en las direcciones X e Y.
A la hora de imprimir la torre, no hay requisitos particulares de material. Sin embargo, lo mejor es imprimir con tu filamento habitual.
Ajustes de la rebanadora y el clipper
La torre de ajuste necesita ser rebanada de una manera particular: una altura de capa de 0,2 mm o 0,25 mm, una velocidad de impresión de 80 mm/s a 100 mm/s para los perímetros externos, un tiempo mínimo de capa de no más de 3 segundos, con cualquier característica de control de aceleración dinámica desactivada.
El propio Klipper también debe configurarse de forma específica, con funciones como el avance de la presión desactivado, la velocidad de las esquinas cuadradas ajustada a los valores predeterminados y, lo que es más importante, la aceleración máxima ajustada a 10.000.
Ejecución de la prueba.

Durante el proceso, imprimiremos más de una torre, utilizando diferentes ajustes. Inicialmente, se imprime utilizando un comando Klipper que incrementa la aceleración hacia arriba después de cada 5 mm verticales de la impresión de prueba:
TUNING_TOWER COMMAND=SET_VELOCITY_LIMIT PARAMETER=ACCEL START=1500 STEP_DELTA=500 STEP_HEIGHT=5
Esta aceleración comenzará en 1.500 mm/s2 y aumentará en adiciones de 500 hasta 7.500 mm/s2. Esto puede ser demasiado para tu impresora, así que prepárate para detener la prueba antes de tiempo si es necesario. Además, si el anillamiento ya es claramente visible (véase la imagen de abajo), tampoco tiene por qué realizar la prueba de impresión hasta el final.
Una vez impresa la torre, puede inspeccionarse visualmente y medirse para obtener los primeros datos que necesita. Echemos un vistazo a lo que implica esto y también a cómo establecer cualquier configuración resultante de Input Shaping.
Configuración manual: Cómo hacerlo.

Como se ha indicado anteriormente, la torre de afinación está diseñada para ayudar a resaltar las frecuencias de timbre en los ejes X e Y, y es normal que sean diferentes. También actúa como línea de base para una comparación posterior y ayuda a determinar si el suavizado natural aplicado por Input Shaping es demasiado grande.
Utilizará la torre de sintonía para configurar el Ajuste de Entrada manualmente, y el proceso incluye la identificación de las frecuencias fantasma, la selección del tipo de Ajuste de Entrada, la reimpresión de la torre de sintonía y la confirmación de los valores de aceleración. A continuación se explica cómo hacerlo.
Identificar las frecuencias de los fantasmas.
PASO 1.
Nuestra primera torre de sintonía permite calcular la frecuencia de timbre o fantasma predominante. Comience por medir cuidadosamente (en mm) la distancia entre un número determinado de oscilaciones repetidas. Elija tantas ondulaciones como pueda medir con precisión con una regla o un calibre.
Por ejemplo, la flecha amarilla de la imagen anterior abarca seis oscilaciones; normalmente, se ignoran las primeras o las dos primeras. Tenga en cuenta que el patrón y el proceso son exactamente los mismos para los ejes X e Y, pero asegúrese de que está leyendo la pared correcta de la torre de afinación.
PASO 2.
La frecuencia se determina por la velocidad de impresión multiplicada por el número de oscilaciones dividido por la distancia medida. En el caso de nuestra imagen anterior, hemos identificado seis oscilaciones. Supongamos una velocidad de impresión de 100 mm/s y una distancia de 12,2 mm. Esto equivale a una frecuencia de 49,18 Hz.
PASO 3.
Una vez identificada, la frecuencia puede introducirse en la sección correspondiente del archivo de configuración de Klipper. En nuestro ejemplo, hemos calculado la frecuencia para el eje X, por lo que la entrada sería la siguiente
shaper_freq_x: 49.18
El proceso se repite para la pared del eje Y de la torre de afinación. Tenga en cuenta que si no hay fantasmas visibles en uno de los ejes, está bien simplemente omitirlo en el archivo de configuración de Klipper.

Selección del tipo de modelado de entrada.
A continuación, seleccionaremos lo que probablemente sea el mejor tipo de conformación de entrada y lo introduciremos en el archivo de configuración. La guía general en la documentación de Klipper es que EI es el mejor tipo para las impresoras cuya cama se mueve por el eje Y (referidas como impresoras “bed slinger” en la documentación de Klipper) y también para muchas configuraciones Delta. MVZ suele ser el mejor para otros tipos de impresoras.
Es posible que desee consultar los foros en línea para ver lo que otros han seleccionado, pero como cada impresora es diferente, un elemento de prueba y error puede ser necesario. Para nuestro ejemplo, vamos a utilizar MVZ. Haremos la siguiente entrada:
shaper_freq_x: 49.18 shaper_type: mzv
Además, a pesar de estar en mayúsculas en la documentación, los tipos de Shaper de entrada deben ser introducidos en minúsculas en el archivo de configuración.
Reimpresión de la torre de afinación.
Ya casi ha llegado a la meta. Reinicie Klipper y ejecute el mismo comando de ejecución de la prueba que antes:
TUNING_TOWER COMMAND=SET_VELOCITY_LIMIT PARAMETER=ACCEL START=1500 STEP_DELTA=500 STEP_HEIGHT=5
Deberías ver una notable mejora en el ghosting (más adelante veremos qué hacer si no es así). Para comparar, puede repetir este proceso con un tipo alternativo de Input Shaper.
Confirmación de los valores de aceleración.
A continuación, determinaremos los valores de aceleración examinando la segunda impresión de prueba. Fíjese bien en la parte de la torre de ajuste con un pequeño hueco festoneado de 0,15 mm. La conformación de entrada introduce una cierta cantidad de suavizado, y esta brecha es una medida de cuánto se está produciendo. Cuanto mayor sea la aceleración, mayor será el suavizado y mayor será el hueco.
El punto en el que el hueco se ensancha notablemente más allá de 0,15 mm determina la aceleración máxima recomendada. Recuerde que, por defecto, la aceleración de la torre de ajuste comienza en 1.500 mm/s2 y aumenta en 500 mm/s2 después de cada 5 mm.

Por ejemplo, si la brecha se ensancha por encima de 20 mm (en cuyo punto la aceleración es de 3.500 mm/s2), la aceleración máxima recomendada sería el valor inferior de 3.000 mm/s2. La aceleración máxima se define en el archivo de configuración de Klipper como “max_accel”. Por lo tanto, se introduciría lo siguiente en el archivo de configuración
max_accel: 3000
Tenga en cuenta que hay varios factores en juego aquí que pueden requerir un ajuste fino o implicar un compromiso entre la calidad de impresión y la velocidad absoluta y la aceleración. Veremos esto con más detalle en las secciones de configuración automática más adelante. Pero por ahora, si todo ha ido según lo previsto, ¡ya está todo listo!.
Consejos.
Hay casos en los que puede resultar difícil interpretar la torre de afinación. Por ejemplo, las distancias entre las imágenes fantasma pueden no ser regulares, lo que podría implicar que hay múltiples frecuencias de resonancia o que algo más está mal. La documentación de Klipper tiene una sección sobre mediciones poco fiables, que puede ayudar en estos casos. Sin embargo, es posible que tenga que recurrir a la forma más avanzada de establecer resonancias utilizando hardware adicional, como se explica en las siguientes secciones.
Además, es posible que no vea ningún hueco en su torre cuando busque establecer la aceleración máxima. Esto puede ocurrir con las implementaciones Bowden, en las que incluso puede obtener manchas en el patrón festoneado. En este caso, puede volver a ejecutar el proceso anterior pero con el Avance de Presión activado.
Configuración automática: Los Preliminares.

Un método más preciso para configurar el Input Shaping es acoplar un acelerómetro al cabezal de la impresora. Un acelerómetro proporciona un análisis directo y detallado de las vibraciones para permitir una selección de modelos más rápida y mejor ajustada, así como una mayor comprensión del control de la aceleración. Klipper también tiene un script de auto-calibración que analizará los resultados del acelerómetro y propondrá la mejor solución(es).
Acelerómetros compatibles.
Klipper es compatible con el acelerómetro ADLX345, relativamente barato y disponible -el 343 también funcionará, pero tiene unas especificaciones inferiores- y también con el MPU-9250 (o MPU-6050). Estos necesitan estar firmemente unidos al cabezal de impresión, y hay disponibles STLs para varios adaptadores de montaje.
Ten en cuenta que las impresoras que mueven su cama en la dirección del eje Y también necesitan montar un acelerómetro en la propia cama. Por desgracia, la mayoría de las impresoras de bajo coste para aficionados, como las Ender 3, entran en esta categoría. Se puede intercambiar un solo acelerómetro entre el cabezal de impresión y la cama para las pruebas de los ejes X e Y respectivamente, o se pueden utilizar dos acelerómetros separados.
Configuración de los acelerómetros.

Los acelerómetros se conectan a través de una interfaz SPI, por lo que pueden conectarse directamente a una Raspberry Pi. También pueden conectarse a través del controlador de la impresora, siempre que sea lo suficientemente rápido, lo que puede ser una ventaja en las configuraciones de varias impresoras. Si opta por la vía de la Raspberry Pi, también necesitará algunos cambios de configuración no predeterminados, que se describen claramente en la documentación de Klipper sobre la medición de la resonancia. También tendrá que especificar qué acelerómetro se está utilizando en el archivo de configuración de Klipper. De nuevo, deberá consultar la guía de instalación del software correspondiente.
Tenga en cuenta que la conexión SPI descarta este enfoque para las implementaciones de Klipper que se ejecutan en dispositivos sin dicha interfaz. Además, la documentación detallada de Klipper hace referencia al uso de OctoPrint varias veces, pero cualquier interfaz de usuario de Klipper funcionará.
Probar el acelerómetro.
Después de la instalación, vale la pena probar el acelerómetro y asegurarse de que está bien. De nuevo, Klipper ha automatizado parcialmente esto. Así, puedes simplemente ejecutar el siguiente script:
ACCELEROMETER_QUERY
Hay una variante de esto para las impresoras que necesitan más de un acelerómetro para que se puedan ejecutar pruebas X e Y por separado. El script requiere que definas qué acelerómetro consultar. Echa un vistazo a la sección “Comprobación de la configuración” en la documentación de Klipper para más detalles.
Una prueba adicional, MEASURE_AXES_NOISE, comprobará el exceso de ruido que puede ser causado por problemas de alimentación o por ventiladores de mala calidad que interfieren directamente con el acelerómetro. Intenta apagar los ventiladores si esto ocurre.
Configuración automática: Cómo hacerlo.

Después de configurar el acelerómetro, estamos listos para hacer la configuración automática. Comenzaremos tomando los datos del acelerómetro(s), analizándolos con un script, y luego añadiendo la configuración recomendada al archivo de configuración estándar de Klipper. ¡Empecemos!.
Ejecutar el script de calibración.
Si el acelerómetro funciona correctamente, estás listo para ejecutar un script de calibración y mapear las frecuencias en las que tu impresora vibra más. Harás esto por turnos para cada eje, ejecutando primero el script para un eje y luego para el otro:
TEST_RESONANCES EJE=X
TEST_RESONANCES EJE=Y
Ten en cuenta que este script está diseñado para agitar la impresora e inducir vibraciones. Merece la pena estar preparado para ejecutar un comando de parada de emergencia de la M112 si se producen vibraciones extremas u otros problemas de hardware. Si las vibraciones son demasiado grandes al principio de la prueba, hay una opción de configuración disponible para solucionar esto: Busque “accel_per_hz” en la documentación de Klipper sobre la medición de las resonancias.
Después de completar estos scripts, Klipper almacenará los resultados en dos archivos CSV: “/tmp/resonancias_x_*.csv” y “/tmp/resonancias_y_*.csv”.
Análisis de los datos.
El siguiente paso es analizar los datos de estos archivos e implementar la configuración más adecuada de Input Shaping. Aquí entra en juego un poco más de magia Klipper. Ejecuta el siguiente script calibrate_shaper.py en tu Raspberry Pi como sigue para cada eje:
Estos scripts procesan los resultados del acelerómetro en los archivos CSV, ejecutan simulaciones para determinar cómo podría comportarse cada tipo de Input Shaping, y también crean una imagen gráfica de los resultados (como se muestra arriba).
LOS RESULTADOS.
Para cada modelo posible, el script también informará de sus resultados y los resumirá en la parte superior derecha de la imagen gráfica. Verás, por ejemplo, algo como lo siguiente
Modelador ajustado ‘2hump_ei’ frecuencia = 45.2 Hz (vibraciones = 0.1%, suavizado ~= 0.264) Para evitar demasiado suavizado con ‘2hump_ei’, se sugiere max_accel <= 2200 mm/sec^2.
El script también hará una recomendación de lo que probablemente sea el mejor ajuste. En este ejemplo, el resumen ofrece lo siguiente
La forma recomendada es 2hump_ei @ 45,2 Hz.
También vale la pena mencionar que este ejemplo pone de relieve una ventaja clave del uso de un acelerómetro. Hay dos picos de frecuencia de resonancia, alrededor de 55 Hz y 120 Hz, que son extremadamente difíciles de determinar utilizando métodos manuales.
Configuración del archivo de configuración.

A partir de este punto, el proceso es similar al de la configuración manual.
PASO 1.
En el archivo de configuración de Klipper, establezca las frecuencias X e Y adecuadas, así como los tipos de modelos seleccionados. Los valores se tomarán directamente de la salida del script.
En el ejemplo anterior (asumiendo que los resultados son para el eje X), el archivo de configuración sería el siguiente:
PASO 2.
Reinicie Klipper, y el Input Shaping estará habilitado.
Ajuste de los resultados.
En la mayoría de los casos, esto resultará en una notable mejora de la impresión. Puede imprimir la torre de ajuste utilizada para la calibración manual para confirmar la mejora. Sin embargo, al igual que con la configuración manual, todavía hay margen para el juicio y el ajuste fino.
En particular, habrá notado que el script anterior también marca un parámetro de suavizado: (vibraciones = 0,1%, suavizado ~= 0,264). Este es un indicador de la cantidad de suavizado que el tipo de modelador está aplicando y que también puede ser modificado en el archivo de configuración de Klipper de la siguiente manera:
max_smoothing: 0.25 # un ejemplo
Un suavizado más bajo puede permitir que se establezcan aceleraciones más altas, pero entran en juego algunos factores, como el Avance de Presión, el ajuste de Suavizado Máximo y la Velocidad de Esquina Cuadrada. Vale la pena revisar la sección “Max smoothing” de la documentación de Klipper si está interesado en explorar más.
Reflexiones finales.

La función Input Shaping de Klipper está bien implementada y respaldada por muchos ejemplos de casos y críticas elogiosas. Si se desea obtener la mejor calidad de impresión a altas velocidades de impresión – especialmente con impresoras de gran tamaño – tiene un claro papel que desempeñar y vale la pena el esfuerzo de configuración. La elección entre la configuración manual y la automática es la cuestión a la que se enfrentan la mayoría de los posibles usuarios.
La configuración manual tiene la ventaja de no necesitar hardware adicional -especialmente en el caso de las impresoras con lecho móvil- y es razonablemente sencilla de implementar. Tiene la desventaja de ser menos precisa, y también le cuesta manejar situaciones atípicas, por ejemplo, casos con más de una frecuencia de resonancia.
La configuración automática tiene una gran ventaja en cuanto a precisión. La instalación de hardware adicional puede parecer desalentadora, pero hay muchos ejemplos específicos de impresoras en los foros en línea para ayudar. El acelerómetro también puede utilizarse para otras pruebas relacionadas con el ajuste de la aceleración o la tensión de la correa en las máquinas CoreXY, lo que puede resultar útil para algunos.
Ambos enfoques dejan margen para ajustar la aceleración, el suavizado y otros parámetros relacionados, pero en general, esto no es necesario. La opinión generalizada de los que han probado ambos métodos es que, si te sientes cómodo con el trabajo extra y el gasto adicional (no demasiado significativo), merece la pena aplicar el método automático, pero ambos te aportarán claras ventajas.
¡Feliz conformación!.
Artículo original disponible en: 3ALLDP.