4、BMS采样电路设计:电压采样拓扑(差分/单端)、高共模电压处理、采样精度与温漂控制

电压采样,是BMS的“眼睛”。

眼睛要是花了,后面所有算法——SOC估算、均衡策略、故障诊断——全都会跑偏。我见过太多项目,前期把精力都放在算法上,结果一上电,采样数据跳得像心电图,最后发现是采样电路没设计好。嗯,今天我们就来聊聊这个基础但极其关键的环节。

4.1 电压采样拓扑:差分 vs 单端,怎么选?

说白了,这就是个“怎么把电池电压准确读进ADC”的问题。

单端采样,结构最简单。一根信号线对地测电压。但用在BMS里,有个致命问题——参考地不统一。第一节电池的负极是0V,第二节电池的负极就是3.6V,第三节是7.2V……你想想看,如果所有采样都共用一个地,那高串数的电池电压会被严重拉偏。

差分采样,才是BMS的正解。它用两根线(正极+负极)直接测量电池两端的电位差,不依赖公共地。我个人的习惯是:只要串数超过4串,一律上差分。别省那两根走线和一颗运放的钱,后面调试会让你哭的。

核心结论:

  • 单端采样:仅适用于1-4串的低压应用,或隔离型ADC方案
  • 差分采样:6串以上必选,抗共模干扰能力强,精度高

我在项目中遇到过一件事:某款12串的BMS,为了省成本用了单端采样加光耦隔离。结果在低温-20℃下,第10串到第12串的采样误差直接飙到80mV。后来换成差分运放+仪表放大器方案,误差压到了5mV以内。所以,拓扑选型,别纠结。

4.2 高共模电压处理:别让高压“烧”了你的ADC

BMS里有个很头疼的问题:共模电压。

什么叫共模电压?举个例子,第6节电池的正极对地可能是21.6V(假设每节3.6V),而你要测的只是这一节电池两端的3.6V。那21.6V就是共模电压。ADC的输入范围通常只有0-5V,你直接把21.6V怼进去,ADC当场就“冒烟”了。

怎么处理?我总结了三种主流方法:

  1. 电阻分压网络 + 差分运放:最经典的做法。先用高精度电阻把高压分到ADC可接受的范围,再用差分运放提取差值。注意,分压电阻的精度和温漂直接影响采样精度,后面会细说。
  2. 隔离型ADC(如TI的ADS131系列):每个通道自带隔离,共模电压可以做到几百伏。优点是设计简单,缺点是贵。我建议在高端BMS(比如储能、汽车)上使用。
  3. 飞电容采样法:通过开关电容网络,先把电池电压“抓”到一个小电容上,再断开高压回路,把电容上的电压送给ADC。这种方法抗共模能力极强,但开关时序控制复杂,采样速率慢。

⚠️ 避坑指南:

我曾经在飞电容方案上栽过跟头。开关管(通常是MOSFET)的漏电流在高温下会急剧增大,导致电容上的电压保持不住,采样值一直往下掉。后来我加了一颗高阻抗的缓冲运放,才把问题解决。所以,用飞电容方案时,一定要关注开关管的漏电流指标和运放的输入偏置电流。

4.3 采样精度与温漂控制:从“能用”到“精准”

精度,是BMS采样电路设计的终极考验。

你想想看,如果SOC估算要求误差在5%以内,那电压采样的误差就不能超过10mV(以3.6V单体为例)。而温度从-40℃到85℃变化时,电阻、运放、ADC的漂移都会叠加进来。怎么控制?

4.3.1 电阻选型:精度和温漂是“死穴”

分压电阻的精度,直接决定了采样的初始精度。我个人的习惯是:

  • 量产产品:至少用0.1%精度、25ppm/℃温漂的电阻
  • 高端产品:用0.05%精度、10ppm/℃的电阻
  • 千万别用5%的普通贴片电阻,那是在给自己挖坑

另外,电阻的匹配比绝对值更重要。差分采样中,上下两个分压电阻的比值必须严格一致。我建议用电阻网络(比如排阻),或者用同一批次、同一阻值的电阻进行配对筛选。

4.3.2 运放选型:关注Vos和温漂

运放的输入失调电压(Vos)和温漂,是另一个精度杀手。

举个例子,一个Vos为1mV的运放,在25℃下误差1mV,看起来还行。但如果温漂是10μV/℃,在85℃时,Vos就变成了1mV + 10μV×60 = 1.6mV。再加上电阻的温漂,总误差可能超过5mV。

我常用的运放型号:

型号 Vos (max) 温漂 适用场景
OPA2188 25μV 0.1μV/℃ 高精度BMS
LMV321 3mV 5μV/℃ 低成本方案
AD8628 1μV 0.02μV/℃ 超高精度(自稳零)

💡 小技巧:

如果预算允许,尽量选自稳零运放(Auto-zero)。它的Vos和温漂都极低,而且不会随时间和温度老化。我在一个储能项目中用过AD8628,三年后复测,精度几乎没有变化。

4.3.3 ADC的精度与采样速率

ADC的位数决定了理论分辨率。12位ADC在3.6V参考电压下,分辨率是3.6/4096 ≈ 0.88mV。看起来够用,但实际有效位数(ENOB)通常只有10-11位。所以,我建议:

  • 消费级BMS:12位ADC + 软件滤波
  • 车规/储能BMS:16位ADC(如ADS1115、ADS131M04)
  • 采样速率:不需要太高,10-100Hz足够,速率太高反而引入噪声

4.3.4 温漂补偿:最后的“杀手锏”

如果硬件已经做到极致,但温漂还是超标怎么办?

那就上软件补偿。在BMS的PCB上靠近采样电阻的位置,放一颗NTC温度传感器。通过标定,建立“温度-采样误差”的查找表。在运行时,根据当前温度查表修正采样值。

我曾经在一个项目中,用这种方法把全温区(-40℃~85℃)的采样误差从25mV降到了8mV。虽然不能完全消除,但已经能满足大部分应用需求了。

总结一下我的设计流程:

  1. 先定拓扑:差分采样,别犹豫
  2. 再选器件:电阻0.1%/25ppm,运放Vos<50μV,ADC≥14位
  3. 最后做温补:硬件不够,软件来凑

记住一句话:采样电路是BMS的基石。这块省下的每一分钱,都会在后面的调试和售后中加倍还回来。