基于SNDPSO的多峰值光伏最大功率追踪控制研究

2021-05-04 02:01朱金荣
电源技术 2021年4期
关键词:阴影步长全局

王 磊,朱金荣

(南京工程学院电力工程学院,江苏南京 211100)

在实际的光伏阵列工作环境中,由于光照不均匀,往往会出现光伏阵列局部被阴影遮挡的情况。这种情况下,传统的最大功率点追踪(MPPT)方法已经不再适用,如电导增量法、扰动观察法、恒定电压法等[1-2],开始研究局部阴影下的追踪方法。

文献[3]提出的算法思想是将布谷鸟算法和粒子群算法相结合,虽然一定程度上提高了寻优的精度,但所构建的数学模型比较复杂,不利于实际操作;文献[4-6]提出的粒子群优化算法仅从权重变化的角度来改进寻优的过程,阴影情况下的改善效果存在局限性。

针对以上多峰值光伏阵列寻优算法中存在的问题,本文提出了基于迭代步长呈正态分布衰减的粒子群算法(SNDPSO)的多峰值最大功率点追踪方法。通过在粒子的迭代过程中加入最近邻学习的过程,将当前迭代时刻相对距离最短的粒子和全局最优粒子进行比较,提高了最优解的精度;同时让粒子群的迭代步长呈正态分布递减,进一步增强了粒子搜索最大功率点能力,搜索前期全局收敛能力更强,搜索后期局部收敛能力更强。

1 光伏阵列建模与特性分析

1.1 光伏电池模型分析

多个光伏电池经过串联并联之后就会组成光伏阵列[7-8]。光伏电池具体模型如图1 所示。Iph表示光生电流,其大小与光伏电池板的面积和所受的光照强度成正比关系。Id表示暗电流,是指光伏电池在光照强度为零时在外电压的作用下流过P-N 节的电流。Rs是电池内部等效的串联电阻,通常由电池表面电阻、电极电阻所组成;Rsh表示光伏电池内部等效并联电阻[9]。

光伏电池在太阳光照射下,产生光生伏打电动势,进而实现了电能的输出与传递,这就是光伏电池的工作机理。

由光伏电池等效电路可以得出光伏电池等效的光电流表达式:

图1 光伏电池等效电路

式中:I0为二极管的反向饱和电流;n为二极管的理想因子;T为光伏电池表面所受温度;q为电子电荷大小[10]。

1.2 光伏电池P-U 特性分析

以光伏电池模型为基础,在Matlab/Simulink 环境里对三块光伏电池所组成的光伏阵列的P-U特性进行分析。根据光照条件设置的不同,光伏电池光照模型可以分为有阴影遮挡和无阴影遮挡,实际仿真光照测试环境为:(1)光伏阵列三块光伏电池光照强度均为1 000 W/m2,温度均为25 ℃,此时光伏阵列为完全光照,没有阴影遮挡;(2)光伏阵列三块光伏电池光照强度分别为1 000、800、600 W/m2,温度均为25 ℃,此时光伏阵列为不完全光照,发生阴影遮挡。

两种环境下的运行特性对比如图2 所示,当光伏阵列内光伏板所受光照强度相同时,P-U曲线只有1 个峰值;当光伏阵列内光伏板所受光照有K种阴影遮挡情况时,P-U曲线就会有K个峰值,如果用常规的MPPT 算法追踪最大值,就会陷入局部最优,造成追踪失败。

图2 光伏阵列运行特性分析图

2 局部阴影状态下GMPPT 控制方法研究

2.1 基本粒子群算法

粒子群算法(PSO)是一种进化计算的算法,因为算法参数少,寻优能力强,已经被广泛运用在非线性系统的优化问题上[9]。

粒子群算法粒子进行迭代寻优的过程中,始终利用两个极值来不断更新,即个体最优Pbest和全局最优Gbest,从而达到自己的最佳位置,这就是粒子群算法的工作原理。标准粒子群算法进行速度和位置更新的公式为:

式中:k表示粒子的迭代次数;w表示粒子迭代的惯性权重;c1表示自我学习因子,通常控制着粒子飞向个体极值的速度;c2表示社会学习因子,通常控制着粒子飞向全局极值的速度;r1和r2表示[0,1]之间的随机数。

2.2 迭代步长呈正态分布递减粒子群算法

传统的标准粒子群算法虽然控制简单,但由于速度更新、搜索方向、惯性权重和粒子迭代过程不能完全匹配等问题,往往最后追踪的结果和预期有一定的偏差,有时甚至偏差较大。本文所采用的基于迭代步长呈正态分布递减的粒子群算法能动态改变惯性权重及位置更新方式,从而加快收敛速度,提高收敛精度[9]。

2.2.1 最近邻学习

如果在粒子群算法迭代得到当前迭代时刻的全局最优解之后,同时筛选出此时距离其它粒子平均距离最短的粒子并与全局最优解依据适应度的大小进行比较,随后再将比较后的当前全局最优解输出,这样便能提高最优解的精度。

数学上有许多距离表示方式,如欧式距离、曼哈顿距离、切比雪夫距离等,本文采用曼哈顿距离来计算粒子间的距离。二维空间点a(X1,Y1,Z1…)和b(X2,Y2,Z2…)间的距离为:

推广到n维,可得粒子到n维平面其它点a(X1,Y1)和b(X2,Y2)等的平均曼哈顿距离为:

式中:K为算法中所含的粒子总数;n是描述粒子的维数。

t时刻全局最优值的学习按照适应度的大小来进行,假设此时的迭代次数为t,如果平均曼哈顿距离最小的粒子dmin适应度值Gdmin比当前算法得出的全局最优值Gbest的好,就采用粒子Gdmin作为当前全局最优值,否则仍采用最初得到的Gbest。t时刻全局最优解按照式(5)来更新:

2.2.2 粒子群参数改进2.2.2.1 惯性权重的改进

大量研究已经证明,较大的w能够增强粒子的全局寻优能力,w较小则局部寻优能力增强。由此,本文采用如下余弦式的非线性变化惯性权重:

式中:wmax为最大惯性权重,本文取0.9;wmin为最小权重,本文取0.4;i为当前迭代次数;M为最大迭代次数。

图3 为本文采用的余弦式惯性权重w1、线性递减权重w2与指数递减权重w3随着迭代次数变化而变化的对比图。w2与w3如式(7)~(8)所示:

由图3 可知,余弦递减惯性权重在迭代初期的权重为0.9~0.85 左右,拥有充分的全局寻优能力,能够避免陷入局部最优;算法后期,余弦递减惯性权重为0.45~0.43 左右,拥有充分的局部寻优能力,可以进行精确的局部搜索。

图3 不同惯性权重随迭代次数变化曲线

2.2.2.2 迭代步长的改进

基于文献[9],为了使迭代步长的变化配合惯性权重的变化节奏,对粒子群算法的迭代步长进行了改进,采用迭代步长呈正态分布递减的方式来逐步减小步长。由正态分布的特点可知,这样的步长设置可保证算法在前期拥有较大的迭代步长,可以扩大搜索范围而避免陷入局部最优;随着迭代的不断进行,步长逐渐减小,可以使搜索到的最优值更加精确。采用的位置更新公式为:

式中:λ 表示步长调整因子,随着迭代次数的变化而变化,符合正态分布。文献[11]中已经用实验证明,当θ=0.443 3 时,迭代曲线能获得最佳性能,所以θ 取值0.443 3。

3 SNDPSO 算法在多峰值MPPT中的应用

SNDPSO 算法在全局最大功率点追踪(GMPPT)中的应用流程如图4 所示。具体的应用过程为:首先对粒子群的基本参数进行初始化,初始化完成之后根据适应度函数计算每个粒子的适应度,将光伏阵列的输出功率设为适应度函数;随后结合最近邻学习原则,获得当前迭代次数的全局最优解,动态更新粒子的速度和位置,最后不断迭代,满足条件之后,结束迭代,输出最优值。

图4 SNDPSO算法在GMPPT中的应用流程

4 仿真验证

图5 SNDPSO多峰值MPPT系统结构图

SNDPSO 多峰值MPPT 系统结构图如图5 所示,基于SNDPSO 的多峰值GMPPT 控制电路主要由光伏电池组成的光伏阵列模块、SNDPSO-GMPPT 模块、Boost 阻抗变换器模块以及负载模块[10,12]组成。本文的光伏阵列模块采用3 块MSX-60 型号的光伏电池串联而成。仿真测试所用的元件参数为:L1=1 mH,C1=800 μF,C2=300 μF,R=80 Ω。分别在完全光照、静态阴影、动态阴影的情况下对光伏系统进行仿真。

4.1 静态环境下的仿真测试

4.1.1 均匀光照下的仿真分析

为了保证仿真结果的精确性,将光伏阵列的三块光伏电池温度都设为25 ℃,三块光伏电池的光照强度都设为1 000 W/m2。至此,均匀光照环境设置完成,此时光伏阵列理论最大输出功率为178.1 W,均匀光照下三种算法的作用效果如图6 所示。三种算法都能收敛并找到全局的最大功率,只是精度各有差别。SNDPSO 算法在0.021 s 收敛到了最大功率176 W,线性递减权重算法在0.024 s 收敛到了全局的最大功率175.2 W,而基本粒子群算法的精度略有不足,在0.025 s 时收敛到了最大功率172.7 W。通过对比可以发现,SNDPSO 算法收敛到峰值的速度以及精度比线性递减权重算法、基本粒子群算法都有提高。

4.1.2 静态阴影下的仿真测试

图6 均匀光照条件下三种算法仿真效果对比图

现将三种测试对比算法的测试参数除了光照,其它都设为相同的参数。三块光伏板的温度都为25 ℃,三块光伏板的光照强度分别为1 000、800、600 W/m2,此时理论最大输出功率为118.2 W。图7 为SNDPSO 算法、线性递减权重PSO 算法、基本粒子群算法在静态阴影条件下的仿真效果对比图。SNDPSO 算法在0.02 s 时收敛到了最大功率116.4 W,线性递减权重粒子群算法在0.02 s 时收敛到了最大功率114 W,基本粒子群算法在0.03 s 时收敛到了最大功率104.2 W,MPPT 过程不能达到精度要求。通过对比可知,SNDPSO 算法在峰值收敛速度及精度上都有了一定程度的提升。

图7 静态阴影条件下三种算法仿真效果对比图

4.2 动态环境下的仿真测试

动态环境仿真时间为0.5 s,为了模拟实际的光伏阵列所受光照的突变性以及不确定性,对光伏阵列中的三块光伏板设置如表1 所示的光照变化。

表1 三块光伏板动态光照强度变化情况

按照表1 中的光照强度变化对系统进行仿真,可得动态阴影条件下三种算法仿真效果,如图8 所示。

图8 动态阴影条件下三种算法仿真效果对比图

按照时间顺序,三个时间段的理论稳定峰值分别为135、96.77、127 W。由图8 可知,SNDPSO 算法第一阶段在0.018 s时收敛到了最大功率值133 W,在0.15 s 光照突变后仅需0.01 s 就达到了第二阶段的稳定峰值95.29 W,第三阶段最终的稳定峰值为125 W;线性递减权重PSO 算法在0.02 s 达到了第一阶段稳定峰值131.8 W,最终达到的峰值为122.4 W;基本粒子群算法最终达到的稳定峰值为115 W。因此,基本粒子群算法在快速阴影变化的情况下陷入了局部最优,追踪最大值失败。

5 结论

本文提出的算法通过在粒子迭代过程中加入最近邻学习过程,提高了全局最优值的精度,使改进的粒子群算法能够获得更好的收敛值;同时引入正态分布递减步长,动态调整步长,增强了系统的寻优能力。仿真结果表明,本文提出的算法在光伏阵列处于局部阴影的状态下能准确、快速地收敛到最大功率点。

猜你喜欢
阴影步长全局
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
你来了,草就没有了阴影
落子山东,意在全局
让光“驱走”阴影
阴影魔怪
基于逐维改进的自适应步长布谷鸟搜索算法
新思路:牵一发动全局