主要内容

使用极值搜索控制在太阳能光伏系统中实现最大功率点跟踪

R2026b
自 R2025a 起

此示例说明如何使用极值搜索控制 (ESC) 在太阳能光伏 (PV) 系统中实现最大功率点跟踪 (MPPT) 算法。该示例通过控制用于对接太阳能光伏系统的升压转换器的功率输出来实现这一目标。

被控对象模型基于 Simscape™ Electrical™ 示例采用升压转换器的 MPPT 太阳能光伏系统 (Simscape Electrical)。此示例基于该被控对象模型,重点关注针对此可再生能源应用设计极值搜索控制。

使用升压转换器在太阳能光伏系统中实现 MPPT

此示例使用升压 DC-DC 转换器来控制太阳能光伏功率。升压转换器在 MPPT 模式下运行,以便在给定的入射辐照度和电池板温度条件下,实现太阳能光伏电站的最大发电功率。Solar Plant 子系统对包含并联太阳能电池板组串的太阳能电站进行建模。Simscape™ Electrical™ 库中的 Solar Cell 模块用于对太阳能电池板进行建模。在此示例中,假设所有太阳能电池板上的辐照度和温度保持一致。

加载实时脚本 ESCSolarPVMPPTBoostData 中定义的太阳能光伏电站和升压转换器参数。

run("ESCSolarPVMPPTBoostData");
***********************************************************************************************
****                PV Plant Parameters for the Specified Solar Panel                 ****
***********************************************************************************************
*** Power rating input from the user  =  2.00 kW 
*** Minimum number of panel required per string  =  8 
*** Maximum number of panel connected per string without reaching maximum voltage  =  10 
*** Minimum power rating of the solar PV plant  =  1.80 kW 
*** Maximum power possible per string without reaching maximum DC voltage  =  2.25 kW 
*** Actual number of panel per string  =  9 
*** Number of strings connected in parallel  =  1 
*** Actual solar PV plant power  =  2.03 kW
***********************************************************************************************

基于极值搜索控制的 MPPT

为了实现令人满意的控制性能,极值搜索控制器实时调整控制参数,以最大化目标函数。此示例使用太阳能光伏的瞬时功率作为目标函数,该功率取决于电流 Ipv 和电压 Vpv。

J=IpvVpv

由于选择了瞬时功率作为目标函数,ESC 模块直接最大化太阳能光伏的功率输出。指定电压设定点 Vmpp 的初始猜测值。

Vmpp_ini = solarPlant.startMPPTValue;

指定极值搜索控制参数

Simulink® Control Design™ 软件通过 Extremum Seeking Control 模块实现 ESC 算法。配置该模块的参数。

指定待调节参数数量,即电压设定点 Vmpp。

N = 1;

指定学习率 lr,方法是将该值从默认值 1 开始逐渐增大,直至达到稳定和收敛。在此示例中,使用与其他 MPPT 示例相同的值来指定初始条件 IC。

lr = 10;
IC = Vmpp_ini;

通过指定频率 (omega)、相位(phi_1 和 phi_2)和振幅(a 和 b),配置解调与调制信号。

omega = 100;  % Forcing frequency
a = 0.25;     % Demodulation amplitude
b = 0.025;    % Modulation amplitude
phi_1 = 0;    % Demodulation phase
phi_2 = 0;    % Modulation phase

使用低通滤波器去除解调信号中的高频噪声。将滤波器的截止频率指定为 1 弧度/秒。

omega_lpf = 1;

对使用 MPPT 的太阳能光伏系统进行仿真

要研究基于 ESC 的 MPPT 控制器,请打开 ESCSolarPVMPPT 模型。

mdl = "ESCSolarPVMPPT";
open_system(mdl)

通过在 PV Control 模块中直接构造目标函数来实现 ESC 算法。与其他 MPPT 算法相比,基于 ESC 的算法要简单得多。

open_system(mdl + "/PV Control/Maximum Power Point/MPPT/ExtremumSeeking")

对模型进行仿真,以展示恒定辐照度下的 MPPT 控制性能。

sim(mdl,"StopTime","0.5");

下图显示了太阳辐照度为 1000 时的仿真响应。太阳能输出功率在约 50 毫秒内迅速达到其最大值。这种快速响应使太阳能发电系统的响应速度比使用传统 MPPT 算法快得多。

或者,您也切换为可变辐照度,检验 MPPT 控制器在不同工况下的性能。例如,您可以将 Signal Editor 模块的活动场景设置为 RampVaryingSolar1000_6000,其中辐照度以 50 为步长,由 1000 下降至 600,如下图所示。然后,您可以在可变太阳辐照度下运行完整仿真,并观测控制器性能。

结论

此示例说明了如何在太阳能光伏 (PV) 系统中基于 ESC 实现最大功率点跟踪 (MPPT) 算法。在恒定及变化的辐照度条件下观测性能时,使用极值搜索控制在各种工况下均能快速收敛至最大功率输出。

另请参阅

模块

主题