MCU 连接指南
本指南用于排查和解决 MCU 无法与 Klipper 正常连接的问题。
准备工作与注意事项
- 不推荐的上位机设备:避免使用红米手机、WiFi 棒子、机顶盒等设备。它们通常采用定制或修改过的系统,可能导致无法正确识别 MCU。
- 确认下位机数量:请提前确认您使用的下位机(如工具板)数量,多个下位机可能影响连接。
- 简化接线:建议暂时移除主板和工具板上除数据线外的所有接线,仅保留必要的数据连接以排除干扰。
- 推荐操作界面:推荐使用 Fluidd 界面,它能更直观地显示 MCU 连接状态。
第一步:备份并重置配置
1. 访问上位机界面
在浏览器中输入上位机的 IP 地址进行访问。
2. 定位配置文件
进入 WEB 界面,在左侧边栏中找到配置选项:
Fluidd 用户:点击 ...,然后找到 printer.cfg。
Mainsail 用户:点击 机器,然后找到 printer.cfg。
3. 备份配置文件
右键点击 printer.cfg 文件,选择 Duplicate 进行复制,并将副本重命名为:
printer_Backup.cfg
Fluidd 操作示例:
Mainsail 操作示例:
4. 重置配置文件
重新打开 printer.cfg,清空所有内容,并粘贴以下基础配置:
[mcu]
serial: /tmp/klipper_host_mcu
[printer]
kinematics: none
max_velocity: 200
max_accel: 1000
5. 保存并重启
- 点击右上角的 SAVE & RESTART,Klipper 将保存配置并重启服务。
- 如出现报错,请暂时忽略。
- 随后,请将所有设备(包括上位机和所有下位机)完全断电。
- 重要:必须确保彻底断电,否则无法进行后续步骤。
第二步:检测设备并确认固件类型
前提条件
- 主设备顺序:第一个
MCU必须是主板,不能是工具板。 - 固件类型:确认您的 FLY 主板固件为 USB 固件 或 USB 桥接 CAN 固件,本指南不适用于其他类型。
- 连接方式:请先 连接 SSH,此操作需通过网络进行。
操作步骤
-
执行设备检测
- 成功连接 SSH 后,执行以下命令:
lsusb
- 系统将列出所有已识别的 USB 设备。
- 成功连接 SSH 后,执行以下命令:
-
处理命令异常
- 若提示
lsusb命令不存在,请先安装:sudo apt-get install usbutils - 若执行后无任何设备显示,建议更换上位机。
- 若提示
-
识别设备信息 根据下方图示,在
lsusb的输出结果中识别您的设备:Loading...Loading... -
验证固件类型
- 请根据您刷入的固件,在
lsusb结果中核对以下关键信息:- USB 固件:应显示
1d50:614e - USB 桥接 CAN 固件:应显示
1d50:606f - USB Katapult 固件:应显示
1d50:6177 - RS232 适配器 (搭配 UTOR 或者使用 D8 与 D8PRO 主板):应显示
1a86:7523(搭配 G2T 则无需此步骤)
- USB 固件:应显示
- 请根据您刷入的固件,在
第三步:搜索设备 ID
重要说明
- USB ID 搜索:仅适用于 USB 固件,无法用于 CAN 或 RS232。
- CAN ID 搜索:仅适用于 CAN 总线设备,无法用于 USB 或 RS232。
- RS232 ID 搜索:仅适用于 RS232 固件,无法用于 USB 或 CAN。
- RS232 专用性:RS232 固件通常仅用于工具板,不适用于主 MCU。
根据固件类型选择方法
USB 固件设备 执行以下命令搜索 USB 设备 ID:
ls /dev/serial/by-id/*
USB 桥接 CAN 设备 根据您的系统类型,选择对应的命令搜索 CAN ID:
- 普通上位机
- Fly_FAST 系统
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
RS232 固件设备 执行以下命令搜索 RS232 设备路径:
ls /dev/serial/by-path/*
结果解读与处理
USB ID 搜索结果
执行命令后,终端将显示类似下方的设备 ID(此为示例):
- 可直接使用:
usb-字段后显示Klipper(如usb-Klipper_stm32f407xx_...),表示已刷入 Klipper 固件 - 需刷写固件:
usb-字段后显示katapult(如usb-katapult_stm32f407xx_...),表示当前为 Bootloader,需刷入 Klipper 固件 - 无法识别:下方示例 ID 中
usb-字段后显示1a86_USB_Serial,表示该设备为 CH340 串口转换芯片,并非运行 Klipper/katapult 固件的 MCU,需要先刷写对应固件
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
- 正常情况如下
CAN ID 搜索结果
执行命令后,请根据终端返回结果判断:
- 可直接使用:显示的 ID 末尾
Application:字段标注为Klipper - 需刷写固件:显示的 ID 末尾
Application:字段标注为CANBOOT或Katapult - 未找到设备:如果显示
Total 0 uuids found,可能原因包括:- CAN 网络配置错误
- CAN 速率不匹配(请确保上位机、主板、工具板速率一致)
- 该 ID 已被占用(需在配置中屏蔽,然后关机断电并重启)
RS232 ID 搜索结果
执行命令后,终端将显示 RS232 设备路径(此为示例):
- 示例路径:
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
RS232 设备在配置时必须指定波特率和重启方法:
[mcu toolboard]
serial: <这里替换为查询到的RS232设备路径>
baud: 250000
restart_method: command
第四步:配置主 MCU 的 ID
在开始配置前,请确保工具板与上位机或主板的连接已断开,以避免设备识别冲突。
重新打开 printer.cfg 文件,找到 [mcu] 部分中的 serial: /tmp/klipper_host_mcu 配置行。
根据您的连接方式,参照下方对应的方法进行配置:
- USB 连接配置
- CAN 连接配置
将 serial: 后面的 /tmp/klipper_host_mcu 替换为搜索到的 USB ID。
配置示例:
# 搜索到的 USB ID 为:
# /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
# 修改配置为:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
将 serial: /tmp/klipper_host_mcu 配置项替换为 canbus_uuid:,并填入搜索到的 CAN ID。
配置示例:
# 搜索到的 CAN ID 为:
# 688e89f0e401
# 修改配置为:
[mcu]
canbus_uuid: 688e89f0e401
保存配置并重启 Klipper 服务。
第五步:验证主 MCU 连接
完成主 MCU 配置后,需要验证连接是否成功:
- 打开 Fluidd 界面,点击左侧菜单中的
System - 查看 MCU 信息:在
Mcu Information下方找到Micro-Controller信息 - 核对主控型号:确认显示的型号与您的主板实际主控型号一致
- 如果您的主控是 STM32H723,那么
Micro-Controller必须显示为 H723 相关型号 - 如果显示不正确或无法识别,请检查前面的配置步骤
第六步:添加工具板 MCU
如果主 MCU 已经连接成功,并且还需要添加工具板、多 MCU 或跨板引脚配置,请继续查看:工具板 MCU 添加与跨板配置。
至此,主 MCU 连接排查已经完成。