魏立明,吴扬昀
(吉林建筑大学电气与计算机学院,吉林长春 130118)
光伏发电是新能源发电领域中的研究热点,但目前光伏电池易受外界环境影响,无法最大效率地利用太阳能发电,因此最大功率点追踪(MPPT)技术显得尤为关键[1]。在理想条件下,外界环境处于均匀光照情况,光伏阵列P-U曲线呈单峰状态,常规的MPPT 算法诸如扰动观察法、电导增量法即可实现最大功率点跟踪,但实际情况中光伏阵列易受到遮挡,从而使光伏P-U曲线呈多峰状态,因此在复杂光照条件下需采用人工智能算法取代传统算法实现最大功率点跟踪。
文献[2]将细菌觅食法与传统扰动观察法进行MPPT 仿真对比,验证了局部阴影情况下细菌觅食法具有更良好的全局搜索能力。文献[3]指出粒子群算法的搜索能力很大程度上依赖于参数选择,容易陷入局部最优解,相对而言,细菌觅食法能够更好地权衡局部搜索和全局搜索能力。文献[4]采用智能探寻游动细菌觅食算法进行光伏阵列最大功率点跟踪,使细菌能够提前探测下一位置的适应度大小,提高了算法的平稳性。文献[5]针对传统细菌觅食法进行改进,提出根据细菌觅食程度自适应在线调整移动步长与驱散概率,仿真结果表明改进算法追踪效率更高。
本文以细菌觅食法为研究对象,在传统算法的基础上提出了一种自适应细菌觅食法,并在算法迭代的终止条件中引入了牛顿插值法,Simulink 建模仿真测试结果表明:在局部阴影条件下,改进算法具有更佳的收敛速度和全局寻优能力。
光伏阵列是由众多光伏组件通过串并联组成的,每个光伏组件相当于一个非线性直流源,具体的光伏组件等效电路图如图1 所示。
图1 光伏组件等效电路图
根据基尔霍夫电流定律可知,单体光伏组件的输出电流可表示为[6]:
式中:Iph表示光生电流;I0表示等效二极管反向饱和电流;q表示单位电荷量;n表示二极管特性因子;k表示玻尔兹曼常数;T表示温度;Rsh表示等效并联电阻;Rs表示等效串联电阻;V、I分别为光伏组件的输出电压和输出电流。其中,Rsh阻值近似为无穷大,Rs阻值非常小可忽略不计,因此式(1)可简化[7]为:
光伏阵列在局部阴影情况下,P-U输出曲线呈多峰状态,以3×1 串联式光伏阵列为例,在Simulink 搭建模型。在标准测试条件(光强1 000 W/m2,温度25 ℃)下,该组件开路电压Uoc为21.5 V,短路电流Isc为9.7 A,峰值电压Um为17.5 V,峰值电流Im为8.58 A。图2 为3×1 串联式光伏阵列的模块封装图。
图2 3×1串联式光伏阵列模块
设置了两种光照分布类型,第一种类型为光强分别为1 000、800、600 W/m2,第二种类型光强分别为500、400、300 W/m2。在两种阴影分布情况下,光伏阵列的P-U输出曲线如图3 所示。
图3 3×1串联式光伏阵列P-U 曲线
在初始状态,细菌种群中所有个体被自由分散在各个位置,通过趋化、繁衍以及迁徙三大运动方式,不断更新种群中个体的最优值,并淘汰适应度较差的个体[8-10]。当细菌觅食算法应用于复杂光照下光伏阵列多峰最大功率点追踪时,每个细菌位置标记为不同的输出电压点,而细菌的适应度即为对应的输出功率,最终通过算法迭代找到函数最优解。
然而,传统算法中的公式参数固定,趋化及迁徙操作僵硬,使得算法的全局搜索能力下降。同时,当细菌个体接近全局最优点时,由于缺乏合适的算法终止条件,使得跟踪的精度不高[11-12]。基于传统算法存在的不足,对原算法的趋化步长公式及迁徙概率公式进行改进,并结合牛顿插值法对算法终止条件进行改良。
2.2.1 趋化步长
在细菌觅食过程中,趋化步长值的选取对细菌个体前期的搜索能力有较大影响。在原算法中,细菌趋化公式可表述为:
式中:θi表示细菌实时位置;j、k、l分别表示细菌趋化次数、复制次数、迁徙次数;C(i)表示细菌移动步长;ω(i)表示细菌移动方向。传统算法中,趋化步长公式参数固定,若取值较大,虽然提高了细菌个体的搜索速度,但容易导致在最优值附近来回振荡,降低跟踪稳定性;若取值较小,在提高稳定性的同时也降低了搜索速度。对原算法的趋化步长公式进行改进,改进步长公式如式(5)所示:
式中:j表示当前迭代次数;m表示总迭代次数;C(min)表示步长最小值;C(max)表示步长最大值。由自适应改进步长公式可得出,在算法搜索前期,细菌个体趋化步长值较大,可在远离最优值的区域内增加跟踪速度,当细菌个体趋近于最优值时,可自动采用小步长提高跟踪精度。
2.2.2 迁徙概率
在传统算法中,所有细菌个体的迁徙概率均为一致,导致优良个体和劣等个体以同等几率进行迁徙操作,使得算法的搜索精度大幅度降低。对原算法的迁徙概率公式进行改进,式(6)为改进概率公式:
式中:Ped表示初始迁徙概率;Fi表示第i个细菌的适应度;Fmax表示所有细菌个体中的最大适应度值;Pi表示第i个细菌的迁徙概率。由式(6)可知,适应性越差的个体,其迁徙概率值越大,适应性越强的个体,其迁徙概率值越小,保证了种群进化方向的优良性,使得细菌个体不断趋向于全局最优解。
细菌种群通过不断趋化、复制、迁徙后,已接近最优解,此时需设立合理的终止条件。在传统细菌觅食法中,算法终止条件为每迭代一次,即对所有细菌个体的适应度进行降序排序,当第1 个细菌和第n个细菌之间输出功率误差小于阈值ε 时,即认为当前系统已找到最大功率点。然而,传统的终止条件容易导致算法迭代时间过久,使得系统不稳定,因此对全局最优点两侧进行采样,并采用牛顿插值法进行曲线拟合,根据抛物线极值公式求出最大功率点,有效避免了算法迭代次数过多引起的系统振荡[13]。
在外界温度、光强不变的情况下,光伏系统P-U输出曲线表现为开口向下的抛物线,其中临近最大功率点的曲线段部分表现为一元二次函数特征,可通过x=-b/(2a)计算出最大功率点电压值。在最大功率点左右两侧选取三个电压采样点S0(U0,P0)、S1(U1,P1)、S2(U2,P2),其中三个采样点需满足一定条件,式(7)为约束条件:
由式(7)可知,加上约束条件后的三个采样点可保证其分布于最大功率点两侧,并作为牛顿插值样本点来拟合曲线。当细菌迁徙迭代次数趋向饱和时,可认为当前工作点已位于最大功率点附近,此时从细菌种群中筛选出符合上述规律的三个个体,分别记为S0[x0,f(x0)]、S1[x1,f(x1)]、S2[x2,f(x2)],则牛顿插值多项式可表示为[14-15]:
式(8)可表示成一元二次多项式:
通过对三个样本插值点S0[x0,f(x0)]、S1[x1,f(x1)]、S2[x2,f(x2)]进行输出电压和输出功率采集,其对应函数关系如式(10)~(12)所示:
将x0、x1、x2以及f(x0)、f(x1)、f(x2)代入a、b、c的表达式中,即可求出a、b、c的解,通过极值求解公式x=-b/(2a)求出当前最大功率点电压。由此可见,在细菌觅食算法的终止条件中引入牛顿插值法后,可防止多次迭代造成系统振荡,跟踪稳定性和跟踪精度都得到了有效的提升。
使用自适应细菌觅食法进行光伏阵列最大功率点跟踪时,每个细菌的位置记为光伏阵列输出电压值,细菌的适应度为光伏阵列输出功率值,算法的基本步骤为:
(1)初始化各个参数,包括种群大小n,最大趋化次数m,最大复制次数p,最大迁徙次数q以及细菌趋化最大步长值C(max),最小步长值C(min),细菌初始迁徙概率Ped;
(2)若当前趋化次数j<m,则进行趋化循环,每循环一次,当前迭代次数更新为j=j+1,并且继续判断j是否小于m,若结果为是,则继续执行步骤(2),若结果为否,则执行步骤(3);
(3)若当前复制次数k<p,则进行复制循环,每循环一次,当前迭代次数更新为k=k+1,并且继续判断k是否小于p,若结果为是,则继续执行步骤(3),若结果为否,则执行步骤(4),按照细菌适应度从大到小的顺序进行排序,筛选出前1/2 的个体进行繁殖,同时淘汰后1/2 的个体;
(4)若当前迁徙次数l<q,则进行迁徙循环,每循环一次,当前迭代次数更新为l=l+1,并且继续判断l是否小于q,若结果为是,则继续执行步骤(4),若结果为否,则执行步骤(5);
(5)当细菌种群执行完趋化、复制、迁徙一系列操作后,选取全局最优点两侧的三个采样点,使用牛顿插值法直接计算出最大功率点电压并终止程序。
图4 为改进自适应细菌觅食算法的流程图。
图4 改进算法流程图
此外,当外界光照强度发生剧烈变化时,需设立算法重启条件对新的全局最优点进行跟踪。一般地,细菌觅食法重启判断公式为:
式中:ε 为阈值,设为0.1;Preal为光伏阵列实际输出功率;Pmax为光伏阵列最大输出功率。当系统指标达到最低阈值时,表明外界阴影分布情况发生较大改变,此时将自动重启算法进行最大功率点追踪。
在Matlab/Simulink 里搭建Boost 电路模型,如图5 所示。设置电感L为11 mH,滤波电容C1为300 μF、滤波电容C2为100 μF,外接负载阻值为50 Ω,同时设定脉冲宽度调制(PWM)波频率为30 kHz。细菌觅食法参数选取为:种群数量n=6,最大趋化次数m=5,最大复制次数p=4,最大迁徙次数q=3,初始迁徙概率Ped=0.75,最大趋化步长值C(max)=1,最小趋化步长值C(min)=0.3,其中传统细菌觅食法固定趋化步长值以C(max)=1 为准,固定迁徙概率值统一取Ped=0.75。此次仿真试验中,分别在静态阴影和动态阴影两种情况下对其进行仿真及分析。
图5 Boost电路仿真模型
在阴影分布类型一且温度为25 ℃的外界条件下依次对传统细菌觅食法、自适应细菌觅食法、自适应细菌觅食结合牛顿插值算法进行MPPT 仿真,得到三种算法的功率跟踪波形图如图6~8 所示。
图6 阴影分布类型一条件下传统细菌觅食法
图8 阴影分布类型一条件下改进自适应细菌觅食法
由图6~8 可知,自适应细菌觅食法相较于传统细菌觅食法,其跟踪波形更加平稳,稳态振荡率较小,且追踪用时不到0.04 s,输出功率约为297.7 W。而传统细菌觅食法在0.06 s后才找到最大功率点,在临近最大功率点时存在较大的功率波动,输出功率约为295.4 W。这是由于跟踪前期细菌个体的趋化步长值固定,致使细菌个体无法根据当前环境自适应调整步长值大小,而在算法跟踪后期,部分优等个体与劣等个体以同等几率转移至其余可行空间进行最优解搜索,使得算法整体跟踪效率下降。改进自适应细菌觅食算法仅用0.01~0.02 s 便追踪到最大功率点,且跟踪稳定性明显优于前两种算法,最优输出功率为300 W,跟踪精度最高。这是由于在算法跟踪后期使用牛顿插值法直接计算出最大功率点电压,可避免算法多次迭代引起的高频率振荡,减小系统能量损失,同时提高了搜索精度。
由于在实际环境中,光照强度一直处于变化过程,因此需要对动态阴影分布下的MPPT 算法进行跟踪效果对比。在此仿真过程中设置光伏阵列所处环境由阴影分布类型一转变至阴影分布类型二,由图3 可知,光伏阵列的全局峰值功率由300 W 变成150 W。对光照突变情况下的三个算法进行MPPT 仿真对比,仿真结果如图9~11 所示。
图9 光照突变情况下传统细菌觅食法
图10 光照突变情况下自适应细菌觅食法
图11 光照突变情况下改进自适应细菌觅食法
由图9~11 可知,当外界环境处于动态阴影分布时,自适应细菌觅食法相较于传统细菌觅食法,收敛速度和稳定性都得到了显著提升。自适应细菌觅食法在光强突变后快速收敛并稳定于148.5 W 左右,波形振荡相对较小,而传统细菌觅食法由于缺乏合适的步长调整系数以及灵活的迁徙概率,跟踪波形在经过0.04 s 后才趋向于最大功率点,且存在较剧烈的功率振荡,最终输出功率约为147.3 W。改进自适应细菌觅食算法的收敛速度、稳定性和搜索精度均明显优于其他两种算法,其最终输出功率为150 W。因此,在外界环境复杂多变时,复合算法具有更优的动态响应能力。
针对复杂光照下光伏阵列P-U曲线呈多峰状态的现象,本文在原有细菌觅食法的基础上,提出一种自适应细菌觅食算法。Simulink 仿真测试结果表明,在动态阴影分布和静态阴影下,自适应细菌觅食法相较于传统细菌觅食法,均能够更快、更稳地找到最大功率点。为了进一步提高算法在临近最大功率点时的搜索精度,在自适应细菌觅食法的终止条件中引入牛顿插值法并提出一种复合算法,通过MPPT 仿真测试可以得出,在动态阴影分布和静态阴影分布下,相较于前两种算法,复合算法收敛速度更快,稳态振荡率更低,且实际追踪到的最大功率点误差很小。