Voron Extruder Calibration — Rotational Distance, Flow Rate, and E-Steps
校准 Extruder Klipper
Extruder calibration is the single most impactful numerical calibration on any Voron printer. An error of just 5% in your extrusion rate creates visible artifacts: gaps between perimeters, dimensional inaccuracy on press-fit parts, or a rough top surface that requires post-processing. On Voron printers that run at speeds above 200mm/s, extrusion accuracy matters even more — errors compound at higher flow rates. 最后更新:2025年5月。
This guide covers everything you need to calibrate your Voron's extruder in Klipper: the difference between rotational distance and Marlin-style e-steps, calculating rotational distance for specific Voron extruders (CW1, CW2, Galileo 2, Orbiter v2), the 100mm 挤出测试, flow rate tuning using the single-perimeter wall method, distinguishing between rotational distance and flow adjustments, and troubleshooting under- and over-extrusion. We include specific numbers for the most popular Voron extruders so you have a reliable starting point.
旋转距离与 Marlin E-Steps 对比
If you're coming from Marlin, you're used to setting E_STEPS_PER_MM — a single number
that tells the firmware how many stepper motor steps equal one millimeter of filament. Klipper uses
a different concept: rotational distance, which is the distance the filament moves
per full rotation of the stepper motor. The relationship is:
Marlin e-steps: steps_per_mm = (motor_steps × microsteps) / (rotation_distance)
Klipper rotation_distance: rotation_distance = (motor_steps × microsteps) / steps_per_mm
The advantage of Klipper's approach: rotational distance is a physical property of your extruder hardware (drive gear diameter, gear ratio), not a tuned value. If you know your extruder's gear ratio and drive gear circumference, you can calculate the theoretical rotational distance and never touch it again. In Marlin, e-steps are almost always tuned empirically because the formula separates steps, microsteps, and gear geometry — making it harder to reason about.
基于基本原理的旋转距离公式:
rotation_distance = <full_steps_per_rotation> × <microsteps> / <steps_per_mm>
Where full_steps_per_rotation is typically 200 (common NEMA17 steppers),
microsteps is your driver microstep setting (usually 16 for TMC2209/2240), and
steps_per_mm is what you'd enter in Marlin. Alternatively, from hardware:
rotation_distance = <drive_gear_circumference> × <gear_ratio>
drive_gear_circumference = π × <effective_drive_gear_diameter>
The effective drive gear diameter accounts for the fact that the filament is pressed into the gear teeth — it's not the outer diameter of the gear, but slightly less. This is why the empirical 100mm test always gives a more accurate result than the theoretical calculation.
常见 Voron 挤出机的旋转距离
以下是最流行的 Voron 挤出机的推荐起始旋转距离值。这些值假设使用标准 200 步电机和 Klipper 中的 16× 微步设置:
- Clockwork 1 (CW1): 7.50 — uses standard BMG gear set with 3:1 gear ratio and approximately 8mm effective drive gear diameter. This is the original Voron extruder. The value 7.50 is a common empirical average; expect to tune ±0.2.
- Clockwork 2 (CW2): 22.678 — the CW2 uses a different gear arrangement with a 50:10 gear ratio and a larger hobbed gear. The theoretical value is π × 8.0 × (50/10) = 12.566 × 5 = 22.678. This is one of the most consistent values across CW2 builds. 使用22.678作为起始点。
- Galileo 2 (G2): 33.5 — the Galileo 2 uses a unique planetary gear system with a total ratio of approximately 6.75:1. The effective drive gear diameter is about 7.95mm. This gives theoretical: π × 7.95 × 6.75 = 24.987 × 6.75 = 33.5. Note that the Galileo 2 standard gear set vs the "high gear" option have different ratios — for the standard G2, use 33.5. For the high-gear version, use approximately 42.0.
- Orbiter v2: 7.45 — the Orbiter v2 uses an integrated 3.5:1 planetary gearbox with an 11mm effective drive gear diameter. Theoretical: π × 11 / 3.5 = 34.557 / 3.5 = 9.87. Wait — that doesn't match the common value. The lower empirical value (7.45 vs 9.87 theoretical) is because the Orbiter v2's drive gear has a smaller effective diameter due to the gear teeth geometry and filament compression. Always calibrate empirically for the Orbiter. Start at 7.45.
Galileo 1与Galileo 2的注意事项: The original Galileo has a different planetary ratio than the Galileo 2. If you have a first-generation Galileo, use a starting value of approximately 32.0. The Galileo 2 changed the gear reduction and drive gear profile, accounting for the 1.5mm difference.
分步 100mm 挤出测试
这是经验测量挤出机旋转距离的权威方法。它考虑了所有实际因素:齿轮啮合深度、耗材直径变化、齿轮磨损和温度效应。
前提条件
- 将热端加热到标准打印温度(ABS/ASA 为 245°C)
- 耗材像打印时一样穿过挤出机装载。
- 分辨率为0.01mm的卡尺(首选数字卡尺)。
- 一支记号笔(细头Sharpie)和一把固定在挤出机入口附近的尺子。
操作步骤
- 标记耗材: With the filament loaded and the hotend at temperature, use your marker to make a mark on the filament exactly 120mm above the extruder's entry point. Use the top of the extruder body or the PTFE tube inlet as your reference.
- 命令挤出: In Klipper's console (Mainsail/Fluidd), enter the following commands in sequence:
G91 ; relative positioning G1 E100 F60 ; extrude 100mm at 60mm/min (1mm/s) G90 ; back to absolute positioning
The slow speed (60mm/min = 1mm/s) prevents the extruder from skipping steps due to back pressure in the hotend. If your extruder clicks or skips at this speed, your hotend may be partially clogged or your temperature is too low.
- 测量剩余距离: After extrusion, measure from the extruder entry point to your mark. If your measurement is exactly 20mm (120 original minus 100 extruded), your rotational distance is correct. If it's, say, 24mm (only 96mm extruded), you need to adjust.
- 计算新的旋转距离:
actual_extruded = 120 - measured_remaining new_rotation_distance = current_rotation_distance × (100 / actual_extruded) Example: measured_remaining = 24mm actual_extruded = 120 - 24 = 96mm current_rotation_distance = 22.678 (CW2) new_rotation_distance = 22.678 × (100 / 96) = 22.678 × 1.0417 = 23.62
- 更新并验证: Replace the
rotation_distancein your[extruder]section ofprinter.cfg, runSAVE_CONFIGorFIRMWARE_RESTART, and repeat steps 1-4. After adjustment, the measured remaining distance should be 20mm ± 0.5mm. Perform the test three times and average the result for best accuracy.
专业提示: Perform this test at both low speed (1mm/s) and at your typical print speed (5-10mm/s extrusion speed, which corresponds to roughly 80-120mm/s print speed on a Voron). If the rotational distance differs significantly between speeds, you have a flow limitation — either your hotend can't keep up, or your extruder is slipping at high speeds.
Flow Rate Tuning — 单周长壁法
一旦旋转距离正确,下一步是调整流量(在切片软件中也称为挤出倍率)。以下是不同的调整方法:
- 旋转距离 — a firmware setting that defines how much filament the extruder moves per motor rotation. It's a linear calibration: 100mm commanded should equal 100mm moved. Tune this first and never touch it again.
- 流量率 / 挤出倍率 — a slicer setting that compensates for die swell, filament diameter variation, and layer geometry. It's the ratio of expected wall thickness to actual wall thickness. Tune this per filament brand and color.
The Single-Perimeter Wall Method
- 切片一个空心立方体(0%填充,0顶层,1层壁,0底层)。使用20×20×20mm的立方体。
- 以标准速度和温度打印。结果是一个单壁方形管。
- 用卡尺在每侧测量四个点的壁厚(共16个测量值)。取平均值。
- Compare to your nozzle diameter. With a 0.4mm nozzle and extrusion width = 0.4mm in the slicer, the wall should measure exactly 0.4mm.
flow_correction = expected_width / measured_width new_flow = current_flow × flow_correction Example: Nozzle: 0.4mm Extrusion width: 0.4mm Measured wall: 0.44mm Flow correction = 0.4 / 0.44 = 0.909 Current flow = 100% (1.0) New flow = 1.0 × 0.909 = 0.909 → 91% in slicer
- 更新切片软件中该耗材配置文件的挤出倍率,并重新测试。壁厚现在应为0.40 ± 0.02mm。
重要提示: If your measured wall is significantly thicker than the extrusion width (more than 0.08mm difference), re-check your rotational distance first. Flow rate adjustments should be within 85-115%. If you need to go outside this range, something else is wrong — partial clog, incorrect filament diameter in the slicer, or a worn drive gear.
流量与压力提前 — 切勿混淆
一个常见错误是使用流量来补偿压力提前调校不佳的问题。以下是区分两者的方法:
- 整体过度挤出: All walls are thick, top surfaces are rough, dimensions are consistently large. Fix: reduce flow rate.
- 仅角落过度挤出: Corners bulge but straight walls measure correctly. Fix: tune pressure advance.
- 接缝处挤出不足: Gaps at the start/end of perimeters, but walls measure correctly elsewhere. Fix: reduce pressure advance or increase smooth_time.
- 打印件表面挤出不均匀: Some layers look fine, others are under-extruded. Fix: check for heat creep, extruder skipping, or filament diameter variation.
不同热端的流量差异
不同热端具有不同的热特性,会影响熔体膨胀程度,从而影响最佳流量。以下是常见Voron热端/挤出机组合的起始流量值:
- Revo Voron(0.4mm 喷嘴)+ CW2: 0.95-0.98 — the Revo's short melt zone reduces die swell. Start at 0.95.
- Dragon UHF(0.4mm 喷嘴)+ CW2: 0.98-1.02 — the longer melt zone increases die swell. Start at 1.0.
- Rapido HF(0.4mm 喷嘴)+ Galileo 2: 0.95-1.00 — high-flow hotends tend to need slightly lower flow due to better melt uniformity. Start at 0.97.
- Mosquito(0.4mm 喷嘴)+ Orbiter v2: 0.96-1.00 — the Mosquito's consistent melt zone gives predictable results. Start at 0.98.
- 标准 V6(0.4mm 喷嘴)+ CW1: 0.98-1.05 — older style hotend with more variability. Start at 1.0.
这些值会随喷嘴尺寸变化。0.6mm喷嘴通常比0.4mm喷嘴需要多2-5%的流量,因为壁厚与压力比发生变化。1.0mm喷嘴由于熔融区更大且熔体膨胀增加,可能需要多5-15%的流量。
不同耗材的流量
不同耗材材料在同一热端中的流动特性不同。校准完一种品牌的ABS后,更换耗材品牌并重新测试——可能会发现5-10%的差异:
- PLA: 0.90-1.00 — low die swell, tends to be slightly over-extruded at 1.0. Many Voron users run PLA at 0.92-0.95.
- ABS/ASA: 0.95-1.02 — the most common material on Vorons. 1.0 is usually close but test per brand. eSun ABS+ often needs 0.97; Polymaker ASA needs 1.0.
- PETG: 0.94-0.98 — PETG has more die swell than ABS due to its lower viscosity. Start at 0.95.
- PC(聚碳酸酯): 0.96-1.02 — high temperature, moderate die swell. Start at 0.98.
- PA/尼龙: 0.92-0.98 — nylon absorbs moisture and expands, which can change flow. Keep filament dry and start at 0.95.
- TPU/TPE: 0.85-0.95 — flexible filaments compress in the extruder, leading to apparent over-extrusion. Start low at 0.88.
挤出不足与过度挤出故障排除
挤出不足的症状
- 观察顶面时,周边线条之间存在间隙
- 层间粘附力弱——零件沿层线断裂
- 第一层壁薄或缺失
- 恒速移动时挤出机发出咔嗒声或跳齿
- 尺寸小于预期(例如,19.7mm立方体而非20mm)
修复方法(按顺序检查):
- 通过100mm测试验证旋转距离——这是系统性欠挤出的首要原因
- 将热端温度提高5-10°C——过冷的耗材会产生更高背压
- 检查喷嘴是否部分堵塞——进行冷拉或更换喷嘴
- 降低打印速度或提高热端温度——可能已超过热端最大流量
- 检查挤出机张力——CW2张力臂应紧贴但不过紧。若回抽时齿轮打滑,增加张力
- 在切片软件中验证耗材直径——1.75mm耗材误设为1.70mm会导致5%欠挤出
过度挤出的症状
- 顶面粗糙,周边线条间有凸起脊线
- 尺寸大于预期(例如,20.3mm立方体而非20mm)
- 第一层出现象脚(边角向外凸出)
- 移动过程中外表面出现料瘤
- 喷嘴在顶层拖拽已沉积的耗材
修复方法(按顺序检查):
- 在切片软件中将流量降低2-5%并重新测试
- 验证旋转距离——若过高,实际挤出量将超过指令值
- 检查切片软件中耗材直径是否错误——1.75mm耗材误设为1.80mm会导致5%过挤出
- 降低热端温度——过热的耗材粘度降低、流动性增强,导致挤出膨胀
- 增加压力提前——部分看似过挤出的现象实为低PA导致的边角鼓包
校准流程总结
以下是Voron挤出机校准的推荐顺序。每一步都依赖于前一步:
- 设置初始旋转距离 from the tables above based on your extruder type
- 100mm extrusion test — measure and correct rotational distance empirically
- 在打印速度下验证 — repeat 100mm test at 5-10mm/s to check for flow limitation
- 单层壁测试 — measure wall thickness and set flow rate in slicer
- 压力提前校准 — see our pressure advance guide for the full procedure. PA is set independently of flow rate
- 首层校准 — set Z offset and verify first layer adhesion
- 校准立方体 — print a 20mm cube and verify dimensions ±0.1mm in X, Y, Z
Once set, rotational distance should remain stable for the life of your extruder. Record the final value
in your printer.cfg with a comment noting the extruder type and date:
[extruder]
rotation_distance: 22.678 ; CW2 - calibrated 2025-05-01
gear_ratio: 50:10
microsteps: 16
full_steps_per_rotation: 200
nozzle_diameter: 0.400
Store your per-filament flow rates in your slicer profiles, not in printer.cfg. This way, changing filament automatically loads the correct flow rate without editing config files.