FPGA赋能卡尔曼滤波:高效实现锂离子电池包SOC的实时监测与预测

科技   2024-11-11 22:31   浙江  

摘要 - 本研究针对锂离子电池的充电状态监测进行了深入探讨,这对于嵌入式应用中电池能源管理的安全性与效率至关重要。准确了解电池的充电状态对于确保其安全使用和性能发挥具有决定性意义。研究团队开发并实施了一种基于卡尔曼滤波器的观测器算法,并将其部署在Spartan 6 FPGA上,该算法能够精确估计电池的充电状态,即便在初始估计值与实际状态存在偏差的情况下。本文特别强调了FPGA在快速计算方面的优势,这使得FPGA能够作为电池管理系统(BMS)中的高效从属组件,以较低成本监测大量电池的充电状态。在低成本FPGA上实现此观测器对于降低电动汽车等应用中电池管理系统的成本具有重要意义。此外,该观测器模型已经通过严格的仿真和实时测试验证了其有效性。本研究提出了一种准确估计锂离子电池充电状态的有效方法,为各种应用中电池能源的有效管理提供了有力支持。

1.简介

能量管理与SOC估计的重要性:能量管理在嵌入式应用(尤其是电池供电设备)中极为关键,影响电池寿命和系统整体性能。锂离子电池因高能量密度、低自放电率和长循环寿命而广泛应用。为确保电池供电系统安全高效,准确估计SOC必不可少,不准确的估计会导致电池过充、过放和过早失效。然而,锂离子电池的非线性和时变特性使SOC估计颇具挑战,因此多种估计方法被提出,包括基于模型和数据驱动的方法。 

电池管理系统与SOC估计方法

    • 电池管理系统(BMS)是电池组的重要组成部分,监测电池状态并控制充放电过程,准确的SOC估计是其关键功能之一,有助于优化电池使用、防止过充过放,算法需满足高精度、对低精度传感器误差和电池参数误估计的鲁棒性以及低计算功率要求。实现准确SOC估计的建模和估计技术包括电化学、等效电路和数据驱动方法等,电化学模型准确但计算昂贵且需专业知识,基于观测器的方法相对简单且精度不错。   

    • SOC估计方法分为开环和闭环估计两类。开环方法如库仑计数法简单但需初始SOC知识、动态慢且可靠性差,开路电压法准确但需电池长时间静置。闭环方法主要包括模型预测控制(MPC)及其相关方法(如扩展卡尔曼滤波器EKF、对偶扩展卡尔曼滤波器DEKF、自适应扩展卡尔曼滤波器AEKF、自适应混合算法AMA、状态观测器、广义扩展状态观测器GESO、模糊逻辑方法和神经网络等),还有如H无穷滤波器、滑动模式观测器SMO、基于粒子滤波器PF的方法以及卡尔曼滤波器的变体(如无迹卡尔曼滤波器UKF和西格玛点卡尔曼滤波器SPKF)等。 

EKF与FPGA在SOC估计中的应用:在线SOC估计有多种方法,状态观测器(尤其是EKF)因其鲁棒性而受欢迎,在电池管理中,EKF递归算法可结合电池模型和测量数据估计SOC,但用微控制器实现复杂算法成本高,对于多电池系统可能不合适,BMS成本(含监控和平衡)可能达电池组价格的30%。因此,本研究关注用现场可编程门阵列(FPGA)对串联多电池的电动汽车电池进行SOC估计算法的快速计算,FPGA在工业领域已被证明高效,本研究目标是在低成本高效的Spartan 6 FPGA上实现基于EKF算法的观测器,该观测器能校正初始不准确的SOC估计,快速观测时间可实现用同一FPGA同时观测多个电池,降低电动汽车或其他需监测电池SOC系统的BMS成本,论文后续章节将依次介绍锂离子电池模型、观测器设计、在FPGA上的实现、Xilinx环境下的仿真、实验结果以及研究结论和未来工作。

图1.BMS的架构和功能。

2.充电状态观测器

电池模型

为准确表示电化学电池动态行为,有多种建模方法。电化学模型虽有助于预测电池性能和理解老化机制,但需电池初始和边界条件,且计算复杂不适合实时应用。于是开发了基于等效电路(EEC)的简化模型,适用于非电化学专业人员且便于实时应用,不过在电池层面需考虑电化学现象以简化模型识别。 

图2.观测器使用的电池模型

本研究采用的EEC模型包括开路电压源(OCV)、代表高频现象(如电解质和连接电阻以及电荷转移动态电阻)的电阻RΩ和模拟低频扩散现象的并联电路R1C1。为简化实时计算,用单个RC电路模拟扩散现象,采样周期Te = 0.1秒,因电荷转移动态(约10ms)相比采样周期可忽略。电池模型状态方程扩展到SOC如公式1:

(其中Qnom为标称容量,V1为R1C1电路两端电压,SOC为荷电状态,Ubat为电池端电压),离散状态电池模型扩展到SOC如公式2:

基于卡尔曼滤波器的SOC观测器

SOC无法直接测量,扩展卡尔曼滤波器(EKF)常用于解决此问题,它需准确电池模型且能在一定噪声范围内估计SOC。EKF在特定采样时间Te初始化和预测状态变量,用包含SOC的电池模型状态方程(公式1)进行预测,观测器性能取决于对测量和模型的置信度,考虑模型不确定性wk和电压测量不确定性vk(公式3):

假设其为白噪声、高斯噪声且均值为零,分别纳入状态和测量噪声协方差矩阵Q和R。
由于电池模型扩展到SOC是非线性的(因OCV与SOC相关),需在每个采样时间通过计算雅可比矩阵线性化(公式4):

其中Gk包含(为SOC的查找表)。线性化后计算卡尔曼增益(公式5):

更新协方差矩阵(公式6):

最后用最优增益校正预测状态向量(公式7):

EKF参数汇总于表1。

表1.卡尔曼滤波器的参数

3.FPGA实现

FPGA架构设计:FPGA由处理资源(如存储器、逻辑和寄存器,分组为不同类型逻辑块)和可编程互连资源组成,编程时需指定逻辑块功能并组织互连网络。本研究关注矩阵型可编程电路架构,其逻辑块呈规则矩形结构,通过可编程互连点连接路由网络(由水平和垂直通道构成)。FPGA由预设计基本电池和互连组成,用户可编程构建满足应用需求的特定硬件架构,在工业领域表现出高吞吐量和低延迟处理能力,其灵活性可增强性能、降低成本且具有可扩展性。使用FPGA可配置并行计算减少算法执行时间,但编程需优化物理特性,包括算法时间/面积性能和数据格式位数选择,同时保持观测器基本精度。

表2.FPGA的主要规格

图3.由5个串联电池组成的电池组。

设备与软件:本研究旨在实时系统中实现估计电池组SOC的扩展卡尔曼滤波器(EKF),采用dSPACE的MicroAutoBox II(MABXII)硬件平台,因其在汽车行业用于原型设计和测试,可靠且稳健。其嵌入式Xilinx Spartan - 6 FPGA(XC6SLX150)性能高且功耗低(关键规格见表2),适合本应用。SOC观测器在该FPGA上实现,并对由5个串联锂离子电池组成的电池组中的单个电池SOC进行测试(电池组参数:总标称电压18V,单电池标称电压3.6V,整体容量2.5Ah,采用三星25R 18650锂离子电池,正极为NCA和NMC混合化学物质,负极为石墨,电池模型参数通过恒电流间歇滴定技术GITT识别,见图4)。假设电池温度25°C且参数恒定,EKF算法用Simulink块开发(见图5部分算法),并通过流水线、时分复用/折叠和定制精度优化性能和资源利用。

图4.25℃下电池参数随充电状态变化的图示

图5.Xilinx FPGA用特殊Simulink块编写的EKF算法的一部分。

时分复用技术:研究中的电池组含5个串联锂离子电池,估计各电池SOC有两种方法。一是开发含五个电池模型的设计,但因资源需求大不适合实时应用,需更昂贵且资源丰富的FPGA。二是基于时分复用(见图6),每个采样时间Te' = 0.02秒,电池组电流和电池电压经MicroAutoBox DSP板ADC数字化后,状态机将数据依次送至FPGA执行EKF算法,算法结束后将估计和校正的SOC、误差协方差矩阵和扩散电压等送回DSP。后续将聚焦于通过仿真验证观测器,这对确保观测器在FPGA上部署前的准确性和有效性至关重要。

图6.时序图。

4.Xilinx对观察者的验证

验证过程:使用专门为FPGA编程设计的系统生成器库对算法进行验证,该库允许用Simulink块对FPGA编程,数据处理可采用浮点或定点模式,精度越高FPGA资源需求越大。为平衡结果精度和资源利用,本研究选择定点模式中的有符号表示,具体为Fix32_16格式(整数部分15位、小数部分16位、符号位1位)。使用该Xilinx库的主要优势是便于在FPGA上实现,无需复杂的VHDL编程。 

性能评估与结果

    • 基于EKF的观测器性能通过1C放电电流(2.5A)的电流曲线进行评估,实际SOC初始化为100%,初始估计SOC值SOC_0设为0%(SOC_0为可调参数,可实现广泛的估计SOC初始化范围),SOC参考值由用正确初始SOC和标称容量初始化的库仑计获得。将设计的估计器置于1C电流步长放电电流曲线下进行验证。   

    • 结果(见图7)显示,尽管初始估计值与实际SOC初始值不同,但估计SOC仍向电池实际SOC收敛,表明EKF观测器能校正不良SOC估计,使估计SOC收敛到实际值。然而,实现中使用的定点表示限制了所用位数,导致估计误差,且在预测状态变量时电流积分过程中误差可能累积,使估计值与实际值存在较大误差范围。不过,只要绝对误差小于5%,滤波器就被认为是有效的,能够准确估计状态变量。

图7.Xilinx下的验证结果

5.FPGA实时实现结果

实时验证(使用预录数据):在实际电池测试前,利用电池预录的电流/电压数据进行模拟测试。测试结果(见图8)表明观测器实时性能良好,采用1C电流步长(2.5A)放电的电流曲线,SOC初始化为0%,SOC参考值由正确初始化的库仑计获得。与Xilinx仿真结果(见图7)对比,观测器在两种情况下性能相似,且FPGA上实现的卡尔曼滤波器成功减小了测量电压与估计电压的误差,使估计SOC收敛到无法直接测量的准确值。

图8.使用预先记录的数据进行实时放电验证

实验验证观测器

单个电池测试:在使用预录数据实时验证后,进一步在实际电池放电时进行测试。利用图9所示测试平台,让电池放电同时运行观测器,以评估SOC估计准确性。通过产生电流脉冲循环(见图10)作为可编程有源负载的设定值对电池放电,实验结果(见图11)显示,电流循环开始时,滤波器能校正初始为0%的SOC,随着电压降低,SOC也降低,系统能自动校正,但估计过程有振荡,主要因传感器测量噪声,需更平滑滤波器。  

图9.(a)实验台;(b)平台方案

图10.放电电流脉冲周期

图11.一个电池放电的实验结果

电池组测试:由于研究电池由5个串联电池组成,需对整个电池组测试开发的估计器。将时分复用技术(见图6)加入卡尔曼滤波器模型,产生周期3200s、幅度 - 2.5A的电流脉冲循环(类似图10)作为可编程有源负载设定值对电池放电,结果(见图12)表明观测器能准确估计整个电池组各电池的电压和SOC,基于五条曲线可确定各电池的SOC和电压,相比以往仅估计电池组整体电压和SOC的研究有显著优势。SOC观测器执行时间为2.5µs,典型采样周期0.1s,Spartan 6芯片在一个采样周期内有足够时间执行多次SOC估计并观察其他状态(如内部温度)。FPGA实现未消耗大量资源(见图13和表3),尽管程序复杂,但未用尽FPGA可用资源。

图12.整个电池组放电的实验结果

图13.资源使用区域图。

表3.设备利用率汇总

6.总结

在嵌入式应用领域,能源管理对于优化能源消耗和延长电池寿命极为关键。这要求我们能够精确监控电池的充电状态。本项研究集中于开发一种状态观测器,用以估算锂离子电池组中各个电池的电压与充电状态。该观测器采用了适用于锂离子电池的卡尔曼滤波算法,具备在初始估计值与实际充电状态不一致时校正充电状态的能力。这一复杂算法在低成本Spartan 6 FPGA(价格低于20欧元)上的实现已被证实具有高效率,能够同时监测多个电池,从而降低电池管理系统的成本。
实验结果证明,该观测器能够准确估算每个电池的电压和充电状态,相较于以往仅能估算整个电池包电压和充电状态的研究,展现了明显的优势。观测器的低执行时间和资源消耗使其成为实时监控和控制锂离子电池包的有力工具,适用于多种应用场景。尽管在实现过程中遇到了数据噪声等挑战,但通过采用适当的滤波技术可以有效解决这些问题,以确保结果的准确性。总体而言,本研究为电池管理系统领域贡献了重要价值,并为未来的研究开辟了新的道路。

扫描右边二维码,一起探讨AIOT/新能源


         
往期精彩回顾
深度解析:被动电池平衡策略如何优化BMS在直接功率注入中的效能
高效快充新篇章:揭秘800V集成SiC动力总成的极致性能
全新DWPT建模技术大幅提升电动汽车无线充电系统效能
深度探索:锂离子电池碰撞安全性的多层次研究与模拟分析


LB说IOT
专注于AIOT、大数据、云计算、换电站、新能源等技术领域,在信息化基础设施、大数据平台建设、公共服务应用、企业信息化、智慧城市和信息安全服务等方面具有领先的技术能力。
 最新文章