
3步搞定3D打印振纹Klipper 输入整形的完整调参指南【免费下载链接】klipperKlipper is a 3d-printer firmware项目地址: https://gitcode.com/GitHub_Trending/kl/klipperKlipper 是一款 3D 打印机固件输入整形Input Shaping是它对付振纹的核心功能固件在运动指令里预先插入反向补偿脉冲让机械振动自己抵消自己从而在保持高速打印的同时把表面鬼影大幅压下去。整套流程其实只有三件事——先确认问题确实是共振、再测出你这台机器的真实共振频率、最后选一个合适的整形器写进配置。测错频率之前任何算法都救不了你频率测准了后面的事就只剩下挑选和验证。波痕从哪来机械共振才是元凶打印表面出现一圈圈重复的回声纹路官方叫 ringing振纹、回声、鬼影根源不在切片软件而在机器本身。打印头在拐角急减速、快速变向时机框、皮带和滑台会越过目标位置再弹回来按自身固有频率来回振荡——这些振荡被原样画在了表面。所以第一反应不应该是降速而应该是两件事机械排查框架刚性不够、皮带松动或过松、运动部件质量太重都是振纹的物理来源能修就先修软件抑制输入整形属于开环控制它不依赖传感器实时反馈而是把运动指令信号本身改造掉让激起的振动在后续时间里互相干涉、自行衰减。代价是它必须知道你机器的真实共振频率这也是为什么调参流程被拆成测量和选择整形器两步。Klipper 里这部分数学模型早就写好了对应实现见 klippy/extras/input_shaper.py。你要做的只是把频率和算法填对。先确认是振纹再测出共振频率用振纹测试塔确认问题不是所有表面缺陷都叫振纹。Klipper 自带一个测试模型 docs/prints/ringing_tower.stl它的壁面上开了一排曲线凹槽振动的轨迹会沿着凹槽形状抄在模型上。切片时建议层高 0.2/0.25 mm、1-2 圈外壁、外壁速度 80-100 mm/s并在切片器里关掉动态加速度控制。打印前发一条调参塔命令让振纹被逐级放大TUNING_TOWER COMMANDSET_VELOCITY_LIMIT PARAMETERACCEL START1500 STEP_DELTA500 STEP_HEIGHT5这条命令的作用加速度从 1500 mm/s² 起步每升 5 mm 提高 500振纹会随高度一段比一段明显方便你把振纹和加速度档位对应起来。如果纹路跟随凹槽形状走那是真正的振纹如果纹路和凹槽对不上、或者表现为整层偏移问题多半在挤出或 Z 轴机械上先别急着开输入整形。手算频率一把卡尺就够了打印完成后看 X/Y 标记侧的波纹数出相邻 N 个波峰间的距离 Dmm再代入频率(Hz) 外壁速度(V) × N ÷ D例如外壁按 100 mm/s 打印6 个波峰间量得 12.14 mm频率就是 100 × 6 ÷ 12.14 ≈ 49.4 Hz这个 49.4 后面会直接填进配置。测 X 标记侧得到 X 轴频率Y 标记侧对应 Y 轴。⚠️ 两个注意点如果波纹间距从上到下忽大忽小说明同一轴上存在多个共振频率单频率配置压不干净建议改走加速度计路线如果测出来低于 20-25 Hz优先投资硬件加刚性、减重软件是兜底而不是替代品。加速度计自动测量一次校准长期受益愿意焊一块 ADXL345 的话测量可以全自动完成。芯片通过 SPI 接到树莓派或 MCU 上接线图见官方文档 docs/Measuring_Resonances.md配置部分只有两段[adxl345] cs_pin: ar100:cs0 # SPI 片选按你的实际引脚填写 spi_bus: spi1 # 走哪条 SPI 总线 axes_map: x, y, z # 芯片三轴与打印机三轴的对应关系 [resonance_tester] accel_chip: adxl345 # 指定用哪颗加速度计做共振测试第一段声明加速度计硬件第二段告诉共振测试器用哪颗芯片。芯片必须固定在打印头上轴方向尽量对齐机器坐标床跟随式bed slinger机器需要打头、打床两次测量各测各的。通电后第一次测试一定要盯着机器看——测试会主动激振太剧烈时随时用M112急停。然后TEST_RESONANCES AXISX TEST_RESONANCES AXISY这两条命令分别在 X、Y 轴扫频采样各生成一个 CSV。把 CSV 交给仓库里的离线脚本 scripts/calibrate_shaper.py~/klipper/scripts/calibrate_shaper.py /tmp/resonances_x_*.csv -o /tmp/shaper_calibrate_x.png脚本会画出频率响应曲线并直接给出每种整形器的推荐频率、残余振动比例和max_accel上限Fitted shaper mzv frequency 34.6 Hz (vibrations 0.0%, smoothing ~ 0.170) To avoid too much smoothing with mzv, suggested max_accel 3500 mm/sec^2 Fitted shaper ei frequency 41.4 Hz (vibrations 0.0%, smoothing ~ 0.188)Z 轴同样可以扫TEST_RESONANCES AXISZ用于观察 Z 方向的振动分布。三种整形器怎么选MZV、EI 与 ZV三者性格完全不同整形器性格适合谁MZV综合抑制效果好对频率误差较敏感多数 Cartesian/CoreXY 机型的第一选择EI对频率漂移最宽容但会多磨掉一点圆角细节床跟随式、delta、共振频率偏低或会漂移的机器ZV最简单、平滑最少抑制力也最弱想要轻装上阵时的保底选项床跟随式机器值得多解释一句打印过程中床上的耗材越来越多床的质量在变大共振频率会随高度往下漂EI 的容错性在这种场景下价值最大。delta 结构因为各位置频率差异大同理优先 EI。用 A/B 打印定胜负别凭感觉选直接用测试模型做对照实验。以 MZV 为例RESTART SET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO0 SET_PRESSURE_ADVANCE ADVANCE0 SET_INPUT_SHAPER SHAPER_TYPEMZV TUNING_TOWER COMMANDSET_VELOCITY_LIMIT PARAMETERACCEL START1500 STEP_DELTA500 STEP_HEIGHT5作用是复位固件、关掉会干扰判断的参数然后开 MZV 打一座测试塔。打完把SHAPER_TYPEMZV换成EI再打一座肉眼对比EI 明显更好就选 EI否则留在 MZV。确定后写进配置[input_shaper] shaper_type: mzv # 或 eiA/B 测试的胜者 shaper_freq_x: 49.4 # X 标记侧实测频率 shaper_freq_y: 46.2 # Y 标记侧实测频率max_accel别拍脑袋优先取校准脚本给出的建议上限再用测试塔验证——找到振纹可接受、同时圆角没有被抹掉的最高档位。square_corner_velocity建议保持默认的 5调高只会让圆角更糊。三个高频疑问与边界情况打印用得好好的振纹怎么又回来了硬件状态变了频率就变了皮带被拉松、换了新的热端或散热风扇运动质量变化、加了加强件刚度变化。做法是重新测一遍频率并更新[input_shaper]配置。这也是机械先修、软件兜底的原因——软件参数永远追不上硬件的漂移。测出来频率很低低于 20-25 Hz怎么办这是硬件在报警不是参数在报警。先加固框架、减掉不必要的运动质量再回来重测。低频率配输入整形只能把max_accel压得很低才敢用等于用速度换质量不如直接解决刚性问题。Z 轴也有鬼影能一起整形吗Z 方向鬼影大多来自机械丝杆润滑、联轴器松动、Z 车重复定位。输入整形的主战场是 XY 平面Z 轴扫频TEST_RESONANCES AXISZ主要用于诊断而非配置。另外如果 Z 频率随温度漂移可以看看 klippy/extras/z_thermal_adjust.py 这类温度补偿扩展思路不同但目标一致。 参考入口docs/Resonance_Compensation.md 是完整调参手册docs/Measuring_Resonances.md 覆盖各种加速度计的接线细节测试模型在 docs/prints/ringing_tower.stl。现在就能做的 3 件事先修机器再打测试塔过一遍皮带张力、螺丝松紧、打印头质量然后按建议参数切片打印 ringing tower用速度 × 波峰数 ÷ 波峰间距拿到 X/Y 两个频率。做一场 MZV 对 EI 的 A/B 打印两座同款测试塔振纹更少、圆角保持更好的那个就是胜者把shaper_type和实测频率写进[input_shaper]保存。按脚本建议值给 max_accel 封顶并把square_corner_velocity留在 5以后每动一次硬件换头、紧带、加配件就回头重测一次频率。【免费下载链接】klipperKlipper is a 3d-printer firmware项目地址: https://gitcode.com/GitHub_Trending/kl/klipper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考