外推追赶迭代法的MPPT算法的仿真方法技术领域
本发明涉及一种外推追赶迭代法的MPPT算法的仿真方法。
背景技术
在现在光伏发电系统中,通常要求光伏阵列的输出功率始终保持在最大,最大功
率点跟踪(MPPT)技术就成为光伏发电系统必不可少的一个环节。MPPT就是通过实时变更系
统负载特性来调整太阳能电池的工作点,最终使之在不同的温度和日照环境下也能工作在
最大功率点上。国内外知名学者提出了多种对最大功率点跟踪的方法,最为常见的有:扰动
观察法、改进的电导增量法、开路电压法、最大梯度法、恒定电流跟踪法等。其中扰动观察法
和电导增量法是目前最常用的最大功率跟踪方法。虽然以上算法在系统环境变化的条件下
具有不错的跟踪效果,但是控制的精度往往由传感器自身的精度所限制。例如,开路电压
法:系统的控制算法简单,不会出现震荡现象,稳定性较好,但是控制精度却很低;最大梯度
法:当外界环境剧烈变化,如阴影遮挡瞬间,容易造成系统控制过程对最大功率点的误判现
象,从而影响整个系统的稳定运行;扰动观察法:控制回路采用了模块化,跟踪效果简单明
了,很容易实现,弊端就是不能精准地跟踪最大功率,只能在最大功率点附近波动,这样造
成了一部分功率损失。
发明内容
本发明的目的在于提供一种具有优异的稳定性、准确性和快速性的外推追赶迭代
法的MPPT算法的仿真方法。
本发明的技术解决方案是:
一种外推追赶迭代法的MPPT算法的仿真方法,其特征是:包括下列步骤:
(一)采用变步长外推法为实际控制过程算法,过程如下:
第一步:给定任意步长,用梯形公式计算积分近似值
其中:T1为梯形求积公式求得的值;a、b为区间的两个端点;f(a)为区间端点a对应
的值;f(b)为区间端点b对应的值;
第二步:按变步长外推法再次求取积分近似值。令
计算此时的T2n:
其中:h为步长;T2n为把区间分为2n等分时,在每一个小区间内用梯形求积公式求
得的值;为小区间左端点[xi,xi+1]的中点;n为第n等分;
第三步:对于精度控制,当且仅当|R2n-Rn|<ε时,停止计算,取此时的R2n为下一步的
近似值,否则继续将步长折半,转第二步执行;
其中:R2n为第2n等分时的误差;Rn为第n等分时的误差;ε为精度;
(二)采用追赶迭代法进行优化
在仿真过程中,每次对输出功率进行迭代时,用Ik,Uk的全部分量进行乘积,求出此
时的pk,将所求值重新带入迭代公式,求出新的Ik+1,Uk+1,pk+1,这样的过程使得计算时需要
保留两个近似解pk,pk+1,这样对已经计算出来的信息就造成了浪费,使迭代过程步骤增加,
降低运算速度;对迭代过程运用外推法进行改进,每计算出来一个新的分量便立刻用此新
数据取代对应的旧数据进行迭代,则收敛速度更快,并且此时只需要存储一个最新的数据
即可;
其中:Ik为K步时的电流值;Uk为K步时的电压值;pk为K步时的功率值;Ik+1为K+1步
时的电流值;Uk+1为K+1步时的电压值;pk+1为K+1步时的功率值。
步骤(一)的实际算法流程为:
第一步:开始
第二步:输入区间的两个端点值a,b以及要求的精度ε;测量k时刻PV光伏阵列输出
的电压U(k),电流I(k),并计算此时的功率P(k);
第三步:将k赋值为1,k从1开始取值,步长h取值为b-a;为保证功率为最新采样值
P1,利用梯形公式T1=(b-a)[f(a)+f(b)]/2=h[f(a)+f(b]/2,求出此时的P1;
第四步:采集(k+1)T时刻的电压U(k+1),电流I(k+1),计算功率P(k+1);计算此时的△P
=P(k+1)-P(k);
第五步:判断△P≥ε?;
第六步:如若成立,将此时得电压增量△U赋值为0,步长的初值x赋值为a+h/2,反
之,此时的电压U赋值为U+△U,步长的初值x赋值为x+h;
第七步:循环以上步骤,计算步长h=(b-a)/2i(i=0,1,2...),精度ε=(b-a)
[P(k+1)+P(k)];
第八步:判断此时的△P>b-a?;
第九步:如若成立,电压增量△U赋值为-△U;反之,直接执行下一步;
第十步:Uref(k+1)=Uref(k)+△U;
第十一步:返回重新采样,输出;
其中:P1为功率的初始值;x为步长的初始值;ε为精度;Ik为K步时的电流值;Uk为K
步时的电压值;pk为K步时的功率值;pk+1为K+1步时的功率值;Ik+1为K+1步时的电流值;Uk+1
为K+1步时的电压值;K为第K步;h为步长;a、b为区间的两个端点;△P为功率的变化量;△U
为电压的变化量;Uref(k+1)为K+1时参考电压值;Uref(k)为K时参考电压值。
所述的外推追赶迭代法的MPPT算法的仿真方法,其特征是:步骤(二)的实际算法
流程为:
第一步:测量第k步时的电压Uik、电流
第二步:计算功率△Pk,△U=Uik+1-Uik;
第三步:对于变量i=1,2,3...的取值执行追的过程;
第四步:判断△Pk<0?;
第五步:如若成立,判断此时Uik+1>Uik?;
第六步:如若同时满足第四、第五步则执行Urefk+1=Urefk-△U;否则执行Urefk+1=
Urefk+△U;
第七步:对于变量i=n-1,n-2,n-3...进行取值,对变量i执行赶的过程;
第八步:重新对电压Uk,电流Ik进行赋值;
第九步:返回,并输出;
其中:Ik为K步时的电流值;Uk为K步时的电压值;pk为K步时的功率值;Ik+1为K+1步
时的电流值;Uk+1为K+1步时的电压值;pk+1为K+1步时的功率值;K为第K步;△U为电压的变化
量;△P为功率的变化量;Uref(k+1)为K+1时参考电压值;Uref(k)为K时参考电压值;a、b为区
间的两个端点;ε为精度。
本发明与常用的控制算法实现的仿真图和数据进行细致分析和比较,具有优异的
稳定性、准确性和快速性。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是变步长外推法流程图。
图2是追赶迭代法控制流程图。
图3是光伏电池的仿真图。
图4、图5分别是扰动观察控制算法搭建模型图、外推追赶迭代控制算法搭建模型
图。
图6、图7分别是扰动观察法输出功率图、外推追赶迭代法输出功率图。
图8、图9分别是扰动观察法输出功率局部放大图、外推追赶迭代法输出功率局部
放大图。
图10是100KW光伏系统的仿真图。
图11是给定光照强度的变化曲线图。
图12是扰动观察法功率输出图。
图13是变步长外推追赶迭代法功率输出波形图。
具体实施方式
一种外推追赶迭代法的MPPT算法的仿真方法,包括下列步骤:
(一)采用变步长外推法为实际控制过程算法,过程如下:
第一步:给定任意步长,用梯形公式计算积分近似值
其中:T1为梯形求积公式求得的值;a、b为区间的两个端点;f(a)为区间端点a对应
的值;f(b)为区间端点b对应的值;
第二步:按变步长外推法再次求取积分近似值。令
计算此时的T2n:
其中:h为步长;T2n为把区间分为2n等分时,在每一个小区间内用梯形求积公式求
得的值;为小区间左端点[xi,xi+1]的中点;n为第n等分;
第三步:对于精度控制,当且仅当|R2n-Rn|<ε时,停止计算,取此时的R2n为下一步的
近似值,否则继续将步长折半,转第二步执行;
其中:R2n为第2n等分时的误差;Rn为第n等分时的误差;ε为精度;
(二)采用追赶迭代法进行优化
在仿真过程中,每次对输出功率进行迭代时,用Ik,Uk的全部分量进行乘积,求出此
时的pk,将所求值重新带入迭代公式,求出新的Ik+1,Uk+1,pk+1,这样的过程使得计算时需要
保留两个近似解pk,pk+1,这样对已经计算出来的信息就造成了浪费,使迭代过程步骤增加,
降低运算速度;对迭代过程运用外推法进行改进,每计算出来一个新的分量便立刻用此新
数据取代对应的旧数据进行迭代,则收敛速度更快,并且此时只需要存储一个最新的数据
即可;
其中:Ik为K步时的电流值;Uk为K步时的电压值;pk为K步时的功率值;Ik+1为K+1步
时的电流值;Uk+1为K+1步时的电压值;pk+1为K+1步时的功率值。
步骤(一)的实际算法流程为:
第一步:开始
第二步:输入区间的两个端点值a,b以及要求的精度ε;测量k时刻PV光伏阵列输出
的电压U(k),电流I(k),并计算此时的功率P(k);
第三步:将k赋值为1,k从1开始取值,步长h取值为b-a;为保证功率为最新采样值
P1,利用梯形公式T1=(b-a)[f(a)+f(b)]/2=h[f(a)+f(b]/2,求出此时的P1;
第四步:采集(k+1)T时刻的电压U(k+1),电流I(k+1),计算功率P(k+1);计算此时的△P
=P(k+1)-P(k);
第五步:判断△P≥ε?;
第六步:如若成立,将此时得电压增量△U赋值为0,步长的初值x赋值为a+h/2,反
之,此时的电压U赋值为U+△U,步长的初值x赋值为x+h;
第七步:循环以上步骤,计算步长h=(b-a)/2i(i=0,1,2...),精度ε=(b-a)
[P(k+1)+P(k)];
第八步:判断此时的△P>b-a?;
第九步:如若成立,电压增量△U赋值为-△U;反之,直接执行下一步;
第十步:Uref(k+1)=Uref(k)+△U;
第十一步:返回重新采样,输出;
其中:P1为功率的初始值;x为步长的初始值;ε为精度;Ik为K步时的电流值;Uk为K
步时的电压值;pk为K步时的功率值;pk+1为K+1步时的功率值;Ik+1为K+1步时的电流值;Uk+1
为K+1步时的电压值;K为第K步;h为步长;a、b为区间的两个端点;△P为功率的变化量;△U
为电压的变化量;Uref(k+1)为K+1时参考电压值;Uref(k)为K时参考电压值。
所述的外推追赶迭代法的MPPT算法的仿真方法,其特征是:步骤(二)的实际算法
流程为:
第一步:测量第k步时的电压Uik、电流
第二步:计算功率△Pk,△U=Uik+1-Uik;
第三步:对于变量i=1,2,3...的取值执行追的过程;
第四步:判断△Pk<0?;
第五步:如若成立,判断此时Uik+1>Uik?;
第六步:如若同时满足第四、第五步则执行Urefk+1=Urefk-△U;否则执行Urefk+1=
Urefk+△U;
第七步:对于变量i=n-1,n-2,n-3...进行取值,对变量i执行赶的过程;
第八步:重新对电压Uk,电流Ik进行赋值;
第九步:返回,并输出;
其中:Ik为K步时的电流值;Uk为K步时的电压值;pk为K步时的功率值;Ik+1为K+1步
时的电流值;Uk+1为K+1步时的电压值;pk+1为K+1步时的功率值;K为第K步;△U为电压的变化
量;△P为功率的变化量;Uref(k+1)为K+1时参考电压值;Uref(k)为K时参考电压值;a、b为区
间的两个端点;ε为精度。
变步长外推法的原理:
在对最大功率点控制算法的实现过程中,需要给出恰当的步长如果
步长取的太大,则精度难以满足。如果步长取的太小,将会导致控制过程中计算量的增大。
在系统仿真之前给与一个恰当的步长,往往不易实现。在实际仿真中,常常采用变步长的方
法,基本思想是:在步长依次减半的过程中,反复利用求积公式进行运算,直至两次步长折
半后的积分差值的绝对值|I2n(f)-In(f)|<允许的精度σ,则求积过程结束,并且将最新的I2n
(f)作为新的求积近似值。将时间[a,b]进行n等分,则步长为Tn为:
如果将[a,b]区间2n等分,则步长也将变为原来的一半,则此时步长为而此
时的T2n为:
对于复合求积公式其算法是绝对收敛的,因此,用折半的方法构造出近似值的序
列为T(h),而在实际控制过程中,常常运用一个近似序列T1,T2,
...Tn,.....,去不断逼近精确值T,恰好序列{Ti}(i=1,2...)又通常与区间的步长息息相
关。但是,由于这种算法的收敛速度较慢,而在实际控制过程中如何提高收敛速度节省计算
量成为了一个新的问题,针对这一点不足,将以上算法进行改进,推广到更一般的情况。给
定一个收敛序列使其收敛到f(0),在此收敛数列的基础上再构造一个新的收敛
序列使其能够更快地收敛于f(0),这样就使算法得到二次加速。
具体运用于本文的实现过程如下,首先对任意给定步长h进行泰勒展开:
如果此时的f'(0)≠0,那么此时逼近f(0)的阶都是O(h)。现在将(3)、(4)
两个式子进行改进,得到:
如果此时f”(0)≠0,那么逼近f(0)的误差阶为O(h2)。即新序列
比旧的序列f(h)更快的收敛于f(0),以此类推,可以继续用f1(h)生成新的
f2(h)序列,使其更迅速地收敛于f(0),由于
对(6)、(7)进行化简,有:
如果此时f”'(0)≠0,那么序列{f2(h)}逼近f(0)的误差阶就为O(h3)。
以上推理过程很好地说明了可以利用近似值推算出更加精确的近似值,是一种加
速收敛的算法,而且展开次数越高,控制精度也越高。
仿真结果及数据分析
系统搭建及仿真
为实现大型光伏阵列组件的优化利用,国内外许多学者对光伏电池的建模[10-12]
及最大功率点跟踪方法进行了广泛研究[13-16]。根据相应的理论分析以及控制算法框图,首
先利用Matlab软件在Simulink环境下搭建光伏电池的数学仿真模型如图3所示,在这里,仿
真参数的选择采取生产商提供的数据以日普生公司生产的150W太阳能电池板的参数为依
据(如表1所示)。分别采用变步长外推追赶迭代法与扰动观察法进行仿真比较。
表1:150W光伏电池参数
以上图3及图4和图5分别是对光伏电池和两种MPPT算法搭建的系统仿真模型。为
了验证该算法的优越性,在Matlab软件中搭建规模为2×2的光伏阵列,其在标准情况下最
大功率为600W。为了研究光照变化对其输出功率的影响,做以下仿真分析:光照强度在0.5s
时从1000W/m2突然降低为600W/m2。
图6、图7为仿真结果输出,由图6、图7可知,变步长外推追赶迭代法不管在系统运
行开始时还是在光照强度突变时,其最大功率跟踪效果都比扰动观察法更具优势。
图8、图9为功率局部放大图,表明了外推追赶迭代法能够在跟踪到最大功率点后
稳定在最大功率点处工作,而扰动观察法却在最大功率点处不断震荡,造成部分功率损失。
综上,本文提出的算法能很好的改善系统稳定性,具有快速的跟踪效果。
最后,为了验证该算法能够适应不同环境变化,将该控制算法应用到整个光伏发
电系统中进行系统仿真。为了更好地验证该算法的优越性,搭建了100KW光伏并网发电系统
仿真模型,如图10所示。
仿真结果及分析
分别采用扰动观察法与变步长外推追赶迭代法进行仿真比较,图11是给定光照强
度,首先模拟光照强度逐渐降低(升高),直至光照达到最低(高)值,然后模拟由于阴影或天
气突变导致的光照突然下降(升高)时系统对最大功率的跟踪过程。
由图12功率输出波形很容易看出,扰动观察法的控制虽然简单,算法也通俗易懂,
而且对硬件设施的要求也不高,实现过程比较方便,其不足主要如下:对于扰动观察法,其
最难控制的问题往往在于扰动步长的设定,步长过长,系统的跟踪速度很快,但当光照强度
发生剧烈变化时最大功率点也会发生较大的波动,即使光照强度均匀变化,输出功率变化
过程也有所波动,仍有一些弊端亟待解决。
仿真图及数值分析表如下所示:图12为扰动观察法下的最大功率点输出波形,对
应的表2为迭代输出的具体数值。
表2扰动观察法功率输出
由表2很清楚地看出,对于扰动观察法系统会在最大功率点(MPP)处剧烈震荡,会
造成功率的大量损耗,虽然减小扰动步长,会使得系统在MPP的震荡降低,这样带来的不利
因素就是系统跟踪MPP的速度变慢,系统反应变得迟钝。当光强发生较大变化时,扰动观察
法会发生对系统的误判,误判带来的直接后果就是导致整个系统出现剧烈、大幅度震荡,直
至母线电压崩溃。
对比图12,图13功率P/W实时跟踪仿真曲线很容易看出,对于整个光伏系统扰动观
察法需要0.5s才完全进入稳定运行状态,而变步长外推追赶迭代法只需要0.35s就实现了
稳态运行且启动过程震荡很小。速度远远快于扰动观察法的启动速度,即使光照突变,系统
对最大功率点的跟踪也几乎没有震荡。当光照强度逐渐增加(逐渐减少)时,功率也随之平
稳增大(平稳减小),当光照强度突然增加(突然减小)时,系统能够迅速反应,使功率输出也
迅速增大(降低),重新回到此时光照强度输出的最大功率点上。
表3变步长外推追赶迭代法功率输出结果
对比表2,表3仿真数据输出结果易得,扰动观察法要想达到与外推追赶迭代法相
同的精度要求需要8次迭代才能实现,而外推追赶迭代法迭代次数很少,仅仅需要4次迭代
就能完全达到跟踪精度和控制要求。
通过对上述两种方法的仿真数据进行分析,可以看出两种方法的最优值是相同
的,这保证了系统跟踪的精准性。很明显变步长外推追赶迭代法的迭代次数明显少于扰动
观察法,从而提高了整个系统的工作效率。
与原有的算法相比具有以下几点优点:
该算法是一种加速收敛的算法,可以避免由于瞬时物理量检测时给系统带来的扰
动,降低对系统硬件的依赖,从而保证系统运行时的稳定性,确保跟踪速度的同时,可以提
高精度。
将该算法应用于100KW光伏发电系统中,根据仿真结果很容易看出,整个光伏系统
只需要0.35s就已经进入稳态运行状态,速度远远超过扰动观察法的启动速度。
随着光照强度的变化对最大功率点有很好的跟踪效果,即使光照突变也几乎没有
震荡。证明了该算法不仅具有扰动观察法的优点,而且具有响应速度快,迭代次数少等优
点。达到了预期的设计目的,无论在跟踪速度上还是在跟踪精度都表现出了很明显的优越
性,具有很好的应用和推广价值。