一种基于融合神经网络的锂离子电池SOC估计方法

文档序号:30071596发布日期:2022-05-18 02:12阅读:212来源:国知局
一种基于融合神经网络的锂离子电池SOC估计方法
一种基于融合神经网络的锂离子电池soc估计方法
技术领域
1.本发明涉及技术领域,尤其涉及一种基于融合神经网络的锂离子电池soc估计方法。


背景技术:

2.电动汽车已经成为当下汽车行业发展的方向,锂电池凭借其诸多优势在电动汽车中也得到广泛应用。在汽车电池管理系统中,精准的荷电状态(soc)估计对于计算剩余里程至关重要,同时还能够帮助管理系统更加有效的管理和控制汽车电池。
3.目前,关于soc估计的方法有三类,第一类是安时积分法,这种方法需要明确的初始soc值,因此在实际中很难应用,但是大多数用在soc值定义中。第二类是基于模型的方法,主要有电化学模型法和等效电路法。电化学模型因为其复杂的结构和过多参数,在手机或汽车电池中的应用不是很占优势;基于等效电路模型的方法有在线和离线两种,辨识出参数后结合滤波算法完成soc的估计,虽然精度很高,但是很难考虑温度、老化程度随时间的变化。第三类是数据驱动法,主要有支持向量机、神经网络等等,数据驱动模型因为其不需要具体模型,还能够综合考虑多方面的因素,能够拥有更高的精度和良好鲁棒性。在实际应用中,我们更多的还是需要获取汽车手机电池中的剩余电量等数据,这是需要充分考虑温度、老化程度等的。电池容量不仅仅是能够表征老化程度的一个指标,还是在定义soc值时的一个重要参数,所以基于电池容量的soc估计成为一个技术难点。
4.如何解决上述技术问题为本发明面临的课题。


技术实现要素:

5.本发明的目的在于提供一种基于融合神经网络的锂离子电池soc估计方法,分别通过不同温度下的电池充放电实验获取电池各项参数,然后处理数据与构建训练数据集,将训练的数据集导入3dcnn卷积神经网络中进行训练,估计出电池容量后,将估计的电池容量加入数据集构建新的数据集,最终可用于锂电池soc的实时估计。
6.本发明是通过如下措施实现的:一种基于融合神经网络的锂离子电池soc估计方法,包括以下步骤:
7.步骤1)在变化的温度下,将全新锂电池充满电,然后通过恒流放电实验、dst工况放电实验、fuds工况放电实验和us06工况放电实验,反复测取soc从1到0的锂离子电池的端电压、电流、温度;
8.步骤2)对测取的数据进行预处理,构建用于估计电池容量的3dcnn训练数据集和测试数据集,并利用3dcnn卷积神经网络估计出的电池容量构建新的数据集;
9.步骤3)使用2dcnn卷积神经网络对新的数据集进行训练和测试,实现最终的soc实时估计。
10.作为本发明提供的一种基于融合神经网络的锂离子电池soc估计方法进一步优化方案,所述步骤2)具体包括如下步骤:
11.步骤2-1)数据没有统一量纲在神经网络算法拟合时会有收敛速度缓慢、误差偏高等问题,所以需要对测取的数据进行归一化处理。各种工况实验的电池对象相同,但是电压电流等变化范围不同,因此需要先对各种工况的数据单独进行预处理,采用如下公式对输入数据进行归一化处理:
[0012][0013]
其中,a
ij
为第i个输入的第j个数据点,a
min
是第i个输入数据的最小值,a
max
是第i个输入数据的最大值,x
in_ij
是a
ij
进行归一化处理后的数据。
[0014]
输出为锂电池的soc,soc的范围在0到1之间,因此不需要进行归一化处理。
[0015]
步骤2-2)数据归一化处理后,为了发掘一个放电周期中各个输入数据间的联系和相邻放电周期之间的联系,使用如下的方法构建数据集,首先将一个放电周期中的测量值截取成若干个长度为n的数据,如下所示:
[0016][0017]
其中,x
ij
表示输入数据集中第i个输入的第j帧数据,因为3dcnn卷积神经网络可以同时输入一个时间戳上的多帧数据,所以通过选取同一放电时间段上的连续j个放电周期的电压电流等数据作为3dcnn的一个输入。本发明中,j取3。数据集中,t表示电池工作时的温度,u表示电池两端的电压,i表示电池通过的电流,t表示放电的时间。本发明中,n取10,则x
ij
对应的输出yi为tn时刻第3帧的电池容量值。
[0018]
步骤2-3)对于一个总循环充放电次数n、单放电周期t=m的工况放电实验。为了充分发掘每一个放电周期内前后输入数据间的联系和相邻放电周期之间输入数据的联系,使用padding方法对边缘数据进行扩充,然后总共生成n
×
m组大小为3
×4×
10的输入数据,对应的n
×
m个soc值为输出数据,不同工况的输入输出数据合并成为总数据集。
[0019]
步骤2-4)为了不影响数据集的训练,不对总数据集进行打乱操作然后抽取训练与测试数据集。选用一个放电工况前80%的数据作为训练数据集,后20%的数据作为测试数据集,用作3dcnn的训练和测试数据。
[0020]
步骤2-5)针对锂离子电池电池容量估计开发的3dcnn卷积神经网络架构包括:一个输入层(input)、三个卷积层(c)、两个全连接层(f)和一个输出层(output)。
[0021]
步骤2-6)卷积层和全连接层全部使用relu函数进行激活,输出层使用tanh函数进行激活,并如下式进行映射。
[0022]
步骤2-7)加入电池容量的估计,构建新输入数据集,新的数据集大小为5
×
10,输出数据集为tn时刻对应的soc值。
[0023]
作为本发明提供的一种基于融合神经网络的锂离子电池soc估计方法进一步优化方案,所述步骤3)具体包含如下步骤:
[0024]
步骤3-1)针对锂离子电池soc估计开发的2dcnn卷积神经网络架构包括:一个输入层、三个卷积层、两个全连接层和一个输出层。
[0025]
步骤3-2)卷积层和全连接层全部使用relu函数进行激活,输出层使用tanh函数进
行激活,并进行映射。
[0026]
与现有技术相比,本发明的有益效果为:
[0027]
(1)本发明使用的一种基于电池容量的融合神经网络算法,在数据集中加入估计的电池容量数据,能够拥有更高的估计精度。
[0028]
(2)本发明使用的历史数据长度为10甚至更少,并且能够记忆之前循环的历史数据,拥有长期短期记忆能力。相比较lstm,不会将误差一直记忆;并且,短的历史数据长度也能拥有更快的估计速度。
[0029]
(3)本发明在估计soc时使用的2dcnn,根据soc的定义,相较使用3dcnn来估计soc,能够减少运算量并且减少不必要的误差输入,从而拥有更高的精度。
附图说明
[0030]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
[0031]
图1为本发明的总体框架流程图。
[0032]
图2为本发明中新数据集构建方法示意图。
[0033]
图3为本发明中电池容量的估计结果曲线图。
[0034]
图4为本发明实施例1中测试集第一个循环的soc估计结果示意图。
具体实施方式
[0035]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0036]
实施例1
[0037]
参见图1至图4,本发明提供其技术方案为,一种基于融合神经网络的锂离子电池soc估计方法,本实施例以松下锂离子电池ncr-18650b为对象展开研究,标定电压为3.7v,电池容量为3400mah。电池以恒流-恒压充电方式充满,待静置1h后,电池为满电状态。电池分别以恒流放电、dst工况、fuds工况和us06工况进行放电实验,直至电压降至放电截止电压,反复实验。
[0038]
为了更好的实现本发明的目的,本实施例是基于融合神经网络的锂离子电池soc估计方法,包括下列步骤:
[0039]
步骤1)在变化的温度下,将全新锂电池充满电,然后通过恒流放电实验、dst工况放电实验、fuds工况放电实验和us06工况放电实验,反复测取soc从1到0的锂离子电池的端电压、电流、温度;
[0040]
步骤2)对测取的数据进行预处理,构建用于估计电池容量的3dcnn训练数据集和测试数据集,并利用3dcnn卷积神经网络估计出的电池容量构建新的数据集;
[0041]
步骤3)使用2dcnn卷积神经网络对新的数据集进行训练和测试,实现最终的soc实时估计。
[0042]
优选地,所述步骤2)具体包括如下步骤:
[0043]
步骤2-1)数据没有统一量纲在神经网络算法拟合时会有收敛速度缓慢、误差偏高
等问题,所以需要对测取的数据进行归一化处理。各种工况实验的电池对象相同,但是电压电流等变化范围不同,因此需要先对各种工况的数据单独进行预处理,采用如下公式对输入数据进行归一化处理:
[0044][0045]
其中,a
ij
为第i个输入的第j个数据点,a
min
是第i个输入数据的最小值,a
max
是第i个输入数据的最大值,x
in_ij
是a
ij
进行归一化处理后的数据。
[0046]
输出为锂电池的soc,soc的范围在0到1之间,因此不需要进行归一化处理。
[0047]
步骤2-2)数据归一化处理后,为了发掘一个放电周期中各个输入数据间的联系和相邻放电周期之间的联系,使用如下的方法构建数据集,首先将一个放电周期中的测量值截取成若干个长度为n的数据,如下所示:
[0048][0049]
其中,x
ij
表示输入数据集中第i个输入的第j帧数据,因为3dcnn卷积神经网络可以同时输入一个时间戳上的多帧数据,所以通过选取同一放电时间段上的连续j个放电周期的电压电流等数据作为3dcnn的一个输入。本发明中,j取3。数据集中,t表示电池工作时的温度,u表示电池两端的电压,i表示电池通过的电流,t表示放电的时间。本发明中,n取10,则x
ij
对应的输出yi为tn时刻第3帧的电池容量值。
[0050]
步骤2-3)对于一个总循环充放电次数n、单放电周期t=m的工况放电实验。为了充分发掘每一个放电周期内前后输入数据间的联系和相邻放电周期之间输入数据的联系,使用padding方法对边缘数据进行扩充,然后总共生成n
×
m组大小为3
×4×
10的输入数据,对应的n
×
m个soc值为输出数据,不同工况的输入输出数据合并成为总数据集。
[0051]
步骤2-4)为了不影响数据集的训练,不对总数据集进行打乱操作然后抽取训练与测试数据集。选用一个放电工况前80%的数据作为训练数据集,后20%的数据作为测试数据集,用作3dcnn的训练和测试数据。
[0052]
步骤2-5)针对锂离子电池电池容量估计开发的3dcnn卷积神经网络架构包括:一个输入层(input)、三个卷积层(c)、两个全连接层(f)和一个输出层(output)。其中具体的:卷积层中,前两层为2
×2×
2的32个三维卷积核,第三层为2
×
2的64个二维卷积核;全连层个数为64、32,估计结果如图3所示。
[0053]
步骤2-6)卷积层和全连接层全部使用relu函数进行激活,输出层使用tanh函数进行激活,并进行映射。
[0054]
步骤2-7)加入电池容量的估计,构建新输入数据集,新的输入数据集大小为5
×
10,输出数据集为tn时刻对应的soc值。
[0055]
优选地,所述步骤3)具体包含如下步骤:
[0056]
步骤3-1)针对锂离子电池soc估计开发的2dcnn卷积神经网络架构包括:一个输入层、三个卷积层、两个全连接层和一个输出层。其中具体的:卷积层中,三层为2
×
2的32个二维卷积核;全连层个数为64、32,某一个循环的估计结果如图4所示。
[0057]
步骤3-2)卷积层和全连接层全部使用relu函数进行激活,输出层使用tanh函数进行激活,并进行映射。
[0058]
本发明实施例中使用的一种基于电池容量的融合神经网络算法,在数据集中加入估计的电池容量数据,能够拥有更高的估计精度。
[0059]
本发明实施例中使用的历史数据长度为10甚至更少,并且能够记忆之前循环的历史数据,拥有长期短期记忆能力。相比较lstm,不会将误差一直记忆;并且,短的历史数据长度也能拥有更快的估计速度。
[0060]
本发明实施例中在估计soc时使用的2dcnn,根据soc的定义,相较使用3dcnn来估计soc,能够减少运算量并且减少不必要的误差输入,从而拥有更高的精度。
[0061]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1