面包板接线为什么这样接:从模块需求到芯片资源分配
我拿到一块 STM32、一个 OLED、两个按键和几颗 LED 时,也很容易先拿杜邦线开始插。灯也许能亮,屏幕也许能显示,但线一多,问题就开始出现:哪根线是电源?哪根线只是信号?红色电源轨真的天然就是 3.3V 吗?为什么有的模块必须共地?
接线就是连线。接线是把一组有电压、有电流、有信号要求的模块,按照它们的资料接到一起。顺序弄反了,后面每一根线都可能是在补救前面的误判。
先数一遍,要用哪些东西
| 模块 | 要完成的事情 |
|---|---|
| STM32 最小系统板 | 运行程序,提供 GPIO 和 3.3V 电源 |
| OLED | 显示数值和按键状态 |
| 按键 A、B | 给程序两个输入信号 |
| 三颗 LED | 显示三位二进制状态 |
| 面包板和杜邦线 | 临时搭建电路 |
这张表看起来很简单,却已经告诉我们很多事:OLED 需要电源和两根通信线,按键需要输入线和回路,LED 需要输出线和回路,是否还要外接电阻要看 LED 或模块本身的电路。没有列出来的线,不会凭空出现;没有确认过的电压,也不能凭颜色猜出来。
面包板里面到底连了什么
常见面包板中间有一条凹槽。凹槽两侧的孔互不相通,每一侧通常是“五个孔横向相通”:
中间凹槽
a b c d e | f g h i j
o--o--o--o--o | o--o--o--o--o 第 5 行
o--o--o--o--o | o--o--o--o--o 第 6 行
把芯片跨在凹槽上,是为了让芯片两排引脚分别落在左右两组互不相通的孔里。要是芯片没有跨过凹槽,某些相邻引脚反而会被面包板内部直接短接。
面包板两侧的长条通常被叫作电源轨,常见标记是红色和蓝色。这里有一件必须记住的事:红色和蓝色只是印刷标记,不是电压。红色电源轨只有在你用导线接到 3.3V 后才是 3.3V;蓝色电源轨只有在你接到 GND 后才是 GND。它们断电时什么也不是,接错时甚至可能变成危险的电源线。
有些面包板的电源轨在中间断开,左右两段并不相通。看到一条连续的红线,也不要直接假定整条都导通。用万用表通断档测一下,或者沿着面包板背面的铜箔确认,几分钟能省掉后面很久的排查。
最小系统板上的 PB5、PB6 是真实的 STM32 引脚。当前这套接线把它们分别接到 GND 和 3.3V,我没有把 PB5、PB6 当成电源输出,只是这块板子的插针位置、模块插头和走线方向刚好这样接最顺手。当前实验没有用到 PB5、PB6 的 GPIO 功能,所以它们可以承担这两根方便的电源引线;换成别的板子时,仍要先看原理图和引脚是否被占用。


先把电源关系画出来
小车真正复杂的地方,往往不是信号线,而是供电。常见的电源关系可以先画成这样:
12V 电池
|
+---- 电源开关 ----> 降压/电源分配模块
|
+---- 12V 输出 ------------------> 电机驱动板的电机电源
+---- 5V 输出 -------------------> 需要 5V 的编码器/电机模块
+---- 3.3V 输出 -----------------> STM32、OLED、按键、LED 逻辑
降压模块做的事,是把较高的输入电压变成稳定的较低电压。12V 电池不能直接接到 STM32 的 3.3V 电源脚,也不能因为“看起来只是多一点电压”就接到 OLED 上。电压过高会让芯片发热、损坏,严重时还会把同一条电源网上的其他模块一起带走。
有些电源模块的 12V 端子与输入端近似直通,同时提供 5V、3.3V 等降压输出;有些模块只有 5V 或 3.3V。12V 电池从输入端进入,经过统一开关后,12V 可以继续从模块的 12V 端子引出。这样做的价值不是“把 12V 降成 12V”,而是让特殊电池插头只接一次,并用一个开关统一控制后面的电源,同时把电池输入和小车内部的杜邦线接口整理、隔离开。具体端子是否直通、开关能承受多大电流,都要以模块说明书为准。
下面这张表只给出常见用法,最终数值仍要以手册和模块丝印为准:
| 电源 | 常见连接 | 需要核对的地方 |
|---|---|---|
| 12V | 电源模块的 12V 输出,再接 TB6612 的 VM、L298N 的 Vs 等电机电源端 |
端子是否为输入直通,驱动板允许的电机电压和电流 |
| 5V | 某些编码器、电机模块或 L298N 逻辑电源 | 模块逻辑电平和输出电压 |
| 3.3V | STM32、常见 OLED、按键上拉、LED 逻辑 | 模块是否允许 3.3V,信号是否 3.3V 容忍 |
| GND | 电池、降压模块、驱动板、STM32、OLED 全部共地 | 是否真的连成同一个参考点 |
TB6612 的 VM 是电机供电端,逻辑电源通常另有 VCC;L298N 的 Vs 是电机供电端,部分模块还有独立的逻辑电源脚。名称相似不代表可以互换,接之前要在手册里确认每个脚的作用。
所有逻辑模块共地,是为了让“高电平”和“低电平”有同一个参考。STM32 输出 3.3V,OLED 或驱动板要以同一条 GND 为基准来判断这个 3.3V;没有共地,信号线即使接上了,也可能变成飘忽不定的电压。
用当前实验走一遍接线流程
现在把需求、资料和芯片资源接起来。
第一步:查每个模块的引脚
先在模块丝印、数据手册或原理图中找到这些信息:
- 电源脚叫什么,允许多少电压;
- GND 在哪里,是否必须与主控共地;
- 信号脚是输入还是输出,是否需要上拉或下拉;
- 通信接口需要几根线,是否有固定引脚;
- 电机或继电器等负载的电源,是否与逻辑电源分开。
当前 OLED 使用四针脚接口:VCC、GND、SCL、SDA。按键是一个把输入脚接到 GND 的开关。LED 由 STM32 输出脚驱动,再接回 GND;是否需要额外电阻要看具体 LED 和模块结构。
第二步:分配 STM32 资源
把模块需求写成一张资源表,再决定用哪些引脚:
| 功能 | STM32 资源 | 原因 |
|---|---|---|
| OLED SCL | PB8 | 软件 I2C,可由 GPIO 主动翻转 |
| OLED SDA | PB9 | 软件 I2C 数据线 |
| 按键 A | PB11 | GPIO 输入,内部上拉 |
| 按键 B | PB1 | GPIO 输入,内部上拉 |
| LED 0/1/2 | PC13/PC14/PC15 | GPIO 输出,显示三位状态 |
分配时要同时看后面的计划:哪些定时器要留给 PWM,哪些引脚以后要接编码器,哪些脚有调试接口或特殊复用功能。现在能亮,不代表以后资源不会冲突。把引脚表保存下来,比把记忆寄托在一堆彩色线缆上可靠得多。(STM32CubeMX可以做到图形化配置,我暂时不开展HAL库,可以自行探索一下)
把资源表再展开一层,就是实际的连接清单:
| 模块引脚 | 连接到 | 说明 |
|---|---|---|
| OLED VCC | 3.3V 电源轨 | 先核对模块是否支持 3.3V |
| OLED GND | GND 电源轨 | 与 STM32 共地 |
| OLED SCL / SDA | PB8 / PB9 | 软件 I2C 的时钟和数据 |
| 按键 A 一端 | PB11 | 配置为内部上拉输入 |
| 按键 A 另一端 | GND | 按下时形成低电平 |
| 按键 B 一端 | PB1 | 配置为内部上拉输入 |
| 按键 B 另一端 | GND | 与按键 A 的接法相同 |
| LED 0/1/2 正极 | PC13/PC14/PC15 | 当前这组低电流 LED 按现有接线直接使用 |
| LED 0/1/2 负极 | GND | 三颗灯共用参考地 |
这里沿用实验板上的低电流 LED,实物就是直接接在 PC13、PC14、PC15 上使用。不同 LED 模块的内部结构不一定相同,有的自带电阻,有的工作电流本来就很小;换成裸 LED、大功率灯珠或其他模块时,要重新查看资料,确认 GPIO 电流不会超限。(手册里对这三个脚还有一条硬限制:不能作为电流源驱动 LED。这个接法是出规格的,但是我做过没问题,想知道细节可以看第一盏灯那一篇里那段说明。)无论哪种情况,都不要让这三个引脚直接带继电器、电机或其他大负载。
第三步:先接电源,再接信号
在这个实验里,先把 STM32 的 3.3V 和 GND 引到面包板电源轨。由于最小系统板上的 PB5、PB6 正好靠近 OLED 插针,且当前需求没有使用这两个 GPIO,可以把 PB5 接到 GND、PB6 接到 3.3V,短线引出 OLED 的两根电源。这样接是结构和资源分配共同决定的便利方案,不代表 PB5、PB6 天生带有固定电压;换板或换模块时必须重新核对。
然后接 PB8、PB9 到 OLED 的 SCL、SDA,再接按键和 LED。每接完一组,就对照资源表检查一次:这根线连接的是哪个模块、哪个引脚、哪一种电压,回路是否完整。
按键使用内部上拉时,按键另一端接 GND,松开读到高电平,按下读到低电平。OLED、STM32 和按键的 GND 要连在同一条地线上。LED 是否需要额外串联电阻,取决于 LED 本身和模块电路,先看手册和实物,不要只凭颜色或经验判断。
第四步:上电前做一次检查
上电前至少做四件事(心大可以不做,自信):
- 用万用表确认 3.3V 轨和 GND 轨之间没有短路;
- 确认 OLED 的 VCC 没有插到 12V;
- 确认 LED 的接法与模块资料一致,是否需要额外电阻已经核对过;
- 确认每个模块的 GND 都回到了公共地。
第一次给小车上电时,电池和电机最好分开测试。先只给控制板、OLED 和按键供电,确认 3.3V 稳定、程序能运行,再接电机驱动和大电流负载。这样即使电机电源或降压模块有问题,也不会把故障范围扩大到整辆车。
杜邦线和 PCB 各自适合什么
面包板加杜邦线适合验证思路:引脚还能调整,模块还能替换,接错了可以马上拔下来重来。它不适合长期承受电机振动、大电流和反复插拔,接触不良会让故障变得毫无规律。
电路确认后,再把固定连接画成原理图和 PCB。PCB 走线时,电源线要按电流选择宽度,地线要有清晰回路,电机电源和逻辑电源尽量分区,信号线不要绕着大电流开关节点走。杜邦线解决的是“先让它工作”,PCB 解决的是“让它长期稳定工作”。
以后拿到新的模块,仍然按同一顺序做:
列出需求
-> 查手册和丝印
-> 记录电压、电流、引脚作用
-> 分配 GPIO、定时器、ADC、通信接口和中断
-> 检查冲突与共地
-> 面包板/杜邦线验证
-> 原理图和 PCB 固化
最后橘猫说
接线真正要解决的不是“这根线插哪个孔”,而是让每个模块在正确的电压下,通过明确的信号线和共同的参考地,按照已经分配好的芯片资源协同工作。面包板的孔位、红蓝电源轨、杜邦线和 PCB 都只是实现这个决定的工具。
最后蜘蛛说
感觉又回到了高中的电路题啊。

拿到一堆模块时,最容易的做法是先拿杜邦线往面包板上插。可红色电源轨真的就是 3.3V 吗,为什么有的模块还非共地不可——接线到底在解决什么?
浙公网安备 33010602011771号