限位相关
微动限位
三线微动限位注意事项
须知
- FLY主板用户请注意:三线微动限位开关不能直接连接到FLY主板,因为主板上的限位接口已经提供了5V电源。如果直接连接,会导致5V短路,烧毁主板、上位机以及驱动等设备!
- 解决方法
- 剪断5V线:将三线限位开关的
XH2.54
端子中对应的5V线(通常是红色线,请以实际颜色为准)剪断并用绝缘胶带包裹,防止短路。
- 剪断5V线:将三线限位开关的
微动限位接线方法
注意事项
- 强烈推荐:使用常闭口(防止短线时候撞机事故发生)
- 连接要求:
主板端子 | 功能 | 连接要求 |
---|---|---|
5V | 电源 | 🔌 悬空不接 |
GND | 接地 | ✅ 必须连接 |
S | 信号 | ✅ 必须连接 |
- 检测步骤:
-
万用表调至通断测试档(蜂鸣器图标)
-
测试微动:
- 未按压:常闭端与公共端间应导通(蜂鸣器响)
- 按压:常闭端与公共端间应断开(无声)
-
若结果相反:
- 检查是否误用常开端(NO)
- 检查是否接触不良
配置说明
-
上拉电阻要求:
- 大多数打印机需要启用上拉电阻,必须在引脚前添加
^
符号
- 大多数打印机需要启用上拉电阻,必须在引脚前添加
-
常闭限位配置:
- 使用常闭(NC)限位时,必须在添加
!
符号
- 使用常闭(NC)限位时,必须在添加
-
下方是参考配置
[stepper_x]
ndstop_pin: ^!PD9
TAP
接线说明
须知
- 本教程使用
SHT36-V2
的BL-Touch
接口做演示 - 部分
TAP
支持12V
或者24V
但是建议使用5V
供电(安全) BL-Touch
中间信号口无法当作限位口使用!!!
主板端子 | 功能 | 连接要求 |
---|---|---|
5V | 电源 | ✅ 必须连接 |
GND | 接地 | ✅ 必须连接 |
S | 信号 | ✅ 必须连接 |

参考配置
- 上拉电阻要求:
- 大多数打印机需要启用上拉电阻,必须在引脚前添加
^
符号
[stepper_z]
endstop_pin: probe:z_virtual_endstop
# endstop_pin: ^sht36:PA1
# position_endstop: -0.5
[probe]
pin: ^sht36:PC15 # 信号接口
x_offset: 0 # X轴-传感器相对喷嘴偏移量
y_offset: 0 # Y轴-传感器相对喷嘴偏移量
#z_offset: 0 # Z轴-传感器相对喷嘴偏移量
speed: 3.0 # 调平速度
lift_speed: 5 # 抬起探头速度
samples: 3 # 采样次数
samples_result: median # 取值方式(默认median-中位数)
sample_retract_dist: 3.0 # 调平回缩距离
samples_tolerance: 0.075 # 采样公差(注意过小的值可能造成采样次数增加)
samples_tolerance_retries: 3 # 超公差重试次数
activate_gcode:
{% set PROBE_TEMP = 150 %}
{% set MAX_TEMP = PROBE_TEMP + 5 %}
{% set ACTUAL_TEMP = printer.extruder.temperature %}
{% set TARGET_TEMP = printer.extruder.target %}
{% if TARGET_TEMP > PROBE_TEMP %}
{ action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) }
M106 S255
M109 S{ PROBE_TEMP }
M106 S26
{% else %}
# Temperature target is already low enough, but nozzle may still be too hot.
{% if ACTUAL_TEMP > MAX_TEMP %}
{ action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) }
TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP }
{% endif %}
{% endif %}
光电限位
须知
- 本教程使用
5V
给光电限位供电 - 超过
5V
需要使用12V
或者24V
请看下方接近开关教程
接线说明
主板端子 | 功能 | 连接要求 |
---|---|---|
5V | 电源 | ✅ 必须连接 |
GND | 接地 | ✅ 必须连接 |
S | 信号 | ✅ 必须连接 |
配置说明
-
上拉电阻要求:
-
大多数打印机需要启用上拉电阻,必须在引脚前添加
^
符号 -
下方是参考配置
[stepper_x]
ndstop_pin: ^PD9
接近开关
重要须知
- 以欧姆龙接近开关
TL-Q5MC2-Z
为例,操作前请注意: - 传感器类型:PNP 常闭开关
- 必备材料:需自购
BAT85
型号二极管
接线步骤
- 二极管安装
- 将二极管黑色端(负极)接传感器信号线
- 另一端(正极)接主板信号接口
- 绝缘处理
- 强烈建议使用热缩管或电工胶布包裹裸露线头,防止接触其他设备导致短路
参考配置
- 上拉电阻要求:
- 大多数打印机需要启用上拉电阻,必须在引脚前添加
^
符号 - 下方是参考配置
[probe]
pin: ^PC0
x_offset: 0
y_offset: 25.0
z_offset: 0
klicky
- 正在更新
无限位设置
必备条件
- 必须同时满足:
- 主板支持
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...