基于飞蛾扑火算法的光伏阵列MPPT控制方法与流程

文档序号:15462059发布日期:2018-09-18 18:24阅读:997来源:国知局

本发明涉及光伏发电工程技术领域,特别是涉及一种最大功率点追踪方法。



背景技术:

日益紧张的能源供需矛盾和环境压力等要求可再生清洁能源应该在未来能源体系中承担主要能源供给任务。欧盟,美国和中国相继分别提出2050年实现可再生能源在能源供给中占100%,80%和60%~70%的目标。在各种可再生能源中,太阳能作为一种可再生、储量无限的清洁能源,具有十分广阔的发展前景。为了高效地利用太阳能进行光伏发电,最大功率点追踪(maximumpowerpointtracking,MPPT)技术不可或缺。

局部遮蔽情况下光伏电池的输出特性曲线上将出现多峰,传统的MPPT算法如扰动观察法和电导增量法等结构简单但可能会陷入局部极值。而智能算法(如粒子群算法、萤火虫算法、布谷鸟算法、灰狼优化算法等)虽然能实现多峰状况下的最大功率点跟踪,但由于其追踪时间过长,将造成一定的能量损失。

MPPT控制的本质是如何快速准确地找到全局最大功率点,可通过进化算法来实现。飞蛾扑火算法是在2016年提出的一种新型智能算法,由于其特殊的结构,该算法不仅可以避免陷入局部极值,而且由于在迭代过程中自适应调整了火焰数量,飞蛾扑火算法在前期注重全局搜索的同时在后期也能注重局部搜索。因此飞蛾扑火算法在非线性曲线寻优上具有很大的优势,可以十分简单有效地找到最优解。并且已经在太阳能电池三-二极管模型的参数选择、训练多层感知器、潮流计算等许多领域展现出令人满意的性能。



技术实现要素:

本发明的目的是提供一种基于飞蛾扑火算法的光伏阵列MPPT控制方法,该跟踪方法能够兼具追踪速度和追踪效率。具体技术方案如下:

一种基于飞蛾扑火算法的光伏阵列MPPT控制方法,包括下列步骤:

1)在占空比[0,1]内选取k个点,作为飞蛾初始空间位置Xi(0);

2)待光伏系统稳定后,测量光伏阵列的输出电流IPV和输出电压VPV,并计算对应的功率Pi(n),n表示当前迭代次数。

3)对所述Pi(n)进行排序;

4)评估每只飞蛾对应的适应度值,并将飞蛾空间位置以适应度值递减的顺序排序后赋值给火焰,作为火焰的空间位置;

5)在迭代过程中自适应减少火焰的数量,所述自适应减少火焰数量的公式如下:flame number=round(N-n*(N-1)/T)式中:N是最大火焰数;T表示最大迭代次数,同时,由于火焰的减少,每一代中与序列中所减少的火焰所对应的飞蛾则根据当前适应度值最差的火焰更新其自身位置;

6)依据螺旋方程Mi=Di·ebt·cos(2πt)+Fj确定迭代n+1次的飞蛾的空间位置Xi(n+1),其中Mi表示第i只飞蛾的空间位置;Fj表示第j个火焰,Di=|Fj-Mi|,Di表示第i只飞蛾与第j个火焰之间的距离;b为所定义的螺旋形状常数;路径系数t为[r,1]内的随机数,其中变量r在优化迭代过程中将从-1线性减少为-2;

7)进入下一代,直至迭代次数满足收敛条件后,令占空比稳定在全局最优位置上;

8)检测外部环境是否发生突变,发生突变则重新进行MPPT,否则继续稳定在全局最优占空比上。

附图说明

图1本发明适用的Boost电路的最大功率点追踪系统。

图2本发明的控制流程图。

具体实施方式

为了跟踪复杂情况下的全局最大功率点,本发明提出一种基于飞蛾扑火算法(moth-flame optimization,MFO)的控制方法。作为一种新型启发式智能优化算法,飞蛾扑火算法是首次被引入到MPPT技术中。由于特殊的算法结构,MFO算法不但具有高度的多元化可避免陷入局部极值,而且由于在迭代过程中自适应调整了火焰数量,在前期注重全局搜索的同时在后期也能注重局部搜索。采用本方法和系统可以更加快速准确地找寻到光伏系统中的最大功率点。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。本发明使用如图1所示的Boost电路的最大功率点追踪系统,光伏阵列采用4×1光伏阵列,开关频率f=50kHz,C1=100μF,L=0.5mH,C2=100μF,Rload=40Ω。所述算法流程图如图2所示,具体方案如下:

本发明采用直接占空比控制方式,在占空比[0,1]内选取k个点,作为飞蛾的初始空间位置Xi(0);

待光伏系统稳定后,测量光伏阵列的输出电流IPV和输出电压VPV,并计算对应的功率Pi(n),n表示当前迭代次数;

对所述Pi(n)进行排序;

评估每只飞蛾对应的适应度值,并将飞蛾空间位置以适应度值递减的顺序排序后赋值给火焰,作为火焰的空间位置;

若k只飞蛾每一次的空间位置更新均基于搜索空间中k个不同的空间位置,则会降低算法的局部开发能力。为了解决这个问题,针对火焰的数量提出了一种自适应机制,使得在迭代过程中火焰的数量可以自适应地减少,从而平衡了算法在搜索空间中的全局搜索能力与局部开发能力,所述自适应减少火焰数量的公式如下:flame number=round(N-n*(N-1)/T),式中:N是最大火焰数;T表示最大迭代次数。同时,由于火焰的减少,每一代中与序列中所减少的火焰所对应的飞蛾则根据当前适应度值最差的火焰更新其自身位置。

依据螺旋方程Mi=Di·ebt·cos(2πt)+Fj确定迭代n+1次的飞蛾的空间位置Xi(n+1),其中Mi表示第i只飞蛾;Di=|Fj-Mi|,Fj表示第j个火焰,Di表示第i只飞蛾与第j个火焰之间的距离;b为所定义的螺旋形状常数;路径系数t为[r,1]内的随机数,其中变量r在优化迭代过程中将从-1线性减少为-2。螺旋方程中系数t表示飞蛾下一个位置与火焰接近的距离(t=-2表示与火焰最近的位置,而t=1表示最远的位置)。螺旋方程使得飞蛾可以环绕在火焰的周围而不仅仅是在它们之间的空间飞行,从而保障了算法的全局搜索能力与局部开发能力;

进入下一代,直至迭代次数满足收敛条件后,令占空比稳定在全局最优位置上。

检测外部环境是否发生突变,发生突变则重新进行MPPT,否则继续稳定在全局最优占空比上。

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