4. 电流采样与调理电路:从电阻选型到ADC读数

好,咱们进入第四讲。前面三章我们把过流保护的宏观逻辑和阈值框架搭好了,现在要落地到最关键的物理层——电流采样与调理电路。

说白了,这一章就是回答一个问题:电机里流过的几十安培大电流,怎么变成ADC能读的0~3.3V小电压?

我刚开始做PMSM驱动时,觉得这步很简单,不就是串个电阻、放大一下嘛。结果第一次上电,采样波形全是毛刺,电流一大了ADC直接饱和。嗯,从那以后我再也不敢小看这个环节了。

核心链路: 相电流 → 采样电阻 → 差分放大器 → ADC采样 → 软件换算

电流采样信号链路 相电流 Iph (0~50A) 采样电阻 Rshunt (mΩ级) 差分放大器 增益 G = 10~100 ADC Vref = 3.3V 关键换算关系: Iph × Rshunt × G = Vadc ≤ Vref ADC读数 → 数字码 → 反推实际电流值(软件换算)

4.1 采样电阻选型——别小看这毫欧级的元件

采样电阻,也叫分流电阻(shunt resistor)。它串联在电机相线上,电流流过时产生一个微小压降。我们测这个压降,就能反推出电流。

选型时我主要看四个参数:

  • 阻值:通常在0.5mΩ~10mΩ之间。阻值越大,压降越大,信噪比越好,但功耗也大。我一般先算最大压降不超过100mV,再反推阻值。
  • 额定功率:P = I²R。比如10mΩ电阻过50A电流,功率就是25W。别选小了,否则电阻会烧。
  • 温漂(TCR):铜箔电阻温漂大,锰铜或合金电阻温漂小。我习惯用锰铜电阻,温漂能做到50ppm/℃以内。
  • 寄生电感:高频电流采样时,寄生电感会产生额外压降,导致测量误差。选四端开尔文结构的电阻能有效降低这个影响。

我的经验: 采样电阻的压降不要超过100mV。为什么呢?因为差分放大器的输入失调电压一般在几十μV到几mV,压降太小了信噪比不够。但压降太大,电阻发热严重,温漂会引入额外误差。

4.2 差分放大器增益设计——把微伏信号放大到ADC能读的范围

采样电阻上的压降只有几十毫伏,ADC直接读不了。必须用差分放大器把这个信号放大到ADC的输入范围。

差分放大器的作用有两个:

  1. 放大差模信号:放大采样电阻两端的压降。
  2. 抑制共模电压:电机相线上的共模电压可能高达母线电压(比如310V),差分放大器要把这个共模成分抑制掉。

增益怎么定?我有个简单的公式:

G = V_ref / (I_max × R_shunt)

举例:
V_ref = 3.3V
I_max = 50A
R_shunt = 2mΩ

G = 3.3 / (50 × 0.002) = 33

也就是说,放大器增益设为33倍,50A电流时ADC刚好满量程。但实际中我会留10%~20%的余量,防止电流尖峰导致ADC饱和。

注意: 增益不是越大越好。增益大了,放大器的带宽会下降,高频电流采样会失真。另外,放大器的噪声也会被放大。我一般把增益控制在10~100倍之间。

4.3 ADC参考电压选择——3.3V还是5V?内部还是外部?

ADC的参考电压(V_ref)决定了采样范围。常见的选择有:

参考电压 优点 缺点 适用场景
3.3V(内部) 简单,无需额外元件 精度一般,温漂大 对精度要求不高的场合
3.3V(外部) 精度高,温漂小 增加BOM成本 高精度电流采样
5V(外部) 动态范围大 需要电平转换 大电流、高信噪比需求

我个人习惯用外部3.3V参考。为什么呢?因为内部参考电压的温漂可能达到100ppm/℃,而外部参考能做到10ppm/℃以下。过流保护阈值对温度敏感,温漂大了,阈值会飘。

4.4 采样值到实际电流值的换算公式——ADC读数怎么变成安培?

这是最终要落地的公式。ADC读到一个数字码,我们要把它换算成实际电流值。

假设:

  • ADC分辨率:12位(0~4095)
  • 参考电压:V_ref = 3.3V
  • 采样电阻:R_shunt = 2mΩ
  • 差分放大器增益:G = 33

换算步骤:

1. ADC电压值:V_adc = (ADC_code / 4095) × V_ref
2. 放大器输入电压:V_in = V_adc / G
3. 实际电流:I_actual = V_in / R_shunt

合并公式:
I_actual = (ADC_code / 4095) × V_ref / G / R_shunt

代入数值:
I_actual = (ADC_code / 4095) × 3.3 / 33 / 0.002
         = (ADC_code / 4095) × 50

也就是说,ADC读数为4095时,对应50A电流。

避坑指南: 我曾经在项目中直接用这个公式,结果发现电流读数偏大。排查了半天,发现是采样电阻的焊盘接触电阻引入了额外压降。后来我改用四线开尔文接法,问题才解决。所以,采样电阻的PCB布局和焊接质量直接影响精度。

4.5 实际项目中的几个坑

讲几个我踩过的坑,你们遇到时可以少走弯路:

  • 共模电压问题:差分放大器的共模输入范围有限。如果共模电压超过放大器允许范围,输出会失真。我遇到过用INA180时,共模电压到了40V,放大器直接饱和。后来换了INA240,共模范围到110V才解决。
  • PCB走线:采样电阻到放大器的走线要短、要等长。走线长了会引入噪声,不等长会引入共模转差模误差。
  • 滤波电容:ADC输入端加一个RC低通滤波器,截止频率设在几十kHz。既能滤除高频噪声,又不影响电流环带宽。
  • 零点校准:每次上电后,在电机静止时采样一次ADC值,作为零点偏移。这个偏移可能是放大器失调电压或ADC偏移引起的,软件减掉就行。

我的习惯: 每次设计完采样电路,我都会用信号发生器模拟一个已知电流信号,从采样电阻两端注入,然后看ADC读数对不对。这叫“端到端校准”,能发现很多隐藏问题。