一、分析结果
电池容量衰减曲线
(左边#5、6、7、18,右边#25、26、27、28的)
电池阻抗曲线
数据分析
电池循环老化过程中会出现容量衰减和阻抗上升的现象。是由于电化学反应活性逐渐下降曲线下降过程中突然回升再继续下降:容量增生和恢复现象。是由于在循环周期中的静置阶段时,电极附近的反应物有机会消散使得容量恢复;也可能是由于SEI层的修复改善了锂离子传输通道,或是电极材料的结构重组或改变孔隙使得锂离子嵌入和脱嵌效率短暂提高。
二、数据准备
NASA官方所有数据库链接:Prognostics Center of Excellence Data Set Repository - NASA
更多锂电池数据链接转:锂离子电池开源数据集-汇总-不断更新_锂电池数据集-CSDN博客
注:笔者使用的是第5条美国宇航局卓越预测中心PCoE提供的B0005等型号电池充放电数据
该数据集下载链接:https://data.nasa.gov/download/brfb-gzcv/application%2F.zip
数据说明:
电池数据被分为9组,组内3~4节电池,额定容量均为2Ah
该数据集可用于预测剩余电荷(对于给定的放电循环)和剩余使用寿命(RUL)
数据结构:
充电数据
三、Matlab程序
注:若要绘制不同数据曲线,只需将if最后一行语句的最后一个单词改为上述数据结构的名称即可
解压第一个文件夹,将B0005,B0006,B0007,B00018数据放在总文件夹目录下,可以像我这样进如Matlab,打开文件夹路径,空白处右键新建脚本,命名test程序如下,为了方便理解,不太熟悉软件的用以下代码即可,熟悉的可以试试Cellclear clcload('B0005.mat');load('B0006.mat');load('B0007.mat');load('B0018.mat');load('B0025.mat');load('B0026.mat');load('B0027.mat');load('B0028.mat');capacity_B5 = [];capacity_B6 = [];capacity_B7 = [];capacity_B18 = [];capacity_B25 = [];capacity_B26 = [];capacity_B27 = [];capacity_B28 = [];for i = 1:length(B0005.cycle) if strcmp(B0005.cycle(i).type,'discharge') capacity_B5 = [capacity_B5, B0005.cycle(i).data.Capacity]; endendfor i = 1:length(B0006.cycle) if strcmp(B0006.cycle(i).type,'discharge') capacity_B6 = [capacity_B6, B0006.cycle(i).data.Capacity]; endendfor i = 1:length(B0007.cycle) if strcmp(B0007.cycle(i).type,'discharge') capacity_B7 = [capacity_B7, B0007.cycle(i).data.Capacity]; endendfor i = 1:length(B0018.cycle) if strcmp(B0018.cycle(i).type,'discharge') capacity_B18 = [capacity_B18, B0018.cycle(i).data.Capacity]; endendfor i = 1:length(B0025.cycle) if strcmp(B0025.cycle(i).type,'discharge') capacity_B25 = [capacity_B25, B0025.cycle(i).data.Capacity]; endendfor i = 1:length(B0026.cycle) if strcmp(B0026.cycle(i).type,'discharge') capacity_B26 = [capacity_B26, B0026.cycle(i).data.Capacity]; endendfor i = 1:length(B0027.cycle) if strcmp(B0027.cycle(i).type,'discharge') capacity_B27 = [capacity_B27, B0027.cycle(i).data.Capacity]; endendfor i = 1:length(B0028.cycle) if strcmp(B0028.cycle(i).type,'discharge') capacity_B28 = [capacity_B28, B0028.cycle(i).data.Capacity]; endendfigureplot(capacity_B5)hold ongrid onplot(capacity_B6,'color',[1,0.1,0.1])plot(capacity_B7,'color',[1,0.5,0])plot(capacity_B18,'k-')legend('B0005','B0006','B0007','B0018')xlabel('循环次数')ylabel('容量')figureplot(capacity_B25)hold onplot(capacity_B26)plot(capacity_B27)plot(capacity_B28)legend('B0025', 'B0026', 'B0027', 'B0028');xlabel('循环次数')ylabel('容量')grid on;
部分内容参考:
锂电池数据集介绍:NASA_哔哩哔哩_bilibili
深度学习分析NASA电池数据(1 数据读取)_nasa电池数据集-CSDN博客
NASA电池数据集信息提取(ICA曲线) - 简书 (jianshu.com)