本文介绍部分常用的健康特征以及提取方式,基于牛津大学公开数据集进行展示。
这里我将充电数据提取出来变成charge_data结构体,i就代表第i*100个周期
等压升时间
等压升时间是非常常用的一个健康特征,在恒流充电的情况,该特征可以很好的反映出电池的老化状态。简单可以理解为电池的容量下降,相同容量下SOC上升速度变快导致端电压上升速度变快。
提取方式如下:
Vmin = 3.8;
Vmax = 4.0;
for i = 1 : length(charge_data)
vol_c = charge_data(i).voltage;
time_c = charge_data(i).relativeTime;
vol_c_min_index = find(vol_c > 3.8, 1);
vol_c_max_index = max(find(vol_c < 4.0));
C_dvdt = time_c(vol_c_max_index) - time_c(vol_c_min_index);
character_data(i).C1 = C_dvdt;
end
与SOH的皮尔逊相关系数0.9986
等压降时间
等压升时间是非常好用的一个健康特征,在恒流放电的情况,该特征可以很好的反映出电池的老化状态。但是一般放电工况都不一致,所以不是一个很通用的特征。
提取方式如下:
Vmin = 3.8;
Vmax = 4.0;
for i = 1 : length(charge_data)
vol_c = charge_data(i).voltage;
time_c = charge_data(i).relativeTime;
vol_c_min_index = find(vol_c > 3.8, 1);
vol_c_max_index = max(find(vol_c < 4.0));
C_dvdt = time_c(vol_c_max_index) - time_c(vol_c_min_index);
character_data(i).C1 = C_dvdt;
end
与SOH的皮尔逊相关系数0.9998
充电瞬时电阻
电阻类特征往往会波动比较大,但是与SOH有决定性的关系,因此也是一个常被考虑的健康特征。值得注意的是一般在相近SOC下考虑电阻往往效果比较好。
提取方式如下:
for i = 1 : length(charge_data)
vol_c = charge_data(i).voltage;
dv = vol_c(2) - vol_c(1);
C_R = dv / 0.74;
character_data(i).C3 = C_R;
end
与SOH的皮尔逊相关系数-0.6289,SOH是由放电容量算的,所以对于充电特征一般不如放电特征。
放电瞬时电阻
提取方式如下:
for i = 1 : length(discharge_data)
vol_d = discharge_data(i).voltage;
dv = vol_d(2) - vol_d(1);
D_R = dv / 0.74;
character_data(i).C4 = D_R;
end
与SOH的皮尔逊相关系数0.9912
本文章只是简单列举了几个健康特征,各种物理意义的特征加起来有20多种不止,这里就不一一列举了。
意义
利用提取好的健康特征就可以用于后续的SOH估计,本人会继续在后续的更新中介绍如何利用健康特征与机器学习算法实现SOH估计。
如果有什么问题交流可以留言或QQ:2267897749一起讨论,如果有您希望直接购买到可以直接使用的代码和数据,可以在闲鱼中搜索用户 BMS小旭 进行购买,价格十分便宜。