[发明专利]一种基于FPGA的锂离子电池SOC估计方法和估计设备在审

专利信息
申请号: 201510306280.3 申请日: 2015-06-05
公开(公告)号: CN104865535A 公开(公告)日: 2015-08-26
发明(设计)人: 马彦;何鹏才;王留;周秀文;孙延帅;茹敬佩;李炳思;殷明月;陈虹 申请(专利权)人: 吉林大学
主分类号: G01R31/36 分类号: G01R31/36
代理公司: 长春吉大专利代理有限责任公司 22201 代理人: 齐安全
地址: 130012 吉*** 国省代码: 吉林;22
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 fpga 锂离子电池 soc 估计 方法 设备
【权利要求书】:

1.一种基于FPGA的锂离子电池SOC估计方法,其特征在于步骤如下:

第一步、建立锂离子电池的二阶等效电路模型:

锂离子电池模型采用二阶RC等效电路模型,其离散化的状态方程和输出方程为:

SOC(k+1)Vs(k+1)Vd(k+1)=10001-Tτs0001-Tτd·SOC(k)Vs(k)Vd(k)+-TQNTCsTCd·I(k)---(1)]]>

VD(k)=Voc(SOC(k))-Vs(k)-Vd(k)-Ri·I(k)       (2)

其中,选择电池内部的荷电状态SOC、极化电压Vs和Vd作为状态变量,则在k时刻,x(k)=[SOC(k) Vs(k) Vd(k)]T;τs=Rs·Cs,τd=Rd·Cd,Rs、Rd是电池的极化内阻,Cs、Cd是电池的极化电容;Ri是电池的欧姆内阻;T是采样间隔时间;QN为电池额定容量;Voc(SOC(k))为k时刻电池的开路电压,VD(k)为k时刻电池的端电压,I(k)为k时刻电池的充放电电流;

引入过程噪声w(k)和测量噪声v(k),式(1)、(2)可表示为

x(k+1)=A·x(k)+B·I(k)+w(k)           (3)

y(k)=VD(k)+v(k)=C·x(k)+v(k)        (4)

其中,w(k)和v(k)是互不相关的零均值高斯白噪声;y(k)表示实际测量的电池端电压;

系数矩阵:A=10001-Tτs0001-Tτd,B=-TQNTCsTCdT,C=y(k)x(k)T;]]>

第二步、结合二阶等效电路模型,建立基于EKF的SOC估计算法

结合式(3)、式(4)和第一步中的锂离子电池二阶等效电路模型,建立基于EKF的SOC估计算法估计电池的SOC,具体为:

(1)初始化

k=0时确定过程噪声的方差Q=E[w(k),w(k)T]、测量噪声的方差R=E[v(k),v(k)T]、初始状态估计值初始状态的协方差P(0)=E[(x^-(0)-x^(0))(x^-(0)-x^(0))T];]]>

(2)滚动更新

在k=0,1,2…时刻,

状态预测:x^-(k+1)=A·x^(k)+B·I(k)---(5)]]>

协方差预测:P-(k+1)=A·P(k)·AT+Q            (6)

卡尔曼增益:L(k+1)=P-(k+1)·C(k)T·[Ck+1·P-(k+1)·C(k)T+R]-1   (7)

状态更新:x^(k+1)=x^-(k+1)+L(k+1)·[y(k+1)-VD(k+1)]---(8)]]>

协方差更新:P(k+1)=[E-L(k+1)·Ck]·P-(k+1)        (9)

本步骤过程(2)中的公式(5)至公式(9)循环迭代,所要求解的SOC值为的状态之一,分离的状态量即可得到滚动更新的锂电池SOC值;

第三步、分析快速矩阵运算法的原理,并把第二步中的EKF算法进行快速矩阵运算分解,其过程为:

(1)快速矩阵运算法原理

设矩阵A、B、C和D分别满足

Am×s·Bs×n=a11·b11+...+a1q·bq1+...+a1s·bs1...a11·b1e+...+a1q·bqe...+a1s·bse...a11·b1n+...+a1q·bqn...+a1s·bsn...............ap1·b11+...+apq·bq1+...+aps·bs1...ap1·b1e+...+apq·bqe...+aps·bse...ap1·b1n+...+apq·bqn...+aps·bsn...............am1·b11+...+amq·bq1+...+ams·bs1...am1·b1e+...+amq·bqe...+ams·bse...am1·b1n+...+amq·bqn...+ams·bsn---(10)]]>

Cm×d·Dd×n=c11·d11+...+c1f·df1+...+c1d·dd1...c11·d1e+...+c1f·dfe+...+c1d·dde...c11·d1n+...+c1f·dfn+...+c1d·ddn...............cp1·d11+...+cpf·df1+...+cpd·dd1...cp1·d1e+...+cpf·dfe+...+cpd·dde...cp1·d1n+...+cpf·dfn+...+cpd·ddn...............cm1·d11+...+cmf·df1+...+cmd·dd1...cm1·d1e+...+cmf·dfe+...+cmd·dde...cm1·d1n+...+cmf·dfn+...+cmd·ddn---(11)]]>

所以,任意维数的矩阵多项式运算可表示为:

把式(10)、(11)带入式(12)中,得到快速矩阵运算法的分解式为:

g11=(a11·b11+...+a1q·bq1+...+a1s·bs1)±(c11·d11+...+c1f·df1+...+c1d·dd1)±.........g1e=(a11·b1e+...+a1q·bqe+...+a1s·bse)±(c11·d1e+...+c1f·dfe+...+c1d·dde±).........gpe=(ap1·b1e+...+apq·bqe+...+aps·bse)±(cp1·d1e+...+cpf·dfe+...+cpd·dde)±.........gmn=(am1·b1n+...+amq·bqn+...+ams·bsn)±(cm1·d1n+...+cmf·dfn+...+cmd·ddn)±...---(13)]]>

快速矩阵运算法只需要按式(13)计算矩阵Gm×n内各元素即可;

(2)EKF算法分解

按照快速矩阵运算法可将EKF算法中式(5)至式(9)按式(13)进行分解,其过程如下:

1)分解状态预测值

设状态预测值x^-(k+1)=x^1-(k+1)x^2-(k+1)x^3-(k+1)T;]]>状态量x^(k)=x^1(k)x^2(k)x^3(k)T=x(k);]]>系数矩阵A=a11000a22000a33,B=b1b2b3;]]>则状态预测式(5)的分解式为:

x^1-(k+1)=a11·x^1(k)+b1·I(k)x^2-(k+1)=a22·x^2(k)+b2·I(k)x^3-(k+1)=a33·x^3(k)+b3·I(k)---(14)]]>

2)分解协方差矩阵

设协方差预测值P-(k+1)=p11-(k+1)p12-(k+1)p13-(k+1)p21-(k+1)p22-(k+1)p23-(k+1)p31-(k+1)p32-(k+1)p33-(k+1);]]>

协方差P(k)=p11(k)p12(k)p13(k)p21(k)p22(k)p23(k)p31(k)p32(k)p33(k);]]>过程噪声的方差Q=Q11000Q22000Q33;]]>

则协方差预测式(6)的分解式为:

p11-(k+1)=a112·p11(k)+Q11p12-(k+1)=a11·a22·p12(k)p13-(k+1)=a11·a33·p13(k)p21-(k+1)=a11·a22·p21(k)p22-(k+1)=a222·p22(k)+Q22p23-(k+1)=a22·a33·p23(k)p31-(k+1)=a33·a11·p31(k)p32-(k+1)=a22·a33·p32(k)p33-(k+1)=a332·p33(k)+Q33---(15)]]>

3)分解卡尔曼增益

设卡尔曼增益L(k+1)=[L11(k+1) L21(k+1) L31(k+1)]T;系数矩阵C=[c11 c12 c13];

则卡尔曼增益式(7)的分解式为:

L11(k+1)=(p11-(k+1)·c11+p12-(k+1)·c12+p13-(k+1)·c13)·(g)-1L21(k+1)=(p21-(k+1)·c11+p22-(k+1)·c12+p23-(k+1)·c13)·(g)-1L31(k+1)=(p31-(k+1)·c11+p32-(k+1)·c12+p33-(k+1)·c13)·(g)-1---(16)]]>

其中,g=c112·p11-+p12-·c11·c12+c11·c13·p13-+p21-·c11·c12+c122·p22-+c12·c13·p23-+c11·c13·p31-+c12·c13·p32-+c132·p33-+R;]]>

4)分解状态更新值

状态更新值式(7)的分解式为:

x^11(k+1)=x^11-(k+1)+L11(k+1)·hx^21(k+1)=x^21-(k+1)+L21(k+1)·hx^31(k+1)=x^31-(k+1)+L31(k+1)·h---(17)]]>

其中,h=yk+1-VD(k+1);

5)分解协方差矩阵更新值

协方差矩阵更新值式(9)的分解式为:

P11(k+1)=(1-L11(k+1)·c11)·P11-(k+1)-L11(k+1)·c12P21-(k+1)-L11(k+1)·c13P31-(k+1)P12(k+1)=(1-L11(k+1)·c11)·P12-(k+1)-L11(k+1)·c12P22-(k+1)-L11(k+1)·c13P32-(k+1)P13(k+1)=(1-L11(k+1)·c11)·P13-(k+1)-L11(k+1)·c12P23-(k+1)-L11(k+1)·c13P33-(k+1)P21(k+1)=-L21(k+1)·c11·P11-(k+1)+(1-L21(k+1)·c12)P21-(k+1)-L11(k+1)·c13P31-(k+1)P22(k+1)=-L21(k+1)·c11·P11-(k+1)+(1-L21(k+1)·c12)P22-(k+1)-L11(k+1)·c13P32-(k+1)P23(k+1)=-L21(k+1)·c11·P13-(k+1)+(1-L21(k+1)·c12)P23-(k+1)-L11(k+1)·c13P33-(k+1)P31(k+1)=-L13(k+1)·c11P11-(k+1)-L31(k+1)·c12P21-(k+1)+(1-L31(k+1)·c13)·P31-(k+1)P32(k+1)=-L13(k+1)·c11P12-(k+1)-L31(k+1)·c12P22-(k+1)+(1-L31(k+1)·c13)·P32(k+1)P33(k+1)=-L13(k+1)·c11P13-(k+1)-L31(k+1)·c12P23-(k+1)+(1-L31(k+1)·c13)·P33-(k+1)---(18)]]>

最终,在FPGA中实现EKF算法时,只需要计算出分解式(14)至式(18)即可;

第四步、给锂离子电池充放电,同时采集其电压和电流数据:

第一步至第三步完成以后,在充放电设备中设置锂离子电池的充放电电流工况,开始为电池进行充放电,并将该工况下采集到的电压y(k)和电流I(k)的数据通过UART传输给FPGA板卡;

第五步、建立UART通信,读取第四步中的电压电流数据,并传输第六步输出的SOC值:

在FPGA中建立UART数据通信协议,一方面为第六步中的SOC估计器传送第四步中输出的电压y(k)和电流I(k)的数据,另一方面将第六步中所实时估计的SOC值传输给上位机显示;

第六步、按第四步的EKF分解算法在FPGA中建立SOC估计器,把第五步中的电压电流数据作为输入,估计出锂离子电池的SOC:

建立SOC估计器,嵌入到FPGA中,并将第三步中的EKF算法分解式(14)至式(18)在该估计器中实现,然后实时读取第四步中的电压y(k)和电流I(k)的数据,估计出电池的SOC值,并在SOC值超出设定的安全范围时由FPGA的I/O口向报警电路发送报警信号;

第七步、上位机监测与报警提示:

上位机接收第六步所传来的SOC值,并实时显示出SOC的变化曲线,同时第六步若发出报警信号,报警电路报警提示驾驶员。

2.一种基于FPGA的锂离子电池SOC估计设备,其特征在于,包括锂离子电池(1)、充放电设备(2)、接线端(3)、FPGA板卡(4)、上位机(5)、报警电路(6)、一分二串口线(7),信号线(8),充放电设备(2)通过接线端(3)与锂离子电池(1)相连接,充放电设备(2)通过一分二串口线(7)的左端与FPGA板卡(4)相连,上位机(5)通过一分二串口线(7)的右端与FPGA板卡(4)相连,FPGA板卡(4)通过信号线(8)与报警电路(6)相连,FPGA板卡(4)为Altera公司的型号为DE2-70的FPGA板卡,其中包括UART通信电路。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林大学,未经吉林大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510306280.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top