第1章 电压采集与通道校准:单体电压采集原理(AFE芯片)
大家好,我是你们的老朋友。今天咱们聊聊BMS里最基础、也最关键的一环——单体电压采集。
你想想看,一个电池包少则几十节,多则上百节电芯串联。SOC估算、SOH评估、均衡策略,哪一样离得开准确的单体电压?说白了,电压不准,后面所有算法都是空中楼阁。
我在项目里见过太多因为电压采集偏差导致的误报警、均衡失效,甚至过充事故。嗯,这章咱们就把这块彻底讲透。
1.1 AFE芯片:电压采集的“眼睛”
AFE芯片,全称是Analog Front-End,模拟前端。它负责把电芯的模拟电压信号,转换成数字信号送给MCU。
我个人习惯把AFE比作“眼睛”。MCU是大脑,AFE就是负责看电压的那双眼睛。眼睛要是近视了,大脑再聪明也没用。
目前主流AFE芯片厂商有TI、ADI、NXP、Maxim等。以TI的BQ79616为例,它支持16通道采集,精度能做到±1mV以内。
核心指标:
- 通道数:6~18通道不等
- 采样精度:±1mV ~ ±5mV
- 采样速率:通常10~100Hz
- 共模电压范围:0~5V(针对单节电芯)
AFE内部结构其实不复杂。每个通道对应一个差分输入,经过多路复用器(MUX)选通,再通过ADC转换。但这里有个坑——MUX切换时会有建立时间,采样太快反而会引入误差。
我的经验:采样周期建议留足500μs以上的建立时间。我曾经遇到过采样速率设到200Hz,结果电压跳动±3mV,后来把速率降到50Hz,问题就解决了。
1.2 差分采样与共模抑制
为什么单体电压采集要用差分采样?
原因很简单:电池串联后,每节电芯的负极电位都不一样。第一节负极是0V,第二节负极就是3.6V,第三节负极是7.2V……如果用地作为参考,你根本没法测。
差分采样的好处是:只关心正负极之间的压差,不关心它们对地的绝对电位。这就是共模抑制的核心理念。
共模抑制比(CMRR)是衡量AFE性能的重要参数。CMRR越高,对共模噪声的抑制能力越强。一般AFE的CMRR在60~100dB之间。
注意:共模电压不是无限大的。每款AFE都有共模输入范围,超出范围会导致采样严重失真。比如BQ79616的共模范围是-0.3V到5.3V,超过这个范围,芯片内部钳位二极管会导通,电压直接拉偏。
我在调试一个48V系统时遇到过这个问题。电池组最高串的共模电压接近60V,而AFE的共模范围只有5V。怎么办?
答案是:用分压电阻网络把共模电压降到AFE能承受的范围。但分压电阻会引入分压误差,需要校准。
1.3 通道校准与温度补偿
AFE芯片出厂时会有一定的偏移误差和增益误差。偏移误差是零点漂移,增益误差是放大倍数不准。
校准方法很简单:
- 偏移校准:将输入端短路,测量输出值,这个值就是偏移量。
- 增益校准:输入一个已知的精确电压,测量输出值,计算增益系数。
校准公式:
V_real = (V_raw - offset) * gain_factor
其中:
- V_raw:ADC原始读数
- offset:偏移量(mV)
- gain_factor:增益系数(无量纲)
但校准不是一劳永逸的。温度变化会引起AFE内部参数漂移。我做过实验,温度从-20℃升到60℃,偏移量能漂移±0.5mV。
温度补偿策略:
- 在BMS主板上放置温度传感器,监测AFE附近温度
- 建立温度-偏移量查找表(LUT)
- 每10℃一个插值点,线性插值计算当前温度下的偏移量
代码示例(伪代码):
// 温度补偿函数
float temp_compensate(float raw_voltage, float temperature) {
// 从LUT中查找当前温度对应的偏移量
float offset = lookup_offset(temperature);
// 增益系数通常温度影响较小,可忽略或单独补偿
float compensated = raw_voltage - offset;
return compensated;
}
我曾经在一个项目中忽略了温度补偿,结果夏天和冬天的电压偏差差了1.2mV。虽然单看不大,但累积到SOC估算上,误差能到3%以上。嗯,从那以后我再也不敢省这步了。
1.4 常见故障诊断
电压采集通道的故障,我归纳为以下几类:
| 故障类型 | 现象 | 可能原因 | 诊断方法 |
|---|---|---|---|
| 开路故障 | 电压跳变到0V或满量程 | 连接线断裂、接触不良 | 检测电压变化率,超过阈值报警 |
| 短路故障 | 相邻通道电压相同 | 采样线间短路、PCB漏电 | 比较相邻通道差值,小于阈值报警 |
| 漂移故障 | 电压缓慢偏离真实值 | AFE老化、温度影响 | 定期自校准,监测偏移量变化 |
| 噪声干扰 | 电压跳动频繁 | 电源纹波、电磁干扰 | 增加滤波电容、软件滤波 |
诊断策略:
- 实时监测:每个采样周期检查电压是否在合理范围内(比如0~5V)
- 变化率检测:相邻两次采样差值超过设定阈值(如100mV),判定为异常
- 冗余校验:如果系统有冗余AFE,交叉比对数据
避坑指南:我曾经遇到过一批AFE芯片,上电后前10个采样值都是乱的。后来发现是AFE内部参考电压建立需要时间。解决方案是:上电后先丢弃前20个采样点,等稳定后再开始采集。
好了,这一章的内容就到这里。电压采集是BMS的基石,看似简单,但细节很多。下一章咱们聊聊电流采集与库仑积分,那又是另一番天地。
公众号:蓝海资料掘金营,微信deep3321