基于双VSC的UPFC统一潮流控制器Simulink建模与仿真

发布时间:2026/9/8 9:23:28
基于双VSC的UPFC统一潮流控制器Simulink建模与仿真 统一潮流控制器UPFC在FACTS家族里一直是个“天花板”级别的存在。它既能像静止同步补偿器一样调节母线电压又能像移相器一样改变线路有功分布还能像串联电容器一样改变无功潮流——一个装置同时做到这三件事传统晶闸管方案非常吃力但以电压源换流器VSC为核心的UPFC就从容很多。我去年用Simulink完整搭了一套基于双VSC的UPFC模型从理论推导到仿真调试走了一遍这篇文章把这个过程中涉及到的主电路参数、控制策略、Simulink建模细节和踩坑记录整理出来希望能给正在做FACTS仿真或者毕设选了这个方向的同学一些参考。1. 为什么用VSC做UPFC——换流器拓扑的选择逻辑UPFC在概念上可以拆成“串联补偿”和“并联补偿”两套装置但难点在于两者之间要有有功功率交换通道。早期方案围绕晶闸管做了很多尝试直到VSC电压源换流器成熟之后UPFC才真正进入工程可用的阶段。这一节我把这个演变逻辑说清楚你就能明白为什么绝大多数文献和Simulink示例都选择双VSC背靠背结构。1.1 传统晶闸管方案的局限晶闸管是半控型器件只能通过门极触发导通关断必须依靠外部电流过零或者换相电路这在强电网里很容易实现但放到UPFC这种需要快速、双向、可控功率交换的场景里就有明显短板晶闸管控制的静止同步串联补偿器SSSC虽然也能串联注入电压但是注入电压只能垂直于线路电流能调节有功却不能独立控制无功能力范围窄。用晶闸管直接构成的移相器TCPST响应速度通常需要几十毫秒甚至几百毫秒对于动态稳定控制来说太慢。晶闸管换流时会产生大量低次谐波需要额外加滤波器体积和成本都很不友好。所以早期的统一潮流控制器概念虽然提出来了工程实现却一直绕不开这些瓶颈。用“相位控制”的思想做潮流调节本质上是在固定电压源的幅值只改变等效电气角度自由度不够控制效果也就受限。1.2 电压源换流器的天然优势VSC用IGBT这类全控器件配合PWM调制可以从直流侧电压出发在交流侧合成任意幅值、任意相位、任意频率工频下就是固定50Hz的正弦电压。这意味着它的交流输出电压可以是一个“完全自定义”的电压源幅值连续可调、相位连续可调还能四象限运行——既可以吸收有功也可以发出有功无功方向也能随时翻转。放到UPFC里这个特性非常关键。串联侧需要的正是一个能在线路中注入可变电压的“交流电压源”而VSC恰好就是这样一个可控电压源。再加上PWM会产生较高频率的谐波但通过适当的滤波器和变压器漏抗就能被抑制不像晶闸管换流那样有大量低频特征谐波整体滤波成本低很多。1.3 双VSC背靠背结构的任务分配UPFC最经典的拓扑是“背靠背”双换流器一个并联换流器shunt VSC通过并联变压器挂在线路首端母线上另一个串联换流器series VSC通过串联变压器串入线路中。两个换流器的直流侧通过一个公共直流电容相连实现有功功率的双向传递。为什么要这么设计因为UPFC串联侧要向线路注入有功功率而“有功”不可以凭空产生必须从外部电网获取。想象一下串联VSC在线路里串入一个有功分量后它要么从直流电容抽取能量要么回馈能量。如果没有并联VSC从母线上维持直流母线电压直流电容上的能量就会快速耗尽或者过压整套装置立刻失效。所以并联侧VSC的任务就是从接入母线吸收有功能量维持直流母线电压稳定同时还能独立调节接入点的无功功率等效于一个STATCOM。串联侧VSC的任务则是在串联变压器二次侧产生一个幅值和相位都可控的基波电压经过变压器耦合到线路中从而改变线路两端电压相角差和有效电抗实现对有功和无功的独立控制。两套换流器之间只有直流母线相连交流侧在电气上是隔离的这样的好处是控制策略可以解耦并联侧重于“维持能量底座”串联侧重于“控制潮流走向”。Simulink建模时也是按这个思路搭先做并联侧再做串联侧最后连直流母线逻辑非常清晰。2. UPFC的核心原理与数学模型——先把潮流计算账算清很多同学一上来就打开Simulink拖模块结果控制参数始终调不稳根源是UPFC的潮流调节原理还没有量化。实际上UPFC的模型说穿了就是“网路方程功率平衡方程”把这两个方程写清楚控制器该控制什么量就一目了然了。2.1 串联注入电压如何改变潮流先看一条没有UPFC的输电线路。设送端母线电压为Us受端母线电压为Ur线路等效电抗为X两端相位差为δ。忽略电阻时传输的有功功率和无功功率分别为P (Us * Ur / X) * sinδQ (Us² / X) - (Us * Ur / X) * cosδ也就是说改变线路有功只能靠改变相位差δ改变无功只能靠改变电压幅值差。传统移相器、调压器各自只能控制其中一个量动作还慢。UPFC的厉害之处在于它在线路中串联了一个电压源Vpq。串联注入电压后送端到受端的“等效电压”变成了Us Vpq。把Vpq分解成相对于线路电流I的方向关系与I同相的分量纵向分量可以等效改变线路上的电压降落主要影响有功传输与I垂直的分量横向分量可以等效改变线路感抗或容抗主要影响无功传输。因为Vpq的幅值0~Vmax、相位0~360°都可控所以它实际上能在四个象限工作等于把传统P-δ和Q-V两个维度的控制合成了一个复平面上的连续可调区域。这也是为什么UPFC的潮流调节范围不是一条曲线而是一个圆形区域。2.2 并联侧VSC的功能分解并联侧VSC接入母线后它与母线之间通过变压器漏抗相连本质上就是两个交流电压源通过电抗并联。通过控制VSC输出的电压幅值和相位可以让电流从母线流入换流器也可以反向流动。这里我们用d-q旋转坐标系来分解控制量d轴电流分量与母线电压矢量同向决定有功交换也就是决定从电网吸收多少有功来维持直流母线电压q轴电流分量与母线电压矢量垂直决定无功交换也就是STATCOM功能控制接入点母线电压或者无功功率。在Simulink里并联侧通常就做一个电压外环控制直流母线电压Udc加一个无功外环控制母线电压或无功两个外环分别输出d轴和q轴电流参考值再进内环电流控制器。这是标准的双闭环结构但必须注意Udc外环的带宽要保证能及时补充串联侧吸收或注入的有功而q轴无功环带宽可以低一点两者互不影响。2.3 有功无功的耦合关系建模串联侧VSC注入电压Vpq后与线路电流作用会产生有功和无功交换。瞬时功率理论下三相电路的瞬时有功p和无功q可以写为p ud·id uq·iqq uq·id - ud·iq如果让d轴与母线电压矢量对齐uq 0上式就大大简化p ud·idq -ud·iq。所以控制id就是控制有功控制iq就是控制无功这是d-q解耦控制的核心依据。但注意串联侧VSC本身的输出电压是受控量它在d-q坐标下可以表示为Vpq_d和Vpq_q而线路电流也会随注入电压变化。如果直接控制Vpq的d、q分量线路潮流会通过上述方程非线性地变化所以实际工程中串联侧通常采用“电流内环功率外环”结构外环计算目标功率对应的电流参考值内环尽快跟踪这个电流参考。这个数学模型我给不少同学讲过最常有人误解的地方是“只要控制Vpq功率就直接跟着变”。实际上Vpq与线路电流之间还隔着一个线路阻抗你改变Vpq时电流也在变所以必须用闭环去把电流给“拉”到期望值。Simulink建模时串联侧内环电流PI是真正干活的外环功率PI只是给内环一个参考千万不要把外环PI参数调太猛否则功率会振荡。3. Simulink模型架构——从电源到双VSC再到控制器的完整搭建理论清楚了模型就好搭了。我建议第一次做UPFC仿真的时候不要一上来就上全细节开关模型而是先用平均值模型把控制逻辑跑通再逐步加入详细开关器件。Simulink里平均模型可以用三个受控电压源代替VSC交流侧输出电压用受控电流源代替直流侧电流这样仿真速度快数据也容易分析。3.1 系统主电路参数设计我建这套模型时参考了一个220kV、50Hz的双电源输电系统线路长度等效为80km左右具体参数如下表你直接可以用参数项数值送端/受端系统电压220 kV线电压有效值系统短路容量5000 MVA线路电感0.85 mH/km × 80 km线路电阻0.02 Ω/km × 80 km并联变压器变比220 kV / 35 kV串联变压器变比35 kV / 15 kV直流母线电压60 kV直流电容4000 μF开关频率2000 Hz解释一下直流母线电压的选择。VSC交流侧输出线电压峰值要低于直流母线电压一般SPWM调制下交流侧相电压峰值最大可以达到Udc/2线电压峰值则是Udc/√3所以如果想让交流侧输出35kV线电压有效值线电压峰值约49.5kV直流母线电压至少要高于这个值我留了裕量取60kV。这个参数如果取得太低换流器就会进入过调制区谐波大幅增加甚至控制失败。3.2 串联变压器的接线与极性串联变压器是UPFC里最容易建错的地方。它在电路上是一端口与线路串联另一端口接串联VSC注意极性必须是一端接母线侧、一端接线路侧然后它们的交叉端通过变压器绕组相连。我用的是Simulink里的Three-Phase Transformer (Two Windings)把一次侧绕组串联在线路中二次侧连接VSC。变压器变比的选择原则是在最大调制比下二次侧基波电压折算到一次侧后要达到你希望的最大注入电压。工程上UPFC的注入电压一般取线路额定电压的10%~25%。220kV系统如果最大注入电压取20%就是44kV。我选的串联变压器变比为35kV/15kV变比约2.33一次侧串联在线路中承受的电压就是二次侧电压乘以变比。当直流母线电压60kV时VSC最大能输出大约相电压幅值30kV线电压有效值约21.2kV二次侧15kV额定折算到一次侧约35kV接近20%的注入能力。这个配合是合理的。还有一点必须提醒串联变压器在Simulink里极性接反了功率方向就会反表现为参考功率跟踪不上甚至发散。调试时如果发现功率控制没有响应先检查变压器同名端标记而不是急着调PI参数。3.3 控制器分层外环功率控制与内环电流控制整个控制系统我按如下层次搭建并联侧外环直流母线电压参考值Udc_ref60kV和母线无功参考值Qsh_ref分别经过PI控制器输出并联侧d轴和q轴电流参考值。并联侧内环d-q电流PI控制器加上解耦前馈项输出并联VSC的调制电压信号。串联侧外环线路有功参考值Pline_ref和线路无功参考值Qline_ref经过PI控制器输出串联侧d轴和q轴电流参考值。串联侧内环同样采用d-q电流PI控制器输出串联VSC的调制电压信号。调制器通过PWM发生器把调制电压变成IGBT的门极脉冲。如果你用的是Power Electronics里的Universal Bridge模块就不需要自己写PWM脉冲生成器直接把调制波信号接到Bridge的Pulse端口或者通过PWM Generator模块生成窄脉冲。但要注意Universal Bridge内部的IGBT模型会导致仿真步长很小速度慢建议先用平均值模型验证外环逻辑再换详细模型看谐波。4. 关键控制策略实现——d-q解耦控制的Simulink细节UPFC的控制策略几乎全部集中在d-q解耦上Simulink里一步步搭起来并不复杂但每一步都有容易出错的地方。这一节我把锁相环、内环解耦、直流电压平衡这几个关键点拆开讲。4.1 锁相环与Park变换的坐标对齐d-q变换的核心是坐标轴要对齐。如果你用PLL锁定的是线路首端母线电压Us的相位θ那么Us的q轴分量应为0d轴分量等于Us的幅值。所有交流量测量值电压、电流都要用这个θ做Park变换才能保证有功和无功的解耦。我在Simulink里用的是Simscape Electrical自带的Three-Phase PLL模块带宽设置为50Hz基波频率的1倍左右。实测下来PLL带宽太低会导致控制跟随滞后太高则容易受到谐波干扰。建议把PLL带宽设在30~60Hz之间并且在PLL输入端加一个低通滤波滤掉PWM谐波。另外一个容易忽略的点并联侧和串联侧的Park变换虽然都可以用同一个θ但串联侧电流的相位与并联侧不同因为它流过线路中间有电抗。如果串联侧也使用同一个θ做Park变换要确保测量的坐标系与模型一致否则串联侧有功和无功的计算会交叉耦合。简单做法是串联侧同样同步于母线电压Us的θ因为UPFC一般安装在线路首端串联变压器一次侧电压与母线电压基本相同这个假设在稳态下是成立的。4.2 有功类控制量和无功类控制量的解耦内环电流控制在d-q坐标下的电压方程为ud -R·id - L·did/dt ωL·iq eduq -R·iq - L·diq/dt - ωL·id eq其中R和L是换流器到母线之间的等效电阻和电感ed和eq是母线电压的d-q分量。为了让电流环能够独立控制id和iq需要在PI输出上加上补偿项ud_ref PI(pid) - ωL·iq eduq_ref PI(piq) ωL·id eq这就是前馈解耦把d、q轴之间的交叉耦合ωL·iq和-ωL·id抵消掉。如果不加这一项你会发现改变有功参考值时无功也会跟着剧烈波动这就是耦合导致的。在Simulink里实现时建议把PI控制器输出经过限幅后再加前馈。限幅值要参考调制波最大幅值一般取0.9倍直流母线电压对应的调制比。另外PI的积分器要做抗饱和处理我在实际调试中发现如果限幅导致积分饱和恢复时会出现很大的超调有功无功会发生几十毫秒的“打架”非常不好看。Simulink的Discrete PI Controller模块自带Anti-windup选项记得勾上。电流环的PI参数整定也有规律。把电流内环近似为一阶惯性环节一般希望电流环带宽为500~1000 rad/s。考虑离散化之后采样时间Ts决定了PI参数的上限建议PI的采样时间与控制周期一致比如5e-5秒比例增益Kp取L/Ts的一个比例系数0.5~1积分时间常数Ti取L/R。这样整定出来的响应比较快且不容易振荡。4.3 直流母线电压控制与串联侧补偿控制联动两个VSC共用一个直流电容直流母线电压的平衡本质上是两个换流器之间的有功功率平衡。并联侧VSC负责维持Udc它检测Udc实际值与60kV参考值的误差通过PI输出d轴电流参考值。当串联侧开始向线路注入有功时直流电容上的能量会被抽走Udc瞬间下降并联侧则自动从电网吸收有功能量补回来这个动态过程会在Udc波形上形成一个小凹坑随后恢复。Simulink里观察这个现象时要注意测量Udc的位置要直接测量直流电容两端的电压而不是测量换流器的直流端子电压中间隔着线路电抗。我建议在直流母线上加一个电压测量模块采样频率与控制频率一致。并联侧Udc环的带宽通常取50~100 rad/s比电流环慢一个数量级这样才能保证它不会与内环产生共振。串联侧的功率外环带宽则要更慢一些一般取20~50 rad/s因为线路潮流本身的响应也需要时间如果功率环调得太激进线路电流会大幅超调进而引起直流母线电压大幅波动。我自己遇到过的情况是把串联侧功率环Kp调大后线路有功确实跟踪快了但直流母线电压出现了4~5%的振荡而且振荡频率正好是功率环带宽明显是两个环路的动态耦合。把功率环带宽降下来后直流母线电压就稳定了。所以调参的基本顺序是先调内环电流再调并联侧Udc环最后调串联侧功率环每一步都要看波形确认稳定了再动下一步。5. 仿真结果分析——我看哪些波形怎么判断效果好模型搭完不是看动了就行要能从波形里读出UPFC是否真的实现了“独立”调节潮流。这一节我按我的仿真流程讲讲每个阶段重点观察哪些量以及这些量出现什么特征说明模型是对的。5.1 稳态潮流调节效果评估我做的第一个验证实验是给串联侧功率环加阶跃参考值起始线路有功Pline 300MW无功Qline 50Mvar在0.5秒时把Pline参考值改成500MWQline参考值改成0Mvar。先看线路功率的跟踪情况正常情况下有功应在0.3~0.5秒内平滑过渡到新参考值无功基本保持不变或只出现很小瞬态波动。如果无功在过渡过程中出现大范围摆荡说明串联侧d、q轴解耦没做好要么是前馈解耦项没加要么是Park变换角度不对需要回头检查。再看直流母线电压Udc波形阶跃发生后串联侧需要的注入有功增加Udc会先出现一个短暂跌落大约2%~3%随后在并联侧直流电压环作用下恢复。这个跌落的幅度和恢复时间直接反映并联侧Udc环的参数动态。如果跌落超过5%或者恢复时间超过0.1秒说明Udc环带宽不够或者并联侧电流限幅限制了功率传输。5.2 暂态响应与故障穿越表现稳态没问题后我会再加一个三相短路故障来考验UPFC的动态支撑能力。在1秒钟时线路中点发生持续0.1秒的三相短路接地然后恢复正常。故障期间线路电压跌落有功传输几乎为零此时UPFC的串联侧会试图注入更大的电压来维持潮流但如果故障太严重注入电压也可能不足以支撑功率会大幅下降。比较关键的是故障清除后UPFC应当能快速恢复功率并且不出现持续性振荡。我在模型里观察到故障清除后0.2秒内线路功率就能恢复到设定值的95%以上Udc波动在故障瞬间大约达到10%但清除后1秒内回到稳态。如果故障后振荡持续好几个周波可以先查PLL是不是在电压畸变时发生了相位跳变。故障期间PLL锁定的是故障电压相位可能瞬时翻转故障清除后PLL一旦不能快速重新锁定就会带着整个d-q系统振荡。这时可以给PLL的输出加一个相位校正或限速甚至考虑使用带复位的PLL。5.3 常见指标线路有功、无功、两端电压、直流母线电压仿真结果建议以表格形式记录方便对比指标无UPFC有UPFCP_ref500MW, Q_ref0Mvar线路有功(MW)约320500线路无功(Mvar)约800送端母线电压(kV)220221.5受端母线电压(kV)219219.8直流母线电压(kV)—60±1.5串联注入电压(kV)—约15kV从表格可以看到UPFC的作用不仅仅是把有功从320MW推到500MW同时还能把无功压到0这说明它对线路潮流的调节是彻底且独立的。送端母线电压略有抬升的原因是并联侧VSC吸收了部分无功或者发出了无功这取决于你给Qsh_ref设的是什么值。判断一个UPFC模型是否合格三个硬指标第一稳态下有功和无功参考值跟踪误差小于1%第二动态过程中有功和无功的耦合同步波动幅度不超过设定值的10%第三直流母线电压偏差不超过5%。只要这三条达到基本可以说明你的VSC和控制系统是正确可靠的。6. 调试经验与避坑指南——我踩过的Simulink模型坑UPFC的Simulink模型调试周期通常比搭建周期长得多。我把个人实际遇到的坑整理成四个类别每个都是反复折腾之后才搞明白的希望你能跳过这些坎。6.1 仿真步长与离散化带来的PI参数漂移Simulink中连续PI模块和离散PI模块的参数定义不一样离散PI模块的积分项通常写成Ki * Ts / (z-1)也就是Ki包含了采样时间。同样是Kp1、Ki100在连续系统中和离散系统Ts1e-5中的实际控制强度相差1e-5倍。很多同学直接把连续PI参数搬进Discrete PI Controller导致控制器几乎不起作用然后疯狂加大比例增益结果进入振荡。我的建议是从一开始就统一使用离散PI采样时间Ts取5e-5秒对应20kHz控制频率整定时先让Kp单独起作用比如先设Kp5观察电流跟踪再加Ki500逐步往上调。记录每次响应时间的变化你会发现离散下的Ki量级通常在Kp的1/100到1/10之间不要凭连续系统经验去给。6.2 串联变压器饱和与数值振荡Simulink自带的变压器模型如果选择了“Saturable Transformer”在UPFC这种需要注入串联电压的工况下很容易因为电压幅值超过拐点而进入饱和导致电流波形畸变和数值振荡。我一开始想模拟得更真实打开了饱和选项结果仿真经常在串联侧电流过大的时刻报“nonlinear iteration failed”。后来把饱和度模型暂时关闭改用线性变压器模型一下稳定了。如果你必须考虑饱和建议改用状态空间方程自己搭一个带饱和函数的变压器模块或者用Literature中提供的分段线性磁化曲线并且把求解器设为ode23tb。对于大部分控制和策略研究线性变压器足够饱和效应可以后续在详细电磁暂态模型里再考虑。6.3 锁相环动态响应引起的控制器失稳PLL在实际运行中不见得是理想角度它的动态会直接影响d-q变换。我在一个版本里把PLL带宽设成了5Hz低到几乎跟不上故障后的相位跳变结果整个功率控制全部发散。后来把PLL带宽提高到40Hz问题消失。Simulink中Three-Phase PLL模块的输出包括角频率wt和相位theta。调试时可以同时把theta和母线电压相角画在一个Scope里看稳态是否重合、动态时是否有明显延迟。如果在暂态过程中两者相差超过10度就需要提高PLL带宽或者给PLL加一个前馈相位。另外PLL模块的调节器参数可以按带宽50Hz、阻尼比0.707来设计对应Kp约2.2、Ki约50基于Simulink默认的PI结构这个范围比较稳。6.4 仿真速度优化技巧UPFC模型开关频率越高仿真越慢。如果只是验证控制策略建议按下面的顺序加速用平均值模型受控电压源受控电流源去掉IGBT和二极管仿真速度可以提升10倍以上使用离散化模型Powergui选择Discrete采样时间2e-5秒大部分快速暂态都可以覆盖把PWM载波频率从2kHz降到1080Hz观察功率动态基本不影响谐波主要影响电流纹波减小一个不必要的示波器采样点数Scope模块如果存储连续高频数据内存占用大也会拖慢仿真。我自己最终是在“平均模型离散时间低载波频率”下完成大部分策略研究只在最后做谐波分析时才切回详细模型并且只仿真0.2秒观察稳态波形。这样单次仿真时间从十几分钟缩短到两分钟参数扫起来非常舒服。6.5 一个容易被忽略的细节并联侧电流参考方向并联侧VSC测量电流时方向必须明确是从母线流向换流器还是从换流器流向母线。我在搭建时用的是Simscape的Current Measurement模块箭头方向若与功率方向定义相反会导致并联侧内环全部反号结果就是直流母线电压越控越偏最终发散。针对这种问题可以在模型里加一个简单的稳态校验断开串联侧只保留并联VSC设Udc_ref60kV观察Udc是否能在0.2秒稳定在60kV并联侧吸收的有功是否接近0。如果Udc飞了大概率是电流方向正负号搞反了。这个“先并联侧单独立检验再串联侧联合调试”的方法帮我快速排除了大量低级问题。我做完这个项目最大的体会是UPFC的控制难点不在潮流公式而在于两个换流器之间的能量平衡和d-q坐标的对齐。如果PLL相位差一点点整条线路的功率就全部跑偏。调试阶段可以把PI控制器带宽调低先稳住直流母线再逐渐加快功率环。这套模型后续还能扩展到多机系统、次同步振荡抑制、故障限流等方向尤其适合拿去做毕业设计的基础框架。如果你也在调UPFC仿真卡在某一步走不下去不妨按这个顺序自查一遍先看PLL相位再看电流方向然后检查解耦前馈最后才动PI参数——九成问题都出在这四个环节里。