BLTouch 配置与排查
本文介绍 BLTouch 探针在 Klipper 中的接线、配置、测试、校准和常见故障排查。
相关报错:BLTouch 相关报错的快速排查见 运动、限位与调平报错。
接线与配置
开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。
BLTouch 有两组线:
- 三线(舵机/控制端):黄线为
control_pin信号线。 - 两线(传感器端):白线为
sensor_pin信号线。
将控制端接到主板的 Servo / BLTouch 控制引脚,传感器端接到主板的 Probe / Z-Max 等限位输入引脚。具体引脚请查阅对应 FLY 主板的配置文档。
大多数 BLTouch 的 sensor_pin 需要配置上拉电阻,在引脚名前加 ^ 前缀,例如 sensor_pin: ^PC4。
基本配置示例:
[bltouch]
sensor_pin: ^PC4
control_pin: PA1
x_offset: 0
y_offset: 0
z_offset: 0
speed: 5
如果使用 BLTouch 作为 Z 轴归位限位,需要:
- 在
[stepper_z]中设置endstop_pin: probe:z_virtual_endstop,并删除position_endstop。 - 添加
[safe_z_home]配置:
[safe_z_home]
home_xy_position: 100, 100 # 改为热床中心坐标
speed: 50
z_hop: 10 # 归位前抬升 10mm
z_hop_speed: 5
z_hop 必须足够高,确保即使探针处于伸出状态也不会碰撞热床或夹具。
初始测试
自检
通电后 BLTouch 应自动执行自检:探针上下伸缩数次,完成后缩回,红灯常亮。如果红灯闪烁或探针停留在伸出状态,断电检查接线和配置。
控制引脚测试
BLTOUCH_DEBUG COMMAND=pin_down
确认探针伸出、红灯熄灭。然后:
BLTOUCH_DEBUG COMMAND=pin_up
确认探针缩回、红灯重新亮起。如果红灯闪烁,说明存在异常。
传感器引脚测试
- 执行
BLTOUCH_DEBUG COMMAND=pin_down,确认探针伸出。 - 执行
BLTOUCH_DEBUG COMMAND=touch_mode。 - 执行
QUERY_PROBE,应返回probe: open。 - 用手指甲轻轻向上推探针,再次执行
QUERY_PROBE,应返回probe: TRIGGERED。 - 执行
BLTOUCH_DEBUG COMMAND=pin_up收回探针。
如果 QUERY_PROBE 结果不正确,通常是接线或配置错误(部分克隆版本需要特殊处理,见下文)。
探测测试
将打印头移到远离热床的位置,执行 G28(或 PROBE),等打印头开始下降时用手指甲轻触探针使其触发。准备好随时关闭打印机。成功后再执行一次正常归位让探针接触热床。
故障恢复(红灯闪烁)
BLTouch 进入异常状态后红灯持续闪烁,可执行:
BLTOUCH_DEBUG COMMAND=reset
常见触发原因:探针伸出时被阻挡导致校准中断。
如果 reset 后仍无法正常工作,可能是探针内部磁芯移位:
拆卸或调整 BLTouch 探针前,请完全关闭打印机并断开电源供应。
- 断电后拧开探针顶部螺丝,用圆珠笔将磁芯轻轻推回原位。
- 重新装入探针使其自然落到伸出位置。
- 小心调整螺丝位置,通电后用
BLTOUCH_DEBUG COMMAND=reset、pin_up、pin_down测试伸缩和红灯是否正常。
克隆版本兼容性
大多数克隆 BLTouch 可以使用默认配置正常工作,但部分克隆设备存在以下问题:
不要在未确认必要性的情况下将 pin_up_reports_not_triggered 或 pin_up_touch_mode_reports_triggered 设为 False。正品 BLTouch 不应修改这两项。错误设置会增加探测时间并可能损坏打印机。
不支持 touch_mode
部分克隆设备不支持 touch_mode,QUERY_PROBE 命令无法正常工作,但 G28 / PROBE 仍可成功。此类设备不要启用 probe_with_touch_mode。
BLTouch failed to verify sensor state
克隆设备无法通过 Klipper 内部传感器验证。先按 传感器引脚测试 确认 QUERY_PROBE 结果正确,如果手动测试始终正常但仍报错,添加:
[bltouch]
pin_up_touch_mode_reports_triggered: False
BLTouch failed to raise probe
老版本克隆设备无法报告探针缩回状态。测试方法:
- 将打印头移到远离热床处。
BLTOUCH_DEBUG COMMAND=pin_down→ 确认伸出。QUERY_PROBE→ 应返回probe: open。BLTOUCH_DEBUG COMMAND=pin_up→ 确认缩回。QUERY_PROBE→ 如果返回probe: TRIGGERED(而非open),说明设备无法报告缩回。
确认后添加:
[bltouch]
pin_up_reports_not_triggered: False
BLTouch V3 版本注意事项
V3.0 信号问题
BLTouch V3.0 的 sensor_pin 如果接到带滤波电容的限位引脚,可能无法稳定发送触发信号。表现为 QUERY_PROBE 测试正常,但 G28 / PROBE 时打印头偶尔不停。解决方法:
[bltouch]
probe_with_touch_mode: True
V3.1 偶发错误状态
BLTouch V3.1 在成功探测后偶尔闪红灯数秒。Klipper 会自动清除此错误,通常无害。设置 probe_with_touch_mode: True 可避免此问题。
部分克隆设备和 BLTouch V2.0 及更早版本在启用 probe_with_touch_mode: True 后精度可能下降,且探针伸出时间增加。修改前后请用 PROBE_ACCURACY 命令对比测试。
多次探测不收起
默认每次探测后 Klipper 会收起探针再伸出,多次探测时耗时较长。设置以下选项可在连续探测间保持探针伸出:
[bltouch]
stow_on_each_sample: False
设为 False 后,Klipper 可能在探针伸出状态下进行水平移动。务必确认所有探测操作的 Z 间隙充足,否则水平移动时探针可能碰撞障碍物损坏打印机。
使用 stow_on_each_sample: False 时建议同时设置 probe_with_touch_mode: True,可简化信号逻辑并提高稳定性。部分克隆设备不搭配此选项可能无法检测后续触发。
偏移校准
使用 PROBE_CALIBRATE 命令校准 x_offset、y_offset 和 z_offset。
z_offset 理想值接近 1mm。如果偏差过大,建议调整探针安装高度:探针应在喷嘴接触热床前充分提前触发,同时缩回后尽量高于喷嘴以避免刮擦打印件。调整后需重新执行 PROBE_CALIBRATE。
输出模式(5V / Open-Drain)
BLTouch V3.0 和 V3.1 支持 5V 和 Open-Drain 两种输出模式,默认为 Open-Drain。
- 如果主板输入引脚需要 5V 高电平且耐受 5V,可设置:
[bltouch]
set_output_mode: 5V
仅在主板输入信号线确认耐受 5V 时才使用 5V 模式。错误设置可能损坏主板 CPU。
- V3.0:每次启动都需要通过
set_output_mode: 5V设置,因为 V3.0 无法记忆。 - V3.1:可执行一次
BLTOUCH_STORE MODE=5V将模式写入内部 EEPROM,之后无需配置set_output_mode。不要反复执行存储命令,EEPROM 寿命约 10 万次。 - 其他探针:部分探针通过电路板跳线或切割走线永久设置输出模式,此时不需要
set_output_mode参数。