4. 电压采样电路

电压采样,是BMS的「眼睛」。

你想想看,电池包里的每一串电芯电压,都得靠它来感知。采样不准,SOC算不对,均衡也白搭,甚至可能引发过充过放的风险。我入行那会儿,就见过一个项目因为采样电路设计马虎,导致整包电池提前退役。嗯,从那以后,我对采样电路的设计就格外较真。

4.1 高压采样:隔离运放与差分运放

高压采样,指的是对电池包总电压的测量。这个电压可能高达400V、800V甚至更高。直接测量?不行,安全第一。必须做隔离。

4.1.1 隔离运放方案

隔离运放,说白了就是内部有磁隔离或电容隔离的运放。它能将高压侧的模拟信号,无损地传递到低压侧。

我个人习惯在总压采样上首选隔离运放。为什么?因为精度高,线性度好。我在一个储能项目中用过TI的AMC1301,效果不错。

核心优势:

  • 高共模抑制比(CMRR),能抑制高压侧的共模噪声
  • 隔离耐压高,通常能到5kV以上
  • 输出信号是差分或单端,方便ADC直接读取

典型电路结构是这样的:

高压侧:
  电池总压 → 电阻分压网络 → 隔离运放输入(差分)
  
低压侧:
  隔离运放输出 → 差分转单端电路 → ADC输入

这里有个坑。我曾经在调试时发现,隔离运放的输出有几十毫伏的偏移。查了半天,原来是高压侧的电阻分压网络没做匹配。记住,分压电阻一定要用0.1%精度的,而且两个电阻的温度系数要一致。

4.1.2 差分运放方案

差分运放,也叫减法器。它直接对高压信号做差分放大,然后输出一个低压信号。

这种方案成本低,但隔离性差。如果要用,必须在输入端加隔离变压器或光耦。我建议只在低压系统(60V以下)中使用。

注意:差分运放的输入阻抗有限,会从电池包抽取电流。如果分压电阻太大,会引入额外的误差。我曾经见过一个设计,分压电阻用了10MΩ,结果运放的偏置电流导致采样值偏了2%。

4.2 低压采样:电阻分压+ADC

低压采样,指的是对单串电芯电压的测量。每串电芯电压通常在3V~4.2V之间。

最常用的方案就是电阻分压+ADC。简单、可靠、成本低。

4.2.1 电阻分压网络设计

分压比怎么选?我一般这样算:

假设电芯最大电压为4.2V,ADC参考电压为3.3V。
分压比 = 3.3V / 4.2V ≈ 0.7857
取整:R1 = 10kΩ,R2 = 30kΩ,分压比 = 10/(10+30) = 0.25
实际最大输入 = 4.2V * 0.25 = 1.05V,留有余量。

你可能会问,为什么不用1:1的分压?因为要留裕量。ADC的输入范围最好只用70%~80%,这样能避免饱和失真。

小技巧:分压电阻的阻值不要太大。我习惯用10kΩ~100kΩ级别。太大,热噪声会变大;太小,功耗会增加。

4.2.2 ADC选型与配置

ADC的位数决定了采样精度。12位ADC,理论分辨率是3.3V/4096 ≈ 0.8mV。16位ADC,分辨率是3.3V/65536 ≈ 0.05mV。

但实际精度远达不到理论值。为什么?因为噪声、参考电压漂移、非线性误差都会吃掉有效位数。

ADC位数 理论分辨率 实际有效位数(ENOB) 典型应用
12位 0.8mV 10~11位 消费类BMS
14位 0.2mV 12~13位 工业级BMS
16位 0.05mV 14~15位 高精度BMS

我建议,对于电芯电压采样,至少用14位ADC。12位在低温下误差会明显增大。

4.3 采样精度与误差分析

精度,是采样电路的生命线。误差来源主要有三个:

4.3.1 电阻误差

分压电阻的精度直接决定了分压比的准确性。1%精度的电阻,可能带来1%的误差。对于4.2V的电芯,就是42mV的偏差。这太大了。

我一般用0.1%精度的电阻,温度系数25ppm/℃。这样在全温度范围内,误差能控制在0.5%以内。

4.3.2 ADC误差

ADC的误差包括:

  • 偏移误差:输入为0时,输出不为0。可以通过软件校准。
  • 增益误差:实际斜率与理想斜率的偏差。也可以通过校准修正。
  • 非线性误差:这是最难搞的。它无法通过简单的校准消除。

校准方法:

我习惯在生产时做两点校准。用精密电压源输入两个已知电压(比如0.5V和3.0V),然后计算出偏移和增益系数,写入EEPROM。每次上电时,ADC读取原始值,再乘以系数修正。

4.3.3 温度漂移

温度变化会影响电阻值、ADC参考电压、运放偏置。我曾经在-20℃环境下测试,发现采样值比常温下偏了3%。查了半天,是分压电阻的温度系数不匹配。

解决办法:

  • 使用低温漂电阻(10ppm/℃以下)
  • ADC参考电压用外部精密基准(如TL431、REF3033)
  • 在软件中做温度补偿

4.4 实战中的避坑指南

最后,分享几个我踩过的坑:

我曾经...在高压采样上忘了加输入保护。 结果一次浪涌测试,隔离运放直接烧了。后来我在输入端加了TVS管和串联电阻,再也没出过问题。

另一个教训:低压采样的走线要远离大电流回路。有一次我为了省空间,把采样线走在了MOSFET旁边。结果开关噪声全耦合进来了,采样值跳得像心电图。后来重新布局,采样线单独走,包地处理,问题解决。

嗯,电压采样电路说难不难,说简单也不简单。关键是把每个细节都做到位。电阻选型、布局布线、校准补偿,一个都不能少。希望这些经验能帮你少走弯路。