Advertisement

Simulink开发项1000例实战专栏--实例70:基于Simulink的储能系统在电网调峰场景下的具体模型仿真搭建

阅读量:

目录

基于Simulink的储能系统在电网调峰场景下的具体模型仿真搭建

1. 项目背景与目标

2. 模型搭建步骤

2.1 打开Simulink并创建新模型

2.2 添加储能单元(Battery Pack)

2.3 添加功率转换系统(PCS, Power Conversion System)

2.4 添加控制系统(Control System)

2.5 添加电网模型

2.6 连接储能系统与电网

2.7 添加监控与可视化模块

2.8 设置仿真参数

3. 仿真与结果分析

3.1 运行仿真

3.2 结果分析

3.3 参数优化

4. 实际应用案例

4.1 风力发电场

4.2 太阳能电站

4.3 工业园区


基于Simulink的储能系统在电网调峰场景下的具体模型仿真搭建

1. 项目背景与目标

需求分析

在电网调峰场景中,储能系统(Energy Storage System, ESS)可以通过削峰填谷、频率调节等功能,平滑负荷曲线,提高电网的稳定性和可靠性。本项目的目标是基于Simulink平台,构建一个完整的储能系统模型,并通过仿真验证其在电网调峰中的应用效果。

2. 模型搭建步骤
2.1 打开Simulink并创建新模型
  1. 启动MATLAB :打开MATLAB软件。
  2. 新建Simulink模型 :点击“Simulink”选项卡,选择“New > Blank Model”,创建一个新的Simulink模型文件。
2.2 添加储能单元(Battery Pack)
  1. 从Simscape Electrical库中添加电池模块
    • 在Simulink模型窗口中,点击左侧的“Library Browser”按钮。
    • 展开“Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Machines”。
    • 拖动“Battery”模块到工作区。
  2. 配置电池参数
    • 双击电池模块,设置以下参数:
      • 额定容量(Rated Capacity) :100 kWh
      • 额定电压(Rated Voltage) :400 V
      • 内阻(Internal Resistance) :0.01 Ω
      • 最大充电功率(Max Charging Power) :50 kW
      • 最大放电功率(Max Discharging Power) :50 kW
      • 效率(Efficiency) :90%
复制代码

matlab

深色版本

复制代码
 % 创建锂电池模型

    
 battery = simscape.Electrical.Sources.Battery;
    
 battery.Capacity = 100e3; % 单位:Wh
    
 battery.Voltage = 400; % 单位:V
    
 battery.InternalResistance = 0.01; % 单位:Ω
    
 battery.MaxChargingPower = 50e3; % 单位:W
    
 battery.MaxDischargingPower = 50e3; % 单位:W
    
 battery.Efficiency = 0.9; % 效率
    
    
    
    
2.3 添加功率转换系统(PCS, Power Conversion System)

从Simscape Electrical库中添加DC-AC转换器模块

复制代码
 * 展开“Simscape > Electrical > Specialized Power Systems > Fundamental Blocks > Power Electronics”。
 * 拖动“DC-AC Converter (Three-Phase)”模块到工作区。

配置DC-AC转换器参数

复制代码
 * 双击DC-AC转换器模块,设置以下参数: 
   * **输入电压(Input Voltage)** :400 V DC
   * **输出电压(Output Voltage)** :400 V AC
   * **开关频率(Switching Frequency)** :10 kHz
   * **最大功率(Max Power)** :50 kW
复制代码

matlab

深色版本

复制代码
 % 创建DC-AC转换器模型

    
 pcs = simscape.Electrical.PowerConverters.DC_AC_Converter;
    
 pcs.InputVoltage = 400; % 单位:V
    
 pcs.OutputVoltage = 400; % 单位:V
    
 pcs.SwitchingFrequency = 10e3; % 单位:Hz
    
 pcs.MaxPower = 50e3; % 单位:W
    
    
    
    
2.4 添加控制系统(Control System)
  1. 实现PID控制器
    • 使用Simulink中的“Fcn”模块或自定义MATLAB函数实现PID控制器。将以下代码保存为pid_controller.m文件:
复制代码

matlab

深色版本

复制代码
 function [u] = pid_controller(e, e_int, e_diff, Kp, Ki, Kd, dt)

    
     % 更新积分项
    
     e_int = e_int + e * dt;
    
     
    
     % 计算微分项
    
     e_diff = (e - e_diff) / dt;
    
     
    
     % 计算控制信号
    
     u = Kp * e + Ki * e_int + Kd * e_diff;
    
     
    
     % 返回控制信号
    
 end
    
    
    
    

添加PID控制器模块

复制代码
 * 在Simulink模型中,拖动“Fcn”模块到工作区。
 * 将`pid_controller.m`函数关联到“Fcn”模块,确保其能够根据误差信号计算控制信号。

添加参考信号和误差计算

复制代码
 * 使用“Step”模块生成参考信号,模拟电网负荷的变化。
 * 使用“Sum”模块计算参考信号与实际负荷之间的误差。

连接控制器与储能系统

复制代码
 * 将PID控制器的输出连接到DC-AC转换器的控制输入端,用于调整储能系统的充放电功率。
2.5 添加电网模型

从Simscape Electrical库中添加三相电源模块

复制代码
 * 展开“Simscape > Electrical > Specialized Power Systems > Sources”。
 * 拖动“Three-Phase Source”模块到工作区。

配置三相电源参数

复制代码
 * 双击三相电源模块,设置以下参数: 
   * **电压(Voltage)** :400 V
   * **频率(Frequency)** :50 Hz
   * **功率(Power)** :100 kW
复制代码

matlab

深色版本

复制代码
 % 创建三相电源模型(电网)

    
 grid_source = simscape.Electrical.Sources.ThreePhaseSource;
    
 grid_source.Voltage = 400; % 单位:V
    
 grid_source.Frequency = 50; % 单位:Hz
    
 grid_source.Power = 100e3; % 单位:W
    
    
    
    

从Simscape Electrical库中添加三相负荷模块

复制代码
 * 展开“Simscape > Electrical > Specialized Power Systems > Elements”。
 * 拖动“Three-Phase Load”模块到工作区。

配置三相负荷参数

复制代码
 * 双击三相负荷模块,设置以下参数: 
   * **电阻(Resistance)** :1 Ω
   * **电感(Inductance)** :0.01 H
复制代码

matlab

深色版本

复制代码
 % 创建三相负荷模型

    
 load = simscape.Electrical.Loads.ThreePhaseLoad;
    
 load.Resistance = 1; % 单位:Ω
    
 load.Inductance = 0.01; % 单位:H
    
    
    
    
2.6 连接储能系统与电网

连接电池与DC-AC转换器

复制代码
 * 将电池的正负极分别连接到DC-AC转换器的直流侧输入端。

连接DC-AC转换器与电网

复制代码
 * 将DC-AC转换器的交流侧输出端连接到三相电源的输出端。

连接电网与负荷

复制代码
 * 将三相电源的输出端连接到三相负荷的输入端,形成完整的电力系统。
2.7 添加监控与可视化模块

添加Scope模块

复制代码
 * 从Simulink库中拖动多个“Scope”模块到工作区,用于实时观察以下变量的变化: 
   * 储能系统的充放电功率
   * 电网频率
   * 负荷功率
   * 电池SOC(荷电状态)

连接信号到Scope模块

复制代码
 * 将储能系统的充放电功率、电网频率、负荷功率等信号连接到相应的Scope模块,以便在仿真过程中实时查看这些变量的变化情况。
2.8 设置仿真参数

设置仿真时间

复制代码
 * 点击Simulink模型窗口上方的“Simulation”选项卡,选择“Model Configuration Parameters”。
 * 在弹出的对话框中,设置仿真时间为1小时(3600秒),以模拟一天内的电网负荷变化。

选择求解器

复制代码
 * 选择适合的求解器(如`ode45`),以确保仿真的准确性和稳定性。
复制代码

matlab

深色版本

复制代码
 set_param(gcs, 'StopTime', '3600'); % 仿真时间为1小时

    
 set_param(gcs, 'Solver', 'ode45'); % 使用ode45求解器
    
    
    
    
3. 仿真与结果分析
3.1 运行仿真
  1. 启动仿真
    • 点击Simulink模型窗口上方的“Run”按钮,启动仿真。
    • 观察各个Scope模块中的波形,确保储能系统能够根据电网负荷的变化,自动调整充放电策略,实现削峰填谷和平滑负荷曲线。
3.2 结果分析

储能系统的充放电功率

复制代码
 * 在负荷高峰期,储能系统应释放能量,向电网提供功率;在负荷低谷期,储能系统应吸收能量,储存多余的电能。

电网频率

复制代码
 * 通过储能系统的快速响应,电网频率应保持在50 Hz左右,波动范围应在允许范围内。

负荷功率

复制代码
 * 储能系统的参与应使负荷曲线更加平稳,减少高峰时段的电力短缺和低谷时段的资源浪费。

电池SOC(荷电状态)

复制代码
 * 电池的SOC应在合理范围内波动,避免过度充放电,确保电池的使用寿命。
3.3 参数优化

调整PID控制器参数

复制代码
 * 如果系统响应过慢或存在振荡,可以通过调整PID控制器的比例增益 KpKp​、积分增益 KiKi​ 和微分增益 KdKd​ 来优化性能。通常,可以先增加 KpKp​,然后逐渐增加 KiKi​,最后根据需要调整 KdKd​,直到系统达到理想的响应速度和稳定性。

自动调优

复制代码
 * 使用MATLAB中的优化工具箱(如`fmincon`)进行自动参数调优。定义一个优化目标函数,最小化储能系统的充放电误差、电网频率波动等指标。
4. 实际应用案例
4.1 风力发电场

在某风力发电场中,采用了本项目开发的储能系统进行电网调峰。由于风力发电具有间歇性和波动性,传统的发电方式难以满足电网的稳定需求。通过引入储能系统,风力发电场能够实现在负荷高峰期释放能量,在负荷低谷期储存能量,平滑负荷曲线,提高电网的稳定性和可靠性。

4.2 太阳能电站

在某太阳能电站中,采用了本项目开发的储能系统进行电网调峰。由于太阳能发电受天气影响较大,白天发电量大,夜晚发电量小,传统的发电方式难以满足电网的稳定需求。通过引入储能系统,太阳能电站能够实现在白天储存多余的能量,在夜晚释放能量,平滑负荷曲线,提高电网的稳定性和可靠性。

4.3 工业园区

在某工业园区中,采用了本项目开发的储能系统进行电网调峰。由于工业园区的负荷波动较大,传统的发电方式难以满足高峰时段的电力需求。通过引入储能系统,工业园区能够实现在负荷高峰期释放能量,在负荷低谷期储存能量,平滑负荷曲线,降低用电成本,提高电网的稳定性和可靠性

全部评论 (0)

还没有任何评论哟~