编程语言研究书库

组装机器人底盘 — 卡扣、转接线与独立供电

组装机器人底盘 — 卡扣、转接线与独立供电

这一章讲什么: 纯动手章。把第 02 章买的零件拼成一台能通电的机器人底盘: 拼底盘卡扣 → 装电机轮子 → 把 Pi 和 Inventor HAT Mini 装上顶板 → 做电机/编码器转接线 → 绑充电宝 → 通电,SSH 连上。 学完你能带走三样手艺:免焊接线、连接器转接、通电测试流程——它们对任何电子项目都管用。

1. 先看现象:这一章过完,机器人第一次「活了」

到此为止,一切都是准备:选了零件(第 2 章)、烧了系统卡(第 3 章)、写了同步工具(第 4 章)。 这一章结束的标志物很明确:一台不插墙电、自己背着电池的机器人, 你用 SSH 从电脑上连上去,看到熟悉的提示符——「完全无线、远程可达」1。

但先泼一盆冷水:通电之前的一切操作,错误都可以撤销;一通电,接错的线就是真损失。 所以本章暗含一条仪式链:每一步做完都有「验证动作」——卡扣装到位有「咔哒」声, 线接完有分组核对,通电先看灯再看 SSH。书里甚至提醒: 充电宝的线先别插 Pi,等到「准备就绪」那一刻再插2。

2. 顶层全景:五个工位

 ① 拼底盘    下板 + 电机支架 + 电机 + 轮子 + 万向轮珠 + 上板
 ② 装大脑    Pi + 散热片 + GPIO 增高排针 + Inventor HAT Mini + 卡扣固定
 ③ 做线      电机 2 针 + 编码器 4 针 ⇢ WAGO ⇢ HAT 6 针(左右各一套)
 ④ 上电准备  充电宝绑下板,按钮灯朝后,线走 Pi 底下大开口
 ⑤ 通电测试  灯闪 → 灯停 → SSH 连上 → sudo poweroff(先关机再拔线!)

 图说:①②③ 都可以翻回去重来,④⑤ 开始要按顺序、守规矩。

3. 核心原理之一:免焊组装——卡扣与支架的力学

底盘零件从「板架(sprue)」上掰下来再拼——书里建议留着原包装盒当零件盘3。 这一章的机械装配全是卡扣(snaps)与夹持的学问,没有一颗焊点:

电机支架两步装法(两个支架,左右各做一次): **卡环支架(collar bracket)先套进电机座的平面侧——在固定夹和齿轮箱之间推进去, 再绕电机座旋转,让支架的平面与电机轴同向——这一转就把支架锁死了, 同时保证之后装轮子时不打架4。然后端部支架(end bracket)**也按「平面朝轴」的方向装上。

电机上底盘:对准底盘槽位——注意连接器和编码器盘相对底盘的朝向, 把卡扣推进槽里,来回晃一晃,听到「结实的咔哒」就是锁到位5。

轮子和第三点支撑:电机轴的横截面是带平面的(不是纯圆), 轮子的轴孔也带平面——对准平面推入,转到咬合再推到底;推的时候从另一侧托住电机, 别让轴承受全部推力。机器人由此坐在「两个轮子 + 一个万向轮珠(castor nub)」上, 三点支撑,能自己站稳6。

上板:四根斜角支撑柱(support struts)对准对角卡入,再把上板扣上—— 先外圈四根、再电机侧四根,每根都推到卡扣完全咬合7。

这些步骤没什么理论,但书里反复强调的**「对齐平面、听到咔哒、不要硬来」** 是所有塑料卡扣装配的通用纪律——硬掰就是断件。

4. 核心原理之二:装 Pi 和 HAT——散热、绝缘与应力

电子装配的第一步是散热与绝缘,书里演示得很细:

  • Pi 4 要贴散热片(heatsink),但散热片是金属的、会变高;
  • HAT 扣上去之后,板底绝不能碰到散热片的金属——否则短路;
  • 解法:GPIO 增高排针(GPIO riser)——一段加长的排针插座,把 HAT 垫高; 再用 M2 铜柱把 HAT 的螺丝孔和 Pi 的螺孔撑起来,让 HAT 底面与铜柱端面齐平8。

这个组合解决的是两个隐患:绝缘(金属对金属会短路)和应力(全靠排针撑着 HAT, 插拔时会撬松焊盘;有了铜柱,力走螺丝不走排针)8。

扣 HAT 的手法也有讲究:均匀下压在插 GPIO 的位置周围,别让排针单边受力; 螺丝拧到「没有缝隙」就停——再紧会伤零件9。

最后整个「Pi + HAT」组件用主板的塑料卡扣(clips)固定在顶板上; 卡扣的位置是经过挑选的,避开 Pi 上连接器的凸起,不会顶到任何接口10。

5. 核心原理之三:转接线——插头对不上,是常态不是事故

本章技术含量最高的一节。问题很具体:电机自带两根线(2 芯驱动 + 4 芯编码器), 插头是 JST 2.0 PH;而 Inventor HAT Mini 的电机口是 6 芯 JST 1.0 SH—— 形状不同,插不进11。书里点了一句大实话:插头形状对不上,是电子项目的常态, 解决思路是「转接」而不是「重买」11。

机制:三组线,六个回路

 HAT 侧(6 芯 JST 1.0 SH)        WAGO 转接         电机侧
 ┌──────────────────────┐      ┌──────┐      ┌──────────────────┐
 │ M1 / M2   电机动力 ±    │═════│      │═════│ 2 芯 PH:电机 ±    │
 │ VCC / GND 编码器供电    │═════│ 免焊  │═════│ 4 芯 PH:VCC/GND  │
 │ A / B     编码器信号    │═════│ 对接  │═════│ 4 芯 PH:A/B 信号  │
 └──────────────────────┘      └──────┘      └──────────────────┘
 图说:6 根线分三组,组与组之间绝不能混——动力线串进信号组会烧东西。

三组各自的职责(后面章节全要用):M1/M2 是电机的动力,电流大; VCC/GND 给编码器小板供电;A/B 是编码器的两路脉冲信号,计数靠它(第 11 章)12。 纪律书里写得清楚:不要跨组;多余的线先整根留着,别剪12。

免焊对接:WAGO 221 与剥线手法

转接不用焊,用 WAGO 221 直插连接器:带扳手的凸轮结构,把两根线的金属芯压进同一个 导体,牢固对接13。配的材料清单:电机自带 2 芯和 4 芯 pig-tail(预压接线尾, 约 30 cm)各一;HAT 侧 6 芯 JST 1.0 SH pig-tail(约 120 cm,偏长);WAGO 221 12 个14。

剥线手法书里教到手指级别:

  1. 剥线钳咬在该剥的位置,压下去,绕一个小圈切断绝缘皮,拉掉;
  2. 细线末端容易散,把散开的铜丝拧成一股,端头变粗更好夹;
  3. WAGO 扳手抬起、线插到底、扳手按下——注意书里用 Note 框警告: 合拢时手指别放在连接器下面,它合拢的力道不小15。

成品:一侧电机需要 6 个 WAGO、12 个对接点(6 根线两端各一); 两侧共做两套16。做完用海报胶泥(Blu-Tack)把 4 个一组、2 个一组的 WAGO 各自拢成块, 再把两块叠起来——空间占得小,也防止它们在机器人肚子里晃散; 有螺旋包线管的话,此刻把线束包起来,后面走线会顺很多17。

回到主线例子:一根转接线的完整生命

 取线      HAT 侧 6 芯 pig-tail(1.2 m) + 电机侧 2 芯/4 芯 pig-tail(0.3 m)
 分组      6 根线按 M 动力 / VCC-GND / A-B 信号分三组(书图 5.12 的配色只是示意,
           实物线色不对应,务必按组而非按色)
 剥拧      每端剥 ~5–6 mm,散铜丝拧成一股
 对接      两端进同一个 WAGO,扳手压下(手指避开下方)
 成束      4+2 两组 WAGO 用胶泥拢块、叠放;可选包线管
 走线      HAT 端插入 6 芯插座(图 5.15 箭头 A),线从上板左右槽穿出(B),
           WAGO 块轻塞到 Pi 底下(C)——不要硬塞
 底面      机器人翻面,线从检修口(D)拉出,插进电机与编码器插头(E)
 图说:先上板、后底面;一次做一侧,动力与编码器线始终不分开。

排障哲学在这一节也埋了伏笔:书里让你一次只做一侧,这样电机接线和编码器接线 始终成对,不容易张冠李戴18。

6. 核心原理之四:独立供电——充电宝就是这块机器人的油箱

供电方案在第 02 章已定(单充电宝、共电),本章是落地:

  • 固定:魔术贴扎带(Velcro ties)穿进上板槽位,从下面兜住充电宝、收紧;
  • 朝向:充电宝的按钮和电量灯朝车尾——外面一眼能看到还剩多少电;
  • 走线:充电口的线从 Pi 底下的大开口上来,但先别插进 Pi——把一切就绪再通电2。

选魔术贴而不是胶的理由藏在第 5 章的练习里:电池要经常拆下来充电, 固定方式必须可重复拆装——这是所有电池固定的通用约束。

7. 核心原理之五:通电测试——灯、SSH、关机,一个不能少

通电时刻的完整流程:

  1. 先看灯。USB 线插上 Pi,灯亮;绿灯闪烁是在启动;灯不亮先查充电宝有没有电。
  2. 等灯停。绿灯停止闪烁 = 系统起来了(第 03 章的灯语)。
  3. SSH 验证。ssh <用户名>@<主机名>.local ——看到提示符,就是「完全无线、远程可达」的实锤1。
  4. 低电量线索。如果接了显示器,屏幕角落的闪电图标代表供电不足—— 充电宝 3 A 不够的征兆19。
  5. 先关机再拔线。sudo poweroff,等灯灭,再拔 USB——第 03 章的 SD 卡护身符, 这里再用一次;书里原话「务必总是 poweroff,否则拔电会损坏 SD 卡」20。

这一步过了,你就拥有了一台真正脱离插座的机器人:独立供电 + 无头 Wi-Fi, 意味着它可以被你电脑上的指令驱动着满地跑了21。缺的只有代码——那是下一章的事。

8. 作者的判断与证据

  • 判断: 免焊优先是第一台机器人的价值观:WAGO 代替焊锡、pig-tail 代替自制线、 卡扣代替螺丝——书里明说焊锡技能「对第一台机器人尽量轻量」,要学也是小排针起步22。
  • 判断: 「先做转接线、再整根留长」是对新手最友好的容错设计——书里允许你后头剪短重剥, 但反对一上来就剪12。
  • 经验证据: 卡扣「结实咔哒」、WAGO 合拢力道、闪电图标 = 低电压, 都是可当场验证的观察;SparkFun 官方装配指南被引用为卡扣细节的出处9。
  • 留白: 书里坦承不同底盘的装配差异大,「完全不同的底盘请去看它的文档」3。

9. 边界与局限

  • 只对 Shadow 底盘 + Inventor HAT Mini 逐步负责。 换底盘或换 HAT, 卡扣、螺柱、插座全部不同,但「对齐→咔哒」「三组线不混」「先灯后 SSH」的方法论还在。
  • 没有电路原理图教学。 书里给的是接线分组图,不是电压电流分析; 为什么电机线和信号线不能混,得靠第 01 章「电机吃电流」的常识补。
  • 通电测试不含电机转动。 本章结束时电机只是「接好了」,转不转、转得对不对, 全部留给第 6 章用代码验——这是有意的顺序:先证明「身体活着」,再让它「动」。

10. 可带走的

  1. 卡扣装配三纪律:对齐平面、听到咔哒、绝不硬来5。
  2. 装 HAT 两隐患两解法:金属碰金属会短路(增高排针解决)、排针单边受力会撬坏(铜柱卸力解决)8。
  3. 插头对不上是常态,转接的思路:两头 pig-tail + 中间免焊对接11。
  4. 电机侧三组线——动力(M)、编码器供电(VCC/GND)、信号(A/B)——组间绝不交叉12。
  5. WAGO 四步:剥(钳子转小圈)、拧(散铜成股)、插(到底)、压(手指避开下方)15。
  6. 细线工程一次做一侧,让相关线始终成对18。
  7. 电池固定要可拆(魔术贴),电量显示要可见(按钮灯朝外)2。
  8. 通电测试顺序:灯亮 → 灯停 → SSH 通 → 闪电图标查供电 → poweroff 后再拔线1920。

11. 原文地图

主题原书位置
底盘零件与 spruetext/51-fm-technical-requirements.txt:19(搜「on a sprue」)
电机支架两步装法text/51-fm-technical-requirements.txt:29(搜「collar bracket」)
电机上底盘与咔哒text/51-fm-technical-requirements.txt:83(搜「solid click」)
轮子平面与万向轮text/51-fm-technical-requirements.txt:62(搜「flat edges」)
散热、GPIO riser、HAT 扣装text/52-fm-fitting-the-raspberry-pi.txt:33(搜「GPIO riser」) · text/52-fm-fitting-the-raspberry-pi.txt:57(搜「even pressure」)
连接器不匹配与转接思路text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:22(搜「common problem」) · text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:31(搜「6-pin JST 1.0」)
三组线与纪律text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:61(搜「There are three groups of」)
WAGO 免焊与剥线text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:43(搜「without soldering」) · text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:83(搜「snap with some force」)
一侧一套与走线text/54-fm-connecting-independent-power.txt:10(搜「Work on one side at a time」)
电池固定text/54-fm-connecting-independent-power.txt:35(搜「button and lights face the rear」)
通电测试与关机text/55-fm-the-completed-robot-base.txt:13(搜「lightning icon」) · text/55-fm-the-completed-robot-base.txt:15(搜「totally untethered」)
完成态方块图text/56-fm-summary.txt:4(搜「RGB LEDs」) · text/56-fm-summary.txt:10(搜「ready to roll」)

Footnotes

  1. 出处:「The completed robot base」第 15 段(text/55-fm-the-completed-robot-base.txt:15,搜「totally untethered」)。原文:看到无头机器人的提示符,「It is now totally untethered and reachable remotely!」。 ↩ ↩2

  2. 出处:「Connecting independent power」第 36 段(text/54-fm-connecting-independent-power.txt:36,搜「do not plug this into the Raspberry Pi」)。原文:接上充电宝的 USB 线,但「准备好之前不要插进 Pi」;线从 Pi 底下的大开口走。 ↩ ↩2 ↩3

  3. 出处:「Technical requirements」第 70 段(text/51-fm-technical-requirements.txt:70,搜「assembly instructions」)。原文:本章假设你买了推荐的底盘;完全不同的底盘强烈建议查它自己的装配文档;零件「on a sprue(板架)」,拼之前先掰下来。 ↩ ↩2

  4. 出处:「Technical requirements」第 29 段(text/51-fm-technical-requirements.txt:29,搜「collar bracket」)。原文:卡环支架推过电机座平面、在固定夹与齿轮箱之间,旋转到支架平面与电机轴同向,锁死且保证轮子不打架;此装配做两次。 ↩

  5. 出处:「Technical requirements」第 83 段(text/51-fm-technical-requirements.txt:83,搜「solid click」)。原文:端部支架平面朝轴;电机对准槽位(注意连接器与编码器盘朝向),卡扣推进槽,前后轻晃,「solid click(结实的咔哒)」即锁定。 ↩ ↩2

  6. 出处:「Technical requirements」第 62 段(text/51-fm-technical-requirements.txt:62,搜「flat edges」)。原文:电机轴带平面,对准轮子的平面轴孔推入,旋转到咬合;推到底之前从另一侧托住电机;万向轮珠扣在底下——机器人坐在两轮加一轮珠上。 ↩

  7. 出处:「Fitting the Raspberry Pi」第 8 段(text/52-fm-fitting-the-raspberry-pi.txt:8,搜「Snap the struts」)。原文:斜角支撑柱卡进对角,上板槽位对齐,先外圈四根、再电机侧四根,每根推到卡扣完全咬合。 ↩

  8. 出处:「Fitting the Raspberry Pi」第 33 段(text/52-fm-fitting-the-raspberry-pi.txt:33,搜「GPIO riser」)。原文:散热片会垫高;GPIO 引脚必须可达,HAT 底不得接触金属散热片;用 GPIO riser + M2 铜柱把 HAT 垫高,底面与铜柱齐平,减轻排针应力。 ↩ ↩2 ↩3

  9. 出处:「Fitting the Raspberry Pi」第 57 段(text/52-fm-fitting-the-raspberry-pi.txt:57,搜「even pressure」)。原文:沿 GPIO 插口周围均匀下压;螺丝拧到无缝隙即停,过紧伤零件;主板卡扣细节见 SparkFun 装配指南。 ↩ ↩2

  10. 出处:「Connecting the motors to the Raspberry Pi」第 8 段(text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:8,搜「avoid pressure on the connectors」)。原文:卡扣位置避开 Pi 的连接器凸起;此时机器人有了 Pi + 电机控制器 + 传感器/舵机接口 + 灯。 ↩

  11. 出处:「Connecting the motors to the Raspberry Pi」第 22 段(text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:22,搜「common problem」)。原文:电机线插头配不上 HAT 的电机口是「common problem(常见问题)」;HAT 侧 6 芯 JST 1.0 SH 内含电机动力和编码器针脚。 ↩ ↩2 ↩3

  12. 出处:「Connecting the motors to the Raspberry Pi」第 61 段(text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:61,搜「There are three groups of」)。原文:三组——电机动力 M1/M2、编码器供电 VCC/GND、编码器信号 A/B;先用整根 pig-tail;注意不要跨组;线色仅示意,实物不匹配。 ↩ ↩2 ↩3 ↩4

  13. 出处:「Connecting the motors to the Raspberry Pi」第 43 段(text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:43,搜「without soldering」)。原文:WAGO 221 直插连接器用凸轮把线芯压进导体,免焊牢固对接;本为粗线设计,配文中的细线手法好用。 ↩

  14. 出处:「Connecting the motors to the Raspberry Pi」第 49 段(text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:49,搜「around 30 cm long」)。原文 Tip:电机自带 2 芯与 4 芯 pig-tail 各约 30 cm;另购 6 芯 JST 1.0 SH pig-tail 约 120 cm、WAGO 221 12 个。 ↩

  15. 出处:「Connecting the motors to the Raspberry Pi」第 83 段(text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:83,搜「snap with some force」)。原文 Note:剥线钳咬绝缘、绕圈、拉掉;散铜拧成更粗的端头;合拢时手指别在连接器下方——它合拢有力。 ↩ ↩2

  16. 出处:「Connecting the motors to the Raspberry Pi」第 85 段(text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:85,搜「6 inline connectors」)。原文:一侧一套组件,6 个直插连接器、12 个对接点;做几组就熟练;共需两套。 ↩

  17. 出处:「Connecting the motors to the Raspberry Pi」第 93 段(text/53-fm-connecting-the-motors-to-the-raspberry-pi.txt:93,搜「poster-putty」)。原文:4+2 分组用胶泥拢块,叠放省空间;可选螺旋包线管分别包 HAT 线束与编码器线束。 ↩

  18. 出处:「Connecting independent power」第 10 段(text/54-fm-connecting-independent-power.txt:10,搜「Work on one side at a time」)。原文:底面接线翻面操作;从检修口拉线、插电机与编码器插头;线太长可剪短重剥;一次做一侧,电机与编码器接线保持成对。 ↩ ↩2

  19. 出处:「The completed robot base」第 13 段(text/55-fm-the-completed-robot-base.txt:13,搜「lightning icon」)。原文:插电灯亮;没灯查充电;可接显示器看闪电图标——它也指示供电不足。 ↩ ↩2

  20. 出处:「The completed robot base」第 20 段(text/55-fm-the-completed-robot-base.txt:20,搜「SD cards can be corrupted」)。原文:拔电前务必 sudo poweroff;否则可能损坏 SD 卡。 ↩ ↩2

  21. 出处:「Summary」第 10 段(text/56-fm-summary.txt:10,搜「ready to roll」)。原文:底盘配齐轮子、Pi、电池,接近 ready to roll;让它「活过来」只差代码;独立供电 + 无头 Wi-Fi = 可被电脑指令驱动。 ↩

  22. 出处:「Connecting the motors to the Raspberry Pi」第 44 段(同 13)。原文明确「join two wires securely without soldering」;与第 02 章「免焊优先」一脉相承。 ↩

On this page