ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

MATLAB/Simulink客运专线牵引供电系统建模全攻略:从原理到调参

MATLAB/Simulink客运专线牵引供电系统建模全攻略:从原理到调参 简介一份基于MATLAB/Simulink的客运专线牵引供电系统建模PDF资料面向轨道交通电气化、电力系统仿真及MATLAB学习人群重点讲解牵引供电系统的模块化分解方法、AT供电方式与简单链型悬挂结构并结合京津客运专线实例说明仿真建模策略。资源为单份PDF文档大小208KB便于直接阅读与检索。目前已有424人学习下载适合作为课程设计、科研论文或工程仿真的参考文献。内容系统梳理了牵引供电系统的特点、分解原则、Simulink建模流程及负载状态数字仿真测试思路尤其对变电所、供电臂、AT段划分等关键环节做了案例化描述能帮助读者快速建立客运专线牵引供电仿真模型的整体框架。此外还涉及网络化分层化电力调度、馈线保护与RTDS仿真能力折衷等细节让建模过程更贴近工程实际节省前期文献调研与方案设计时间。 这两年做轨道交通电气化方向的研究生课题最常见的题目之一就是“客运专线牵引供电系统建模”而这个题目落到具体工具上十有八九是用MATLAB/Simulink来搭。这个选题本身很经典但也是典型的“看着简单、做起来一堆坑”的课题既要懂牵引供电系统的电气结构又要会用Simulink里的电力电子和电力系统模块库还得有耐心调参数、排查不收敛的问题。这篇博文就围绕这个题目把从原理拆解到模型搭建、再到调参排错的完整思路捋一遍给正在做或准备做这个课题的同学一份可以直接参考的实操笔记。这个课题到底在解决什么问题我先说人话版本客运专线也就是高铁线路的供电系统和普通电力系统不太一样它要把地方电网的三相电变成适合电力机车使用的单相电再通过接触网送给跑着的动车组。整个过程涉及大容量变压器、自耦变压器、长距离输电线路、移动的复杂负荷直接拿真线路做实验不现实所以要在MATLAB/Simulink里搭一个数字孪生模型用来分析电压水平、功率分布、谐波影响这些问题。适合谁看呢主要是电气工程专业做相关课题的研究生还有刚接触供电系统仿真的工程师如果你只是对高铁怎么供电感兴趣前两节也能帮你建立整体认知。1. 先搞清楚客运专线牵引供电系统到底在仿真什么1.1 一次系统结构拆解变电所、AT所与接触网做建模之前第一件事不是打开Simulink而是先把物理对象拆清楚。客运专线牵引供电系统从电网侧到机车侧典型路径是这样地方电网220kV或110kV三相电源 → 牵引变电所主变压器把三相电变为单相电 → 供电臂接触网钢轨正馈线构成的牵引网 → 动车组受电弓取流。如果线路采用AT供电方式供电臂上每隔10到15公里还会设置一个AT所里面是自耦变压器。这里有个容易搞混的点AT供电方式下接触网与钢轨之间的电压是27.5kV但接触网与正馈线另一根平行架设的导线之间是55kV。也就是说机车实际从接触网和钢轨之间取27.5kV电压而AT变压器跨接在接触网与正馈线之间中点引出接钢轨。这样做的好处是能大幅降低牵引网对通信线路的电磁干扰同时减小线路阻抗压降让供电距离可以拉长。做Simulink模型时这一步拆解的意义在于你需要建的对象不是“一个电线”而是一套完整的、包含多个电压等级和多种接地方式的网络。我见过不少同学一上来就拖个三相变压器模块然后直接接负载跑出来波形不对也不知道为什么。根本原因就是没先把系统结构画清楚。1.2 为什么偏偏用Simulink来做这件事牵引供电系统建模可选工具其实不少PSCAD、Ansys Simplorer、MATLAB/Simulink甚至自己写微分方程做数值求解。但MATLAB/Simulink在这个领域几乎是默认选项原因有几点。第一Simulink里的Simscape Electrical库早期叫SimPowerSystems现在叫Specialized Power Systems已经封装好了变压器、线路、断路器、电力电子器件这些模型不需要你自己去推导和编程每个元件的微分方程搭模型的速度要快很多。第二它跟MATLAB主程序无缝衔接仿真结果可以直接用脚本做FFT谐波分析、绘制潮流分布图后期如果要加控制策略比如列车再生制动能量回馈控制也可以在同一个环境里完成。第三资料多遇到问题一搜都有解决方案这对做课题来说太重要了。当然Simulink也不是没有缺点。它的电力电子器件模型是基于理想开关和数值求解的仿真速度比PSCAD慢而且对求解器参数很敏感调不好就会发散或者卡死。但总体来看用于研究生课题级别的牵引供电系统建模与分析Simulink的性价比是最高的。2. 建模前必做的规划从电气接线图到Simulink模型图2.1 整体框架电源—变压器—AT—牵引网—负荷拿到一个建模任务先别急着拖模块。我的习惯是先在纸上画出单线图把电压等级、接线形式、元件连接关系全部标注好再对应到Simulink里。客运专线牵引供电系统Simulink模型的整体框架一般是下面这样三相电压源模拟地方电网电压等级220kV或110kV频率50Hz还需设置短路容量以反映电网强度牵引主变压器V/x接线国内客专最常用实现三相到两相单相的变换输出2×27.5kVAT自耦变压器沿线布置变比2:1中点接钢轨牵引网等值线路用集中参数或分布参数线路模型表示接触网—钢轨—正馈线之间的阻抗负荷动车组可以用恒阻抗、恒功率或详细整流器模型表示。这个框架的好处是模块化每一块都可以独立验证。比如先只搭电源变压器看二次侧电压波形对不对再逐步把线路和负荷加进去。很多人一上来把所有东西都拖进去模型一跑就报错或者波形乱飞根本定位不了问题。2.2 模块选型Specialized Power Systems库与关键模块Simulink里做电力系统仿真必须用对库。Simscape Electrical Specialized Power SystemsSPS才是你要待的地方普通的Simulink库里的数学模块是搭不出变压器和线路的。SPS库里最常用的几个模块我列一下Three-Phase Source三相电压源需要设置相电压、频率、短路容量或者内阻抗Saturable Transformer / Three-Phase TransformerTwo Windings变压器模块可设置容量、变比、绕组电阻电感还能选择是否模拟饱和特性PI Section Line集中参数输电线路模型需要输入正序、零序的电阻、电感、电容参数Distributed Parameters Line分布参数线路模型适合研究较宽频率范围的行波过程Three-Phase V-I Measurement电压电流测量模块接示波器或者Powergui做分析Powergui这不是一个可见的物理模块而是SPS模型的控制面板用来设置仿真类型、初始化潮流、做FFT分析非常重要。Powergui这里值得多说一句。很多新手不知道它是什么其实它就是SPS模块的“管理中枢”。新建SPS模型后一定要拖一个Powergui进模型否则仿真会报错。在Powergui里可以选择连续仿真还是离散仿真离散仿真需要设置采样时间一般取50微秒或更小。2.3 直接供电与AT供电在模型里的差异客运专线牵引供电有直接供电、带回流线的直接供电、BT供电、AT供电等多种方式国内客专主流是AT供电。在Simulink模型里AT供电和直接供电的区别主要体现在是否需要建AT变压器模块、牵引网是两根导体还是三根导体。直接供电模型简单接触网—钢轨—负载变压器二次侧一端接接触网另一端接钢轨钢轨直接接地。AT供电就多了一根正馈线AT变压器跨接在接触网和正馈线之间中点接钢轨。从拓扑上看AT供电的牵引网是三导体的接触网T、钢轨R、正馈线F缩写就是T-R-F系统。搭建模型时三条线之间的耦合阻抗都要考虑如果直接用三个独立的PI Section Line模块分别表示T、R、F可能会忽略线间互感导致结果偏差。更严谨的做法是使用Simulink里的耦合线路模型或者用相互耦合的PI段手动搭建。我个人的建议是如果不是做特别细致的研究可以把钢轨和正馈线合并为回流系统用两个阻抗支路分别表示接触网阻抗和回流网阻抗这样模型简单很多结果在基波潮流精度上也是可以接受的。要特别注意建的模型最终要和实际系统尽可能对应否则后面分析谐波、故障特性时结论很容易失真。3. 手把手搭建核心模块的参数设置与接线细节3.1 V/x接线牵引变压器的Simulink实现客运专线牵引变电所的主变压器国内最常用的是V/x接线。V/x接线本质上就是两台单相变压器一次侧分别接三相电源的AB相和BC相线电压二次侧绕组做成带中点抽头的形式。这样做的好处是二次侧能输出两路27.5kV分别向变电所左右两个供电臂供电。在Simulink里搭V/x接线最直接的办法是用两个Single-Phase TransformerTwo Windings模块或者Three-Phase Transformer模块把一次侧绕组设成V接。具体接线三相电源A、B、C接入两个单相变压器的一次侧第一个变压器一次侧接A相和B相第二个接B相和C相注意极性方向两个变压器的二次侧分别用两个绕组串联输出中间抽头作为中性点接钢轨抽头两侧各输出27.5kV也就是两臂母线电压相对钢轨都是27.5kV。这里参数计算有个关键点一次侧线电压是220kV二次侧全绕组电压是55kV所以每个半绕组电压是27.5kV。如果变压器模块的额定电压设置成220kV/55kV那就对应全绕组。很多人在这里容易算错把变比设置成220/27.5结果输出电压直接翻倍或者减半波形出来一看完全不对。我自己的经验是先算清楚每台单相变压器的变比再填参数填完最好先用空载测试验证一下只接变压器负载开路看二次侧电压幅值是不是接近55kV全绕组且相位正确。3.2 AT自耦变压器与牵引网阻抗等值AT变压器本质上就是一台变比为2:1的自耦变压器一次侧跨接在接触网T和正馈线F之间总电压55kV中点引出的抽头接钢轨R这样钢轨对接触网和正馈线的电压都是27.5kV。Simulink里可以用Single-Phase TransformerTwo Windings来等效AT将一次侧绕组T-F间额定电压设为55kV二次侧绕组T-R间额定电压设为27.5kV然后二次侧的一端与一次侧的T端相连构成自耦形式。还有一种方法是直接用Saturable Transformer模块但连接方式要点相同。牵引网等值线路这块我强烈建议用PI Section Line不要一上来就上分布参数模型。原因很简单集中参数模型在基波潮流和大部分暂态分析中已经足够精确而且参数设置直观好调试。PI Section Line模块需要填写正序和零序的电阻、电感、电容这些数据可以从牵引供电设计手册或者相关论文里查到。单位一般分别是欧姆/公里、亨利/公里、法拉/公里。一个特别容易踩的坑是单位。设计手册里接触网单位阻抗经常给的是“Ω/km”的复数形式比如0.15j0.45Ω/km但PI Section Line模块要你分开填电阻R和电感L。你需要把阻抗的虚部换算成电感L X / (2πf)其中f50Hz。比如X0.45Ω/km对应L约等于1.43mH/km。这个换算虽然简单但我见过不少同学直接把虚部数值当电感填进去结果仿真出来的电压降完全失真。另外线路模型要按实际线路长度分段。比如供电臂长度30km每隔5km设一个PI段会更贴近实际尤其是分析沿线电压分布的时候。分段越多精度越高但仿真速度会下降一般折中取5到10km一段。3.3 动车组负荷建模从恒阻抗到恒功率负荷模型的选择直接决定了仿真结果的可靠性。动车组作为牵引负荷本质上是一个变频驱动的交流传动系统但从外部看它的功率特性更接近恒功率负荷车速和牵引力变化时有功功率变化但电压在一定范围内时功率基本不随电压线性变化。在Simulink里有三种做法恒阻抗模型用RLC串联或并联负载代替最简单但电压变化会导致功率按电压平方变化和实际差异较大只适合做空载或简单潮流验证。恒功率模型用Three-Phase Dynamic Load模块或者受控电流源实现Simulink里有个“Three-Phase Dynamic Load”模块可以设置有功功率和无功功率它在电压波动时会保持功率恒定在一定范围内。这是我做系统级分析时的首选。详细模型用整流器中间直流环节牵引电机控制策略建模最真实但也最复杂仿真速度慢通常只在研究车网耦合振荡、谐波特性时才用。我做这个课题的时候前期验证模型用恒阻抗中后期分析电压水平和功率分布时换成恒功率。这里有个细节动车组是单相负荷所以负荷模块要接到接触网T和钢轨R之间而不是接到三相系统上。如果用Three-Phase Dynamic Load这个三相模块要注意把三相中的一相接T、一相接R另一相悬空或者不用——这种做法虽然不完美但工程上常用。更严谨的做法是使用单相动态负荷模型自己在Simulink里搭建一个受控电流源根据功率和实时电压计算电流指令本质上是一个简单的负反馈闭环。4. 仿真跑了但结果不对问题排查与调参经验4.1 仿真发散与变慢求解器选型和步长设置SPS模型默认的求解器是变步长ode23tb或ode15s这两个都是刚性求解器适合电力电子和电力系统这类包含快速开关过程和慢速工频过程的混合系统。如果你用了默认的ode45大概率会仿真失败或者慢到怀疑人生。如果仿真直接报错“Singularity”或者“Solver failed”我的排查顺序是检查是否有悬空节点比如变压器某个绕组没接任何东西Simulink会认为存在代数环或奇异点检查是否有并联电压源或串联电流源两个理想电压源直接并联在SPS里是不允许的检查变压器饱和设置如果勾选了饱和度模拟需要正确设置饱和特性参数否则初始时刻电流可能非常大导致不收敛降低相对容差把求解器相对容差从默认的1e-3改小到1e-4或1e-5很多不收敛问题会解决设置最大步长变步长模式下限制最大步长比如1e-4秒保证不会跨过快速开关动作点。还有一个小技巧在Powergui里把仿真类型设为“Discrete”采样时间取50微秒对应20kHz采样频率对于绝大多数牵引供电系统仿真来说精度和速度都是可以接受的。离散仿真比连续仿真更稳定尤其是模型里有电力电子开关的时候。4.2 变压器励磁涌流饱和参数与初始条件的处理变压器空载合闸的时候会有励磁涌流峰值可以达到稳态励磁电流的几倍甚至十几倍包含大量谐波。在Simulink里如果变压器设置了饱和特性并且仿真从零时刻开始突然加电压这个涌流很容易触发求解器报警或者让波形看起来“乱七八糟”。处理办法有三种使用Powergui的“Load Flow”工具初始化电路让变压器在仿真的第一时刻就处于稳态磁链状态这样不会出现合闸涌流。Powergui里选择“Powergui”块双击打开进入“Tools Load Flow”设置好发电机和负荷点击“Execute”它会自动计算并设置初值。这是我强烈推荐的方式。如果不做潮流初始化就把电压源的相位设置成在电压过零点附近开始且使用斜坡启动Ramp让电压在几个周期内慢慢上升到额定值模拟实际软启动。暂时关闭变压器的饱和模拟不勾选Simulate saturation等模型基本跑通再打开饱和特性。这三招从易到难一般第一招能解决90%的问题。很多人做完潮流初始化后发现波形还是不对那多半是Powergui里设置的负荷功率和后面接入的负荷模块不一致导致初始条件计算错误。4.3 电压、功率数值异常的排查顺序如果模型能跑通但仿真结果显示电压异常比如27.5kV母线上电压只有20kV或者功率怎么算都对不上我的排查顺序是第一确认变压器变比没有填错。V/x接线最容易算错的就是一次侧和二次侧的电压对应关系用万用表模块Three-Phase V-I Measurement直接测变压器二次侧空载电压看波形幅值是否等于55kV乘以√2因为是峰值。第二确认线路参数的正序零序没有填反。PI Section Line模块里有两组参数——Positive-sequence和Zero-sequence如果你把零序参数填成正序的大小那么在单相接地类故障分析时结果会完全错误。不过如果只是潮流分析正序参数起主要作用。第三确认负荷的功率因数是否合理。动车组功率因数一般在0.95以上滞后如果你设置的功率因数为1会导致无功功率偏小、电压偏高。可以查阅相关文献按0.95滞后设置更贴近实际。第四检查Powergui里的仿真采样时间。如果是离散仿真采样时间过大比如1ms会导致波形严重失真谐波分析结果完全不可信。注意采样时间影响的是波形质量和仿真速度的平衡初次调试建议用50微秒。4.4 常见问题速查表问题现象可能原因解决方法仿真直接报错无法启动悬空节点、电压源并联、代数环检查电路拓扑用潮流初始化工具仿真极慢卡在一个时间点连续仿真非刚性求解器改为离散仿真采样时间50μs选ode23tb变压器输出电压偏高/偏低变比设置错误复核V/x接线绕组电压空载实测验证波形出现高频振荡毛刺开关动作与采样步长不匹配降低最大步长或使用离散仿真电压跌落严重与理论不符线路阻抗参数单位错误用XωL反算电感确认Ω/km正确换算潮流初始化失败负荷参数与设置不一致统一负荷模型和参数先跑空载再加载其中电压跌落严重这个问题我想多提醒一句。牵引网的单位阻抗数据不同文献给出来的差异挺大有的考虑接触网和钢轨并联有的没考虑用错了电压降能差出好几个kV。建议优先采用最新版《铁路电力牵引供电设计规范》或者权威期刊论文里给的参数并在论文中注明数据来源。5. 从建模到分析这个模型还能拿来做什么5.1 多列车运行与再生制动能量回馈建好的牵引供电系统模型不只是用来画几个电压波形交差。我在做完基础模型之后第一个扩展方向是多列车运行分析把单一负荷变成一个随时间变化的功率序列模拟多列动车组在不同位置取流、加速、巡航和制动。这里重点是负荷的位置变化需要把牵引网络按距离分段每个区间段可以接入不同的列车负荷。再生制动是另一个有价值的方向。动车组制动时会把牵引电机变成发电机向接触网回馈电能。在Simulink里这可以简化成负荷功率为负值也就是负荷模块变成电源向系统馈能。你可以研究一下这些再生能量是被其他列车吸收了还是回馈到牵引变电所其中包括能量利用率、对牵引网电压抬升的影响、以及是否需要储能装置来吸收多余再生能量。这个方向很适合作论文的一个章节。5.2 谐波分析与车网耦合振荡电力机车包含大量电力电子变流器会产生谐波电流注入牵引网。在Simulink模型跑完后用Powergui里的FFT工具可以直接对接触网电流做频谱分析查看3、5、7次谐波的含量。如果供电臂的分布参数线路电感和电容和机车整流器控制环路参数配合不好可能引发谐波振荡也就是所谓的高频车网耦合问题。这类问题用PI Section Line的集中参数模型是仿不出来的必须用分布参数线路模型所以如果你的研究方向是这个从一开始建牵引网模型就该用Distributed Parameters Line。5.3 与控制系统联合仿真Simulink最强大的地方在于控制系统和主电路能直接联动。你可以在牵引供电模型基础上加入潮流控制器、无功补偿装置比如SVG的模型研究牵引变电所的无功与负序治理策略。也可以把车载变流器的控制策略矢量控制、直接转矩控制搭在同一个模型里做车—网联合仿真。这项能力是Simulink相对PSCAD的一大优势值得好好利用。一些实操心得做这个课题时踩过的坑不少有几个印象比较深的体会。第一建模之前一定先把系统单线图画出来哪怕用纸笔也画。直接打开Simulink就拖模块到后面一定返工。第二每加一个模块就仿真一次别等模型全部搭完才跑。仿真报错的时候你定了位到具体模块节省的调试时间不止一两个小时。第三变压器参数换算这些计算最好用MATLAB脚本写下来留作记录别只在模型里填个数值不然过了两周你自己都记不清这个参数怎么来的。最后再分享一个小技巧在搭建模型时模块命名一定要规范。Simulink里默认的模块名是“Three-Phase Transformer (Two Windings)1”这种你拖了五个变压器之后根本分不清哪个是主变压器哪个是AT。把每个模块重命名为“主变所_1号主变”、“AT所_3_AT变”这种有意义的格式后面调试和写论文截图时都会方便很多。这个细节虽然不起眼但真能节省不少时间。本文还有配套的精品资源点击获取
返回列表