卡尔曼滤波算法bms c语言,一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法与流程...
本发明涉及锂电池领域,尤其是一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法。
背景技术:
:由于非可再生能源的日益短缺以及人们对环保问题的日益重视,电动汽车以其高节能、零污染的特点,逐渐成为用户的主流选择。动力电池作为电动汽车的核心部件之一,一直是电动汽车研发的重点。要对电动汽车的电池进行维护和管理,保障电池安全高效地运行,优化电动汽车的续驶里程和驾驶体验,首先需要对电池的运行状态做出有效的估计。电池的运行状态包括荷电状态(StateofCharge,SOC)、功率状态(StateofPower,SOP)、能量状态(StateofEnergy,SOE)等,其中SOC的准确估计是其他状态估计的基础。目前,比较经典的SOC估计方法包括安时积分法、开路电压法以及卡尔曼滤波方法等。其中,安时积分法公式简单,但是依赖于初始值,当初始SOC存在误差时,估算出来的SOC将一直存在误差,另外,安时积分法对传感器精度和采样频率要求较高。开路电压法实现简单,当电池充分静置后,通过查表即可得到电池的SOC,但是静置时间往往过长,应用场景受限。卡尔曼滤波方法利用最小均方误差准则对动态线性系统的状态作出估计,可以估算工作过程中的电池SOC,但是由于电池属于复杂的非线性系统,应用效果并不理想。技术实现要素:为了克服上述现有技术存在的不足,为此,本发明提供一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法。为实现上述目的,本发明采用以下技术方案:一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法,包括以下步骤,S1、建立锂电池等效电路模型;S2、用锂电池开路电压VOC代替电流源E,根据锂电池等效电路模型,建立系统的第一状态方程和第一量测方程;S3、第一状态方程和第一量测方程分别类比EKF算法,分别获得第二状态方程和第二量测方程;S4、利用EKF算法估算锂电池的荷电状态SOC。详细地说,步骤S4具体包括以下步骤:S41、计算状态的一步预测和计算协方差的一步预测;S42、计算卡尔曼增益;S43、计算状态更新方程和协方差更新方程。详细地说,其中步骤S1中,等效电路模型包括依次串联的电阻R0、由极化电阻Rp1和并联连接的极化电容Cp1组成的第一RC网络单元、由极化电阻Rp2和并联连接的极化电容Cp2组成的第二RC网络单元、电流源E,锂电池端电压Vt等于电流源E、电阻R0、第一RC网络单元、第二RC网络单元串联后电路两端的端电压。详细地说,所述第一状态方程为其中,SOCk+1是k+1时刻锂电池的荷电状态,Vp1,k+1为第一RC网络单元k+1时刻的极化电压,Vp2,k+1为第二RC网络单元k+1时刻的极化电压,Δt是采样周期,Ctotal是锂电池的总容量,ik是k时刻锂电池上的电流;第一测量方程为Vt,k=VOC(SOCk)-Vp1,k-Vp2,k-ikR0(2)其中,R0为锂电池内阻,VOC(SOCk)为由锂电池SOC数据查SOC-OCV表所得开路电压。详细地说,第二状态方程为X(k+1)=f[k,X(k)]+V(k)(3)第二测量方程为Z(k)=h[k,X(k)]+W(k)(4)其中Z(k)=Vt,k,V(k)和W(k)分别表示k时刻的过程噪声和量测噪声,V(k)和W(k)均用矩阵表示,SOCk是k时刻锂电池的荷电状态,Vp1,k为第一RC网络单元k时刻的极化电压,Vp2,k为第二RC网络单元k时刻的极化电压,Vt,k表示k时刻的锂电池端电压。详细地说,所述锂电池等效电路模型还包括过程噪声和量测噪声,所述过程噪声和量测噪声均为加性零均值白噪声,过程噪声方差为E[V(k)V′(j)]=Q(k)δkj(5)其中E[…]表示期望值,V′(j)表示j时刻的过程噪声的转置矩阵,Q(k)表示k时刻的过程噪声协方差,δkj表示克罗内克函数,当k=j时,δkj=1,否则δkj=0;量测噪声其方差为E[W(k)W′(j)]=R(k)δkj(6)W′(j)表示j时刻的量测噪声的转置矩阵,R(k)表示k时刻的量测噪声协方差;过程噪声和量测噪声序列是彼此不相关的。详细地说,在步骤S41中,计算状态的一步预测方程为计算协方差的一步预测方程为其中是f函数的雅克比矩阵;在步骤S42中,计算卡尔曼增益的方程为其中是h函数的雅克比矩阵;在步骤S43中,计算状态更新方程为计算协方差更新方程为其中,I为与协方差同维的单位矩阵;状态估计的初始值为协方差矩阵的初始值为P(0|0)。详细地说,在步骤S2中,约定充电电流为负,放电电流为正,第一RC网络单元电压的时间的函数为t表示时间;第二RC网络单元电压的时间的函数为锂电池端电压Vt电压的时间的函数为Vt=VOC-Vp1-Vp2-iR0(14)锂电池的荷电状态SOC为其中CN表示锂电池容量,SOC(0)表示初始状态时锂电池的荷电状态SOC将公式(12)(13)(15)离散化,得到公式(1),将公式(14)离散化,得到公式(2)。本发明的优点在于:(1)本发明中EKF算法不依赖于SOC初始值的设定,即使初始值设定与真实值差距较大,滤波过程也能在较短时间内收敛,得到较精确的SOC估计。(2)本发明中EKF算法有抑制随机噪声的特点,电压、电流等带有误差的量测量,在滤波过程中,会得到一定程度的抑制。(3)本发明中EKF算法可以得到SOC估计值的准确程度,不仅给出一个SOC估计,还可以给出其误差范围。(4)本发明算法复杂度低,将该方法对应的程序烧录至单片机即可实现,也适用于大规模的锂电池组中。附图说明图1为本发明一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法中锂电池等效电路模型。图2为本发明一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法中步骤S4中EKF算法执行流程图。图3为本发明一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法中锂电池放电电流曲线。图4为本发明采用EKF算法估计SOC的结果。具体实施方式一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法,包括以下步骤,S1、建立锂电池等效电路模型;如图1所示,等效电路模型包括依次串联的电阻R0、由极化电阻Rp1和并联连接的极化电容Cp1组成的第一RC网络单元、由极化电阻Rp2和并联连接的极化电容Cp2组成的第二RC网络单元、电流源E,锂电池端电压Vt等于电流源E、电阻R0、第一RC网络单元、第二RC网络单元串联后电路两端的端电压。S2、用锂电池开路电压VOC代替电流源E,根据锂电池等效电路模型,建立系统的第一状态方程和第一量测方程;约定充电电流为负,放电电流为正,第一RC网络单元电压的时间的函数为t表示时间;第二RC网络单元电压的时间的函数为锂电池端电压Vt电压的时间的函数为Vt=VOC-Vp1-Vp2-iR0(14)锂电池的荷电状态SOC为其中CN表示锂电池容量,SOC(0)表示初始状态时锂电池的荷电状态SOC将公式(12)(13)(15)离散化,得到下述的公式(1),将公式(14)离散化,得到下述的公式(2)。所述第一状态方程为其中,SOCk+1是k+1时刻锂电池的荷电状态,Vp1,k+1为第一RC网络单元k+1时刻的极化电压,Vp2,k+1为第二RC网络单元k+1时刻的极化电压,Δt是采样周期,Ctotal是锂电池的总容量,ik是k时刻锂电池上的电流;第一测量方程为Vt,k=VOC(SOCk)-Vp1,k-Vp2,k-ikR0(2)其中,R0为锂电池内阻,VOC(SOCk)为由锂电池SOC数据查SOC-OCV表所得开路电压。S3、第一状态方程和第一量测方程分别类比EKF算法,分别获得第二状态方程和第二量测方程;第二状态方程为X(k+1)=f[k,X(k)]+V(k)(3)第二测量方程为Z(k)=h[k,X(k)]+W(k)(4)其中Z(k)=Vt,k,V(k)和W(k)分别表示k时刻的过程噪声和量测噪声,V(k)和W(k)均用矩阵表示,SOCk是k时刻锂电池的荷电状态,Vp1,k为第一RC网络单元k时刻的极化电压,Vp2,k为第二RC网络单元k时刻的极化电压,Vt,k表示k时刻的锂电池端电压。所述锂电池等效电路模型还包括过程噪声和量测噪声,所述过程噪声和量测噪声均为加性零均值白噪声,过程噪声方差为E[V(k)V′(j)]=Q(k)δkj(5)其中E[…]表示期望值,V′(j)表示j时刻的过程噪声的转置矩阵,Q(k)表示k时刻的过程噪声协方差,δkj表示克罗内克函数,当k=j时,δkj=1,否则δkj=0;量测噪声其方差为E[W(k)W′(j)]=R(k)δkj(6)W′(j)表示j时刻的量测噪声的转置矩阵,R(k)表示k时刻的量测噪声协方差;过程噪声和量测噪声序列是彼此不相关的。S4、利用EKF算法估算锂电池的荷电状态SOC,如图2所示,具体包括以下步骤。S41、计算状态的一步预测和计算协方差的一步预测;计算状态的一步预测方程为计算协方差的一步预测方程为其中是f函数的雅克比矩阵;S42、计算卡尔曼增益;计算卡尔曼增益的方程为其中是h函数的雅克比矩阵;S43、计算状态更新方程和协方差更新方程。计算状态更新方程为计算协方差更新方程为其中,I为与协方差同维的单位矩阵;状态估计的初始值为协方差矩阵的初始值为P(0|0)为了验证EKF算法对锂电池SOC估计的精度,使用标称容量为60Ah的电池包进行放电实验。使用电池管理系统(BatteryManagementSystem,BMS)使用上述方法估算和记录电池的SOC,电池管理系统BMS可以同时记录安时积分法和本发明所述EKF法估算所得SOC。锂电池包SOC有初始误差,放电电流为0~30A内变化的随机电流,每5s变化一次,电池管理系统BMS电流传感器存在测量误差,其测量的波形如图3所示。锂电池包连接充放电柜,以充放电柜记录电流计算得到的SOC值为真实值。分别使用安时积分法和EKF法估算得到的SOC值如图4所示。为了定量比较EKF算法的性能,表1分别给出了两种方法的误差。SOC算法最大误差(1%)均方根误差(1%)安时积分法4.48543.2326EKF法1.78900.9112表1从图4和表1的实验结果可以看出,EKF算法的精度高于传统安时积分方法,这说明了算法的优越性。以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。当前第1页1 2 3 
卡尔曼滤波算法bms c语言,一种利用扩展卡尔曼滤波算法估算锂电池SOC的方法与流程...相关推荐
- 用计算机来唱歌,一种利用计算机软件自动教学乐器和唱歌的方法与流程
本发明涉及计算机领域,特别是一种利用计算机软件自动教学乐器和唱歌的方法. 背景技术: 随着家庭生活质量的提高,越来越多的家庭希望孩子掌握多方面知识,包括学习乐器和唱歌,但是在学习乐器或唱歌时,聘请老师 ...
- 用计算机唱歌教学,一种利用计算机软件自动教学乐器和唱歌的方法与流程
技术特征: 1.一种利用计算机软件自动教学乐器和唱歌的方法,其特征在于,包括如下步骤, 步骤一.构建软件合成器:对各种乐器的声音进行采样和滤波得到不同声音的物理仿真模型,对这些模型用软件算法实现模拟这 ...
- matlab血糖预测,一种基于VMD-PACF-BP模型的动态血糖在线预测方法与流程
本发明属于血糖预测技术领域,尤其涉及一种基于VMD-PACF-BP模型的动态血糖在线预测方法. 背景技术: 目前,中国患有糖尿病人数已成为在世界上拥有糖尿病患者最多的国家.为了降低糖尿病患者长期处于高 ...
- 《数据结构与算法:Python语言描述》一1.3算法和算法分析
本节书摘来自华章出版社<数据结构与算法:Python语言描述>一书中的第1章,第1.3节,作者 裘宗燕,更多章节内容可以访问云栖社区"华章计算机"公众号查看 1.3算法 ...
- 算法高级(36)-如何利用并行提高算法的执行效率?
前面我们学习了那么多的算法,大家也知道,算法的目的是为了解决实际问题的.但我们也看到,对于同一个问题,我们可以用不同的算法来解决.而因为时间和空间复杂度的问题,不同的算法执行的效率差距还是比较大的.我 ...
- mceliece加密算法c语言,一种安全轻量的McEliece公钥掩码加密方法技术
本发明专利技术公开了一种安全轻量的McEliece公钥掩码加密方法,属于信息安全技术领域.该方法的设计分为两部分,即构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法和设计抗 ...
- matlab射影几何,一种利用单幅图像的现场摄像机自标定方法
1. 引言 摄像机标定是计算机视觉测量的前提和基础,通过摄像机标定构建了三维空间点与二维图像点之间的联系.在视觉监控.视觉监测.视觉定位和测量等应用中,要求摄像机能在妨碍工作的情况下,实现摄像机的实时 ...
- 随机噪声的压制c语言,一种地震数据随机噪声压制方法及装置的制造方法
一种地震数据随机噪声压制方法及装置的制造方法 [技术领域] [0001] 本发明涉及地震勘探领域,尤其涉及一种地震数据随机噪声压制方法及装置. [背景技术] [0002] 按噪声在地震剖面上出现的特征 ...
- 快递分拣机器人应用的计算机知识,一种利用计算机控制的快递分拣机器人的制作方法...
技术特征: 1.一种利用计算机控制的快递分拣机器人,包括分拣机器人底座(1).分拣机器人支架(2)和计算机控制器(3),分拣机器人底座(1)上安装有分拣机器人支架(2),分拣机器人支架(2)上安装有计 ...
- 极坐标梯度公式_一种基于极坐标系梯度变化的类圆环边缘检测方法与流程
本发明涉及图形处理技术领域,具体地说是一种基于极坐标系梯度变化的类圆环边缘检测方法. 背景技术: 边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点.图像属性中 ...
最新文章
- this is incompatible with sql_mode=only_full_group_by
- Anaconda查看、删除、增加channel
- AI算法不断突破 人工智能驱动创新需找对方向
- Swift--逃逸闭包与非逃逸闭包(Swift3.1)
- 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting
- Spring Boot配置文件有提示
- dart系列之:dart代码规范实践指南
- linux 安装mysql8_MySQL 8.0与MariaDB 10.4,谁更易于填坑补锅?
- PHP 正则表达式(PCRE)
- 钢筋符号怎样加入wps_钢筋知识「收藏备用」
- html菜单wodpress,wordpress进阶教程(二十二):初步了解菜单
- 读RESTful API 设计指南心得体会
- 中国地级以上城市的经纬度——excel文件
- 华为 2020暑期实习 面试回忆
- 干货 | Elasticsearch 8.X 版本升级指南
- vue后台管理框架(三)——登录功能
- stimulsoft oracle,报表仪表设计器Stimulsoft的处理数据功能
- 一个自建的Java命令行解析参数类ArgumentsParser
- Python如何入门?直接按这个方式玩炸弹超人小游戏,就能掌握编程
- DiSC实施中的一些问题和思考
热门文章
- 基于模型驱动低代码平台的实现原理
- 鼠标右键菜单怎么截图?
- SHFileOperation复制文件夹、文件用法
- 计算机毕业设计 网吧计费管理系统 网吧管理系统 网吧管理系统java 网吧上机管理系统 网吧计费系统 网吧系统 网吧收费管理系统 网咖系统 网咖管理系统 网咖计费系统 网咖收费管理系统
- java网吧会员计费管理系统springboot+vue
- 索尼手机服务器在哪个文件夹,索尼手机云服务器
- 计算机类专业试题及答案,2010年计算机类专业试题及答案
- PHP开发工具phpDesigner 7 (最新版,含注册机)
- java struts2教程_Struts2教程
- 2、杂项:Bootloader升级方式---擦、写flash在RAM中运行