基于改进天牛须搜索算法的最大功率点跟踪的方法与流程

文档序号:19942431发布日期:2020-02-14 23:20阅读:510来源:国知局
本公开涉及光伏领域,具体地讲,涉及一种基于改进天牛须搜索算法的最大功率点跟踪的方法。
背景技术
::光伏发电系统中,由于光伏电池组输出功率的非线性特征,其能量转换效率相对较低,影响了光伏发电系统的发电效率。因而提高光伏发电系统的能量利用率成为了该领域研究的重点。光伏发电系统可能会连接逆变器、外部电网、电池组或是其他的电子负载。但不论其连接的负载为何,最大功率点追踪要处理的问题都类似,就是太阳能电池功率传输的效率和照到太阳能板上的日照量有关,也和负载的电子特性有关。当日照情形变化时,可以提供最大功率传输效率的负载曲线也随之变化,若负载可以配合功率传输效率最高的负载曲线来调整,系统会有最佳的效率。功率传输效率最高的负载特性称为最大功率点(maximumpowerpoint)。而最大功率点追踪就是设法找到最大功率点,并使负载特性维持在这个功率点。目前提高光伏电池能量利用率主要通过最大功率点跟踪(maximumpowerpointtracking,mppt)技术来实现,mppt的目的是在各种情形下都可以得到最大的功率输出,其主要控制方法按类型分为:传统控制方法、基于生物模型的控制方法、智能控制法。由于光伏电池发电效率受光照强度和环境温度两个因素直接影响,在实际应用中常使得光伏电池输出功率呈非线性,因而传统控制算法常常无法应对其快速变化的输出特性。在生物模型中,粒子群算法(particleswarmoptimization,pso)由于其简单、高适应性等特点,非常适用于求解多极值函数的极值问题。天牛须搜索算法(beetleantennaesearch,bas)是一种新型生物模型算法,其模拟了天牛觅食的特征,仅用一只天牛即可完成寻优,算法简单而高效。但现有的天牛算法全局寻优能力有限,较易陷于局部最优解,而为了增强全局寻优能力而增长天牛须时,又会产生较大的振荡。因此,现有的天牛须搜索算法无法满足部分阴影条件下的mppt控制的需求。技术实现要素:为了弥补现有技术的缺陷,同时又不丧失算法简单高效的特点,本公开提出了一种改进的天牛须搜索算法的mppt的方法,在快速寻优的同时,可以适应全局参数变化而求解,并能减小振荡幅度,并提出了基于改进天牛须搜索算法的mppt控制方法,该方法能克服现有技术中的不足,能够很好的满足部分阴影条件下最大功率点跟踪(mppt)的要求。与现有技术相比,本公开具有下述有益技术效果:(1)(由于算法的优势)能够更快的跟踪最大功率点(2)增强了算法的全局寻优能力使其更好的适应该应用场景(3)当外界光照强度发生改变时算法能够重启并再次跟踪到最大功率点(4)当外界环境参数稳定并已找寻到最大功率点时算法停止并保持输出不变附图说明图1本公开一个实施例中的恒温(25℃)下光伏单元输出特性曲线示意图;图2本公开一个实施例中的光伏阵列多峰输出曲线示意图;图3a至图3e本公开一个实施例中的基于ps0改进bas算法mppt控制流程图;图4本公开一个实施例中的参数组一下的算法仿真结果示意图;图5本公开一个实施例中的参数组二下的算法仿真结果示意图;图6本公开一个实施例中的参数组三下的算法仿真结果示意图;图7本公开一个实施例中的动态参数下仿真结果示意图;图830℃、25℃、20℃时的功率p、电流i随电压变化曲线。具体实施方式下面将参照附图1至图7、图8更详细地描述本发明的具体实施例,首先,说明一下光伏阵列输出特性。光伏阵列由多个光伏电池经串、并联组合而成,当同一光伏阵列处于光照均匀、温度相同的环境下时,其功率输出特性曲线呈现出非线性单峰值的特点;而当光伏阵列处于光照不均匀条件下时,其输出特性则呈现出多峰值特性。光伏电池数学模型如下式(1)所示:其中:i表示光伏电池输出电流,单位是a;v表示光伏电池输出电压,单位是v;iph表示光电流,受光照强度λ影响,单位是a;i0表示反向饱和电流,受环境温度t影响,单位是a;n表示结材料因子,无量纲;rs表示等效串联电阻,单位是ω;rsh表示等效并联电阻,单位是ω;t表示光伏电池环境温度,单位是℃;tr表示参考温度,单位是℃;ior表示参考温度下反向饱和电流,单位是a;ego表示半导体材料禁带宽度;a表示理想因子;iscr表示标准条件下光伏电池短路电流,单位是a;ki表示短路电流温度系数;λ表示光照强度,单位是w/m2。q为电子的电荷量,k为玻尔兹曼常数1.38*10-23j/k。同时由式(1)即可得到单个光伏电池在均匀光照强度和恒定温度下的输出特性曲线,如图1所示,……。图1为单个光伏电池在某一恒定条件下(图中有标识)的输出特性曲线,其中第一幅为光伏单元输出电流与输出电压的关系曲线(i-v曲线),表明了光伏单元随输出电压的增大先恒定再逐渐减小的的特性,同时随光照强度增强曲线逐渐上移(同电压下电流增大);第二幅表明了光伏单元输出功率随输出电压逐渐增大先逐渐增大,至最高点后再逐渐减小,同时随光照强度升高,功率峰值也逐渐变高。在部分阴影条件下,为了避免光伏阵列局部遮蔽而产生的热斑效应,在光伏单元组件旁并联二极管后,会造成光伏阵列输出呈多峰现象。本公开的方案在模拟部分阴影条件下光伏阵列输出特性时,采用多个光伏单元串联,并通过给不同光伏单元不同的光照条件来实现。当各光伏单元的光强为λa/b/c/d=1000/700/500/200w/m2时,光伏阵列组输出特性曲线如图2中pv1所示;当各光伏单元的光照强度变为λa/b/c/d=1000/500/300/100w/m2时,光伏阵列组输出特性曲线如图2中pv2所示;当各光伏单元的光强为λa/b/c/d=1000/800/650/500w/m2时,光伏阵列组输出特性曲线如图2中pv3所示。由于不同光照强度下光伏电池的输出p-v曲线不同,当各模块串联时且在避免热斑效应在每个光伏组件旁并联二极管后,该光出阵列整体输出p-v特性曲线如图所示,呈现出“多峰”现象,不同于单个光伏电池模块或在光伏阵列整体未被遮蔽时的p-v特性曲线,该曲线存在多个局部极值以及一个整体极值,同时受遮蔽程度影响,遮蔽轻度越高(体现于单个模块的光照强度输入),光伏阵列输出p-v曲线的整体极值越小。故在λa/b/c/d=1000/700/500/200w/m2时,曲线如pv1所示篇;当λa/b/c/d=1000/500/300/100w/m2时,曲线如pv2所示,相较于pv1有三个局部极值有所下降,整体极值也一并下降;当λa/b/c/d=1000/800/650/500w/m2时,p-v曲线如pv3所示,相较于pv1,有三个局部极值有所上升,整体极值也一并上升。通过在以上输出特性下进行mppt仿真控制,即可测试不同算法在mppt控制时的优劣。最大功率点跟踪技术(mppt),是通过确定光伏阵列实时最大功率,来控制dc/dc电路输出以将电能传输给负载。其控制方法根据优化算法的结果是否直接用于控制输出而分为两种,其一为直接控制法,该方法通过检测光伏阵列实时输出电压电流信息,通过该信息经过一定的寻优算法计算实时理论最大输出功率,并以此来控制dc/dc变换器的开关管,将电能传输给负载;其二为间接控制法,该算法将检测到的电压电流信息经过mppt算法处理后传递给pi控制器和优化器,优化器将结果优化并以此来调节pi控制器输出,经控制dc/dc变化器输出后将电能传递给负载。本文采用直接控制法来实现mppt控制。2.1天牛须算法原理及仿真建模天牛须搜索算法,是一种基于天牛觅食机制所构建的一种生物模型算法,该算法通过比较天牛左右两须所感知的食物气味强度,从而确定天牛下一步动作的方向,通过不断迭代进而促使天牛最终找到食物。通过该原理,天牛须算法可以通过少量计算来有效的处理优化问题,与遗传算法、粒子群算法等类似的是该算法同样不需要知道函数的具体形式以及梯度信息,仅需一只天牛个体即可有效寻优,处理速度显著提高。使用天牛须搜索算法进行mppt建模,可通过以下几个步骤:(1)初始化天牛须朝向并做归一化处理:其中,rands()为[-1.1]内的随机数,sd为空间维度。(2)创建天牛左右两须的空间坐标:其中,表示天牛的右触须在第k次迭代时的位置坐标;表示天牛的左触须在第k次迭代时的位置坐标;sk表示天牛在第k次迭代时的质心坐标;d0表示天牛两触须之间的距离。(3)根据此前所存储的最优值来判断天牛左右两触须的气味强度,以此来迭代更新天牛的位置:其中,stepk为第k次迭代后的步长因子;sign()为符号函数。2.2基于pso算法的mppt控制仿真建模(本节为粒子群算法的原始描述,相关符号含义符合原粒子群算法原始定义)pso算法是一种有效的多极值全局优化算法,其通过比较局部最优以及全局最优的方式来更新粒子位置信息,从而获取全局最优解。公式(7)和(8)定义了粒子速度与位置的更新方式:vt+1=w·vt+c1·r1·(pl-pt)+c2·r2·(pg-pt)(7)pt+1=vt+1+pt(8)其中,vt为第t次迭代的粒子群速度;c1、c2为加速系数;r1、r2为[0,1]内的随机数;pl为局部最优值;pg为全局最优值;pt为第t次迭代的粒子群位置。为了防止算法振荡,此处的粒子群权值w计算公式为:分别为权重w的最大值及最小值,此处设置为0.98与0.4其中,wt为第t次迭代时粒子群权值大小;maxgen为粒子群算法最大迭代次数。根据以上公式,由当前粒子最优位置即可找到当前光伏阵列最大功率点。在实际应用中,由于光伏阵列受环境阴影影响,其输出常常会快速变化,此时粒子群算法已陷入当前最优解,而无法快速响应当前参数变化,而重启算法则会重复整个寻优过程,引起较大的系统振荡。2.3基于pso改进的bas算法mppt仿真建模pso算法是一种有效的多极值全局优化算法,相较于只有一只天牛的bas算法,pso可以有效弥补其全局搜索能力不足的问题,能够更好的适应环境参数不断变化下的功率跟踪控制问题。在天牛的位置更新后,并不立即调整调制波,而是先将位置存储,再借由pso算法,将天牛此次循环内的最优位置与全局最优位置均作为参数,联合更新天牛位置,再以此调整调制波。这样既减少了开关动作次数,又能精确跟踪实时最大功率。(1)初始化天牛天牛位置、速度,步长因子step=10(自行设置)、粒子权重k为循环计数器,k=1:maxgen,本例中wmax=0.98,wmin=0.4,置零调制波m_out=zeros(1,sd)。s=zeros(1,sd)(step1)(2)设置天牛须长度以及步长因子、权重因子。由于天牛须算法解决局部最优解的能力依赖于天牛须长度,故此时天牛须长度需尽可能覆盖当场搜索区域,并随时间递减以防止算法后期振荡过大。综合考虑本文光伏阵列输出功率的局部极值差以及算法运行速度,此处设置步长因子step=10,并采用线性递减因子来优化步长因子:stepk+1=stepk·etak=(0,1,2,…,n)(10)其中eta取[0,1]之间靠近1的数,本文此处设置eta=0.9。本例中wmax=0.98,wmin=0.4(step2)(3)检测光伏阵列实时输出的电压电流,并将计算后得到的功率信息带入算法,并以此为基准来进行天牛须搜索。pk=uk×ik(step3)(4)更新天牛两须位置,并以此来更新天牛位置,若优于此前位置,则存储并更新粒子群速度。ifpk≥plbest存储此时p值,并更新调制波m:movestepk+1=w·movestepk+c1·r1·(slbest-sk)+c2·r2·(sgbest-sk)mk+1=movestepk+1+mk(step4-3)(5)根据当前粒子位置调整调制波并输出。mout=mk+1(step5)(6)停止策略,当天牛前后位置差值小于最大功率的1%时,停止迭代并保持当前输出。(7)算法重启,由于光伏阵列输出受环境温度影响相对较小,实际应用环境中出现温度骤降的概率较小同时考虑由温度小幅变化对光伏阵列输出造成的影响相对较小,故在此只考虑辐射强度变化对光伏阵列输出的影响。根据文献[5]可知自然条件下光照强度变化率不超过20w/m2;而本文中设置的光照强度突变所带来的功率变化率均大于50w/m2,故综合考虑,将光照突变率临界值设置为0.1,超过此值则重启算法。综上,算法流程图如图3a至图3e所示。步骤一:检测光伏阵列输出电压电压u、电流i,光伏阵列所接收的光照强度;(可删,看下方说明)步骤二:初始化天牛位置参数p=zeros(1,sd),sd为空间尺度(列表长度)、步长因子step=10(自行设置)、粒子权重k为循环计数器,k=1:maxgen(k从1循环增加至maxgen),本例中wmax=0.98,wmin=0.4,置零调制波m_out=zeros(1,sd);步骤三:根据之前测量输入量计算当前输出功率p=u*i,比较当前天牛局部最优位置plbest,若优于此前全局最优位置pgbest,则更新pgbest,否则pgbest保持不变;步骤四:更新步长因子step,eta为衰减因子,stepk+1=stepk·eta,即步长因子step每次循环衰减eta,更新天牛须位置dir=rands(1,sd)(这里使用随机数更新,也就是每次循环都随机生成,包括开始)步骤五:更新天牛位置d0为天牛两须之间的距离,计算方式为d0=step/c,c为常数,即大天牛走大步,小天牛走小步;则左右须的位置即为当前位置x加上(右须)/减去(左须)两须间距的一半0.5d0乘以当前方向(矢量);(step4-1)即天牛下一步位置为当前位置(本程序里为s)加上两须间距(左右须之差,用符号函数来确定±,即哪一边触须长往哪边移动)乘以步长再乘以方向(step4-2)(感觉可以跟上一步合并)步骤六:比较当前天牛位置s与此前局部最优值slbest,若当前位置s大于局部最优slbest,则更新局部最优值,否则回到步骤五;步骤七:根据当前天牛各位置信息更新调制波estepk+1=w·movestepk+c1·r1·(slbest-sk)+c2·r2·(sgbest-sk)mk+1=movestepk+1+mk(step4-3),同时防止调制波越界;(此处将全文占空比d调整描述为“调制波m”,符号相应做出变化,不改变原有程序,更贴近程序所表达的意思,下文同)越界:限制调制波在[-1,1]闭区间内,当调制波超上界时令其值为1,超下界时令其值为-1(这个默认都有,算是是专业基础共识,我看其他专利里也没写,防止文字冗余这半句(波浪线)不写也行)步骤八:判断是否达成停止条件(当天牛前后位置所对应的功率差值小于最大功率的1%时,停止迭代并保持当前输出。本公式即为停止条件)并输出调制波,若不满足则返回步骤三;步骤九:若外界环境参数发生变化(这里主要指光照强度,温度湿度等也会影响,工程上主要考虑光照强度及温度,其中温度变化造成的影响比较小,而且环境温度也不可能一下子变化很多,贴个图你就知道了:图8是30℃、25℃、20℃时的功率p、电流i随电压变化曲线,都挤在一起了,变化基本很小,所以程序里面只考虑了光照强度,图1可以看出影响有多大,此处就是在说明温度的影响,其他因素所造成的影响更小,mppt控制中很少考虑,或者这里直接写光照强度),则重启算法返回步骤二。3仿真及实验结果分析本系统仿真整体由光伏阵列、boost变换电路以及mppt控制模块组成。仿真运行结果由示波器模块进行采集及显示,其中,基准功率波形是直接采集光伏阵列输出电压电流并经计算所得,其余各算法的控制结果经采集boost变换器负载电压电流经计算所得。电路参数如下:boost变换器电感为0.01h,电容为0.3mf,负载电阻30ω。仿真算法为ode23tb,采样时间为1e-6s,示波器采样时间为1e-4s。在算法参数方面,其中pso算法种群数量为100,迭代次数20次;bas算法下为了尽量振荡幅度同时保持较快的响应速度,空间维度为10,迭代次数为10;bas+pso算法下空间维度为10,不同于pso算法,为了保持bas算法的快速寻优的优势,种群数量不宜过大,这里种群数量设置为20,迭代次数为20。根据此前分析得知,不同的光照强度所造成的多峰现象并不相同。为了验证算法的有效性,本实验将从静态和动态两个方面来考察算法在不同条件下的稳定性以及功率追踪效果。为了加强对比,在实验中分别采用了扰动观察法(perturbationandobservationmethod,p&o)、pso算法、bas算法以及基于pso改进的bas算法来进行实验。3.1静态多峰为模拟部分阴影条件下光伏阵列的静态输入环境,仿真选取参数如下:第一组λa/b/c/d=1000/700/500/200w/m2;第二组λa/b/c/d=1000/500/300/100w/m2;第三组λa/b/c/d=1000/800/650/500w/m2。使用前述4种算法(4种算法输出,一个参考输出)分别在此三种条件下进行仿真实验,实验结果如下:在参数组一下bas算法与bas+pso算法的mppt控制效果整体较好,其中bas控制下输出功率更高但振荡较大,bas+pso输出功率较之bas稍小但振荡幅度更小,两种算法均优于pso算法以及p&o算法。仿真结果如图4所示:为进一步比较各算法的控制效果,将仿真中的数据结果汇总如下表1。由此可见,相较于传统算法其余各算法均有较快的响应速度,其中以bas算法为基础的两种算法响应更快,同时拥有更大的输出功率。由于boost变换器本身具有抬输出高电压的功能此处相较于直接测量的光伏阵列输出电压,基于bas算法的两种控制算法下下的boost变换器输出功率更高,同时也从侧面反映了此时控制器工作于最大功率点下。表1参数组一下下各算法控制效果在参数组二下bas算法控制效果稍差与pso算法,而bas+pso算法仍保持较小的振荡与较好的控制输出功率,其效果优于其余三种算法。仿真结果如下图5所示。参数组2下的仿真数据结果汇总如下表2。与此前参数组1的结果相同,以bas算法为基础的两种控制算法保持了较快的响应速度。由于次时光伏阵列输出功率较低,且由图2中pv2曲线可见几个最大功率点数值较为接近,故几个算法下的负载功率较为接近。同时也可以看出此处pso算法以及bas+pso算法控制效果较为稳定。表2参数组二下下各算法控制效果在参数组三下,bas+pso算法保持了较大的输出功率与较小的振荡幅度,算法整体表现较好。参数组三下的算法仿真结果参数组3下的仿真数据结果汇总如下表3。与前两组结果相同,以bas算法为基础的两种控制算法依然保持了较快的响应速度,并有更大的输出功率。其中bas+pso算法控制效果相较于其他三种更为稳定。表3参数组三下下各算法控制效果3.2动态多峰在静态实验的基础下,为验证算法在动态条件下的可靠性,保持1、2、3组的参数不变,通过在仿真过程中按照“组1→组2→组3”的顺序变化参数并进行仿真。经实验对比,bas+pso算法mppt控制下的系统输出功率较高,整体振荡幅度较小。而bas算法下的功率波形虽然在除第二段以外均为最高,但在高功率的同时波形振荡幅度较大。在仿真中参数过渡时,bas+pso算法整体响应较快,且更快进入稳定状态;相比之下bas算法虽然也保持了较快的响应速度,但也保持了较大的振荡幅度。bas算法整体仿真效果稍逊于bas+pso算法。仿真波形如下图7所示。变化参数并进行仿真。经实验对比,bas+pso算法mppt控制下的系统输出功率较高,整体振荡幅度较小。而bas算法下的功率波形虽然在除第二段以外均为最高,但在高功率的同时波形振荡幅度较大。在仿真中参数过渡时,bas+pso算法整体响应较快,且更快进入稳定状态;相比之下bas算法虽然也保持了较快的响应速度,但也保持了较大的振荡幅度。bas算法整体仿真效果稍逊于bas+pso算法。仿真波形如下图7所示。数据结果汇总如下表4中所示。在动态参数下,pso算法与bas+pso算法保持了较快的响应速度与跟踪精度,其中bas+pso算法的控制效果更好。而bas算法在阶段二时功率下降更大但减小了振荡幅度,但又在阶段三时恢复了较大的振荡幅度,控制效果不够稳定。表4动态多峰下各算法控制效果table4thesimulationresultsofeachalgorithmunderdynamicmulti-peak针对部分阴影条件下光伏阵列的最大功率点跟踪问题,提出了利用pso算法的全局搜索思想改进了bas算法,新的算法在保留bas算法快速高效等特点的同时,保持了很好的全局搜索能力,使得算法在多峰函数下能够快速寻优,且不易陷入局部最优解。经过仿真平台测试,相较于bas算法,bas+pso算法虽然输出最大功率略小,但整体振荡幅度更小,响应更快,在静态和动态输入环境下均能很好地实现了部分阴影条件下最大功率点跟踪问题。而相较于pso算法与p&o算法,新算法的各项性能均表现良好,很好的满足了mppt的控制要求。尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1