3、电压采集与诊断:电压采样原理与故障分析
各位好,今天我们聊聊BMS里最基础、也最容易出问题的一环——电压采集。
说实话,我入行那会儿,第一个跟的项目就是电压采样板。当时觉得不就是测个电压嘛,能有多难?后来被现实狠狠教育了一顿。电池包的电压,尤其是串联电芯的电压,可不是拿万用表量一下那么简单。
3.1 电压采样原理
电压采样,说白了就是把电芯两端的模拟电压,变成主控芯片能读懂的数字信号。这里有两个核心问题:一是精度,二是隔离。
3.1.1 差分采样
为什么不用单端采样?你想想看,电池包里有几十甚至上百节电芯串联。第一节电芯的负极是0V,正极是3.6V。到了第二节,负极是3.6V,正极是7.2V。如果你用单端采样,参考地是电池包总负极,那测第二节电芯时,你要测的是3.6V和7.2V之间的差值。
但问题是,3.6V和7.2V这两个电压都很大,而差值只有3.6V。ADC的精度是有限的,比如12位ADC,参考电压5V,那么LSB是1.22mV。但如果你用单端方式,你实际上是在用大电压减大电压,误差会被放大。
差分采样就解决了这个问题。它直接测量电芯正极和负极之间的电位差,共模电压被抑制掉了。
核心要点:差分采样只关心两个输入端的差值,不关心它们对地的绝对电压。这能有效抑制共模干扰。
我记得有一次,客户反馈说低温下电压采集偏差很大。查了半天,发现是采样芯片的共模抑制比(CMRR)在低温下下降了。差分采样虽然好,但芯片本身的CMRR指标你得盯紧了。
3.1.2 隔离采样
隔离采样,这是BMS里绕不开的话题。为什么需要隔离?
电池包的高压侧,动不动就是400V、800V。而BMS的控制板,通常是低压系统,12V或者5V。如果不隔离,高压侧一旦出问题,低压侧全部烧毁,甚至危及人身安全。
隔离采样的方式主要有两种:
- 隔离放大器:比如ISO124,通过调制解调的方式,把模拟信号隔离传输。精度高,但成本也高。
- 隔离ADC:比如ADuM系列,直接把ADC和隔离做在一起。数字信号通过隔离栅传输,抗干扰能力强。
我个人习惯,在量产项目中更倾向于用隔离ADC。为什么?因为隔离放大器需要额外的隔离电源,而隔离ADC通常自带隔离电源,省事很多。
避坑指南:我曾经在一个项目中,为了省成本,用了光耦隔离的方案。结果发现光耦的传输延迟随温度变化很大,导致采样时序对不上。后来全部换成了磁耦隔离,问题才解决。所以,隔离方式的选择,不能只看成本,还要看时序和温度特性。
3.2 电压传感器故障诊断
传感器是会坏的。而且坏的方式五花八门。我总结了一下,常见的故障就三种:漂移、偏置、断线。
3.2.1 漂移故障
漂移,就是传感器的输出值随着时间或温度缓慢变化,但变化量不大。比如一个3.6V的电芯,传感器输出3.58V,过一会儿变成3.59V,再过一会儿又变成3.57V。这种故障最难抓,因为它不是一下子坏掉的。
诊断方法:
- 参考电压对比:在采样通道中,预留一个精密参考电压通道。定期测量参考电压,如果参考电压的读数出现漂移,说明传感器有问题。
- 冗余采样:用两个独立的采样通道测同一节电芯。如果两个通道的差值超过阈值,判定为漂移故障。
我建议,在BMS的初始化阶段,先测量一次参考电压,记录初始值。然后在运行过程中,每隔一段时间再测一次。如果偏差超过0.1%,就要报警了。
3.2.2 偏置故障
偏置,就是传感器的输出值固定偏移了一个常数。比如实际电压3.6V,传感器输出3.7V,而且不管你怎么变,它都多0.1V。
偏置故障的原因,通常是采样电路中的运放输入偏置电流过大,或者分压电阻的阻值发生了变化。
诊断方法:
- 零点校准:在采样通道中,设计一个接地通道。测量接地通道的电压,如果读数不为0,说明存在偏置。
- 差值分析:计算相邻两节电芯的电压差。如果某个通道的差值明显偏离正常范围,可能是偏置故障。
注意:偏置故障和漂移故障有时会同时出现。我曾经遇到过,一个采样芯片在高温下既漂移又偏置,搞得我排查了整整两天。后来发现是芯片的电源纹波太大,影响了内部基准。所以,采样电路的电源质量,一定要做好。
3.2.3 断线故障
断线,就是采样线断了,或者连接器松了。这种故障最明显,也最好诊断。
断线后,采样输入会变成高阻态。如果采样电路有上拉或下拉电阻,读数会直接拉到电源或地。如果没有,读数会随机浮动。
诊断方法:
- 电压跳变检测:如果某个通道的电压在短时间内发生剧烈跳变(比如从3.6V跳到0V或5V),基本可以判定是断线。
- 激励电流法:在采样线上施加一个微小的激励电流。如果线断了,电压会瞬间被拉到电源轨。
嗯,这里要注意,断线故障的检测要快。因为一旦断线,BMS就失去了对那节电芯的监控,如果此时电芯过充或过放,后果很严重。
3.3 电压不一致性分析
电压不一致性,是电池包的老大难问题。说白了,就是同一批电芯,用着用着,电压就不一样了。
原因有很多:
- 制造差异:电芯的内阻、容量、自放电率,天生就有差异。虽然厂家会分选,但不可能完全一致。
- 温度差异:电池包内部,中间的电芯散热差,温度高;边缘的电芯散热好,温度低。温度不同,电压就不同。
- 老化差异:随着循环次数增加,电芯的老化速度不同。老得快的电芯,电压下降也快。
电压不一致性,会导致两个问题:
- 容量利用率下降:充电时,电压最高的电芯先达到截止电压,BMS停止充电。但其他电芯还没充满。放电时同理。结果就是,整个电池包的可用容量,被最差的那节电芯限制了。
- 安全风险:电压不一致性严重时,某些电芯可能会过充或过放,引发热失控。
怎么分析?我一般用两个指标:
| 指标 | 定义 | 阈值建议 |
|---|---|---|
| 最大压差 | 所有电芯中,最高电压与最低电压的差值 | ≤ 50mV(静置状态) |
| 电压标准差 | 所有电芯电压的标准差 | ≤ 10mV |
如果最大压差超过100mV,就要启动均衡了。如果超过200mV,我建议直接报警,因为这说明电池包内部可能已经出现了严重问题。
个人经验:我曾经处理过一个案例,电池包在运行半年后,最大压差达到了300mV。查了很久,发现是某节电芯的极耳焊接不良,导致内阻偏大。所以,电压不一致性分析,不能只看表面数据,还要结合内阻、温度等参数综合判断。
好了,电压采集与诊断这部分,我们就聊到这里。下一节,我们会讲温度采集与热管理。温度问题,其实比电压更棘手。到时候再细聊。