手把手教你学simulink(43.1)--光伏发电场景示例:基于Simulink开发一个完整的光伏发电系统模型:实现MPPT控制策略
目录
基于Simulink的光伏发电系统在MPPT控制策略下的项目实例详细介绍
1. 项目背景
2. 系统架构
2.1 光伏发电系统组成
2.2 MPPT控制策略
3. 模型设计
3.1 光伏阵列建模
3.2 DC-DC变换器建模
3.3 逆变器建模
3.4 MPPT控制器设计
3.5 仿真环境搭建
3.6 仿真与优化
3.6.1 运行仿真
3.6.2 参数优化
基于Simulink的光伏发电系统在MPPT控制策略下的项目实例详细介绍
1. 项目背景
需求分析
该系统(Photovoltaic System, PV)主要通过将太阳能转化为电能。然而,在实际应用中,“受光照强度、温度等因素的影响”,使得其输出特性呈现非线性特征。为了实现这一目标,“通常采用最大功率点跟踪(MPPT)控制策略”,从而使得该系统得以持续稳定运行。
本项目将依托Simulink平台构建一个完整的光伏发电系统模型,并优化MPPT控制策略。我们将致力于规划和优化该系统,并配合实际应用案例进行详细说明。
2. 系统架构
2.1 光伏发电系统组成
光伏发电系统通常由以下几个主要部分组成:
- 光伏组件组成为主要负责从太阳辐射中获取能量,并将其转换为直接电流的形式。
2. DC-DC转换器组成为调节组件组态输出电压与电流水平的关键设备。
3. 逆变器组成为将直接电流转变为交流电的主要设备,并为其负载或电网提供稳定电源。
4. MPPT控制器组成为实时优化其开关周期比例的关键组件,在此过程中保证组件始终运行于最大功率点附近。
5. 感应装置及其监测系统主要负责实时跟踪组件的工作参数包括电压、电流、光照强度以及环境温度等信息,并以此来保障系统的正常运作。
6. 数据传输模块主要接收来自电网调度中心或其他外部系统的指令信息,并向其传达当前系统的运行状态数据。
2.2 MPPT控制策略
常见的MPPT控制策略包括:
- Perturb and Observe (P & O)方法:通过对光伏阵列工作点进行微调,并监测输出功率的变化情况来判断其是否接近最大功率点。
- Incremental Conductance (INC)方法:通过对光伏阵列电导变化进行分析来确定其是否接近最大功率点。
- Conductance Increment (CI)方法:整合了Incremental Conductance方法与Perturb and Observe方法的优势,在保证更高跟踪精度的同时实现了更快的响应速度。
- Fuzzy Logic Control (FLC)方法:采用模糊逻辑理论来处理系统的非线性及不确定性,并以此实现更高的灵活性与更强的鲁棒性。
在本项目中,我们计划应用增量式 INC 方法来实现 MPPT 控制,并且该方案具备卓越的跟踪精度和高度的稳定性
3. 模型设计
在电网调峰的背景下,在光伏发电系统(PV)的支持下,在提高可再生能源占比的同时,在减少高峰时段对电力的需求方面具有重要意义。为此,在实现这一目标的过程中,在结合现有技术的基础上,在构建一个完整且高效的光伏储能系统的模型框架上,在综合考虑各环节性能的基础上进行深入研究与设计。以下将详细介绍系统的构成与设计流程
3.1 光伏阵列建模
在Simulink环境中可以选择'Photovoltaic Array'模块来实现光伏行为建模。配置参数如下:
- 该设备的 rated power 达到了 5 kW。
- 该设备的工作电压为 400 V。
- 短路电流值为 12 A。
- 开路电压值为 500 V。
- 温度变化对本设备的影响系数为 -0.4% 每摄氏度。
- 在标准光照条件下(1000 W/m²),该设备的光照强度稳定。
- 设备工作环境的基准温度设定在 25°C。
matlab
深色版本
% 创建光伏阵列模型
pv_array = simscape.Electrical.Sources.PhotovoltaicArray;
pv_array.RatedPower = 5e3; % 单位:W
pv_array.RatedVoltage = 400; % 单位:V
pv_array.ShortCircuitCurrent = 12; % 单位:A
pv_array.OpenCircuitVoltage = 500; % 单位:V
pv_array.TempCoeff = -0.004; % 温度系数
pv_array.Irradiance = 1000; % 单位:W/m²
pv_array.Temperature = 25; % 单位:°C
说明 :
- 温度敏感度表征光伏阵列输出功率对温度变化的响应特性。当外界环境中的气温升高时(即环境温高于系统工作温度),表现为系统的发电效率降低。
- 光照强度与温度受控于实际应用场景的变化,并可模拟多种天气条件下的光伏系统性能表现。
3.2 DC-DC变换器建模
该变换器可调节光伏阵列的输出电压及电流参数至最大功率点附近的运行状态;通过Simscape Electrical库中的Buck-Boost Converter模块能够模拟该变换器的行为模式;配置参数如下:
- 工作电压范围(Operating Voltage Range) :0-600 V
- 输出电位(Output Electric Potential) :400 V
- 切换频率(Switching Frequency of the Control Unit) :10 kHz
- 最大功率输出(Maximum Power Output) :5 kW
matlab
深色版本
% 创建Buck-Boost变换器模型
dc_dc_converter = simscape.Electrical.PowerConverters.BuckBoostConverter;
dc_dc_converter.InputVoltageRange = [0 600]; % 单位:V
dc_dc_converter.OutputVoltage = 400; % 单位:V
dc_dc_converter.SwitchingFrequency = 10e3; % 单位:Hz
dc_dc_converter.MaxPower = 5e3; % 单位:W
说明 :
- Buck-Boost变换器 :其应用适用于输入电压低于或高于输出电压的情况,并且在光伏系统中具有宽泛的电压适应范围。
- 开关频率 :其开关频率特性则可使其效率显著提升,并且由于高开关频率导致额外的切换损耗,在设计时需综合考虑。
3.3 逆变器建模
逆变器将直流电变换为交流电,并保证负载或电网能够稳定地获得交流电源。可以通过Simscape Electrical库中的Inverter模块来模拟逆变器的行为。配置参数如下:
- 输入电压值为400伏特直流标准;
- 输出电压大小为230伏特交流;
- 输出频率设定在50赫兹;
- 最大功率可达5千瓦。
matlab
深色版本
% 创建逆变器模型
inverter = simscape.Electrical.PowerConverters.Inverter;
inverter.InputVoltage = 400; % 单位:V
inverter.OutputVoltage = 230; % 单位:V
inverter.OutputFrequency = 50; % 单位:Hz
inverter.MaxPower = 5e3; % 单位:W
说明 :
- verter:将直流电转换为谐波频率的交流电以实现光伏系统的并网需求。
- 输出频率:系统应维持与电网频率相协调的一致性;具体设置一般采用50 Hz(适用于中国及欧洲等地区)或60 Hz(适用于美国等地区)。
3.4 MPPT控制器设计
MPPT控制器是光伏发电系统的关键组件,在实时调节DC-DC变换器的工作状态方面发挥着重要作用。该系统通过精确控制变换器的占空比参数来确保光伏阵列始终维持在最佳能量输出状态。为此我们采用了增量电导法(Incremental Conductance, INC)这一先进的控制策略来实现这一目标。具体而言以下是增量电导法的实现方案与相关代码细节
matlab
深色版本
function [duty_cycle] = mppt_inc(pv_voltage, pv_current, prev_pv_voltage, prev_pv_current)
% 增量电导法实现MPPT控制
% 计算当前功率
current_power = pv_voltage * pv_current;
% 计算上一时刻的功率
prev_power = prev_pv_voltage * prev_pv_current;
% 计算电导
conductance = pv_current / pv_voltage;
% 计算增量电导
delta_conductance = (pv_current - prev_pv_current) / (pv_voltage - prev_pv_voltage + eps);
% 判断是否处于最大功率点
if conductance > delta_conductance
% 如果当前电导大于增量电导,增加占空比
duty_cycle = duty_cycle + 0.01;
elseif conductance < delta_conductance
% 如果当前电导小于增量电导,减小占空比
duty_cycle = duty_cycle - 0.01;
else
% 如果相等,保持占空比不变
duty_cycle = duty_cycle;
end
% 限制占空比在合理范围内
duty_cycle = max(0, min(1, duty_cycle));
end
说明 :
- 增量导电法:通过比较光伏阵列的电流密度与变化率的变化情况(即当前密度与变化速率),判断其是否处于最大输出功率状态(即最大功率点)。当电流密度高于变化率时(即ρ > dρ/dt),说明光伏阵列尚未达到最大功率点(即尚未达到最佳工作状态),需要增加充荷率;反之,则减小充荷率。
- 充荷率:调节DC-DC变换器的工作模式(即控制其开关动作频率与幅度),直接影响其输出电压与电流值(即影响最终输出参数)。通过持续调节充荷率(即充放电比率),可以使光伏系统始终运行在最佳工作状态(即最大功率点)。
- ε值:用于防止分母趋近于零的情况出现(防止计算结果趋向无穷大或不稳定),从而确保计算过程中的数值稳定性。
3.5 仿真环境搭建
在Simulink中建立一个新的模型文件
3.6 仿真与优化
3.6.1 运行仿真
初始化参数设置
运行仿真过程
优化控制参数配置
3.6.2 参数优化
自适应优化:基于MATLAB的优化工具箱(包括fmincon算法)实现系统参数的自适应优化过程。在此框架下构建并求解最优目标函数模型。
性能验证:通过多组仿真环境运行实验,在不同光照强度及环境温度下考察系统的运行特性,并对结果数据进行统计分析。
稳定追踪验证:在不同光照强度及环境温度下运行仿真并记录结果数据,在此基础上建立完整的性能评价体系。
