Klipper y el printer.cfg: entiende los límites de tu impresora
Para Principiantes
Toda impresora 3D tiene un "cerebro": el firmware. Es el programa que recibe el G-code que generó tu slicer y lo convierte en movimientos físicos de los motores. Los dos firmwares más comunes son Marlin (el clásico, corre dentro de la placa de la impresora) y Klipper (el más moderno, corre en un computador pequeño — normalmente una Raspberry Pi o una placa integrada — y usa la placa de la impresora solo como ejecutora).
Klipper guarda toda su configuración en un único archivo de texto llamado printer.cfg. Ahí está definido todo: qué motores tiene la impresora, cuánto mide la cama, qué tan caliente puede ponerse la boquilla… y lo que nos interesa en esta guía: los límites de velocidad y aceleración que la impresora jamás va a superar, sin importar lo que pida el slicer.
Esto explica algo que confunde a mucha gente: puedes poner 500 mm/s en el slicer, pero si tu printer.cfg dice que el máximo es 300, la impresora va a 300. El firmware siempre tiene la última palabra. El slicer pide; el firmware decide.
¿Puedo ver el printer.cfg de mi impresora? Depende:
- Klipper abierto (Voron, impresoras convertidas, Sovol con Klipper, etc.): sí. Entras a la interfaz web de tu impresora (Mainsail o Fluidd) desde el navegador, y en la pestaña de configuración está el archivo, editable.
- Klipper cerrado (Creality K1, K2, Hi y similares — usan Klipper por dentro pero con capa propia de Creality): el archivo existe, pero de fábrica no es accesible; se necesita "rootear" la impresora para verlo. Los límites están ahí igual, solo que Creality los eligió por ti.
- Bambu Lab: usa un firmware propio cerrado. No hay
printer.cfg, pero el concepto es el mismo: hay límites internos de máquina que el slicer no puede superar.
Aunque no puedas editar el archivo, entenderlo te sirve igual: te explica por qué tu impresión real es más lenta que lo que el slicer prometió.
Todo lo que Necesitas Saber
Los cuatro límites que definen tu velocidad real
Dentro del printer.cfg, la sección [printer] define los límites globales de movimiento:
[printer]
kinematics: corexy
max_velocity: 500
max_accel: 12000
square_corner_velocity: 8
minimum_cruise_ratio: 0.5| Parámetro | Qué limita | Efecto práctico |
|---|---|---|
max_velocity | Velocidad máxima absoluta (mm/s) | Ninguna orden del G-code puede superarla. Si el slicer pide más, se recorta a este valor. |
max_accel | Aceleración máxima (mm/s²) | Cuánto tarda la impresora en alcanzar la velocidad pedida. Es el que más velocidad real te quita: en segmentos cortos, la impresora nunca llega a la velocidad pedida porque no hay distancia para acelerar. |
square_corner_velocity | Velocidad al tomar una esquina de 90° (mm/s) | Define cuánto frena en las esquinas (Klipper lo usa para calcular la "junction deviation"). Valores bajos = esquinas limpias pero lentas; valores altos = más velocidad pero riesgo de ringing y marcas. |
minimum_cruise_ratio | Fracción del movimiento que debe ir a velocidad crucero | Suaviza los perfiles de aceleración. En versiones viejas de Klipper existía como max_accel_to_decel. |
La aceleración importa más que la velocidad. Es el error de lectura más común: la gente compara impresoras por max_velocity, pero en piezas reales — llenas de perímetros cortos, esquinas y detalles — la impresora pasa la mayor parte del tiempo acelerando y frenando. Una impresora con 300 mm/s y 12.000 mm/s² de aceleración imprime más rápido que una de 600 mm/s con 3.000 mm/s².
Quién manda: la cadena de límites
Cuando imprimes, hay tres niveles de decisión, y siempre gana el más restrictivo:
- El slicer escribe en el G-code la velocidad deseada de cada movimiento (
G1 F...— la F va en mm/min) y a veces cambia la aceleración por tipo de línea (M204en Marlin,SET_VELOCITY_LIMITen Klipper). Por eso los perfiles de Orca tienen "aceleración de perímetro externo", "de relleno", etc. - Los comandos del G-code pueden bajar los límites durante la impresión, pero nunca subirlos por encima del firmware.
- El
printer.cfg(o su equivalente en cada firmware) pone el techo absoluto.
En Marlin la misma idea vive en otros comandos: M203 define las velocidades máximas por eje y M201 las aceleraciones máximas, normalmente grabados en la EEPROM o incluidos en el G-code de inicio.
Cómo editar el printer.cfg con seguridad
Si tienes Klipper abierto y quieres ajustar límites:
- Haz una copia primero. En Mainsail/Fluidd: abre
printer.cfg, copia todo el contenido y guárdalo en un archivo en tu computador. Es tu red de seguridad. - Cambia una sola cosa a la vez y anota el valor anterior en un comentario (
# antes: 5000). - Guarda y reinicia el firmware (botón "Save & Restart"). Klipper valida el archivo al arrancar: si hay un error de sintaxis, te lo dice y no arranca hasta corregirlo — no daña nada, pero la impresora no imprime mientras tanto.
- No toques el bloque final autogenerado. Todo lo que está debajo de la línea
#*# <---------------------- SAVE_CONFIG ---------------------->lo escribe Klipper solo (malla de cama, PID, etc.). Editarlo a mano corrompe la configuración. - Prueba con una pieza de calibración, no con una impresión de 8 horas.
¿Hasta dónde subir? Depende de la mecánica de tu impresora (rigidez, peso del cabezal, correas). La forma correcta de encontrar el límite de aceleración sin adivinar es el input shaper de Klipper ([input_shaper]): mide las resonancias de tu máquina con un acelerómetro y te recomienda la aceleración máxima utilizable. Sin acelerómetro, sube de a poco y revisa que no aparezca ringing (ondas fantasma en las paredes) ni capas desplazadas.
El otro límite: cuánto puede fundir tu hotend
Los límites del printer.cfg son de movimiento. Pero hay un segundo techo que ningún firmware conoce: el flujo volumétrico máximo — cuántos mm³ de filamento por segundo puede fundir tu hotend con un material dado. De nada sirve mover el cabezal a 500 mm/s si el plástico no alcanza a derretirse a ese ritmo: el resultado es subextrusión.
Ese límite depende del combo hotend + filamento y varía muchísimo entre impresoras: un hotend estándar anda en el rango de 12–20 mm³/s con PLA, y uno de alto flujo puede duplicarlo o más. No confíes en valores genéricos: mídelo con el test de flujo volumétrico máximo de Orca Slicer — toma 20 minutos y es el dato que más impacto tiene en la velocidad real de tus impresiones.
En resumen
- El firmware siempre tiene la última palabra sobre la velocidad: el slicer pide, el
printer.cfgdecide. max_accelysquare_corner_velocityte quitan más velocidad real quemax_velocity— sobre todo en piezas con detalle.- Edita con respaldo, de a un cambio, y sin tocar el bloque de
SAVE_CONFIG. - El flujo máximo del hotend es un límite aparte que el firmware no controla: mídelo.
- Para ver todo esto aplicado a tu propio archivo, usa el Visor de G-code.