供电与稳压:LDO 还是 DC-DC
你的 ESP32 芯片要 3.3V,但电源可能是 5V 的 USB 或 3.7V 的锂电。怎么把它们稳定地变成芯片要的电压?这就是稳压电路的活。开发板上其实已经帮你做好了,但你迟早要自己画板子、自己选稳压芯片——那时选错了,轻则芯片发烫掉电重启,重则模拟采样一片糊。这节把两种主流方案讲透。
为什么不能直接接
先想清楚"稳压"到底在稳什么。芯片手册上写的是 3.3V,但它真正的要求是"稳定的 3.3V"——电压在一个很窄的窗口里(比如 3.0~3.6V)待着别乱动。可现实里的电源没一个是稳的:
- 锂电:满电 4.2V,用到快没电只剩 3.0V,一路往下掉,还随负载忽高忽低。
- USB:标称 5V,但线细、口松、大电流一拉就压降,实测常在 4.6~5.2V 之间晃。
电压乱跳,芯片会怎样?轻的是 ADC 读数漂移(参考电压跟着 VDD 动,见 ADC 采样原理),重的是低于欠压阈值直接复位重启。稳压电路就干一件事:把"忽高忽低的输入"压成"钉死在 3.3V 的输出"。
稳压有两条技术路线,原理天差地别,选错了要么白白发热,要么给模拟电路灌一身噪声。
LDO:线性稳压,简单但费电
LDO(Low Dropout Regulator,低压差线性稳压器)的思路特别朴素:把它想成一个"自动调节的可变电阻",串在输入和输出之间。输出想低了它就把电阻调小、想高了就调大,靠不停微调这个"电阻"把输出死死摁在 3.3V。
这条路线的代价,全在一个公式里:
LDO 自身发热功率 = (输入电压 − 输出电压) × 输出电流
= 压差 × 电流
多余的电压差乘以流过的电流,全部变成热,一点不剩。举个实数:5V 输入、3.3V 输出、带 500mA 负载,压差 1.7V,发热就是 1.7V × 0.5A = 0.85W——一颗小小的 SOT-223 封装扛这么多热会烫手,效率只有 3.3/5 ≈ 66%,另外 34% 白烧掉了。要是拿 12V 降到 3.3V,压差 8.7V,同样电流下发热直接飙到 4.35W,芯片当场热保护跳闸。这块热怎么算、怎么散,专门讲在 LDO 发热与散热。
所以 LDO 的适用边界很清楚:压差小、电流小。它的好处是电路极简(一颗芯片加两个电容就完事)、输出干净几乎没噪声、成本几毛钱。给单片机、给模拟传感器供电这种小电流场景,它是首选。
DC-DC:开关稳压,高效但有纹波
DC-DC 换了个完全不同的思路:不靠"电阻分压耗掉多余能量",而是用一个开关管以几百 kHz 的频率飞快地开关,配合电感和电容把能量"打包搬运"过去,多余的能量存进电感再吐出来,几乎不浪费。这里电感是灵魂角色,它为什么能存能量、怎么选,见 电感原理。
正因为不靠耗散,DC-DC 效率能到 85~95%,而且能力更全:
- buck(降压):高电压变低电压,最常用,比如 12V→5V、5V→3.3V。
- boost(升压):低电压变高电压,比如单节锂电 3.7V 升到 5V 给 USB 外设、或升到 12V 驱动某些屏。
代价是它天生带纹波:那个几百 kHz 的开关动作会在输出上叠加一层小锯齿状的电压波动,还会往外辐射高频噪声。数字电路不太在乎这点纹波,但模拟采样、射频、音频最怕它——ADC 会读到一层挥之不去的抖动。压纹波靠输出电容和布局,具体见 纹波与去耦。DC-DC 的另一个缺点是电路复杂(要配电感、二极管或同步管、反馈电阻),成本和 PCB 面积都比 LDO 大。
怎么选:一张对照表
把两者摊开对比,选型逻辑就一目了然:
| 维度 | LDO | DC-DC |
|---|---|---|
| 效率 | 低(压差越大越差,可能只有 50~66%) | 高(85~95%) |
| 输出噪声 | 极干净 | 有开关纹波 |
| 能否升压 | 不能,只能降 | 能降(buck)也能升(boost) |
| 电路复杂度 / 成本 | 极简、几毛钱 | 复杂、要配电感、成本高 |
| 发热 | 大(压差×电流全变热) | 小 |
| 适合场景 | 小电流、小压差、要干净电(模拟/射频) | 大电流、大压差、要续航(电池供电) |
一句话决策:电池供电要续航、或压差大、或电流大 → DC-DC;给模拟电路要干净电、或就图省事的小电流 → LDO。 实战里两者常常配合用:先用 DC-DC 把电池高效降到 3.3V 主轨,再在模拟传感器前面串一颗小 LDO 二次滤波,既省电又干净。
典型芯片
- AMS1117(LDO):入门圈子最常见的 3.3V 稳压,5V→3.3V、约 1A 以内,几毛钱一颗,开发板上到处是它。缺点也典型:压差要求偏高(约 1.1V,意味着输入低于 4.4V 左右就稳不住 3.3V 了,拿它给锂电直接降压会翻车)、发热明显。
- MP1584(DC-DC buck):小体积降压模块的常客,输入可到 28V、输出电流 3A,效率高,适合车载 12V 降 5V/3.3V、大电流负载。用它记得留意纹波,模拟电路旁边要额外滤。
常见坑
- LDO 压差不够,输出稳不住:拿 AMS1117 想把 3.7V 锂电降到 3.3V——压差只有 0.4V,远小于它要求的 ~1.1V,结果电量一掉输出就跟着塌。这种"锂电直降 3.3V"场景要么用低压差型号(如 ME6211,压差仅 ~0.1V),要么直接上 DC-DC。
- DC-DC 纹波干扰模拟/射频:明明代码没问题,ADC 读数却一直抖、WiFi 灵敏度下降——十有八九是 DC-DC 纹波灌进了模拟或射频部分。对策是模拟部分单独用 LDO 供电、加强去耦、DC-DC 电感远离敏感走线。
- 锂电直接接芯片:见下方安全提示,锂电 3.0~4.2V 浮动,绝不能跳过稳压直连。
- DC-DC 轻载效率反而低:DC-DC 在满载区效率漂亮,但设备大部分时间在深睡、只吃几十 µA 时,它的开关损耗和自身静态电流占了大头,效率可能掉得很难看。做低功耗电池设备要选带 PFM/轻载模式的型号,或干脆睡眠时切到低 Iq 的 LDO 供电。
锂电池供电别直接接芯片。锂电是 3.0~4.2V 浮动,要经稳压(常用 DC-DC 升/降到稳定 3.3V),且锂电本身有充放电和保护的讲究,见锂电池基础与安全。
新手起步用开发板自带的稳压就行(USB 插上就有稳定 3.3V 输出脚,USB 供电的门道见 USB 供电)。等你自己画板子,才需要选稳压芯片——那时把"输入电压、输出电压、最大电流"告诉 AI 或查选型表即可。
一句话口诀
稳压就是把"乱跳的输入"钉成"稳定的 3.3V"。LDO 是串联可变电阻,简单干净但压差×电流全变热,只能降压、只配小电流;DC-DC 靠开关+电感搬能量,效率高能升能降,但带开关纹波。要续航、要大电流、要升压选 DC-DC;要干净电、图省事的小电流选 LDO。记牢两个雷:AMS1117 压差不够别拿去直降锂电,DC-DC 纹波别灌进模拟和射频。
下一步
电源这块再看锂电池安全,做电池供电的便携设备必修;想搞懂 LDO 那块热怎么散、DC-DC 那层纹波怎么压,接着看 LDO 发热与散热 和 纹波与去耦。