改进乌鸦算法的光伏阵列MPPT研究
2021-07-29袁建华何宝林赵子玮
袁建华,何宝林,赵子玮,李 尚,刘 宇
(三峡大学电气与新能源学院,湖北宜昌 443000)
当前,传统化石能源对环境破坏日益严重,而太阳能有洁净、广泛、长久、可再生的特点,得到了广泛利用。但光伏发电受外界影响因数较大,为了使光伏输出功率最大,需要跟踪光伏发电的最大功率点[1]。
最大功率追踪(maximum power point tracking,MPPT)技术是提高光伏系统发电效率的关键技术[2]。当光照均匀时,光伏阵列的P-U曲线只存在一个最大功率峰值点,许多传统方法如扰动观察法、恒定电压法、电导增量法等方法能有效地跟踪到该点[3]。在实际工作过程中,因云层移动与建筑物遮挡等因素使光伏阵列出现局部遮阴的现象,此时光伏阵列的P-U曲线存在多个峰值点,常规的MPPT 算法容易陷入局部极值而导致算法失效[4-5]。针对多峰最大功率追踪问题,学者们对传统MPPT 算法进行改进以及对群体智能优化算法进行了研究。文献[6]在常规扰动观察法(P&O)的基础上加以改进,提出一种滞环比较和面积差结合的变步长算法,能够快速跟踪最大功率点。文献[7]采用粒子群算法(PSO)与扰动观测法结合的算法,能有效缩短达到稳定的时间。文献[8]采用猫群算法与混沌搜索算法相结合,解决猫群算法“早熟”问题。文献[9]模拟布谷鸟寄生育雏行为和莱茵飞行机制,提出布谷鸟搜索算法,具有较高的搜索精度。文献[10]将差分算法和蜂群算法相结合,提高收敛速度。但上述算法存在调节参数多、算法复杂、振荡幅度大的问题。
乌鸦算法(crow search algorithm,CSA)是由Askarzadeh[11]提出的一种新型元启发式智能算法,它通过仿生乌鸦觅食过程中互相窃取与反窃取食物的行为。相较于其他智能算法,CSA 算法结构简单,该算法中仅有两个可调节参数,分别为感知概率(awareness probability,AP)和飞行长度(flight length,FL)。该算法已应用于工程优化设计、图像分割等实际优化问题中。为避免乌鸦初始种群过于聚集,增加乌鸦算法全局寻优能力,在原有乌鸦算法的基础上,提出基于反向学习的Tent 混沌初始化种群和采用异花授粉策略与共享机制相结合的改进算法。最后仿真结果证明,改进乌鸦算法在光伏阵列多峰MPPT 上收敛速度更快、精度更高,有效帮助跳出局部最优。
1 光伏电池特性
1.1 光伏电池的数学模型
光伏电池是由许多pn 结半导体组成,将光能转化成电能,对光伏电池进行建模,其电路图如图1 所示。
图1 光伏电池等效电路图
输出特性方程为:
式中:IL为输出电流;Iph为光生电流;ID为二极管电流;Ior为标准条件下的饱和电流;ISC为光伏电池在标准温度和光照强度下的短路电流;RS和Rh分别为等效串联和等效并联电阻;q为电荷电量1.6×10-19C;K为波尔兹曼系数,1.38×10-23J/K;A为理想因子,取值为1;θ 为电池表面温度;θr为标准工作环境温度;UOC为开路电压;Kt为短路电流的温度系数;G为光照强度系数。
1.2 光伏阵列遮阴时的特性分析
由于式(1)中参数Iph、ID、Rh、A受光照强度和温度的影响,对其进行工程推导:
通常情况下,Rh值很大,RS值很小,计算时可以忽略不计。根据式(1)~(2)推导得到适合工程计算的光伏电池数学模型:
式中:Um、Im分别为最大功率点电压、最大功率点电流;C1、C2均为中间变量。
光伏阵列由多个光伏电池串联或并联而成。当部分组件处于遮挡条件下,会产生“热斑效应”,造成功率损失。为减轻影响,光伏组件采用并联旁路二极管。当处于均匀光照时,光伏阵列正常工作,旁路二极管反向截止;当光伏阵列被遮挡时,旁路二极管导通使光伏单元短路,防止其被电流击穿。本文采用3 个光伏电池串联的阵列模型,如图2 所示。
图2 3×1光伏阵列
为模拟光照处于均匀条件,设定单元光伏组件情况均为1 000 W/m2,其光伏组件P-U曲线如图3(蓝色)所示。为模拟光照不均匀条件,设定单元光伏组件情况分别为1 000、800、600 W/m2,其光伏组件P-U曲线如图3(红色)所示。
图3 光伏组件P-U 输出特性曲线
由图3 可知,在均匀光照条件下,光伏阵列P-U输出特性曲线会出现一个最大值,该点为光伏系统的最大功率点;当光伏阵列局部阴影遮挡时,P-U曲线会出现几个局部最大值,光伏系统的最大功率点由局部最大值组成。
2 基本乌鸦算法
乌鸦是一种智慧的群居鸟类,当它们将多余的食物藏起来,藏匿位置称为记忆值(memory),在需要时回忆位置;当跟踪并窃取其他乌鸦食物时,而被跟踪的乌鸦则会有一定的感知概率(AP),通过随机空间方位移动来保护食物。
乌鸦搜索算法的基本过程如下:在一个D维的空间中生成大小为N的乌鸦群体:
式中:i为第i只乌鸦;p为当前迭代次数;pmax为最大迭代次数;称作记忆位置,本质是第i只乌鸦的最优位置。乌鸦i跟随并接近乌鸦j的隐藏位置。此时,可能会出现以下两种情况:
(1)乌鸦j不知道乌鸦i在跟踪它,此时得到乌鸦i的新位置如下:
(2)乌鸦j知道乌鸦i在跟踪它,为保护它的食物不被窃取,通过在搜索空间随机游走欺骗乌鸦i。
根据情况1 与情况2,乌鸦的位置更新为:
式中:rj为区间[0,1]之间的随机数;APj,iter为乌鸦j在第iter次迭代后的感知概率AP;fli,iter为第i只乌鸦在iter次循环时的飞行距离。
3 改进乌鸦算法在多峰值MPPT 中的应用
3.1 基于反向学习的Tent 混沌初始化策略
为了增强种群的多样性与算法全局搜索多样性,在原有乌鸦算法的基础上,采用基于反向学习的Tent 混沌初始化策略。首先利用混沌变量的遍历性、随机性和规律性,生成多样性的初始种群。然后将混沌初始种群以及反向种群进行排序选择,把适应度值高的个体作为初始种群,增强了乌鸦算法跳出局部最优的能力。
设种群规模为N,D维空间中生成混沌序列y={yd,d=1,2,…,D},yd={yid,i=1,2,…,N},Tent混沌映射函数表达式为:
最后将混沌序列映射到解空间中,得到种群X={Xi,i=1,2,…,N},Xi={Xid,d=1,2,…,D},种群个体Xid表示为:
式中:Xid为第i个种群个体的第d维码值;Xmaxd和Xmind为Xid的搜索上下界。
由种群X计算反向种群OX={OXi,i=1,2,…,N},OXi={Xid,d=1,2,…,D},反向种群个体OXid表示为:
种群X与反向种群OX合并,得到新种群。使用适应度函数计算其适应度,选取其中适应度值高的N个个体作为初始种群。
3.2 采用异花授粉策略与共享机制相结合更新乌鸦位置
传统的乌鸦算法搜索产生的位置是完全随机的,迭代收敛速度慢,容易陷入局部最优。通过改进算法中随机追踪位置更新方式,可以降低搜索盲目性,有效提高收敛速度与全局搜索能力。
花授粉算法(flower pollination algorithm,FPA)[12]是2012英国剑桥大学教授X.S.Yang 通过模拟花朵授粉行为而提出了一种新的优化算法。花朵授粉算法由自花授粉和异花授粉两部分组成,其中异花授粉服从Levy 飞行机制,既可以在全局范围内寻找最优解,也可以有效降低全局寻优的盲目性。本文在乌鸦算法rj<AP时,引入花授粉算法中的异花授粉策略。更新公式改变为:
式中:L为服从Levy 分布的随机变量;k*为当前乌鸦最优记忆值。
在乌鸦算法rj≥AP时,由于乌鸦j并不会在随机空间内游走欺骗乌鸦i,此时采用异花授粉策略时算法相比于传统乌鸦算法更为复杂,收敛速度变缓。参考粒子群算法中群体内个体通过信息共享,向最优粒子的位置进行动态调整,使算法收敛速度加快。在乌鸦更新位置时,引入共享机制。即在随机跟随另一乌鸦的同时也参考种群中最优藏食位置来进行自身更新。共享机制公式为:
式中:sm为共享机制公式;s为共享因子;mbest,iter为全局最优藏食位置。
新的位置公式为:
综上,乌鸦两种状态位置的更新公式改变为:
3.3 算法的具体步骤
步骤一:初始化参数为种群大小N,步长fl、感知概率AP、迭代次数iter、维度D;
步骤二:利用基于反向学习的Tent 混沌映射初始化乌鸦的位置和隐藏记忆值;
步骤三:评估适应度函数,选出最优记忆位置k*;
步骤四:根据感知概率AP,随机选择一只乌鸦j,如果ri大于等于感知概率AP,则乌鸦i按照下列公式更新:
否则,按照下列公式更新:
步骤五:检查新位置的可行性;
步骤六:评估新位置的适应度函数;
步骤七:更新记忆。如果乌鸦记忆位置适应度值没有新位置适应度值好,乌鸦通过新的位置更新它的记忆;
步骤八:判断当前的迭代次数是否满足要求。若满足,迭代终止,输出最优解;否则回到步骤四,直到达到itermax。
改进乌鸦算法流程图如图4 所示。
图4 基于改进乌鸦算法在多峰值MPPT研究的流程图
4 仿真分析与结果分析
在MATLAB/Simulink 中搭建仿真模型,验证ICSA 在MPPT 算法的可行性,以CSA 算法作对比。采用图5 中3×1光伏阵列搭建光伏系统模型,此时光伏阵列的开路电压为UOC=53.8 V,短路电流ISC=7.6 A。其单个光伏电池组件最大功率为301 W,MPP 处电压和电流分别为42.4 V 和7.1 A。MPPT 光伏系统框图如图5 所示。
图5 基于Boost最大功率点跟踪系统
4.1 无阴影遮挡情况下的功率追踪
当光伏阵列处于辐照强度均匀时,其P-U曲线仅有一个极值点。设定3 块光伏板的温度均为25 ℃,光照强度均为1 000 W/m2,仿真时间为2 s,此时PV 系统的最大功率Pmax=903 W。对基于ICSA 的MPPT 方法进行仿真,同时用CSA 作为对比。图6(a)为采用CSA 算法的输出功率曲线,图6(b)为采用ICSA 算法的输出功率曲线。
图6 无阴影遮挡情况下时两种算法仿真结果
由图6 可知,在无阴影遮挡情况下,基于ICSA 的MPPT方法和CSA 的MPPT 分别在0.21 和0.37 s 后追踪到MPP,最大功率分别为901.94 和900.23 W,与实际最大功率分别相差1.06 和2.77 W,误差为0.12%和0.31%。本文基于ICSA 的MPPT 收敛速度更快,精度更高。
4.2 局部阴影情况下的功率追踪
在光照强度不均时,PV 板受到的光照辐射强度不一样,此时P-U曲线存在多个极值点。在恒温阴影条件下三块光伏板的光照强度分别为1 000、800、600 W/m2,仿真时间为2 s,此时PV 列阵的最大功率为591 W。图7 为局部阴影情况下两种算法仿真结果。
图7 局部阴影情况下两种算法仿真结果
由图7 可 知,基于ICSA 的MPPT 系 统在0.25 s 追踪到MPP,最大功率为590.2 W,与实际最大功率相差0.8 W,误差为0.13%。基于CSA 的MPPT 系统在0.42 s 追踪到MPP,最大功率为589.53 W,与最大功率相差为1.47 W,误差是0.25%。所以,基于ICSA 的MPPT 收敛速度与精度更高。
4.3 变化局部阴影情况下的功率追踪
对变化光照情况下ICSA 方法的追踪仿真,设定时间t=0 s时,光照强度为:1 000、1 000、1 000 W/m2,最大功率为903 W。在t=1 s 时,光照强度为:1 000、900、800 W/m2,最大功率为762 W。最大功率点追踪输出功率曲线如图8所示。
图8 变化局部阴影情况下两种算法仿真结果
由图8 可 知,基于ICSA 的MPPT 系 统在0.21 s 追踪到MPP,输出功率为901.68 W,误差为0.14%;在t=1 s 时,光照强度发生变化,算法重启;在t=1.24 s 又追踪到MPP,输出功率为760.2 W,误差为0.24%。对于CSA 的MPPT 系统在0.38 s 追踪到MPP,输出功率为900.12 W,误差为0.32%;然后又在t=1.56 s 又追踪到MPP,输出功率为758.57 W,误差为0.44%。可知基于ICSA 的MPPT 系统在变化局部阴影情况下仍然有更高的收敛速度与精度。
由于算法存在随机性,为了使结果更加准确、充分,将两种算法分别在这三种情况下运行50 次,记录其追踪成功率、平均输出功率和时间。统计结果如表1 所示。
表1 两种算法的性能
由表1 结果可知,在这三种情况下分别运行50 次,ICSA成功率均为100%,证明了引入基于反向学习的Tent 混沌初始化策略的有效性,能够有效帮助算法跳出局部最优。同时ICSA 算法表现出了更高的追踪精度和更短的收敛时间。
5 结论
针对乌鸦算法存在易陷入局部最优和精度不高、收敛速度慢的问题,本文提出了一种基于改进乌鸦优化算法的光伏MPPT 控制方法。通过两个策略进行改善:(1)通过引入基于反向学习的Tent 混沌初始化策略增加了种群多样性,有效避免陷入局部最优解;(2)通过引入异花授粉策略与共享机制相结合更新乌鸦位置,提高了算法搜索的精度和收敛速度。仿真和实验结果证明,改进乌鸦算法在局部阴影、复杂多变的光照条件下能够更快更准确地跟踪最大功率,具有较强的适应能力,取得了良好的寻优效果。