SOC的估算是BMS的核心,但是SOC不能通过直接测量电池组得来,只能通过电池参数的采集估算而来,电池参数涉及到单体电压、充放电电流、温度等。其中单体电压检测属接触式测量,需做好高、低压系统的隔离保护。目前,常用的电压采集方式有以下两种:
(1)基于精密电阻的分压方式。动力电池多组电池单体串联使用,总电压值远超5V,而A/D转换器的电压转换范围通常在5V以内,因此需要电阻进行分压。为保证分压后每节电池的采样值均在0~5V以内,必须采用不同阻值的精密电阻。由于分压电阻阻值不同,导致每节单体电压采样精度不一致。同时分压电阻将消耗一部分电量,导致单体间不均衡,实际中并不适用。
(2)基于继电器及AD芯片的巡检电压采集方式。通过控制任意电池两端的继电器,使同一时刻只有一节电池单体接入采样电路。在一次采样周期内,单片机通过控制每对继电器的开闭,将单体电压值依次通过AD转换器进行转换。该方法可根据需要扩展为对任意多节电池单体进行检测。
本文设计一种改进型的基于光耦继电器和极相切换继电器的单体电压检测电路,采用“浮地”方式巡检采集,利用光耦继电器选通电池单体,极相切换继电器实现换相控制,在换相的间隙切断采样电路,避免发生短路。检测电路分为译码器控制电池选通端、电池选通和极相切换电路,其原理图如下图所示。为方便说明,图中只涉及6节电池单体,根据实际情况可扩展为对更多的电池实施管理。
图1 译码器控制电池选通端原理图
图2 电池选通与极相切换电路原理图
图1中,选用74LS154译码器,通过单片机的4个I/O口最多可控制16节电池单体的选通。当两个选通输入使能端G1和G2都为低电平时,通过对ABCD四个端口进行位编码,可将4个二进制编码的输入译成16个互相独立的输出之一,适用于I/O口资源紧张,同一时刻只有一个端口受控的情况。
图2中,电池选通电路负责选通电池单体,使同一时刻只有一节电池接入采样电路。串联电池组中,电池单体正负极交替排列,奇数节电池排列方式相同,偶数节电池排列方式相同。由于相邻电池单体共用继电器,由采样第奇数块电池变为采样第偶数块电池时,需要进行换相控制。
由于光耦继电器与极相切换继电器的动作时间不一致,换相过程容易造成短路,要加以避免。从两方面进行改进:一方面,在一个巡检周期内,首先对所有奇数块电池采样,期间不进行换相,采样完成后换相,再对所有偶数块电池采样,在一个采样周期内仅换相一次,尽可能避免频繁换相导致电池短路;另一方面,采样回路加入延时继电器,换相时首先切断采样回路,换相完成后接通采样回路。
本设计的优化之处在于利用译码器的位选端同时控制光耦继电器和极相切换继电器,首先采集奇数节电池单体电压,期间不进行换相操作,所有奇数节单体电压采集完成后断开采样回路光耦继电器,等待换相完成,然后进行偶数节单体电压的采集,避免了频繁换相引起的软件换相错误和换相延迟导致的短路和负压。