法律状态公告日
法律状态信息
法律状态
2020-06-30
授权
授权
2019-02-26
实质审查的生效 IPC(主分类):G05F1/67 申请日:20181116
实质审查的生效
2019-01-25
公开
公开
技术领域
本发明属于光伏发电技术领域,具体涉及一种基于改进型萤火虫算法的光伏阵列MPPT控制方法。
背景技术
目前,非可再生能源作为仍然是人类能源利用最重要的部分,约占90%,主要为煤炭、石油、天然气等,但是这些化石能源是会随人类社会的发展需求而大量被使用,逐渐地消耗用尽。太阳能作为可再生绿色能源,无污染、低成本等特点,已经成为代替传统能源的首选能源。但是,在实际的应用中,太阳能光伏发电系统中光伏阵列的输出功率呈现非线性的特征,输出功率会随着日照以及环境温度的变化,在不同的光照强度和环境温度下光伏阵列有不同的输出电压,只有在某一特定的电压下光伏阵列才能达到最大的输出功率。因此,找到一种更为有效的最大功率点跟踪(Maximum Power Point Tracking,MPPT)方法使光伏阵列达到最大的转换效率显得极为重要。
近几年多种MPPT算法被提出,包括传统的电导增量法、扰动观察法等。这些算法计算简单,设备要求低,有较好的追踪效果。但这两种算法都有一个共同的问题:步长固定。当步长过大,整个系统的震荡会加剧,不利于系统的稳定性;若步长过小,光伏阵列就会长时间保持低功率输出,跟踪时间长且达不到最大跟踪的效果。发生局部遮阴情况(Partialshadow condition,PSC)时,光伏电池输出特性曲线会呈现出多峰状态,此时经典算法无法区分局部极值(Local peak,LP)和全局最大值(Global peak,GP),很可能因产生强烈震荡而失效。
目前,随着智能技术的大力发展,粒子群算法(Particle Swarm Optimization,PSO)和遗传算法等逐渐应用于光伏发电领域,但粒子群算法由于其受个体最优的影响,可能在一些过低的极值点搜索较长的时间,仍存在追踪时间较长的问题。遗传算法进行局部搜索的能力差,容易导致早熟。因此多峰MPPT控制依然是亟待解决的问题。根据对扰动观察法,电导增量法,粒子群算法,萤火虫算法(Firefly Algorithm,FA)四种算法的仿真分析得知,萤火虫算法在局部阴影条件下光伏最大功率点追踪中的速度,稳定性和效率优于其他算法。
萤火虫算法是通过模拟萤火虫的群体出的一类随机优化算法。其仿生原理是:用搜索空间中的点模拟自然界中的萤火虫个体,将搜索和优化过程模拟成萤火虫个体的吸引和移动过程,将求解问题的目标函数度量成个体所处位置的优劣,将个体的优胜劣汰过程类比为搜索和优化过程中用好的可行解取代较差的可行解的迭代过程。
萤火虫算法包含两个要素,即亮度和吸引度。亮度决定了其移动方向体现了粒子位置的优劣;吸引度决定了萤火虫移动的距离。通过亮度和吸引度的不断更新,从而实现目标优化。当萤火虫算法直接使用在光伏阵列MPPT的控制算法中时,存在两个缺陷:移动步长固定和初始位置条件是随机的;若使用固定的移动步长,则可能使萤火虫在本领域中因固定移动步长而跳过最优值,而无法找到准确找到最优值,初始位置条件的随机性使得萤火虫可能都聚集在一个次优的结果上,无法找到真正的最优解。
发明内容
针对背景技术中提到的问题,本发明提供一种基于改进型萤火虫算法的光伏阵列MPPT控制方法,将萤火虫初始位置分散定位在光伏阵列各功率峰值点对应的电压附近,并设计了改进的自适应步长算法以动态调整萤火虫移动步长。
具体流程如下:
步骤1:定义参数含义、初始化基本参数,具体包括:
定义参数含义:萤火虫位置代表光伏阵列输出电压;萤火虫之间距离表示光伏阵列输出电压之差;当前所有萤火虫中最优位置表示光伏阵列输出最大功率点电压;萤火虫最大亮度表示光伏阵列输出的最大功率,目标函数为光伏阵列输出的总功率。
初始化基本参数:设置萤火虫数目w,最大吸引度β0,光强吸收系数γ,最大迭代次数X,目标函数fp;
在本发明中,每个优化问题的潜在解,也就是最大功率点电压,都是搜索空间中的一个“萤火虫”位置,所有萤火虫都有一个被目标函数决定的适应值。定义光伏阵列输出的总功率为目标函数,而变量就是光伏阵列的输出电压。在对各种参数进行初始化后,计算每个萤火虫对应目标函数的适应值。目标函数为光伏阵列输出的总功率。
步骤2:初始萤火虫位置;
本光伏阵列的阵列规模为{m×n},m为串联数,即每条支路中组件的数量;n为并联数,即光伏阵列中并联的支路数。将w只萤火虫分为n+1组,每组设置3-5只,第1组萤火虫位置选为0.7U1,第2组萤火虫位置选0.7U1+0.8U1=1.5U1,依次类推,第n组萤火虫位置选为0.7U1+0.8(n-1)U1,第n+1组萤火虫位置选为0.8UOC,其中,UOC为光伏阵列输出开路电压,而U1=UOC/m。萤火虫搜索范围为0~UOC。
步骤3:通过目标函数值计算萤火虫i的最大萤光亮度;计算萤火虫i当前时刻的吸引度
(1)萤火虫位置代表光伏阵列输出电压,萤火虫位置改变表示光伏阵列输出电压改变,目标函数为光伏阵列输出的总功率,通过输出电压计算光伏阵列输出的总功率,即计算目标函数值,此目标函数值做为萤火虫i的最大萤光亮度;
(2)计算萤火虫i当前时刻的吸引度
其中:β0为最大吸引度;γ为光强吸收系数;
(3)计算萤火虫i当前时刻的相对荧光亮度
其中:
步骤4:计算当前时刻萤火虫i自适应移动步长
所述萤火虫i自适应移动步长
式中:
处于
处于
步骤5:更新萤火虫的位置,对处在最佳位置的萤火虫进行随机扰动,对于萤火虫的位置进行更新,所述位置更新公式如下:
其中,
步骤6:根据更新后萤火虫的位置,重新计算萤火虫的最大荧光亮度;保存当前所有萤火虫个体中的最大荧光亮度及位置等信息。
步骤7:计算搜索精度
其中,
步骤8,检测是否满足算法重启条件,如满足,重新转到步骤1,重新初始化参数,重新开始寻优算法;如不满足,则结束算法,给出最终求出的最优解,并令
所述重启条件为:光伏阵列发出的功率的变化量ΔP:
ΔP=|Pm-Pr|(6)
其中,Pm为用本算法计算的萤火虫最大荧光亮度值最高时所对应的功率,即本算法寻优得到的光伏阵列输出的最大功率值;Pr为光伏阵列实际输出功率值,当两者差距很大,说明外界情况发生改变,需要重新启动算法,重新计算。
设定ΔP>1%Pm时重启算法,ΔP随Pm变化而变化。
所述目标函数的表达式为:
fp=U[Ipv-I0(Ip+2)-(U+IRs)/Rp](7)
其中,fp为光伏阵列输出的总功率,U是光伏阵列输出电压,I是光伏阵列输出电流,Ipv为光伏电池光生电流,由公式(8)计算得到,光伏阵列由m块电池板串联组成,参数I0与Ip分别由公式(9)与公式(10)计算得到;
p=1+a2≥2.2(11)
其中,Ipv为光伏电池光生电流;IPV_STC是标准测试条件(standard>STC是STC情况下的辐射度,GSTC=1000W/m2;a1和a2分别为两个二极管的理想常数;ISC_STC为光伏阵列在STC情况下的短路电流;UOC_STC为光伏阵列在STC情况下的开路电压;UT为二极管的热电压,其数值等于mkT/q;m为电池板元件串联数;q为电子电荷常数;k为玻尔兹曼常数;T为环境温度;ΔT=T-TSTC,TSTC是STC情况下的环境温度,TSTC=25℃;常数ki是电流温度系数;常数kv是电压温度系数;Rs为光伏电池等效串联电阻;Rp为光伏电池等效并联电阻;p为常数。
所述占空比D为输入电压与输出电压之间的关系:
D=1-U/U0(12)
其中,Boost电路输入电压U为光伏阵列输出电压;U0的值为蓄电池两端电压。
有益技术效果:
本发明提供一种基于改进型萤火虫算法的光伏阵列MPPT控制方法,对光伏阵列进行最大功率点寻优,能够有效避免系统趋于稳定时的功率震荡问题,且能够较好地适用于均匀光照、局部阴影和可变阴影情况下的MPPT,避免算法陷入局部最优,而且不会丢失任何极值点,同时提高了收敛速度与稳定性,使改进型萤火虫算法在MPPT控制应用中更加实用化。
本发明有较强的适应性,在局部阴影环境和可变阴影环境下,均能够准确快速地追踪到全局最大功率点,与背景技术算法和改进前的算法相比,设置两种不同光照的模式,不难看出,本算法具有更高的收敛率和更快的寻优速度且在最大功率点处的震动更小。
附图说明
图1为本发明实施例一种基于改进型萤火虫算法的光伏阵列MPPT控制方法的流程图;
图2是本发明实施例的光伏电池改进双二极管模型;
图3是本发明实施例的应用示例图;
图4是在不同算法下的仿真波形图,其中:
图4(a)是本发明实施例的PSO算法的仿真波形图;
图4(b)是本发明实施例的FA算法的仿真波形图;
图4(c)是本发明实施例的一种基于改进型萤火虫算法的光伏阵列MPPT控制方法仿真波形图;
图5是本发明实施例的三种方法的最大功率点波形图;
图6是本发明实施例的三种方法的最大功率点波形图放大图。
具体实施方式
下面结合附图和具体实施实例对发明做进一步说明:
图2为本方法采用的光伏电池改进双二极管模型,图中D1与D2为二极管,输出电流方程为:
I=Ipv-I0(Ip+2)-(U+IRs)/Rp(13)
其中,
p=1+a2≥2.2(11)
其中:Ipv为光伏电池光生电流;IPV_STC是标准测试条件(standard>STC是STC情况下的辐射度,GSTC=1000W/m2;a1和a2分别为两个二极管的理想常数;ISC_STC为光伏阵列在STC情况下的短路电流;UOC_STC为光伏阵列在STC情况下的开路电压;UT为二极管的热电压,其数值等于mkT/q;m为电池板元件串联数;q为电子电荷常数;k为玻尔兹曼常数;T为环境温度;ΔT=T-TSTC,TSTC是STC情况下的环境温度,TSTC=25℃;常数ki是电流温度系数;常数kv是电压温度系数;Rs为光伏电池等效串联电阻;Rp为光伏电池等效并联电阻;p为常数。
图3中使用Boost升压式变换器连接光伏阵列与负载,其中,L1为Boost电路中电感,C1与C2为Boost中电容,其主要优点在于对光伏阵列的电磁干扰小,驱动电路简单,Boost输出电压被钳制在蓄电池两端的电压,通过改变占空比D就可以改变变换器输入电压,而Boost变换器输入电压即为光伏阵列输出电压,因此改变D就能改变光伏阵列工作点的电压,通过改进型萤火虫算法,最终能够将工作点稳定在全局最大功率点。所示算法位于MPPT控制器中。
本发明使用标准Boost升压电路,其输入电压与输出电压之间的关系为:
D=1-U/U0(12)
式中:boost电路输入电压U为光伏阵列输出电压;U0的值为蓄电池两端电压。
基于以上硬件条件,本发明提出一种基于改进型萤火虫算法的光伏阵列MPPT控制方法,如图1所示,本实施例采用Matlab/simulink中光伏模块实现,具体流程如下:
步骤1:定义参数含义、初始化基本参数,具体包括:
定义参数含义:萤火虫位置代表光伏阵列输出电压;萤火虫之间距离表示光伏阵列输出电压之差;当前所有萤火虫中最优位置表示光伏阵列输出最大功率点电压;萤火虫最大亮度表示光伏阵列输出的最大功率,目标函数为光伏阵列输出的总功率。
初始化基本参数:设置萤火虫数目w,最大吸引度β0,光强吸收系数γ,最大迭代次数X,目标函数fp;
本仿真采用{4×3}光伏阵列模型;组件参数为Pm=21Wp,UO=17.2V,Um=12.2V,ISC=2.45A,Im=1.75A,参考温度为25℃,参考光照为1000W/m2。
初始化算法基本参数:设置萤火虫数目w=15,最大吸引度β0=1,光强吸收系数γ=1,搜索精度ε=0.2%Uoc=0.14V,最大迭代次数X=200;
目标函数的表达式为:
fp=U[Ipv-I0(Ip+2)-(U+IRs)/Rp](7)
其中,其中,fp为光伏阵列输出的总功率,U是光伏阵列输出电压,I是光伏阵列输出电流,Ipv为光伏电池光生电流,由公式(8)计算得到,光伏阵列由m块电池板串联组成,参数I0与Ip分别由公式(9)与公式(10)计算得到;
p=1+a2≥2.2(11)
其中,:Ipv为光伏电池光生电流;IPV_STC是STC情况下的光生电流;G是电池的表面辐射度,GSTC是STC情况下的辐射度,GSTC=1000W/m2;a1和a2分别为两个二极管的理想常数;ISC_STC为光伏阵列在STC情况下的短路电流;UOC_STC为光伏阵列在STC情况下的开路电压;UT为二极管的热电压,其数值等于mkT/q;m为电池板元件串联数;q为电子电荷常数;k为玻尔兹曼常数;T为环境温度;ΔT=T-TSTC,TSTC是STC情况下的温度,TSTC=25℃;常数ki是电流温度系数;常数kv是电压温度系数;Rs为等效串联电阻;Rp为等效并联电阻;p为常数。
步骤2:初始萤火虫位置;
初始萤火虫位置:对于{4×3}光伏阵列,将w只萤火虫分为n+1组,每组设置3-5只,第1组萤火虫位置选为0.7U1=12.1V,第2组萤火虫位置选0.7U1+0.8U1=1.5U1=25.8V,依次类推,第3组萤火虫位置选为0.7U1+0.8(3-1)U1=39.6V,第4组萤火虫位置选为0.8UOC=53.3V,其中,UOC为光伏阵列输出开路电压,而U1=UOC/4,萤火虫搜索范围为0~UOC;
步骤3:通过目标函数值计算萤火虫i的最大萤光亮度;计算萤火虫i当前时刻的吸引度
(1)萤火虫位置代表光伏阵列输出电压,萤火虫位置改变表示光伏阵列输出电压改变,目标函数为光伏阵列输出的总功率,通过输出电压计算光伏阵列输出的总功率,即计算目标函数值,此目标函数值做为萤火虫i的最大萤光亮度;
(2)计算萤火虫i当前时刻的吸引度
其中:β0为最大吸引度,可设定为1;γ为光强吸收系数,可设为常数,其取值为0-10之间;
(3)计算萤火虫i当前时刻的相对荧光亮度
其中:
步骤4:计算当前时刻自适应步长
所述自适应步长
式中:
处于
处于
步骤5:更新萤火虫的位置,对处在最佳位置的萤火虫进行随机扰动,对于萤火虫的位置进行更新,所述位置更新公式如下:
其中,
步骤6:根据更新后萤火虫的位置,重新计算萤火虫的最大荧光亮度;保存当前迭代在所有萤火虫个体中求出的最优解及位置等信息。
步骤7:计算搜索精度
其中,
步骤8,检测是否满足算法重启条件,如满足,重新转到步骤1,重新初始化参数,重新开始寻优算法;如不满足,则结束算法,给出最终求出的最优解,并令
重启条件为:光伏阵列发出的功率的变化量ΔP:
ΔP=|Pm-Pr|(6)
式中:Pm为用本算法计算的萤火虫最大荧光亮度最高处所对应的功率,即本算法计算光伏系统输出的最大功率值;Pr为光伏系统实际输出功率值,当两者差距很大,说明外界情况发生改变,需要重新启动算法,重新计算。
设定ΔP>1%Pm时重启算法,ΔP随Pm变化而变化。
实验结果:
在本发明中,一种基于改进型萤火虫算法的光伏阵列MPPT控制方法,在不同算法下的仿真波形图:
图4是在不同算法下的仿真波形图,其中:图4(a)是PSO算法的仿真波形图,采用粒子群算法算法;图4(b)是FA算法的仿真波形图,采用萤火虫算法;图4(c)是本方法的仿真波形图,采用改进型萤火虫算法。
实际的最大功率值为250.1W。PSO算法用时46.5ms,算法计算的全局最大功率值为249.20W,与实际最大功率值相差0.9W,收敛率99.64%;FA算法用时138.5ms,算法计算的全局最大功率值为249.7W,与实际最大功率值相差0.4W,收敛率为99.84%;改进型FA算法用时15.3ms,算法计算的全局最大功率值为249.87W,与实际最大功率值相差0.23W,收敛率为99.91%。
当系统工作到第100ms时,光伏阵列工作环境由均匀光照变为局部阴影,此时满足算法重启条件,并开始重新计算当前最大功率点。第100ms时,系统工作环境发生改变,算法开始重启。PSO在129.5ms时,再次运行在最大功率点,输出功率值为120.96W;FA在138.5ms时,再次运行在最大功率点,输出功率值为121.05W;改进型FA在109.8ms时,再次运行在最大功率点,输出功率值为121.164W。
图5是三种算法在最大功率点处局部的功率震动情况,图6是本发明实施例的三种方法的最大功率点波形图A处的放大图,其中,本发明的方法为FFA,可以看出本发明能够有效避免系统趋于稳定时的功率震荡问题,使FA算法在MPPT控制方向更加实用化。通过仿真结果可得,本发明方法在局部阴影环境和可变阴影环境下,均能够准确快速地追踪到全局最大功率点,并与PSO,FA算法相比具有更高的收敛率和更快的寻优速度且在最大功率点处的震动更小。
机译: MPPT控制器,太阳能电池控制装置,光伏发电系统,MPPT控制程序和MPPT控制器控制方法
机译: 基于光伏发电系统电阻匹配的MPPT控制方法
机译: MPPT控制Appratus,MPPT控制方法和车辆阵列,包括使用太阳能电池的相同