粒子群和模糊算法相结合的MPPT算法
2021-09-09王航宇
王航宇
(西安航空职业技术学院航空维修工程学院, 陕西 西安 710089)
0 引言
在光伏发电系统中,为最大限度地利用太阳光能,提高系统输出电压,需对光伏阵列进行最大功率点追踪(MPPT)。然而光伏阵列本身具有非线性特征,当环境条件发生变化产生局部遮阴时,其输出特性会变得十分复杂,并且呈现多峰值的特性[1]。传统的MPPT算法,由于算法本身的局限性,往往会陷入局部最大功率点[2],从而导致系统的输出功率相对于最大功率点将会下降。在光伏阵列发生局部遮阴时,实现全局寻优是提高光伏系统运行效率的一个重要方式。
对于局部遮阴下的光伏阵列MPPT问题,国内外研究人员提出了全局扫描法、Fibonacci搜索法、粒子群算法、智能优化算法的全局寻优等方法[3-4]。其中粒子群算法具有编程较简单、收敛速度较快等特点,成为了近些年来的研究热点,但粒子群算法在稳定状态下精度较低[5]。
模糊控制是以模糊集合理论为基础的一种控制手段,适用于数学模型未知的、复杂的非线性系统,近年来多被应用于最大功率点跟踪中。文献[6]利用输出的功率曲线的斜率作为模糊控制的输入,实现了MPPT的模糊控制。文献[7]采用了模糊变步长电导增量来调节步长大小,减小了输出功率波动的同时又保持了较高的跟踪速度。实验表明模糊控制具有较好的跟踪性能,且能有效减轻最大功率点附近的功率震荡。
针对粒子群算法在稳定状态下的精度不理想这一问题,本文提出粒子群算法和模糊算法相结合的MPPT算法。
1 局部遮阴条件下光伏阵列等效模型及基础算法
1.1 光伏电池等效模型
根据电子学理论,太阳能电池的数学模型可以等效为[8]:
(1)
式(1)中,IL为光伏电池输出电流,UL为光伏电池输出电压,Iph为光生电流,Id为太阳能板的逆向饱和电流,q为电子电荷量,k为玻尔兹曼常数,A为P-N结曲线常数,T为P-N结温度,Rsh为光伏电池旁路电容,Rs为光伏电池串联电阻。在理想情况下Rsh很大,该式的最后一项近似为0。光伏电池的等效电路如图1所示。
图1 光伏电池等效电路Fig.1 photovoltaic cell equivalent circuit
光伏电池输出的功率和电流在不同光照条件下随电压变化图如图2、图3所示,可见光伏电池输出功率在一定环境条件下存在唯一的最大功率点,且最大功率随着光照辐射条件的变化而出现偏移[7-9]。
图2 P-U曲线随光照强度的变化Fig.2 P-U curve change with light intensity
图3 I-U曲线随光照强度的变化Fig.3 I-U curve change with light intensity
1.2 局部遮阴条件下光伏电池
在光伏阵列中,每块光伏电池的性能不可能绝对一致,串并联后总的输出功率往往小于各光伏电池输出功率之和,发生所谓的光伏电池不匹配现象。相应失谐的电池不仅对组件的输出没有贡献,还会消耗系统的能量,造成局部过热,这就是热斑效应[10]。热斑效应对系统的危害很大,为避免热斑效应,当将光伏电池串并联时为光伏电池串反并联二极管,如图4所示。
图4 光伏阵列Fig.4 Photovoltaic array
当光伏电池被遮挡时,旁路二极管开始导通,使支路电流中超过被遮挡光伏电池光生电流的部分被二极管分流,限制被遮挡光伏电池端电压,从而避免热斑效应的产生;但二极管的引入,却会造成光伏阵列的多峰值的输出特性。
以两个太阳能电池串联为例,当负载电流小于其中之一所能提供的最大电流时,负载电流由两者共同提供;但当负载电流介于两者所能提供的电流之一时,其中较小的太阳能电池将被二极管短路,负载电流将由另一块电池所提供,由此造成输出电流的输出特性出现膝点,进一步造成输出功率呈现多峰值特性,其输出特性如图5、图6所示。当串联的太阳能电池数增多时,在局部遮阴情况下功率峰值数将会增多[11-13]。
图5 局部遮阴条件下U-I特性Fig.5 U-I characteristics under local shading
图6 局部遮阴条件下U-P特性Fig.6 U-P characteristics under local shading
1.3 基本粒子群算法
粒子群优化(PSO)算法是由Kennedy和Eberhart根据鸟群的觅食行为提出的一种智能优化算法。在PSO算法中,首先假设有一群随机分布的粒子,每个粒子相当于鸟群中的个体,粒子的空间位置相当于鸟群中个体的位置,粒子的输出相当于鸟群距离目标的距离;其次粒子通过迭代,根据两个极值的位置来更新自己下一时刻的位置。其中的一个极值是该粒子自身在全部时刻所寻找到的最优位置,称为个体极值;第二个极值是全部粒子在全部时刻所寻找到的最优位置,称为全局极值。
将粒子群算法应用于MPPT算法当中时,粒子所处的空间维度为一维。此时视粒子的位置为太阳能电池两端的电压U,粒子的速度v代表电压更新的步长,其输出功率视为优化函数。每个粒子的速度和位置更新方程可由下式表示:
(2)
对于粒子群算法而言,需要提前设定的参数较多。比较重要的参数有粒子数、粒子的初始位置、粒子速度最大值以及误差精度。粒子数过多会影响算法速度,过少又容易陷入局部极值,其选择应根据需要适当较多;粒子的初始位置应当均匀分布,间距适当,避免粒子过于聚集;在粒子群的实际应用中应对粒子的速度加以限制,粒子速度过大功率波动越大,速度过小会降低收敛速度,其数值应根据系统的承受能力来选择;误差精度越高其精度越高,但过高的精度同样也会降低收敛速度。
1.4 模糊算法
模糊控制负责在最大功率点附近的跟踪。对最大功率点的追踪实际上就是寻找dP/dU=0的工作点,当工作点靠近最大功率点时dP/dU较小;当工作点远离最大功率点时dP/dU较大,为此可采用dP/dU作为模糊控制器的输入E,并以占空比D作为输出,输入E为建立如下的模糊控制规则:IFE>0,thenD>0;IFE<0,thenD<0;IFE=0,thenD=0。
为提高控制器的控制性能,将输入E划分为5个模糊子集E={NB,NS,ZE,PS,PB},将输出D划分为5个模糊子集D={NB,NS,ZE,PS,PB},比例因子和量化因子分别取为20和0.1。隶属度函数均采用三角形隶属度函数,如图7、图8所示。模糊控制规则如表1所示。模糊控制规则曲线如图9所示。
表1 模糊控制规则表
图7 E隶属度函数Fig.7 E membership function
图8 D隶属度函数Fig.8 D membership function
图9 模糊规则曲线Fig.9 Fuzzy regular curve
2 改进模糊算法的粒子群MPPT算法
将模糊MPPT算法与粒子群算法相结合,一般的模糊MPPT算法当太阳能电池出现多峰值特性时无法进行全局寻优,而基本粒子群算法由于算法的特性当其终止时不能精准的定位到最大功率点处。通过两者的结合可以取长补短,在全局范围内利用基本粒子群算法在全局寻优中的出色能力,而在最大功率点附近时能发挥模糊算法较高精确性和稳定性能,由此来达到较为满意的搜寻结果[15]。
该算法的基本流程如图10所示。
图10 复合MPPT算法流程Fig.10 Compound MPPT algorithm flow
在算法开始运行时首先采用粒子群算法进行计算,根据粒子的初始位置计算粒子此时的输出功率,计算初始个体最优粒子与全局最优粒子,并根据公式计算其下一时刻的位置。更新后再次检测各个粒子所对应的输出功率值,不断更新每个粒子的个体极值pbi和全局极值gb,以此调节每个粒子的位置,直到满足终止条件。终止条件以粒子的汇聚程度为依据,假设有n个粒子,粒子的汇聚程度可由下式来表示:
(3)
本文在Matlab 2014a中搭建了仿真模型,利用matlab function模块建立了太阳能电池板的模型并建立了粒子群算法与模糊算法结合的MPPT控制模块。
3 仿真分析
该仿真采用两块的太阳能光伏电池并联模型,每块电池开路电压Uoc为43.8 V,短路电流Isc为5.14 A,一块所受光照强度为1 000 W/m2,另一块所受光照强度为800 W/m2,温度条件均为25 ℃。粒子群算法所选粒子数n为4,电压步长的最大改变值设置为2 V,终止条件设置为δ<0.1Uoc=4.38 V。模糊控制的比例因子和量化因子取为20和0.1。仿真时间设置为2 s。
为了分析粒子群算法和模糊算法结合的优越性,同时建立了普通模糊算法和普通粒子群算法模块,仿真分析结果如图11—图13所示。
图11 普通模糊MPPT输出功率波形Fig.11 Output power waveform of general fuzzy MPPT
图12 粒子群MPPT输出功率波形Fig.12 Output power waveform of particle swarm optimization MPPT
图13 复合算法MPPT输出波形Fig.13 MPPT output waveform based on compound algorithm
由以上结果可以看出,传统的扰动观察法不能有效地搜索到全局最大功率点,其输出功率为150 W左右,小于粒子群算法的输出功率。对比普通粒子群算法和模糊粒子群算法,模糊粒子群能够更加精准地到达最大功率点处,输出功率为240 W,而普通粒子群算法输出功率较低为230 W。由此可以得出模糊粒子群算法融合了粒子群算法和模糊算法的优点,能够有效搜索到全局最大功率点,并且同时具有模糊算法较高的精度。
4 结论
本文提出粒子群算法和模糊算法相结合的MPPT算法。该算法首先在全局范围内使用粒子群算法实现对全局最大功率点的定位,之后采用模糊算法实现对最大功率点的精确定位,使光伏发电系统同时具有全局寻优功能和较高的跟踪精度。仿真结果表明,普通粒子群算法输出功率低于模糊粒子群算法输出功率,模糊粒子群算法融合了粒子群算法和模糊算法的优点,能够精确地搜索到全局最大功率,验证了此方法的有效性。此外,本文所采用的模糊算法的输入输出模糊子集的个数较少,且模糊规则较为简单,若采用较多的模糊子集和较复杂的模糊规则,可能会获得更好的效果。