基于改进EKF算法的锂电池SOC预估研究
moboyou 2025-05-20 23:26 28 浏览
李世光,汪 洋,王建志,高正中,李 莹
(山东科技大学 电气与自动化工程学院,山东 青岛266590)
电池荷电状态(SOC)是描述电池性能的重要指标之一。针对磷酸铁锂电池(LiFePQ4)的特性,选用了能够较真实地反应电池内部状态的PNGV电路模型,提出了改进模型的方法。采用扩展卡尔曼滤波算法(EKF),说明了扩展卡尔曼滤波估算荷电状态的原理并将内阻R0看作状态变量进行同时预估更新,改进形成新的卡尔曼滤波算法。在仿真时对充电电流加入了噪声模拟实测数据。结果表明,该方法能够适应电池特性的动态变化,保证较高的SOC估算精度,减小误差,提高实用性。
中图分类号:TN86;TM912.9
文献标识码:A
DOI:10.16157/j.issn.0258-7998.171403
中文引用格式: 李世光,汪洋,王建志,等. 基于改进EKF算法的锂电池SOC预估研究[J].电子技术应用,2017,43(9):87-89,97.
英文引用格式:Li Shiguang,Wang Yang,Wang Jianzhi,et al. Research on SOC estimation of lithium battery based on improved EKF algorithm[J].Application of Electronic Technique,2017,43(9):87-89,97.
0 引言
随着社会的发展,能源危机问题逐渐显现,环境污染日益严重。磷酸铁锂电池具有比能高、安全性好、循环寿命长、污染低等优点,正逐步成为新的理想动力源[1-2],应用领域也非常广泛。电池的过充放现象会损害电池使用寿命,降低电池的实用性和安全性,因此需要对电池的荷电状态(State Of Charge,SOC)进行精确估算[2]。提高荷电状态估算精度要从两个方面入手:优化电池动态模型以及选用较为精确的算法。
在电池模型和预估算法上,国内外目前已经获得了海量的研究成果,安时计量法、开路电压法[3]、放电电实验法和神经网络等都有局限性,神经网络输入变量的选择是否合适、变量数量是否恰当都直接影响模型的准确性和计算量,而且需要大量的参考数据进行训练,如果用于网络训练的数据不准确或者不完备,则对结果影响很大[4]。
本文基于PNGV电池模型[5-6],采用扩展卡尔曼滤波(EKF)的方法,并进行改进预测LiFePQ4电池的SOC值[7],验证该方法估计SOC值的准确性。
1 电池模型建立
等效电池模型是电池状态估算的基础,其中的电路等效模型便于参数识别与仿真实现。考虑到模型与电池的匹配度和现实应用的实用性,本文选用PNGV模型,其精度较高。由于磷酸铁锂电池拥有2个极点,在模型上添加一个RC环节进行改进,使该模型更加符合电池的内部结构和动态变化情况,并且更精确。改进的等效电路模型如图1所示。
模型中R0描述电池的欧姆内阻,E是理想电压源;Rp1、Rp2和Cp1、Cp2为电池RC个环节的内阻和电容,2个RC环节反映了电池内部的极化现象;IL为电池环路的电流,Uk为电池外电压。在室温情况下,根据电路模型及元件参数,建立模型关系式:
2 锂电池的SOC估算
2.1 状态模型
根据SOC的定义,得出SOC的计算表达式[8]:
根据改进的PNGV模型和SOC表达式可得式(5)的状态方程和式(6)的观测方程。wk、vk分别为过程噪声和观测噪声,是由系统传感器误差和建模不准确所导致的。
计算得到电池模型的离散状态空间模型:
2.2 卡尔曼滤波算法
卡尔曼滤波是应用在线性系统中具有较好预估能力的算法,但其无法应用在在非线性系统中。针对此问题,发展了扩展卡尔曼滤波、无迹卡尔曼滤波等,其中扩展卡尔曼滤波适用范围较广、滤波效果理想。锂电池SOC预估是典型的非线性问题,扩展卡尔曼滤波是SOC估计中较为优化的方法[8]。定义卡尔曼滤波算法参数:
2.3 内阻的状态更新
在电池充电过程中,内阻参数R0并非稳定不变的,而是有轻微的浮动,这会对SOC的预估造成不利的影响。加入内阻的状态更新会更好地反应电池内部的动态变化。
状态方程:
其中,mk、nk分别表示过程噪声和观测噪声。结合2.2节的内容对内阻R0进行状态预估,与SOC卡尔曼预估同时进行,形成新的扩展卡尔曼滤波算法,优化内阻参数,提高预估能力,得到的新卡尔曼流程图如图2所示。
3 方法验证与分析
验证改进后的算法对锂电池值SOC预估的准确性,使用改进PNGV模型,分别用EKF算法和新的EKF算法对锂电池进行SOC预估。本文选用标称容量为2 500 mAh的电池,通过MATLAB软件中的文件进行编程仿真实验。在室温情况下对电池进行1C恒流充电实验,电流加入幅值为40 mA的噪声,加入噪声的电流波形如图3所示。
在恒流工况下,对SOC初始值为0.1的锂电池充电实验,表1表示的是实验参数值。基于EKF方法估计SOC曲线和误差曲线如图4和图5所示。
由图4和图5可以看出初始时误差较小,但从1 200 s开始,误差逐渐增大,最高到达4.2%左右,而且还有比较明显的浮动。随着时间的延长,误差一直存在。
图6和图7为基于新EKF的SOC估计曲线与误差曲线。可以看出误差明显较小,整体比较稳定,在1 800 s左右误差不断增大,但系统能自动调节将误差恢复到±1%以内。由于测量电压本身存在误差以及电池的内部机构特性等,误差的产生是不可避免的,因而要尽可能地降低误差。从仿真结果可以看出新EKF有较好的SOC预估能力。表2所表示的是不同方法对应的最高误差值。
4 结论
本文采用了PNGV模型,改进了模型精度,以新扩展卡尔曼滤波算法为基础,对电流加入了噪声更加精确的模拟实际情况。针对改进后的PNGV模型做了相应的仿真实验研究,可以明显看出使用新卡尔曼滤波算法更加准确,误差明显降低,趋于稳定。结果表明,该方法对锂电池荷电状态(SOC)有较好的预估能力,采用更加精确的测量方法是下一步的研究工作。
参考文献
[1] 李槟,陈全世.混合动力电动汽车中电池特性的研究[J].汽车技术,1999(10):11-14.
[2] 李顶根,李竟成,李建林.电动汽车锂离子电池能量管理系统研究[J].仪器仪表学报,2007,28(8):1522-1527.
[3] POP V.Accuracy analysis of the state-of charge and remai-ning run-time determination for lithiumion batterie[J].Measurement,2009,42:1131-1138.
[4] 尹安东,张万兴,赵韩,等.基于神经网络的磷酸铁锂电池预测研究[J].电子测量与仪器学报,2011,25(5):433-437.
[5] 王铭,李建军,吴扦,等.锂离子电池模型研究进展[J].电源技术,2011,79(35):862-865.
[6] 张宾.电动汽车用磷酸铁锂离子电池的模型分析[J].电源技术,2009,33(5):417-421.
[7] 王沙沙,娄高峰,唐霞,等.基于扩展卡尔曼滤波在矿用可移动救生舱蓄电池状态估计[J].工矿自动化,2013,39(2):43-47.
[8] 高明煜,何志伟,徐杰.基于扩展卡尔曼神经网络算法估计电池SOC[J].电子技术应用,2011,37(11):161-167.
相关推荐
- 圣诞快乐:用GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容
-
转眼就是圣诞的节日,祝大家节日快乐。用GaussDBT(也就是GaussDB100)绘制一棵圣诞树,纯国产,更喜庆。话不多说,上图:SQL如下:SELECTCASEWHENENMOTE...
- Christmas Trees, Promises和Event Emitters
-
今天有同事问我下面这段代码是什么意思:varMyClass=function{events.EventEmitter.call(this);//这行是什么意思?};util...
- 圣诞节快到了,用python、turtle画棵圣诞树吧
-
首先需要安装python环境,如果是新手建议百度一下,有很详细的教程哦,根据电脑的情况去下载对应的python安装包,使用的是python3.7.0的版本,除此之外还有python2,和python...
- Python的浪漫就是送你一桌面的圣诞树
-
python来画一个!或者搞个前端来画!开始教学这次我们用的是python中的turtle(海龟)库,是python中的一个内置库不需要额外安装创建窗口设置画笔绘制图形setup()函数,其中的参数为...
- Python画圣诞树,这波操作让我女友非常开心
-
文章目录1.方块圣诞树2.线条圣诞树3.豪华圣诞树这篇文章主要介绍了使用Python画了一棵圣诞树的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友...
- 快圣诞节了,用Python 做圣诞树送给她,还愁找不到女朋友吗?
-
马上就是圣诞节了,先提前祝大家圣诞快乐!:christmas_tree::christmas_tree::christmas_tree:有人要说了,圣诞节是耶稣诞生的日子,我又不信基督教,有啥好庆祝的...
- 资产管理如何做,用Excel vba,很简单,你还等什么
-
资产管理在企事业单位都比较重视,特别是一些固定资产比较多的部门,十分需要一个详细的管理过程。以前曾经做过一个资产管理的Excel表格,完成了80%功能,一直感觉总不是十分完美。这次要做一个十分过得去的...
- 数据库是什么?数据库连接、管理与分析工具推荐!
-
一、数据库是什么?数据库是一种结构化的数据存储系统,用于有效地组织、存储和管理大量的数据。它是一个集中化的数据存储库,通常由一个或多个数据表组成,每个数据表包含多个行和列,用于存储特定类型的数据。数据...
- 不会写代码的业务人员,如何用Godata在一两周内解决真实业务痛点
-
案例1|某汽摩配件厂:7天把Excel“搬”成MES报工系统背景300人工厂,原来用6张Excel收集机台产量,统计员每天加班到9点。IT排期至少3个月,费用20W+...
- 产品经理提需求时要考虑的 15 个隐性需求
-
虽然世界充满未知的变化,但是有一些大的方向还是可以把握的,本文跟大家谈谈产品经理提需求时要考虑的15个隐性需求,enjoy~俗话说,计划赶不上变化快,无论需求文档做得如何细致,考虑得如何周全,总会...
- 一、XXL-JOB分布式任务调度平台——简介篇
-
官网https://www.xuxueli.com/开源代码https://gitee.com/xuxueli0323/xxl-job?_from=gitee_search概述XXL-JOB是一个轻量...
- 织梦后台如何使用sql语句给dedecms模板添加自定义属性
-
dedecms网站后台如何使用sql语句给dedecms模板添加自定义属性?织梦dedecms模板前台调用文章时经常会觉得属性不够用,我们可以自定义很多属性标签,这样前台调用时就可以做到非常精准,而添...
- 2025年主流显示接口全解析:HDMI、DP、USB-C 谁才是未来之选?
-
显示接口技术不断发展,目前主流的和曾经流行的显示接口标准较多,下面我为你全面盘点一下常见显示接口的标准,包括它们的用途、优缺点和使用场景:一、主流数字显示接口1.HDMI(High-Definiti...
- MoonTV:一个开箱即用、跨平台影视聚合播放器,畅享海量免费影视
-
这个项目和之前推荐过的项目有点类似,原理基本一致,而且该项目最下方引用处也说明了相关情况:如果你之前已经看过下面这篇文章并且搭建好了相关站点,则该项目对于你来说应该是轻车熟路了:LibreTV:自建一...
- 一周热门
- 最近发表
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)