第四节 隔离放大器与隔离ADC:高压采样的“安全卫士”

好,咱们接着聊。前面几节我们把高压采样和绝缘检测的架构讲清楚了,但有个核心问题一直没细说——隔离

你想想看,BMS里动辄几百伏的高压,而MCU、DSP这些控制器都是3.3V或5V的低压系统。怎么让低压侧安全地读取高压侧的电压?直接连?那肯定不行,一接就炸。所以,隔离放大器、隔离ADC和隔离电源,就成了高压采样里最关键的“安全卫士”。

我个人习惯把这三样东西看作一个整体:隔离采样链路。今天咱们就把它拆开揉碎了讲清楚。

4.1 隔离放大器原理:ISO224 与 AMC1301

隔离放大器,说白了就是“电隔离的信号中继站”。它把高压侧的模拟电压,通过隔离屏障(通常是电容或变压器),无损地传递到低压侧。

我最早接触隔离放大器,用的是TI的ISO224。这芯片有个特点——输入范围是±12V。你可能会问:“BMS里电池电压都几百伏了,±12V怎么够?”

嗯,这里要注意:隔离放大器不是直接测几百伏的。它前面必须接一个电阻分压网络,把高压降到±12V以内,再送给ISO224。

ISO224 关键参数:

  • 输入范围:±12V
  • 固定增益:1/3(输出±4V)
  • 隔离耐压:5kV RMS
  • 带宽:约300kHz

我在项目中遇到过一个问题:ISO224的输出是差分信号,但后级ADC是单端输入的。怎么办?我加了一个差分转单端的运放电路,比如用OPA2192。其实ISO224内部已经集成了这个功能,但为了抗干扰,我习惯在外部再加一级滤波。

另一个常用的隔离放大器是TI的AMC1301。它和ISO224类似,但输入范围是±250mV,更适合配合分流器测电流。不过咱们今天讲电压采样,还是以ISO224为主。

我的经验: 选隔离放大器时,别只看隔离耐压。还要关注非线性误差温漂。ISO224的温漂典型值是±15ppm/°C,AMC1301是±20ppm/°C。如果BMS工作温度范围宽(-40°C~85°C),这个差异会直接影响采样精度。

4.2 隔离ADC选型:ADS131M04 与 ADS131A04

隔离ADC,就是把隔离和模数转换做到一个芯片里。好处很明显——省空间、省成本、简化设计

我最近几年用得最多的是TI的ADS131M04。这是一款4通道、同步采样、24位Δ-Σ ADC,内置了数字隔离器。它的隔离耐压是5kV RMS,完全满足BMS要求。

参数 ADS131M04 ADS131A04
通道数 4 4
分辨率 24位 24位
采样率 最高64kSPS 最高128kSPS
隔离耐压 5kV RMS 5kV RMS
接口 SPI SPI
内置基准 有(1.2V) 有(1.2V)
典型应用 电压采样、绝缘检测 高精度电流采样

ADS131M04有个很实用的功能——内置的PGA(可编程增益放大器)。你可以通过SPI配置增益为1、2、4、8、16、32、64、128。这意味着什么呢?

举个例子:如果分压后的电压是2V,你可以设增益为1,直接采。如果分压后只有100mV,你可以设增益为16,把信号放大到1.6V,充分利用ADC的动态范围。

注意: 增益越大,噪声也越大。我一般建议增益不超过8。如果信号太小,不如调整分压电阻比例,而不是一味放大。

ADS131M04的SPI接口是隔离的,低压侧直接连MCU就行。它的数据输出格式是24位二进制补码,转换公式很简单:

// 假设ADC输出原始码为 raw_code(24位有符号数)
// Vref = 1.2V,增益 = 1
// 满量程范围 = ±Vref / 增益 = ±1.2V

float voltage = (float)raw_code * 1.2 / 8388608.0;  // 2^23 = 8388608

我建议在初始化时,先读取ADC的偏移校准寄存器增益校准寄存器,做一次软件校准。这样能消除芯片本身的零点和增益误差。

4.3 隔离电源设计:为隔离侧“供电”

隔离放大器、隔离ADC,它们的高压侧需要供电。但这个电源不能从低压侧直接拉过来,否则隔离就失效了。所以,我们需要隔离电源

常用的方案有两种:

  1. 隔离DC-DC模块:比如TI的SN6505A + 变压器,或者Murata的隔离模块。输入5V,输出5V/3.3V,隔离耐压5kV。
  2. 集成隔离电源的芯片:比如ISO224内部就集成了隔离电源,只需要在外部加几个电容就行。

我个人更倾向于第二种方案,省事、可靠。但如果你需要给多个隔离器件供电,比如同时给ISO224和ADS131M04供电,那还是用隔离DC-DC模块更划算。

隔离电源设计要点:

  • 输出纹波:隔离电源的纹波通常比较大(几十mV),需要在输出端加LC滤波。我一般用10μH电感 + 10μF电容。
  • 负载能力:ISO224的供电电流约5mA,ADS131M04约3mA。一个隔离模块带2~3个器件没问题。
  • 启动时序:隔离电源的启动时间通常比ADC慢。我建议在软件里加一个延时,等电源稳定后再初始化ADC。

我曾经在一个项目里,因为隔离电源的纹波太大,导致ADC采样数据跳变。排查了好久,最后发现是输出电容选小了。换成10μF陶瓷电容后,问题解决。嗯,这种坑踩过一次就记住了。

4.4 完整隔离采样链路设计

好了,我们把隔离放大器、隔离ADC、隔离电源串起来,看看一个完整的采样链路长什么样:

高压电池正极 → 分压电阻网络 → 电压跟随器 → ISO224输入
                                                      ↓
ISO224输出 → 差分转单端 → 低通滤波 → ADS131M04输入
                                                      ↓
ADS131M04 SPI → MCU (低压侧)
                                                      ↑
隔离电源模块 → 给ISO224和ADS131M04高压侧供电

这个链路里,有几个关键点:

  • 分压电阻:总阻值要足够大(比如2MΩ以上),减少对电池的漏电流。同时要用高精度电阻(0.1%),保证分压比准确。
  • 电压跟随器:用高输入阻抗的运放(如OPA2192),隔离分压网络和ISO224,防止负载效应。
  • 低通滤波:截止频率设在1kHz左右,滤除高频噪声。我习惯用RC滤波,R=10kΩ,C=10nF。

我的建议: 在PCB布局时,隔离电源、隔离放大器、隔离ADC的高压侧要放在一起,与低压侧保持至少5mm的爬电距离。隔离屏障下方不要走任何信号线,否则会降低隔离性能。

最后,说一个很多人忽略的问题——隔离器件的共模电压范围。ISO224的共模电压范围是±12V,ADS131M04是±1.2V。如果高压侧的共模电压超出这个范围,隔离会失效。所以,分压网络的地必须接到电池的负极,而不是系统地。

嗯,这一节内容不少。隔离采样链路是BMS高压采样的核心,也是最容易出问题的地方。你只要把隔离放大器、隔离ADC、隔离电源这三样东西吃透了,高压采样这块基本就稳了。

下一节,咱们聊聊绝缘检测电路的实战设计,包括不平衡电桥法和注入法。到时候我会分享一个我踩过的坑——绝缘检测误报警的排查过程。敬请期待。