光伏发电最大功率点跟踪MPPT(粒子群算法)

       光伏电池作为太阳能发电的核心部件,实现了太阳能到电能的转换,但是由于光伏电池器件本身的复杂性以及现如今光电材料的限制,光伏电池的转换效率总体来说还是比较低,而且其输出还是非线性的,并且光照强度和外界温度对其输出的影响也很大,这使得其本就不高的转化率进一步降低了。所以现如今对光伏电池输出特性的研究已经成为了光伏发电产业一大重要课题,为了充分利用光伏电池的输出量,最大程度的发挥光伏电池的作用,最好的策略是使光伏电池工作在最大功率点(MPP)上。为了实现这一目的,最大功率点追踪(MPPT)算法应运而生。理想的MPPT的作用就是使光伏电池一直工作在最大功率点上,当外界温度、光照等因素发生变化时,最大功率点会发生移动,它会自动追踪并稳定在最大功率点工作。

光伏发电最大功率点跟踪MPPT(粒子群算法)_第1张图片

图 光伏电池MPPT结构框图

最大功率点追踪的分类

    通常按照算法复杂度和智能度的进化,可以将MPPT算法大致分为三类:

    (1)基于数学模型,通过计算和拟合的算法

主要是固定电压法(CVT)和固定电流法(CIT)。这两个的工作原理有很大的相似之处,都是通过预测试得到光伏电池在光照强度、温度等外界条件不同时最大功率点(MPP)的电压或电流,这样我们就会得到一系列的离散的电压点或者电流点。而在实际光伏电池工作时,我们只需要检测当时的外界条件,就可以通过查表和简单的插值计算求出MPP处的近似电压或者近似电流,然后进行恒压控制。虽然CVT或者CIT看起来运算简单,而且追踪MPP的速度也十分可观。但是它的缺点也十分明显,毕竟它们跟踪到的值并不是实际的MPP,只是一个近似值。还有一个缺点就是经过长时间运行,光伏电池本身的特性也会发生变化,而这些变化也会引入误差,对MPP的判断造成干扰。

(2)自寻优控制算法

      这种方法主要通过结合控制理论的同时根据光伏电池的等效模型和外部特性实现自寻优的MPPT。现如今主要有基于阻抗匹配和基于P—U曲线单峰值这两类自寻优控制算法。但是由于基于阻抗匹配MPPT算法在计算等效内阻抗的时候运用的微分和差分运算会引入干扰,这会使得系统的信噪比降低,上述问题严重阻碍了这一方法的实际应用。

      基于P—U曲线单峰值MPPT算法主要有:扰动观察法、电导增量法以及这两种算法的改进算法。

      通常扰动观察法的具体步骤大致可以分为两步,第一步我们需要先设置一个扰动,即在间隔一个采样周期后,以一个固定的步长增大或着减小光伏电池的输出电压值;第二步需要观察光伏电池的输出功率是增大还是减少,如果输出功率增加的话,之后就进行同向的扰动,反之,就进行反向的扰动。在经过了多次扰动后,光伏电池的输出功率就会达到MPP,或者是在MPP左右来回小幅度的震荡。

      电导增量法是通过设定一些很小的步长,来判断当前是工作在MPP的哪侧,使光伏电池稳定在MPP附近的邻域里。当曲线斜率时,工作在MPP右侧,通过增大光伏电池输出电流的参考值来减小直流母线侧的电压,使得达到MPP;当曲线斜率时,工作在MPP左侧,通过减小光伏电池输出电流的参考值来增大直流母线侧的电压,使得达到MPP。电导增量法可以根据输出电流的变化来对蓄电池稳态变化做出正确的判断。

      扰动观察法和电导增量法采用的是一种功率反馈的方式,虽然它们在硬件实现上比较简单,但是它们也有个明显的缺点:由于电压调整步长是固定的,即使达到稳定状态,它的实际工作点也会在最大功率点处来回晃动,这会造成一定程度上光伏输出功率的损失。虽然选择较小的步长会在一定程度上减缓在MPP的晃动现象,提高它的追踪精度,但是这也会使得其追踪速度大幅度地降低。

(3)智能化控制算法

      随着现如今智能控制的飞速发展,一些学者也开始尝试将智能控制的方法用于光伏发电系统的MPPT中。智能化控制算法虽然相对于自寻优控制算法有较高的优越性,但是它也具有很多缺点。例如:模糊控制方法过度依赖于模糊规则的选取,而这常常需要操作者在这方面有很丰富的经验;人工神经网络、蚁群优化、粒子群算法这类智能算法的实现往往是建立在大量数据的基础上的。为了获得很好的结果,智能算法就需要比较长的运算周期和性能十分良好的硬件平台,这在一定程度上阻碍了其在现代工业控制中的应用。

    本文采用了粒子群算法实现光伏电池的MPPT,下面将对其进行详细介绍。

粒子群算法研究

工作原理

    粒子群算法最开始是由Kennedy和Eberhart在1995共同提出的,其基本思想是每个的潜在解都是搜索空间的粒子,所有的粒子都有一个被优化的函数决定的,每个粒子还有一个速度向量决定它们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中进行搜索。

    粒子群中的初始位置是在搜索区域内随机产生的,每个粒子群的初始速度也是随机。在搜索过程中,粒子群和每个粒子所经历的最好的位置及相应的适应度函数值都分别被记忆下来。粒子群优化算法的基本概念在于加速每个粒子朝它自己所经历的和种群所经历的最好位置移动。

    根据粒子群算法的工作原理可以得到它的算法实现流程图如下:

光伏发电最大功率点跟踪MPPT(粒子群算法)_第2张图片

图 粒子群算法实现流程图

仿真验证

       在进行MPPT算法仿真测试时,设置光伏电池当光照强度为1000w/㎡,温度为25℃时的最大功率点(MPP)处的I=3.96A、V=33.68v。仿真得到光伏电池的U-I特性曲线如下图:

光伏发电最大功率点跟踪MPPT(粒子群算法)_第3张图片

图 光伏电池U-I特性曲线

    根据光伏电池的输出特性,可以得知对于外界条件恒定的输出功率为单峰值光伏电池模型,它的U-I特性曲线的拐点处为最大功率点。或许这样还不易判断仿真曲线是否与我们设置的最大功率点吻合,但经过数学计算的最大功率点的功率应该为P=33.68*3.96≈133w。

光伏发电最大功率点跟踪MPPT(粒子群算法)_第4张图片

图 光伏电池P-I特性曲线

     下一步将对应用粒子群算法实现MPPT的模型进行仿真,MPPT的Simulink仿真模型如下图所示。

光伏发电最大功率点跟踪MPPT(粒子群算法)_第5张图片

图 粒子群算法MPPT的Simulink仿真模型

MPPT粒子群算法

global D;
global v; %初始化粒子群参数-速度
global P; %计算每次迭代的功率
global P_wending_best;%一次搜索结束后最大功率值

 for k=1:3
                                v_old=v(k);
                                w=W_max-N/15*(W_max-W_min);
                                c1=C_1_max-N/15*(C_1_max-C_1_min);
                                c2=C_2_min+N/15*(C_2_max-C_2_min);
                                v(k)=w*v_old+c1*rand(1)*(dd(k)-D(k))+c2*rand(1)*(DD-D(k));
                                D_old=D(k);
                                D(k)=D_old+v(k);
                                if D(k)<0.1
                                    D(k)=0.1;
                                end
                                if D(k)>0.9
                                    D(k)=0.9;
                                end
            
                        end
                        %disp('更新的速度与占空比位置');disp(v);disp(D);
                    M=1;
                    N=N+1;
                   
                    disp('最优占空比和最大功率值');disp(N-1);disp(DD);disp(Pbest);
                    %disp('粒子各自的最好值');disp(dd);disp(pbest);
                    disp('排序前');disp(D);disp(pbest);
                    if rem(N,2)==1       %粒子群粒子进行排序  按占空比从小到大  再从大到小

     在该模型中,主要运用S-Function模块将编写好的扰动观察法封装成一个子系统,该系统将光伏电池输出电压和输出电流作为输入,输出控制Mosfet开关的占空比,通过占空比调节外部阻抗使其与内阻相等,这使光伏电池工作在最大功率点上。从图中可以看出光伏电池在4s左右通过MPPT追踪到MPP,并在之后的时间里在最大功率点工作。

光伏发电最大功率点跟踪MPPT(粒子群算法)_第6张图片

图 粒子群算法光伏电池输出功率曲线

你可能感兴趣的:(光伏发电,算法,能源,matlab)