无限位使用
注意事项
必备条件
- 必须同时满足:
- 主板支持
DIAG
功能 - 驱动器支持
DIAG
信号输出 - 对应限位口不能接任何设备!
主板兼容性检查
Fly主板支持分类:
类型 | 支持情况 | 代表型号 | 操作要求 |
---|---|---|---|
A类 | 默认直连 | Super/Gemini/CDY/E3系列 | ✅ 直接使用限位接口 |
B类 | 需跳线启用 | D/C/Pro-X10/Micro系列 | ⚡ 必须安装DIAG 跳线帽 |
C类 | 完全不支持 | Fly-F407ZG | ❌ 无法使用无限位功能 |
确认方法:
- 查看主板标注: 寻找标有
DIAG
的跳线座- 查阅原理图: 确认驱动接口的
DIAG
信号连接- 大部分主板的无限位都是
Drive0
对应io0
,Drive1
对应io1
一直下去
|
|
驱动兼容性检查
提示
TMC5160
、TMC2240
与TMC2130
有两个DIAG
引脚- 需要查看对应的产品文档或者咨询客服才可以确定
驱动型号 | 兼容性 | DIAG引脚 | 配置要求 | 灵敏度要求 |
---|---|---|---|---|
TMC2209 | ✅ 支持 | 单引脚 | 直接使用 | 0-255 # 255是最敏感的值,0是最不敏感的值 |
TMC5160 | ✅ 支持 | 双引脚 | 需选择diag 引脚 | -64 -255 # -64是最敏感的值,63是最不敏感的值 |
TMC2240 | ✅ 支持 | 双引脚 | 需选择diag 引脚 | -64 -255 # -64是最敏感的值,63是最不敏感的值 |
TMC2130 | ✅ 支持 | 双引脚 | 需选择diag 引脚 | -64 -255 # -64是最敏感的值,63是最不敏感的值 |
TMC2208 | ❌ 不支持 | - | 无法使用无限位功能 | 无法使用无限位功能 |
TMC2660 | ❌ 不支持 | - | 无法使用无限位功能 | 无法使用无限位功能 |
LV8729 | ❌ 不支持 | - | 无法使用无限位功能 | 无法使用无限位功能 |
识别要点:
- 双引脚驱动器必须查阅对应手册确认功能引脚
- 部分驱动本身支持
DIAG
功能,但是对应排针如果没有焊接则无法使用
配置说明
- 需要修改对应驱动型号加对应的轴
- 部分机器使用无限位归位时,回退会导致归位失败需要将
homing_retract_dist:
设置成0
参考配置
tmc2209_stepper_x
中的TMC2209
需要修改成对应的驱动器型号stepper_x
中的x
代表这个是x
轴,如果是y
轴则修改成stepper_y
- TMC2209 参考配置
- TMC5160 参考配置
- TMC2130 参考配置
- TMC2240 参考配置
- 请注意下方配置中的引脚只是参考,需要按实际的来
diag_pin:
配置中必须添加^
,否则会导致归位失败driver_SGTHRS:
中的值需要自己测试设置,255是最敏感的值,0是最不敏感的值[stepper_x]
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 0
[tmc2209 stepper_x]
diag_pin: ^PD9
driver_SGTHRS: 100
- 请注意下方配置中的引脚只是参考,需要按实际的来
- 需要查看对应的产品手册才能确定是使用
diag0_pin:
还是diag1_pin:
diag1_pin:
配置中必须添加^!
,否则会导致归位失败driver_SGT:
中的值需要自己测试设置,-64是最敏感的值,63是最不敏感的值[stepper_y]
endstop_pin: tmc5160_stepper_y:virtual_endstop
position_endstop: 0
[tmc5160 stepper_y]
diag1_pin: ^!PD9
driver_SGT: 1
- 请注意下方配置中的引脚只是参考,需要按实际的来
- 需要查看对应的产品手册才能确定是使用
diag0_pin:
还是diag1_pin:
diag1_pin:
配置中必须添加^!
,否则会导致归位失败driver_SGT:
中的值需要自己测试设置,-64是最敏感的值,63是最不敏感的值[stepper_y]
endstop_pin: tmc2130_stepper_y:virtual_endstop
position_endstop: 0
[tmc2130 stepper_y]
diag1_pin: ^!PD9
driver_SGT: 1
- 请注意下方配置中的引脚只是参考,需要按实际的来
- 需要查看对应的产品手册才能确定是使用
diag0_pin:
还是diag1_pin:
diag1_pin:
配置中必须添加^!
,否则会导致归位失败driver_SGT:
中的值需要自己测试设置,-64是最敏感的值,63是最不敏感的值[stepper_x]
endstop_pin: tmc2240_stepper_x:virtual_endstop
position_endstop: 0
[tmc2240 stepper_x]
diag1_pin: ^!PD9
driver_SGT: 1
测试灵敏度
-
步骤1
-
在网页控制台中输入下方指令
-
将打印头缓慢移动到机器中间。使用
SET_TMC_FIELD
命令设置灵敏度 -
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
- 确认x轴完全不动或者迅速停止移动。
- 如果没有通知移动则立即发出下方指令
M112
- 检查对应的
DIAG PIN
引脚的接线或配置可能有错误,必须在继续之前予以纠正。
- 在网页控制台中输入下方指令
-
步骤3
- 接下来,不断降低
VALUE
设置的灵敏度,并再次运行SET_TMC_FIELD
和G28 X0
命令 - 找到能使滑车成功地一直移动到端点并停止的最高的灵敏度即可
- 对于TMC2209驱动,调整是减少 SGTHRS,对于其他驱动,调整是增加 sgt
- 接下来,不断降低
-
步骤4
- 等测试到合适的值,在归位后一触即停记住当前值
- 如果在最大灵敏度下有撞击或点击声,那么归位速度可能太低,驱动电流可能太低,或者该轴可能不适合用无传感器归位。
- 打开
printer.cfg
更新对应的灵敏度配置
Loading...