4. 电压采集通道测试
电压采集通道,说白了就是BMS的“眼睛”。
眼睛要是花了,看什么都模糊。电池包里的每一节电芯电压,都得靠它来感知。我见过不少项目,最后出问题都出在电压采集上——不是精度不够导致SOC跳变,就是共模干扰让保护误动作。
所以这一章,咱们把电压采集通道的三个核心测试掰开揉碎了讲。
4.1 单体电压精度校准
先问个问题:你手里的万用表测出来3.500V,BMS读出来3.512V,差了多少?
12mV。对于磷酸铁锂来说,这已经能影响5%以上的SOC估算误差了。
为什么要校准?
芯片有失调电压,电阻有温漂,PCB走线有压降。这些误差叠加起来,不校准根本没法用。我个人习惯,在产线校准阶段,至少做两点:
- 零点校准:输入端短路,记录ADC读数的偏移量
- 满量程校准:输入一个精密参考电压,计算增益误差
校准公式其实很简单:
V_real = (ADC_raw - offset) × gain
但实际做的时候,有个坑——温度系数。我在项目中遇到过,常温下校准完精度0.5mV,到了-20℃直接漂了5mV。后来我学乖了,至少做三个温度点的校准:-20℃、25℃、60℃。
测试方法也不复杂。用精密电压源(精度至少比被测高一个数量级)输出几个典型值:
| 测试点 | 输入电压 (V) | 允许误差 (mV) | 典型实测值 (mV) |
|---|---|---|---|
| 1 | 2.000 | ±2 | 1.998 |
| 2 | 3.000 | ±2 | 3.001 |
| 3 | 3.650 | ±2 | 3.649 |
| 4 | 4.200 | ±2 | 4.202 |
嗯,这里要注意:测试时线缆要尽量短,用开尔文连接法(四线制)能消除接触电阻的影响。
4.2 共模电压抑制比测试
共模电压抑制比,英文叫CMRR。这词听起来高大上,其实意思很简单:当所有通道的电压一起升高时,你的测量结果还能不能保持准确?
你想想看,电池包里电芯是串联的。第1节电芯的负极是0V,正极是3.6V。但第10节电芯的负极可能是32.4V,正极是36.0V。这时候,采集第10节电芯的芯片,输入端对地的电压高达30多伏。
这就是共模电压。如果芯片的CMRR不好,测出来的电压就会跟着共模电压一起漂。
测试方法:
- 把所有通道的输入端短接在一起
- 施加一个共模电压(比如从0V到最大电池电压)
- 记录每个通道的输出变化
CMRR的计算公式:
CMRR (dB) = 20 × log10(ΔV_cm / ΔV_out)
其中ΔV_cm是共模电压变化量,ΔV_out是输出变化量。
一般来说,BMS用的AFE芯片CMRR应该在80dB以上。低于60dB的,基本没法用。
4.3 通道间串扰测试
串扰,就是隔壁邻居在吵架,你这边听得一清二楚。
在BMS里,通道间串扰表现为:当某一节电芯电压剧烈变化时,相邻通道的读数也跟着波动。
为什么会这样?
原因主要有两个:
- PCB走线耦合:相邻采样线之间的寄生电容,高频信号会串过去
- 多路复用器漏电:AFE芯片内部切换通道时,电荷会残留
测试方法其实很直观:
- 让被测通道(比如CH1)输入一个固定电压(如3.6V)
- 让相邻通道(CH2)输入一个跳变电压(如从2.0V跳到4.0V)
- 观察CH1的读数变化
我一般用示波器同时抓两个通道的波形,看CH1在CH2跳变瞬间有没有毛刺。
如果发现串扰超标,怎么办?我分享几个经验:
- 增加采样间隔:让通道切换后有足够的建立时间
- 加屏蔽:在PCB上,敏感采样线之间加地线隔离
- 软件滤波:做中值滤波或滑动平均,但注意别把真实信号也滤掉了
记得有一次,一个项目串扰怎么都压不下去。后来发现是AFE芯片的参考电压引脚滤波电容太小,导致内部基准被干扰。换了个10μF的电容,问题就解决了。有时候,问题不在你盯着的地方。
小结
电压采集通道测试,说白了就是三件事:
- 精度校准:让读数准,别差太多
- 共模抑制:高压环境下也能稳住
- 串扰控制:各通道之间别互相影响