一种基于SMGSA算法的MPPT控制方法

未命名 10-19 阅读:115 评论:0

一种基于smgsa算法的mppt控制方法
技术领域
1.本发明涉及光伏发电领域,特别涉及一种基于smgsa算法的mppt控制方法。


背景技术:

2.随着科技的发展和环境保护的意识的提高,太阳能作为一种清洁、可再生的能源正逐渐成为人们广泛使用的能源之一。其中光伏发电系统是一种将太阳能转化为电能的技术,它使用光伏电池将太阳能转化为直流电,再通过逆变器将其转化为交流电以供电网使用。光伏发电系统不需要燃料,不产生排放,运行成本低,且可在太阳充足的地区大规模应用,因此被广泛应用于家庭、商业和工业等领域。光伏最大功率点跟踪(mppt)技术是将光伏电池的输出功率最大化的关键技术之一。
3.在光伏发电系统中,光伏电池的输出电压和电流受到多种因素的影响,如光照强度、环境温度等,导致其输出功率存在最大值。如果能够实时跟踪光伏电池的最大功率点,就可以最大程度地利用光伏电池的输出功率,从而提高光伏发电系统的效率和性能。然而,传统的mppt方法如扰动观察法、电导增量法及改进后的变步长算法在面对局部遮荫这种复杂环境时,容易陷入局部最优值,并不能跟踪到全局最大功率点处。因此,许多研究人员将元启发式算法应用于光伏mppt这一问题之中。元启发式算法可以通过优化控制参数,以实现更高效、更稳定和更精确的功率跟踪控制。然而,当元启发式算法应用于光伏mppt时,会出现收敛速度慢、收敛精度低、容易陷入局部最优值等问题。
4.黏菌优化算法(sma)是2020年提出的一种新型元启发式算法,它模拟了黏菌通过释放化学物质来寻找最优路径的过程。将sma应用在光伏mppt中发现其具有全局寻优能力强,算法简单等优点,但收敛速度较慢并且在局部遮荫条件下,偶尔会陷入局部最优值。


技术实现要素:

5.本发明的上述技术问题主要是通过下述技术方案得以解决的:
6.一种基于smgsa算法的mppt控制方法,包括
7.构建光伏电池数学模型,并采集当前输出电压和电流值;
8.初始化smgsa参数,包括随机均匀初始化黏菌位置、迭代次数、黏菌总数,黏菌位置即占空比;
9.计算当前黏菌的适应度函数值,通过黏菌适应度值更新权重,其中,光伏阵列输出功率为评价黏菌位置优劣的适应度函数值;
10.设置变异概率,产生第一随机数并与变异概率比较后,根据比较结果选择执行突变模式后返回至计算当前黏菌的适应度函数值,或者进行选择概率的设置;
11.设置选择概率,产生第二随机数并与变异概率比较后,根据比较结果选择执行全局开发模式或进行局部探索模式;
12.迭代次数达到阈值后结束,输出最优黏菌位置。
13.作为优选,利用光伏组件搭建4
×
1光伏阵列,其次,模型电路采用同步boost电路,
通过mppt控制器输出信号给pwm控制两个mos管,两个mos管采用互补驱动的方式,占空比随着系统迭代不断变化,最终稳定。
14.作为优选,利用smgsa算法更新黏菌位置,smgsa算法公式如下所示:
[0015][0016]
参数p为选择概率,使算法在全局开发和局部搜索之间切换,其公式为:
[0017]
p=tanh|s(i)-df|
[0018]
其中,df为迭代过程中,黏菌最优适应度值;
[0019]
r和rand为0到1之间的随机数,z为变异概率,值为0.03。
[0020]
作为优选,全局开发模式表达式为:
[0021]
x(k+1)=xb(k)+vb
·
(w
·
x
a-xb),r<p
[0022]
其中,x(k+1)为第k+1次迭代时黏菌的位置,xb(k)为当前迭代黏菌最优位置,xa、xb为随机两个黏菌位置,vb的值为[-a,a],a的表达式如下所示:
[0023][0024]
其中,q为调整系数,值为2,k为当前迭代次数,k_max为最大迭代次数。
[0025]
作为优选,参数w为黏菌权重值,公式为:
[0026][0027]
smellindex=sort(s)
[0028]
其中,r为0到1之间的随机数,bf为当前黏菌最优适应度值,wf为当前黏菌最差适应度值,s(i)为第i个黏菌的适应度值,condition为黏菌适应度值排在前一半的黏菌个体,others为剩余黏菌,smellindex为排序函数。
[0029]
作为优选,局部探索模式表达式为:
[0030]
x(k+1)=x(k)
·
|sin(r1)|-r2·
sin(r1)
·
|c1·
xb(k)-c2·
x(k)|
[0031][0032]
其中,c1、c2为控制系数,r1和r2分别为值在[0,2π]和[0,π]之间的随机数,y为黄金分割系数,值为(√5-1)/2,x(k)为第k次迭代时黏菌的位置。
[0033]
作为优选,突变模式表达式为:
[0034]
x(k+1)=rand
·
(ub-lb)+lb,rand<z
[0035]
其中,ub和lb为搜索区间的上下限,r和rand为0到1之间的随机数,z为变异概率,值为0.03。
[0036]
作为优选,还包括一个贪心模式,具体是在位置更新结束后添加一个贪心策略,使更新后的黏菌的适应度值与更新前的比较,若更新后的位置更好则采用更新后的位置,否则采用更新后的黏菌的适应度值。
[0037]
作为优选,将每个黏菌i(i=2,3
……
n)与当前最优黏菌位置一一作差取绝对值,当最大位置差小于一个阈值时,本发明认为此时系统已经追踪到最大功率点处,算法停止迭代;本发明阈值设置为0.001。
[0038]
作为优选,当外部环境发生变化时,算法应快速重启追踪新的最大功率点,重启条件如下所示:
[0039][0040]
其中,p
pv
为系统当前输出功率,pm为追踪到的最大功率,β为设置的重启阈值,设置为0.05;算法满足重启条件后返回初始化smgsa参数开始新一轮迭代。
[0041]
因此,本发明具有如下优点:本发明在基本sma算法的基础上,采用三种策略对其改进,提出了基于smgsa算法的mppt控制策略。smgsa算法在保证收敛速度的同时,将收敛效率提升至99.99%。
附图说明
[0042]
图1为光伏mppt的电路原理图;
[0043]
图2a为参数a改进前的效果图;
[0044]
图2b为参数a改进后的效果图;
[0045]
图3为基于smgsa算法的mppt控制流程图;
[0046]
图4为动态局部遮荫条件下4种算法的仿真曲线对比。
具体实施方式
[0047]
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0048]
实施例:
[0049]
本发明具体包括
[0050]
步骤1:根据下述公式搭建光伏电池模型
[0051][0052]
其中,i0为二极管反向饱和电流,a为二极管理想因子,i
ph
为光生电流,rs为串联电阻,r
p
为并联电阻,k为波尔茨曼常数1.38*10-23
j/k,光伏电池绝对温度(单位为k),单位电荷1.6*10-19
c,u、i为光伏电池输出电压和电流。
[0053]
步骤2:初始化smgsa参数,包括随机均匀初始化黏菌位置(占空比)、迭代次数、黏菌总数。其中,光伏阵列输出功率为评价黏菌位置优劣的适应度函数值。
[0054]
步骤3:控制器采集当前输出电压和电流值,计算当前黏菌的适应度值。通过黏菌适应度值更新权重。
[0055]
步骤4:利用smgsa算法更新黏菌位置,smgsa算法公式如下所示:
[0056]
[0057]
将smgsa算法分为四个模式:
[0058]
(1)第一个阶段为全局开发模式(接近食物模式),其表达式为:
[0059]
x(k+1)=xb(k)+vb
·
(w
·
x
a-xb),r<p
[0060]
其中,xb(k)为当前迭代黏菌最优位置,xa、xb为随机两个黏菌位置,vb的值为[-a,a],a的表达式如下所示:
[0061][0062]
其中,q为调整系数,值为2,k为当前迭代次数,k_max为最大迭代次数。
[0063]
参数a修正前后的效果对比图如图1所示。
[0064]
参数w为黏菌权重值,公式为:
[0065][0066]
smellindex=sort(s)
[0067]
其中,r为0到1之间的随机数,bf为当前黏菌最优适应度值,wf为当前黏菌最差适应度值,s(i)为第i个黏菌的适应度值,condition为黏菌适应度值排在前一半的黏菌个体,others为剩余黏菌,smellindex为排序函数。
[0068]
参数p为选择概率,使算法在全局开发和局部搜索之间切换,其公式为:
[0069]
p=tanh|s(i)-df|
[0070]
其中,df为迭代过程中,黏菌最优适应度值。
[0071]
(2)第二种模式为局部探索模式(抓捕食物模式),其表达式为:
[0072]
x(k+1)=x(k)
·
|sin(r1)|-r2·
sin(r1)
·
|c1·
xb(k)-c2·
x(k)|
[0073][0074]
其中,r1和r2分别为值在[0,2π]和[0,π]之间的随机数,y为黄金分割系数,值为(√5-1)/2。
[0075]
(3)第三种模式为突变模式,其表达式为:
[0076]
x(k+1)=rand
·
(ub-lb)+lb,rand<z
[0077]
其中,ub和lb为搜索区间的上下限,r和rand为0到1之间的随机数,z为变异概率,值为0.03。
[0078]
(4)第四种为贪心模式。基本的sma算法没有贪心策略,即无论上一次黏菌位置的好与坏,都会将黏菌更新到新的位置,这种方式不利于最大功率点的跟踪。因此,smgsa在位置更新结束后添加一个贪心策略,使更新后的黏菌的适应度值与更新前的比较,若更新后的位置更好则采用更新后的位置,反之亦然。
[0079]
步骤5:当黏菌之间最大位置差小于一个阈值时,本发明认为此时系统已经追踪到最大功率点处,算法停止迭代。本发明阈值设置为0.001。
[0080]
步骤6:当外部环境发生变化时,算法应快速重启追踪新的最大功率点,本发明设置的重启条件如下所示:
[0081][0082]
其中,p
pv
为系统当前输出功率,pm为追踪到的最大功率,β为设置的重启阈值,本发明设置为0.05。算法满足重启条件后返回步骤2开始新一轮迭代。
[0083]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。
[0084]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0085]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0086]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0087]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0088]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。

技术特征:
1.一种基于smgsa算法的mppt控制方法,其特征在于,。构建光伏电池数学模型,并采集当前输出电压和电流值;初始化smgsa参数,包括随机均匀初始化黏菌位置、迭代次数、黏菌总数,黏菌位置即占空比;计算当前黏菌的适应度函数值,通过黏菌适应度值更新权重,其中,光伏阵列输出功率为评价黏菌位置优劣的适应度函数值;设置变异概率,产生第一随机数并与变异概率比较后,根据比较结果选择执行突变模式后返回至计算当前黏菌的适应度函数值,或者进行选择概率的设置;设置选择概率,产生第二随机数并与变异概率比较后,根据比较结果选择执行全局开发模式或进行局部探索模式;迭代次数达到阈值后结束,输出最优黏菌位置。2.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,利用光伏组件搭建4
×
1光伏阵列,其次,模型电路采用同步boost电路,通过mppt控制器输出信号给pwm控制两个mos管,两个mos管采用互补驱动的方式,占空比随着系统迭代不断变化,最终稳定。3.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,利用smgsa算法更新黏菌位置,smgsa算法公式如下所示:参数p为选择概率,使算法在全局开发和局部搜索之间切换,其公式为:p=tanh|s(i)-df|其中,df为迭代过程中,黏菌最优适应度值。r和rand为0到1之间的随机数,z为变异概率,值为0.03。4.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,全局开发模式表达式为:x(k+1)=x
b
(k)+vb
·
(w
·
x
a-x
b
),r<p其中,x(k+1)为第k+1次迭代时黏菌的位置,x
b
(k)为当前迭代黏菌最优位置,x
a
、x
b
为随机两个黏菌位置,vb的值为[-a,a],a的表达式如下所示:其中,q为调整系数,值为2,k为当前迭代次数,k_max为最大迭代次数。5.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,参数w为黏菌权重值,公式为:smellindex=sort(s)
其中,r为0到1之间的随机数,bf为当前黏菌最优适应度值,wf为当前黏菌最差适应度值,s(i)为第i个黏菌的适应度值,condition为黏菌适应度值排在前一半的黏菌个体,others为剩余黏菌,smellindex为排序函数。6.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,局部探索模式表达式为:x(k+1)=x(k)
·
|sin(r1)|-r2·
sin(r1)
·
|c1·
x
b
(k)-c2·
x(k)|其中,c1、c2为控制系数,r1和r2分别为值在[0,2π]和[0,π]之间的随机数,y为黄金分割系数,值为(√5-1)/2,x(k)为第k次迭代时黏菌的位置。7.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,突变模式表达式为:x(k+1)=rand
·
(ub-lb)+lb,rand<z其中,ub和lb为搜索区间的上下限,r和rand为0到1之间的随机数,z为变异概率,值为0.03。8.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,还包括一个贪心模式,具体是在位置更新结束后添加一个贪心策略,使更新后的黏菌的适应度值与更新前的比较,若更新后的位置更好则采用更新后的位置,否则采用更新后的黏菌的适应度值。9.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,将每个黏菌i(i=2,3
……
n)与当前最优黏菌位置一一作差取绝对值,当最大位置差小于一个阈值时,本发明认为此时系统已经追踪到最大功率点处,算法停止迭代。本发明阈值设置为0.001。10.根据权利要求1所述的一种基于smgsa算法的mppt控制方法,其特征在于,当外部环境发生变化时,算法应快速重启追踪新的最大功率点,重启条件如下所示:其中,p
pv
为系统当前输出功率,p
m
为追踪到的最大功率,β为设置的重启阈值,设置为0.05。算法满足重启条件后返回步骤2开始新一轮迭代。

技术总结
本发明涉及一种基于SMGSA算法的MPPT控制方法,包括构建光伏电池数学模型,并采集当前输出电压和电流值;初始化SMGSA参数;计算当前黏菌的适应度函数值,通过黏菌适应度值更新权重,其中,光伏阵列输出功率为评价黏菌位置优劣的适应度函数值;设置变异概率,产生第一随机数并与变异概率比较后,根据比较结果选择执行突变模式后返回至计算当前黏菌的适应度函数值,或者进行选择概率的设置;设置选择概率,产生第二随机数并与变异概率比较后,根据比较结果选择执行全局开发模式或进行局部探索模式;迭代次数达到阈值后结束,输出最优黏菌位置。本发明在保证收敛速度的同时,将收敛效率提升至99.99%。提升至99.99%。提升至99.99%。


技术研发人员:肖义平 赵云峰 沈宗涛 焦宏健
受保护的技术使用者:湖北工业大学
技术研发日:2023.06.21
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐