一种光伏的多峰值最大功率追踪方法及相关装置与流程

文档序号:18198954发布日期:2019-07-17 06:02阅读:302来源:国知局
一种光伏的多峰值最大功率追踪方法及相关装置与流程

本申请涉及光伏技术领域,特别涉及一种光伏的多峰值最大功率追踪方法、电子设备和计算机可读存储介质。



背景技术:

粒子群算法是一种进化计算技术,通过不断地迭代和计算,逐渐逼近空间的最优值。粒子群mppt算法中,将光伏输出电压作为粒子,在整个多峰功率曲线上寻找最大值。现有常规粒子群mppt算法在大部分情况下可以追踪到实际光伏多峰最大功率点,但是收敛速度较长,震荡较大,导致追踪时间较长,功率损耗较大。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

本申请的目的是提供一种光伏的多峰值最大功率追踪方法、装置、电子设备和计算机可读存储介质,能够减少迭代次数,提高收敛速度。其具体方案如下:

本申请公开了一种光伏的多峰值最大功率追踪方法,包括:

获取同一迭代次数下的更新粒子速度的绝对值的最大值;

判断连续的相同维度下的更新粒子速度的绝对值是最大值的次数是否超过预设次数;

若超过所述预设次数,则将所述相同维度命名为目标维度,将所述目标维度下的连续的最大值的次数超过所述预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数;

根据更新粒子速度和所述新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率,直至迭代停止。

可选的,所述获取同一迭代次数下的更新粒子速度的绝对值最大值之前,还包括:

判断所述替换次数是否达到预设阈值;

若达到所述预设阈值,则执行所述根据所述更新粒子速度和所述新的更新粒子位置进行迭代计算的步骤;若未达到所述预设阈值,则执行所述获取同一迭代次数下的更新粒子速度的最大值的步骤;

其中,所述预设阈值是n-1,n为光伏组件个数。

可选的,所述获取局部最大功率和全局最大功率,直至迭代停止,包括:

获取所述局部最大功率和所述全局最大功率;

判断所述全局最大功率的数值的精度是否达到预设精度;

若达到所述预设精度,则迭代停止。

可选的,所述获取局部最大功率和全局最大功率,直至迭代停止,包括:

获取所述局部最大功率和所述全局最大功率;

判断迭代次数是否达到迭代阈值;

若达到所述迭代阈值,则迭代停止。

可选的,所述迭代计算包括:

根据当前全局最优值、当前局部最优值、学习因子、惯性权重更新粒子速度和粒子位置,得到所述更新粒子速度和所述更新粒子位置;

根据所述更新粒子位置得到粒子适应度值;

根据各个所述粒子适应度值和各个所述当前局部最优值对应的粒子适应度值,更新各个粒子的局部最优值和全局最优值。

可选的,所述学习因子根据c1=1.5+0.01×nc,c2=2.5-0.01×nc确定;

其中,c1、c2为所述学习因子,nc为迭代次数。

可选的,当所述替换次数为零时,所述惯性权重根据wnc=1.5+0.01×nc确定;

其中,wnc为所述惯性权重,nc为迭代次数。

可选的,当所述替换次数不为零时,所述惯性权重根据wnc=(-0.175×t2+0.425×t+1.225)+0.01×nc确定;

其中,wnc为所述惯性权重,nc为迭代次数,t为所述替换次数。

本申请公开了一种光伏的多峰值最大功率追踪装置,包括:

获取模块,用于获取同一迭代次数下的更新粒子速度的绝对值的最大值;

第一判断模块,用于判断连续的相同维度下的更新粒子速度的绝对值是最大值的次数是否超过预设次数;

替换模块,用于若超过所述预设次数,则将所述相同维度命名为目标维度,将所述目标维度下的连续的最大值的次数超过所述预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数;

迭代模块,用于根据更新粒子速度和所述新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率,直至迭代停止。

可选的,还包括:

第二判断模块,用于判断所述替换次数是否达到预设阈值;

迭代模块,用于若达到所述预设阈值,则执行所述根据所述更新粒子速度和所述新的更新粒子位置进行迭代计算的步骤;若未达到所述预设阈值,则执行所述获取同一迭代次数下的更新粒子速度的最大值的步骤;

其中,所述预设阈值是n-1,n为光伏组件个数。

可选的,所述迭代模块包括:

获取单元,用于获取所述局部最大功率和所述全局最大功率;

判断单元,用于判断所述全局最大功率的数值的精度是否达到预设精度;

执行单元,用于若达到所述预设精度,则迭代停止。

可选的,所述迭代模块包括:

获取单元,用于获取所述局部最大功率和所述全局最大功率;

判断单元,用于判断迭代次数是否达到迭代阈值;

执行单元,用于若达到所述迭代阈值,则迭代停止。

可选的,所述迭代模块包括:

第一更新单元,用于根据当前全局最优值、当前局部最优值、学习因子、惯性权重更新粒子速度和粒子位置,得到所述更新粒子速度和所述更新粒子位置;

确定单元,用于根据所述更新粒子位置得到各个粒子适应度值;

第二更新单元,用于根据各个粒子局部最优值对应的粒子适应度值和各个粒子适应度值,更新各个粒子的局部最优值和全局最优值。

可选的,所述第一更新单元包括:

确定子单元,用于所述学习因子根据c1=1.5+0.01×nc,c2=2.5-0.01×nc确定;

其中,c1、c2为所述学习因子,nc为迭代次数。

可选的,所述第一更新单元包括:

惯性权重确定子单元,用于当所述替换次数为零时,所述惯性权重根据wnc=1.5+0.01×nc确定;

其中,wnc为所述惯性权重,nc为迭代次数。

可选的,所述第一更新单元包括:

惯性权重确定子单元,用于当所述替换次数不为零时,所述惯性权重根据wnc=(-0.175×t2+0.425×t+1.225)+0.01×nc确定;

其中,wnc为所述惯性权重,nc为迭代次数,t为所述替换次数。

本申请公开了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述光伏的多峰值最大功率追踪方法的步骤。

本申请公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述光伏的多峰值最大功率追踪方法的步骤。

本申请提供一种光伏的多峰值最大功率追踪方法,包括:获取同一迭代次数下的更新粒子速度的绝对值的最大值;判断连续的相同维度下的更新粒子速度的绝对值是最大值的次数是否超过预设次数;若超过预设次数,则将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数;根据更新粒子速度和新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率,直至迭代停止。

可见,本申请当存在连续的相同维度下的更新粒子速度是最大值的次数超过预设次数时,并将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置;根据更新粒子速度和新的更新粒子位置进行迭代计算,实现了根据更新速度值对粒子位置进行重新调整,实现对粒子布局的自适应调整,减少了不必要的迭代,提高收敛速度。本申请同时还提供了一种电子设备和计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种光伏的多峰值最大功率追踪方法的流程图;

图2为本申请实施例所提供的一种迭代计算的流程图;

图3为本申请实施例所提供的另一种光伏的多峰值最大功率追踪方法的流程图;

图4为本申请实施例所提供的另一种光伏的多峰值最大功率追踪的方法的流程图;

图5为本申请实施例所提供的另一种的光伏的多峰值最大功率追踪方法的流程图;

图6为本申请实施例提供的提供光伏组串中光伏组件的三种遮挡情形;

图7为本申请实施例提供的三种遮挡情形下光伏组串输出特性曲线;

图8-10为本申请实施例提供的三种遮挡情形下粒子群算法改进前后结果对比图;

图11为本申请实施例提供的一种光伏的多峰值最大功率追踪装置的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有常规粒子群mppt算法在大部分情况下可以追踪到实际光伏多峰最大功率点,但是收敛速度较长,震荡较大,导致追踪时间较长,功率损耗较大。基于上述技术问题,本实施例提供一种光伏的多峰值最大功率追踪方法,当存在连续的相同维度下的更新粒子速度是最大值的次数超过预设次数时,并将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置;根据更新粒子速度和新的更新粒子位置进行迭代计算,实现了根据更新速度值对粒子位置进行重新调整,实现对粒子布局的自适应调整,减少了不必要的迭代,提高收敛速度,具体请参考图1,图1为本申请实施例所提供的一种光伏的多峰值最大功率追踪方法的流程图,具体包括:

s101、获取同一迭代次数下的更新粒子速度的绝对值的最大值。

更新粒子速度是每次迭代计算出的粒子速度,每次迭代计算得到的更新粒子速度组成的集合,其中集合中的每一行代表每次迭代计算得到的更新粒子速度,每一列表明是每一维度。获取每一次迭代次数下的更新粒子速度的绝对值的最大值,即为得到每一行中的最大值。可以理解的是,由于是通过计算得到更新粒子速度,更新粒子的速度会出现正数和负数,因此,本实施例利用更新粒子速度的绝对值作为参考。

s102、判断连续的相同维度下的更新粒子速度的绝对值是最大值的次数是否超过预设次数。

本步骤的目的是判断相同维度下,即相同列的情况下,集合中的更新粒子速度的绝对值的最大值有连续的超过预设次数出现在同一维度。

s103、若超过预设次数,则将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数。

其中,各个最大值是目标维度下的连续的超过预设次数的对应的最大值。当超过预设次数则,将相同维度记为目标维度,并将目标为度下的更新粒子速度替换为同一迭代次数下的次值。

举例说明,当更新粒子速度组成的集合为对应的更新粒子位置的集合为设预设次数为3,可知,超过3次,进行更新粒子速度替换,得到当更新粒子速度组成的集合为对应的更新粒子位置的集合为设预设次数为2,可知,超过2次,进行更新粒子速度替换,得到值得注意的是,本实施例提供的例子只是为了说明替换的情况。

s104、根据更新粒子速度和新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率,直至迭代停止。

根据更新粒子速度和新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率,直至迭代停止。本实施例不对迭代停止的条件进行限定,可以是当全局最大功率值的精度达到预设值,也可以是迭代次数达到预设次数时停止迭代,并输出全局最大功率。

进一步的,根据更新粒子速度和新的更新粒子位置进行迭代计算,具体包括:判断目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子速度是否大于开路电压;若大于开路电压,则将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子速度替换为预设速度,获取新的更新粒子速度;根据新的更新粒子速度和新的更新粒子位置进行迭代计算。

具体的,本实施例不对预设速度进行限定,可以是0.1、0.5、1、2、3等,只要是能够满足本实施例的目的即可。本步骤的目的是减少迭代次数,当更新粒子速度大于开路电压时,可以理解的是,下一次迭代会远离局部最优值,因此,本步骤实现更新粒子的替换后能够减少迭代,简化算法,具体的请参考相关技术,本实施例不再进行赘述。

进一步的,具体请参考图2,图2为本申请实施例所提供的一种迭代计算的流程图,包括:

s201、根据当前全局最优值、当前局部最优值、学习因子、惯性权重更新粒子速度和粒子位置,得到更新粒子速度和新的更新粒子位置。

具体的更新可以利用下述公式:

vnc+1=wnc×vnc+c1×r1×(ppbestnc-vmnc)+c2×r2×(gpbestnc-vmnc);

vmnc+1=vmnc+vnc+1;

其中,vnc+1是下次迭代的粒子电压向最优解移动的速度,为更新粒子速度;

wnc是当前迭代的惯性权重因子;

vnc是当前粒子速度,即当前迭代的粒子电压向最优解移动的速度;

c1和c2是学习因子;

r1和r2是0到1内的随机数;

ppbestnc是当前迭代局部最优值即当前局部最优值;

vmnc是当前粒子电压位置;

gpbestnc是当前迭代全局最优值即当前全局最优值;

vmnc+1是下次迭代的粒子电压位置,为更新粒子位置;

值得注意的是,wnc是当前迭代的惯性权重因子,本实施例不再对其进行限定,可以是固定值,也可以是采用线性自适应调节方式,当然,也会根据获取的粒子评估值进行自动调整,其中,粒子评估值是指判断连续的相同维度下的更新粒子速度是最大值的次数是否超过预设次数。

c1和c2是学习因子,本实施例不再对其进行限定,可以是固定值,也可以是采用线性自适应调节方式。

进一步的,学习因子根据c1=1.5+0.01×nc,c2=2.5-0.01×nc确定;其中,c1、c2为学习因子,nc为迭代次数。

基于上述技术手段,对学习因子c1和c2采用线性自适应方式,c1随着迭代次数的增加,逐渐增大,加快局部搜索速度;随着迭代次数的增加,越来越接近最优值,此时c2逐渐减小,减慢全局搜索速度,有利于寻找到最优值,采用线性自适应方式还可以减少迭代功率跨度过大。

进一步的,惯性权重值,较大的具有较好的全局收敛能力,较小的具有较强的搜索能力。具有递减惯性权重的粒子群算法在前期阶段具有较好的全局搜索能力,后期收敛速性也较好,但收敛速度比较慢而具有递增的惯性权重的算法虽然前期收敛速度快,但是后期的局部搜索能力较差。

因此,当替换次数为零时,惯性权重根据wnc=1.5+0.01×nc确定;

其中,wnc为惯性权重,nc为迭代次数。

当替换次数不为零时,惯性权重根据wnc=(-0.175×t2+0.425×t+1.225)+0.01×nc确定;

其中,wnc为惯性权重,nc为迭代次数,t为替换次数。

众所周知,单个光伏组件的输出电压比较小,需要将多个光伏组件串联成光伏组串以获得较高的电压。在实际使用过程中,光伏组串中的光伏组件往往会被不同程度的遮挡,由于光伏组件内部通常有旁路二极管,其作用是当光伏电池被遮挡时可以旁路掉这些电池片以保证其他电池片正常发电,这样的好处还有防止热斑问题,降低着火风险,提高光伏组件的使用寿命。当光伏电池被遮挡时由于旁路二极管的导通,使得光伏组串的输出功率曲线呈现多峰状。由于遮挡位置的不同和遮挡程度不一样,多峰形状下的最大值功率会出现在不同位置,通常表现为在左边,在中间和在右边。基于上述技术手段,调整自适应惯性权重wnc,首先惯性权重值采用线性自适应方式,随着迭代的增加逐渐减少,可以提升收敛速度,但是光伏多峰最大功率点主要体现在左,中,右三个位置,如果惯性权重仅用线性自适应方式,容易使算法陷入局部最优值或者结果精度不高,因此在每次粒子布局调整后,采用新的更小的自适应惯性权重,不仅可以提高收敛速度,还可以提高算法精度,避免陷入局部最优值。

s202、根据更新粒子位置得到粒子适应度值;

s203、根据各个粒子适应度值和各个当前局部最优值对应的粒子适应度值,更新各个粒子的局部最优值和全局最优值。

基于上述技术方案,本实施例当存在连续的相同维度下的更新粒子速度的绝对值是最大值的次数超过预设次数时,并将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置;根据更新粒子速度和新的更新粒子位置进行迭代计算,实现了根据更新速度值对粒子位置进行重新调整,实现对粒子布局的自适应调整,减少了不必要的迭代,提高收敛速度。

基于上述实施例,本实施例提供一种光伏的多峰值最大功率追踪方法,具体请参考图3,图3为本申请实施例所提供的另一种光伏的多峰值最大功率追踪方法的流程图,包括:

s301、判断替换次数是否达到预设阈值。

本步骤的目的是为了得到预设阈值与替换次数的大小。

s302、若未达到预设阈值,获取同一迭代次数下的更新粒子速度的绝对值的最大值。

其中,预设阈值是n-1,n为光伏组件个数。设置阈值的目的是可进行粒子布局n-1次,以便能够高效的减少迭代次数,提高收敛速度。

若未达到预设阈值,获取同一迭代次数下的更新粒子速度的最大值;

若达到预设阈值,则执行根据更新粒子速度和新的更新粒子位置进行迭代计算的步骤。

s303、判断连续的相同维度下的更新粒子速度的绝对值是最大值的次数是否超过预设次数。

s304、若超过预设次数,则将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数。

s305、根据更新粒子速度和新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率,直至迭代停止。

基于上述技术方案,本实施例通过当替换次数没有达到预设阈值时,当存在连续的相同维度下的更新粒子速度是最大值的次数超过预设次数时,并将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置;根据更新粒子速度和新的更新粒子位置进行迭代计算,实现了根据更新速度值对粒子位置进行重新调整,实现对粒子布局的自适应调整,减少了不必要的迭代,提高收敛速度

基于上述实施例,本实施例提供一种光伏的多峰值最大功率追踪方法,具体请参考图4,图4为本申请实施例所提供的一种光伏的多峰值最大功率追踪方法的流程图包括:

s401、获取同一迭代次数下的更新粒子速度的绝对值的最大值。

s402、判断连续的相同维度下的更新粒子速度的绝对值是最大值的次数是否超过预设次数。

s403、若超过预设次数,则将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数。

s404、根据更新粒子速度和新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率。

具体请参考上述实施例,本实施例不再进行赘述。

s405、判断全局最大功率的数值的精度是否达到预设精度。

本实施例不对预设精度进行限定,用户可根据实际需求进行设置,可以是小数点后两位,也可以是小数点后三位。以小数点后两位为例,设置迭代终止的公式是:

其中,vm(nc+1)t为粒子布局调整t次后求得的最优解,即t为替换次数,vmnc+1为粒子电压寻找到的n维最优解即全局最大功率值,roundn(x,-2)为取数据x,使其精确到小数点后2位。

s406、若达到预设精度,则迭代停止。

本步骤的目的是停止迭代,此时获取全局最大功率,成功追踪到光伏多峰的最大功率点。

基于上述技术方案,本实施例通过全局最大功率的数值的精度达到预设精度时,停止迭代此时,获取光伏多峰到的全局最大功率。

基于上述实施例,本实施例提供一种光伏的多峰值最大功率追踪方法,具体请参考图5,图5为本申请实施例所提供的一种光伏的多峰值最大功率追踪方法的流程图

s501、获取同一迭代次数下的更新粒子速度的绝对值的最大值。

s502、判断连续的相同维度下的更新粒子速度的绝对值是最大值的次数是否超过预设次数。

s503、若超过预设次数,则将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数。具体的请参考上述实施例,本实施例不再进行赘述。

s504、根据更新粒子速度和新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率。

s505、判断迭代次数是否达到迭代阈值。

本步骤不对迭代阈值进行限定,用户可根据实际需求进行设置,例如50、80、100、120、150、180、200中的任一值,当然,也可以是其他自定义数值,值得注意的是,本实施例当存在连续的相同维度下的更新粒子速度是最大值的次数超过预设次数时,并将相同维度命名为目标维度,将将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数;根据更新粒子速度和新的更新粒子位置进行迭代计算,实现了根据更新速度值对粒子位置进行重新调整,实现对粒子布局的自适应调整,减少了不必要的迭代,提高收敛速度,因此,可以将迭代阈值设置较小,因此,能够有效的减少能耗。

s506、若达到迭代阈值,则迭代停止。

基于上述技术方案,本实施例通过迭代次数达到迭代阈值,停止迭代此时,获取光伏多峰到的全局最大功率。

本实施例提供一种具体的光伏的多峰值最大功率追踪方法,包括:

s1、输入光伏数据,有光伏组串电压vpv和电流ipv,然后计算ppv=vpv×ipv,ppv为光伏组串功率值。

s2、初始化算法基本参数,其中粒子初始位置为voc为光伏组串开路电压,n为光伏组件个数,最大迭代次数为nmax。

s3、确定自适应学习因子,由于学习因子是调整粒子向极值移动的比重,采用线性自适应方式,按下面公式进行:

c1=1.5+0.01×nc;

c2=2.5-0.01×nc;

式中,c1、c2为学习因子,其中,c1为粒子向局部极值移动的比重,c2为粒子向全局极值移动的比重,nc为每次迭代的次数即迭代次数。

s4、确定自适应惯性权重wnc,由于惯性权重wnc是算法中非常重要的参数,关系到收敛速度和追踪精度,在算法迭代初期采用自适应线性方式(替换次数为0时),按下面公式进行:

wnc=1.5+0.01×nc;nc为迭代次数。

s5、更新粒子速度和位置,是指获得下次迭代的粒子新速度和粒子电压的新位置,即得到更新粒子速度和新的更新粒子位置,按下面公式进行更新:

vnc+1=wnc×vnc+c1×r1×(ppbestnc-vmnc)+c2×r2×(gpbestnc-vmnc);

vmnc+1=vmnc+vnc+1;

其中,vnc+1是下次迭代的粒子电压向最优解移动的速度,为更新粒子速度;

wnc是当前迭代的惯性权重因子;

vnc是当前粒子速度,即当前迭代的粒子电压向最优解移动的速度;

c1和c2是学习因子;

r1和r2是0到1内的随机数;

ppbestnc是当前迭代局部最优值即当前局部最优值;

vmnc是当前粒子电压位置;

gpbestnc是当前迭代全局最优值即当前全局最优值;

vmnc+1是下次迭代的粒子电压位置,为更新粒子位置;

s6、获取粒子电压的适应值,是指根据当前粒子电压vmnc和每次迭代后得到的更新粒子速度vnc+1通过getpower[vpv,ppv]获取对应的功率值,即根据更新粒子位置确定各粒子的适应度值;其中,getpower[vpv,ppv]是电流传感器、电压传感器实时得到的数值,进而能够得到对应的功率值,进一步的,可以将数值存储在内存中,以便查看和提取。

将n维粒子电压vmnc对应的功率值pmnc进行比较,得到当前迭代全局最大功率值gpbestnc即当前全局最优值;将n维粒子电压vmnc和vmnc+vnc+1对应的pmnc和pmnc+1进行比较,得到当前迭代局部最大功率值ppbestnc即当前局部最优值。

s7:更新粒子的局部最优值与全局最优值,是将当前迭代比较后的局部最优值ppbestnc和全局最优值gpbestnc,与上次迭代的局部最优值ppbestnc-1和全局最优值gpbestnc-1进行比较,取大值者,替换掉原来较小值。

s8:调整粒子布局,即获取同一迭代次数下的更新粒子速度的最大值;判断连续的相同维度下的更新粒子速度是最大值的次数是否超过预设次数;若超过预设次数,则将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的各个最大值替换为同一迭代次数下的次值,获取各个更新粒子速度,记录替换次数;根据更新粒子速度和新的更新粒子位置进行迭代计算。调整粒子布局也可以是指根据每次迭代计算出的vnc+1进行判断,如果n维的vnc+1内部某一维数据出现连续都是最大值,那么将最大值的粒子电压用较小值的粒子电压来代替,随着算法继续迭代执行s3-s7,继续判断和替换,直到替换次数t等于n-1,不再替换,n为光伏组数。

其中,当替换次数为0时,按照s4确定自适应惯性权重wnc;

替换次数不为0时,调整自适应惯性权重wnc,是指每调整一次粒子布局后,需要调整自适应惯性权重wnc,调整公式按如下进行:

wnc=(-0.175×t2+0.425×t+1.225)+0.01×nc;

s10:判断全局最大功率的数值的精度是否达到预设精度,若达到预设精度,则迭代停止。终止条件公式进行如下:

式中,vm(nc+1)t为粒子布局调整t次后求得的最优解,vmnc+1为粒子电压寻找到的n维最优解,roundn(x,-2)为取数据x,使其精确到小数点后2位。

s11:输出全局最大功率,是指当满足迭代终止条件时,根据getpower[vm(nc+1)t,ppv]获取全局最优值ppvmax,为实际光伏多峰最大功率点,输出该追踪到的最大功率点。

进一步的,图6为本申请实施例提供的提供光伏组串中光伏组件的三种遮挡情形,图7为本申请实施例提供的三种遮挡情形下光伏组串输出特性曲线;图8为本申请实施例提供的遮挡情形1下粒子群算法改进前后结果对比图;图9为本申请实施例提供的遮挡情形2下粒子群算法改进前后结果对比图;图10为本申请实施例提供的遮挡情形3下粒子群算法改进前后结果对比图。

如图6所示,为了更好地展现光伏组串多峰最大功率点及出现在不同位置,将1个光伏组串采用5块320w光伏组件串联组成。在标准条件下,光伏组件电参数为开路电压uoc=40.8v,短路电流isc=10.05a,最大功率点工作电压um=33.48v,最大功率点工作电流为im=9.56a。在遮挡情况1,2,3下,光伏组件接收到光照分别为[1000,900,300,200,100],[1000,900,800,500,400],[1000,900,800,700,600]。如图7所示,在遮挡情况1,2,3下,光伏组串输出特性曲线呈现多峰状,实际的最大功率点分别出现在左边,中间和右边。

为了验证改进粒子群算法的优势,本文采用基本粒子群算法和改进粒子群算法分别在三种不同遮挡下情况进行追踪效果比较。基本粒子群算法粒子数为5,c1=2,c2=2,w=0.2,最大迭代次数200。改进粒子群算法采用上述方法进行。

遮挡情况1:

在遮挡模式情况1下,光伏组串的实际最大输出功率点位置在[61.93v,575.7477w]。基本粒子群即基本pso算法mppt和改进粒子群算法即改进pso算法mppt追踪结果如图8,可以看出2种算法都找到了实际最大功率点,但是基本粒子群算法经过40次迭代,改进粒子群算法通过24次迭代,迭代次数减少40%,同时改进算法过程中功率震荡较小,减少了功率损耗。

遮挡情况2:

在遮挡模式情况2下,光伏组串的实际最大输出功率点位置在[92.91v,771.6861w]。基本粒子群和改进粒子群算法追踪结果如图9,可以看出2种算法都找到了实际最大功率点,但是基本粒子群算法经过42次迭代,改进粒子群算法通过22次迭代,迭代次数减少48%,同时改进算法过程中功率震荡较明显减小,从而较明显地减少了功率损耗。

遮挡情况3:

在遮挡模式情况3下,光伏组串的实际最大输出功率点位置在[155.01v,961.6814w],基本粒子群和改进粒子群算法追踪结果如图10,改进粒子群算法通过67次迭代获得最大功率点为961.6814w,而基本粒子群算法经过71次迭代获得最大功率点为915.0036w,已经陷入局部最优值。经过多次试验发现,如果自适应权重因子不跟随粒子电压布局进行调整,算法也会陷入局部最优值或追踪到的最大功率点精度不高。

可知,对学习因子c1和c2采用线性自适应方式,c1随着迭代次数的增加,逐渐增大,加快局部搜索速度;随着迭代次数的增加,越来越接近最优值,此时c2逐渐减小,减慢全局搜索速度,有利于寻找到最优值,采用线性自适应方式还可以减少迭代功率跨度过大。进一步,对粒子布局进行自适应调整,根据放置粒子电压初始位置特点和每次迭代计算后的新速度值,对粒子位置进行调整,减少不必的搜索代价。进一步,调整自适应惯性权重wnc,首先惯性权重值采用线性自适应方式,随着迭代的增加逐渐减少,可以提升收敛速度,但是光伏多峰最大功率点主要体现在左,中,右三个位置,如果惯性权重仅用线性自适应方式,容易使算法陷入局部最优值或者结果精度不高,因此在每次粒子布局调整后,采用新的更小的自适应惯性权重,不仅可以提高收敛速度,还可以提高算法精度,避免陷入局部最优值。

下面对本申请实施例提供的一种光伏的多峰值最大功率追踪装置进行介绍,下文描述的光伏的多峰值最大功率追踪装置与上文描述的光伏的多峰值最大功率追踪方法可相互对应参照,参考图11,图11为本申请实施例所提供的一种光伏的多峰值最大功率追踪装置的结构示意图,包括:

获取模块10,用于获取同一迭代次数下的更新粒子速度的绝对值的最大值;

第一判断模块20,用于判断连续的相同维度下的更新粒子速度的绝对值是最大值的次数是否超过预设次数;

替换模块30,用于若超过预设次数,则将相同维度命名为目标维度,将目标维度下的连续的最大值的次数超过预设次数的对应的更新粒子位置替换为同一迭代次数下的次值对应的更新粒子位置,获取新的更新粒子位置,并记录替换次数;

迭代模块40,用于根据更新粒子速度和新的更新粒子位置进行迭代计算,获取局部最大功率和全局最大功率,直至迭代停止。

在一些具体的实施例中,还包括:

第二判断模块,用于判断替换次数是否达到预设阈值;

执行模块,用于若达到预设阈值,则执行根据更新粒子速度和新的更新粒子位置进行迭代计算的步骤;若未达到预设阈值,则执行获取同一迭代次数下的更新粒子速度的最大值的步骤;

其中,预设阈值是n-1,n为光伏组件个数。

在一些具体的实施例中,迭代模块40包括:

获取单元,用于获取局部最大功率和全局最大功率;

判断单元,用于判断全局最大功率的数值的精度是否达到预设精度;

执行单元,用于若达到预设精度,则迭代停止。

在一些具体的实施例中,迭代模块40包括:

获取单元,用于获取局部最大功率和全局最大功率;

判断单元,用于判断迭代次数是否达到迭代阈值;

执行单元,用于若达到迭代阈值,则迭代停止。

在一些具体的实施例中,迭代模块40包括:

第一更新单元,用于根据当前全局最优值、当前局部最优值、学习因子、惯性权重更新粒子速度和粒子位置,得到更新粒子速度和新的更新粒子位置;

确定单元,用于根据更新粒子位置得到各个粒子适应度值;

第二更新单元,用于根据各个粒子局部最优值对应的粒子适应度值和各个粒子适应度值,更新各个粒子的局部最优值和全局最优值。

在一些具体的实施例中,第一更新单元包括:

确定子单元,用于学习因子根据c1=1.5+0.01×nc,c2=2.5-0.01×nc确定;

其中,c1、c2为学习因子,nc为迭代次数。

在一些具体的实施例中,第一更新单元包括:

惯性权重确定子单元,用于当替换次数为零时,惯性权重根据wnc=1.5+0.01×nc确定;

其中,wnc为惯性权重,nc为迭代次数。

在一些具体的实施例中,第一更新单元包括:

惯性权重确定子单元,用于当替换次数不为零时,惯性权重根据wnc=(-0.175×t2+0.425×t+1.225)+0.01×nc确定;

其中,wnc为惯性权重,nc为迭代次数,t为替换次数。

由于光伏的多峰值最大功率追踪装置部分的实施例与光伏的多峰值最大功率追踪方法部分的实施例相互对应,因此光伏的多峰值最大功率追踪装置部分的实施例请参见光伏的多峰值最大功率追踪方法部分的实施例的描述,这里暂不赘述。

下面对本申请实施例提供的一种电子设备进行介绍,下文描述的电子设备与上文描述的光伏的多峰值最大功率追踪方法可相互对应参照。

本实施例提供一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述光伏的多峰值最大功率追踪方法的步骤。

由于电子设备部分的实施例与光伏的多峰值最大功率追踪方法部分的实施例相互对应,因此电子设备部分的实施例请参见光伏的多峰值最大功率追踪方法部分的实施例的描述,这里暂不赘述。

下面对本申请实施例提供的一种计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的光伏的多峰值最大功率追踪方法可相互对应参照。

本实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述光伏的多峰值最大功率追踪方法的步骤。

由于计算机可读存储介质部分的实施例与光伏的多峰值最大功率追踪方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见光伏的多峰值最大功率追踪方法部分的实施例的描述,这里暂不赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种光伏的多峰值最大功率追踪方法、光伏的多峰值最大功率追踪装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1