手把手教你学simulink(43.4)--光伏发电场景示例:基于Simulink的增量电导法控制策略的光伏发电系统仿真
目录
利用Simulink对光伏发电系统的增量电导法控制策略进行详细分析
1. 项目背景
2. 系统架构
2.1 光伏发电系统组成
2.2 增量电导法控制策略
3. 模型设计
3.1 光伏阵列建模
3.2 DC-DC变换器建模
3.3 逆变器建模
3.4 增量电导法控制器设计
3.5 电网接口建模
3.6 仿真环境搭建
1. 创建Simulink模型
2. 连接模块
3. 设置仿真参数
4. 运行仿真
5. 仿真模型图示例
基于Simulink平台的光伏发电系统采用动态功率跟踪策略的具体案例深入解析
1. 项目背景
需求分析
光伏发电系统(Photovoltaic System, PV)是将太阳能转化为电能的主要途径,在分布式发电、并网发电以及独立供电等多个领域得到了广泛应用。为了提升光伏发电系统的效率水平,在此基础之上发展出最大功率点跟踪(MPPT, Maximum Power Point Tracking)技术这一核心方法显得尤为重要。传统的MPPT算法涵盖了扰动观察法(P&O, Perturb and Observe)、电导增量法(Incremental Conductance, INC)等多种具体方案。其中,在诸多现有方案中 standout 的增量电导法凭借其卓越的动力学响应特性和稳定性特征而成为这一领域内最优选择之一
本项目拟在Simulink平台上构建一个完整的光伏发电系统仿真模型,并采用增量电导法实施MPPT控制技术。我们将在详细阐述设计和实现该系统的流程,并通过实际应用案例来加以说明。
2. 系统架构
2.1 光伏发电系统组成
光伏发电系统通常由以下几个主要部分组成:
光伏阵列(PV Array):主要负责将太阳能能量转化为直流电能,并受光照强度、温度等因素的影响而变化其输出功率水平。
DC-DC变换器(DC-DC Converter):主要用于调节光伏阵列输出电压以维持最大功率输出状态,并采用多种类型如Boost变换器、Buck-Boost变换器等来实现功能。
逆变器(Inverter):作为直流电源向适合并网或负载使用的形式转换电源的关键设备,在单相或三相电路中选择合适的逆变器类型至关重要。
控制器(Controller):通过分析光照强度、温度等环境参数来生成相应的控制指令,并确保整个系统运行稳定且高效发电。
传感器和监测系统:配备一系列传感器用于实时追踪光伏系统的运行状态包括光照强度、温度、电流与电压等关键参数。
电网接口(Grid Interface):负责将逆变器所输出的交流电能可靠地接入到电网系统中确保送至用户的电力质量符合相关标准。
2.2 增量电导法控制策略
增量电导法(Incremental Conductance, INC)是一种基于光伏阵列外特性参数实现最大功率跟踪技术(MPPT)的方法。该方法通过比较光伏阵列在瞬时时刻的外特性参数 Gpv(t) 和其变化率 ΔGpv(t),判断是否已达到最大功率点。具体而言,该方法将 MPPT 过程划分为多个时间区间,在每个区间内根据观测到的变化量来决定调节方向和幅度。
计算瞬时电导 :
Gpv(t)=Ipv(t)Vpv(t)Gpv(t)=Vpv(t)Ipv(t)
计算电导变化率 :
ΔGpv(t)=ΔIpv(t)ΔVpv(t)ΔGpv(t)=ΔVpv(t)ΔIpv(t)
判断最大功率点 :
- 当光伏并网电压 G_{pv}(t) 超过最大功率点电压 \Delta G_{pv}(t) 时,则表示光伏阵列未达到最大功率点;此时应提升占空比 DD。
- 当光伏并网电压 G_{ pv }(t) 小于最大功率点电压 \Delta G_{ pv }(t) 时,则表明光伏阵列已超出其最大功率点;此时应当降低占空比 DD。
- 当光伏并网电压 G_{ pv }(t) 等于最大功率点电压 \Delta G_{ pv }( t ) 时,则说明光伏阵列已处于最大功率点;此时应当维持当前的占空比 DD 不变。
Compared to the disturbance measurement technique, the incremental conductance technique was found to have better dynamic response and stability, achieving higher tracking precision despite sudden fluctuations in light intensity and temperature.
3. 模型设计
3.1 光伏阵列建模
通过Simulink平台,Simscape Electrical库中提供了'Photovoltaic (PV) Module'模块来集成光伏系统的行为仿真。该模块允许用户配置光伏组件的参数设置。
The rated power of the system is set at 5 kilowatts (kW). The open-circuit voltage (V_oc) is measured at 40 volts (V), while the short-circuit current (I_sc) reaches a maximum of 12 amperes (A). The peak voltage (V_mpp) under maximum power conditions is recorded at 33 volts (V), and the corresponding peak current (I_mpp) is observed at 10 amperes (A). The temperature coefficients for this system are specified as a voltage temp coefficient of -0.38% per degree Celsius (-/°C) and a current temp coefficient of +0.06% per degree Celsius (+/°C).
matlab
深色版本
% 创建光伏阵列模型
pv_array = simscape.Electrical.Semiconductors.Photovoltaic;
pv_array.RatedPower = 5e3; % 单位:W
pv_array.OpenCircuitVoltage = 40; % 单位:V
pv_array.ShortCircuitCurrent = 12; % 单位:A
pv_array.MPPOCVoltage = 33; % 单位:V
pv_array.MPPCurrent = 10; % 单位:A
pv_array.VoltageTempCoeff = -0.38/100; % 单位:%/°C
pv_array.CurrentTempCoeff = 0.06/100; % 单位:%/°C
3.2 DC-DC变换器建模
在光伏发电系统中担任关键角色的是DC-DC转换器,在该系统中它主要负责调节光伏阵列输出电压水平使其维持在最大功率点附近运行。常见的用于此类系统的DC-DC转换器类型包括具有增强功能的 Boost 转换器以及混合型 Buck-Boost 转换器等多种设计形式。本研究选择采用具有增强功能的 Boost 转换器作为建模对象并进行了相关的性能分析与优化研究
该功能可通过Simscape Electrical库中的'Boost Converter'模块实现以分析其工作原理
- 输入电压窗口(Input Voltage Window):[U_{in,min}, U_{in,max}] = [U_{in,min}, 40 V];
- 输出端口电压幅值(Output End-Port Amplitude of DC-DC Converter Output Voltage U_o):U_o = 48 V;
- 开关元件工作频率上限值(Maximum Switching Frequency of Switching Elements in DC-DC Converter f_s):f_s = 56 kHz;
- 输出滤波电容容量参数值(Parameter Value of Output Capacitor C_o in DC-DC Converter Circuitry Design C_o = 1 mF];
- 输出滤波电感参数值(Parameter Value of Output Inductor L_o] in DC-DC Converter Circuitry Design L_o = 8 mH];
matlab
深色版本
% 创建Boost变换器模型
boost_converter = simscape.Electrical.PowerElectronics.BoostConverter;
boost_converter.InputVoltageRange = [0 40]; % 单位:V
boost_converter.OutputVoltage = 400; % 单位:V
boost_converter.SwitchingFrequency = 50e3; % 单位:Hz
boost_converter.Inductance = 100e-6; % 单位:H
boost_converter.Capacitance = 1000e-6; % 单位:F
3.3 逆变器建模
该逆变器将直流电转换为适用于并网或供电负载的交流电。在本项目中,我们采用三相PWM逆变器进行建模分析。
该逆变器将直流电转换为适用于并网或供电负载的交流电。在本项目中,我们采用三相PWM逆变器进行建模分析。
该库中提供'Three-Phase PWM Inverter'组件, 可用于实现三相PWM逆变器的行为模拟. 配置参数如下:
- 工作电压(Working Voltage) :400 V
- 运行频率(Operating Frequency) :50 Hz
- 切换频率(Switching Frequency) :10 kHz
matlab
深色版本
% 创建三相PWM逆变器模型
inverter = simscape.Electrical.PowerElectronics.ThreePhasePWMInverter;
inverter.InputVoltage = 400; % 单位:V
inverter.OutputFrequency = 50; % 单位:Hz
inverter.SwitchingFrequency = 10e3; % 单位:Hz
3.4 增量电导法控制器设计
增量电导法控制器是本项目的重点内容之一,在此系统中负责由光伏阵列的输出电压和电流决定DC-DC变换器占空比控制信号的计算过程,并通过这一机制维持光伏系统持续处于最大功率运行状态。
matlab
深色版本
function duty_cycle = incremental_conductance(v_pv, i_pv, v_pv_prev, i_pv_prev)
% 输入:当前光伏阵列的输出电压 v_pv、输出电流 i_pv
% 上一时刻光伏阵列的输出电压 v_pv_prev、输出电流 i_pv_prev
% 输出:DC-DC变换器的占空比 duty_cycle
% 计算瞬时电导
G_pv = i_pv / v_pv;
% 计算电导变化率
if v_pv == v_pv_prev
delta_G_pv = 0;
else
delta_G_pv = (i_pv - i_pv_prev) / (v_pv - v_pv_prev);
end
% 判断最大功率点
if G_pv > delta_G_pv
% 未达到最大功率点,增加占空比
duty_cycle = min(0.9, duty_cycle + 0.01); % 防止占空比超过上限
elseif G_pv < delta_G_pv
% 超过了最大功率点,减少占空比
duty_cycle = max(0.1, duty_cycle - 0.01); % 防止占空比低于下限
else
% 处于最大功率点,保持占空比不变
duty_cycle = duty_cycle;
end
end
3.5 电网接口建模
电网接口作为连接逆变器与电网的关键桥梁,在确保输出电能质量方面发挥着重要作用;通过Simscape Electrical库中的Three-Phase Ideal Transformer模块以及Three-Phase Series RLC Load模块等工具可实现对电网接口行为的有效仿真
matlab
深色版本
% 创建理想变压器模型
transformer = simscape.Electrical.Elements.ThreePhaseIdealTransformer;
% 创建三相RLC负载模型
load = simscape.Electrical.Elements.ThreePhaseSeriesRLCBranch;
3.6 仿真环境搭建
1. 创建Simulink模型
打开Simulink并创建新模型 :
- 启动MATLAB程序并单击‘新建’按钮。
- 在菜单栏中选择New选项卡后点击Simulink Model窗口。
- 启动一个新的空模型文件窗口。
. 2.
添加光伏阵列模块 :
在Simulink的Library Browser界面中,请定位到 Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Machines > Photovoltaic (PV) Module组件。
将该模块拖拽至工作区后点击它,并进行参数设置以模拟光伏组件特性。
按照具体需求设定光伏阵列的额定功率、开路电压、短路电流、最大功率点电压以及最大功率点电流等关键参数。
例如:
- 额定功率:5 kW
- 开路电压:40 V
- 短路电流:12 A
- 最大功率点电压:33 V
- 最大功率点电流:10 A
- 温度系数:-0.38% per °C for open voltage, 0.06% per °C for short-circuit current
添加DC-DC变换器模块 :
- 在Library Browser界面中定位到 Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Power Electronics > Boost Converter 模块。
- 将"Boost Converter"模块移动至工作区,并点击以进入配置界面进行参数设置。
- 按照实际应用需求设置输入电压范围(建议从...到...V)、输出电压(建议设置为...V)、开关频率(建议设置为...kHz)、电感值(建议选择...μH)以及电容值(建议选择...μF)等关键参数。
添加三相PWM逆变器模块 :
在Library Browser导航界面中定位至 Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Power Electronics 区域后,在其中找到并选中 Three-Phase PWM Inverter 模块。
随后将此被选中的模块从库中移动至工作区,并对选中的模块执行双击操作以打开参数配置对话框。
根据具体工程需求依次设置相关关键参数:
包括输入电源电压值、期望输出系统运行频率以及开关元件驱动频率等重要指标。
具体数值设定如下:
输入电源电压值为400伏特;
系统设计目标运行频率设定为50赫兹;
选用高频开关元件时建议将驱动电路的工作频率配置为1万千赫兹。
添加电网接口模块 :
在Library Browser界面中,请定位至 Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Transformers and Windings > Three-Phase Ideal Transformer 和 Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Elements > Series RLC Branch 模块位置。
- 将这两个模块拖动至工作区,并双击运行以进入参数配置界面。
- 根据具体需求设置相关参数:
- 变压器变比设置为1:1
- 负载电阻值设为10 Ω
- 负载电感值设定为10 mH
- 负载电容值设定为10 μF
实现增量电导法控制器 :
第一步【
matlab
深色版本
1. function duty_cycle = inc_conductance_controller(v_pv, i_pv)
2. % 初始化变量
3. persistent prev_i_pv;
4. if isempty(prev_i_pv)
5. prev_i_pv = i_pv;
6. end
7.
8. % 计算增量电导
9. delta_i = i_pv - prev_i_pv;
10. delta_v = v_pv - prev_v_pv;
11.
12. % 判断是否接近最大功率点
13. if abs(delta_i) < 0.01 * i_pv || abs(delta_v) < 0.01 * v_pv
14. duty_cycle = 0.5; % 保持当前占空比
15. elseif delta_i * v_pv + i_pv * delta_v > 0
16. duty_cycle = 0.5 + 0.01; % 增加占空比
17. else
18. duty_cycle = 0.5 - 0.01; % 减少占空比
19. end
20.
21. % 更新上一时刻的电流和电压
22. prev_i_pv = i_pv;
23. prev_v_pv = v_pv;
24. end
```
* **在Simulink中调用自定义函数** :
* 在Simulink库中找到“User-Defined Functions”下的“MATLAB Function”模块,将其拖动到工作区。
* 双击该模块,在编辑器中输入以下代码,调用自定义的`inc_conductance_controller`函数:
matlab
深色版本
1. function duty_cycle = fcn(v_pv, i_pv)
2. coder.extrinsic('inc_conductance_controller');
3. duty_cycle = inc_conductance_controller(v_pv, i_pv);
4. end
```
添加Scope模块 :
- 在Simulink的库中定位至"Sinks"分组中的"Scope"模块。
- 将多个"Scope"模块拖放至工作区窗口。
- 将多个"Scope"模块分别连接至光伏阵列端子口的输出电压与电流以及逆变器端子口的输出电压与电流等核心信号上。
- 以便全面观察系统运行过程中的动态特性。
2. 连接模块
连接光伏阵列与DC-DC变换器 :
通过将光伏阵列的输出端子部分(A+、A-)分别连接到Boost变换器的输入端子部分(A+、A-),实现了高效能量转换。
连接DC-DC变换器与逆变器 :
这些Boost变换器的输出端子(包括正负两个极端)被配置为分别连接至三相PWM逆变器的直流输入子。 3.
连接逆变器与理想变压器 :
- 通过将三个独立的 PWM 逆变器电路的输出端子(A 相、B 相和 C 相)分别与理想变压器的第一级侧边框(A 相、B 相和 C 相)相连。
连接理想变压器与RLC负载 :
将理想变压器二次侧各相与三阶RLC负载模块的输入端子对应连接。
连接增量电导法控制器与DC-DC变换器 :
用于将增量电导法控制器的输出信号(占空比信号)接至其Boost变换器的控制输入端的位置
连接信号到Scope模块 :
- 用于配置太阳能电池组件的电压与电流信号分别连接至相应的'Scope'模块输入端。
- 为了实现电网并网功能,并网逆变器的电压与电流信号配置在相应'Scope'模块上。
- 除了上述之外,还可以关注其他重要参数(例如开关节点占空比和系统总功率)通过'Scope'模块进行实时跟踪。
3. 设置仿真参数
设置仿真时间步长 :
在Simulink顶部工具栏中单击"Simulation"菜单项并选择"Model Configuration Parameters"选项。
在随后弹出的对话框中指定固定求解器选项中的时间步长(Solver options > Fixed-step size)。
根据具体需求调整仿真结束时间(Stop time),例如可将其设置为10秒。
设置光照强度和温度 :
- 对于光伏阵列系统而言,在设计时需要考虑光照强度与温度的变化特性。
- 在Simulink环境中可以选择性地配置这些模块以生成相应的信号,并将其与系统的输入相连接。
- 例如,在光强方面可采用Step序列来表示光强由低逐步升高的过程,在温度控制方面则可采用Ramp序列以反映按比例递增的趋势。
配置神经网络控制器(可选) :
- 如果您希望进一步优化系统性能,请考虑采用神经网络控制器取代传统的增量电导法控制器。
- 神经网络控制器基于历史数据进行在线学习,在线学习阶段能够训练并优化DC-DC变换器的工作模式。通过实时优化策略调整变换器的占空比设置,在线学习完成后可确保光伏阵列持续维持最佳工作状态。
- 有关神经网络控制器的实现,请参考前面的章节。
4. 运行仿真
启动仿真 :
- 单击Simulink菜单栏顶端的"Run"按钮以启动仿真。
- 查看'Scope'模块显示的波形图,并对光伏阵列输出电压电流以及逆变器输出电压电流等参数进行检查以确保其符合预期值。
分析仿真结果 :
- 利用"Scope"设备对太阳能电池阵列的输出电压-电流波形进行监测,并使其能够快速追踪最大功率点。
- 对逆变器输出电压-电流波形进行监测并确保其能够平稳运行以实现与电网相协调。
- 若检测到系统反应迟钝或出现动态不稳定现象,则可采取以下措施进行优化:一方面可调节DC-DC变换器的关键参数(例如电感值及电容值),另一方面可采用增量电导法控制器进行增益调节以改善系统性能。
保存模型 :
仿真完成后,请单击"Save"按钮以保存Simulink模型,并确保其可用于后续使用或进一步修改。
5. 仿真模型图示例
以下是一个简化的Simulink模型图示例,展示了各个模块的连接关系:
plaintext
深色版本
+--------------------------------------------------+
|Simulink Model|
+--------------------------------------------------+
||
|[PV Array] ----> [Boost Converter]|
|||
|v|
|+-------------------+|
|Three-Phase|||
|PWM Inverter|||
|+--------+----------+|
|||
|v|
|+-------------------+|
|Ideal Transformer|||
|+--------+----------+|
|||
|v|
|+-------------------+|
|Three-Phase|||
|Series RLC Load|||
|+-------------------+|
||
|[Incremental Conductance Controller]|
|+------------------------------------+|
|Output: Duty Cycle for Boost|||
|Converter|||
|+------------------------------------+|
||
|[Scopes]|
|+------------------------------------+|
|PV Array Voltage & Current|||
|Inverter Voltage & Current|||
|Other Signals (e.g., Duty Cycle)|||
|+------------------------------------+|
+--------------------------------------------------+
在这个模型中:
- 光伏阵列吸收太阳能,并经由Boost变换器进行电压调节后,
D_{c} 作为无量纲系数被引入系统模型中。 - 增量电导法控制器基于光伏阵列的输出电压与电流信息的反馈机制下,
动态调整Boost变换器的占空比,
以维持光伏系统最佳能量转化效率。 - “Scope”模块主要用于实时监控光伏阵列的输出电压与电流参数以及逆变器端子处的关键信号变化情况,
以便全面评估系统的动态特性及运行状态。
按照以下步骤进行操作,则可以在Simulink环境中搭建一个遵循电流-电压特性曲线跟踪机制的光伏发电系统仿真实验平台,并实现对其动态行为的观察与参数调节。若想进一步提高系统的运行效率,则可以通过引入神经网络控制器或其他先进型控制算法来优化其调节响应特性。
