树莓派Pico供电电压多大 5V还是3.3V 面包板接错烧板案例与正确接线方法
开篇唠嗑
先说结论:树莓派Pico是3.3V器件,不是5V器件。 这句话要刻在脑门上,因为网上90%的烧板案例,都是有人把它当成Arduino那样用5V去接的。
Pico的电源架构到底长啥样
树莓派Pico核心是RP2040芯片,这颗芯片的电气特性决定了整个板子的电压边界:
- 工作电压:3.3V(核心逻辑电平)
- GPIO引脚容忍电压:3.3V
- 输入引脚最大值:3.3V(绝对不能超过,超过就烧)
- USB供电:5V输入,板上DC-DC转成3.3V供核心使用
板子上的电源引脚分布
打开Pico的引脚图,你会看到这几个跟电有关的引脚:
| 引脚名称 | 功能 | 电压 |
|---|---|---|
| VSYS | 外部供电输入引脚(推荐范围4-5.5V) | 接受5V |
| VBUS | USB 5V输入(直接从USB来) | 5V |
| 3V3 | 3.3V电源输出引脚 | 输出3.3V |
| 3V3_EN | 3.3V使能引脚 | - |
| GND | 地 | 0V |
| GPIO0~29 | 通用IO | 3.3V逻辑 |
最关键的认知:3V3引脚是”输出”,不是”输入”。 很多新手看到”3V3”两个字,以为是给它供电的接口,上去接了5V,板子当场冒烟。
真实烧板案例:小张的血泪史
先讲两个真实发生过的典型烧板场景,你看完就知道为什么了。
案例一:把5V接到3V3引脚,Pico原地升天
小张有个项目需要给多个传感器供电,他手边有一个5V的LDO稳压模块输出3.3V,还有一块Arduino Mega(5V逻辑)。
他心想:”Pico的3V3引脚,接个3.3V应该没问题吧?”
结果他在面包板上接线时接错了线,把5V电源直接接到了Pico的3V3引脚上。
发生了什么:
- 板载的LDO(TPS7A47)设计输入最高也就是5.5V,但3V3引脚后面直接连着电容和电源分配网络
- 5V从3V3引脚灌进去,相当于反向供电,绕过了板载稳压电路
- RP2040内部ESD保护二极管导通,大电流流过,芯片过热
- 30秒后板子发烫,USB接口开始冒白烟,再也认不出来了
诊断: 用万用表测3V3和GND之间,阻值接近0欧姆(正常应该几百欧姆以上),说明内部已经短路了。
案例二:用5V信号直接驱动GPIO,悄悄”慢性死亡”
小李用一块5V的HC-SR04超声波模块,想把触发信号(Trig)接到Pico的GPIO上。他直接把Trig接到了GP0,而GP0输出给模块的Echo是3.3V,模块端返回的Trig信号是5V。
发生了什么:
- RP2040的GPIO引脚内部有ESD保护二极管,当外部电压超过VDD+0.3V(约3.6V)时,二极管导通
- 5V信号通过保护二极管灌入3.3V电源轨,导致整个3.3V系统电压被抬高
- 一开始Pico还能工作,但每次接收5V信号时,电流通过保护二极管,芯片内部局部发热
- 两天后,GP0引脚彻底失效,输入高电平读不到,输入低电平也拉不低
- 其他引脚陆续出现问题,最终整个板子报废
诊断: GP0引脚测量发现对地阻值异常,用示波器看信号,高电平只有2.8V左右,明显异常。
为什么3.3V和5V混接这么危险
理解了这个原理,以后就不会犯错了。
RP2040芯片的GPIO引脚内部结构大致是这样的:
外部信号 ──┬──[保护二极管]──→ 3.3V电源轨
│
[输入缓冲] ──→ 芯片逻辑
│
[输出驱动] ←── 芯片逻辑
│
└──[保护二极管]──→ GND
当外部电压超过3.3V+0.3V≈3.6V时:
- 上方保护二极管导通,电流灌入3.3V电源轨
- 电源轨上的电容开始充电,电压被抬高
- 如果外部持续提供5V,大电流流过二极管
- 二极管功耗 P = (5V - 3.3V) × I,电流大了就烧
所以:3.3V器件接5V信号 = 用保护二极管当电阻在耗散功率 = 发热烧芯片
正确接线方法:5V设备和Pico共存
你的项目里可能既有5V设备(传感器、显示屏、模块),又有3.3V的Pico,正确做法不是”直接连”,而是电平转换。
方法一:电阻分压(最简单,推荐新手)
把5V信号降压到3.3V再进Pico的GPIO。用两个电阻分压即可:
5V信号 ──┬──[10kΩ]──┬──→ Pico GPIO
│ │
[15kΩ] │
│ │
GND GND
计算: V_out = 5V × 15k / (10k + 15k) = 5V × 0.6 = 3.0V
3.0V对于Pico的GPIO高电平识别完全足够(RP2040的V_IH最低只要0.6×VDD≈2.0V)。
实际代码接线示例(MicroPython):
from machine import Pin, ADC
# GPIO16连接5V传感器的输出(通过分压电阻后)
sensor_pin = Pin(16, Pin.IN)
# GPIO17控制一个5V继电器(Pico输出3.3V驱动NPN三极管,继电器接5V)
relay_pin = Pin(17, Pin.OUT)
relay_pin.value(0) # 关闭继电器
面包板实物接法:
Pico GPIO16 ─── 15kΩ电阻 ─── GND
│
10kΩ电阻
│
HC-SR04 Echo引脚(5V输出)
方法二:专用电平转换模块(推荐做项目用)
淘宝上几毛钱一个的”SN74HCT245”或”TXB0108”电平转换模块,双向自动转换,比电阻分压更可靠。
5V侧 电平转换器 3.3V侧
─────────────────────────────────────
5V信号 ───→ [TXB0108] ───→ Pico GPIO
Pico GPIO ─→ [TXB0108] ───→ 5V设备接收端
方法三:给Pico供电的正确方式
方式A:USB供电(最常用)
- 直接用Micro USB线连接电脑或5V充电头
- Pico会自动从VBUS取5V,板载DC-DC转成3.3V
- 这是官方推荐方式
方式B:从VIN引脚供电
- 用外部5V电源(如锂电池+升压模块、USB充电宝)接到VIN引脚
- Pico内部会自动稳压到3.3V
- VIN引脚容忍范围:4V~5.5V
- 注意:VIN和USB不要同时供电,会互相灌电流
外部5V电源 ──→ Pico VIN引脚 (+)
外部5V电源 ──→ Pico GND引脚 (-)
方式C:从3V3引脚供电(不推荐,但紧急情况下可行)
- 直接用外部3.3V电源接到3V3引脚
- 绕过了板载稳压电路,必须确保电源严格稳定在3.3V
- 只能用于没有其他选择的情况
面包板接线的安全 Checklist
每次接线前后,过一遍这个清单,能救你的板子:
接之前:
- [ ] 确认Pico型号(Pico / Pico W / Pico 2,都是3.3V)
- [ ] 用万用表蜂鸣档测一下5V电源和GND之间,确认没接错
- [ ] 检查所有5V信号是否都做了电平转换
- [ ] 3V3引脚确定是输出,不是输入
接完之后:
- [ ] 用万用表测3V3和GND之间电压,应该是3.3V左右
- [ ] 测3V3和GND之间阻值,冷态下应该>100Ω
- [ ] 通电后摸板子,正常应该微温,不应该烫手
- [ ] 先用限流方式供电(串联一个10Ω电阻或5V电源限流到100mA),确认没事再直接供电
常见5V模块与Pico的接线对照表
| 模块 | 电压 | 接线方式 | 注意事项 |
|---|---|---|---|
| DHT11/DHT22 | 3.3V~5V均可 | VCC接3V3,GND接GND,DATA接GPIO+4.7k上拉 | DHT11在3.3V下工作不稳定,建议用DHT22 |
| HC-SR04 | 5V | VCC接5V,GND接GND,Trig接GPIO(3.3V可触发),Echo经分压接GPIO | Trig可以直接接3.3V,模块会识别为高电平 |
| SSD1306 OLED | 3.3V~5V | VCC接3V3,GND接GND,SDA/SCL接GPIO | I2C电平直接兼容,无需转换 |
| MP3播放模块 | 3V~5V | VCC接3V3,GND接GND | 音量偏小但可工作 |
| 舵机(SG90) | 4.8V~6V | VCC接5V,GND接GND,信号经分压接GPIO | 舵机GND必须和Pico GND共地! |
| 继电器模块 | 3.3V/5V可选 | 买3.3V版本,直接接;5V版本需加三极管驱动 | 5V继电器线圈电流大,不能直接接GPIO |
一句话总结
Pico是3.3V器件,任何5V信号都不能直接连GPIO,任何5V电源不能直接接到3V3引脚。USB供电最省心,分压电阻最便宜,电平转换模块最可靠。接线前用万用表量一量,能省下一块板子的钱。