Advertisement

手把手教你学simulink实例--基于Simulink的储能系统性能评估与仿真

阅读量:

目录

基于Simulink的储能系统性能评估与仿真

1. 背景介绍

1.1 项目背景

2. 系统建模与仿真

2.1 储能系统组成

2.2 储能单元模型

2.3 功率转换器模型

2.4 控制策略设计

2.5 性能评估指标

3. Simulink仿真模型

3.1 创建Simulink模型

3.2 添加模块

3.2.1 储能单元模块

3.2.2 功率转换器模块

3.2.3 控制器模块

3.3 连接模块

3.4 设置仿真参数

4. 示例代码片段

5. 结束语


基于Simulink的储能系统性能评估与仿真


1. 背景介绍

1.1 项目背景

储能系统是现代能源体系中不可或缺的关键组成部分,并广泛应用于可再生能源并网运行、电网调峰调频服务、电力质量改善优化以及电动汽车快速充电等重要领域。为了全面提高储能系统的运行效率和可靠性水平,并确保其性能达到最佳状态,必须重视对其运行参数进行精准评估。基于MATLAB/Simulink平台构建的动态模型能够完整地描述储能系统的运行机制,并通过仿真分析揭示其在各种工作状态下的性能特征。

本项目致力于研究储能系统建模方案、控制策略及其性能评估指标,并通过Simulink仿真验证系统运行的动态特性与稳态特性


2. 系统建模与仿真

2.1 储能系统组成

储能系统通常由以下几个部分组成:

  1. 存储装置由电池(如锂离子电池)、超级电容器以及 Flywheel 等组成。
  2. 转换器负责将直流转化为交流或直流之间的能量转换。
  3. 控制器通过控制充放电过程来满足负载需求或电网调度要求。
  4. 传感器网络持续跟踪电压、电流、温度等关键参数,并确保系统的稳定运行。
  5. 管理系统承担着对电池状态估计以及热管理的全面责任。

2.2 储能单元模型

以锂离子电池为例,在描述其动态特性时常用等效电路模型这一表述方式可以被替换为"该方法可用来描述"或者"该方法适用于描述"等变体表达;例如将"其动态特性可以用等效电路模型描述"改为"The dynamic characteristics of lithium-ion batteries can be described using equivalent circuit models, such as the Thevenin model and the PNGV model."

Thevenin模型
Thevenin model represents a battery as an ideal voltage source connected through a combination of resistors and capacitors. The mathematical representation involves replacing the complex network with an equivalent voltage source in series with an equivalent resistance, which simplifies circuit analysis by allowing us to replace intricate networks with simpler equivalent circuits.

Vterm=Voc−I⋅R0−VRCVterm​=Voc​−I⋅R0​−VRC​

其中:

  • Vterm^{[1]}:端压值

    • Voc^{[1]}:断路电压
    • I_{\text{II}}:电池输出电流
    • R_{\text{II}}^{[1]}:内部电阻
    • V_{\text{II}}^{[1]}(由\text{RC}网络表示):动态去耦电容的极化电位

电池运行状态(SOC)可通过累积电压积分方法或卡尔曼滤波器进行估算

SOC(t)=SOC(t−1)−Δt⋅I(t)CnominalSOC(t)=SOC(t−1)−Cnominal​Δt⋅I(t)​

其中,CnominalCnominal​ 为额定容量。


2.3 功率转换器模型

功率转换器在储能系统中配置充放电功率;常见的拓扑结构包括双向DC-DC变换器以及逆变器。

双口型DC-DC变换器
双口型直流-直流变换器具备能量的正向与逆向转换能力,并能准确描述系统的动态特性。其数学模型可表示为:

L⋅dILdt=Vin−Vout⋅DL⋅dtdIL​​=Vin​−Vout​⋅D

C⋅dVoutdt=IL−IloadC⋅dtdVout​​=IL​−Iload​

逆变器 用于将DC电源转变为AC输出。
该设备采用先进的能量转换技术以实现高效的能源管理。
其核心功能包含多路功率分配模块以及智能电流反馈调节系统。


2.4 控制策略设计

为了优化储能系统的性能,采用以下控制策略:

恒功率控制
在电网调度场景下,储能系统按照设定的功率值进行充放电。

基于频率自动调节的控制系统
在电网调频过程中,在线储能系统能够依据电网频率偏差自动调节充放电功率:

Pref=Kf⋅(Δf)Pref​=Kf​⋅(Δf)

其中,KfKf​ 为频率调节系数,ΔfΔf 为频率偏差。

SOC均衡控制
采用平衡各储能单元的SOC状态作为均衡控制的核心策略,在多模块储能系统中实现系统的长期稳定运行。


2.5 性能评估指标

储能系统的性能评估指标包括:

  1. 效率 :衡量储能系统在能量转换过程中的损耗。

η=EoutEin×100%η=Ein​Eout​​×100%

  1. 响应速度:测定储能系统在电网调度指令下的迅速反应能力。
  2. 循环寿命:表征储能系统在充放电过程中的稳定性能。
  3. 成本效益:全面考量了储能系统的初始投资与运营效率。

3. Simulink仿真模型

3.1 创建Simulink模型

  1. 启动MATLAB程序并创建一个新的Simulink模型文件。
  2. 指定该模型的名称为ESS\_Simulation.
复制代码

matlab

深色版本

复制代码
 modelName = 'ESS_Simulation';

    
 new_system(modelName);
    
 open_system(modelName);

3.2 添加模块

3.2.1 储能单元模块

定义锂离子电池模型,模拟其动态特性。

复制代码

matlab

深色版本

复制代码
 add_block('simulink/User-Defined Functions/Matlab Function', [modelName '/Battery']);

    
 set_param([modelName '/Battery'], 'Mask', 'on');
    
 set_param([modelName '/Battery'], 'MaskDisplay', 'Battery');
    
  
    
 % 在Matlab Function中定义电池模型
    
 function [V_term, SOC] = fcn(I_batt, SOC_prev)
    
     % 参数初始化
    
     Voc = 4.2; % 开路电压 (V)
    
     R0 = 0.01; % 欧姆内阻 (Ω)
    
     RC = 0.1; % 极化电阻 (Ω)
    
     C_RC = 3600; % 极化电容 (F)
    
     C_nominal = 5; % 额定容量 (Ah)
    
     
    
     % 计算端电压
    
     dV_RC = (I_batt * RC - V_RC) / C_RC;
    
     V_RC = V_RC + dV_RC;
    
     V_term = Voc - I_batt * R0 - V_RC;
    
     
    
     % 更新SOC
    
     dt = 1; % 时间步长 (s)
    
     SOC = SOC_prev - I_batt * dt / (C_nominal * 3600);
    
 end

3.2.2 功率转换器模块

定义双向DC-DC变换器模型,调节电池输出电压。

复制代码

matlab

深色版本

复制代码
 add_block('simulink/User-Defined Functions/Matlab Function', [modelName '/DC_DC_Converter']);

    
 set_param([modelName '/DC_DC_Converter'], 'Mask', 'on');
    
 set_param([modelName '/DC_DC_Converter'], 'MaskDisplay', 'DC-DC Converter');
    
  
    
 % 在Matlab Function中定义DC-DC变换器
    
 function [V_out] = fcn(V_in, D)
    
     V_out = V_in / (1 - D);
    
 end

3.2.3 控制器模块

定义频率调节控制器,根据电网频率偏差调整充放电功率。

复制代码

matlab

深色版本

复制代码
 add_block('simulink/User-Defined Functions/Matlab Function', [modelName '/Frequency_Controller']);

    
 set_param([modelName '/Frequency_Controller'], 'Mask', 'on');
    
 set_param([modelName '/Frequency_Controller'], 'MaskDisplay', 'Frequency Controller');
    
  
    
 % 在Matlab Function中定义频率调节控制器
    
 function [P_ref] = fcn(f_error, K_f)
    
     P_ref = K_f * f_error;
    
 end

3.3 连接模块

将各个模块按照系统框图连接起来。

复制代码

matlab

深色版本

复制代码
 % 连接电池到DC-DC变换器

    
 add_line(modelName, '/Battery/1', '/DC_DC_Converter/1', 'autorouting', 'on');
    
  
    
 % 连接DC-DC变换器到控制器
    
 add_line(modelName, '/DC_DC_Converter/1', '/Frequency_Controller/1', 'autorouting', 'on');

3.4 设置仿真参数

设置仿真时间为300秒。

复制代码

matlab

深色版本

复制代码
 set_param(modelName, 'StopTime', '300'); % 设置仿真时间为300秒

    
 save_system(modelName); % 保存模型

4. 示例代码片段

以下是一个完整的基于Simulink的储能系统仿真过程。

复制代码

matlab

深色版本

复制代码
 % Step 1: Define model name and create a new system

    
 modelName = 'ESS_Simulation';
    
 new_system(modelName);
    
 open_system(modelName);
    
  
    
 % Step 2: Add Battery Module
    
 add_block('simulink/User-Defined Functions/Matlab Function', [modelName '/Battery']);
    
 set_param([modelName '/Battery'], 'Mask', 'on');
    
 set_param([modelName '/Battery'], 'MaskDisplay', 'Battery');
    
  
    
 % 在Matlab Function中定义电池模型
    
 function [V_term, SOC] = fcn(I_batt, SOC_prev)
    
     % 参数初始化
    
     Voc = 4.2; % 开路电压 (V)
    
     R0 = 0.01; % 欧姆内阻 (Ω)
    
     RC = 0.1; % 极化电阻 (Ω)
    
     C_RC = 3600; % 极化电容 (F)
    
     C_nominal = 5; % 额定容量 (Ah)
    
     
    
     % 计算端电压
    
     dV_RC = (I_batt * RC - V_RC) / C_RC;
    
     V_RC = V_RC + dV_RC;
    
     V_term = Voc - I_batt * R0 - V_RC;
    
     
    
     % 更新SOC
    
     dt = 1; % 时间步长 (s)
    
     SOC = SOC_prev - I_batt * dt / (C_nominal * 3600);
    
 end
    
  
    
 % Step 3: Add DC-DC Converter
    
 add_block('simulink/User-Defined Functions/Matlab Function', [modelName '/DC_DC_Converter']);
    
 set_param([modelName '/DC_DC_Converter'], 'Mask', 'on');
    
 set_param([modelName '/DC_DC_Converter'], 'MaskDisplay', 'DC-DC Converter');
    
  
    
 % 在Matlab Function中定义DC-DC变换器
    
 function [V_out] = fcn(V_in, D)
    
     V_out = V_in / (1 - D);
    
 end
    
  
    
 % Step 4: Add Frequency Controller
    
 add_block('simulink/User-Defined Functions/Matlab Function', [modelName '/Frequency_Controller']);
    
 set_param([modelName '/Frequency_Controller'], 'Mask', 'on');
    
 set_param([modelName '/Frequency_Controller'], 'MaskDisplay', 'Frequency Controller');
    
  
    
 % 在Matlab Function中定义频率调节控制器
    
 function [P_ref] = fcn(f_error, K_f)
    
     P_ref = K_f * f_error;
    
 end
    
  
    
 % Step 5: Connect Blocks
    
 add_line(modelName, '/Battery/1', '/DC_DC_Converter/1', 'autorouting', 'on');
    
 add_line(modelName, '/DC_DC_Converter/1', '/Frequency_Controller/1', 'autorouting', 'on');
    
  
    
 % Step 6: Set Simulation Parameters
    
 set_param(modelName, 'StopTime', '300');
    
 save_system(modelName);

5. 结束语

在这一份项目文档中,我们全面阐述了基于Simulink平台构建储能系统仿真模型的过程,并且不仅实现了相关的控制策略设计与性能评估。我们希望通过这一示例能够帮助读者更好地理解和应用相关技术,并为实际工程问题的解决提供了宝贵的参考。如果需要进一步的优化或扩展,则可以根据具体的应用需求进行相应的调整和改进。

在这一份项目文档中, 我们详细介绍了如何基于Simulink平台构建储能系统的仿真模型, 并实现了相关控制策略及性能评估. 希望通过这个例子, 能够帮助读者更好地理解和应用相关技术, 并为实际工程问题的解决提供有价值的参考. 如果有进一步的需求, 可以根据具体情况对方案进行相应的优化与调整

全部评论 (0)

还没有任何评论哟~