本章概述:在完成第一部分树莓派上位机环境(Klipper + Moonraker + Fluidd + KlipperScreen)的部署后,本章将重点讲解下位机(八爪鱼主板)固件的编译、刷写以及上下位机握手通信。本文将结合 BigTreeTech Octopus Pro 主板官方手册,为您梳理硬件跳线选择(驱动/电源/传感器)、晶振配置避坑,并提供标准 USB 直连模式与绝境求生:UART 串口救援模式的软硬件配置全方案。

📥 本地资源下载:


🔌 一、 硬件跳线与电路安全配置(上电前必读)

八爪鱼 Octopus Pro 主板具备强大的可定制性,但在上电前,必须保证主板上的各项跳线帽设置正确,否则极易发生冒烟或烧片事故。

BIGTREETECH Octopus Pro 主板实物图

1. TMC2209 驱动 UART 模式跳线

要使用 Klipper 动态控制 TMC2209 驱动电流并启用其高阶特性,必须将驱动配置为 UART 工作模式:

  • 跳线方式:在每个驱动插槽下方的排针上,使用跳线帽横向短接最左侧排针(如下图所示)。
  • 驱动插拔注意:请务必在彻底断电状态下插拔驱动,并注意驱动的朝向(通常 TMC2209 的静音蓝/黑色散热片朝向主板内侧,请核对 DIR 和 GND 引脚对齐)。

2. 电机供电跳线选择 (Motor Power Jumpers)

Octopus Pro 支持高达 60V 的独立驱动供电。每一路驱动均可单独选择电压:

  • 主板供电电压(24V):将跳线帽插在右边两个引脚上(默认设置)。
  • 独立电机供电电压(最高 60V):将跳线帽插在左边两个引脚上。
  • ⚠️ 安全警告:切勿在通电状态下插拔供电跳线帽!若选择使用独立高压电机供电,请务必核对驱动型号(如高压版 TMC5160)是否能够承受该电压,普通 TMC2209 在 48V/60V 下会瞬间烧毁。

3. Type-C 接口为 MCU 供电跳线

在靠近 Type-C 接口处有一个 5V 供电选择跳线:

  • 插上跳线帽:允许直接通过树莓派的 USB Type-C 接口为八爪鱼主板的 STM32 主控芯片提供 5V 电源。此模式非常适合在没有开启 24V 开关电源的情况下连接电脑烧写固件。
  • 拔掉跳线帽:主板 MCU 必须依赖外部 24V 供电才能工作。日常打印建议保持拔掉或使用外接开关电源,防止树莓派 5V 负载过高。

4. NPN 与 PNP 型接近开关(限位/Probe)选择

若您使用电感式接近开关(如 Fotek PL-05N 或 Omron)作为 Z 轴调平传感器,主板的 Probe 接口支持跳线调节输入极性:

  • NPN 型传感器:必须插上接近开关旁边的跳线帽(启用内部上拉电阻)。
  • PNP 型传感器:不需要插该跳线帽。

💻 二、 标准模式:USB 直连方式(推荐首选)

USB 直连通信是目前最成熟、传输带宽最高且最易于排查故障的通信方式。

1. Klipper 固件编译 (USB 模式)

通过 SSH 远程登录树莓派终端,依次执行以下命令进入 Klipper 固件配置菜单:

cd ~/klipper
make menuconfig

在蓝色的图形界面中,根据您的八爪鱼主板芯片型号进行勾选:

选项 A:若您的芯片是 STM32F446 (如 2023 年版主流配置)

  • [*] Enable extra low-level configuration options (必须勾选,以开启高级底层配置)
  • Micro-controller Architecture ➡️ STMicroelectronics STM32
  • Processor model ➡️ STM32F446
  • Bootloader offset ➡️ 32KiB bootloader (八爪鱼主板硬性强制要求,选错会导致主板无法运行且覆盖引导程序)
  • Clock Reference ➡️ 12 MHz crystal (主板搭载 12MHz 晶振,选错会导致 MCU 连接超时)
  • Communication interface ➡️ USB (on PA11/PA12)

配置效果图如下: STM32F446 固件编译配置

选项 B:若您的芯片是 STM32F429

  • [*] Enable extra low-level configuration options (必须勾选,以开启高级底层配置)
  • Micro-controller Architecture ➡️ STMicroelectronics STM32
  • Processor model ➡️ STM32F429
  • Bootloader offset ➡️ 32KiB bootloader
  • Clock Reference ➡️ 8 MHz crystal (注意:F429 版本主板使用的是 8MHz 晶振,选错会导致 MCU 无法工作)
  • Communication interface ➡️ USB (on PA11/PA12)

配置效果图如下: STM32F429 固件编译配置

⚠️警告

注意:不同型号的芯片晶振是不一样的,晶振设置错误会导致 klipper 无法正常工作。

配置完成后,按下 Q 键,再按 Y 键保存退出。在终端中输入以下命令开始编译:

make clean
make -j4

编译成功后,系统会在 ~/klipper/out/ 目录下自动生成名为 klipper.bin 的固件文件。

2. 固件刷写(SD 卡卡刷)

对于八爪鱼主板,最稳妥的刷机方式是使用板载 MicroSD 卡槽进行“卡刷”:

  1. 通过 WinSCP、MobaXterm 或 SFTP 工具连接树莓派,将 ~/klipper/out/klipper.bin 文件下载到电脑。
  2. 准备一张任意闲置的小容量 MicroSD 卡,用电脑将其格式化为 FAT32 格式。
  3. 将下载好的 klipper.bin 放入内存卡根目录,并强行重命名为 firmware.bin(必须全小写,不能有其他后缀)。
  4. 将 3D 打印机彻底断电,把内存卡插入八爪鱼主板自带的 MicroSD 卡槽中。
  5. 用 USB 数据线连接树莓派与八爪鱼主板的 Type-C 接口,重新给打印机通电。
  6. 等待 15~20 秒,主板会自动引导并写入固件。
  7. 验证刷机结果:断电拔出内存卡插回电脑,若卡内的文件名自动变为了大写的 FIRMWARE.CUR,说明固件刷写成功!若仍为 firmware.bin,请检查卡格式是否为 FAT32,或卡片是否损坏。

3. 获取 USB Serial ID 并配置 printer.cfg

  1. 在树莓派 SSH 终端中输入以下命令,查询八爪鱼主板在 Linux 系统中的专属硬件 ID:
ls /dev/serial/by-id/*
  1. 终端会返回类似如下的设备路径:
/dev/serial/by-id/usb-Klipper_stm32f446xx_360032000B51393036363933-if00
  1. 复制这段完整路径,打开 Fluidd 网页控制台的 printer.cfg,找到 [mcu] 节点并进行修改。参考您本地备份的历史配置如下:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_360032000B51393036363933-if00
restart_method: command
  1. 点击右上角 Save & Restart,此时上下位机即可通过 USB 顺利完成通信握手。

🛠️ 三、 绝境求生:主板 USB 损坏时的 UART 串口通信与“卡刷”方案

在实际搭建或使用中,若遭遇强电击穿导致八爪鱼主板的 USB 芯片损坏,或 Type-C 物理接口脱落,常规的 USB 连接将失效。此时,可以改用树莓派 GPIO 硬件串口(UART)直接连接八爪鱼主板的 TFT/UART 接口进行应急救砖与日常打印。

1. 物理引脚飞线连接

请准备三根杜邦线,按照以下针脚图将树莓派排针与主板 TFT 接口相连(注意交叉接线):

[ 树莓派 GPIO 排针 ]                        [ 八爪鱼主板 TFT 接口 ]
   TXD (Pin 8  / GPIO14) ------------------->  RX2 (PD6)
   RXD (Pin 10 / GPIO15) ------------------->  TX2 (PD5)
   GND (Pin 6  / Ground) ------------------->  GND

注意:连线时请切断主板和树莓派的电源,严禁带电热插拔杜邦线。

树莓派与八爪鱼主板 UART 串口接线引脚图

2. 开启树莓派硬件串口

树莓派系统默认将硬件串口分配给了蓝牙设备,需要在底层配置文件中释放并启用硬件 UART:

  1. 在 SSH 终端中编辑系统配置文件:
sudo nano /boot/firmware/config.txt
# (注:旧版本系统路径可能为 /boot/config.txt)
  1. 在文件末尾添加以下两行,启用硬件 UART 并将蓝牙功能映射到低速串口(miniuart):
enable_uart=1
dtoverlay=miniuart-bt
  1. 按 Ctrl + O 保存,按 Ctrl + X 退出,并执行 sudo reboot 重启树莓派。

3. Klipper 固件编译 (UART 串口模式)

再次进入固件配置菜单:

cd ~/klipper
make menuconfig

按照以下参数进行修改:

  • [*] Enable extra low-level configuration options
  • Micro-controller Architecture ➡️ STMicroelectronics STM32
  • Processor model ➡️ STM32F446
  • Bootloader offset ➡️ 32KiB bootloader
  • Clock Reference ➡️ 12 MHz crystal
  • Communication interface ➡️ 选择串口通信接口,绝对不要选 USB。根据您的物理接线选择:
    • 若接在主板 TFT 接口:选择 Serial (on USART2 PD6/PD5)
    • 若接在主板排针专属 Raspberry Pi 接口:选择 Serial (on USART1 PA10/PA9)

按 Q 保存并退出,再次运行 make clean && make -j4 生成串口专用固件。

4. 强行卡刷与串口 printer.cfg 配置

  1. 同样将生成的 klipper.bin 重命名为 firmware.bin,放入 MicroSD 卡插入八爪鱼主板卡槽。
  2. 重新通电,确保文件名被主板自动修改为大写的 FIRMWARE.CUR。
  3. 打开 Fluidd 控制台的 printer.cfg,将 [mcu] 节点下的路径改为树莓派硬件串口设备:
[mcu]
# 3B/4B/5 代树莓派通常使用的映射硬件串口设备为 /dev/ttyAMA0
serial: /dev/ttyAMA0
restart_method: command
  1. 保存并重启 Klipper,此时下位机即可通过主板的 USART2 物理串口完成与树莓派的完美复活握手!

💡 四、 核心引脚配置参考 (Voron 2.4 经典引脚定义)

为方便硬件连接与软件配置核对,您可以参考下方的八爪鱼主板 Pin 脚定义图。如果需要查看更高清的矢量图,可在文章开头或点击这里直接 📥 下载 BIGTREETECH Octopus Pro - 完整版引脚图 (PDF) 。

BIGTREETECH Octopus Pro 引脚分配图 (Pinout)

以下为您提取了八爪鱼主板对应 Voron 2.4 的常用驱动引脚配置,方便您在编写 printer.cfg 时核对:

模块名称步进电机插槽驱动 Step Pin驱动 Dir Pin驱动 Enable PinTMC2209 UART Pin
X轴 (B电机)MOTOR 0PF13!PF12!PF14PC4
Y轴 (A电机)MOTOR 1PG0!PG1!PF15PD11
Z0 轴 (左前)MOTOR 2_1PF11PG3!PG5PC6
Z1 轴 (左后)MOTOR 3PG4PC1!PA2PC7
Z2 轴 (右后)MOTOR 4PF9!PF10!PG2PF2
Z3 轴 (右前)MOTOR 5PC13PF0!PF1PE4
挤出机 (E0)MOTOR 6PE2PE3!PD4PE1

🔎 五、 上下位机握手验证与版本对齐排坑

在完成上述配置后,若网页端抛出警告或错误,请参照下表排查:

现象 / 诊断报错故障原因分析标准解决方案
mcu 'mcu': Timeout on connect上下位机物理链路不通,或 serial 路径填写错误检查 USB 线缆是否损坏;若为串口模式,确认 TX/RX 杜邦线是否接反;确认 ls /dev/serial/by-id/* 输出的 ID 与配置文件一致。
MCU 'mcu' has deprecated code上位机(树莓派 Klipper 软件)版本升级后,与下位机(MCU 固件)版本不对齐重新在树莓派中执行 make menuconfig 编译最新固件,并重新刷入八爪鱼主板。
Permission denied: '/dev/ttyAMA0'树莓派当前登录用户(如 pi)缺少 tty 或 dialout 串口操作权限执行 sudo usermod -a -G tty,dialout pi,并**务必重启树莓派(sudo reboot)**让权限生效。

(第三部分:Voron 2.4 必趣八爪鱼 (Octopus) 主板固件编译、刷写与上下位机通信配置完成。第四部分我们将进入 Klipper 机械/传感器校验、PID整定与首层校准避坑指南实战。)

本文引用与技术讨论规范

作者:陈亚明(Tony Chen)|微型电磁执行器数字化研发专家

原始出处:ansv.net

本文链接:https://ansv.net/knowledge-base/voron-24-engineering-tuning/03-octopus-mcu-configuration/

版权声明:除另有说明外,本文原创文字、公式与原创图示采用 CC BY-NC-ND 4.0(署名—非商业性使用—禁止演绎)协议授权。欢迎在署名、注明原文链接且仅作非商业用途的前提下转载;不得改编、删改或拆分原文内容。

除非另有明确说明,文中涉及的第三方商标、专利附图、产品图片及其他第三方素材,均不在本 CC 协议授权范围内,相关权利归其各自权利人所有。

如有技术交流,欢迎联系:hi@ansv.net。

💬 探讨与反馈

💡 快速交流与账号登录贴士
🔹 免填/趣味随机昵称:系统已为您随机分配趣味昵称(如「摸鱼的卡皮巴拉」「喝冰美式的工程喵」),可随时点击 快速换一个,支持免注册畅聊。
🔹 第三方账号一键登录(密码绝不泄露):支持 GitHub、微博、Twitter、Facebook、QQ 官方直接授权登录。点击输入区右上角登录图标即可一键登录,采用标准 OAuth 2.0 官方鉴权机制,密码全程由官方平台验证,本站绝不经手且无法获取您的密码,安全可靠。
🔹 QQ 号免密同步头像:直接在邮箱栏输入 QQ 号 或 QQ 邮箱(如 123456@qq.com),无需登录即可秒显您的专属 QQ 头像。