一种电池充放电数据处理方法与流程

文档序号:19672106发布日期:2020-01-10 22:44阅读:1064来源:国知局
一种电池充放电数据处理方法与流程
本发明涉及电池领域,尤其是一种电池充放电数据处理方法。
背景技术
:计算电池的soc值需要电池ocv-soc曲线,常规的电池ocv-soc数据的获取需要用到放电阶段数据,且每一个放电阶段中间需要对电池静置2小时或更多,时间成本极高。随着科技的进步,两轮车市场电池电芯的种类繁多,不可能对每一型号电芯都用传统方法获取ocv-soc曲线,在对各种电池电芯进行测试时,需要对不同种类的电池电芯记录其放电阶段数据,目前,一般采取对得到的数据进行手动计算,从而得出电池ocv-soc曲线,进而判断电池电芯的性能,但是采用手动计算大量繁琐数据很容易出错,且容易出现计算不精准的问题。技术实现要素:本发明人针对上述问题及技术需求,提出了一种电池充放电数据处理方法,本方法采取对电池电芯用小电流充放电记录完整的充放电曲线,并对充电曲线和放电曲线进行自动化处理得到电池ocv-soc曲线,能够在短时间得到电池电芯数据并应用到市场上,极大地提高了数据精度并节约了时间成本。本发明的技术方案如下:一种电池充放电数据处理方法,该方法包括:s1,获取电池在充放电测试过程中的充放电数据并确定开路电压典型值;s2,通过文本匹配方式从充放电数据中获取恒流放电数据和恒流充电数据,恒流放电数据包括电池在第一个放电周期内的各个采样时刻的电压实测值及对应的累积充放电量实测值,恒流充电数据包括电池在第二个充电周期内的各个采样时刻的电压实测值及对应的累积充放电量实测值;s3,对恒流放电数据进行数据预处理得到第一目标数据,第一目标数据包括第一处理后电压和第一剩余容量的百分比的对应关系,各个第一处理后电压通过对恒流放电数据中的各个电压实测值进行升序排列得到,各个第一剩余容量的百分比根据恒流放电数据中的各个累积充放电量实测值计算得到;s4,对恒流充电数据进行数据预处理得到第二目标数据,第二目标数据包括第二处理后电压和第二剩余容量的百分比的对应关系,各个第二处理后电压通过对恒流充电数据中的各个电压实测值进行升序排列得到,各个第二剩余容量的百分比根据恒流充电数据中的各个累积充放电量实测值计算得到;s5,对第一目标数据进行插值处理确定每个开路电压典型值对应的第一soc值;s6,对第二目标数据进行插值处理确定每个开路电压典型值对应的第二soc值;s7,根据每个开路电压典型值的第一soc值和第二soc值确定开路电压典型值对应的soc值,根据开路电压典型值和soc值的对应关系得到电池的ocv-soc曲线。其进一步的技术方案为,在s1中获取到属于同一个电池体系的至少两个电池的充放电数据,则分别根据每个电池的充放电数据通过步骤s2-s7得到电池的ocv-soc曲线,方法还包括:s8,对于每个开路电压典型值,将各个电池在开路电压典型值对应的soc值进行加权平均得到开路电压典型值对应的soc终值;根据开路电压典型值和soc终值的对应关系生成电池体系的ocv-soc曲线。其进一步的技术方案为,步骤s2还包括:若恒流充电数据不为空,则输出第一标志位,若恒流充电数据为空,则输出第二标志位;则方法还包括:若检测到第一标志位,则执行s3-s7得到电池的ocv-soc曲线;若检测到第二标志位,则省略步骤s4、s6和s7,在通过s3和s5计算得到每个开路电压典型值对应的第一soc值后,直接根据开路电压典型值和第一soc值的对应关系得到电池的ocv-soc曲线。其进一步的技术方案为,充放电数据至少包括充放电状态字段、电压值字段和充放电量字段,每个字段分别包括字段名称及对应的字段内容,通过文本匹配方式从充放电数据中获取恒流放电数据和恒流充电数据,包括:根据第一正则表达式对充放电数据的各个字段的字段名称进行匹配得到充放电状态字段;根据第二正则表达式对充放电数据的充放电状态字段的字段内容进行匹配确定电池在第一个放电周期内的放电数据;根据第三正则表达式对电池在第一个放电周期内的放电数据中的各个字段的字段名称进行匹配得到电压值字段,并提取电压值字段的字段内容得到电池在第一个放电周期内的各个采样时刻的电压实测值;根据第四正则表达式对电池在第一个放电周期内的放电数据中的各个字段的字段名称进行匹配得到充放电量字段,并提取充放电量字段的字段内容得到电池在第一个放电周期内的各个采样时刻的累积充放电量实测值,从而得到恒流放电数据;根据第五正则表达式对充放电数据的充放电状态字段在第一个放电周期之后的各个采样时刻的字段内容进行匹配确定电池在第二个充电周期内的充电数据;根据第三正则表达式对电池在第二个充电周期内的充电数据中的各个字段的字段名称进行匹配得到电压值字段,并提取电压值字段的字段内容得到电池在第二个充电周期内的各个采样时刻的电压实测值;根据第四正则表达式对电池在第二个充电周期内的充电数据中的各个字段的字段名称进行匹配得到充放电量字段,并提取充放电量字段的字段内容得到电池在第二个充电周期内的各个采样时刻的累积充放电量实测值,从而得到恒流充电数据。其进一步的技术方案为,对于恒流放电数据和恒流充电数据中的任意一个恒流数据,对恒流数据进行数据预处理包括:检测恒流数据中按照采样时刻排列的各个电压实测值和各个累积充放电量实测值是升序排列还是降序排列;若恒流数据中的各个电压实测值按照降序排列、各个累积充放电量实测值按照升序排列,则对各个电压实测值的排列顺序进行翻转得到按照升序排列的各个第一处理后电压,对各个累积充放电量实测值的排列顺序进行翻转,确定累积充放电量实测值的最大值,对于翻转后的累积充放电量实测值,利用累积充放电量实测值的最大值减去翻转后的累积充放电量实测值得到采样时刻的剩余容量计算值,再用各个剩余容量计算值分别除以累积充放电量实测值的最大值得到各个第一剩余容量的百分比,从而得到第一目标数据;若恒流数据中的各个电压实测值按照降序排列、各个累积充放电量实测值按照降序排列,则对各个电压实测值的排列顺序进行翻转得到按照升序排列的各个第一处理后电压,对各个累积充放电量实测值的排列顺序进行翻转,确定累积充放电量实测值的最大值,用各个翻转后的累积充放电量实测值分别除以累积充放电量实测值的最大值得到各个第一剩余容量的百分比,从而得到第一目标数据;若恒流数据中的各个电压实测值按照升序排列、各个累积充放电量实测值按照降序排列,则直接确定各个电压实测值分别为各个第二处理后电压;确定累积充放电量实测值的最大值,利用累积充放电量实测值的最大值依次分别减去目标数据中的各个累积充放电量实测值得到各个第二剩余容量,再用各个第二剩余容量分别除以累积充放电量实测值的最大值得到各个第二剩余容量的百分比,从而得到第二目标数据;若恒流数据中的各个电压实测值按照升序排列、各个累积充放电量实测值按照升序排列,则确定各个电压实测值分别为各个第二处理后电压,确定累积充放电量实测值的最大值,用各个累积充放电量实测值分别除以累积充放电量实测值的最大值得到各个第二剩余容量的百分比,从而得到第二目标数据。其进一步的技术方案为,在s5之前方法还包括:对每个开路电压典型值,检测开路电压典型值是否在第一目标数据包括的各个第一处理后电压形成的电压范围内;若开路电压典型值在电压范围内,则执行s5对第一目标数据进行插值处理确定每个开路电压典型值对应的第一soc值;若开路电压典型值大于第一目标数据包括的第一处理后电压的最大值,则确定开路电压典型值对应的第一soc值为第一处理后电压的最大值对应的第一剩余容量的百分比;若开路电压典型值小于第一目标数据包括的第一处理后电压的最小值,则确定开路电压典型值对应的第一soc值为第一处理后电压的最小值对应的第一剩余容量的百分比。本发明的有益技术效果是:根据本申请记载的一种电池充放电数据处理方法,在电芯种类繁多的情况下,实现了自动化处理电池的充电、放电数据并计算得出了电池的ocv-soc表,与传统的数据处理方式对比,本申请极大提高了数据处理的效率和数据的准确率,并且降低了数据处理的误差,能够在短时间得到电池电芯的数据并应用到市场上,节约了时间成本。附图说明图1是本申请中的步骤s1的选取原始文件的示意图。图2是本申请中的电池充放电数据处理方法的流程图。图3是本申请中的步骤s6、s7的电池的ocv-soc曲线。具体实施方式下面结合附图对本发明的具体实施方式做进一步说明。一种电池充放电数据处理方法,获取数据的主要工具是电池测试仪,数据处理的主要平台是matlab,在本申请中,先对电池进行第一次充电,搁置一段时间后,再对电池进行放电测试,搁置一段时间后,最后对电池进行第二次充电测试,每个电池测得的数据存储在电池测试仪生成的对应的一个电子表格里(即一个原始文件),如图1所示,用户在matlab中运行程序后,界面弹出模态对话框,选定一个或多个原始文件,选择的越多则通过本申请的方法得到的曲线越准确,固定需要的原始文件格式为xls或xlsx中的一种,固定原始文件格式后,模态对话框内只会出现上述文件格式。可选的,该程序可以做成exe格式,方便随时应用,无需依赖matlab环境。请参考图2,其示出了本申请的方法流程图,该方法包括:s1,获取电池在充放电测试过程中的充放电数据并确定开路电压典型值。确定开路电压典型值(也即ocv值),开路电压典型值由用户设置输入,各个开路电压典型值通常呈均匀分布的等差数列。比如在本申请中,设置开路电压典型值的最小值为2900mv,最大值为4200mv,在此范围内按照差值为20的等差数列选取其他各个开路电压典型值,表示方法为ocv_range=(2900:20:4200)。用户选中原始文件后,程序返回一个file元胞数组,其中包含了文件名及文件格式,如"1.xls",每一个文件名占据了file元胞数组里的一个维度,通过使用matlab提供的length()函数,获取file元胞数组的维度数,进而计算出所选中的原始文件的个数,文件个数就是程序所要循环的次数。在本申请中,包含电池的充放电数据的原始文件为电子表格,电子表格中包括多个工作簿,每个工作簿记载不同类型的数据,其中,多个工作簿中至少包括本申请所需的充放电数据,而电池测试仪生成的原始文件的数据格式都是统一的,因此在每个原始文件中,充放电数据所在的工作簿都是相同且固定的,因此可以先通过文本匹配方式定位到充放电数据所在的工作簿的位置,再来读取该工作簿的充放电数据的各个字段。具体内容如下:根据电池测试仪生成的表格规律,在电子表格中,充放电数据所在的工作簿的工作簿名称为“detail”。首先读取原始文件的所有工作簿名称并返回一个1×n维的工作簿元胞数组,n为工作簿的总个数,并且所有工作簿名称从左到右顺序与工作簿元胞数组一一对应,根据正则表达式利用“detail”筛选掉无关的工作簿名称,即工作簿元胞数组中的每个工作簿名称都会与“detail”进行匹配,如果匹配成功则返回工作簿名称,如果不匹配则返回一个空变量,筛选掉之后返回一个1×n维的新的工作簿元胞数组。其次需判断新的工作簿元胞数组是否为空,利用matlab提供的函数~cellfun(@isempty,x),此函数会将新的工作簿元胞数组非空的位置置为1,空的位置置为0。利用matlab提供的find()函数,得到新的工作簿元胞数组位置为1的索引,此索引即为工作簿名称“detail”的工作簿在原始文件中的所在位置。最后通过索引与matlab提供的接口读取工作簿名称“detail”的工作簿中的各个字段。如下表1所示,其示出了本申请中的工作簿名称“detail”的工作簿中的部分字段。表1按照确定程序循环的次数循环执行如下步骤s2-s7,每个循环对应一个电池的充放电数据,也即对应一个原始文件,在每一次循环下,执行如下步骤s2-s7对相应的电池的充放电数据进行处理:s2,通过文本匹配方式从充放电数据中获取恒流放电数据和恒流充电数据,恒流放电数据包括电池在第一个放电周期内的各个采样时刻的电压实测值及对应的累积充放电量实测值,恒流充电数据包括电池在第二个充电周期内的各个采样时刻的电压实测值及对应的累积充放电量实测值。结合表1,从工作簿名称“detail”的工作簿中提取得到的充放电数据至少包括充放电状态字段、电压值字段和充放电量字段,每个字段分别包括字段名称及对应的字段内容,比如,充放电状态字段包括其字段名称“状态”及对应的字段内容,字段内容包括“恒流放电”、“搁置”和“恒流充电”;再比如电压值字段包括其字段名称“电压(v)”及对应的字段内容,字段内容为电压实测值;再比如充放电量字段包括其字段名称“容量(mah)”及对应的字段内容,字段内容为累积充放电量实测值。如表1所示,实际使用时,充放电数据还包括字段名称为“电流(ma)”字段、“能量(mwh)”等的其他字段。根据第一正则表达式对充放电数据的各个字段的字段名称进行匹配得到充放电状态字段,即根据第一正则表达式对字段名称“detail”的工作簿中各个字段利用第一关键字“状态”进行匹配,按照匹配字段名称“detail”工作簿的上述原理,读取“状态”所在列的字段内容。根据第二正则表达式对充放电数据的充放电状态字段的字段内容进行匹配确定电池在第一个放电周期内的放电数据。即根据第二正则表达式对“状态”所在列的字段内容利用第二关键字“恒流放电”进行匹配,按照匹配工作簿名称“detail”工作簿的上述原理,读取“恒流放电”所在行的字段内容。根据第三正则表达式对电池在第一个放电周期内的放电数据中的各个字段的字段名称进行匹配得到电压值字段,并提取电压值字段的字段内容得到电池在第一个放电周期内的各个采样时刻的电压实测值。即根据第三正则表达式对“恒流放电”所在行的字段内容利用第三关键字“电压(v)”进行匹配,按照匹配工作簿名称“detail”工作簿的上述原理,读取“恒流放电”所在行的“电压(v)”所在列的字段内容。根据第四正则表达式对电池在第一个放电周期内的放电数据中的各个字段的字段名称进行匹配得到充放电量字段,并提取充放电量字段的字段内容得到电池在第一个放电周期内的各个采样时刻的累积充放电量实测值,从而得到恒流放电数据,即根据第四正则表达式对“恒流放电”所在行的字段内容利用第四关键字“容量(mah)”进行匹配,按照匹配工作簿名称“detail”工作簿的上述原理,读取“恒流放电”所在行的“容量(mah)”所在列的字段内容,如下表2所示,从而得到恒流放电数据即为恒流放电阶段的电压实测值与累积放电容量实测值。表2第一个充电周期的数据是电池在充放电试验前第一次充电的数据,由于该数据不准确,所以本申请放弃第一个充电周期的数据,根据第五正则表达式对充放电数据的充放电状态字段在第一个放电周期之后的各个采样时刻的字段内容进行匹配确定电池在第二个充电周期内的充电数据。即在恒流放电阶段之后,根据第五正则表达式对“状态”所在列的字段内容利用第五关键字“恒流充电”进行匹配,按照匹配工作簿名称“detail”工作簿的上述原理,读取“恒流充电”所在行的字段内容。根据第三正则表达式对电池在第二个充电周期内的充电数据中的各个字段的字段名称进行匹配得到电压值字段,并提取电压值字段的字段内容得到电池在第二个充电周期内的各个采样时刻的电压实测值;根据第四正则表达式对电池在第二个充电周期内的充电数据中的各个字段的字段名称进行匹配得到充放电量字段,并提取充放电量字段的字段内容得到电池在第二个充电周期内的各个采样时刻的累积充放电量实测值,从而得到恒流充电数据。即按照匹配恒流放电阶段的“电压(v)”和“容量(mah)”的上述原理,如下表3所示,得到恒流充电数据即为恒流充电阶段的电压实测值与累积充电容量实测值。表3在本申请中,电池的充放电测试实际会在两个温度下进行,也即在对电池完成第一次充电后,会分别在25℃和-15℃的环境下对电池进行放电、搁置和第二次充电的测试,但由于电池本身的性能决定,0℃以下电池无法充进电,所以当获取到的充放电数据为25℃下采集到的数据时,获取到的恒流放电数据和恒流充电数据均不为空;当获取到的充放电数据为-15℃下采集到的数据时,恒流放电数据不为空、恒流充电数据为空。即通过第五正则表达式匹配恒流充电数据不为空时,则输出第一标志位nocharge=0,若通过第五正则表达式匹配恒流充电数据为空时,则输出第二标志位nocharge=1。s3,对恒流放电数据进行数据预处理得到第一目标数据,第一目标数据包括第一处理后电压和第一剩余容量的百分比的对应关系,各个第一处理后电压通过对恒流放电数据中的各个电压实测值进行升序排列得到,各个第一剩余容量的百分比根据恒流放电数据中的各个累积充放电量实测值计算得到。s4,对恒流充电数据进行数据预处理得到第二目标数据,第二目标数据包括第二处理后电压和第二剩余容量的百分比的对应关系,各个第二处理后电压通过对恒流充电数据中的各个电压实测值进行升序排列得到,各个第二剩余容量的百分比根据恒流充电数据中的各个累积充放电量实测值计算得到。在本申请中,步骤s3、s4没有先后顺序,程序中不区分恒流放电数据还是恒流充电数据通过数据预处理都可得出所需结果,具有共通性。对于恒流放电数据和恒流充电数据中的任意一组恒流数据,对该恒流数据进行数据预处理包括:结合表4-表5所示,保留恒流数据的第一列(也即电压实测值)和第二列(也即累积充电容量实测值)为原始数据,将第一列和第二列数据分别拷贝到第三列和第四列,分别检测第三列和第四列的恒流数据中按照采样时刻排列的各个电压实测值和各个累积充放电量实测值是升序排列还是降序排列。若恒流数据中的各个电压实测值按照降序排列、各个累积充放电量实测值按照升序排列,则对各个电压实测值的排列顺序进行翻转得到按照升序排列的各个第一处理后电压,如表4第三列所示。对各个累积充放电量实测值的排列顺序进行翻转,确定累积充放电量实测值的最大值,对于翻转后的累积充放电量实测值,利用累积充放电量实测值的最大值减去翻转后的累积充放电量实测值得到采样时刻的剩余容量计算值,再用各个剩余容量计算值分别除以累积充放电量实测值的最大值得到各个第一剩余容量的百分比,如表4第五列所示,从而得到第一目标数据。表4123454.129102.8999e+03004.11558.66552.9609e+035.08470.001954.109617.33073.0422e+0313.75120.005284.104325.99633.1054e+0322.41880.008614.099334.66243.1560e+0331.08570.011934.094743.32783.1969e+0339.75270.015264.090051.99343.2304e+0348.41970.01859…………………………3.23042556.35904.0900e+032553.19070.980173.19692565.02464.0947e+032561.85780.983503.15602573.69034.0993e+032570.52480.986833.10542582.35594.1043e+032579.19180.990153.04222591.02154.1096e+032587.85890.993482.96092599.68714.1155e+032596.52590.996812.89992608.35284.1291e+032605.19291若恒流数据中的各个电压实测值按照降序排列、各个累积充放电量实测值按照降序排列,则对各个电压实测值的排列顺序进行翻转得到按照升序排列的各个第一处理后电压,对各个累积充放电量实测值的排列顺序进行翻转,确定累积充放电量实测值的最大值,用各个翻转后的累积充放电量实测值分别除以累积充放电量实测值的最大值得到各个第一剩余容量的百分比,从而得到第一目标数据。若恒流数据中的各个电压实测值按照升序排列、各个累积充放电量实测值按照降序排列,则直接确定各个电压实测值分别为各个第二处理后电压;确定累积充放电量实测值的最大值,利用累积充放电量实测值的最大值依次分别减去目标数据中的各个累积充放电量实测值得到各个第二剩余容量,再用各个第二剩余容量分别除以累积充放电量实测值的最大值得到各个第二剩余容量的百分比,从而得到第二目标数据。若恒流数据中的各个电压实测值按照升序排列、各个累积充放电量实测值按照升序排列,则确定各个电压实测值分别为各个第二处理后电压,如表5第三列所示,确定累积充放电量实测值的最大值,用各个累积充放电量实测值分别除以累积充放电量实测值的最大值得到各个第二剩余容量的百分比,如表5第五列所示,从而得到第二目标数据。需要说明的是,在本申请举例的表4和表5中,对第三列的第一处理后电压/第二处理后电压进行了单位转换处理,即将“v”转换成“mv”。表5123453.342903.3429e+03003.38608.66163.3860e+038.66160.003333.407417.32133.4074e+0317.32130.006653.425025.98103.4250e+0325.98100.009983.440934.64073.4409e+0334.64070.013303.454843.30043.4548e+0343.30040.016633.466051.96013.4660e+0351.96010.01996…………………………4.17902563.27144.1790e+032563.27140.984464.18342571.93114.1834e+032571.93110.987794.18802580.59084.1880e+032580.59080.991114.19232589.25054.1923e+032589.25050.994444.19672597.91024.1967e+032597.91020.997764.20012606.56994.2001e+032606.56991在本申请中,为了方便表示,对第一目标数据和第二目标数据按照对应的原始文件的文件名进行赋值,比如第一目标数据为dch+文件名,第二目标数据为chg+文件名,因此对于每一个电池,本申请还会利用正则表达式从file元胞数组中获取该电池对应的文件名,即根据正则表达式每次对file元胞数组筛选出除格式外的文件名,比如“1.xls”经过正则表达式提取文件名得到“1”。也即对于“1.xls”这个原始文件,对从该原始文件的充放电数据中提取得到的第一目标数据命名为dch1、第二目标数据命名为chg1。s5,对第一目标数据进行插值处理确定每个开路电压典型值对应的第一soc值。s6,对第二目标数据进行插值处理确定每个开路电压典型值对应的第二soc值。在本申请中,步骤s5、s6没有先后顺序,步骤s5在步骤s3之后执行,步骤s6在步骤s4之后执行。本方法采用三次hermite插值方法对第一目标数据和第二目标数据进行处理,结合表6,为了方便说明,将第一目标数据、插值处理后的开路电压典型值(ocv值)及其对应的第一soc值、第二目标数据、插值处理后的开路电压典型值(ocv值)及其对应的第二soc值以表格的形式来表示,其中,vol_value1的数值即为2900mv,vol_valuen为4200mv。比如将开路电压典型值(ocv值)及其对应的第一soc值所在的表格命名为dch_point,将开路电压典型值(ocv值)及其对应的第二soc值所在的表格命名为chg_point。表6ovcsocvol_value1soc_value1vol_value2soc_value2…………vol_valuensoc_valuen在实际操作时,对第一目标数据进行插值处理之前,通过matlab提供的函数确定开路电压典型值(ocv值)的数据长度,该数据长度作为插值处理循环的次数,每一次插值处理循环对应一个开路电压典型值。在每一个开路电压典型值对应的插值处理循环中,首先检测该开路电压典型值是否在第一目标数据包括的各个第一处理后电压形成的电压范围内,若该开路电压典型值在电压范围内,则执行s5对第一目标数据进行插值处理确定每个开路电压典型值对应的第一soc值,然后可以将确定得到的第一soc值返回到dch_point表格的第二列与相应的开路电压典型值对应存储。比如,选取dch_point表格的第一列第一行的vol_value1的点,该点值为2900mv,在2900mv对应的插值处理循环中,假设判断2900mv在电压范围内,则将2900mv带入到dch1表格做插值处理,并将返回的结果放入与2900mv对应的dch_point表格的第二列第一行的soc_value1。若开路电压典型值大于第一目标数据包括的第一处理后电压的最大值,则确定开路电压典型值对应的第一soc值为第一处理后电压的最大值对应的第一剩余容量的百分比,比如,dch_point表格的第一列最后一行vol_valuen大于dch1表格的第三列最后一行,则将dch1表格的第三列最后一行对应的soc值放入dch_point表格的第二列最后一行(也即soc_valuen)。若开路电压典型值小于第一目标数据包括的第一处理后电压的最小值,则确定开路电压典型值对应的第一soc值为第一处理后电压的最小值对应的第一剩余容量的百分比。比如,dch_point表格的第一列第一行vol_value1小于dch1表格的第三列第一行,则将dch1第三列第一行对应的soc值放入dch_point表格的第二列第一行(也即soc_value1)。在步骤s6之前,与s5检测开路电压典型值是否在第一目标数据包括的各个第一处理后电压形成的电压范围内的检测步骤相似,再此不再进行赘述。在步骤s6中,第二目标数据的插值处理过程与上述第一目标数据的插值处理过程相似,也即对第二目标数据进行插值处理后得到了chg_point表格内的各个开路电压典型值ocv值及其对应的第二soc值,如图3所示的曲线2,再此也不再进行赘述。s7,根据每个开路电压典型值的第一soc值和第二soc值确定开路电压典型值对应的soc值。比如,将dch_point表格中的soc_value1-soc_valuen的值与chg_point表格中的soc_value1-soc_valuen的值相加取平均值后,得到了电池的ocv-soc表格,该表格形式如表6所示,根据开路电压典型值ocv和soc值的对应关系,得到了一个原始文件的电池的ocv-soc曲线,即如图3的虚线所示的曲线。出于实际情况考虑,由于恒流充电数据可能为空,因此可以通过检测标志位来确定恒流充电数据是否为空,在恒流充电数据不为空的情况下,即检测到第一标志位nocharge=0时,则执行步骤s3-s7得到电池的ocv-soc曲线;在恒流充电数据为空的情况下,即检测到第二标志位nocharge=1时,则省略步骤s4、s6和s7,在通过s3和s5计算得到每个开路电压典型值对应的第一soc值后,直接根据开路电压典型值和第一soc值的对应关系得到电池的ocv-soc曲线。比如,由于chg_point表格内的数据为0,则由dch_point表格作出的曲线即为电池的ocv-soc曲线。当在步骤s1中获取到属于同一个电池体系的至少两个电池的所有数据,则分别根据每个电池的所有数据通过步骤s2-s7得到电池的ocv-soc曲线,即根据程序循环的次数重复步骤s2-s7。方法还包括:s8,对于每个开路电压典型值,将各个电池在开路电压典型值对应的soc值进行加权平均得到开路电压典型值对应的soc终值,根据开路电压典型值和soc终值的对应关系生成电池体系的ocv-soc曲线,即得到了选取的原始文件的一个电池体系的ocv-soc曲线,在本申请中,电池体系的ocv-soc曲线会自动生成在选定原始文件的对应温度文件夹中。根据本申请记载的一种电池充放电数据处理方法,在电芯种类繁多的情况下,实现了自动化处理电池的充电、放电数据并计算得出了电池的ocv-soc表,与人工数据处理方式对比,本申请极大提高了数据处理的效率和数据的准确率,并且降低了数据处理的误差,能够在短时间得到电池电芯的数据并应用到市场上,节约了时间成本。以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1