4. 电流测量基础与实操:从μA级到噪声抑制

做低功耗嵌入式,说白了就是跟电流较劲。STM32L4 标称的停机电流能到几十个 μA,但实际板子一测,动不动就飙到 mA 级。这时候你手里没个靠谱的测量手段,根本没法定位问题。

这一章我就把几种常用的电流测量方法掰开揉碎讲清楚。串联电阻法、I-V 转换法、源表(SMU)测量,还有噪声怎么压下去。都是我在项目里踩过坑、填过土的经验。

核心观点: 没有一种方法能通吃所有场景。低功耗调试,关键是选对工具、搭对电路、看懂数据。
电流测量方法对比框架 μA级电流测量 串联电阻法 I-V转换法 源表(SMU) 特点 • 简单直接,万用表即可 • 有压降,影响被测电路 • 适合mA级以上粗测 特点 • 运放转换,灵敏度高 • 可测μA级电流 • 需额外供电和校准 特点 • 精度最高,nA级可测 • 自带电压源和测量 • 设备贵,适合实验室

4.1 串联电阻法:最朴素,但坑最多

串联电阻法,就是把一个精密电阻串到供电回路里,用万用表测电阻两端的电压,然后 I = V / R 算电流。听起来简单吧?但实际用起来,处处是坑。

电阻选多大? 这是第一个问题。我见过有人直接串个 1Ω 电阻,结果测出来的电压才零点几毫伏,万用表根本读不准。反过来,有人串 10kΩ,倒是读数大了,但板子供电电压被拉低,MCU 直接复位。

我个人习惯这样选:

  • 目标电流 1mA ~ 100mA:串 1Ω ~ 10Ω,压降控制在 10mV ~ 100mV
  • 目标电流 10μA ~ 1mA:串 100Ω ~ 1kΩ,压降控制在 1mV ~ 100mV
  • 目标电流 1μA ~ 10μA:串 10kΩ,压降控制在 10mV ~ 100mV
注意: 串联电阻的压降会直接降低负载端的供电电压。STM32L4 的 VDD 最低是 1.71V,如果你用 3.3V 供电,串个 10kΩ 电阻,μA 级电流时压降只有几十 mV,没问题。但如果是 mA 级负载,压降可能到几伏,MCU 直接掉电。

万用表怎么接? 很多人习惯把万用表打在电流档直接串进去。但电流档的内阻其实不小,便宜的万用表电流档内阻可能到几十 Ω。你想想看,本来板子只吃 100μA,串进去一个 50Ω 内阻,压降 5mV,影响不大。但如果是 10μA 级别,压降才 0.5mV,万用表根本分辨不出来。

所以我更推荐用电压档测电阻两端电压,而不是直接用电流档。电压档内阻通常在 10MΩ 以上,对电路影响极小。

4.2 I-V 转换法:运放上场,μA 级也能稳

串联电阻法到了 μA 级以下就吃力了。这时候 I-V 转换法就派上用场。说白了,就是用运放搭一个跨阻放大器(TIA),把电流直接转换成电压输出。

基本电路长这样:

// I-V 转换电路示意
// 运放同相输入端接地
// 反相输入端接被测电流源
// 反馈电阻 Rf 跨接在反相输入端和输出端

Vout = -Iin × Rf

// 举例:Rf = 1MΩ,Iin = 1μA
// Vout = -1μA × 1MΩ = -1V

你看,1μA 的电流就能产生 1V 的电压输出,万用表随便测。这就是 I-V 转换的魅力。

运放怎么选? 这里有几个关键指标:

参数 要求 推荐型号举例
输入偏置电流 pA 级(越低越好) LMP7721(±3fA)
输入失调电压 < 100μV OPA333(10μV)
轨到轨输出 支持单电源供电 MCP6001
带宽 够用就行,太宽反而引入噪声 10kHz 以内足够

我在项目中遇到过一个问题:用 OPA333 搭 I-V 转换,测出来的电流总是偏大几十 nA。查了半天,发现是 PCB 上助焊剂没洗干净,产生了表面漏电流。后来用酒精彻底清洗并涂上三防漆,问题才解决。

小技巧: I-V 转换电路的反馈电阻 Rf 两端并联一个小电容(几 pF 到几十 pF),可以抑制高频噪声和防止运放自激。这个电容值需要根据实际带宽需求调整,我一般从 10pF 开始试。

4.3 使用源表(SMU)进行 μA 级电流测量

如果你手头有源表(比如 Keithley 2400、2450,或者是德科技的 B2900 系列),那测量 μA 级电流就轻松多了。SMU 本质上是一个集成了电压源、电流源、电压表、电流表的精密仪器。

为什么 SMU 比万用表准?

  • 四线测量(Kelvin 连接):消除了引线电阻的影响
  • 低电流量程:SMU 的 μA 和 nA 量程是专门优化的,分辨率高
  • 源-测同步:可以一边供电一边测电流,不需要额外串联电阻

用 SMU 测 STM32L4 的休眠电流,我一般这样操作:

  1. SMU 设置为电压源模式,输出 3.3V
  2. 电流量程先设在 10mA,防止上电浪涌烧坏仪器
  3. 连接好四线夹具,Force 和 Sense 分别接到板子的 VDD 和 GND
  4. 板子进入休眠后,把电流量程切换到 100μA 或 10μA
  5. 开启自动量程,记录稳定后的电流值
注意: SMU 的 Force 端和 Sense 端不能接反。Force 提供电流,Sense 测量电压。如果接反了,SMU 会进入限流保护,测出来的数据全是错的。我曾经有一次就是接反了,折腾了半小时才发现。

SMU 的局限:贵。一台像样的 SMU 少说一两万,不是每个实验室都有。而且 SMU 的响应速度相对较慢,不适合测量快速变化的电流波形。这时候还是得靠示波器+电流探头。

4.4 测量中的噪声抑制技巧

测 μA 级电流,噪声是最大的敌人。你想想看,一个 1μA 的信号,旁边有个 100nA 的噪声,信噪比才 20dB,数据根本没法看。下面这几个技巧,是我这些年总结出来的。

1. 屏蔽与接地

被测电路最好放在金属屏蔽盒里。屏蔽盒要单点接地,接到系统的模拟地(AGND),不要接到数字地(DGND)。数字地上的开关噪声会通过地线耦合进来。

2. 滤波

在测量路径上加低通滤波。如果是用万用表测电压,可以在表笔两端并联一个 10μF 的电容,能滤掉大部分工频干扰。如果是用 SMU,仪器内部一般都有滤波选项,打开即可。

3. 线缆选择

测量线缆用屏蔽双绞线。屏蔽层单端接地。线缆尽量短,越短引入的噪声越少。我见过有人用 2 米长的普通杜邦线测 μA 级电流,结果读数跳得像心电图。

4. 平均与积分

万用表或 SMU 都有平均或积分功能。打开 NPLC(Number of Power Line Cycles)设置,比如设成 10,仪器会采集 10 个工频周期(50Hz 下是 200ms)的数据做平均,能有效抑制 50Hz 工频干扰。

NPLC 设置 测量时间(50Hz) 噪声抑制效果
0.1 2ms 差,适合快速变化信号
1 20ms 一般,日常使用
10 200ms 好,适合 μA 级精密测量
100 2s 极好,但速度慢

5. 温度控制

运放的偏置电流和失调电压都随温度变化。测量时尽量保持环境温度稳定。我一般等板子上电稳定 5 分钟后再开始记录数据,让热平衡建立起来。

实战总结: 测量 μA 级电流,方法选对只占 30%,剩下的 70% 是噪声抑制。屏蔽、滤波、平均、线缆、温度,每一个细节都做到位,数据才可信。