0


深度学习分析NASA电池数据(1 数据读取)

1.背景

Intelligent Systems Division | NASA

Randomized Battery Usage Data Set: PCoE Datasets

随机(Random Walk,RW)充放电循环的组成:

1、从{-4.5A,-3.75A,-3A,-2.25A,-1.5A,-0.75A,1.5A,2.25A,3A,3.75A,4.5A}中随机选择一个充电或放电电流。负电流表示充电,正电流表示放电;

2、应用所选电流充放电5分钟或达到截止电压(3.2V/4.2V);

3、每个充放电步骤后,有<1秒的休息间隔,用于设定新的充放电电流。

每重复1500次步骤2、3,进行一次特性测试循环,标记老化状态。

充放电循环设定:

1、采用0.04A小电流放电标定OCV;

2、每1500个RW步骤后,采用标准充放电循环标定电池容量。标准充放电循环先以2A恒流充电至4.2V,再恒压至充电电流小于0.01A。静置,2A放电至3.2V,静置;

3、每3000个RW循环后,对充满电的电池进行脉冲放电,标记电池动态特性。每段脉冲由10分钟1A负载,20分钟空载组成;

4、每3000个RW循环后,对电池进行脉冲充电,标记电池动态特性。每段脉冲由10分钟1A负载,20分钟空载组成;

链接:Intelligent Systems Division | NASA

本文对室温随机游走充放电数据集的描述进行了python的读取

数据下载地址

Battery_Uniform_Distribution_Charge_Discharge_DataSet_2Post
百度网盘下载链接:https://pan.baidu.com/s/15jloKXS3f_OMYiALwitENg
提取码:de1d

2.数据读取与分析

下载的数据有两个版本,Matlab版本和R语言版,下载的数据文件自带了python和R语言分析处理的程序。自带的m文件,MatlabSamplePlots.m为matlab版的读取例程。本文使用python对数据进行了一个读取和初步分析。

import matplotlib.pyplot as plt
import scipy.io as scio

RW9 = 'mats/RW9.mat'  # 需要读取的mat文件路径

matData = scio.loadmat(RW9)
# 注意,读取出来的data是字典格式,可以通过函数type(data)查看。
print(type(matData))
print(list(matData.keys()))
print("\n\n")

对读取到的类型的返回:

<class 'dict'>
['__header__', '__version__', '__globals__', 'data']

有效数据存放在data字段,但是在data中还嵌套了一个step,step又是一个多维数组,需要使用连续三个[0]才能获取实际数据。

数据共有8个字段,官网文件有一个说明:

对low current discharge at 0.04A 的电压和电流数据进行一个获取并用matplotlib进行一个绘制,代码和结果如下:

data = matData['data']
datacC = data['step'][0][0][0]

for i in range(0,len(datacC)):
    print(datacC[i][0][0])
    if(datacC[i][0][0]=='low current discharge at 0.04A'):
        print(datacC[i][0][0])
        print(datacC[i][3][0])
        print(datacC[i][4][0])

        plt.plot(datacC[i][3][0]/3600,datacC[i][4][0], c='g')
        plt.show()

        plt.plot(datacC[i][3][0]/3600, datacC[i][5][0], c='r')
        plt.show()

        break


本文转载自: https://blog.csdn.net/leeyunj/article/details/127104147
版权归原作者 leeyunj 所有, 如有侵权,请联系我们删除。

“深度学习分析NASA电池数据(1 数据读取)”的评论:

还没有评论