跳到主要内容

无限位使用

无限位归位也称 Sensorless Homing,通过 TMC 驱动的 DIAG 信号判断电机堵转,从而替代物理限位开关。

必备条件

必须同时满足以下条件:

  1. 主板支持 DIAG 功能。
  2. 驱动器支持 DIAG 信号输出。
  3. 对应限位口不能接任何设备。
  4. 机器结构适合使用无限位归位,运动部件撞到端点时不会造成损坏。

主板兼容性检查

类型支持情况代表型号操作要求
A 类默认直连Super / Gemini / CDY / E3 系列直接使用对应限位接口
B 类需跳线启用D / C / Pro-X10 / Micro 系列必须安装 DIAG 跳线帽
C 类不支持Fly-F407ZG无法使用无限位功能

确认方法:

  1. 查看主板是否有标注 DIAG 的跳线座。
  2. 查阅原理图,确认驱动接口的 DIAG 信号是否连接到限位口。
  3. 大部分主板为 Drive0 对应 io0Drive1 对应 io1,依此类推。

A 类主板:没有 DIAG 跳线,默认直连对应限位口。

Loading...

B 类主板:需要使用 DIAG 跳线。

Loading...

驱动兼容性检查

提示

TMC5160TMC2240TMC2130 通常有两个 DIAG 引脚,需要查看对应产品文档或咨询客服确认使用哪个引脚。

驱动型号兼容性DIAG 引脚配置要求灵敏度范围
TMC2209支持单引脚直接使用 diag_pin0-255,255 最敏感,0 最不敏感
TMC5160支持双引脚选择 diag0_pindiag1_pin-64-63,-64 最敏感,63 最不敏感
TMC2240支持双引脚选择 diag0_pindiag1_pin-64-63,-64 最敏感,63 最不敏感
TMC2130支持双引脚选择 diag0_pindiag1_pin-64-63,-64 最敏感,63 最不敏感
TMC2208不支持-无法使用无限位功能-
TMC2660不支持-无法使用无限位功能-
LV8729不支持-无法使用无限位功能-

配置说明

  • 需要按实际驱动型号和轴名修改配置。
  • tmc2209_stepper_x 中的 tmc2209 需要改成对应驱动型号。
  • stepper_x 中的 x 代表 X 轴,如果配置 Y 轴,需要改为 stepper_y
  • 部分机器使用无限位归位时,回退会导致归位失败,需要将 homing_retract_dist 设置为 0

参考配置

注意事项:

  • 下方引脚仅供参考,需要按实际主板修改。
  • diag_pin 通常需要添加 ^,否则可能导致归位失败。
  • driver_SGTHRS 需要实测,255 最敏感,0 最不敏感。
printer.cfg
[stepper_x]
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 0
homing_retract_dist: 0

[tmc2209 stepper_x]
diag_pin: ^PD9
driver_SGTHRS: 100

测试灵敏度

测试安全

测试无限位时必须把打印头移动到机器中间位置,并随时准备执行 M112 急停。不要在高速或无人看守状态下测试。

步骤 1:设置最高灵敏度

TMC2209:

SET_TMC_FIELD STEPPER=stepper_x FIELD=SGTHRS VALUE=255

TMC5160 / TMC2240 / TMC2130:

SET_TMC_FIELD STEPPER=stepper_x FIELD=sgt VALUE=-64

步骤 2:执行单轴归位

G28 X

如果轴没有开始移动、移动异常或无法停止,请立即执行:

M112

此时需要检查对应 DIAG 引脚接线、跳线帽和配置。

步骤 3:逐步降低灵敏度

  • TMC2209:逐步减少 SGTHRS
  • TMC5160 / TMC2240 / TMC2130:逐步增加 sgt
  • 每调整一次,都重新执行 SET_TMC_FIELD 和单轴归位测试。

目标是找到能让滑车稳定移动到端点并停止的最高可靠灵敏度。

步骤 4:写回配置

测试到合适值后,将该值写回 printer.cfg 对应驱动配置中。

如果最大灵敏度下仍有明显撞击声、点击声或无法稳定触发,通常说明归位速度过低、驱动电流过低、机械阻力异常,或该轴不适合使用无限位归位。

Loading...