手把手教你学Simulink实例——基于Simulink的电力电子系统孤岛检测与保护仿真实例
目录
全面指导你学习Simulink实例——以Simulink为基础的电力电子设备故障隔离与防护仿真案例
引言
孤岛检测与保护策略简介
1. 孤岛现象
2. 孤岛检测方法
3. 控制目标
系统框架
1. 系统架构概述
Simulink建模过程
1. 创建新模型
2. 添加模块
参数设置与仿真运行
1. 参数设置
2. 仿真设置
3. 开始仿真
结果分析与优化
1. 观察结果
2. 性能评估
3. 参数优化
实例应用:复杂孤岛检测与保护策略仿真
1. 复杂多级保护
2. Simulink建模
3. 参数优化
总结
学习Simulink仿真实例——电力电子系统孤岛检测与保护仿真实例
本节将详细介绍如何通过Simulink平台实现电力电子系统中孤岛检测功能的仿真设计,并探讨其在故障保护中的应用方案
引言
在包含光伏发电和风力发电等多种能源的分布式能源系统中,在主电网发生故障或断开的情况下出现孤立运行状态的现象被称为孤岛事件。这种孤立运行状态可能造成设备损坏、人员伤亡以及相关安全风险等问题。因此必须建立完善的孤岛检测与保护机制。本文将详细探讨如何利用MATLAB中的Simulink工具对电力电子系统的孤立运行情况进行仿真研究,并涵盖从模型构建到结果分析的完整流程。
孤岛检测与保护策略简介
1. 孤岛现象
我们称"孤岛现象"为分布式发电系统(DG)在主电网发生中断时仍能向本地负荷提供电力的情形。这些情况可能会导致以下问题:
- 设备可能出现故障或受损:逆变器和其他电力电子设备在过载时可能发生故障或受损*
2. 孤岛检测方法
常见的孤岛检测方法包括被动检测法和主动检测法:
被动式故障检测方法:用于判断电网在异常状态下的变化情况的故障判定技术。该技术主要包括以下几种常用的技术:
- 过/欠电压检测(OV/UV)
- 过/欠频率检测(OF/UF)
- 相位跳变检测
- 主动检测法 :在电网中施加动态变化的电压源信号,并通过分析电压和电流波形特征以识别系统孤立状态的发生。常见的主动检测手段包括:
- 频率偏移法(Frequency Shift Method, FSM)
- 滑模频率偏移法(Slip Mode Frequency Shift, SMS)
- 有功功率扰动法
3. 控制目标
在孤岛检测与保护系统中,常见的控制目标包括:
- 迅速且精确地识别孤岛现象 :当电网出现断开时迅速识别出孤岛现象。
- 有效防止设备过载 :当发现分布式电源与负载存在连接时及时切断该连接。
- 确保维修人员的安全 :有效防止触电事故的发生。
系统框架
1. 系统架构概述
以下将通过一个较为简化的光伏并网逆变器实例来阐述如何借助Simulink平台实现孤岛检测及相应的保护功能。其中包含以下几个主要组成部分:系统模型搭建、仿真参数配置以及孤岛检测算法实现等环节。
- 逆变器:将直流电转化为交流电并输出至电网系统。
- 传感器:用于监测并采集电网电压、频率等关键参数。
- 控制器:根据实时数据判断系统运行状态并启动必要的保护机制。
- 性能评估模块:对系统的孤岛检测能力进行精确度和响应速度的全面评估。
系统架构视图 :
plaintext
深色版本
+-------------------+ +------------------+ +-----------------+ +--------------+
||||||||
|Inverter|----->|Grid|----->|Sensors|||
|(DC to AC)|(Electrical &|(Voltage,|||||
|Mechanical)|Frequency)||||||
+-------------------+ +------------------+ +-----------------+ +--------------+
||
v
+------------------+
||
|Controller|
|(Island Detection|
|and Protection)|
||
+------------------+
||
v
+------------------+
||
|Performance|
|Evaluation|
|(Detection Speed|
|, Accuracy)|
||
+------------------+
Simulink建模过程
1. 创建新模型
- 请在MATLAB中开启Simulink界面。
- 打开Simulink启动窗口后,请选择"Blank Model"选项卡以创建一个新的空模型。
2. 添加模块
接下来按照系统架构添加所需的Simulink模块:
逆变器 * 在Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Power Electronics库中定位IGBT/Diode模块,并复制多个IGBT模块以构建逆变器电路。
-
设定IGBT模块的导通电阻等关键参数。
-
在Simulink > Discontinuities库中查找并接入PWM Generator模块至模型。
-
将PWM频率设定为50Hz,并将初始占空比设置为50%。
电网 * 在库中获取AC Voltage Source模块并将其添加至模型库作为电网部分。
-
将电网电压设置为220伏特、50赫兹。
传感器 位于库中的模块包括Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Measurements中的Voltage Measurement与Frequency Measurement两个子模块。这两个子模块分别用于执行电压测量与频率测量功能。
控制系统 * 采用Simulink > Continuous库内的State-Space Model模块构建逆变器的状态空间模型。
* 在Simulink > Math Operations库中选择相关模块来实现孤岛检测算法(包括过电压检测、欠电压检测以及频率偏移法等)。
* 应用Simulink > Logic and Bit Operations库中的Switch组件搭建保护逻辑电路,在检测到孤岛现象时实现逆变器与电网之间的断开连接关系。
性能评估模块 通过Simulink > Sinks库中的Scope模块对各物理量及其变化情况进行监测(包括电压和频率等),同时也能观察到控制器的输出。 采用Simulink > Math Operations库中的相关模块对系统性能进行评估(涉及检测速度和准确性)。
以下是详细的Simulink模型脚本示例:
matlab
深色版本
% 清除当前工作区的所有变量
clear all; close all;
% 定义PWM频率和周期
PWM_Frequency = 50; % PWM频率为50Hz
Initial_Duty_Cycle = 0.5; % 初始占空比为50%
% 创建一个新的Simulink模型
modelName = 'IslandDetectionAndProtection';
new_system(modelName);
open_system(modelName);
% 添加逆变器模块
for i = 1:6 % 假设是三相逆变器,每相两个开关
add_block('simulink/Extras/Ideal Switch', [modelName sprintf('/Switch_%d', i)]);
set_param([modelName sprintf('/Switch_%d', i)], 'Ron', '0.1'); % 开关导通电阻
end
add_block('simulink/Discontinuities/PWM Generator', [modelName '/PWM_Generator']);
set_param([modelName '/PWM_Generator'], 'Frequency', num2str(PWM_Frequency));
set_param([modelName '/PWM_Generator'], 'Amplitude', '1');
set_param([modelName '/PWM_Generator'], 'PhaseDelay', '0');
set_param([modelName '/PWM_Generator'], 'SampleTime', '1e-6');
% 添加电网模块
add_block('simscape/Electrical/Specialized Power Systems/Fundamental Blocks/Sources/AC Voltage Source', [modelName '/Grid']);
set_param([modelName '/Grid'], 'PeakAmplitude', '220'); % 设置峰值电压为220V
set_param([modelName '/Grid'], 'Frequency', '50'); % 设置频率为50Hz
% 添加传感器模块
add_block('simscape/Electrical/Specialized Power Systems/Fundamental Blocks/Measurements/Voltage Measurement', [modelName '/Voltage_Measurement']);
add_block('simscape/Electrical/Specialized Power Systems/Fundamental Blocks/Measurements/Frequency Measurement', [modelName '/Frequency_Measurement']);
% 添加状态空间模型
add_block('simulink/Continuous/State-Space', [modelName '/State_Space_Model']);
set_param([modelName '/State_Space_Model'], 'A', '[0 1; -10 -1]'); % A矩阵
set_param([modelName '/State_Space_Model'], 'B', '[0; 10]'); % B矩阵
set_param([modelName '/State_Space_Model'], 'C', '[1 0]'); % C矩阵
set_param([modelName '/State_Space_Model'], 'D', '0'); % D矩阵
% 添加孤岛检测算法
add_block('simulink/Math Operations/Relational Operator', [modelName '/Over_Under_Voltage']);
set_param([modelName '/Over_Under_Voltage'], 'Operator', '=='); % 设置比较运算符
set_param([modelName '/Over_Under_Voltage'], 'Threshold', '220'); % 设置阈值电压
add_block('simulink/Math Operations/Logical Operator', [modelName '/Logical_Operator']);
set_param([modelName '/Logical_Operator'], 'Operator', 'AND'); % 设置逻辑运算符
% 添加保护逻辑
add_block('simulink/Logic and Bit Operations/Switch', [modelName '/Switch_Protection']);
set_param([modelName '/Switch_Protection'], 'Threshold', '1'); % 设置切换阈值
% 添加示波器
add_block('simulink/Sinks/Scope', [modelName '/Scope']);
% 连接各模块
add_line(modelName, [modelName '/Switch_1'], [modelName '/PWM_Generator'], 'autorouting', 'on');
add_line(modelName, [modelName '/PWM_Generator'], [modelName '/Grid'], 'autorouting', 'on');
add_line(modelName, [modelName '/Grid'], [modelName '/Voltage_Measurement'], 'autorouting', 'on');
add_line(modelName, [modelName '/Grid'], [modelName '/Frequency_Measurement'], 'autorouting', 'on');
add_line(modelName, [modelName '/Voltage_Measurement'], [modelName '/Over_Under_Voltage'], 'autorouting', 'on');
add_line(modelName, [modelName '/Over_Under_Voltage'], [modelName '/Logical_Operator'], 'autorouting', 'on');
add_line(modelName, [modelName '/Logical_Operator'], [modelName '/Switch_Protection'], 'autorouting', 'on');
add_line(modelName, [modelName '/State_Space_Model'], [modelName '/Scope'], 'autorouting', 'on');
add_line(modelName, [modelName '/Switch_Protection'], [modelName '/Scope'], 'autorouting', 'on');
% 设置仿真参数
set_param(modelName, 'StopTime', '10');
set_param(modelName, 'Solver', 'ode45');
% 保存模型
save_system(modelName);
% 运行仿真
sim(modelName);
参数设置与仿真运行
1. 参数设置
- 逆变器:相应地进行IGBT模块开关损耗相关参数的设置,并相应地设定PWM信号的频率与占空比。
- 电网:合理地配置电网系统运行时所需的电压幅值与运行频率。
- 传感器:合理地设置电压与转速传感器的工作采样率与精度要求。
- 控制器:合理选择孤岛检测方案(例如过/欠电压检测法及基于频偏分析的方法),并相应地设定相关的控制参数(例如阈值电压幅度及频偏限值)。
2. 仿真设置
- 在Simulink菜单栏中找到并点击Simulation > Model Configuration Parameters选项。
- 根据您的具体需求设置适当的仿真结束时间和求解器类型(推荐使用ode45作为默认选项)。
3. 开始仿真
单击菜单栏中的"运行"按钮以启动仿真;观察仿真结果是否符合预期;通过Scope模块查看各物理量的变化情况(如电压、频率等)以及控制器的输出。
结果分析与优化
1. 观察结果
- 通过动态特性曲线分析系统运行状态的变化情况。
- 考察控制器输出的行为模式及其在不同工作状态下的表现特征。
- 通过计算得出系统的主要性能参数,并据此评价其孤岛检测与保护策略的有效性如何?
例如,在电压或频率超出设定范围但未能触发保护动作时,则提示控制器参数设置可能存在不当之处;当保护动作频繁执行时,则可能需要进一步审视并调整相关参数。
2. 性能评估
- 评估系统架构中分岛检测的速度与精度,并保证其性能指标控制在合理区间内。
- 分析比较不同分岛检测算法的表现特征,并优化最优的分岛检测策略以提升整体效率。
3. 参数优化
当遇到某些指标未能达到预期时(原文:如果发现某些方面不满足要求),可以通过调节控制参数进行相应的优化处理(原文:通过调整控制器参数来进行优化)。除了采用现有的孤岛检测算法外(原文:也可以尝试其他孤岛检测算法或改进系统设计),还可以探索新的方法并进行系统结构上的优化(原文:以进一步提升系统性能)。从而进一步提高系统的整体性能水平
实例应用:复杂孤岛检测与保护策略仿真
1. 复杂多级保护
实际电力电子系统中可能包含多层次保护机制。例如,在微小孤岛现象被检测到时,在分布式电源上首先考虑降低其输出功率;若此方法不起效,则继而采取断开电源连接的措施。
2. Simulink建模
- 为了实现多层级保护系统,在Simulink中构建多层次防护机制,并搭建多层次防护装置。
- 依据孤岛严重程度的变化情况,分阶段实施一系列具体的应对策略。
例如,假设我们有一个两级保护系统,可以采用以下结构:
plaintext
深色版本
+-------------------+ +------------------+ +-----------------+ +--------------+
||||||||
|Inverter|----->|Grid|----->|Sensors|||
|(DC to AC)|(Electrical &|(Voltage,|||||
|Mechanical)|Frequency)||||||
+-------------------+ +------------------+ +-----------------+ +--------------+
||
v
+------------------+
||
|Controller|
|(Multi-Level|
|Island Detection|
|and Protection)|
||
+------------------+
||
v
+------------------+
||
|Performance|
|Evaluation|
|(Detection Speed|
|, Accuracy)|
||
+------------------+
3. 参数优化
- 优化各级保护的参数以协调系统的稳定性和安全性。
- 通过仿真对比不同的参数组合下的系统响应来选择最优方案。
总结
经过一系列操作流程,我们成功实现了以Simulink平台为基础构建了电力电子系统的孤岛检测与保护仿真。总结如下:
- 背景介绍 :介绍了孤岛现象及其对电力电子系统的潜在危害,以及孤岛检测的基本概念和常用方法。
- 系统架构 :详细描述了一个简单的光伏并网逆变器的孤岛检测与保护策略设计与仿真系统的组成和工作原理,并给出了系统架构视图。
- 建模过程 :逐步演示了如何在Simulink中搭建孤岛检测与保护策略模型,包括模块的选择、参数设置及模块间的连接。
- 仿真测试 :展示了如何设置仿真参数并运行仿真,以及如何观察和分析仿真结果。
- 优化建议 :提出了几种可能的优化方案,帮助读者进一步提升系统的孤岛检测与保护性能,包括参数调整和复杂多级保护机制的模拟。
