2. 可靠性基础
功耗测量这件事,说白了就是搞清楚你的设备到底吃了多少电。我见过不少工程师,代码写得漂亮,电路也画得规整,结果一测功耗直接傻眼——因为测量方法本身就有问题。今天咱们就把这三种最常用的方法掰开揉碎了讲清楚。
三种测量方法的核心差异
先看一张对比表,心里有个底:
| 方法 | 原理 | 典型精度 | 适用场景 |
|---|---|---|---|
| 万用表直接测量 | 电流档串联进回路 | ±1% ~ ±5% | 静态电流、休眠电流粗测 |
| 串联电阻法 | 采样电阻 + 示波器测压降 | ±2% ~ ±10% | 动态电流波形、脉冲电流 |
| 精密电流采样法 | 专用电流检测放大器 / ADC | ±0.1% ~ ±1% | 高精度功耗分析、长时间记录 |
万用表测量法——最直接,但坑最多
拿起万用表,拨到电流档,串进电源回路,读数。听起来简单吧?但这里面的门道不少。
⚠ 常见陷阱: 万用表的电流档内阻通常在 1Ω ~ 100Ω 之间。对于低功耗设备,这个内阻造成的压降可能直接让系统复位。我曾经遇到过一块表,200mA 档内阻 5Ω,串进去后设备电压掉了 0.5V,死活启动不了。
我个人习惯的做法是:
- 先测电压:确认供电正常,再切换到电流档
- 选对量程:从最大量程开始往下调,避免烧保险
- 注意表笔接触:松动会导致接触电阻变化,读数跳来跳去
万用表适合测什么?休眠电流、待机电流这种相对稳定的值。你要是拿它去抓蓝牙广播时的脉冲电流,那基本是白费功夫——采样率太低,根本抓不住瞬态。
串联电阻法——看波形的好帮手
这个方法的核心思路是:在电源和负载之间串一个小电阻,然后用示波器测电阻两端的电压波形。根据欧姆定律,电压除以电阻就是电流。
💡 选电阻的黄金法则: 采样电阻上的压降不要超过电源电压的 1%。比如 3.3V 系统,压降控制在 33mV 以内。这样既不影响系统工作,又能保证信噪比。
举个例子:
// 假设系统休眠电流 10μA,工作电流 50mA
// 选 1Ω 采样电阻
// 休眠时压降:10μA × 1Ω = 10μV → 太微弱,示波器基本看不到
// 工作时压降:50mA × 1Ω = 50mV → 可以测量
// 如果选 100Ω 采样电阻
// 休眠时压降:10μA × 100Ω = 1mV → 勉强能看
// 工作时压降:50mA × 100Ω = 5V → 系统电压直接掉没了!
你看,电阻值的选择是个权衡。我一般会准备一组不同阻值的电阻:10Ω、1Ω、0.1Ω,根据实际功耗水平现场换。
🔑 关键点: 示波器的探头要使用差分探头或者用两通道做减法,避免共模噪声。我早期吃过这个亏,直接用单端探头测,结果波形上全是 50Hz 工频干扰,根本没法看。
精密电流采样法——专业选手的选择
当精度要求到 1% 以内,或者需要长时间记录功耗数据时,就该上精密电流采样了。常用的方案有:
- 专用电流检测放大器:如 TI 的 INA219、INA226,内置 ADC,I²C 接口直接读电流值
- 高精度 ADC + 精密电阻:比如 ADS1115 + 0.1% 精度电阻,成本可控
- 电流探头:如 Keysight N2820A,带宽高但价格感人
我个人的经验是,对于大多数嵌入式项目,INA226 是个很好的起点。它支持 0~36V 共模电压,分辨率 0.1mA,采样率最高 1kHz,足够覆盖大部分低功耗场景。
测量精度与采样率的选择
这里有个核心矛盾:精度越高,采样率越低;采样率越高,噪声越大。你想想看,ADC 的采样速率和分辨率是互相制约的。
我一般按这个原则来选:
| 场景 | 推荐采样率 | 推荐精度 | 说明 |
|---|---|---|---|
| 休眠电流测量 | 1 ~ 10 Hz | ±0.1 μA | 电流稳定,低采样率即可 |
| 工作模式平均功耗 | 100 ~ 1000 Hz | ±0.1 mA | 需要捕捉任务周期内的电流变化 |
| 瞬态电流峰值 | ≥ 1 MHz | ±1 mA | 必须用示波器 + 低阻值采样电阻 |
| 长时间功耗记录 | 1 ~ 100 Hz | ±0.5 mA | 平衡数据量和精度 |
⚠ 避坑指南: 我曾经用 10Hz 采样率去测一个 BLE 广播事件,结果每次广播脉冲刚好落在采样间隔之间,测出来的平均电流比实际值低了 40%。后来把采样率提到 1kHz 才抓到真实波形。记住:采样率至少要高于信号最高频率的 2 倍(奈奎斯特定理),对于脉冲信号,建议 5~10 倍。
知识体系总览
下面这张图把三种方法的关系和选择路径梳理了一下:
实战中的选择建议
说了这么多,到底怎么选?我总结几条经验:
- 先粗测,再精测:先用万用表摸清功耗的大致范围,再决定用哪种方法细测。别一上来就上精密仪器,浪费时间。
- 关注动态范围:低功耗设备经常是 μA 级休眠、mA 级工作、甚至 A 级瞬态。单一方法很难覆盖全范围,可以考虑用自动量程切换电路。
- 校准很重要:精密电阻会温漂,万用表会老化。我每半年会用标准电流源校准一次设备,确保数据可信。
- 记录环境条件:温度、供电电压、负载状态都会影响功耗。测量时把这些信息一并记下来,否则数据没法复现。
🔑 核心原则: 测量方法的精度只要比系统功耗的波动范围高一个数量级就够了。比如系统功耗波动 ±10%,那测量精度做到 ±1% 就完全够用。过度追求精度只会增加成本和调试时间。
嗯,功耗测量这块就讲到这里。方法本身不复杂,但每个细节都可能影响最终结果。下次你测功耗的时候,不妨先想想:我要看什么?精度要求多高?采样率够不够?想清楚了再动手,事半功倍。