Aziz Bench

Calculadora de pasos por mm

Pasos por mm y rotation_distance de Klipper para correas, husillos trapezoidales y de bolas, la calibración de los e-steps del extrusor y la frecuencia de pasos que tiene que generar tu placa. Con las líneas de configuración listas para Marlin y Klipper.

Pasos por mm
80pasos/mm
2 mm × 20 dientes = 40 mm por vuelta · 200 pasos completos × 1/16
rotation_distance
40 mm
Un micropaso
12,5 µm
Frecuencia de pasos a 200 mm/s
16 kHz
Una vuelta del motor
40 mm por vuelta20 dientes80 pasos/mm
Qué estás configurando
Motor y driver

200 para un motor de 1,8°, 400 para uno de 0,9°: el ángulo viene en la etiqueta o en la hoja de datos.

Los que tiene configurados el driver, con jumpers o en el firmware. Casi todas las placas trabajan a 1/16.

Deja 1 y 1 si la polea o el husillo van en el eje del motor. Una polea de 16 dientes en el motor que mueve una de 80 es 80 y 16.

Correa y polea
mm

La polea del motor, o la del último engranaje. A menudo el número viene impreso en un lateral.

Eje y velocidad
Eje
mm/s

El movimiento más rápido que prevés en este eje. Determina la frecuencia de pasos que debe generar la placa.

La frecuencia de pasos que Marlin supone para cada driver cuando MAXIMUM_STEPPER_RATE no está definido.

Resultados

Recorrido por vuelta40 mm: paso 2 mm × 20 dientes
Micropasos por vuelta3200 = 200 pasos completos × 16
Pasos por mm80 = 3200 ÷ 40 mm
Resolución12,5 µm por micropaso, 200 µm por paso completo
Frecuencia de pasos16.000 pasos/s (16 kHz) a 200 mm/s
Límite del driver5 MHz para los drivers TMC2xxx: usado al 0,32 %, velocidad máxima 62.500 mm/s en lo que respecta al driver

Ajustes del firmware

Marlin
M92 X80
M500

M500 guarda el valor en la EEPROM. En Configuration.h va en DEFAULT_AXIS_STEPS_PER_UNIT.

Klipper · printer.cfg
[stepper_x]
microsteps: 16
rotation_distance: 40

Edita la sección en printer.cfg y envía RESTART.

Conviene saber

Los micropasos aumentan la resolución, no la precisión. Cada uno mantiene solo sin(90° ÷ micropasos) del par de paso completo (9,8 % a 1/16), y los motores suelen especificarse con ±5 % de un paso completo, aquí 10 µm.

No corrijas X, Y ni Z midiendo piezas impresas: la documentación de Klipper lo desaconseja. Con correas y husillos el valor calculado es exacto, así que una pieza con la medida equivocada tiene otra causa.

El procesador puede quedarse corto antes que el driver. Por eso Marlin envía los pasos en ráfagas a frecuencias altas, y Klipper publica pruebas de rendimiento de la frecuencia de pasos para cada procesador.

Texto sin formato, para tus notas o un foro.

Cómo se calculan los pasos por mm

Un motor paso a paso gira un ángulo fijo en cada paso: 1,8° en la mayoría de los motores, es decir, 200 pasos completos por vuelta, o 0,9° y 400 pasos. El driver divide cada paso completo en micropasos, normalmente 16. Los pasos por mm son los micropasos de una vuelta divididos entre lo que avanza el eje en esa vuelta.

pasos/mm = pasos completos por vuelta × micropasos × relación ÷ recorrido por vuelta
correa:  recorrido por vuelta = paso de la correa × dientes de la polea
husillo: recorrido por vuelta = paso de rosca × entradas (el avance)

Ejemplo: una correa GT2 (paso de 2 mm) en una polea de 20 dientes avanza 40 mm por vuelta. Con un motor de 1,8° a 1/16 son 200 × 16 ÷ 40 = 80 pasos/mm, y cada micropaso mueve el eje 12,5 µm.

Configuraciones habituales

TransmisiónRecorrido por vuelta1,8° · 1/160,9° · 1/16Paso completo (1,8°)
Correa GT2, 16 dientes32 mm1002000,16 mm
Correa GT2, 20 dientes40 mm801600,2 mm
Correa GT2, 36 dientes72 mm44,44488,8890,36 mm
T8 (Tr8x8)8 mm4008000,04 mm
Tr8x22 mm160032000,01 mm
Varilla roscada M81,25 mm256051200,0063 mm
Husillo de bolas SFU16055 mm64012800,025 mm
Husillo de bolas SFU161010 mm3206400,05 mm

A 1/16 de micropaso, sin reducción. A 1/32 los pasos por mm se duplican, a 1/8 se reducen a la mitad.

Paso, avance y entradas de un husillo

El paso es la distancia entre dos hilos; el avance es lo que se desplaza la tuerca en una vuelta. En un husillo de una entrada, como una varilla roscada o un Tr8x2, coinciden. Un husillo T8 (Tr8x8) tiene paso de 2 mm y cuatro entradas, así que avanza 8 mm: mira la punta y verás cuatro hilos separados. Los husillos de bolas se nombran por diámetro y avance: un SFU1605 tiene 16 mm de diámetro y 5 mm de avance.

La rotation_distance de Klipper

Klipper no usa pasos por mm. Pide rotation_distance, la distancia que recorre el eje en una vuelta completa del motor (o del último engranaje, si está definido gear_ratio), junto con microsteps y full_steps_per_rotation. Para una correa es paso × dientes; para un husillo, su avance. Para convertir un valor antiguo: rotation_distance = pasos completos × micropasos ÷ pasos/mm.

La documentación de Klipper indica que casi todas las impresoras tienen una rotation_distance entera en X, Y y Z, por ejemplo 32, 40 u 8. Un valor con decimales suele indicar un paso o un número de dientes equivocado, salvo que las piezas sean MXL o en pulgadas.

Calibrar el extrusor

  1. Calienta el hotend a temperatura de impresión para que el filamento se funda sin esfuerzo.
  2. Marca el filamento 120 mm por encima del punto donde entra en el extrusor.
  3. Extruye despacio. Marlin: M83 y después G1 E100 F100. Klipper: G91 y después G1 E50 F60, e introduce 50 mm como longitud pedida.
  4. Vuelve a medir desde la entrada hasta la marca: 120 menos esa distancia es la longitud extruida de verdad.
  5. Introduce los valores arriba y guarda el nuevo: M92 E… y M500 en Marlin, rotation_distance en Klipper.
  6. Repite la prueba si el resultado se desvió más de unos 2 mm.

Micropasos: resolución no es precisión

Más micropasos hacen el movimiento más suave y silencioso, no más preciso. Cada micropaso mantiene solo una parte del par, sin(90° ÷ micropasos): un 20 % aproximadamente a 1/8 y un 5 % a 1/32, como explica Monolithic Power Systems, así que basta un poco de rozamiento para que el eje se quede entre dos micropasos. Los motores NEMA 17 habituales se especifican con ±5 % de un paso completo. Drivers como el TMC2209 interpolan internamente a 256 micropasos, así que 1/16 en la entrada de pasos basta para un movimiento suave.

Altura de capa en el eje Z

Con un husillo T8 y un motor de 1,8°, un paso completo mueve Z 0,04 mm. Las alturas que equivalen a un número entero de pasos completos (0,12, 0,16, 0,2, 0,24 mm…) dejan la boquilla donde el motor sujeta mejor. La calculadora de Prusa explica que si los motores se apagan en un micropaso, el eje puede saltar al paso completo más cercano.

Frecuencia de pasos y velocidad máxima

Cada milímetro por segundo cuesta pasos por segundo: 200 mm/s a 80 pasos/mm son 16.000 pasos por segundo. Si no se define otra cosa, Marlin supone 5 MHz para los drivers TMC2xxx, 500 kHz para el A4988, 250 kHz para el DRV8825, 150 kHz para el TB6600 y 15 kHz para el TB6560. A menudo el límite real es el procesador con el firmware, no el driver: Marlin envía los pasos en ráfagas a frecuencias altas, y Klipper publica pruebas de rendimiento de la frecuencia de pasos para cada procesador. Bajar los micropasos es la forma más sencilla de reducirla.

Calculadora de Vref para drivers paso a paso →

Fuentes: documentación de Klipper (Rotation distance), documentación de Marlin (M92, ajustes de movimiento) y código del planificador, calculadora RepRap de Prusa, Monolithic Power Systems sobre los micropasos, página de producto del TMC2209, página de Bondtech del BMG, hoja de datos de husillos de bolas de Sorotec y hoja de datos de un motor 17HS4401.

Preguntas frecuentes

¿Cuántos pasos por mm tiene una correa GT2 con polea de 20 dientes?

80 con un motor de 1,8° a 1/16 de micropaso, 160 con un motor de 0,9°. En Klipper es rotation_distance: 40 con microsteps: 16. Una polea de 16 dientes da 100 pasos/mm, rotation_distance 32.

¿Cuántos pasos por mm tiene un husillo T8?

Un T8 (Tr8x8) avanza 8 mm por vuelta, así que un motor de 1,8° a 1/16 da 400 pasos/mm y la rotation_distance es 8. Un Tr8x2 de una entrada da 1600 pasos/mm, rotation_distance 2.

¿Cómo se calibran los e-steps?

Marca el filamento 120 mm por encima del extrusor, extruye 100 mm despacio con el hotend a temperatura y mide lo que queda hasta la marca. Nuevo valor = actual × 100 ÷ milímetros extruidos de verdad: por ejemplo, 93 × 100 ÷ 95 = 97,89. Guárdalo con M92 E97.89 y M500.

¿Debo corregir los pasos por mm de X e Y tras medir un cubo impreso?

No. Con correas y husillos el valor calculado es exacto, y la documentación de Klipper desaconseja corregir X, Y o Z midiendo impresiones. Si una pieza sale con la medida equivocada, revisa la extrusión, la tensión de las correas y los ajustes del laminador.

¿Más micropasos hacen la impresora más precisa?

Hacen el movimiento más suave, no más preciso. Un micropaso mantiene solo sin(90° ÷ micropasos) del par de paso completo, un 5 % aproximadamente a 1/32, y los motores suelen especificarse con ±5 % de un paso completo. Además, multiplican la frecuencia de pasos que tiene que generar la placa.

¿Cómo convierto los pasos/mm a la rotation_distance de Klipper?

rotation_distance = pasos completos por vuelta × micropasos ÷ pasos/mm. Con un motor de 1,8° (200 pasos) a 1/16: 3200 ÷ 80 = 40. Para un extrusor a 415 pasos/mm sin gear_ratio: 3200 ÷ 415 = 7,711. Si configuras gear_ratio, el valor cambia: para un Bondtech BMG con gear_ratio: 50:17 es 22,679, como en la documentación de Klipper.

¿Qué alturas de capa van bien con un husillo T8?

Con un motor de 1,8° un paso completo mueve Z 0,04 mm, así que 0,04, 0,08, 0,12, 0,16, 0,20, 0,24, 0,28 y 0,32 mm son números enteros de pasos completos. Con un motor de 0,9° el paso completo es de 0,02 mm.