【Simulink】光伏电池MPPT(恒定电压法+增量电导法+扰动观察法及其改进方法)

上一篇博客介绍了光伏电池的数学模型,并应用FCS-MPC和扰动观察法进行了初步仿真,但还没有分析MPPT算法原理,这篇博客重点介绍这部分。
👉 【Simulink】光伏电池数学模型公式推导和初步仿真

1. 几种常见的MPPT方法简介

光伏电池最大功率点跟踪(Maximum Power Point Tracking, MPPT)是一种关键的技术,用于最大化光伏系统的能量转换效率。本文主要介绍三种主流的在线MPPT方法:恒定电压法 + 增量电导法(固定步长、变步长、增量电导+PI) + 扰动观察法(固定步长、变步长)

1️⃣ 恒定电压法(Constant Voltage)

该方法通过设定光伏电池的输出电压在一个预设值,以近似最大功率点

光伏电池生产厂家一般会提供 U m U_m Um 的数值,通过采集光伏电池输出电压 U p v U_{pv} Upv 并与 U m U_m Um 数值进行比较和修正,达到最大功率输出。这种方法简单,但对光照变化的适应性较差,通常用于光照条件相对稳定的环境。

2️⃣ 增量电导法(Incremental Conductance)

该方法通过比较电导的增量和电流、电压的关系来确定最大功率点。

根据上一篇博客的仿真结果,在外部温度和光照强度一定时,P-U特性曲线有且仅有一个最大功率点 P m P_m Pm,且其对应电压的导数等于零,即 d P / d U dP/dU dP/dU=0,而 P = U I P =UI P=UI,则在最大功率点有:
d P d U = I + U d I d U = 0 \frac{d P}{d U}=I+U \frac{d I}{d U}=0 dUdP=I+UdUdI=0
由此可得出:
d I d U = − I U \frac{d I}{d U}=-\frac{I}{U} dUdI=UI

当曲线斜率 d I / d U < 0 dI/dU<0 dI/dU<0时,工作在最大功率点右侧,这时需要增大光伏电池输出电流的参考值来减小直流母线侧的电压,以达到最大功率点;当曲线斜率 d I / d U > 0 dI/dU>0 dI/dU>0时,工作在最大功率点左侧,这时需要减小光伏电池输出电流的参考值来增大直流母线侧的电压,以达到最大功率点。

在这里插入图片描述

注意电压扰动方向和占空比扰动方向是相反的。

3️⃣ 扰动观察法(Perturb and Observe, P&O)

该方法通过不断地扰动光伏电池的工作点观察输出功率的变化

如果功率增加,则持续扰动;若功率减少,则方向反向扰动。这种方法简单易实现,但在快速变化的环境条件下,可能导致功率过冲或不稳定。

在这里插入图片描述

2. Simulink仿真

电路和上一篇博客的设置类似。

在这里插入图片描述

1️⃣ 恒定电压法(Constant Voltage)

在这里插入图片描述

光伏输出电压:

在这里插入图片描述

光伏输出功率:

在这里插入图片描述

2️⃣ 增量电导法(Incremental Conductance)

固定步长

这里把占空比的扰动步长设为1e-6(固定)
写成子系统形式:
在这里插入图片描述

或者用 Matlab Function 编程,核心代码:

if dU==0
    if dI==0
        D=D_last;
    elseif dI>0
        D=D_last-deltaD;
    else
        D=D_last+deltaD;
    end

    elseif dI/dU+Ipv/Upv==0
        D=D_last;

    elseif dI/dU+Ipv/Upv>0
        D=D_last-deltaD;

else
        D=D_last+deltaD;
end

两种形式的效果都是一样的。

光伏输出电压:

在这里插入图片描述

光伏输出功率:

在这里插入图片描述

将步长从1e-6改成2e-6

光伏输出电压:

在这里插入图片描述

光伏输出功率:

在这里插入图片描述

变步长

当远离最大功率点时,P-U曲线斜率 ( d P / d U ) (dP/dU) (dP/dU) 的绝对值数值较大,而在接近最大功率点时数值较小,因此可以根据 ( d P / d U ) (dP/dU) (dP/dU) 作步长调整。

核心代码:

if dU~=0
    deltaD=1e-6*0.01*abs(dP/dU);
end

if dU==0
    if dI==0
        D=D_last;
    elseif dI>0
        D=D_last-deltaD;
    else
        D=D_last+deltaD;
    end

    elseif dI/dU+Ipv/Upv==0
        D=D_last;

    elseif dI/dU+Ipv/Upv>0
        D=D_last-deltaD;

else
        D=D_last+deltaD;
end

步长:

在这里插入图片描述

光伏输出电压:

在这里插入图片描述

光伏输出功率:

在这里插入图片描述

增量电导+PI

在固定步长(1e-6)的增量电导原方法基础上,用 PI 减小误差 ( d I / d V + I / V ) (dI/dV + I/V) (dI/dV+I/V)
在这里插入图片描述

光伏输出电压:

在这里插入图片描述

光伏输出功率:

在这里插入图片描述

相比于原方法,跟踪速度加快了一点。

3️⃣ 扰动观察法(Perturb and Observe, P&O)

固定步长

这里把占空比的扰动步长设为1e-6(固定)

子系统形式:
在这里插入图片描述

Matlab Function 核心代码:

if dU==0 || dP==0
    D=D_last;
    elseif (dU*dP>0)
        D=D_last-deltaD;
    else
    D=D_last+deltaD;            
end

两种编程形式结果都是一样的。

光伏输出电压:

在这里插入图片描述

光伏输出功率:

在这里插入图片描述

变步长

同增量电导法,作步长变化。

if dU==0 || dP==0
    D=D_last;
elseif (dU*dP>0)        
    D=D_last-deltaD;
else
    D=D_last+deltaD;            
end

步长:

在这里插入图片描述

光伏输出电压:

在这里插入图片描述

光伏输出功率:

在这里插入图片描述

当然,还有其他变步长的设置方式,大家可以自行探索。

仿真下载

参考

[1] 殷丽娟.基于模型预测控制的光伏系统最大功率点跟踪技术研究[D].湖北工业大学,2016.

[2] 孙泽涛.光伏发电系统中MPPT和并网控制策略的研究[D].安徽理工大学,2022.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不雨_亦潇潇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值