# Pressure Advance

**Pressure Advance** (PA) compensa el retraso entre el movimiento del cabezal y la respuesta real de la extrusión. Cuando el nozzle acelera, la presión en el interior del hotend tarda un instante en igualarse — sin PA el resultado son esquinas con falta de material al entrar y exceso al salir. Con PA bien calibrado las esquinas quedan limpias y las líneas tienen un ancho homogéneo.

<figure><img src="/files/s8yf7cjUsfX9fbea4AOu" alt=""><figcaption><p>Gráfica generada con <a href="https://github.com/Klipper3d/klipper/blob/master/scripts/graph_extruder.py">graph_extruder.py</a> mostrando el efecto de PA en la extrusión</p></figcaption></figure>

{% tabs %}
{% tab title="PA demasiado bajo" %}
Falta material al entrar en la esquina (zona de aceleración) y exceso al salir (zona de desaceleración). Las líneas rápidas muestran un ancho irregular.
{% endtab %}

{% tab title="PA correcto" %}
Esquinas limpias y bien definidas. Ancho de línea homogéneo tanto en zonas lentas como rápidas.
{% endtab %}

{% tab title="PA demasiado alto" %}
Exceso de material al entrar en la esquina y falta al salir. Las esquinas quedan redondeadas hacia dentro. La extrusión puede ser entrecortada.
{% endtab %}
{% endtabs %}

![](/files/sCH8LdwTS7CzWGhkmpOB)

{% hint style="info" %}
**Cuándo recalibrar PA:**

* Al cambiar el tipo de filamento (PLA, PETG, ABS, ASA, flexible...)
* Al cambiar de marca o incluso de color dentro del mismo material
* Si modificas la temperatura de impresión de forma significativa
* Tras cualquier cambio físico en el cabezal (nozzle, barrel, PTFE, extrusora)
* Al activar o desactivar [Input Shaper](/klipper/empezamos/input-shaper.md)
  {% endhint %}

{% hint style="danger" %}
Antes de calibrar PA asegúrate de tener el [extrusor correctamente calibrado](/klipper/empezamos/calibracion-extrusor-e-steps.md). Un e-steps incorrecto invalida el resultado del test.
{% endhint %}

## Valores de referencia por tipo de extrusor

Estos son rangos orientativos. Tu valor exacto depende de tu setup concreto.

| Tipo de extrusor                             | Rango típico PA |
| -------------------------------------------- | --------------- |
| Extrusión directa (Orbiter, BMG, Sherpa...)  | 0.02 – 0.08     |
| Extrusión directa con barrel largo o volcano | 0.05 – 0.15     |
| Bowden corto (< 200 mm)                      | 0.1 – 0.4       |
| Bowden largo (> 400 mm)                      | 0.4 – 1.0       |

Si con un PA de 1.0 no ves mejora en la calidad, probablemente el problema está en otra parte (temperatura, flujo, retracción).

***

## Cómo funciona el test

El test de PA imprime líneas a tres velocidades distintas en secuencia — lenta / rápida / lenta — y analiza las transiciones:

<figure><img src="/files/SILc6QbqtuXg2GOHmB5p" alt=""><figcaption></figcaption></figure>

| Zona                        | Qué observar                                               |
| --------------------------- | ---------------------------------------------------------- |
| **1 — Arranque lento**      | Referencia: extrusión estable sin presión                  |
| **2 — Transición a rápido** | Con PA bajo: falta material al inicio. Con PA alto: exceso |
| **3 — Zona rápida estable** | Debe ser uniforme                                          |
| **4 — Transición a lento**  | Con PA bajo: exceso al frenar. Con PA alto: falta          |
| **5 — Zona lenta final**    | Debe volver a ser uniforme como la zona 1                  |

La línea con la transición más limpia entre zonas — sin huecos ni bultos — indica el valor correcto.

***

## Métodos de calibración

### OrcaSlicer — calibración integrada (recomendado)

[OrcaSlicer](https://github.com/SoftFever/OrcaSlicer) incluye generadores de test de PA directamente en el menú de calibración, sin necesidad de instalar nada extra.

{% tabs %}
{% tab title="Test de líneas" %}
El más rápido y visual. Depende de que tus primeras capas sean buenas — asegúrate de tener bien ajustado el Z-offset antes.

1. En OrcaSlicer: **Calibration → Pressure Advance → Line Method**
2. Selecciona tu impresora y filamento
3. Elige **Direct Drive** o **Bowden** según tu setup
4. Imprime y busca la línea con el trazado más homogéneo en las tres zonas

<figure><img src="/files/AIjdrukPgUchofFGWWOv" alt=""><figcaption></figcaption></figure>

![](/files/Oy6047f0PSjJUFy6H1nF)

5. Lee el valor PA de esa línea y [aplícalo a tu configuración](#ajustando-el-valor-de-pa)
   {% endtab %}

{% tab title="Test de torre" %}
Más lento pero no depende de la calidad de la primera capa. Más fiable en máquinas con primera capa irregular.

1. En OrcaSlicer: **Calibration → Pressure Advance → Tower Method**
2. Selecciona tu impresora y filamento
3. Elige **Direct Drive** o **Bowden**
4. El PA incrementa 0.002 por cada 1 mm de altura (extrusión directa) o 0.02 (bowden)
5. Imprime y localiza la altura con las mejores esquinas

![](/files/Bj3rXT6XP7Sfds8uBlAJ)

6. Calcula el valor: `PA = altura_mm × factor` (ej: 8 mm × 0.002 = 0.016)
7. [Aplica el valor a tu configuración](#ajustando-el-valor-de-pa)
   {% endtab %}
   {% endtabs %}

### Generador online (Andrew Ellis)

Una alternativa sólida si no usas OrcaSlicer.

1. Accede al [generador de patrones PA de Ellis](https://andrewellis93.github.io/pressure_advance/pressure_advance.html)

{% hint style="warning" %}
Lee los tooltips de la página — son importantes. Si controlas la aceleración desde el laminador, asegúrate de marcar la opción de control de aceleración en perímetros externos.
{% endhint %}

2. Genera y descarga el G-code del test
3. Imprime y elige el valor más bajo entre los que parecen buenos — ante la duda, siempre el menor

<figure><img src="/files/mMT2grTMxySK2DDldMiT" alt=""><figcaption><p>Ejemplo del test de Ellis: en este caso se elegiría 0.05 en lugar de 0.06 por ser el menor con buen resultado</p></figcaption></figure>

4. [Aplica el valor a tu configuración](#ajustando-el-valor-de-pa)

### Macro de test — PRESSURE\_ADVANCE\_TEST

Una macro para lanzar el test directamente desde Klipper sin salir a un laminador externo:

* Calienta cama y hotend a las temperaturas que indiques
* Hace home y sondeo de cama automáticamente
* Imprime 20 líneas incrementando el PA según los parámetros

```gcode
PRESSURE_ADVANCE_TEST BED_TEMP=65 EXTRUDER_TEMP=205 PA_START=0.01 PA_STEP=0.01 NZL=0.4
```

| Parámetro       | Descripción                           |
| --------------- | ------------------------------------- |
| `BED_TEMP`      | Temperatura objetivo de la cama       |
| `EXTRUDER_TEMP` | Temperatura del hotend                |
| `PA_START`      | Valor PA inicial (línea 1)            |
| `PA_STEP`       | Incremento por línea                  |
| `NZL`           | Diámetro del nozzle (por defecto 0.4) |

Para calcular el valor final: `PA = PA_START + (PA_STEP × número_línea)` — ej: `0.01 + (0.01 × 11) = 0.12`

Código de la macro:

{% embed url="<https://gist.github.com/LauOtero/6e11df5a5c6ef28f793720e628ec49db>" %}

### TUNING\_TOWER — método oficial Klipper

El método más básico. Usa el modelo `square_tower.stl` de Klipper y el comando `TUNING_TOWER` para variar el PA por altura durante la impresión.

1. Descarga [square\_tower.stl](https://www.klipper3d.org/prints/square_tower.stl)
2. Lamina con: 120 mm/s, 1 perímetro, 0% relleno, 0 capas superiores, ventilación máxima
3. Inicia la impresión y en cuanto empiece lanza en la consola:

{% tabs %}
{% tab title="Extrusión directa" %}

```gcode
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005
```

{% endtab %}

{% tab title="Bowden" %}

```gcode
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.020
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}

* Puedes parar la impresión en cuanto veas que las esquinas empiezan a degradarse
* Algunos gcodes de inicio pueden resetear el TUNING\_TOWER — en ese caso añade el comando directamente al gcode de inicio temporalmente
* `TUNING_TOWER` ajusta valores por altura de capa, no por tiempo
  {% endhint %}

4. Mide con calibre la altura de la zona con mejores esquinas (evita el punto de costura)
5. Calcula: `PA = START + (FACTOR × altura_mm)` — ej: con FACTOR=.005 y altura 12.9 mm → `0 + (.005 × 12.9) = 0.0645`

![](/files/C4vwFn6K8HAiLylDrtay)

***

## Ajustando el valor de PA <a href="#ajustando-el-valor-de-pa" id="ajustando-el-valor-de-pa"></a>

### En printer.cfg (permanente)

```ini
[extruder]
pressure_advance: 0.05        # Sustituye con tu valor
pressure_advance_smooth_time: 0.040   # Ver nota abajo
```

### En tiempo real (sin reiniciar)

```gcode
SET_PRESSURE_ADVANCE ADVANCE=0.05
```

El valor se aplica de inmediato pero se pierde al reiniciar. Úsalo para probar antes de guardarlo en el cfg.

### Por filamento en el laminador

La forma más práctica cuando usas varios materiales con PA diferente es configurarlo en el perfil de filamento del laminador:

{% tabs %}
{% tab title="OrcaSlicer / Bambu Studio" %}
En el perfil de filamento: **Filament → Flow ratio and Pressure Advance** → activa PA e introduce tu valor.

![](/files/lDzD78dMHxFoaZf7a1tK)

O mediante G-code de inicio de filamento si quieres más control:

```gcode
SET_PRESSURE_ADVANCE ADVANCE=0.05
```

{% endtab %}

{% tab title="PrusaSlicer / SuperSlicer" %}
En el G-code de inicio del perfil de filamento. También puedes aplicar PA diferente por diámetro de nozzle con condicionales:

```gcode
{if nozzle_diameter[0]==0.4}SET_PRESSURE_ADVANCE ADVANCE=0.05
{elsif nozzle_diameter[0]==0.6}SET_PRESSURE_ADVANCE ADVANCE=0.08
{elsif nozzle_diameter[0]==0.8}SET_PRESSURE_ADVANCE ADVANCE=0.12
{endif}
```

{% endtab %}
{% endtabs %}

***

## pressure\_advance\_smooth\_time

`pressure_advance_smooth_time` es un parámetro secundario que suaviza los cambios de PA en el tiempo para evitar vibraciones en la extrusora. El valor por defecto es `0.040` segundos y en la mayoría de setups no necesita tocarse.

```ini
[extruder]
pressure_advance: 0.05
pressure_advance_smooth_time: 0.040  # Default — no tocar si no hay problemas
```

**Cuándo ajustarlo:**

* Si notas ruido o vibración en la extrusora durante las esquinas → prueba reducir a `0.020`
* En bowden largo con PA alto → valores de `0.040–0.060` suelen dar mejores resultados
* En extrusoras directas muy sensibles → mantén en `0.020–0.040`

{% hint style="warning" %}
Un `smooth_time` alto con Input Shaper activo puede crear desincronías entre el movimiento del cabezal y la extrusión. Si usas IS, mantén `smooth_time` en el valor por defecto o más bajo.
{% endhint %}

***

## Resolución de problemas

| Síntoma                                       | Causa probable                                                      | Solución                                             |
| --------------------------------------------- | ------------------------------------------------------------------- | ---------------------------------------------------- |
| No encuentro un valor que mejore las esquinas | Extrusor mal calibrado, temperatura incorrecta, o desgaste mecánico | Verifica e-steps, temperatura y estado de engranajes |
| Líneas inconsistentes en todo el test         | Flujo inestable, temperatura demasiado baja                         | Sube temperatura 5-10°C y repite                     |
| PA bowden > 1.0 sin mejora                    | Tubo PTFE suelto o dañado, anclajes neumáticos desgastados          | Inspecciona y reemplaza el PTFE y los PC4            |
| Con IS activado las esquinas empeoran         | Interacción PA + Input Shaper                                       | Recalibra PA con IS activado, reduce `smooth_time`   |
| Extrusora hace ruido en esquinas              | `smooth_time` demasiado bajo                                        | Aumenta a `0.040` o `0.060`                          |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://klipper.3dwork.io/klipper/empezamos/pressure-advance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
