Advertisement

手把手教你学simulink(30.6)--电力电子场景示例:基于Simulink的电动汽车(EV)双向充电系统(V2G)设计

阅读量:

目录

项目实例:基于Simulink的电动汽车(EV)双向充电系统(V2G)设计

项目背景

项目结构

1. 双向充电功能

1.1 双向DC-DC变换器建模

1.1.1 双向DC-DC变换器模型实现

1.2 双向AC-DC变换器建模

1.2.1 双向AC-DC变换器模型实现

2. 电池管理系统(BMS)

2.1 电池状态监控

2.1.1 电池状态监控实现

2.2 电池均衡

2.2.1 电池均衡实现

3. 能量管理与优化

3.1 基于规则的能量管理

3.1.1 基于规则的能量管理实现

3.2 基于优化的能量管理

3.2.1 基于优化的能量管理实现

4. 与电网的交互

4.1 电网参数监测

4.1.1 电网参数监测实现

4.2 与电网调度系统的通信

4.2.1 与电网调度系统的通信实现

5. 故障检测与保护

5.1 短路故障检测

5.1.1 短路故障检测实现

5.2 过载保护

5.2.1 过载保护实现

6. 硬件在环仿真(HILS)

6.1 硬件连接

6.1.1 硬件连接实现

6.2 实时仿真

6.2.1 实时仿真实现

总结

关键功能总结:

进一步扩展

详细说明

1. 双向充电功能

2. 电池管理系统(BMS)

3. 能量管理与优化

4. 与电网的交互

5. 故障检测与保护

6. 硬件在环仿真(HILS)


项目实例:基于Simulink的电动汽车(EV)双向充电系统(V2G)设计

项目背景

随着电动汽车(Electric Vehicle, EV)的普及程度日益提高。

本项目主要致力于通过Simulink构建一个新能源汽车双向充电系统模型,并集成双向DC/DC转换器、双向AC/DC转换器以及电池管理系统(BMS)等功能以详细阐述以下具体目标。

  1. 双向充电功能:支持电动汽车与电网之间的双向能量流动。
  2. 电池管理系统(BMS):实时监控电池状态, 保障电池的安全和高效运行。
  3. 能量管理与优化:基于这些因素进行, 智能化优化充电和放电策略。
  4. 与电网的交互:具备实现电动汽车与电网 seamless connection的能力。
  5. 故障检测与保护:开发故障检测机制, 确保系统安全可靠。
  6. 硬件在环仿真(HILS):将Simulink模型与其实际硬件进行连接, 进行硬件在环仿真, 验证控制算法的实际效能。
项目结构

该项目将分为以下几个主要模块:

  1. 双向电荷功能
  2. 电池管理平台(BMS)
  3. 能量管理和优化
  4. 电网交互机制
  5. 故障诊断和保护
  6. 硬件在环仿真技术(HILS)

1. 双向充电功能

该系统的主要由双向型DC-DC变换器与双向型AC-DC变换器组成,在电动汽车内部实现了直流电的能量转化功能,并且在与电网之间完成了交流电的能量交换过程。借助这两个关键组件的作用,在从电网获取电能以及向电网输送能量方面达到了良好的兼容性。

1.1 双向DC-DC变换器建模

在电动汽车内部应用双向DC-DC变换器以实现高压电池与低压负载之间的能量转换。通过Simulink平台中的Simscape Electrical模块构建相应的变换器模型。

1.1.1 双向DC-DC变换器模型实现
复制代码

matlab

深色版本

复制代码
 % 添加双向DC-DC变换器模块

    
 add_block('simscape/electrical/Specialized Power Systems/Power Electronics/Bidirectional DC-DC Converter', 'DC_DC_Converter');
    
  
    
 % 设置双向DC-DC变换器参数
    
 set_param('DC_DC_Converter', 'SwitchingFrequency', '100e3'); % 开关频率为100 kHz
    
 set_param('DC_DC_Converter', 'InputVoltage', '400'); % 输入电压为400 V
    
 set_param('DC_DC_Converter', 'OutputVoltage', '12'); % 输出电压为12 V
    
  
    
 % 连接电池和低压负载到双向DC-DC变换器
    
 connect_blocks('Battery', 'DC_DC_Converter');
    
 connect_blocks('Low_Voltage_Load', 'DC_DC_Converter');
1.2 双向AC-DC变换器建模

该系统的主要功能是实现能源在电动汽车与电网之间的高效转换。通过Simulink平台中的Simscape Electrical模块构建相应的模型

1.2.1 双向AC-DC变换器模型实现
复制代码

matlab

深色版本

复制代码
 % 添加双向AC-DC变换器模块

    
 add_block('simscape/electrical/Specialized Power Systems/Power Electronics/Bidirectional AC-DC Converter', 'AC_DC_Converter');
    
  
    
 % 设置双向AC-DC变换器参数
    
 set_param('AC_DC_Converter', 'SwitchingFrequency', '50e3'); % 开关频率为50 kHz
    
 set_param('AC_DC_Converter', 'GridVoltage', '230'); % 电网电压为230 V
    
 set_param('AC_DC_Converter', 'BatteryVoltage', '400'); % 电池电压为400 V
    
  
    
 % 连接电网和电池到双向AC-DC变换器
    
 connect_blocks('Grid', 'AC_DC_Converter');
    
 connect_blocks('Battery', 'AC_DC_Converter');

2. 电池管理系统(BMS)

作为电动汽车的关键组成部分之一,电池管理系统(BMS)主要关注包括电压、电流以及温度等多个参数的变化情况。它不仅能够实时监控这些关键指标的变化趋势,并且能够采取相应的调节措施以确保系统的安全性和高效性。在仿真软件Simulink平台中,则可以通过Stateflow模块来构建BMS的控制策略

2.1 电池状态监控

BMS依赖于持续监测电池的电压、电流、温度等关键参数,并以此为基础来制定充放电方案。在Simulink环境中利用Simscape Battery模块建立电池模型的同时,借助Stateflow系统建模语言来规划监督流程。

2.1.1 电池状态监控实现
复制代码

matlab

深色版本

复制代码
 % 添加电池模块

    
 add_block('battery/Lithium-Ion Battery', 'Battery');
    
  
    
 % 设置电池参数
    
 set_param('Battery', 'NominalCapacity', '100'); % 额定容量为100 kWh
    
 set_param('Battery', 'NominalVoltage', '400'); % 额定电压为400 V
    
 set_param('Battery', 'InitialSOC', '0.5'); % 初始荷电状态为50%
    
  
    
 % 添加传感器模块
    
 add_block('simscape/electrical/Specialized Power Systems/Measurements/Voltage Measurement', 'Voltage_Sensor');
    
 add_block('simscape/electrical/Specialized Power Systems/Measurements/Current Measurement', 'Current_Sensor');
    
 add_block('simscape/electrical/Specialized Power Systems/Measurements/Temperature Measurement', 'Temperature_Sensor');
    
  
    
 % 连接传感器到电池
    
 connect_blocks('Voltage_Sensor', 'Battery');
    
 connect_blocks('Current_Sensor', 'Battery');
    
 connect_blocks('Temperature_Sensor', 'Battery');
    
  
    
 % 添加状态机模块
    
 add_block('stateflow/Chart', 'BMS_Logic');
    
  
    
 % 设置状态机逻辑
    
 set_param('BMS_Logic', 'States', {'Normal', 'Overcharge', 'Overdischarge', 'Overtemperature'});
    
 set_param('BMS_Logic', 'Transitions', {
    
     'Normal -> Overcharge: voltage > max_voltage',
    
     'Normal -> Overdischarge: voltage < min_voltage',
    
     'Normal -> Overtemperature: temperature > max_temperature',
    
     'Overcharge -> Normal: voltage <= max_voltage',
    
     'Overdischarge -> Normal: voltage >= min_voltage',
    
     'Overtemperature -> Normal: temperature <= max_temperature'
    
 });
    
  
    
 % 连接状态机到传感器
    
 connect_blocks('BMS_Logic', 'Voltage_Sensor');
    
 connect_blocks('BMS_Logic', 'Current_Sensor');
    
 connect_blocks('BMS_Logic', 'Temperature_Sensor');
2.2 电池均衡

为了提高电池续航时间,BMS系统还需配置均衡管理功能以平衡各电池单元的状态(SOC)。通过Simulink平台结合Control System Toolbox设计相应的均衡算法以确保各单元荷电水平的一致性。

2.2.1 电池均衡实现
复制代码

matlab

深色版本

复制代码
 function [balanced_soc] = batteryBalancing(soc_vector)

    
     % 计算平均SOC
    
     avg_soc = mean(soc_vector);
    
  
    
     % 调整每个电池单元的SOC
    
     for i = 1:length(soc_vector)
    
     if soc_vector(i) > avg_soc
    
         soc_vector(i) = soc_vector(i) - 0.01; % 放电
    
     elseif soc_vector(i) < avg_soc
    
         soc_vector(i) = soc_vector(i) + 0.01; % 充电
    
     end
    
     end
    
  
    
     % 返回均衡后的SOC
    
     balanced_soc = soc_vector;
    
 end

3. 能量管理与优化

为了最大限度地提升电动汽车的经济效益,我们需要研发出一种能量管理系统(EMS),该系统需要综合考虑实时电价波动、用户的实际需求等多方面的因素,并在此基础上灵活调节充电与放电的策略以达到最佳效率。我们可以通过Simulink平台中的Optimization Toolbox这一功能模块来实现基于优化算法指导下的能量管理策略。

3.1 基于规则的能量管理

遵循明确规则的能量管理是一种简化的EMS方案。该方案主要应用于具有明确规律的系统运行情况。我们可以通过制定一系列具体的充电与放电策略来实现系统的充放电控制。

3.1.1 基于规则的能量管理实现
复制代码

matlab

深色版本

复制代码
 function [power_commands] = ruleBasedEMS(grid_price, battery_soc, user_demand)

    
     % 初始化功率命令
    
     power_commands = struct('Grid', 0, 'Battery', 0);
    
  
    
     % 规则1:当电价较低时,优先从电网充电
    
     if grid_price < 0.1 && battery_soc < 0.9
    
     power_commands.Grid = user_demand;
    
     else
    
     % 规则2:当电价较高时,优先从电池放电
    
     if battery_soc > 0.2
    
         power_commands.Battery = -user_demand;
    
     else
    
         % 规则3:当电池电量不足时,从电网充电
    
         power_commands.Grid = user_demand;
    
     end
    
     end
    
 end
3.2 基于优化的能量管理

该系统采用智能化设计,在各种变化多端的情况下表现出色。通过求解优化模型来确定最优的充电和放电策略以提升能源使用效率

3.2.1 基于优化的能量管理实现
复制代码

matlab

深色版本

复制代码
 function [power_commands] = optimizationBasedEMS(grid_price, battery_soc, user_demand, price_signal)

    
     % 定义优化变量
    
     x = optimvar('x', 2, 'LowerBound', [-battery_soc * 100, 0], 'UpperBound', [0, 100]);
    
  
    
     % 定义目标函数
    
     objective = sum(x .* price_signal);
    
  
    
     % 定义约束条件
    
     constraints = [
    
     x(1) + x(2) == user_demand; % 功率平衡约束
    
     x(1) <= -battery_soc * 100; % 电池放电约束
    
     x(2) <= 100; % 电网充电约束
    
     ];
    
  
    
     % 求解优化问题
    
     problem = optimproblem('Objective', objective, 'Constraints', constraints);
    
     solution = solve(problem);
    
  
    
     % 获取最优功率命令
    
     power_commands = struct('Grid', solution.x(2), 'Battery', solution.x(1));
    
 end

4. 与电网的交互

本研究旨在实现电动汽车与电网之间的无缝连接。本研究将开发一个与电网交互的通信接口,并与其调度系统进行数据交换。该研究将涉及对电压水平、频率稳定性和功率因素等关键参数进行实时监控。

4.1 电网参数监测

通过使用Simulink中的Simscape Electrical工具箱对电网中的关键参数进行详细分析和研究

4.1.1 电网参数监测实现
复制代码

matlab

深色版本

复制代码
 % 添加电网参数监测模块

    
 add_block('simscape/electrical/Specialized Power Systems/Measurements/Voltage Measurement', 'Grid_Voltage_Sensor');
    
 add_block('simscape/electrical/Specialized Power Systems/Measurements/Frequency Measurement', 'Grid_Frequency_Sensor');
    
 add_block('simscape/electrical/Specialized Power Systems/Measurements/Power Factor Measurement', 'Grid_PF_Sensor');
    
  
    
 % 连接传感器到电网
    
 connect_blocks('Grid_Voltage_Sensor', 'Grid');
    
 connect_blocks('Grid_Frequency_Sensor', 'Grid');
    
 connect_blocks('Grid_PF_Sensor', 'Grid');
4.2 与电网调度系统的通信

通过集成Simulink中的MATLAB Function模块来实现与电网调度系统的通信。通过API及MQTT等协议来实现。

4.2.1 与电网调度系统的通信实现
复制代码

matlab

深色版本

复制代码
 function [grid_command] = communicateWithGrid(grid_status)

    
     % 发送电网状态到调度系统
    
     sendToGridScheduler(grid_status);
    
  
    
     % 接收调度系统的指令
    
     grid_command = receiveFromGridScheduler();
    
 end

5. 故障检测与保护

为保障系统的安全性和可靠性要求, 应构建故障检测系统以持续监控设备运行状态, 及时识别并应对异常情况. 常见的故障现象涵盖短路、过载以及电压波动等多种情况.

5.1 短路故障检测

我们可以通过Simulink中的Fault Detection and Diagnosis工具箱集成短路故障检测机制。该系统集成了现成的故障检测算法,并具备简便的操作流程以实现对短路故障的实时监测。

5.1.1 短路故障检测实现
复制代码

matlab

深色版本

复制代码
 % 添加短路故障检测模块

    
 add_block('fault_detection/Fault Detector', 'Short_Circuit_Detector');
    
  
    
 % 设置短路故障检测参数
    
 set_param('Short_Circuit_Detector', 'Threshold', '1000'); % 短路电流阈值为1000 A
    
  
    
 % 连接短路故障检测到系统
    
 connect_blocks('Short_Circuit_Detector', 'System_Model');
5.2 过载保护

通过集成Simulink中的Protection Devices工具箱, 我们可以构建过载保护机制. 该工具箱提供的是预先配置好的保护设备模型, 这使得用户无需进行复杂的配置即可实现过载保护功能.

5.2.1 过载保护实现
复制代码

matlab

深色版本

复制代码
 % 添加过载保护模块

    
 add_block('protection_devices/Overload Protector', 'Overload_Protector');
    
  
    
 % 设置过载保护参数
    
 set_param('Overload_Protector', 'Threshold', '500'); % 过载电流阈值为500 A
    
  
    
 % 连接过载保护到系统
    
 connect_blocks('Overload_Protector', 'System_Model');

6. 硬件在环仿真(HILS)

为了检验控制算法的实际性能,可以通过搭建实验平台并将其与实际系统进行交互测试。具体实施时可参考Simulink中的HILS Toolbox模块组以完成硬件在环仿真实验。

6.1 硬件连接

硬件连接是通过将Simulink模型与各种实际硬件设备建立关联实现实时数据交换与控制这一过程。通过Simulink平台中的HILS Toolbox模块能够有效地完成这一过程。

6.1.1 硬件连接实现
复制代码

matlab

深色版本

复制代码
 % 添加硬件连接模块

    
 add_block('hils_toolbox/Hardware Interface', 'Hardware_Interface');
    
  
    
 % 设置硬件连接参数
    
 set_param('Hardware_Interface', 'Device', 'DC_DC_Converter'); % 连接到双向DC-DC变换器
    
 set_param('Hardware_Interface', 'Port', 'COM1'); % 串口为COM1
    
  
    
 % 连接硬件到系统
    
 connect_blocks('Hardware_Interface', 'System_Model');
6.2 实时仿真

实时仿真是指通过真实硬件环境来执行Simulink模型,并对系统的运行状态进行实时跟踪。Simulink中的HILS Toolbox工具箱为我们提供了实现这一功能的必要条件和方法。

6.2.1 实时仿真实现
复制代码

matlab

深色版本

复制代码
 % 启用实时仿真

    
 set_param('System_Model', 'SimulationMode', 'External');
    
  
    
 % 启动实时仿真
    
 sim('System_Model');

总结

通过上述代码构建, 您将能够分阶段完成一个完整且功能完善的V2G系统模型, 并对其性能进行全面分析并进行优化. 该系统将具备以下功能: 有效的家庭能源管理, 提升碳中和目标下的电网稳定性, 以及为智能电网的发展提供技术支持.

  1. 双向能量交换功能:通过先进算法和优化技术,在电动汽车与电网之间实现高效的双向能量交换。
  2. 电池管理系统(BMS):实时监测电池运行状态,并结合电压、电流等数据信息,在此基础上保障电池运行的安全性和高效性。
  3. 综合能源管理与优化控制:结合实时电价波动、用户的用电需求以及天气状况等多因素信息,在此基础上动态优化电能的充放电策略。
  4. 车辆-电网信息交互平台:构建了完整的车辆-电网信息交互平台,并通过该平台实现了对车辆的动力电源系统运行状态的有效监控。
  5. 智能故障预警机制:建立故障预警机制,并在此基础上有效提升了系统整体的安全性和可靠性水平。
  6. 虚拟样机测试平台:实现了基于Simulink的虚拟样机测试平台,并完成了对控制系统算法的硬件在环仿真实验验证。
关键功能总结:
  • 双向充电功能 : 利用先进的双向DC-DC变换器以及双路的AC-DC变换器, 实现电动汽车与其所在电网之间的能量互相补充与转化, 从而满足充放电需求.
    • 电池管理系统(BMS) : 实现实时监控电池运行状态并进行健康评估, 确保其安全稳定运行.
    • 能量管理与优化 : 根据实时电价变化及用户需求调整充放电策略, 最大限度提升能源使用效率.
    • 与电网的交互 : 确保汽车快速融入智能电网体系, 支持其作为可再生能源发电系统的接入.
    • 故障检测与保护 : 建立完善的故障预警系统, 在出现异常时及时发出警报并采取相应措施.
    • 硬件在环仿真(HILS) : 采用Simulink/SIMEC平台对系统进行建模并与其硬件对接, 达到精确模拟效果.
进一步扩展
  1. 多源互补优化:整合多种清洁能源资源(如太阳能、风能等),显著提升系统的灵活性与稳定性。
  2. 智能调度与优化:采用先进的AI技术和机器学习方法,在实现智能化调度与优化控制的基础上,显著增强系统的自适应能力。
  3. 用户交互与响应:通过促进用户参与负荷调节活动的方式,在提升系统运行效率的基础上带来了更为显著的效果。
  4. 远程监控与管理:借助物联网技术实现了对电动汽车的远程监控与管理功能,并在此基础上显著提升了用户的实时监控体验,并允许他们便捷地进行系统状态调整。
  5. 虚拟电厂(VPP)集成:通过对多个电动汽车集合体的有效管理和整体能源调度方案的设计,在更大范围内的能源利用效率上带来了明显提升。
详细说明
1. 双向充电功能

可以利用Simulink平台来简化双口充电系统模型的建立过程。通过Simulink平台中的Simscape Electrical模块库能够获取现成的双向DC/DC转换器模块和双向AC/DC转换器模块,并且这些模块都是经过验证可以快速应用到实际系统中进行仿真实验。从而用户仅需配置基本参数即可轻松搭建复杂的双口充电系统模型并完成相关功能测试工作

2. 电池管理系统(BMS)

为了降低BMS开发的复杂性, 该Simulink环境中的Stateflow工具箱为我们提供了便利. 该系统集成了多种预设的状态机设计方案, 通过这一设计框架, 相关研究者能够便捷地构建完整的电池状态监测系统以及均衡控制机制.

3. 能量管理与优化

为了提升能源管理的智能化水平, 我们可以通过Simulink平台提供的Optimization Toolbox功能模块, 实现多种成熟的优化算法模块, 从而帮助研究人员和工程师能够方便地构建基于优化理论的能量管理方案, 例如在成本最小化的同时兼顾可再生能源的最大利用效率

4. 与电网的交互

为了达到更复杂的电网交互需求,在Simulink环境中可调用Communications Toolbox中的相关函数以实现这一目标。该 toolbox 提供了一套完整的通信协议实现框架,在此平台上用户可以通过这些工具箱模块能够方便地建立与调度系统的通信接口。

5. 故障检测与保护

为了更为全面地进行故障检测与保护工作,在Simulink中拥有这两个功能性的工具箱非常有帮助

6. 硬件在环仿真(HILS)

为了评估控制算法的实际效果,在Simulink平台中利用HILS Toolbox提供了一个方便的解决方案。该工具箱不仅支持硬件在环测试,并且能够实现模型与设备之间的实时交互。通过简单的配置过程即可将Simulink模型与实际 hardware 设备建立联系。完成硬件在环测试流程后,则可验证所设计算法的关键性能指标,并最终完成系统验证工作以保证其稳定性和可靠性

全部评论 (0)

还没有任何评论哟~