发明内容
本发明的目的是提出一种用于储能电站的电池组可用容量修复方法,基于电池组内所有的电池单体的可用容量,并从全局角度考虑,对电池组的可用容量进行一次性修复的方法,以便于提高电池组的利用率,延长电池组的寿命。
本发明提出的用于储能电站的电池组可用容量修复方法,该修复方法包括以下步骤:
(1)设储能电站的电池组由N个电池单体串联形成,电池组的额定充放电功率为P,则每个电池单体的额定充放电功率P/N,在电池单体成组前,从所有的电池单体中随机抽取n个电池单体分别进行充放电,充放电的步骤如下:
(1-1)对n个电池单体分别以恒定功率P/N充电,直至n个电池单体的电压分别达到用户设定的电池单体电压上限值ucmax;
(1-2)对步骤(1-1)中的n个电池单体以恒定功率P/N放电,直至n个电池单体的电压分别达到用户设定的电池单体电压下限值udmin,以5秒为周期,记录放电过程的电池单体电压值,将放电过程的电压记录数据组成一个数组,记为Udr|k={udr|k-1,udr|k-2,…,udr|k-ldk},其中,dr表示放电过程的记录数据,k表示电池单体的序号,k=1~n,udr|k-1表示放电过程的第k个电池单体的第1个记录数据,udr|k-ldk表示放电过程的第k个电池单体的第ldk个记录数据,ldk等于放电过程的第k个电池单体的数组长度,并将放电过程的第k个电池单体的累计放电能量,记为Edr|k(k=1~n);
(1-3)对步骤(1-2)中的n个电池单体以恒定功率P/N充电,直至n个电池单体的电压分别达到步骤(1-1)中的用户设定的电池单体电压上限值ucmax,以5秒为周期记录充电过程的电池单体电压值,将该电池单体电压值组成一个一维数组,记为Ucr|k={ucr|k-1,ucr|k-2,…,ucr|k-lck},其中,cr表示放电过程的记录数据,k表示电池单体的序号,k=1~n,ucr|k-1表示充电过程的第k个电池的第1个记录数据,ucr|k-lck表示充电过程的第k个电池的第lck个记录数据,lck等于充电过程的第k个电池的数组长度,并将充电过程的第k个电池单体的累计充电能量记为Ecr|k,k=1~n;
(1-4)对步骤(1-3)中的n个电池单体以恒定功率P/N放电,直至n个电池单体电压分别达到步骤(1-2)中的用户设定的电池单体电压下限值udmin;
(2)建立一个长度为步骤(1-2)中的ldk的递减等差数列Adk={100,100-ddk,…,ddk,0},其中,ddk为公差,ddk=100/(ldk-1),并建立一个长度为101的递增等差数列SOCl=101={0,1,2,…,100},以数列Adk为自变量,以上述步骤(1-2)中的放电过程的电压记录数据数组Udr|k为因变量,采用线性插值法,分别计算SOCl=101中每一个元素对应的值,得到n个长度为101的一维数组Udr|k’={udr|k-0’,udr|k-1’,…,udr|k-100’},k=1~n,求n个一维数组Udr|k’中各对应元素的平均值,得到长度为101的放电过程的平均电压记录数据数组Udr={udr0,udr1,…,udr100},并计算步骤(1-2)中的Edr|k的平均值Edr,k=1~n;
(3)建立一个长度为步骤(1-3)中的lck的递增等差数列Ack,Ack={0,dck,2dck,…,100-dck,100},其中,dck为公差,dck=100/(lck-1),以数列Ack为自变量,以上述步骤(1-3)中的充电过程的电压记录数据数组Ucr|k为因变量,采用线性插值法,分别计算步骤(2)中的SOCl=101中每一个元素对应的值,得到n个长度为101的一维数组Ucr|k’={ucr|k-0’,ucr|k-1’,…,ucr|k-100’},k=1~n,求n个一维数组Ucr|k’中各对应元素的平均值,得到长度为101的充电过程的平均电压记录数据数组Ucr={ucr0,ucr1,…,ucr100},并计算步骤(1-3)中的Ecr|k的平均值Ecr,k=1~n;
(4)由步骤(1)中的N个电池单体串联形成的电池组以恒定功率P充电,直至N个电池单体中出现一个电池单体的电压达到步骤(1-1)中用户设定的电池单体电压上限值ucmax,电池组截止充电,记录充电截止时刻的电池组中N个电池单体的电压值Uc={uc1,uc2,…,ucN};
(5)使步骤(4)的充电后的电池组以恒定功率P放电,直至N个电池单体中出现一个电池单体的电压达到步骤(1-2)用户设定的电池单体电压下限值udmin,电池组截止放电,记录放电截止时刻的电池组中N个电池单体的电压值Ud={ud1,ud2,…,udN},并记录放电过程电池组所放出的电能,记为E;
(6)以步骤(3)中的长度为101的充电过程的平均电压记录数据数组Ucr为自变量,以步骤(2)中的SOCl=101为因变量,采用线性插值法,计算步骤(4)中的充电截止时刻电池组中的N个电池单体电压值Uc中每一个元素对应的值,得到充电截止时刻电池组中N个电池单体的SOC值SOCc,SOCc={SOCc1,SOCc2,…,SOCcN};
(7)以步骤(2)中的长度为101的放电过程的平均电压记录数据数组Udr为自变量,以步骤(2)中的SOCl=101为因变量,采用线性插值法,计算步骤(5)中的放电截止时刻电池组中N个电池单体电压值Ud中每一个元素对应的值,得到放电截止时刻的电池组中N个电池单体的SOC值SOCd,SOCd={SOCd1,SOCd2,…,SOCdN};
(8)将步骤(6)中的充电截止时刻电池组中的N个电池单体的SOC值SOCc减去步骤(7)中放电截止时刻的电池组中N个电池单体的SOC值SOCd,将差值记为ΔSOC,计算ΔSOC的最大值ΔSOCmax,以及与该最大值ΔSOCmax相对应的电池单体序号l,1≤l≤N,电池单体l在数组SOCc中的值为SOCcl,在数组SOCd中的值为SOCdl;
(9)使上述步骤(5)的电池组以恒定功率P充电,电池组充电的电能为步骤(5)中放电过程电池组所放出的电能E的一半,即E/2;
(10)对上述步骤(6)中的充电截止时刻电池组中N个电池单体的SOC值SOCc中的SOCck进行判断,k=1~N,若SOCck大于上述步骤(8)中的SOCcl,则对电池单体k进行单独放电,放电功率为P/N,放出的电能为(SOCck-SOCcl)/100*Ecr,其中Ecr为步骤(3)中的计算值,若SOCck小于或等于上述步骤(8)中的SOCcl,则停止电池单体k的单独放电;对上述步骤(7)中的放电截止时刻电池组中N个电池单体SOC值SOCd中的SOCdk进行判断,若SOCdk小于步骤(8)中的SOCdl,则对电池单体k进行单独充电,充电功率为P/N,放出的电能为(SOCdl-SOCdk)/100*Edr,其中Edr为步骤(2)中的计算值,若SOCdk小于或等于步骤(8)中的SOCdl,则停止电池单体k的单独充电。
本发明提出的储能电站中电池组的可用容量修复方法,其优点是:以电池单体在恒定功率下的充放电电压序列为基础,建立电压与剩余能量的对应关系,并依此将电池组在全充全放结束前时刻的各电池单体电压映射为剩余能量,进而以可用容量最小的电池为参照,对其余电池进行单独的充电或放电,以实现电池组可用容量最大化修复,增加电池组的可充放电能量,延长电池组的使用寿命,提高储能电站的经济效益。
具体实施方式
本发明提出的用于储能电站的电池组可用容量修复方法,包括以下步骤:
(1)设储能电站的电池组由N个电池单体串联形成,电池组的额定充放电功率为P,则每个电池单体的额定充放电功率P/N,在电池单体成组前,从所有的电池单体中随机抽取n个电池单体分别进行充放电,充放电的步骤如下:
(1-1)对n个电池单体分别以恒定功率P/N充电,直至n个电池单体的电压分别达到用户设定的电池单体电压上限值ucmax;
(1-2)对步骤(1-1)中的n个电池单体以恒定功率P/N放电,直至n个电池单体的电压分别达到用户设定的电池单体电压下限值udmin,以5秒为周期,记录放电过程的电池单体电压值,将放电过程的电压记录数据组成一个数组,记为Udr|k={udr|k-1,udr|k-2,…,udr|k-ldk},其中,dr表示放电过程的记录数据,k表示电池单体的序号,k=1~n,udr|k-1表示放电过程的第k个电池单体的第1个记录数据,udr|k-ldk表示放电过程的第k个电池单体的第ldk个记录数据,ldk等于放电过程的第k个电池单体的数组长度,并将放电过程的第k个电池单体的累计放电能量,记为Edr|k(k=1~n);
(1-3)对步骤(1-2)中的n个电池单体以恒定功率P/N充电,直至n个电池单体的电压分别达到步骤(1-1)中的用户设定的电池单体电压上限值ucmax,以5秒为周期记录充电过程的电池单体电压值,将该电池单体电压值组成一个一维数组,记为Ucr|k={ucr|k-1,ucr|k-2,…,ucr|k-lck},其中,cr表示放电过程的记录数据,k表示电池单体的序号,k=1~n,ucr|k-1表示充电过程的第k个电池的第1个记录数据,ucr|k-lck表示充电过程的第k个电池的第lck个记录数据,lck等于充电过程的第k个电池的数组长度,并将充电过程的第k个电池单体的累计充电能量记为Ecr|k,k=1~n;
(1-4)对步骤(1-3)中的n个电池单体以恒定功率P/N放电,直至n个电池单体电压分别达到步骤(1-2)中的用户设定的电池单体电压下限值udmin;
(2)建立一个长度为步骤(1-2)中的ldk的递减等差数列Adk={100,100-ddk,…,ddk,0},其中,ddk为公差,ddk=100/(ldk-1),并建立一个长度为101的递增等差数列SOCl=101={0,1,2,…,100},以数列Adk为自变量,以上述步骤(1-2)中的放电过程的电压记录数据数组Udr|k为因变量,采用线性插值法,分别计算SOCl=101中每一个元素对应的值,得到n个长度为101的一维数组Udr|k’={udr|k-0’,udr|k-1’,…,udr|k-100’},k=1~n,求n个一维数组Udr|k’中各对应元素的平均值,得到长度为101的放电过程的平均电压记录数据数组Udr={udr0,udr1,…,udr100},并计算步骤(1-2)中的Edr|k的平均值Edr,k=1~n;
(3)建立一个长度为步骤(1-3)中的lck的递增等差数列Ack,Ack={0,dck,2dck,…,100-dck,100},其中,dck为公差,dck=100/(lck-1),以数列Ack为自变量,以上述步骤(1-3)中的充电过程的电压记录数据数组Ucr|k为因变量,采用线性插值法,分别计算步骤(2)中的SOCl=101中每一个元素对应的值,得到n个长度为101的一维数组Ucr|k’={ucr|k-0’,ucr|k-1’,…,ucr|k-100’},k=1~n,求n个一维数组Ucr|k’中各对应元素的平均值,得到长度为101的充电过程的平均电压记录数据数组Ucr={ucr0,ucr1,…,ucr100},并计算步骤(1-3)中的Ecr|k的平均值Ecr,k=1~n;
(4)由步骤(1)中的N个电池单体串联形成的电池组以恒定功率P充电,直至N个电池单体中出现一个电池单体的电压达到步骤(1-1)中用户设定的电池单体电压上限值ucmax,电池组截止充电,记录充电截止时刻的电池组中N个电池单体的电压值Uc={uc1,uc2,…,ucN};
(5)使步骤(4)的充电后的电池组以恒定功率P放电,直至N个电池单体中出现一个电池单体的电压达到步骤(1-2)用户设定的电池单体电压下限值udmin,电池组截止放电,记录放电截止时刻的电池组中N个电池单体的电压值Ud={ud1,ud2,…,udN},并记录放电过程电池组所放出的电能,记为E;
(6)以步骤(3)中的长度为101的充电过程的平均电压记录数据数组Ucr为自变量,以步骤(2)中的SOCl=101为因变量,采用线性插值法,计算步骤(4)中的充电截止时刻电池组中的N个电池单体电压值Uc中每一个元素对应的值,得到充电截止时刻电池组中N个电池单体的SOC值SOCc,SOCc={SOCc1,SOCc2,…,SOCcN};
(7)以步骤(2)中的长度为101的放电过程的平均电压记录数据数组Udr为自变量,以步骤(2)中的SOCl=101为因变量,采用线性插值法,计算步骤(5)中的放电截止时刻电池组中N个电池单体电压值Ud中每一个元素对应的值,得到放电截止时刻的电池组中N个电池单体的SOC值SOCd,SOCd={SOCd1,SOCd2,…,SOCdN};
(8)将步骤(6)中的充电截止时刻电池组中的N个电池单体的SOC值SOCc减去步骤(7)中放电截止时刻的电池组中N个电池单体的SOC值SOCd,将差值记为ΔSOC,计算ΔSOC的最大值ΔSOCmax,以及与该最大值ΔSOCmax相对应的电池单体序号l,1≤l≤N,电池单体l在数组SOCc中的值为SOCcl,在数组SOCd中的值为SOCdl;
(9)使上述步骤(5)的电池组以恒定功率P充电,电池组充电的电能为步骤(5)中放电过程电池组所放出的电能E的一半,即E/2;
(10)对上述步骤(6)中的充电截止时刻电池组中N个电池单体的SOC值SOCc中的SOCck进行判断,k=1~N,若SOCck大于上述步骤(8)中的SOCcl,则对电池单体k进行单独放电,放电功率为P/N,放出的电能为(SOCck-SOCcl)/100*Ecr,其中Ecr为步骤(3)中的计算值,若SOCck小于或等于上述步骤(8)中的SOCcl,则停止电池单体k的单独放电;对上述步骤(7)中的放电截止时刻电池组中N个电池单体SOC值SOCd中的SOCdk进行判断,若SOCdk小于步骤(8)中的SOCdl,则对电池单体k进行单独充电,充电功率为P/N,放出的电能为(SOCdl-SOCdk)/100*Edr,其中Edr为步骤(2)中的计算值,若SOCdk小于或等于步骤(8)中的SOCdl,则停止电池单体k的单独充电。
下面结合附图介绍本发明方法的一个实施例:
图1是本发明方法的整体流程框图,图2是本发明方法的详细流程框图。
(1)假设储能电站的电池组由200节磷酸铁锂电池单体串联形成,且电池组的额定充放电功率为100kW,标定的可用容量为100kW·h,在电池单体成组前,从所有的电池单体中随机抽取20个电池单体分别进行充放电,充放电的步骤:
(1-1)电池单体以恒定功率500W充电,直至电池单体电压达到用户设定的电池单体电压上限值3.6V;
(1-2)电池单体以恒定功率500W放电,直至电压达到用户设定的电池单体电压下限值2.5V,此过程中,以5s为周期记录电池单体电压值,记为一维数组Udr|k={udr|k-1,udr|k-2,…,udr|k-ldk},k=1~20表示电池单体的序号,ldk等于数组的长度,且udr|k-ldk=2.5V,并记此步骤所放出的电能为Edr|k;
(1-3)电池单体以恒定功率500W充电,直至电压达到用户设定的电池单体电压上限值3.6V,此过程中,以5s为周期记录电池单体电压值,记为一维数组Ucr|k={ucr|k-1,ucr|k-2,…,ucr|k-lck},k=1~20表示电池单体的序号,lck等于数组的长度,且ucr|k-lck=3.6V,并记此步骤所放出的电能为Ecr|k;
(1-4)电池单体以恒定功率500W放电,直至电压达到用户设定的电池单体电压额定值3.2V;
(2)当k变化时,步骤(1)中的一维数组Udr|k的长度ldk也会发生变化,通过线性插值法统一所有一维数组Udr|k的长度。定义公差d=100/(ldk-1),长度为ldk的递增等差数列A={0,d,2d,…,100-d,100},定义公差d=1,长度为101的递增等差数列SOC={0,1,2,…,100},A和SOC都可视为电池的剩余能量,以数列A为自变量,一维数组Udr|k为因变量,采用线性插值法计算SOC中每一个元素对应的值,形成长度为101的一维数组Udr|k’={udr|k-0’,udr|k-1’,…,udr|k-100’},数组的数量共20个,求20个数组对应元素的平均值,得到新的长度为101的一维数组Udr={udr0,udr1,…,udr100},其中udr0=2.5V,并计算Edr|k的平均值Edr;
(3)同理,分别对步骤(1)中所有的一维数组Ucr|k,定义公差d=100/(lck-1),长度为lck的递减等差数列A={100,100-d,100-2d,…,d,0},定义公差d=1,长度为101的递增等差数列SOC={0,1,2,…,100},以数列A为自变量,一维数组Ucr|k为因变量,采用线性插值法计算SOC中每一个元素对应的值,形成长度为101的一维数组Ucr|k’={ucr|k-0’,ucr|k-1’,…,ucr|k-100’},数组的数量共20个,求20个数组对应元素的平均值,得到新的长度为101的一维数组Ucr={ucr0,ucr1,…,ucr100},其中ucr100=3.6V,并计算Ecr|k的平均值Ecr;
(4)在电池单体成组后,电池组以恒定功率100kW充电,直至出现至少一个电池单体电压达到用户设定的电池单体电压上限值3.6V,记录充电截止前一刻所有的电池单体电压值Uc={uc1,uc2,…,uc200},Uc内所有的元素值不大于3.6V;
(5)电池组以恒定功率100kW放电,直至出现至少一个电池单体电压达到用户设定的电池单体电压下限值2.5V,记录放电截止前一刻所有的电池单体电压值Ud={ud1,ud2,…,ud200},Ud内所有的元素值不小于2.5V,并记此步骤所放出的电能为E;
(6)以步骤(3)的一维数组Ucr为自变量,数列SOC为因变量,采用线性插值法计算步骤(4)的Uc中每一个元素对应的值,形成长度为200的一维数组SOCc={SOCc1,SOCc2,…,SOCc200},SOCc内所有的元素值不大于100;
(7)以步骤(2)的一维数组Udr为自变量,数列SOC为因变量,采用线性插值法计算步骤(5)的Ud中每一个元素对应的值,形成长度为200的一维数组SOCd={SOCd1,SOCd2,…,SOCd200},SOCd内所有的元素值不小于0;
(8)将步骤(6)的SOCc减步骤(7)的SOCd,得到的一维数组定义为ΔSOC,计算ΔSOC的最大值ΔSOCmax,ΔSOCmax≤100,以及最大值ΔSOCmax对应的电池序号l;
(9)以恒定功率100kW对电池组充电,充电的电能为E/2;
(10)对所有满足SOCck>SOCcl(其中k=1~200)的电池单体进行单独放电,放电功率为500W,放出的电能为(SOCck-SOCcl)/100*Ecr,对所有满足SOCdk<SOCdl的电池单体进行单独充电,充电功率为500W,吸收的电能为(SOCdl-SOCdk)/100*Edr,完成修复后,电池组的可用容量(以额定功率放电的电能计算)增加值约为(100-ΔSOCmax)/100*E。
以上所述的仅为本发明的较佳实施例而已,本发明不仅仅局限于上述实施例,凡在本发明的精神和原则之内所做的局部改动、等同替换、改进等均应包含在本发明的保护范围之内。