本发明涉及电池安全,具体地,涉及无监督学习的电池系统故障早期预警方法及系统,更为具体地,涉及一种由基于dbscan聚类定义的无量纲参数d实现的电池组单体间一致性程度量化方法,实现对电池系统故障的无监督学习超前预警及故障电芯定位。
背景技术:
1、近年来,随着能源结构的转变,新型能源不断提升,电池被广泛应用于储能系统以及电动汽车等领域。电池储能是利用电化学反应实现电能与化学能之间相互转换的储能技术。其中,锂离子电池凭借其能量密度高、自放电率低以及无记忆性等优点,是目前电动汽车(ev)电源的最佳选择。然而,电池故障导致的电池安全事故频发,如何有效地对电池故障进行早期预警已成为当前汽车行业的重要研究方向。
2、由于锂离子电池单体的制造技术受限,为了满足电流、电压、功率和能量的需要,电池系统中,需要将大量电芯通过串并联方式连接成电池模组,这些电芯之间的差异,即电池的一致性,它与整个电池系统的性能和安全密切相关。
3、从电池系统性能的角度来说,电池一致性与电池系统的性能呈正相关。生产工艺和工作条件的差异,导致了不同电池单体间存在容量、内阻、自放电率等差异。而由于短板效应,电池组的总体容量受限于容量最小的电芯,当其满充/满放时,整个电池组也停止充电/放电,但整个电池组的容量实际并未得以充分利用。同时,容量更小的电芯,更容易过充过放,造成电池滥用,发生故障的概率大大增加。
4、从电池系统安全的角度来说,电池一致性是电池系统故障的具象表征之一。电池系统动力电池故障绝大多数情况下发生在少数单体上,当故障发生时,故障单体必然区别于正常单体,造成电池一致性变差,并通常在电池外部参数上有异常变化。
5、除了碰撞等原因造成的突发性故障之外,其他大多数故障具有从轻微到严重的演化过程,因此,及时准确地检测出电池组中不一致的电池单体并进行更换对维持电池组安全稳定运行具有重要意义,利用电池一致性来实现云端电池故障的早期预警具备实际的可行性。
6、专利文献cn113933736b(申请号:cn202111215727.8)公开了一种基于云端放电数据的电池组一致性评价方法,该方法对电池单体放电电压数据进行包络处理,得到上包络线每一时刻最大最小值差值累加曲线和下包络线每一时刻最大最小值差值累加曲线,对这两者累加得到最终加和曲线,通过其斜率的大小对电池组一致性定量评价。该方法在评价电压一致性时使用包络线,增强了算法的泛化能力,但未考虑最终加和曲线拟合时曲线段的选择,使得算法对于最终加和曲线局部异常的情况识别能力有限。
7、专利文献cn113765179b(申请号:cn202110943753.6)公开了一种基于层次聚类及类中心距的云端电池组一致性分析方法,该方法采用层次聚类,能够辨识出电池组温度不一致性最大的位置以及电压不一致性最大的单体电池,采用类中心距指标可定量分析电池组温度一致性和电压一致性随时间变化的趋势以及两者之间关联性。该方法利用层次聚类法克服了云端数据精度低,直接利用测量的电压、电流或温度数据分析易导致误判的问题,但使用整个放电过程的电压和温度来求解欧式距离作为评分基础,对局部不一致性的识别能力有限。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种无监督学习的电池系统故障早期预警方法及系统。
2、根据本发明提供的一种无监督学习的电池系统故障早期预警方法,包括:
3、步骤s1:基于云端工况数据获取每个有效充电循环的电池组充电电压数据;
4、步骤s2:针对每个有效充电循环的电池组充电电压数据进行特征提取,得到特征向量;
5、步骤s3:针对特征向量使用二分法进行多次dbscan聚类,求解无量纲参数d;
6、步骤s4:确定或更新预警阈值,并将每一充电循环的d值和阈值比较,树立报警标志位,并存储故障电芯索引,实现对电池系统中电池故障在早期的超前预警及故障电芯定位。
7、优选地,所述步骤s1采用:
8、步骤s1.1:获取云端所有电池组的工况数据,包括:电池id、采样时间、日期、总电流、soc、电池电压列表以及充电状态;
9、步骤s1.2:对获取的云端所有电池组的工况数据进行预处理,并将预处理后的每个电池组数据按照时间顺序排列;
10、步骤s1.3:基于充电状态,从充放电数据中提取有效充电循环;
11、步骤s1.4:将有效充电循环的电池电压列表数据进行分列,得到每个单体电池的电压数据;
12、其中,所述有效充电循环为充电的soc区间跨度满足既定阈值的充电循环。
13、优选地,所述步骤s2采用:
14、步骤s2.1:根据电池组的电压数据计算有效充电循环的电压矩阵和电压梯度矩阵;
15、
16、dvit=vit-vi(t-τ)
17、(1≤i≤m,τ<t≤n)
18、
19、其中,v表示电压矩阵;dv表示电压梯度矩阵;m表示单体电池数量;n表示充电过程中采样点数量;vit表示第t采样时刻第i个单体电芯的电压;dvit表示第t采样时刻第i个单体电芯的电压梯度;
20、步骤s2.2:计算每一时刻所有单体电芯的电压极差和电压梯度极差,获取其中最大的k个元素的时间索引,并由此得到电压特征向量f1和f2;
21、
22、αj=argmax[j]rv,j=1,2,...,k
23、
24、βj=argmax[j]rdv,j=1,2,...,k
25、
26、其中,m表示电池系统中单体电芯数量,n表示充电循环采样点数量,vit表示第t采样时刻第i个单体电芯的电压,dvit表示第t采样时刻第i个单体电芯的电压梯度,rv(t)表示第t采样时刻所有单体的电压极差;rdv(t)表示第t采样时刻所有单体的电压梯度极差;记argmax[i](x)表示x向量中的第i大的元素对应的索引,则αj(1≤j≤k)与βj(1≤j≤k)分别表示rv与rdv中第j大元素的时间索引,f1和f2为电压特征向量,k表示计算特征向量时使用的采样点数量。
27、优选地,所述步骤s3中无量纲参数d采用:
28、设二维特征空间中有n个样本点,则有:
29、
30、其中,avedmin表示平均最小距离,dmin(i)表示第i个样本点到最近样本点的距离,n为样本点总数,epsmin为最小邻域半径。
31、优选地,所述步骤s3采用:
32、步骤s3.1:将特征向量f1和f2作为dbscan聚类算法的输入;
33、步骤s3.2:初始化无量纲参数d值的搜索区间[down,up]和搜索精度precision;
34、步骤s3.3:初始化d值和故障电芯索引refer,refer初始值为空,d值初始值定义公式如下:
35、d=down
36、步骤s3.4:更新dbscan聚类的邻域参数,公式如下:
37、eps=d*avedmin
38、其中,avedmin代表平均最小距离,eps为dbscan聚类的邻域半径;所述dbscan聚类方法的最小邻居数保持不变;
39、
40、其中,dmin(i)为第i个样本点到最近样本点的距离,n为样本点总数,epsmin为最小邻域半径;
41、步骤s3.5:计算dbscan聚类的簇数;若聚类簇数大于1,更新参数公式如下:
42、d=d+|d-up|/2
43、更新d值后,若d值大于预警阈值,则记录次要簇样本的索引index,并更新故障电芯索引refer,公式如下:
44、refer=refer∪index
45、若聚类簇数不大于1,更新参数公式如下:
46、trans=d-|d-up|/2
47、up=d,d=trans
48、所述dbscan聚类中的次要簇为除了最大数量的簇之外的其他所有簇;
49、重复触发步骤s3.4~s3.5,直至满足条件如下,迭代停止:
50、|d-up|<precision。
51、优选地,所述步骤s4采用:
52、若d值大于或等于预警阈值,则报警标志位设为1,否则,报警标志位设为0;
53、所述预警阈值的确定方法如下:
54、对数据库中的所有电池组的所有有效充电循环进行无量纲参数d的求解,再利用箱型图对d值的分布进行统计分析,以箱型图的上限作为故障预警的阈值;
55、所述存储故障电芯索引,包括:选取得到的故障电芯索引列表的前8个值进行存储;对于正常的电池组,故障电芯索引为空列表,则以空值代替。
56、根据本发明提供的一种无监督学习的电池系统故障早期预警系统,包括:
57、模块m1:基于云端工况数据获取每个有效充电循环的电池组充电电压数据;
58、模块m2:针对每个有效充电循环的电池组充电电压数据进行特征提取,得到特征向量;
59、模块m3:针对特征向量使用二分法进行多次dbscan聚类,求解无量纲参数d;
60、模块m4:确定或更新预警阈值,并将每一充电循环的d值和阈值比较,树立报警标志位,并存储故障电芯索引,实现对电池系统中电池故障在早期的超前预警及故障电芯定位。
61、优选地,所述模块m1采用:
62、模块m1.1:获取云端所有电池组的工况数据,包括:电池id、采样时间、日期、总电流、soc、电池电压列表以及充电状态;
63、模块m1.2:对获取的云端所有电池组的工况数据进行预处理,并将预处理后的每个电池组数据按照时间顺序排列;
64、模块m1.3:基于充电状态,从充放电数据中提取有效充电循环;
65、模块m1.4:将有效充电循环的电池电压列表数据进行分列,得到每个单体电池的电压数据;
66、其中,所述有效充电循环为充电的soc区间跨度满足既定阈值的充电循环。
67、优选地,所述模块m2采用:
68、模块m2.1:根据电池组的电压数据计算有效充电循环的电压矩阵和电压梯度矩阵;
69、
70、dvit=vit-vi(t-τ)
71、(1≤i≤m,τ<t≤n)
72、
73、其中,v表示电压矩阵;dv表示电压梯度矩阵;m表示单体电池数量;n表示充电过程中采样点数量;vit表示第t采样时刻第i个单体电芯的电压;dvit表示第t采样时刻第i个单体电芯的电压梯度;
74、模块m2.2:计算每一时刻所有单体电芯的电压极差和电压梯度极差,获取其中最大的k个元素的时间索引,并由此得到电压特征向量f1和f2;
75、
76、αj=argmax[j]rv,j=1,2,...,k
77、
78、βj=argmax[j]rdv,j=1,2,...,k
79、
80、其中,m表示电池系统中单体电芯数量,n表示充电循环采样点数量,vit表示第t采样时刻第i个单体电芯的电压,dvit表示第t采样时刻第i个单体电芯的电压梯度,rv(t)表示第t采样时刻所有单体的电压极差;rdv(t)表示第t采样时刻所有单体的电压梯度极差;记argmax[i](x)表示x向量中的第i大的元素对应的索引,则αj(1≤j≤k)与βj(1≤j≤k)分别表示rv与rdv中第j大元素的时间索引,f1和f2为电压特征向量,k表示计算特征向量时使用的采样点数量。
81、优选地,所述模块m3中无量纲参数d采用:
82、设二维特征空间中有n个样本点,则有:
83、
84、
85、其中,avedmin表示平均最小距离,dmin(i)表示第i个样本点到最近样本点的距离,n为样本点总数,epsmin为最小邻域半径;
86、所述模块m3采用:
87、模块m3.1:将特征向量f1和f2作为dbscan聚类算法的输入;
88、模块m3.2:初始化无量纲参数d值的搜索区间[down,up]和搜索精度precision;
89、模块m3.3:初始化d值和故障电芯索引refer,refer初始值为空,d值初始值定义公式如下:
90、d=down
91、模块m3.4:更新dbscan聚类的邻域参数,公式如下:
92、eps=d*avedmin
93、其中,avedmin代表平均最小距离,eps为dbscan聚类的邻域半径;所述dbscan聚类方法的最小邻居数保持不变;
94、
95、其中,dmin(i)为第i个样本点到最近样本点的距离,n为样本点总数,epsmin为最小邻域半径;
96、模块m3.5:计算dbscan聚类的簇数;若聚类簇数大于1,更新参数公式如下:
97、d=d+|d-up|/2
98、更新d值后,若d值大于预警阈值,则记录次要簇样本的索引index,并更新故障电芯索引refer,公式如下:
99、refer=refer∪index
100、若聚类簇数不大于1,更新参数公式如下:
101、trans=d-|d-up|/2
102、up=d,d=trans
103、所述dbscan聚类中的次要簇为除了最大数量的簇之外的其他所有簇;
104、重复触发模块m3.4~s3.5,直至满足条件如下,迭代停止:
105、|d-up|<precision。
106、与现有技术相比,本发明具有如下的有益效果:
107、1、本发明使用一种改进的均值特征,针对充电电压数据,从电压和电压梯度两个角度实现特征提取,通过定位充电过程中电压一致性最差时的多个采样点,来捕捉电压曲线中的微小异常变化,能够适应运行工况随机且数据质量较低的云端数据;
108、2、本发明通过基于dbscan聚类定义的无量纲参数,实现了对电池组间单体一致性程度的量化,基于大数据分析确定了预警阈值,由此实现了故障的早期预警和故障的电芯级定位;
109、3、本发明采用无监督学习方法,无需历史数据训练即可快速布置在云端使用。同时,算法计算复杂度较低,并使用了二分法进一步简化了计算过程,能够满足实际的性能需求;
110、4.本发明采用无监督学习方法,避免了电池故障标签标注难题,同时基于提出的新特征和预警新算法,可实现对电池系统中电池故障提前50天的超前预警并准确定位故障电芯。
1.一种无监督学习的电池系统故障早期预警方法,其特征在于,包括:
2.根据权利要求1所述的无监督学习的电池系统故障早期预警方法,其特征在于,所述步骤s1采用:
3.根据权利要求1所述的无监督学习的电池系统故障早期预警方法,其特征在于,所述步骤s2采用:
4.根据权利要求1所述的无监督学习的电池系统故障早期预警方法,其特征在于,所述步骤s3中无量纲参数d采用:
5.根据权利要求1所述的无监督学习的电池系统故障早期预警方法,其特征在于,所述步骤s3采用:
6.根据权利要求1所述的无监督学习的电池系统故障早期预警方法,其特征在于,所述步骤s4采用:
7.一种无监督学习的电池系统故障早期预警系统,其特征在于,包括:
8.根据权利要求7所述的无监督学习的电池系统故障早期预警系统,其特征在于,所述模块m1采用:
9.根据权利要求7所述的无监督学习的电池系统故障早期预警系统,其特征在于,所述模块m2采用:
10.根据权利要求7所述的无监督学习的电池系统故障早期预警系统,其特征在于,所述模块m3中无量纲参数d采用: