3、电压采集技术:单体电压采集方案
电压采集是BMS最基础、也是最核心的功能。你想想看,SOC估算、SOH评估、均衡策略,哪一样离得开准确的单体电压数据?我在项目里见过不少因为电压采集不准导致的故障,轻则SOC跳变,重则电池过充起火。所以这一节,咱们好好聊聊单体电压采集的那些事儿。
3.1 单体电压采集方案:AFE芯片 vs 分立器件
做BMS设计,第一个要拍板的问题就是:用AFE芯片,还是用分立器件搭?
分立器件方案,说白了就是用运放、电阻、模拟开关、ADC自己拼。我早年做第一代BMS时就干过这事儿。当时觉得AFE芯片太贵,想省成本。结果呢?调试了三个月,精度还是搞不定。温度一漂,电压就跟着飘,搞得我头大。
分立器件的痛点很明显:
- 电阻匹配问题:分压电阻的温漂系数不一致,导致采样误差随温度变化
- 共模电压问题:串联电池组中,越靠上的电池共模电压越高,对运放的共模抑制比要求极高
- 隔离问题:高压侧和低压侧的隔离设计复杂,一不小心就烧芯片
- 通道一致性:每个通道的增益和偏置都不一样,需要逐个校准
AFE芯片方案,就是把上述所有功能集成到一颗芯片里。现在主流的AFE芯片,比如LTC6811、AD7280A、MAX17823,内部集成了高精度ADC、电压基准、隔离通信、甚至均衡驱动。我个人习惯,只要项目预算允许,首选AFE芯片。省心、可靠、精度高。
两种方案的对比,我整理了一张表:
| 对比项 | AFE芯片方案 | 分立器件方案 |
|---|---|---|
| 采样精度 | 高(典型±1mV) | 低(典型±10mV) |
| 通道一致性 | 好(芯片内部匹配) | 差(需逐个校准) |
| 温度稳定性 | 优(内置温度补偿) | 差(受外部器件影响) |
| 设计复杂度 | 低 | 高 |
| BOM成本 | 较高 | 较低 |
| 开发周期 | 短(2-4周) | 长(3-6个月) |
| 可靠性 | 高 | 低 |
所以我的建议是:量产项目,老老实实用AFE芯片。除非你做的只是实验室验证样机,或者对成本极度敏感的低端产品,否则别在分立器件上浪费时间。
3.2 AFE芯片选型:LTC6811 vs AD7280A vs MAX17823
市面上AFE芯片不少,但真正经过车规级验证的,也就那么几款。我重点说说我用过的三款:LTC6811、AD7280A、MAX17823。
3.2.1 LTC6811(Linear Technology / ADI)
这款芯片,可以说是BMS领域的「老大哥」了。我最早接触LTC6811是在2016年,当时给一家主机厂做BMS,选型时毫不犹豫就定了它。为什么?
- 采样精度极高:典型误差±1.2mV,最大不超过±2.5mV。这个精度,做SOC估算绰绰有余
- 支持最多12串:通过菊花链可以级联到上百串
- 内置isoSPI隔离通信:不需要额外的隔离芯片,抗干扰能力很强
- 可编程采样速率:最快能到1ms以内,适合做动态工况下的电压监测
不过它也有缺点:价格贵,一颗要十几美金。而且它的配置寄存器比较多,初次上手需要花点时间啃数据手册。
3.2.2 AD7280A(ADI)
AD7280A是ADI的另一款经典AFE。它的特点是:
- 支持6串:比LTC6811少一半,但可以通过级联扩展
- 内置库仑计:可以同时监测电流,省掉一颗电流检测芯片
- 采样精度:典型±1.6mV,略逊于LTC6811
- 价格相对便宜:大约是LTC6811的60%
但要注意,AD7280A的通信接口是SPI,没有隔离功能。你需要额外加隔离芯片,比如ADuM1401。这增加了BOM成本和PCB面积。
我有个朋友在做低速电动车BMS时用了AD7280A,反馈说整体表现不错,就是SPI通信在强电磁干扰环境下偶尔会出错。后来加了磁耦隔离,问题就解决了。
3.2.3 MAX17823(Maxim / ADI)
MAX17823是Maxim被ADI收购后的产品。它的亮点是:
- 支持12串,和LTC6811一样
- 采样精度:典型±1.0mV,三款里最高的
- 内置UART通信:通过变压器隔离,比SPI更抗干扰
- 支持高速采样:所有通道采样仅需1ms
不过MAX17823的软件配置比LTC6811还复杂。它的寄存器多达上百个,而且有些寄存器的位定义比较绕。我第一次用的时候,光初始化就写了三天。
| 参数 | LTC6811 | AD7280A | MAX17823 |
|---|---|---|---|
| 支持串数 | 12 | 6 | 12 |
| 采样精度 | ±1.2mV | ±1.6mV | ±1.0mV |
| 通信接口 | isoSPI | SPI | UART |
| 内置隔离 | 是 | 否 | 是(变压器) |
| 采样速率 | 1ms/12ch | 2ms/6ch | 1ms/12ch |
| 典型价格 | $$$ | $$ | $$$ |
选型建议:
- 追求极致精度和可靠性,预算充足 → LTC6811 或 MAX17823
- 成本敏感,且串数不多(≤6串) → AD7280A
- 需要同时监测电流,不想额外加芯片 → AD7280A
- 对通信抗干扰要求极高 → MAX17823(UART+变压器隔离)
3.3 采样精度与误差分析
采样精度,是AFE芯片的核心指标。但很多人只看数据手册上的「典型值」,忽略了实际应用中的误差来源。我在这里把常见的误差源掰开揉碎了讲清楚。
3.3.1 误差来源分析
1. ADC量化误差
这是ADC本身的固有误差。比如一个16位的ADC,参考电压为5V,那么它的LSB(最低有效位)就是5V / 2^16 ≈ 76μV。量化误差就是±0.5 LSB,约±38μV。这个误差很小,基本可以忽略。
2. 参考电压漂移
AFE芯片内部的电压基准会随温度变化。LTC6811的基准温漂典型值是±10ppm/°C。如果温度变化50°C,基准电压就会漂移±500ppm,也就是±2.5mV(以5V基准计算)。
嗯,这里要注意:温度变化是电压误差的最大来源。我在项目中遇到过,夏天和冬天的采样值能差5mV以上,后来排查发现就是基准温漂导致的。
3. 输入偏置电流和漏电流
AFE芯片的输入引脚会有微小的偏置电流,流过外部滤波电阻时会产生压降。比如偏置电流为1nA,滤波电阻为10kΩ,就会产生10μV的误差。这个一般可以忽略。但如果电池漏液或者PCB受潮,漏电流会急剧增大,误差就不可控了。
4. 外部滤波电路的影响
为了抑制噪声,我们通常会在AFE芯片的输入端加RC低通滤波。但电阻和电容的精度、温漂都会影响采样精度。特别是电阻,如果用了精度1%的普通电阻,温漂100ppm/°C,那么在不同温度下,分压比会变化,导致误差。
5. 共模电压误差
对于串联电池组,越靠上的电池,其正极对地的共模电压越高。AFE芯片的共模抑制比(CMRR)是有限的。LTC6811的CMRR典型值为90dB,意味着共模电压每变化1V,会产生约31.6μV的误差。对于48串系统,最高共模电压可达200V,误差约为6.3mV。
3.3.2 误差预算与分配
做BMS设计时,我们需要做一个误差预算。假设系统要求单体电压采样精度为±5mV(全温度范围),那么我们可以这样分配:
| 误差源 | 分配值 | 说明 |
|---|---|---|
| ADC量化误差 | ±0.1mV | 16位ADC,基本可忽略 |
| 基准电压漂移 | ±2.5mV | 温漂±10ppm/°C,温度变化50°C |
| 输入漏电流 | ±0.5mV | 漏电流10nA,滤波电阻10kΩ |
| 共模电压误差 | ±1.0mV | CMRR 90dB,共模电压100V |
| 外部电阻温漂 | ±0.5mV | 电阻温漂50ppm/°C |
| 噪声(随机误差) | ±0.4mV | 通过多次采样平均降低 |
| 总误差(RSS) | ±2.8mV | 平方和开根号,满足±5mV要求 |
你看,即使每个误差源都分配了,总误差也只有±2.8mV,远小于±5mV的要求。这就是为什么AFE芯片能做到高精度的原因——每个环节都控制得很好。
3.3.3 提高采样精度的实战技巧
最后,分享几个我在项目中用过的提高精度的技巧:
- 多次采样取平均:对于随机噪声,采样16次取平均,信噪比能提高12dB。我一般设置AFE芯片连续采样32次,然后软件做中值滤波+平均。
- 温度补偿:在BMS主板上放一个温度传感器,测量AFE芯片附近的温度。然后根据芯片的温漂曲线,在软件里做查表补偿。这个效果很明显,能把温度引起的误差从±2.5mV降到±0.5mV。
- 定期自校准:LTC6811和MAX17823都支持自校准功能。我习惯在每次上电时做一次自校准,消除芯片内部的偏置和增益误差。
- PCB布局注意:AFE芯片的模拟输入走线要远离数字信号和功率走线。我见过一个案例,AFE芯片的输入走线和PWM信号线平行走了5cm,结果采样值波动了±10mV。后来把走线分开,问题就解决了。
- 滤波电容选型:输入滤波电容建议用C0G/NP0材质的,温漂小。X7R材质的电容在直流偏压下容值会下降,影响滤波效果。