基于LabVIEW的光伏发电系统MPPT算法研究
2018-05-30张军朝陈俊杰王青文陶亚男
张军朝,赵 阳,陈俊杰,王青文,陶亚男
(太原理工大学 a.电气与动力工程学院,b.计算机科学与技术学院,c.山西省电气传动及物联网工程技术研究中心,太原 030024)
随着化石能源的枯竭,新能源的发展越来越受到国家的重视。光伏发电在我国大部分地区受到了鼓励[1],但是其经济性也受到了质疑[2]。其中,最大的问题是如何提高光伏发电的效率,从而相对降低太阳能发电的成本。对光伏电池的最大功率点跟踪(maximum power point tracking,MPPT)技术的改善就是有效途径之一。对此,国内外专家均提出了不同的智能算法,朱艳伟等[3]和胡克用等[4]采用粒子群优化算法追踪MPP,但搜索次数过多后容易陷入局部寻优且搜索速度变低;ALTAS et al[5]和杨青等[6]采用模糊控制法做为MPPT方法,但其控制精度与动态品质较低;KUMARAPPAN et al[7]和DAVID et al[8]采用基于禁忌搜索法追踪最大功率点,但循环条件与跳出条件制约了追踪精度。
对比以上算法,本文提出了一种基于粒子群优化融合变步长扰动观察法的MPPT控制方法,先利用改进的粒子群优化算法在全局中追踪至MPP点附近,再使用以Fibonacci数列为步长的变步长扰动观察法精确的到达MPP处,最后在每一步的算法中均设计了可行的终止策略,以防陷入局部寻优以及在MPP附近摆动。除此之外,本文以LabVIEW为仿真软件,对MPPT各阶段算法制作了界面并仿真,可以直观获取光伏电池随时间变化的电压、电流、功率等的图像和数据。
1 光伏阵列模型及特性分析
1.1 太阳能电池模型
在整个光伏发电系统中光伏阵列担负着将太阳能转化为电能的任务,而光伏阵列是由很多个光伏电池串并联组成的,当有遮挡物遮住光伏阵列中的部分光伏电池时,总电流会发生变化,部分支路电流也会随之变化,整个光伏阵列的内阻就会相对增大[9]。
在无阴影遮挡的晴天,光伏阵列中各个串联支路的电流相同,并联的各个支路电流基本不变,但被阴影遮挡的光伏电池将被等效成电阻,压降也将在此消耗,因此不但降低了整个光伏阵列的输出功率,而且对电池的使用寿命造成了不可逆转的影响。此时最好的办法就是在各个光伏电池旁并联一个旁路二极管,使过量的电流绕过电池。但与此同时,被遮挡程度不同的光伏电池也转变成了大小不等的内阻,降低了其输出功率。当有阴影遮挡时,光伏阵列的模型如图1所示。
在图1中,由颜色的深浅来区别光伏阵列被遮挡的程度。颜色越深,表示被遮挡程度越高,对应光伏电池的光照强度也越低。引入阴影序列D来表示遮挡程度,则表示D的方法如下:
(1)
式中:R1i表示第一块光伏电池当前时刻的光照强度;R1i-1表示第一块光伏电池上一时刻的光照强度。R2i表示第二块光伏电池当前时刻的光照强度,R2i-1表示第二块光伏电池上一时刻的光照强度。以此类推,定义图1的阴影序列为D=[1,0.8,0.6,0.4,1,1,0.6,0.4,1,1,1,0.4].此时,对应的电流和内阻也依次根据阴影序列的改变而改变。
图1 局部阴影遮挡下4×3光伏阵列模型Fig.1 4×3 photovoltaic array mode under occlusion by partial shadow
1.2 压电衬底材料选择的特殊性
根据上述光伏阵列结构及已知光伏数学模型[10],在Matlab中搭建3×4的光伏电池模型,单块光伏电池的参数为ISC=7.41 A,Voc=21.6 V,Im=6.86 A,Vm=17.5 V.
由于光照强度和温度是影响光伏电池输出特性的主要因素。因此,在单独研究局部阴影条件下MPPT算法对功率的影响时,光照强度与温度应该保持不变。建好模型后,考虑在复杂的遮阴情况下,图1中三条串联支路均会有不同情况的阴影遮挡,峰值数量也会发生变化。通过对多次仿真实验的比较,发现P-V曲线中的峰值数与阵列中的阴影序列是相关的,并且发现极值点的个数一般不超过光伏阵列的列数。
以搭建的5×5实物模型为例,研究局部阴影与无阴影条件下的光伏电池P-V曲线,其对比图如图2所示。从图2可以看出,局部阴影遮挡的光伏阵列的P-V曲线从原点出发经过多次起落回到X轴,同时也产生了多个极值点,对于上述问题采用传统的扰动观察法和变步长扰动观察法可能会在B点或者C点附近来回摇摆,陷入局部寻优,很难追踪到全局的MPP.所以寻找一种具有全局搜索能力,且能够快速准确到达MPP的算法来代替传统算法势在必行。
图2 局部阴影与无阴影条件下的光伏阵列P-V曲线Fig.2 P-V curve of photovoltaic array under partial shadow and standard conditions
2 最大功率点跟踪算法的提出
2.1 粒子群优化算法
粒子群优化算法(particle swarm optimization algorithm,PSO)是一种新型的仿生类进化算法,通过不断迭代更新参数,从而逼近最优解[11]。另外,PSO算法在对全局参数优化的同时,也能够辨识每个做为解的粒子,解决优化与搜索的问题[12]。而该问题的解是在每个粒子进化比较后淘汰的结果。更新粒子速度和位置的方法如下:
(2)
式中:w为惯性权重;c1,c2为学习因子;r1,r2是(0,1)之间均匀分布的相互独立的随机数序列;Xi,Vi分别为第i个粒子的位置和速度;k为公式的迭代次数;Pbest是粒子当前时刻的个体最优值;Gbest为整个群体当前时刻的最优值。
在PSO算法中,函数的解是光伏阵列的输出功率,变量为光伏阵列的运行电压。在整个算法中,惯性权重w的取值相当重要。在算法的初始阶段,粒子聚集在一起,增大惯性权重可以减小陷入局部寻优的可能;在算法的后期,粒子进化程度高、分散程度大,减小惯性权重有利于加快收敛速度,使每个粒子的局部搜索更加准确。除此之外,学习因子c1,c2的取值也非常重要,在本算法中,粒子搜索的第一阶段,c1取较大值,c2取较小值;第二阶段c1取较小值,c2取较大值。因为c1又称自我认知因子,c2又称社会认知因子,顾名思义,在第一阶段,粒子应多向着自己的最优值学习,加快全局搜索的速度;在第二阶段,粒子应多向着全体最优值学习,增强局部寻优能力。因此本算法改进设置参数的标准为如下方法:
(3)
PSO算法的迭代次数需要限制,因此设计了一种迭代终止策略。本文采用的MPPT控制电路是Boost电路,当Boost电路的占空比为0时,求得开路电压UOC.迭代的终止条件为粒子之间最大电压差小于5.00%UOC;另外,需要编程来综合考虑以选定粒子的初始值、控制迭代次数小于8次、粒子位置迭代前后对比选优等条件。
将这种改进的PSO设置为MPPT算法的第一阶段,不仅能完成全局快速寻优,而且能够避免因迭代次数过多导致的系统崩溃以及陷入局部寻优的状况发生。
2.2 变步长扰动观察法
变步长扰动观察法是通过控制DC/DC电路中功率的开关改变信号的占空比,从而调整步长,使MPPT算法在不同阶段获得不同的追踪速度[13]。本文复合控制算法的第二阶段采用以Fibonacci数列为新扰动步长的变步长扰动观察法,其根据同一方向上搜索次数的多少改变扰动步长的大小。其中,扰动步长即电压增量,此阶段的初始值即在第一阶段改进PSO算法的终止值。其步骤可总结如下:
1) 根据Fibonacci数列及此时的电压,选定每一阶段的初始步长ΔU=Cn,记录改变后的功率Pi+1.
2) 通过比较上一时刻功率Pi和此时的功率Pi+1,确定搜索方向,并将两者较大的值储存为最大功率,对应的电压储存为最优电压。
3) 判断搜索方向是否一致,选择增大还是减小扰动步长即改变电压变化量。
4) 判断是否满足算法终止条件,如果满足,跳出循环;否则,返回到第一步。
由于本算法在复合控制的第二阶段使用Fibonacci数列{Cn}确定步长,初始值应该设置较大,而扰动步长ΔU的相对变化应较小。其定义如下:
(4)
式中:Cn为Fibonacci数列的第n项;α为变步长速度因子,取值范围为(0,1).
本文用判断变量m控制α的大小,当m=1时,表示与前次搜索方向一致,应该扩大搜索范围;当m=0时,表示方向不同,需要减小搜索范围。即有如下方法:
(5)
式中:d1为上一次搜索方向;d2为本次搜索方向;Pi为判定本次搜索方向时前一次所测的功率;Pi+1为判定本次搜索方向时当前所测的功率;m=1的次数越多,α就越大,直到m=0出现,α恢复初始值。
由于采用本算法时,工作点已经位于最优值附近,扰动步长ΔU的初始值不宜过大,若此时工作点位于峰值右侧即工作点朝电压减小的方向搜索,则令ΔU=αC8;若位于峰值左侧即朝电压增大方向搜索,则令ΔU=αC1.该算法适合局部寻优,可以精准、快速地到达最大功率点。
2.3 MPPT的复合控制
把粒子群优化和变步长扰动观察法进行复合控制,扬长避短,发挥优势。先利用改进的粒子群优化算法到达最大功率点的附近,再以Fibonacci数列为步长,使用改进的变步长扰动观察法继续寻优,最后设置迭代终止条件,使系统稳定工作在最大功率点。复合算法流程如图3所示。
在本复合控制中,需要经历两个阶段,每一个阶段都需要算法终止条件,以免功率振荡,影响光伏系统的输出效率。在第一阶段,为了限制迭代次数,以免进入局部寻优,已经设置了迭代终止条件(见2.1节),此条件可以很好的与第二阶段算法衔接并设立新的初始值。第二阶段本文设置了立即终止策略。即当变步长扰动观察法的步长小于0.5%Voc时,停止工作点移动,结束寻优进程。
另外,由于温度和光照强度之前是控制不变的,当其发生变化时,P-V曲线的极值点就会发生变化,MPPT算法也需要重新启动,重启条件采用如下方法:
|P(t)-P(t-1)|>0.1P(t) .
(6)
图3 复合算法流程图Fig.3 Flowchart of compound control algorithm
式中:P(t)为当前时刻的功率值;P(t-1)为上一时刻的功率值。
3 仿真分析
本文采用LabVIEW模拟了本文算法,并在前面板设计了模拟算法的界面。为了模拟阴影遮挡光伏阵列下P-V曲线的多极值状况,本仿真对温度T、光照强度R以及内部电阻的参数根据阴影序列进行了组合性变化。这三种程序对应的策略分别为传统的变步长扰动观察法、传统的粒子群算法、粒子群融合变步长扰动观察法。最后可以在界面的图表中直观的观察并记录这3种控制策略的跟踪效果。其中光伏阵列环境状态模拟的图形程序如图4所示。
图4 光伏阵列模拟程序图Fig.4 Program chart of photovoltaic array's panel in LabVIEW
图4中的起始仿真参数如下:光伏阵列行数为4,列数为3,环境温度t=25 ℃,光照强度R=1 kw/m2.其中,在模拟阴影局部遮挡光伏阵列的情况时,将仿真参数按图1中的阴影序列进行改变,经过多次试验,即将温度变为35 ℃、光照强度变为500 kW/m2、内阻提高1.35倍。在3种策略中,粒子群算法的粒子数目均为3,变步长扰动观察法中Fibonacci数列的初始值为1.这样,在LabVIEW中利用条件函数和循环函数的配合,成功模拟了光伏阵列在第一阶段算法和第二阶段下输出特性的变化。
此次模拟在4 s时改变仿真参数,则光伏电池电压增量与DC/DC电路占空比随时间的变化如图5、图6所示。其中图5(b)纵轴为DC/DC电路占空比比值,无单位。
图5 改变光照强度前后光伏组件电压增量图Fig.5 Voltage increment of photovoltaic array before and after changing the illumination intensity
图6 改变光照强度前后DC/DC电路占空比变化图Fig.6 The duty ratio of DC/DC circuit before and after changing illumination intensity
三种策略经过仿真后得出的相关数据如表1所示。为了便于参照对比,将3种策略跟踪功率的结果根据各自的仿真曲线和数据绘制在一张图上,其对比图如图7所示。
表1 三种策略仿真结果的比较Table 1 Comparison of three kinds of strategy simulation results
图7 三种策略追踪功率效果比较图Fig.7 Comparisons of track power effects under three strategies
4 工程验证
为了对本文提出的粒子群优化变步长扰动观察法的实际可行性进行验证,搭建了一套以太阳能路灯模拟系统为负载的最大功率跟踪实验平台。该实验平台的硬件结构包括120 W光伏电池、路灯模拟系统、MPPT控制电路、功率检测器、遮挡物;编程软件采用的是CCS3.3,软件与硬件之间通过9针的RS232串口进行串行通信。在这些硬件中,MPPT控制电路中主要为Boost型DC/DC变换器,它与DSP共同完成PSO和基于Fibonacci的变步长控制。路灯模拟系统包括高压钠灯、镇流器、控制器等,其随功率大小改变而颜色变化的特性可以用来直观地显示功率的变化。整个实验平台的功能是通过DSP中的数模转换器DAC0808将PC中的数字信号转换成正弦信号的模拟量,并与三角波耦合,生成PWM信号来改变Boost电路的占空比,从而完成最大功率的跟踪。最后通过观察高压钠灯色度的变化以及记录功率检测元件中数值的变化,验证本文算法的可行性。
本次实验利用不透光的木板作为遮挡物,对与光伏阵列结构特性类似的光伏电池进行部分遮挡,使P-V曲线呈现多峰值的轮廓。具体实验操作为:首先在PC机中通过CSS3.3对传统的变步长扰动观察法、传统的粒子群算法、粒子群优化变步长扰动观察法3种算法的程序、DSP2812中定时器程序、延迟程序、主程序进行编写,再通过串口使DSP对MPPT电路进行控制,达到3种不同的最大功率跟踪效果。在这期间DSP负责间断性的扫描光伏电池的电压,上位机采集每一时刻电压和功率的数值,观察员观察高压钠灯的亮暗并记录功率检测器中显示的数据。本研究对3种算法分别进行了40次重复实验,统计结果如表2所示。
从实验数据分析:传统的变步长扰动观察法、传统的粒子群算法、粒子群优化变步长扰动观察法所对应的高压钠灯的亮度依次变高,功率检测器中显示的功率值依次变大,优化成功的次数依次变多,寻优的时间也依次变短。说明在同样的环境下,粒子群优化变步长扰动观察法可以更稳定、准确、快速的追踪到最大功率值。
表2 三种策略实验结果的对比Table 2 Result comparisons under three strategies
5 结论
本文首先介绍了有部分阴影遮挡时,光伏阵列的参考模型与电气特性,由此提出了由改进的粒子群优化算法和基于Fibonacci数列的变步长扰动观察法复合控制的MPPT算法,该算法在第一阶段使用改进的粒子群优化算法全局寻优,第二阶段利用改进的基于Fibonacci数列的变步长扰动观察法局部快速寻优,最后设置了重启条件,并且在每个阶段均设置了寻优终止条件,稳定了寻优过程,加快了寻优速度,提高了寻优准确度。最后无论是LabVIEW中的仿真结果,还是实物搭建的验证平台中的数据结果均表明,在与其他两种算法的比较上,本文提出的MPPT算法在复杂光照条件下具有可行性和有效性,并且在精度和速度上有了显著的提高。
:
[1] 薛家祥,钟良文,张思章,等.光伏系统中扰动观察法的控制方法研究[J].电气传动,2013,43(3):40-44.
XUE J X,ZHONG L W,ZHANG S Z,et al.Study of perturb & observe control methods in photovoltaic system[J].Electric Drive,2013,43(3):40-44.
[2] 吴雨薇,时斌,朱海勇,等.基于变步长扰动观察法的光伏电池最大功率点跟踪[J].电气技术,2014(6):23-25.
WU Y W,SHI B,ZHU H Y,et al.Photovoltaic array maximum power point tracking based on improved variable step P&O[J].Electrical Engineering,2014(6):23-25.
[3] 朱艳伟,石新春,但扬清,等.粒子群优化算法在光伏阵列多峰最大功率点跟踪中的应用[J].中国电机工程学报,2012,32(4):42-48.
ZHU Y W,SHI X C,DAN Y Q,et al.Application of pso algorithm in global mppt for PV array[J].Proceedings of the CSEE,2012,32(4):42-48.
[4] 胡克用,胥芳,艾青林,等.适用于光伏多峰功率跟踪的改进型粒子群优化算法[J].西安交通大学学报,2015,49(4):140-148.
HU K Y,XU F,AI Q L,et al.Improved particle swarm optimization for photovoltaic multi-peak power tracking[J].Journal of Xi'an Jiaotong University,2015,49(4):140-148.
[5] ALTAS I H,SHARAF A M.A novel maximum power fuzzy logic controller for photovoltaic solar energy systems[J].Renewable Energy,2008,33(3):388-399.
[6] 杨建青,高晓阳,李红岭,等.农田独立光伏供电系统的MPPT模糊自寻优控制[J].太阳能学报,2016,37(2):361-365.
YANG J Q,GAO X Y,LI H L,et al.Adaptive fuzzy self-optimizing control of mppt in stand alone pv power system for farmland[J].Acta Energiae Solaris Sinica,2016,37(2):361-365.
[7] KUMARAPPAN N,MOHAN M R.Comparison of classical methods and lambda based economic and emission dispatch using a hybrid genetic algorithm[J].Engineering Intelligent Systems,2006(2):71-77.
[8] DE LA O D,CASTILLO O,MELÉNDEZ A.Optimization of fuzzy control systems for mobile robots based on PSO[J].Studies in Computational Intelligence,2014,547:191-208.
[9] PATEL H,AGARWAL V.MATLAB-based modeling to study the effects of partial shading on PV array characteristics[J].IEEE Transactions on Energy Conversion,2008,23(1):302-310.
[10] ISHAQUE K,SALAM Z,AMJAD M,et al.An improved particle swarm optimization (PSO)-based MPPT for PV with reduced steady-state oscillation[J].IEEE Transactions on Power Electronics,2012,27(8):3627-3638.
[11] 张军朝.路灯、景观灯照明控制系统节能技术研究[D].太原:太原理工大学,2012.
[12] 李江,韩海霞,王晓倩,等.局部阴影下的光伏阵列MPPT算法研究[J].控制工程,2014,21(3):419-424.
LI J,HAN H X,WANG X Q,et al.Maximum power point tracking scheme for PV systems operating under partially shaded conditions[J].Control Engineering of China,2014,21(3):419-423.
[13] KOUTROULIS E,BLAABJERG F.Overview of maximum power point tracking techniques for photovoltaic energy production systems[J].Electric Power Components and Systems,2015,43(12):1329-1351.