从一块面包板开始:开源球形机器人复刻
从辨认材料、焊接城堡孔和第一次通电,到电机没有转、打开原理图并最终让透明球壳滚起来。
根据 Murphy 与 ChatGPT 的项目讨论、实机操作记录及留存文件整理。
这是一组连续的复刻记录。第一部分从材料和工具开始,停在两只电机都没有转;第二部分从这个失败结果继续排查,直到遗漏在视频教程之外的两个焊盘被发现。
从一块面包板开始
开始以前
决定做实体项目以后,Murphy 先让 AI 给清单上的每一种材料配一张图片,清单里有 ESP32 和功放,也有陀螺仪与震动马达。这些只是一些刚刚记住的名字,她准备到店以后直接照着图片找,她不太敢和店员沟通。
最先查到的电子元件店已经永久关门,Canadian Tire 和 Home Hardware 只能买到一部分工具,开发板和传感器需要去专门的电子元件店,她后来去了 Sayal Electronics。
Sayal 离住处很远,她在路上晕车晕得很厉害。货架上的东西按元件类型排列,她把相似的板子和工具拍下来,再逐张发给 AI,确认型号和接口,尺寸和兼容性。
铜箔胶带要确认宽度和背胶,杜邦线分公对公,公对母和母对母,面包板又有不同大小。她最后拿了一块带金属底板和接线柱的 MB-104,又把连接线放进篮子,补了尖嘴钳和剪线钳。
最初的材料和工具大多在加拿大购买,单价和税费累积起来以后,她会在同类商品之间反复比价。后来的采购改成从淘宝下单,再通过转运寄到加拿大,这样便宜很多,到货时间更长,下单前还要核对型号和国内收货地址,合箱方式,运费与禁运规则。
那套电烙铁工具包里附了一只黄色万用表。当时她只知道以后可能会用到,还不知道表盘上的符号分别是什么意思。
第一次定制 PCB
ESP-ROLL 的开源资料里有主板 Gerber,另有一份元件清单和一份贴片坐标文件,Gerber 用来生产 PCB,另外两份文件交给工厂完成板上的小型贴片元件。
下单页面要求上传生产文件,Murphy 当时不知道 PCB 具体是什么,在开源文件里找对应的内容花了很久。
Gerber 上传以后,她说电路图好像一座迷宫,又对着开源资料,把元件清单和贴片坐标文件分别传上去,提交以前,她把不确定的文件发给在线工程师确认。
主板和贴片部分随后由国内工厂制作,再寄到加拿大,但这一步没有覆盖整块主板。收到 PCB 时,板上已经装有 MOSFET 和 DRV8833 电机驱动器,电阻电容也已经贴好,XIAO 仍然单独放着,电源开关和蜂鸣器没有安装,LED 以及电机线和电池线也需要继续处理。
4 月 8 日开始复刻 ESP-ROLL 时,桌上已经有透明球壳和两只减速电机,打印好的内部结构放在旁边,定制 PCB 和一块 XIAO ESP32S3 Sense 也已经到手。
Murphy 打开作者的制作视频和原理图,把手边的东西摆在一起,让 AI 按顺序带她做,她的手边只有一卷材料,她把它叫作“锡条”。
她说的“锡条”其实是成卷的焊锡丝,教程里出现的灰色膏体是锡膏。焊锡丝可以配合电烙铁手焊,锡膏通常配合热风或加热台,助焊剂又是另一种东西,用来帮助焊锡润湿焊盘。
城堡孔
接下来要焊的 XIAO 没有传统长排针,两侧各有一排半圆形金属边缘,名字叫城堡孔。模块平放在主板中央,USB-C 接口朝向 PCB 边缘,每一个半圆都要和下面的焊盘形成连接。
第一次定位时,先在一个角留下少量焊锡,再用镊子压住 XIAO,烙铁重新加热这个角时,模块会跟着焊锡移动,一个角固定以后还要看两侧焊盘有没有对齐,再固定对角。
接下来的问题是焊锡怎样进入城堡孔,锡量太少时,外面看得到一小点银色,内部不一定导通,锡量多了会沿着边缘连到相邻焊盘。烙铁停留得太久,又要担心 XIAO 和主板受热,这一步花了很久。
Sn63/Pb37 是有铅焊锡,无铅焊锡需要更高的温度,助焊剂和锡膏不能互相替代,吸锡带可以清掉多余的锡。焊点表面看起来完整,也仍然可能虚焊。
Murphy 手里的旧电烙铁可以发热,温度和烙铁头状态都不稳定,她比较过国内和加拿大的价格,国内一款约四百元,换算后约为 85 加元,从国内寄到加拿大接近两周,而加拿大亚马逊上同档产品约为 113 加元,税费另算。她家里已经有一把可以继续使用,因此暂时没有更换。
第一次把电烙铁插进插座时,她担心它会不会爆炸,确认烙铁正常升温后,她把支架放在旁边,继续处理 PCB。后面几天,她又买了 Sn63/Pb37 焊锡丝和锡膏,也买了一台小型加热台,准备重新处理城堡孔。
黄色万用表
万用表从工具包里取出来以后没有反应,后盖里需要装一块 9V 方形电池,套装没有附带,Murphy 只好再去买电池。那几天每发现一个缺口,采购清单就会多出一项,焊锡丝和助焊剂先后被买回来,后来桌上又多了锡膏与加热台,热缩管和不同规格的杜邦线。
她最初不愿意使用万用表,把它当成专业人员才会使用的工具,因此一直拖着没有碰。表盘上有直流电压和电阻,也有二极管与蜂鸣档,红黑表笔应该插在哪里,旋钮应该转到哪个符号,表笔碰到两个焊点时数字代表什么,都要重新问。
仅靠放大照片检查城堡孔,无法确认电气连接,最后还是把黑表笔和红表笔接好,将旋钮转到通断档,再逐个检查焊盘。两点连通时万用表发出蜂鸣,没有声音时,需要继续判断是测试位置不对,焊点没有接上,还是两点原本就不应该导通,从那以后,她开始用万用表检查电池电压,虚焊和公共地。
第一次通电
XIAO 固定以后,电源开关和蜂鸣器继续装上主板,白色与红色 LED 穿过板孔,两只电机接到驱动器输出端,电池接到主板电源输入,打印好的轮子和支架随后装进透明球壳。
作者提供的固件会让设备建立自己的 Wi-Fi,手机连接后可以进入控制页面,看到摄像头画面,再按页面上的方向键控制左右电机。
第一次通电时,XIAO 能启动,手机也能打开控制页面。Murphy 按下方向键,两只电机都没有转。
记录来源 对话模型依据项目讨论和留存文件,按项目规范持续归档。
它没有转
从主板到球壳
XIAO 焊好以后,主板上继续安装电源开关和蜂鸣器,白色与红色 LED 穿过板孔,两只减速电机装进 3D 打印结构,轮子抵住透明球壳内壁,内部配重压低重心,摄像头朝向球壳前方。
项目使用作者提供的 ESP32-CAM_MJPEG2SD 固件,设备启动后会建立自己的 Wi-Fi,手机可以进入控制页面,看到摄像头画面和电机方向按键。Murphy 没有改写这套固件,先按开源项目原本的结构装配,准备确认硬件能不能完成最基本的滚动。
第一次通电时,XIAO 能启动,手机也能打开控制页面,方向按键按下去以后,两只电机都没有动作。
一个结果对应很多可能原因
“电机不转”可能来自 XIAO 虚焊,也可能是相邻城堡孔被锡桥短接,电池没有把正确电压送到驱动器,固件里的控制引脚与主板不同,DRV8833 没有工作,电机本身有问题,或者内部车轮卡住,结构故障和电路故障在这里会得到同一个结果。
最先重查的是亲手焊过的部分,Murphy 用手机放大焊点,再用万用表检查通断,焊点表面有锡不等于电气上已经连接,公共地没有接好时,单独看每根信号线也不能得出结论。
她把两只电机从整机里分开测试,又检查电池电压和主板供电,每确认一项,就回到控制页面再试一次,球仍然留在桌面上。
先怀疑自己的焊接
城堡孔是 Murphy 第一次做的贴边手焊,也是她最不信任的部分,第一轮检查没有得到明确结果后,她准备了新的 XIAO 和有铅焊锡,又买了锡膏和加热台,打算重新做一块。
新的做法更接近小规模回流,先把模块和主板对齐,在焊盘上放控制过用量的锡膏,再用加热台整体升温,让焊料熔化后流进城堡孔。新的 XIAO 和加热台都要重新购买,加热台还在路上时,项目先停在原处。
这一周里,她开始能认出城堡孔,知道助焊剂和锡膏不是同一样东西,焊锡又分 Sn63/Pb37 和无铅,控制电机时还遇到 I2C 和 PWM,买转接线时,又要重新确认 STEMMA QT 两端应该接公头还是母头。
同一阶段买入的东西越来越多,球壳和电机属于这次复刻,主板和电子元件也属于这次复刻,焊锡丝和助焊剂放在另一边,还有锡膏和加热台,螺丝刀旁边是剥线钳和热缩管,桌上原本已有的杜邦线也被重新分了规格。两天的采购合计约为人民币 2000 至 2500 元。
Murphy 开始算这些钱,项目专用的球壳和电机如果不能用,就只会停在这一次复刻里,新买的工具以后还能使用,可是当时没有下一台机器可以证明这一点。她问过,为什么一个文科生要尝试这种东西,感觉像疯了一样,也怀疑自己是不是把钱白花了,新买的加热台还在路上。
接下来的两天她没有再碰这批东西,开始问刚买的工具能不能出二手。她觉得自己在做成任何东西以前就把材料买齐太任性了。
两天以后,她决定最后再试一次,重新打开了原理图。
打开原理图
继续补焊会反复改变同一个变量,也可能把原本没有问题的主板焊坏,确认 XIAO 可以运行以后,排查从焊点转向整张电路。
Murphy 对原理图的排斥和最初不愿意使用万用表差不多,她觉得那是专业人员才会看的东西,打开以后说它“就像天书一样”,里面的连线又像贪吃蛇。她花了几个小时补最基础的电路知识,看久以后发现没有想象中那么难,随后开始沿着 DRV8833 的输入和输出检查,区分两路电机各自对应的控制引脚,也开始理解 PWM 和普通高低电平怎样改变输出。
ESP-ROLL 的原理图把 XIAO ESP32S3 Sense 和 DRV8833 画在同一页,XIAO 的四路控制信号进入驱动器,两组输出再通向左右电机。DRV8833 还有一个 nSLEEP 引脚,它控制芯片是否离开低功耗休眠,没有启用时,XIAO 仍然可以运行,控制页面也能发出指令,驱动器不会把这些信号变成电机动作。
nSLEEP 旁边有两个焊盘,名称是 nS1 和 nS2。原理图里显示这两个焊盘原本需要连接,视频教程漏掉了这一步,Murphy 当时一直看的是视频教程,直到打开原理图才发现。
两个焊盘
找到这行提醒以后,Murphy 把 nS1 和 nS2 之间补上连接,重新通电,再次按下方向按键,电机开始响应。内部车架重新放进透明球壳,两只轮子抵住球壳内壁,电机转动时,车架的配重留在较低的位置,透明外壳沿地面滚动。
4 月 24 日
4 月 24 日留下的下一份记录,开头只有一句话
小球成功了。
从 4 月 8 日把主板和球壳放到桌面,到 4 月 24 日让它滚起来,中间有 XIAO 的城堡孔,有第一次使用通断档,也有加热台还在路上的几天,两只电机没有动作以后,她开始读原理图,最后补上了 nSLEEP 旁边两个焊盘之间的连接。
她还写下了小球第一次在地面滚动时的想法
我意识到我大概再也回不到没有接触机器人之前的生活了。