跳到主要内容

工具板 MCU 添加与跨板配置

本页用于主 MCU 已连接成功后,添加工具板、验证多 MCU 状态及配置跨板引脚。如果你尚未完成主 MCU 的连接验证,请先完成 MCU 连接指南

第一步:准备并连接工具板

开始添加工具板前,请确保:

  • 主 MCU 已按 MCU 连接指南 完成连接验证。
  • 工具板已完成固件烧录。
  • 已确认工具板使用 CAN、USB 或 RS232 中的哪一种通信方式。
断电操作

开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。

完全断电后,将工具板数据线连接到上位机或主板的对应接口。不要拆解电源、改动市电接线或触碰裸露端子。确认连接可靠后再重新上电。

多工具板逐个添加

同时连接多个同类型工具板时不容易区分 ID。建议每次只连接并记录一个工具板;每次增减工具板前都必须重新完全断电。

第二步:查询并记录工具板 ID

工具板与主板使用相同的 MCU ID 填写规则:

MCU ID 配置说明

Klipper 中的 MCU ID 指的是 [mcu][mcu xxx] 配置段里用于连接控制板的识别信息。不同通信方式写法不同:

连接方式配置项示例
USB 固件serial:serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
CAN 固件canbus_uuid:canbus_uuid: xxxxxxxxxxxx
RS232 设备serial:serial: /dev/serial/by-path/xxxxxxxxxxxx
上位机 MCUserial:serial: /tmp/klipper_host_mcu

填写规则

  1. 主板默认使用 [mcu],工具板或扩展板使用 [mcu tool][mcu toolboard] 等自定义名称。
  2. USB 固件只填写 serial:,CAN 固件只填写 canbus_uuid:,不要在同一个 [mcu] 中同时保留两项。
  3. 多 MCU 机器中,每个 [mcu xxx] 都必须使用自己的真实 ID,不要复制同一个 USB ID 或 CAN UUID。
  4. [mcu xxx] 的名称会影响引脚前缀,例如 [mcu tool] 的引脚应写成 tool:gpio13;名称大小写要保持一致。
  5. 文档示例里的 xxxxxxxx 不能直接使用,必须替换为实际搜索到的 ID。
  6. RS232 设备除 serial: 外,通常还需要填写 baud: 250000restart_method: command;以对应产品文档为准。

常见错误

  • 把烧录模式 ID(如包含 katapultcanboot 的 ID)当作 Klipper 固件 ID 使用。
  • USB 固件配置了 canbus_uuid:,或 CAN 固件仍保留旧的 serial:
  • RS232 设备只填写路径,遗漏所需的 baud:restart_method:
  • 工具板配置成 [mcu],覆盖了主板 MCU 配置。
  • 引脚前缀和 MCU 名称不一致,例如配置是 [mcu toolboard],引脚却写 tool:gpio13

USB ID 查询:USB 固件可执行 ls /dev/serial/by-id/* 获取 ID。

CAN ID 查询CAN 网络与 ID 搜索

RS232 路径查询:执行 ls -l /dev/serial/by-path/ 获取稳定设备路径。

工具板配置工具板 MCU 添加与跨板配置

USB、CAN、RS232 查询命令与结果说明MCU ID 配置

记录 ID 时同时确定一个唯一、简短的 MCU 名称,例如 toolboardtoolboard1toolboard2,并确认:

  • USB ID 包含 usb-Klipper_...,不是 Katapult/Bootloader 烧录模式 ID。
  • CAN 查询结果显示 Application: Klipper
  • RS232 使用 /dev/serial/by-path/ 下的稳定路径,并按产品要求填写波特率和重启方式。
  • 工具板 ID 与主板及其他工具板均不重复。

第三步:添加工具板 MCU

获取工具板 ID 后,先备份当前完整的 printer.cfg,再在其中添加对应的 MCU 配置段:

[mcu toolboard]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
命名规则
  • MCU 名称可完全自定义,例如 toolboardtoolextruder_mcu 等,只需在配置中保持唯一。
  • MCU 名称将用作跨板引脚的 前缀,例如 [mcu toolboard] 引用时写 toolboard:PA0。名称大小写要保持一致。
  • 每个 MCU 的名称和 ID 都必须唯一,不能与主 MCU 或其他工具板重复。
  • 配置多个工具板时,请为每个设备设置不同的名称以便区分。

配置完成后,点击 SAVE & RESTART 保存并重启 Klipper。

第四步:验证所有 MCU 连接

添加工具板并重启 Klipper 后,需要确认所有 MCU 都已上线:

  1. 打开 Fluidd 界面,点击左侧菜单中的 System
  2. Mcu Information 下方确认主 MCU 和所有工具板都已正确识别且显示为连接状态。
Loading...

检查固件版本

完成所有 MCU 连接后,需要验证固件版本兼容性:

  1. 打开 Fluidd 界面,点击左侧菜单中的 System
  2. Mcu Information 下方找到 Version 字段。
  3. 确认所有 MCU 的固件版本与上位机 Klipper 版本匹配。
版本兼容性说明
  • 除预配置的定制设备外,所有自行编译的固件必须与上位机 Klipper 版本保持一致。
  • FAST 系统的固件版本与系统版本保持一致,编译出来的 Klipper 固件与系统版本一致。
  • 不同版本的固件可能导致功能异常、通信失败或系统不稳定。

第五步:配置跨板引脚

当使用多个工具板时,可能会遇到引脚跨板分配的需求。例如:加热功能使用第一个工具板的加热口,但温度传感器连接到主板或第二个工具板。

核心原则

在 Klipper 多 MCU 配置中,任何配置段的引脚都可以直接通过 <mcu名称>:<引脚号> 格式引用任意已定义 MCU 上的引脚,无需额外配置。Klipper 会自动通过通信总线(CAN/USB/串口)将指令发送到对应的 MCU。

典型场景:加热在工具板,温度传感器在主板

假设系统配置如下:

  • 主板 MCU:主板通过 USB 连接,温度传感器接在主板上。
  • toolboard1:工具板,加热棒和挤出机步进接在工具板上。
示例引脚不能直接复制

下方 <step_pin><heater_pin><sensor_pin> 等内容是位置占位符。必须根据对应 FLY 主板或工具板的产品文档替换为真实引脚,并确认 ! 取反逻辑是否适用于实际硬件。

步骤一:定义所有 MCU

[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00

[mcu toolboard1]
canbus_uuid: e51d5c71a901

步骤二:在配置中直接跨板引用引脚

[extruder]
# 步进和加热使用工具板引脚
step_pin: toolboard1:<step_pin>
dir_pin: toolboard1:<dir_pin>
enable_pin: !toolboard1:<enable_pin>
heater_pin: toolboard1:<heater_pin>

# 温度传感器使用主板引脚
sensor_type: <sensor_type>
sensor_pin: <sensor_pin>

# rotation_distance、温度范围等其余参数按实际硬件配置
引脚命名规则
  • 工具板引脚格式为 <mcu名称>:<引脚号>,例如 toolboard1:<heater_pin>
  • 主 MCU 引脚可以直接写实际引脚名,无需前缀。
  • 同一个配置段中的引脚可以来自不同的 MCU,Klipper 会自动处理跨板通信。

更多跨板配置示例

加热棒在第一工具板,温度传感器在第二工具板:

[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_type: <sensor_type>
sensor_pin: toolboard2:<sensor_pin>
注意事项
  • 跨板引用引脚时,请确保对应 MCU 已在配置文件中通过 [mcu <名称>] 正确定义。
  • MCU 名称大小写必须一致,[mcu ToolBoard] 和引用 toolboard:PA0 会导致错误。
  • 建议将功能关联紧密的设备(如加热棒和温度传感器)尽量接在同一个工具板上,以获得最佳的响应速度和可靠性。

常见问题

问题表现排查方向
工具板不在线断电后检查数据线连接,确认 ID 是否正确,区分 Klipper 固件 ID 与烧录模式 ID
多工具板名称/ID 冲突每个 [mcu] 的名称和 ID 都必须唯一,参考 MCU ID 配置
引脚前缀不匹配[mcu toolboard] 的引脚前缀应为 toolboard:,名称大小写需一致
固件版本不兼容重新编译固件使其与上位机 Klipper 版本一致
CAN UUID 找不到参考 CAN 网络与 ID 搜索
RS232 通信失败检查 baud: 250000restart_method: command 是否已配置
Loading...