基于Simulink的地铁牵引供电系统建模与直流保护整定
简介面向轨道交通供电设计与运维技术人员、电气工程及电力电子方向的高校师生这份资料围绕地铁直流牵引供电系统建模与仿真展开以Matlab/Simulink为平台搭建外部电源、24脉波整流变电站、直流母线、接触网与钢轨大地模型并延伸至牵引传动系统逆变控制与故障仿真。内容结合成都地铁实际参数给出24脉波整流器、接触网分布参数PI模型、空间矢量PWM逆变控制及系统级仿真框架的可运行代码与中文注释便于读者对照复现波形、理解移相变压器与整流桥并联降纹波的机理并掌握空载、负载与故障工况下的仿真验证思路。压缩包仅1个docx文件约49KB虽体量精简却集中了建模原理、参数设定与代码解释。已有183人学习适合希望快速建立牵引供电系统仿真认知、为故障分析与系统优化提供参考的读者。1. 地铁牵引供电系统建模与仿真要啃下的三块硬骨头某条 1500V 直流供电的地铁线路接触网对走行轨发生金属性短路现场录波显示馈线断路器 8ms 跳闸而设计文件里的保护整定值是 12ms。差的这 4ms 到底出在哪是 di/dt 保护定值本身偏保守还是仿真模型里接触网的单位电感取小了这种问题现场没法做重复试验只能靠一套可信的牵引供电系统模型来回答。标题里的活儿拆开就是三块用 Matlab/Simulink 搭出从 35kV 中压环网到 1500V 直流母线的完整系统架构把 24 脉波整流机组、接触网分布参数和机车恒功率负载这三类元件建对在这个基础上做直流侧短路、整流机组失效的故障分析与保护定值校核。它适合做供电仿真、直流保护整定、以及车辆与供电系统联合分析的工程师。三块里任何一块糊弄故障分析的结论都会偏而且偏的方向往往不容易察觉。2. 从 35kV 环网到 1500V 直流母线牵引供电系统的等效电路与参数整定仿真跑不跑得对八成取决于这一章的参数而不是模型搭得漂不漂亮。等效电路的颗粒度要跟研究目的对齐关心网侧谐波就得把 24 脉波机组的换相过程建出来只关心直流侧短路电流峰值那机组可以压缩成「理想电压源 等效内阻 平波电抗」。先定边界再定参数顺序反了会做很多无用功。2.1 能量通道的分段与建模边界一条典型线路的能量通道是主变电所把 110kV 降到 35kV中压环网把电送到各牵引变电所牵引变电所内的整流机组把 35kV 交流变成 1500V 直流经直流母线、馈线电缆送到接触网机车取流后经走行轨和回流电缆返回负极。每一段都有对应的等效元件但没必要全部展开。判断颗粒度的原则是看时间尺度。短路暂态关注的是毫秒级中压环网的电缆分布电容基本不影响直流侧电流上升率可以简化成集中阻抗机组内部的换相过程发生在百微秒级必须保留机车控制器的响应在几十毫秒级做短路分析时可以先用恒功率静态模型。环节建模元件典型参数是否必须展开35kV 中压环网三相电压源 集中阻抗短路容量 200~350MVA简化整流变压器双绕组变压器Yy 与 Yd 各一台2×2000kVAu_k≈6%保留整流桥12 脉波桥 ×2输出串联二极管压降 0.7~1.0V保留平波电抗器串联电感1~3mH保留接触网分布 R-L0.02~0.03Ω/km1~1.5mH/km按距离分段机车恒功率负载3000~5000kW/列保留2.2 24 脉波整流机组的外特性与换相压降计算24 脉波来自两台变压器二次侧分别移相 7.5° 和 −7.5°各自带一个 6 脉波桥两个桥的直流输出串联。理想空载电压按 6 脉波公式乘 2 得到Ud0 2 × 1.35 × U2L1500V 系统空载电压通常整定在 1650V 左右反推阀侧线电压 U2L ≈ 611V相电压约 353V这个量级和实际机组铭牌是对得上的。带载以后电压往下掉主要来自换相压降。两个桥串联时每个桥都流过全部直流电流 Id所以等效内阻是单个 6 脉波桥的两倍Req 6ωLc / π其中 Lc 是折算到阀侧的每相等效换相电抗由变压器漏抗和系统侧阻抗折算而来。工程上整流机组的等效内阻落在 0.08~0.15Ω 区间对应的稳态短路电流大约 10~20kA这个数字后面第 4 章要用。% rectifier_characteristic.m % 24脉波整流机组外特性理想空载电压与换相压降 U2L 611; % 阀侧线电压有效值 (V) Ud0 2 * 1.35 * U2L; % 理想空载直流电压 (V)约 1650V Lc 0.19e-3; % 折算到阀侧的每相换相电抗 (H) f 50; % 网侧频率 (Hz) w 2*pi*f; Req 6*w*Lc/pi; % 两组桥串联后的等效内阻 (Ohm) Id 0:50:2500; % 直流电流扫描 (A) Ud max(Ud0 - Req*Id, 0); % 外特性近似为直线 plot(Id, Ud, LineWidth, 1.5); xlabel(直流电流 I_d / A); ylabel(直流母线电压 U_d / V); title(24脉波整流机组外特性); grid on; % 额定工作点 Id_rated 2000; Ud_rated Ud0 - Req*Id_rated; fprintf(等效内阻 Req %.4f Ohm, 额定点电压 %.1f V\n, Req, Ud_rated);这段代码把外特性当成一条直线处理逻辑是空载电压由变比决定斜率由换相电抗决定两者一确定工作点就是直线上的交点。Lc 是最敏感的参数它取 0.19mH 时 Req 约 0.115Ω额定点电压约 1420V压降约 14%落在工程允许范围内。如果把 Lc 误设成 0.5mH压降会翻到 40% 左右外特性整条直线塌下去后面所有电流都会算小。2.3 接触网、走行轨与回流电缆的分布参数取值接触网不是一根理想导线。架空柔性接触网的单位电阻在 0.02~0.03Ω/km 之间单位电感 1~1.5mH/km接触轨因为截面大电阻更低但电感反而略高。做短路分析时1km 之外的远端阻抗对近端电流上升率影响很小通常把线路按馈线长度分成 3~5 段集中参数就够了没必要上分布参数模块。注意走行轨和大地之间不是绝缘的存在泄漏电导钢轨对地电位沿线路呈非线性分布。做回流和杂散电流分析要建泄漏电导做短路电流分析可以先忽略。一个容易踩的坑是回流电缆的接法。真正的地铁直流牵引网是双边供电故障点两侧的变电所同时向短路点馈流近端机组贡献峰值远端机组贡献平台。只建单端供电短路电流峰值会低估三成以上。2.4 机车恒功率负载的负阻特性与数值稳定性机车取流时功率基本恒定I P / U。这条式子意味着电压越低电流越大是典型负阻特性。它的直接后果是直流潮流方程非线性不能一次解出必须迭代间接后果是仿真里一旦电压跌落太快电流会发散到无穷大Simulink 直接报代数环错误。工况功率 P端电压 U电流 I等效电阻额定牵引4000kW1500V2667A0.56Ω网压偏低4000kW1200V3333A0.36Ω网压崩溃4000kW800V5000A0.16Ω抑制发散的办法有两个给电流加限幅或者把恒功率段和平滑后的低电压恒流段拼起来用查表实现。牵引特性曲线本身可以用查表直接给也可以用数据拟合出一条平滑曲线再查表拟合只是为了少存几个断点不影响物理含义。% dc_loadflow.m % 双端供电直流牵引网潮流恒功率负载的迭代求解 Rline 0.025; % 接触网单位电阻 (Ohm/km) L1 1.2; L2 2.6; % 两侧变电所到机车的距离 (km) R1 Rline * L1; % 近端线路电阻 R2 Rline * L2; % 远端线路电阻 U1 1650; U2 1650; % 两侧空载电压 (V) P 4e6; % 机车功率 (W) U 1500; % 电压迭代初值 (V) for k 1:50 I P / U; % 恒功率负载电流 It1 (U1 - U) / R1; % 近端馈线电流 It2 (U2 - U) / R2; % 远端馈线电流 Unew (U1/R1 U2/R2 - I) / (1/R1 1/R2); if abs(Unew - U) 1e-6, U Unew; break; end U U 0.7 * (Unew - U); % 加阻尼防止恒功率迭代振荡 end fprintf(机车端电压 %.1f V, 取流 %.1f A, 近端 %.1f A, 远端 %.1f A\n, ... U, P/U, (U1-U)/R1, (U2-U)/R2);迭代逻辑是把机车节点看成电流注入用节点电压法解出新的节点电压再更新电流。0.7 这个阻尼系数是关键恒功率负载在初值偏离较大时纯迭代会来回振荡甚至发散加阻尼后收敛次数通常在 10 次以内。R1、R2 由距离乘以单位电阻得到改线路长度时只动 L1、L2 两个数即可。3. 在 Matlab/Simulink 里搭出 24 脉波整流牵引供电系统架构参数定完就该动手。系统架构设计不是把模块拖到画布上连起来而是先决定哪些东西做成独立模型、哪些做成子系统、哪些用脚本参数化。这一步做对了后面做故障分析只需换一个开关位置不用重新连线。3.1 顶层分层与 Model Reference 的划分原则顶层建议分四块中压环网与整流机组、直流母线、牵引网接触网 走行轨、车辆与保护逻辑。整流机组做成 Model Reference 或库链接子系统因为它会被多个变电所复用一台改参数所有实例同步更新。划分粒度按「谁会被单独替换」来决定。要对比 12 脉波和 24 脉波就把整流机组整个做成变体子系统要对比不同保护算法就把保护逻辑做成变体。反过来把所有东西塞进一个 Subsystem改一个变电所容量就得复制粘贴模型很快就不可维护。变体用 Variant Subsystem 实现每个变体对应一套参数和结构激活哪个由脚本里的变量控制。这样一套模型可以覆盖正常工况、单机组退出、二极管开路等多种场景。3.2 整流机组的 Simulink 实现与关键模块参数用 Simscape Electrical 里的现成模块可以省掉大量连线Three-Phase Source短路容量设 250MVAX/R 比设 10代表中压环网。Three-Phase Transformer (Two Windings)两台容量 2MVA变比 35kV/0.611kV一台接 Yy0一台接 Yd1 并做 ±7.5° 移相漏抗按 u_k6% 折算。Universal Bridge ×2桥臂数 6器件选 Diode缓冲电路按默认。Series RLC Branch平波电抗器L2mHR0.005Ω。直流母线电容按实际滤波配置选 500~2000μF。模块关键参数取值改动影响Three-Phase SourceShort-circuit level250MVA影响换相压降TransformerNominal power2MVA影响满载压降TransformerLeakage reactance0.06 pu直接决定内阻Universal BridgeSnubber resistance1e5 Ω影响数值刚性Series RLCL2mH决定 di/dtDC bus capacitorC1000μF影响电压纹波移相 ±7.5° 是 24 脉波的核心。如果两台变压器都按 0° 接得到的还是 12 脉波网侧只剩 11、13 次谐波短路分析结论会偏。验证方法很简单对网侧电流做 FFT24 脉波下 5、7、11、13 次应该基本看不见主导谐波是 23、25 次。提示把两台变压器的移相角做成变量 phase_shift24 脉波取 7.512 脉波取 0一套模型两种机组直接用。3.3 powergui 与求解器配置刚性系统的步长取舍整流桥是开关器件加上平波电抗器和变压器漏感整个系统是典型的刚性系统。ode45 在这类系统上会疯狂缩步长仿真 1 秒能跑十几分钟ode23tb 和 ode15s 是为刚性系统设计的同样是 1 秒通常几秒到几十秒就能结束。求解器类型适用场景建议 Max stepode45显式变步长无开关的连续系统1e-4ode23tb隐式变步长含整流桥、变流器1e-5ode15s隐式变步长强刚性、含代数环1e-5ode3定步长需要生成代码时5e-6离散求解器定步长与外部模式、HIL 联调5e-5powergui 模块要显式加进模型。做纯仿真选 Continuous要生成 C 代码或和外部程序联调选 Discrete 并把采样时间设成 50μs和后面代码生成的定步长保持一致。% build_and_run.m % 批量配置求解器并运行避免每次手点配置面板 mdl metro_traction; load_system(mdl); set_param(mdl, ... Solver, ode23tb, ... % 刚性系统首选 MaxStep, 1e-5, ... % 限制最大步长保证捕捉换相尖峰 RelTol, 1e-4, ... % 相对容差 AbsTol, 1e-6, ... % 绝对容差 StopTime, 0.5); % 仿真时长 0.5s set_param([mdl /powergui], SimulationMode, Continuous); out sim(mdl); % 提取直流母线电压与电流 t out.get(Udc).time; ud out.get(Udc).signals.values; fprintf(母线电压平均值 %.1f V, 峰峰值 %.1f V\n, mean(ud), max(ud)-min(ud));MaxStep 设 1e-5 是权衡的结果。设成 1e-3 时换相尖峰会被平滑掉母线电压纹波算不准设成 1e-6 则仿真时间成倍增长。1e-5 对应 50Hz 下每周期 2000 个点换相过程约 0.5ms能取到 50 个点够用了。3.4 用空载启动和阶跃响应做模型自检模型搭完别急着上故障先做两步自检。第一步空载启动。断开所有机车负载跑 0.2s直流母线电压应该稳定在 Ud0 附近偏差不超过 1%。如果读到 1200V 或 1800V八成是变比或者移相角填错了。第二步阶跃响应。在 0.1s 时刻投入一个恒功率负载观察母线电压的跌落过程。电压应该先快速下冲再在几十毫秒内稳定稳态值与第 2 章算出的工作点基本吻合误差 5% 以内。如果阶跃响应出现持续等幅振荡多半是平波电抗器和平波电容配成了欠阻尼把电容加大或电抗减小即可。把 matlab 里的阶跃响应曲线和第 2 章的解析工作点叠在一起看是校验等效电路参数最快的方法。4. 直流侧短路与整流机组故障的仿真分析与保护整定模型自检通过才有资格做故障分析。地铁直流侧的典型故障分两类一类是外部故障接触网对走行轨短路一类是内部故障整流机组二极管开路或桥臂短路。两者的波形特征、对保护的要求完全不同。4.1 金属性短路的暂态过程与 di/dt 保护整定直流侧短路后母线电压瞬间塌到接近零电流由两部分组成电容放电的尖峰和整流机组馈出的稳态短路电流。前者持续时间几毫秒峰值可达数十千安后者由 Ud0 和总回路电阻决定稳定在 10~20kA。电流上升率 di/dt 决定保护能否快速动作di/dt ≈ Ud0 / L_totalL_total 包括整流机组折算电感、平波电抗器、接触网电感和回流电缆电感。取 Ud01650VL_total≈4.5mH得到 di/dt≈367A/ms。实际波形因为电弧电阻和远端机组的分流通常会低一些落在 100~400A/ms 区间。保护类型判据典型整定动作时间di/dt 保护电流上升率超阈值40~80 A/ms1~5msΔI 增量保护电流增量超阈值100~200A5~10ms过流保护电流绝对值超阈值8~12kA10~30ms双边联跳相邻所同时启动—视通信时延注意di/dt 整定值必须在仿真里用最远端短路和最近端短路各校核一遍。按近端整定远端可能不动作按远端整定近端会频繁误动。4.2 二极管开路与桥臂短路的故障注入方法二极管开路不会让系统立刻停机但会让 24 脉波退化成 12 脉波甚至 6 脉波网侧谐波和直流纹波同时恶化。仿真里注入的方式是把 Universal Bridge 换成自定义的桥模型每一路桥臂串一个理想开关在指定时刻断开某个开关。桥臂短路更麻烦相当于变压器阀侧直接短路电流会迅速上升到变压器保护动作。注入方法和开路类似用 Breaker 模块设置故障起始和清除时间。% fault_inject.m % 在指定时刻断开某一路桥臂模拟二极管开路 mdl metro_traction; load_system(mdl); t_fault 0.15; % 故障起始时刻 (s) t_clear 0.25; % 故障清除时刻 (s) branch 3; % 要断开的桥臂编号 brk_path sprintf(%s/Rectifier/Breaker_A%d, mdl, branch); set_param(brk_path, InitialState, 1); % 初始闭合 set_param(brk_path, SwitchTimes, ... sprintf([%g %g], t_fault, t_clear)); set_param(brk_path, External, off); % 用内部开关时刻表 set_param(mdl, StopTime, 0.4); out sim(mdl); % 对网侧电流做 FFT看谐波分布是否从 24 脉波退化成 12 脉波 ia out.get(Ia).signals.values; fs 1 / mean(diff(out.get(Ia).time)); n 2^nextpow2(numel(ia)); Y abs(fft(ia .* hann(numel(ia)), n)); f (0:n-1) * fs / n; idx f 0 f 2000; [~, loc] sort(Y(idx), descend); fprintf(主导谐波频率: %s Hz\n, mat2str(round(f(idx)), 6));SwitchTimes 用两个时间点控制开关的闭合与断开比写故障逻辑更直观。判据是网侧电流的谐波谱正常 24 脉波时 23、25 次为主某一路桥臂断开后11、13 次会明显抬起来同时直流母线电压纹波频率从 1200Hz 降到 600Hz。这个特征在工程上直接对应「整流机组异常」的在线诊断。4.3 故障波形的后处理与保护定值校核波形出来以后要做的不是贴图而是把特征量算出来和整定值比。一是电流上升率。取短路发生后 1ms 窗口内的电流序列做线性拟合斜率就是 di/dt不要用逐点差分噪声太大。二是稳态短路电流。取短路后 20~40ms 区间的平均值对应机组馈出的稳态分量。三是 I²t 累积。保护选型和电缆截面校核都要用直接对电流平方做积分。% fault_post.m % 从仿真结果中提取短路电流特征量 t out.get(Idc).time; id out.get(Idc).signals.values; t0 0.15; % 短路发生时刻 idx_w t t0 t t0 1e-3; % 1ms 拟合窗口 p polyfit(t(idx_w), id(idx_w), 1); didt p(1); % 电流上升率 (A/s) idx_s t t0 20e-3 t t0 40e-3; i_ss mean(id(idx_s)); % 稳态短路电流 (A) i2t trapz(t(t t0), id(t t0).^2); % 短路能量积分 fprintf(di/dt %.1f A/ms\n, didt/1000); fprintf(稳态短路电流 %.0f A\n, i_ss); fprintf(I^2t %.3e A^2*s\n, i2t);polyfit 用一阶多项式拟合窗口内的电流斜率直接给出 di/dt比 diff 稳定得多。窗口长度取 1ms 是有讲究的太短噪声占主导太长会把换相纹波算进去。稳态电流取 20~40ms 区间是为了避开电容放电阶段只看机组贡献部分。把这三个量和保护整定表一对照就能判断定值是偏松还是偏紧。5. 模型工程化整理、C 代码生成与实测反校验5.1 模型整理与参数集中管理一套跑得通的牵引供电模型半年后再打开通常已经认不出来了。整理的核心原则是模型里不出现硬编码数字所有参数从脚本里来。具体做法是建一个 parameters.m把变压器容量、漏抗、接触网单位电阻、保护定值全部写成变量模型加载前先 run 一次。子系统统一加端口标签连线的信号名要和录波文件里的通道名一致这样后面做自动比对才不用改代码。文件夹结构按「模型 / 参数脚本 / 后处理脚本 / 数据」四层分用 Simulink Project 管理改参数就能追溯到是哪次评审的结论。变体单独建一个 variant 目录每个变体一个 .m 文件描述它改了哪些参数避免在基础模型里到处埋 if。5.2 从 Simulink 模型到 C 代码与联合仿真做保护算法验证时把保护逻辑从模型里拆出来单独生成 C 代码跑在目标板上和仿真环境做外部模式联调比纯离线仿真更接近真实控制器行为。配置上要注意三点求解器切成定步长、采样时间统一、把所有连续状态量初始化。需要和车辆动力学或传动系统联调时常见做法是把牵引供电模型导出成 FMU让对方工具通过联合仿真接口加载。导出前要确认模型里没有引用工作区之外的变量否则对方环境加载会失败。用途配置要点输出形式快速验证保护逻辑定步长 50μs离散求解器C 代码 外部模式车辆-供电联合分析无连续状态接口变量显式声明FMU 2.0硬件在环求解器定步长I/O 端口对齐目标机可执行文件5.3 用现场录波反向校验模型模型对不对最终要靠实测数据说话。做法是从故障录波里取一段短路波形把仿真结果和录波按短路起始点对齐比较三个量di/dt、峰值电流、到达峰值的时间。如果 di/dt 偏大通常是回路总电感取小了按比例反推去修正 L_total如果峰值偏大但 di/dt 对得上多半是等效内阻取小了回头改 Lc如果到达峰值时间明显提前检查直流母线电容是不是设得偏小。这种反推比调参试凑快得多两三轮就能把模型收敛到实测误差 10% 以内。一个实用技巧是把录波的时标对齐到仿真模型的零时刻再算两个序列的残差平方和作为模型置信度的量化指标。曲线肉眼看着重合残差平方和未必小反过来残差小才是真的对得上。本文还有配套的精品资源点击获取
上一篇/下一篇内容由系统自动关联
返回资讯列表 →