APP下载

基于二阶振荡粒子群优化算法的最大功率跟踪

2022-11-01海涛程沛源杨嘉芃林国忠付曦宇

科学技术与工程 2022年26期
关键词:二阶光照阴影

海涛, 程沛源, 杨嘉芃, 林国忠, 付曦宇

(1.广西大学电气工程学院, 南宁 530000; 2.广西电网公司南宁供电局, 南宁 530000)

随着中国“双碳”经济战略稳步推进,光伏发电技术因为其清洁环保、方便经济的特点得到了广泛的推广与应用[1-2]。而最大功率点跟踪(maximum power point tracking,MPPT)控制可以让光伏系统在最大功率处持续输出,有效提升光伏系统的发电效率,成为科研人员研究的焦点[3-5]。

传统的跟踪方法如电导增量法[6]、爬山法[7-8]、扰动观察法等[9-10],这些方法简单容易实现,在理想光照条件下跟踪精度尚可,但在实际环境中出现阴影遮挡时,光伏阵列的P-U曲线呈现多峰现象,传统的MPPT算法容易陷入局部极值点,而非真正的最大值点。针对这一问题,文献[11]对爬山法进行改进,加入分段式变步长机制提升系统的控制精度,但系统在最大值附近会反复波动。文献[12]引入积分器可以消除电导增量法中电导与电导变化率的差值来减小系统振荡,加强系统稳定性。也有不少学者采取人工智能算法进行跟踪控制,文献[13]通过在粒子群算法(particle swarm optimization,PSO)基础上加入自适应变异粒子,提高了算法控制精度,但算法的跟踪时间较长导致损耗较大。文献[14]将粒子群算法与电导增量法相结合进行协调控制,提高了算法控制效率并降低了硬件成本,但在复杂环境下跟踪效果为不太理想。

针对以上问题,现对于粒子群算法进行改进,提出一种二阶振荡粒子群算法应用于最大功率点跟踪。为避免粒子过于集中,将分散定位逼近极值的更新策略加入算法中,进一步提升算法的全局搜索能力。提出合理有效的终止策略防止系统趋于稳定时出现反复振荡,减小系统损耗。最后采取仿真验证本文算法的有效性。

1 光伏电池模型

1.1 光伏电池等效电路图

光伏阵列是由多个光伏电池串并联后组成的,其等效模型如图1所示。模型包含参数有光生电流Iph、空间电荷区(PN junction)的暗电流ID1和ID2、输出电压Upv、输出电流Ipv、串联电阻Rs、旁路电阻Rsh、负载电阻RL。

图1 光伏电池等效电路Fig.1 Equivalent circuit of photovoltaic cell

当有光照出现时,根据光生伏特效应光生电流Iph出现并分为三部分,分别是经过二极管VD1和VD2的暗电流ID、流入旁路电阻Rsh的旁路电流Ish、以及输出电流Ipv。

1.2 光伏电池数学模型

根据基尔霍夫电流定律,光伏电池的I-U特性的关系式为

(1)

(2)

式中:Io1和Io2为二极管反向饱和电流;q为电子电荷;K为玻尔兹曼常数;T为光伏电池工作温度;A1和A2为二极管理想因子;ns为光伏组件串联数。

将式(1)和式(2)联立简化可得

(3)

式(3)中:

(4)

(5)

式(5)中:KI为电流温度系数;KV为电压温度系数;ΔT为与标准情况的温差。

2 光伏阵列特性

光伏阵列的特性曲线一般指光伏阵列的输出功率-电压(P-U)曲线和电流-电压(I-U)曲线,随着输出电压变化,光伏阵列的功率和电流呈现不同的非线性变化。光伏阵列各个光伏组件会因为遮阴等因素处于不同的光照环境下,此时光伏系统的数学模型为

(6)

式(6)中:np为光伏组件并联数;Ipva为光伏阵列输出电流;Upva为光伏阵列输出电压;Upv为单个光伏组件输出电压。

借助于MATLAB/Simulink工具进行模拟仿真,光伏阵列的参数如表1所示。

根据表1的设置参数下的某3×1光伏阵列各种情况下光伏阵列特性曲线如图2所示。

表1 光伏阵列参数设置Table 1 Parameter setting of photovoltaic array

根据图2所示,理想状况下光伏阵列的P-U和I-U曲线是一条平滑非线性曲线且峰值只有一个。当出现局部不均匀遮阴时,每个光伏组件因光照不同而导致输出电压不同,因此P-U曲线出现了3个峰值。由于光伏阵列工作环境的复杂,其串联的各个光伏组件不能保持相同的光照条件,而电池彼此的光照差导致了光伏阵列输出特性呈现多峰现象。

图2 光伏阵列特性曲线Fig.2 Characteristic curve of photovoltaic array

3 二阶振荡PSO算法

3.1 PSO算法

PSO算法是通过模拟鸟群觅食行为而发展起来的一种基于种群的随机搜索算法。其参数少并且在多变量系统中的寻优能力出色,所以PSO算法在近些年来有着快速的发展与广泛的应用[15-16]。

(7)

(8)

式中:k为粒子的迭代次数;w为粒子迭代的惯性权重;c1为个体学习因子;c2为群体学习因子;r1和r2为[0,1]之间的随机数。

3.2 二阶振荡PSO算法在MPPT中应用

PSO算法中参数通常为常量导致粒子特性单一,在复杂环境下搜索精度较低,提出在PSO中加入二阶振荡环节提升粒子多样性以及在面对多峰函数时的全局搜索能力。通过限制在振荡环节参数μ1、μ2变化范围使得迭代函数能够保持收敛。具体将调整算法迭代公式为

(9)

(10)

惯性权重参数w的选择对于算法的影响很大,在算法迭代初期选择较大的惯性权重使算法不容易陷入局部最优问题中,在算法后期减小惯性权重让曲线更加平稳。将迭代过程分别为两个阶段,当前迭代次数k≤Gmax/2时,设置w=1,采取振荡收敛加强全局搜索能力,此时二阶振荡环节参数为

(11)

当迭代次数k>Gmax/2时,设置w=0.75,采取渐进收敛来增强局部寻优能力。二阶振荡环节参数为

(12)

振荡收敛和渐进收敛示意图如图3所示。

图3 算法收敛示意图Fig.3 Schematic diagram of algorithm convergence

对于n×m的光伏阵列最多可以出现n+1个极值点,设置粒子数量为n+1。假设第i个粒子电压大小为Ui,将每个粒子初始化设置到每个可能的极值点附近,具体初始化公式为

(13)

式(13)中:Upvs为光伏系统的输出电压。当设置Boost变流器开关管的占空比为0时,Upvs可以直接测出。初始化粒子电压的搜索范围为0~Upvs。该策略既可以防止出现因初始值选择过小而导致迭代次数过多、耗费时间过长的问题,又有全局性搜索的保障,防止遗漏任何可能出现的极大值。

算法在进行寻优的过程中反复多次的迭代会导致功率波动。为保证光伏系统的输出功率尽快在最大功率点处稳定下来,减少系统在稳定值附近的波动,为控制算法设置一个明确的终止条件:当粒子群位置已经高度集中时即确认算法找到了最大功率点。在本文中设定当种群粒子间最大的电压差值小于5%Upvs时,算法停止迭代。此时的功率为最大功率。

当光伏阵列的光照条件发生变化,光伏系统输出功率随之变化,此时的最大功率点位置已经改变,需要算法重新启动进行追踪使得系统可以保持最大功率输出。设输出功率的变化率为ΔP,其表示为

(14)

式(14)中:Pout为实际输出的功率;Pm为最大功率值。本文中设定当ΔP>0.1重启算法。

具体将该算法应用到局部阴影环境下求最大功率点步骤如下。

(1)初始化参数温度、光照强度、光伏板串并联个数、光伏板内部参数等。

(2)初始化光伏阵列算法模块中粒子的速度、位置以及粒子数目等。

(3)通过功率计算公式获取每个粒子i的个体功率,将其与过往个体信息作对比来更新个体最优值Pid,粒子间交换信息更新群体最优值Pg。

(4)检查迭代次数是否超过最大迭代数Gmax或者满足终止条件,满足则保持输出功率停止迭代,未满足跳转至第二步。

二阶振荡PSO算法流程图如图4所示。

图4 二阶振荡PSO算法流程图Fig.4 Flow chart of second-order oscillation PSO algorithm

4 仿真设计

4.1 光伏阵列电路图

为验证二阶振荡PSO算法在有、无阴影情况下对于PSO算法的优化作用,使用MATLAB/Simulink工具搭建仿真模型,光伏阵列的电路仿真图如图5所示。

图5中电路结构为经典的直流斩波(DC/DC)电路,通过Boost变流器来放大光伏阵列的电压提升光伏系统的输出功率[17-18],采集光伏阵列的电压与电流利用二阶振荡粒子群算法来进行的最大功率点追踪。通过脉冲宽度调制(pulse width modulation,PWM)改变金属-氧化物半导体场效应晶体管(metal-oxide-semiconductor field-effect transistor,MOSFET)占空比去控制光伏系统的输出电压,以此达到最大功率点追踪的目标。算法控制模块接受传感器采集到的光伏阵列的电压电流信息,通过二阶振荡粒子群算法全局性地搜索当前最大功率点,控制模块输出PWM控制MOSFET的通断实现Boost变流器的充、放电过程完成追踪任务。

Upv为电池电压;Ipv为电池电流;Uo为光伏系统输出电压图5 光伏阵列MPPT系统电路图Fig.5 Circuit diagram of photovoltaic array MPPT system

4.2 标准光照下的仿真结果

仿真选用3×1光伏阵列,通过仿真模型将PSO、自适应粒子群算法(adaptive particle swarm optimization, APSO)、二阶振荡PSO在标准光照条件(1 000 W/m2+1 000 W/m2+1 000 W/m2)下进行最大功率点追踪,此时光伏阵列的P-U曲线如图2所示。标准光照下仿真结果如图6所示。

由图2可知在标准光照条件下光伏阵列P-U曲线只存在一个极大值。根据图6的仿真实验结果,在标准光照条件下PSO、APSO、二阶振荡PSO都可以追踪到最大功率点,然后保持稳定输出。PSO算法在0.075 s左右稳定,APSO算法在0.098 s稳定,而二阶振荡PSO算法可以在0.047 s左右稳定到最大功率。相较于PSO算法和APSO算法,二阶振荡PSO算法作用下:收敛时间短且功率曲线波动幅度更小。

图6 3种算法标准光照输出功率特性Fig.6 Standard illumination output power characteristics of three algorithms

4.3 局部阴影下的仿真结果

同样的仿真电路系统设计,改变初始条件在局部阴影条件(800 W/m2+600 W/m2+400 W/m2)时,进行最大功率点追踪。为方便观察引入电压曲线得到输出特性曲线如图7所示。

由图2可知局部阴影条件下光伏阵列输出存在两个相近的极大值(20 V,96 W)和(32 V,105 W)。此时观察图 7中PSO算法稳定在(20 V,96 W)极大值点,陷入了局部最优的问题,算法稳定时间也由0.08 s增加到0.13 s且曲线波动更大;APSO算法跟踪到30 V附近但误差较大,且当0.13 s左右才稳定;而二阶振荡PSO算法可以很快收敛最大值点上。相较于在标准光照条件下,此时的二阶振荡PSO算法稳定时间仍为0.05 s左右。与PSO算法、APSO算法相比曲线波动更小,避免了局部最优的问题。证明算法在静态阴影下追踪最大功率是快速准确的。

4.4 动态阴影工况仿真结果

图7已证明二阶振荡PSO算法在静态阴影下可以很好地跟踪到最大功率点。而光伏组件工作环境是动态的,故设置光伏阵列光照条件(800 W/m2+600W/m2+400 W/m2)保持到0.3 s突然变为光照条件(700 W/m2+500 W/m2+300 W/m2)进行MPPT控制。

图7 3种算法局部阴影条件输出特性Fig.7 Local shadow condition output characteristics of three algorithms

根据图2中P-U曲线看出当突变光照时光伏阵列输出两个相近的极大值为(20 V,80 W),(32 V,78 W),同时观察输出电压与功率特性曲线,得到在动态阴影条件下光伏组件输出特性曲线如图8所示。

图8结果所示,在0.3 s时光照条件突变控制算法重启,此时最大值点转移到20 V附近,PSO算法调整时间为0.24 s左右且波动幅度大。APSO算法由重启到稳定用时0.12 s并且波动幅度较大。二阶振荡PSO算法由重启到稳定用时在0.07 s左右并成功追踪到最大值。说明二阶振荡PSO可以在突变阴影条件下快速准确地跟踪到最大功率点。

图8 3种算法动态阴影条件输出特性Fig.8 Dynamic shadow condition output characteristics of three algorithms

算法本身具有一定随机性,故针对每种情况算法运行30次,记录下其追踪输出平均功率,稳定时间如表2所示。

根据表2可知:二阶振荡PSO算法在3种情况下均保持较高的平均输出功率,证明了加入二阶振荡环节有效地帮助算法跳出局部最优困境,在控制精度和稳定速度上有较佳表现。

表2 3种算法性能指标Table 2 Performance indexes of three algorithms

5 结论

针对PSO算法在局部阴影条件下出现的陷入局部最优的问题,提出了采用二阶振荡PSO算法,并对算法实际应用在MPPT上进行优化。

(1)算法迭代中将加入的二阶振荡环节分为振荡收敛和渐近收敛两个部分,更好平衡粒子的全局搜索和局部发掘。

(2)将粒子初始位置分散定位在可能极值处,并采取变惯性因子增加算法的搜索范围。

(3)设计合适的终止、重启条件,防止算法趋于稳定时反复波动,增加二阶振荡PSO算法在MPPT使用的实用性。

(4)仿真结果表明在无阴影、静态阴影、动态阴影3种环境下二阶振荡PSO算法相较于其他两种算法控制精度高、收敛速度快。在光伏系统中应用可以有效提高系统的输出功率。

猜你喜欢

二阶光照阴影
肉种鸡的光照不应性对养殖生产的不良影响分析
你来了,草就没有了阴影
隐蔽的力量
二阶矩阵、二阶行列式和向量的关系分析
二次函数图像与二阶等差数列
阴影魔怪
水禽舍的光照及其控制
非线性m点边值问题的多重正解
蛋鸭的光照管理