跳到正文
已核查原始资料

Microduck XL330 制作教程:从采购、组装到首次行走

按 12 个阶段制作 AI-FanGe 路线的 Microduck:打印件、XL330 编号、接线、刷卡、配网、校准检查、首次行走与关机。

适用于 AI-FanGe 的树莓派 Zero 2 W、OpenRB-150 与 XL330 方案。按下方 12 步顺序完成;上电前核对接线,第一次运动先扶稳机体。同一套镜像、模型和舵机编号配套使用。

教程来源与适用范围

本站根据 AI-FanGe 原始教程整理操作顺序,装配细节参考 wslengzhicheng 文档,电气限制对照 ROBOTIS 厂家说明。2026 年 10 月 30 日核查。原作者提供制作视频和实机演示;本站未装机或实测。补充文档仍有部分接线照片占位,针序必须以实板丝印和厂家图为准。

1. 备齐同一路线的零件和工具

  1. 准备树莓派 Zero 2 W、OpenRB-150、14 只 XL330-M288-T、BNO080/085/086 IMU、至少 16 GB 的 microSD 卡、开关及匹配的供电。嘴部舵机可选,编号为 15。
  2. 准备读卡器、USB 数据线、万用表、小螺丝刀、M2/M2.5 紧固件和绝缘线材。采购前核对电源与连接器额定值;HD1910 的零件和镜像属于另一条路线。

完成检查

清单中已写明每块板、舵机、插头和电源的具体型号。

2. 下载打印项目,试装后再批量打印

  1. 下载固定来源根目录的 microduck3D打印.3mf,导入切片软件,逐盘检查零件。打印朝向对照作者视频,材料以作者记录的 PLA 为起点,调整为自己的设备配置。
  2. 当前 README 提到的 microduck/cad 目录已经删除,使用下方实际存在的 3MF 链接;仿真网格不能当作完整打印包。去除支撑,先打印一件试装舵机,再打印全套。

完成检查

左右零件与螺丝已分类,孔位和舵机外壳能够正常配合。

3. 装壳前,逐颗设置舵机 ID

  1. 一次只把一颗未装配舵机接到兼容的供电接口。打开 Dynamixel Wizard 2.0,选 Protocol 2.0,按当前波特率扫描;设置对应 ID、1 Mbps 波特率和 Return Delay Time 0,再按新波特率扫描并贴标签。
  2. 右腿由踝到髋依次是 1 踝、2 膝、3 髋俯仰、4 髋横滚、5 髋偏航;左腿对应 6–10;11 头俯仰、12 颈俯仰、13 头偏航、14 头横滚。保留保护性停机设置,遇到电压报错先排查供电,不通过屏蔽保护解决。

完成检查

每个 ID 唯一,14 颗舵机都能在 1 Mbps 下被识别。

4. 舵机居中,再安装舵盘与关节

  1. 裸舵机轴周围无遮挡时,在 Wizard 中移到中心位置,再关闭力矩并断电。按图示机械参考安装舵盘,保持刚才的轴位置;在封闭结构之前完成这一步。
  2. 装上对侧惰轮支撑和合适长度的螺丝。舵盘螺丝不能深入齿轮机构,惰轮固定不能拧到卡死。断电状态下逐个检查关节的机械活动范围。

完成检查

关节对齐正确,在允许范围内活动顺畅,没有卡顿。

5. 从脚部向上装两条腿和躯干

  1. 先装脚底与踝关节,右脚 ID 1、左脚 ID 6;再装膝关节 2/7、髋俯仰 3/8,随后是髋横滚 4/9 与髋偏航 5/10。左右始终按机器鸭自身判断。
  2. 把髋部连接到躯干并安装电池结构。盖板拧紧前先穿线,检查整条腿活动时是否夹线或拉线;螺丝位置对照原视频及分阶段装配章节。

完成检查

两腿编号和方向正确,线束在运动范围内没有受拉或夹压。

6. 组装头颈并固定电子器件

  1. 按照作者爆炸图安装 11–14 号头颈关节,再固定树莓派、OpenRB 与 IMU。保持教程对应的 IMU 安装朝向,不套用另一款机器人上的旋转参数。
  2. 保留 USB、microSD 卡与开关的操作空间。使用对应安装位固定板卡、绝缘裸露触点,确认头部运动不会拉扯线材后再合壳。

完成检查

板卡固定可靠,头颈活动与维护开口都正常。

7. 接电源和总线,先测量再上电

  1. 先断开电池。树莓派通过 USB 数据线连接 OpenRB,再按厂家针序接 XL330 总线及各分支。树莓派使用稳压 5 V,核对共地与 OpenRB 的电源来源选择。
  2. ROBOTIS 给 XL330 的输入范围是 3.7–6.0 V,推荐 5.0 V。要测满电时的实际最高电压,不能只看电池“6 V”标称。2S 电池不能直接接 XL330 或树莓派,电压保护保持开启。

完成检查

接负载前已确认极性、通断及两条电源轨的实际电压。

8. 接 IMU 并复查全部线束

  1. 对教程所用 BNO08x 模块,核对模块供电端后接树莓派 3.3 V,GND 共地,SDA 接 GPIO2/物理 3 脚,SCL 接 GPIO3/物理 5 脚。模块标注 VIN 或 3V3 时要分别核对,不凭线色判断。
  2. I²C 线尽量短,IMU 按原朝向固定,检查全部焊点。标有“照片占位”的图片不能作为针序依据;首次检查时先保留壳体可打开。

完成检查

没有裸露短路点、反插连接器或松动的传感器。

9. 校验并刷写 SD 镜像

  1. 从作者 image.v1 Release 下载 microduck.img.xz,计算 SHA-256 并和下方发布值对比。这是发布方给出的校验值,本站没有启动该镜像做实机测试。
  2. Raspberry Pi Imager 选择 Pi Zero 2 W、Use custom、下载的镜像和正确的 microSD 卡;此镜像选择不应用 OS customization,完成写入与校验后安全弹出。写入会清空所选卡。
SHA-256: 096885dc32fb5b1db2ad69ba6bea868d8ab988f2b47c0d884eb63ba0dfdcb5c4
shasum -a 256 microduck.img.xz

完成检查

文件哈希一致,Imager 写入验证通过。

10. 配置 2.4 GHz Wi-Fi,首次登录改密码

  1. 重新插卡,在 bootfs/network-config 填国家代码、Wi-Fi 名称与密码,保留 YAML 缩进。该树莓派使用 2.4 GHz,不能套用 KISS 的 5 GHz 建议;也可按原文用显示器、键盘和 nmcli 配网。
  2. 开机等待 1–3 分钟初始化,连接 microduck.local,无法解析时去路由器查 IP。镜像初始账号为 user、密码 password,登录后立即运行 passwd 改密码。电脑与机器人接同一网络。
ssh user@microduck.local
passwd

完成检查

可以用新密码 SSH 登录,树莓派已获取网络地址。

11. 检查舵机总线、IMU 朝向和模型

  1. 开始运动前,确认 OpenRB 串口存在、所需 ID 都能回包。控制程序停止时查看 I²C bus 1,BNO08x 常见地址是 0x4a 或 0x4b;扫描到地址不代表安装朝向正确。
  2. 把实际装配与作者 IMU_MOUNT_QUAT、关节 offset 对照,尤其检查膝关节,使用本镜像配套的 walk.onnx。方向反了、IMU 朝向不符或缺少舵机时先纠正,再开启力矩。
ls /dev/serial/by-id/
i2cdetect -y 1

完成检查

舵机身份、机械对齐、传感器朝向和模型都对应本路线。

12. 首次启动、短距离试走与关机

  1. 把机器人放在空旷地面并扶稳,再执行下方命令:程序启动会开启力矩并移动到 neutral。站姿正确后才用 v 切换行走、方向键小幅试动;x 速度归零,q 停止循环,i 显示或隐藏 IMU 信息。
  2. 必要时从第二个 SSH 会话运行 src/stop.py。结束执行 sudo shutdown -h now,等关机完成再断电。镜像的手柄模式连接手柄后会关闭 Wi-Fi,断开手柄可恢复 SSH。记录镜像版本、ID、offset 和实际结果。

在树莓派上启动

cd ~/microduck
PYTHONPATH=src .venv/bin/python src/main.py

从第二个 SSH 会话停止

cd ~/microduck
PYTHONPATH=src .venv/bin/python src/stop.py

关闭树莓派系统

sudo shutdown -h now

完成检查

能够可靠停止;异常动作、反馈丢失或整机重启解决前不继续试走。

继续制作

来源与核查日期

资料核查于 2026年10月30日 · 已核查原始资料

  1. 原始资料 1 · github.com / README.md ↗
  2. 原始资料 2 · github.com / microduck3D打印.3mf ↗
  3. 原始资料 3 · www.youtube.com / watch ↗
  4. 原始资料 4 · github.com / README.md ↗
  5. 原始资料 5 · github.com / README.md ↗
  6. 原始资料 6 · emanual.robotis.com / xl330-m288 ↗
  7. 原始资料 7 · emanual.robotis.com / openrb-150 ↗
  8. 原始资料 8 · github.com / README.md ↗
  9. 原始资料 9 · github.com / image.v1 ↗
  10. 原始资料 10 · github.com / main.py ↗
  11. 原始资料 11 · github.com / stop.py ↗