Links

Pressure Advance

Pressure Advance es otra función interesante de Klipper que también cuenta con funciones similares en otros firmwares.
Pressure Advance nos permite un control total sobre la extrusión, evitando artefactos como hilos o restos de filamentos en movimientos sin extrusión o mejorando el acabado en los cambios de dirección en nuestras piezas.
Estas mejoras las realiza aplicando un extra de presión en la extrusión durante las aceleraciones, mientras que hace lo contrario en las desaceleraciones.
Imagen que podemos generar con el script graph_extruder.py
  • Un valor bajo deja faltas de material en medio de las lineas y más en las esquinas
  • Un valor alto deja más material en medio de las lineas y menos en las esquinas.
Ejemplos de test de Pressure Advance donde podemos ver desde un valor bajo (izquierda) a un valor demasiado alto (derecha)
Otro ejemplo de test PA donde podemos ver en la parte inferior el efecto de un PA bajo y uno alto en la parte superior.
Cambios que pueden modificar nuestros valores de PA:
  • El valor de Pressure Advance puede cambiar dependiendo del tipo de filamento - PLA, PETG, ABS, etc - incluso en ocasiones podemos encontrar necesario realizar un ajuste especifico dependiendo de la marca, color o tipo de filamento. Incluyendo si modificamos la temperatur significativamente en un mismo material ya testeado.
  • El Pressure Advance se ha de reajustar si realizamos cualquier cambio físico en nuestro cabezal de impresión (nozzle, barrel, PTFE, extrusora,etc...)
  • En el caso que habilitemos o deshabilitemos Input Shaper (IS)
Podemos realizar el ajuste usando el test de torre o el de líneas.

Cómo funciona el test de PA?

Este test es más preciso y rápido que el anterior, pero requiere de más configuraciones y pasos, por lo que es aconsejable para usuarios avanzados.
Estos tests imprimen un patrón de líneas donde, utilizando un valor de PA diferente en cada una de ellas, nos permite identificar la calidad de extrusión al hacer estas trazadas.
El PA nos va a permitir a tener un mejor control de nuestra extrusión y este test ejecuta trazadas empleando 3 zonas de velocidad/aceleración... una zona inicial con una velocidad/aceleración baja, seguida de otra zona con una velocidad/aceleración rápida y por último una zona de velocidad/aceleración lenta.
Como partes importantes de estas trazadas a prestar atención:
Fase
Descripción
1
Inicio de impresión a velocidad/acelración Lenta
2
Arranque de la zona Rápida. El nivel de presión/flujo en la boquilla (= cantidad de material extruido) puede quedar retrasada con respecto a la aceleración del cabezal de impresión. Esto da como resultado muy poco material al inicio hasta que la presión se hace estable. Esta es una de las fases en la que nos debemos de fijar para ver si el valor de PA de esta línea es la correcta para nuestra máquina/filamento.
3
Con la presión/flujo estabilizada con el movimiento del cabezal deberíamos obtener una zona con una trazada correcta.
4
Al contrario que pasaba en la zona 2, en esta zona volvemos a un ajuste de velocidad lenta. La presión/flujo del nozzle es mayor con respecto a la desaceleración del cabezal de impresión. El resultado normalmente es un exceso de material en esta zona.
Esta es una de las fases en la que nos debemos de fijar para ver si el valor de PA de esta línea es la correcta para nuestra máquina/filamento.
5
Se inicia la fase de transición a velocidad lenta, probablemente pueda continuar la presión en el nozzle dejando una trazada sobre extruida.
6
Por último tenemos la fase de velocidad lenta estable donde nuestra presión/flujo ya debería estar equilibrado y mostrar una trazada correcta.

Tests de PA

Os facilitamos diferentes formas de poder efectuar el test.

OrcaSlicer, tests de calibración PA incluídos

Nuestro laminador preferido OrcaSlicer dispone de un estupendo menú de calibración donde podemos generar en unos pocos clics un test de PA.
OrcaSlicer, un fork de Bambu Studio, dispone de un menú 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 extrusión directa (DDE) y bowden.
Test de líneas
Test de torre

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
  • Seleccionaremos el test de líneas y directo(DDE)/bowden, esto nos creará un proyecto nuevo con el test de líneas donde ajustará el valor PA en cada una de ellas.
  • Una vez impreso el test, revisaremos las líneas impresas y seleccionaremos aquella que quede más perfecta en su trazado

Test de 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
  • Seleccionaremos el test de torre y directo(DDE)/bowden, esto nos generará 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ón directa quedando el cálculo final de Pressure Advance de la siguiente forma: 0.002*8=0.016

Usando un generador online

  • Iremos a la página de creación de patrones Pressure Advance que podemos encontrar aquí
  • Te aconsejamos leer todos los tooltips que incluye la página ya que son muy importantes!!!
  • En el caso de usar el control de aceleraciones desde el laminador asegúrate que marcas la opción de control de aceleración en perímetro externos ya que si no utilizará los valores de tu configuración y pueden ocasionar problemas.
  • Generaremos y descargaremos el gcode con el test
  • Modificaremos el gcode de inicio de nuestro perfil temporalmente para ejecutar este test utilizando el sugerido de la página anterior y ajustando las temperaturas y el proceso de homing/nivelación al empleado en nuestra máquina.
  • Imprimiremos y revisaremos el resultado eligiendo siempre el valor más bajo si tenemos dudas, en el siguiente ejemplo veremos cómo del valor 0.05 y 0.06 son muy similares pero elegiremos 0.05
  • Imagen de la guía de calibración del compañero Ellis.

Macro propia

Mediante esta macro podremos realizar un test PA de forma muy cómoda:
  • Primero alcanza las temperaturas objetivas de la cama y el extrusor
  • Realiza el proceso de homing
  • Lanza un sondeo de cama si existe un dispositivo para ello
  • Comienza el test de PA imprimiendo 20 líneas usando diferentes valores de PA según los parametros indicados en PA_START, PA_STEP y NZL
  • Al finalizar el test y dependiendo del resultado de las líneas, recuerda que hay que elegir el valor de la línea que tenga una trazada más homogénea, haremos el cálculo de la siguiente forma:
    Pressure Advance = PA_START + (PA_STEP * n)
    ej. .01 + (.01 * 11) = .12
  • Parámetros de la macro:
    • BED_TEMP = temperatura objetivo de la cama.
    • EXTRUDER_TEMP = temperatura objetivo del extrusor.
    • PA_START = presión de avance inicial.
    • PA_STEP = incremento por línea de la presión de avance.
    • NZL = diámetro de la boquilla, por defecto la que se tenga configurada en klipper (0.4).
Ejemplo de macro con parámetros:
PRESSURE_ADVANCE_TEST BED_TEMP=65 EXTRUDER_TEMP=205 PA_START=0.01 PA_STEP=0.01 NZL=0.4
Código de la macro a incluir en nuestro cfg:

Macro de Klipper

Uno de los procesos para medir nuestro valor de Pressure Advance mediante una torre de test diseñada para resaltar estos defectos y seguir el procedimiento descrito en el siguiente link.
El test de Pressure Advance usando la torre es un metodo sencillo para iniciados en Klipper pero por contra es ligeramente menos preciso.
El proceso es bastante sencillo:
  • Descargaremos el modelo desde aquí y lo laminaremos con nuestro laminador con nuestra configuración por defecto realizando únicamente las siguientes modificaciones:
    • Perímetros externos 120mm/s o la velocidad de impresión máxima de nuestra máquina
    • 1 solo Perímetro
    • 0% de relleno
    • 0 capas superiores
    • 0s en minimo tiempo por capa (en filamento/ventilación para PrusaSlicer/SuperSlicer)
    • Ventilación max.
  • Iniciaremos la impresión y en cuanto comience desde el terminal de Klipper
    • Extrusión Directa - TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.0025
    • Extrusión Bowden - TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.025
  • Durante la impresión podremos ver en el terminal como cambian ciertos valores
  • Determinados gcodes de inicio pueden cancelar el test
  • Puedes añadir el comando de TUNING_TOWER temporalmente en tu gcode de inicio
  • TUNING_TOWER va ajustando valores en base a la altura de capa
  • Pararemos la impresión aún sin estar terminada si vemos que se producen fallos de impresión o huecos/falta de extrusión
  • Mediremos con un calibre la zona más perfecta de Pressure Advance
    • nos aseguraremos de no medir en la esquina donde se haga la costura
    • si vemos diferencias de resultado entre esquina haremos una media de ellas
  • Para calcular nuestro valor de Pressure Advance multiplicaremos la medida obtenida por el FACTOR usado en el test añadiendo el valor de START (normalmente 0)

Ajustando el valor de PA en nuestra configuración

Actualizaremos [extruder] en nuestro printer.cfg con el valor pressure_advance obtenido. También podremos ajustarlo utilizando la macro de sistema:
SET_PRESSURE_ADVANCE ADVANCE=0.12
Otra forma alternativa y sugerida cuando usemos filamentos diferentes a los que usemos normalmente es añadir SET_PRESSURE_ADVANCE ADVANCE=<value> en el apartado gcode de filamento de PrusaSlicer/SuperSlicer, sustituyendo <value> por el valor obtenido en el test.
Continuando con tener mejoras y dotar de cierta inteligencia a nuestros perfiles en PrusaSlicer/Superslicer pocemos hacer que nuestro perfil de filamento aplique un PA u otro dependiendo del diámetro de nuestro nozzle.
Añadiremos el siguiente gcode script a nuestro perfile de filamentos:
{if nozzle_diameter[0]==0.4}SET_PRESSURE_ADVANCE ADVANCE=0
{elsif nozzle_diameter[0]==0.6}SET_PRESSURE_ADVANCE ADVANCE=0
{elsif nozzle_diameter[0]==0.8}SET_PRESSURE_ADVANCE ADVANCE=0
{endif}
Donde colocaremos el valor de PA obtenido en cada caso sustituyendo al 0 del ejemplo.
Podremos realizar de forma similar en Bambu Studio/OrcaSlicer donde además tenemos una opción específica para habilitarlo y aplicar nuestro valor, tambien podremos aplicarlo como gcode script como explicamos anteriormente si queremos hacerlo más versátil:

Resolución de problemas

En el caso que no podamos encontrar un ajuste adecuado para nuestra máquina que nos permita imprimir unas esquinas bien definicas:
  • En el caso de extrusores bowden, asegúrate que el tubo PTFE esté en correcto estado... este bien anclado en sus anclajes neumáticos y que este no ofrezca grandes resistencias al paso del filamento.
  • Los engranajes y cinemática de tu sistema de extrusión estan correctamente, cualquier juego o fallo de alineación que entorpezcan el correcto flujo y agarre del filamento van a afectar