城市轨道交通供电系统研究(Matlab代码实现)-程序员宅基地

技术标签: matlab  算法  开发语言  

欢迎来到本博客️️

博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

座右铭:行百里者,半于九十。

本文目录如下:

目录

1 概述

1.1 电气系统动态分析

1.2 城市轨道交通供电系统

1.3 运行结果分析

2 运行结果

2.1 测试1

2.2 测试2

2.3 测试3

3 参考文献

4 Matlab代码、数据、文档讲解


1 概述

1.1 电气系统动态分析

这个任务主要是深入学习课堂上所学的概念,并凸显嵌入式系统最显著的一个方面:大规模使用功率电子变换器。

应用将基于非常简单的示例进行,因此可以将时间仿真结果与课堂上学到的解析计算进行比较。仿真软件可能会使用PSIM,因为它易于使用并且性能非常优秀。

这个动态研究将涉及课程中讨论的带输入滤波器的串联斩波器的案例,其结构如下所示。同时也会提供这个斩波器的参数。

斩波器特性

E = 350 V 直流 功率 = 5 kW Vc = 28 V 直流

Lh = 290 H Ch = 400 F fh = 5 kHz

滤波器

Rf = 250 m Lf = 200 H Cf = 100 F RCf = 0

准备:

-考虑只有输出电压Vc通过调节斩波器的触发角α而得到调节,确定系统开环和闭环状态空间模型。

-根据系统参数确定平均模型的有效领域的最大频率。

-定义系统的两个动态性能要求书(响应时间,超调量,稳定裕度等):

                         可以是调节

                         也可以是跟踪

(1) 分析研究:稳定性的模态方法

根据开环状态空间模型,计算参与因子和灵敏度,并对系统进行完整的稳定性分析。

特别需要注意系统中最关键的参数,并分析系统极点在这些参数相对于其名义值的100%变化后的移动。

(2) 系统控制

利用Matlab的Sisotool工具,设计两个控制器:

ü 要么具有良好的性能(响应时间,阻尼);

ü 要么具有良好的鲁棒性(增益和相位裕度)。

分析使用这两个控制器的灵敏度函数S的频率响应。

(3) 仿真:验证

使用“validation_BF.sch”文件(PSIM仿真)对系统进行闭环仿真。

评估在负载扰动为5%或50%时,控制器的性能。分析在参数显著变化时(尤其是第2部分的关键参数)控制器的鲁棒性。

(4) 对系统的设计进行总结

1.2 城市轨道交通供电系统

考虑在长达1.5公里的试验线上移动CITADIS型有轨电车。车辆在接触网线上的电力功率(Pelec)如图1所示。

采样周期为1秒的采样剖面在文件donnees.mat中描述。计算可以在Matlab环境中进行。

1)特征化负载剖面

根据要提供的功率剖面,确定功率混合潜力(PHP)和能量混合潜力(PHE)。就混合动力传动系统与辅助源(储能)的选择以及技术的选择进行结论。

然后我们选择以下符号约定:

- 在牵引模式下Pelec为正(对应于储能的放电阶段);

- 在制动模式下Pelec为负(对应于储能的充电阶段)。

2) 储能技术选择

使用spectre.m函数,确定负载剖面的频谱。就选择的储能技术进行结论。

接下来,我们假设剖面的平均功率将由连接到研究的有轨电车系统的EDF网络提供。剩下所需的功率将由考虑的储能提供。

选择处理以下3)或4)问题。最后还有一个共同的5)问题。

3) 超级电容储能

3.a) 计算:

- 在能量连接节点处计算的储能功率;

- 实际转换为储能的功率,假设超级电容的总体转换效率(转换器和储能介质的损耗)为95%;

- 在超级电容中实际储存的能量。

3.b) 推导出(不考虑电容组合的损耗):

- 为执行任务所需的储存能量;

- 电容组合的总容量(平均放电深度为75%);

- 在超级电容组合中充电或放电的最大功率;

- 根据表1中给出的技术要素,对超级电容组合进行尺寸设计(元件数量、建议的电压和电流、体积和总体积)。

3.c) 在这部分,我们选择对电容组合的损耗进行补偿。比较预期的在电容组合中实际储存的能量。重新进行3.b)点的计算,并研究对尺寸设计的影响。

元件容量 元件电压 串联电阻(ESR)

5000 F 2.5 V 350 μΩ

表1:EPCOS(B49410B2506Q000)元件的特征数据

4) 高功率密度电池的情况

4.a) 计算:

- 在能量连接节点处计算的储能功率;

- 实际转换为储能的功率,假设电池的总体转换效率(转换器和储能介质的损耗)为81%;

- 在电池中实际储存的能量;

- 考虑到充电状态饱和,电池组中的储能。为此,我们将任务开始时的能量设为零。可以比较实际储存的能量和通过饱和积分计算的能量之间的差距。

4.b) 推导出:

- 为执行任务所需的储存能量;

- 电池组的总容量(平均放电深度为50%);

- 在电池组中充电和放电的最大功率;

- 根据表2中给出的技术要素,对电池组进行尺寸设计(元件数量、建议的电压和电流、体积和总体积)。可以在容量/放电功率平面上标出观察到的特征。我们不会试图优化所选择的电池的尺寸设计。

5) 研究尺寸设计对EDF网络提供的功率敏感度。可以通过每次修改±50%的设定值来进行研究。

1.3 运行结果分析

这部分是测试结果详细分析,见第4部分。

2 运行结果

2.1 测试1

2.2 测试2

2.3 测试3

部分代码:

close all
clc
clear
load Tram.mat
Pelec2=zeros(size(T,2),1);
for i=1:size(T,2)
    Pelec2(i,1)=T(1,i).pelec;
end
% Calculating the mean of the energ demand
Pmoy=mean(Pelec2)
figure

subplot(2,1,1) 
plot (Pelec2-Pmoy)
legend('Power provided by the storage device');
title('Power provided by the storage device');

ActualPelec2=zeros(size(Pelec2,1),1);
for i=1:size(Pelec2,1)
    if(Pelec2-Pmoy)>0
        ActualPelec2(i,1)=(Pelec2(i,1)-Pmoy)/0.95;
    else
        ActualPelec2(i,1)=(Pelec2(i,1)-Pmoy)*0.95;
    end
end

subplot(2,1,2) 
plot(ActualPelec2)
legend('Actual power provided by the storage device');
title('Actual power provided by the storage device');

energyStoredInWh=zeros(size(ActualPelec2,1),1);
energyStoredInWh(1,1)=1000;
for i=2:size(ActualPelec2,1)
    energyStoredInWh(i,1)=energyStoredInWh(i-1,1)-(ActualPelec2(i-1,1)/(60*60));
end
figure;
plot(energyStoredInWh)
legend(strcat('Useful energy (in Wh): ',num2str(max(energyStoredInWh)-min(energyStoredInWh))));
title('Energy stored in storage device');
disp(strcat('Useful energy: ',num2str(max(energyStoredInWh)-min(energyStoredInWh))));
%Assuming 75 percent DoD, the capactiy energy capacity can be calculated
capEnergyCapacityInWh=(max(energyStoredInWh)-min(energyStoredInWh))*4/3
%The maximum power imposed upon the capacitor can aslo be calculated
maxPowerImposedInW=max(ActualPelec2)

voltageInV=2.5;
capacitorInF=5000;
esrInuOhms=350;
%The total capacitance of the package can be calculated using the capactir
%energy capacity
totalCapacityInF=2*capEnergyCapacityInWh*60*60/((voltageInV)^2);
disp(strcat('Total capacity required in farads assuming voltage of one capacitor: ', num2str(totalCapacityInF)));

% voltageInV=2.5;
% capacitorInF=5000;
% esrInuOhms=350;
%the energy capacity of one pack
energyInOnePackInWh=capacitorInF*(voltageInV^2)/(2*60*60)
maximalPowerInOneElementInW=0.12*(voltageInV^2)/(esrInuOhms/1000000)

%Number of capacitors reuiqred according to energy capacity and power
%capacity
NumOfCapEnergy=capEnergyCapacityInWh/energyInOnePackInWh
NumOfCapPower=maxPowerImposedInW/maximalPowerInOneElementInW
disp(strcat('Number of capacitors required: ', num2str(ceil(max(NumOfCapEnergy,NumOfCapPower)))))

3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]李建民,孙建设.城市轨道交通供电系统谐波分布研究[J].电测与仪表, 2008, 45(2):6.DOI:10.3969/j.issn.1001-1390.2008.02.001.

[2]陈润芝.城市轨道交通供电系统的设计研究[J].百科论坛电子杂志, 2019, 000(004):471.

[3]王国亮.某城市轨道交通供电系统研究[D].华北电力大学[2023-12-31].DOI:CNKI:CDMD:2.1016.276128.

4 Matlab代码、数据、文档讲解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46039719/article/details/135348908

智能推荐

uoj #139-程序员宅基地

文章浏览阅读79次。树链剖分//模板题由于存在换根操作对所有关于节点 u 的修改和查询操作进行分类讨论若 Root 在 u 的子树中,则不处理 u 所在的 Root 的那颗子树否则不会有影响寻找 Root 所在的那颗子树的根可以用倍增求#include <iostream>#include <cstdio>#include <algorithm>#include..._onuoj

宇宙时光推论-程序员宅基地

文章浏览阅读273次。象理主义者认为:时间和空间是无限的,在时间上,没有开始和终了,在空间上没有边界和尽头,而宇宙间的万事万物,小到朝菌、蝇虫,大到整个宇宙,都是有限的产生、存在和无限的循环,任何事物都有开始和结束。静久必静,物极必反。对于整个宇宙而言,物质永不毁灭,循环不已生生不息。第一节太极宇宙一:太易宇宙即宇宙形成过程中“未见气之前”的阶段,阴阳不分,不产生吸引,也不产生排斥,为静止的空间,通过观..._时间有没有开始,空间有没有尽头

【论文阅读】Webshell检测方法研究综述_webshell研究现状-程序员宅基地

文章浏览阅读924次。目录一、论文题目二、作者信息三、论文地址四、论文内容1.webshell检测的分类2.基于静态文本的检测3.基于动态行为的检测4.基于日志分析的监测5.future works一、论文题目Webshell 检测方法研究综述二、作者信息南京林业大学,端木怡婷三、论文地址https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&dbname=CJFDLAST2021&filename=RJZZ202011020四、论文内容1_webshell研究现状

多线程求素数_多线程输出素数-程序员宅基地

文章浏览阅读2k次。一、前言 最近在学习golang的并发语法,想来想去,发现学习的多线程算法着实不多,除了一些传统排序算法的并发版本外,第一时间想起的也就是这个并发求素数的算法。 大部分人了解的单线程求素数算法,应该是两重循环判断是否能够整除,外层循环为被除数,内层循环为除数。而这种形式的求法能做文章的地方无非就是两点:被除数和除数的取值范围。 我所知比较好的被..._多线程输出素数

解决微信小程序报[ app.json 文件内容错误] app.json app.json 未找到,未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。小程序app.json报错_miniprogramroot": "dist/dev/mp-weixin/",-程序员宅基地

文章浏览阅读2w次,点赞9次,收藏36次。编译报错:[ app.json 文件内容错误] app.json: app.json 未找到原因:由于project.config.json文件的miniprogramRoot小程序根目录属性找不到aap.json的路径(可能是错误的路径,也可能是没有这一行代码);“miniprogramRoot”: “./dist/dev/mp-weixin”具体操作向下看:-导入之前项目根目录下的project.config.json文件:{ "description": "A WePY.._miniprogramroot": "dist/dev/mp-weixin/",

Godot3游戏引擎入门之零一:【翻译】为什么要选择 Godot 引擎_godot引擎-程序员宅基地

文章浏览阅读1.3w次,点赞12次,收藏31次。前言本文作为我的 Godot 系列文章的第二篇,是一篇翻译文作为 Godot 的优点说明吧,虽然文章发布于去年,但还是很有借鉴意义,翻译的不是很好请海涵! :smile:作者简介:Rock Milk来自 Brasil 的另一个游戏开发高手。在此体验 Reakt 游戏:https://play.google.com/store/apps/details?id=co.rockmilk.r..._godot引擎

随便推点

Android Studio APK在真机上运行的方法(1)-程序员宅基地

文章浏览阅读710次,点赞8次,收藏17次。这时候软件可能就会识别手机。如果以上方法不可行,又不想花太多时间去找问题,就可以采用安装安装包的方式。我们可以在每一个对应项目对应目录下面的app\build\outputs\apk\debug查找到软件自动生成的安装包。如果是新版的AS的话可能只会看到一个app-debug.apk,并没有什么网上说的app-debug-unaligned.apk什么的两个.apk结尾的文件,这都不要紧,可以把这个拿到手机上直接安装。

Unity 划线 - 使用Image实现划线_unity quest3 在image上画线-程序员宅基地

文章浏览阅读1w次,点赞11次,收藏38次。unity使用Image实现划线功能_unity quest3 在image上画线

获取表单内部元素的N种方法_提取所有表单元素的方法-程序员宅基地

文章浏览阅读3.1k次。今天讲讲获取表单元素的N种方法~以上是部分资料参考的地方:http://blog.csdn.net/h12kjgj/article/details/61624509先给出一个实例。输入数字1~10,弹出输入的数字,并计算该数字的阶乘;如果输入的数字不在该范围内,则输出“balabala自己编的一些话”源代码: function Count(){var i,r,_提取所有表单元素的方法

脑肠轴——看不见的Crosstalk_脑肠轴检测指标-程序员宅基地

文章浏览阅读1.8w次,点赞5次,收藏11次。文献导读肠道菌群是指存在于宿主肠道内的微生物集合,它参与了宿主多种重要的生理作用,如影响机体的营养代谢、调节机体免疫系统的发育与成熟及抗菌作用,因此肠道菌群又被人称之为"被遗忘的器官"。随着科学技术的发展,人们逐渐意识到到肠道菌群与全身各个系统的疾病的发生发展都存在着密切的关联,从而提出一些像"肠脑轴"和"肠肝轴"等名词。肠脑轴背景介绍据统计,定植于人体肠道内数量约是人体细胞数量的..._脑肠轴检测指标

Qt安装教程(Qt 6.4)_qt6.4安装-程序员宅基地

文章浏览阅读6.5w次,点赞56次,收藏261次。Qt6.4安装教程、组件介绍_qt6.4安装

解决ubuntu1604 64位安装海思V400编译器之后仍然报No such file or directory_hisilicon_v400-程序员宅基地

文章浏览阅读648次。ubuntu1604 64位安装海思V400编译器之后仍然报No such file or directory环境:ubuntu 1604 64位安装:arm-hisiv400-linux工具链安装成功后执行:arm-hisiv400-linux-gcc -v报错:bash: /opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin/arm-hisiv400-linux-gcc: No such file or directory。但其实工具链已经安_hisilicon_v400

推荐文章

热门文章

相关标签