第 10 课 · 舵机:从 SG90 到总线舵机
这一课解决什么问题:这一课先用 ¥0 的 SG90 实验建立手感,再讲清总线舵机的门牌号规则——鸭子 15 个舵机是最大的花钱项,别在它身上交学费。
前置:第 02 课(舵机与总线两个概念)。动手需要一块树莓派 + 一颗 SG90;总线调试板等第 12 课到位。
1. PWM 舵机 vs 总线舵机(回扣第 02 课)
| SG90(PWM 舵机) | 总线舵机(Dynamixel/Feetech) | |
|---|---|---|
| 怎么指挥 | 信号线上的精确脉冲(0.5–2.5ms 脉宽对应角度) | 数据线上的数字指令,1 Mbps |
| 地址在哪 | 它插的 GPIO 脚号——15 只舵机拉 15 根线 | ID 门牌号——一根线挂 15 只 + 1 块 IMU 板 |
| 有没有反馈 | 无,你只能"希望"它转到了 | 有,每台有 Control Table:位置/速度/温度/电压,能读能写 |
SG90 的"位置"是单方面命令;总线舵机的位置是读回来的事实。
2. 为什么从 SG90 开始:¥0 的四课实验
项目手头正好有 SG90×6 和一台 Pi 2,构建日志的结论:SG90 反正上不了鸭(PWM 无反馈、力矩只有 1/3、孔位不同),但 + Pi 2 是最佳 PWM 入门台架——坏了不心疼,实验全程 ¥0。
Mac 没有 GPIO,让 Pi 2 当代理:刷机、插网线、ssh 用户名@raspberrypi.local 连上,把教学脚本拷过去逐课跑(脚本:microduck-replica/rl-series/scripts/pi_sg90_bench.py,接线见头注释)。四课内容:
① 单舵机扫角 接线和行程对不对
② 负载保持 挂 100–200g,听扫齿、摸温度
③ 六舵机波浪 供电扛不扛得住
④ 开环漂移 命令 90° 后手指捏住输出轴
接线要点(改线前永远先断电):信号线接 GPIO 17/27/22/23/24;电源绝不要接 Pi 的 5V,用外接 5V≥3A 或 4 节 AA 电池盒(≈6V,在 SG90 规格内);电源负极和 Pi 的 GND 连一根线(共地,下一节)。
第 ④ 课是灵魂:你捏住舵机轴,软件读到的"位置"永远是它自己写进去的 0.5——真实角度无人知晓。这就是鸭子必须用带编码器的总线舵机的全部理由,亲眼看一次胜过读十遍。
3. 共地:新手第一大故障
调试板只传数据不供电,舵机必须独立供电——于是有两套电。铁律:调试板的 GND 必须和舵机电源的 GND 连通(一根杜邦线的事)。忘了共地 = 扫描不到舵机或读数乱码,这是新手第一大故障。信号有没有参照,全看地通不通。上电顺序:接线 → 量短路 → 先舵机上电 → 再插 USB。
4. ID 是总线的门牌号
总线上所有舵机共享一根线,靠 ID 区分"这句话是喊谁的"。出厂 ID 全是 1——两只出厂舵机一起挂上总线,两只同时抢答,谁也通信不了。两条铁律:总线上同时只允许存在一只还没设好 ID 的舵机;每设好一只,断电、贴标签,再接下一只。
用 Dynamixel Wizard 2.0(Mac 官方免费)设置:先只勾 57600 波特率扫描(出厂默认),扫到后在 Control Table 改:ID → 目标号;Baud Rate → 1000000(运行时全总线 1Mbps);Return Delay 250 → 0(不改的话 16 台设备一 tick 白吃 8ms,40% 预算);Shutdown 去掉电压错误触发(防电池带载波动误停机)。目标 ID 表:10–14 右腿、20–24 左腿、30–34 头颈嘴、200 留给 IMU 板。15 只约一个傍晚设完,别偷懒跳过贴标签。
5. 两条路线,选一条别混用
| 路线 | 调试板 | Mac 软件 | 项目现状 |
|---|---|---|---|
| Dynamixel | U2D2 ≈¥200/套 | Wizard 2.0 官方 Mac 版 | XL330 报价 ≈¥2580+,贵 |
| Feetech | FE-URT-1 ¥45 或第三方 ¥22–26 | Python SDK(Mac 直跑) | 本项目实购 HL-1910-C001 ×15 ¥1500 |
本项目选了 Feetech(省约 ¥1100,详见第 12 课);飞特出厂 Return Delay 已是 0、波特率已 1Mbps,要改的主要就是 ID。别混用:两家的 ID 表不一样(平价教程路线用 ID 1–15),部署代码按 ID 找关节——表混了 = 左腿当右腿 = 一上电就劈叉。起步门票:FE-URT-1 + 1 只总线舵机 ≈¥220。
动手练习(一个周末,¥0)
跑完四课实验,重点做第 ④ 课,把"捏住轴时软件读数不变"这个观察写进笔记。
自查清单
- [ ] 我能说清 PWM 舵机和总线舵机的区别(15 根线 vs 1 根线,命令 vs 反馈)
- [ ] 我亲眼见过"开环漂移",能解释它为什么证明 SG90 不能上鸭
- [ ] 我能背出共地铁律和两条 ID 铁律,以及忘了会发生什么
- [ ] 我知道本项目 15 只舵机买的是哪条路线、花了多少钱
下一课预告
第 11 课讲挂在 ID 200 上的那块小板子:官方没公开、全网买不到,只能自己画——但它只有 5 个芯片,是完美的第一块自绘板。
延伸资源
- macOS 舵机调试、ID 设置与图纸查看手册(本课母本):
docs/macOS舵机调试与图纸查看指南.md - SG90 四课实验脚本:
microduck-replica/rl-series/scripts/pi_sg90_bench.py - FTDI 官方 VCP 驱动(
ftdichip.com/drivers,串口没出现时装;该站对部分网络环境关闭,新版 macOS 通常已内置)