基于Kalman滤波的锂电池组数据采集系统
2016-09-08刘金枝张军伟河北工业大学控制科学与工程学院天津30030天津惠普数据中心设计工程有限公司天津300384
刘金枝, 杨 鹏, 苑 倩, 张军伟(.河北工业大学控制科学与工程学院,天津30030;.天津惠普数据中心设计工程有限公司,天津300384)
基于Kalman滤波的锂电池组数据采集系统
刘金枝1,杨鹏1,苑倩1,张军伟2
(1.河北工业大学控制科学与工程学院,天津300130;2.天津惠普数据中心设计工程有限公司,天津300384)
针对电池使用环境的复杂多样给信息采集造成众多干扰这一情况,设计了一种基于Kalman滤波的电池组信息采集系统。Kalman滤波是一种最优化递归数据处理方法,具有计算量小、存储量低、实时性高的特点。系统采用电池监测芯片LTC6802采集单体电压值并均衡,PIC18F45K80为主控芯片,运用Kalman滤波对电压、电流、温度信号进行处理后,通过CAN总线进行传输。对系统的整体结构和工作原理进行了介绍,并给出了具体的硬件和软件设计方案。
Kalman滤波;锂电池组;LTC6802;采集系统
锂电池具有能量密度高、无记忆等优点,但是在电池的安全、经济、便捷方面还存在着各种问题,因此对锂电池的信息采集必不可缺。本文开发了一套锂电池组信息采集系统,采用电池监测芯片 LTC6802,避免了采集电路复杂化,以PIC18F45K80为主控芯片。考虑到复杂工作环境对采集信息的干扰,本文应用Kalman滤波算法对锂电池组电流、单体电压、温度信息进行处理,通过Kalman滤波算法最小均方误差准则,保证信息准确性,避免电池组过充过放过流,记录电池运行状态,并通过CAN与外部电路通讯。
1 电池数据采集设计
1.1工作结构
本文研究的锂电池组信息采集系统能够测一组12节电池串联的电池组的单体电压,通过 SPI口与主控芯片PIC18F45K80进行通讯,同时还对单体电池进行温度和电流采集,将采集值和系统设定值比较,当超过设定值后进行报警,并通过控制开关的通断对故障单体电池处理,并且将故障电池序号及故障值存进SD卡,为电池运行状态分析提供参考,同时通过CAN总线与显示装置进行通讯,并可在外部电路对设定值进行手动修改,如图1所示。
图1 系统原理
1.2硬件设计
电压采集和均衡单元以LTC6802为基础。LTC6802是一款完整的带12位数模转换、精确电压参考、高压多路输入和串行接口的电压检测芯片,一块LTC6802最多可以检测总电压不超过60 V的12节电池,最少检测总电压不小于10 V的4块电池,这时芯片的剩余8个引脚需要与第4块电池的正极短接,以保证芯片完整的电气功能和测量精度,而对于电池数量多于12节的电池组,多片LTC6802能够在没有光耦或隔离器的情况下,通过特殊电平移动串口直接串联起来监测链状电池组中每一节电池的电压,并保证所有电池堆栈里的电池电压在13 ms内得到测量。MCU可以通过SPI总线从LTC6802获取信息,并通过向LTC6802寄存器内写值和控制开关完成对电池的被动均衡。为保证电压采集的精准性,在每个采集引脚加上低通滤波电路,有效滤除高频干扰;为保护电压采集引脚,在每个电池采集输入端口并联一个6.2 V的稳压管,防止电压过高损害芯片;为保证信息传递的准确性,在SPI总线接口处连接数字隔离电路,防止传送过程的干扰。电压采集电路如图2所示。
温度采集单元采用TTC温度传感器,对每一节电池温度进行检测,由于电池数量多,故采用多路开关CD4051,MCU控制A、B、C三根地址线和INH使能端对每一节电池依次接通测量,所有电池共用一条检测电路,测量结果由A/D通道RA1送入MCU。电流采集单元采用霍尔传感器HXS50-NP,正负电流均可测,并可通过不同引脚的连接,完成不同范围电流的检测,且直接将电流信号转变为电压信号送进MCU的A/D通道RA0。CAN通讯单元由CAN总线控制器SJA1000、高速光耦6N137和CAN总线驱动器82C250。MCU对SJA1000初始化,通过控制SJA1000实现数据的接收和发送。为了增强CAN总线节点的抗干扰能力,防止线路间串扰,SJA1000的TX0和RX0通过高速光耦6N137后再与82C250相连,MCU的RD口与SJA1000的AD0~AD7相连,RB口与SJA1000的其他控制引脚相连。SD卡有SD和SPI两种通讯模式。选用SD模式时需选用带SD卡控制器接口的MCU,或者必须加入SD卡控制单元以支持SD卡的读写,但是PIC18F45K80没有集成此接口,因此采用SPI模式,由MCU 的I/O接口模拟SPI总线时序,只需4根线便完成所有数据交换。SD卡中存储的是电池运行过程中的故障记录,为替换电池提供依据。MCU的RB口控制报警装置和大功率开关,当电池出现过充过流过放过热的情况时,断开充放电回路并进行报警,保护电池免受损害,保证使用的安全性和经济性。
图2 电压采集电路
1.3软件设计
对于LTC6802的通讯SPI总线,这是一种可同步收发的总线,MCU作为主设备,为从设备LTC6802提供时钟,根据两设备的时序图,将从设备的时钟极性和时钟相位配置成与主设备相匹配的值,当片选使能后,即可进行通讯[1]。同时MCU 的I/O口也可模拟SPI时序与SD卡座进行通讯,此时则需要在每一次接发数据前都发送时钟信号,并有相应时段的延时。CAN通讯主要软件设计为CAN控制器SJA1000初始化设置,报文接受和报文发送。CAN控制器一般经过硬件复位和软件配置后正常工作,通常在复位模式下进行初始化,包括工作方式设定、接收滤波方式设定、寄存器设置等,完成初始化设置后,便可进行正常通讯。软件流程如图3所示。
图3 软件流程
2 Kalman滤波算法
本文所设计的电池组采集系统一般应用于电动轮椅、电动汽车以及一些复杂的工作环境中,采集的电压、电流和温度值不可避免地受到来自外界的各种干扰,为保证信息的准确性,在采取硬件抗干扰的同时也在软件上采用上述Kalman算法对采集到的信息进行处理。
Kalman滤波算法可以用一个线性微分方程来描述[2]。
式中:X(k)为k时刻的系统状态;U(k)为k时刻系统的控制量;A和B为系统参数,多模型系统时为矩阵;Z(k)为k时刻的观测值;H为观测参数,多个观测参数时为矩阵;W(k)和V(k)分别表示系统噪声和段策噪声,在卡尔曼中认为噪声满足高斯白噪声模型,设定W(k)和V(k)的covariance分别为Q和R。
首先预测现在的状态:
式中:X(k/k-1)为系统状态在k时刻利用k-1时刻状态预测的结果,X(k-1/k-1)为系统状态在k-1时刻的最优预测值。经式(3)后还要进行对应于X(k/k-1)的covariance的更新,用P表示。
完成对系统预测,接下来要根据观测值对系统状态进行新的预测,也就是最优的预测。
为了实现递归,每次的权值Kg(也称卡尔曼增益)是不断更新的[3]。
式(1)~式(7)便是卡尔曼算法的核心公式,通过卡尔曼增益权值的递推更新,达到均方误差最小的目的,完成对系统最优处理[4]。
3 测量结果分析
对系统采集的数据按式(8)进行卡尔曼滤波以电压值为例。
对于单体电压值,在没进行卡尔曼滤波时采集到的信息值如表1所示,可看出最大误差为0.22%。
经过卡尔曼滤波后的结果对未经处理的信息值进行了修正,表2为各单体电池电压经卡尔曼滤波处理后的值,可看出最大误差为0.12%,更接近真实值。
?????????????? ???/V 3.969 0 3.919 5 3.919 5 3.949 5 3.855 0 3.784 5 3.580 5 3.754 5 ? ? ? /V 3 .9 6 2 6 3 .9 1 1 8 3 .9 1 1 9 3 . 94 2 5 3 . 8 46 7 3. 7 7 6 9 3 .5 7 2 8 3 .7 4 7 5 ? ? ? / m V 6 . 4 7. 7 7. 6 7 .0 8 .3 7 .6 7 .7 7 . 0
?????????????????? ???/V 3.969 0 3.919 5 3.919 5 3.949 5 3.855 0 3.784 5 3.580 5 3.754 5 ? ? ? /V 3 .9 6 4 6 3 .9 1 5 0 3 .9 1 5 3 3 . 94 5 1 3 . 8 50 7 3. 7 8 0 1 3 .5 7 6 2 3 .7 5 0 0 ? ? ? / m V 4 . 4 4. 5 4 .2 4 .4 4 .3 4 .4 4 .3 4 . 5
在20℃时,对电池进行1 A恒流放电时电压的采集。图4为单体电池电压值卡尔曼滤波前后对比,图5为电池组总电压值卡尔曼滤波前后对比(8节电池串联)。
图4 单体电池电压值卡尔曼滤波前后对比
4 结束语
本文设计的锂电池组信息采集系统,经验证测量误差小,精度准,能够有效保护电池,避免过充、过放现象出现,延长电池使用寿命,同时为电池剩余容量的估算提供准确的信息来源,有简单明了的显示界面,系统稳定可靠,能够在日常生活和生产中广泛使用。
图5 电池组总电压值卡尔曼滤波前后对比(8节电池串联)
[1]卢居霄,黄文华,陈全世.电动汽车电池管理系统的多路电压采集电路设计[J].电源技术,2006(5):103-106.
[2]党宏社,韩崇昭,段战胜.基于多卡尔曼滤波器的自适应传感器融合[J].系统工程与电子技术,2004,5(26):311-313.
[3]戴海峰,孙泽昌,魏学哲.利用双卡尔曼滤波算法估计电动汽车用锂离子动力电池的内部状态[J].机械工程学报,2009,45 (6):95-101.
[4]李相哲,苏芳,林道勇.电动汽车动力电源系统[M].北京:化学工业出版社,2011.
Data acquisition system of lithium-ion batteries based on Kalman filter
LIU Jin-zhi1,YANG Peng1,YUAN Qian1,ZHANG Jun-wei2
(1.School of Control Science and Engineer,Hebei University of Technology,Tianjin 300130,China;2.Tianjin Hewlett-Parkard Critical Facilities Design,Engineering and Construction Co.,Ltd.,Tianjin 300384,China)
A monitor system of lithium-ion batteries based on Kalman Filter was designed for numerous interference of data collected in complex and diverse environment.Kalman Filter was an optimal recursive data processing algorithm with small amount of calculation,low amount of storage and high real-time features.The battery monitor chip LTC6802 was used by the system to acquire data,and PIC18F45K80 was used as the main chip,dealing voltage datas,current datas and temperature datas by Kalman Filter,then transmission through a CAN(Controller Area Network)bus.The working principle and integral structure were introduced,and the specific hardware and software design were given.
Kalman filter;lithium batteries;LTC6802;acquisition system
TM 912
A
1002-087 X(2016)01-0070-03
2015-06-13
刘金枝(1988—),女,河北省人,博士,主要研究方向为计算机控制与工程应用。