搞电力电子仿真的人绕不开 FACTS 装置而 UPFC统一潮流控制器又是 FACTS 家族里功能最全、控制最灵活、也最容易让人一头雾水的那个。我最早接触 UPFC 是在读研时候做电网潮流控制课题当时导师丢给我一个方向用 VSC 拓扑实现 UPFC仿真平台用 Simulink。说实话光看“VSC”“UPFC”“Simulink”这三个词叠在一起我就知道这活不轻松。但等真正把模型跑通、波形调干净之后回头看这套东西带来的收获远比一篇论文大——它几乎把电力电子、电力系统、自动控制三块核心知识全串起来了。这篇文章我把当时从搭模型到调参、踩坑、出结果的全过程整理成一份可复现的实操笔记适合正在做 FACTS 相关课题的学生、刚接触柔性交流输电的工程师以及对 UPFC 控制原理感兴趣但苦于没人讲清楚“Simulink 里到底怎么落地”的朋友。你会看到我从主电路参数计算开始到双闭环控制、dq 解耦、正负序控制再到仿真调试的每一步细节包括具体参数怎么算、模型怎么搭、波形怎么分析。1. UPFC为什么值得自己动手搭一次1.1 从FACTS家族定位看UPFC的核心价值统一潮流控制器全称 Unified Power Flow Controller属于第二代 FACTS 装置它的最大卖点就是能同时且独立地控制输电线路的有功功率和无功功率。这句话听起来很简洁但它在电力系统里意义非常大。传统的潮流控制手段——比如调整变压器分接头、投切电容器组、甚至调整发电机出力——本质上都是“间接”甚至“全局”地影响潮流操作一次可能改变整个电网的功率分布而且响应速度慢无法应对快速波动的工况。UPFC 则完全不同。它通过串联侧向线路注入一个幅值和相位均可连续调节的电压源从而对线路等效阻抗、两端电压相位差、电压幅值这三个决定潮流的物理量同时施加影响。这意味着你可以把某条线路的有功功率从一个值平滑地调到另一个值而无功功率可以独立整定互不干扰。在电力市场环境下这种能力直接等于“给输电走廊装了一个可调阀门”对提高现有输电线路利用率、缓解输电瓶颈、支撑新能源并网都有实际价值。在 Simulink 里搭 UPFC你其实是在用仿真手段验证这套“阀门”的控制逻辑。仿真的好处是你可以任意改变线路参数、故障类型、负荷水平反复观察控制器的响应行为这在真实电网里几乎不可能做成本和风险都太高。1.2 为什么是VSC而不是别的换流器UPFC 的物理实现依赖换流器而 VSC电压源换流器在当下几乎是唯一合理的选择。先说结论因为 UPFC 需要换流器既能工作在整流状态也能工作在逆变状态而且功率可以双向流动同时还要能独立控制有功和无功。这几点要求基本把电流源换流器CSC和二极管整流方案排除掉了。电流源换流器需要大电感储能动态响应慢而且交流侧电流谐波大滤波器设计困难。二极管整流就更不用提它只能单向传输功率控制自由度几乎为零。VSC 用 IGBT 作为开关器件配合 PWM 调制可以实现四象限运行也就是有功和无功都能正负调节。再加上 VSC 的直流侧是电容天然适合两个换流器背靠背共用同一个直流母线这正是 UPFC 双换流器结构的基础。还有一个重要原因是控制上的。VSC 在 dq 同步旋转坐标系下有功功率只跟 d 轴电流相关无功功率只跟 q 轴电流相关这种“解耦”特性让控制器设计难度大幅降低。你用两个独立的 PI 调节器就能分别控制有功和无功这在工程实现上是极大的便利。Simulink 里建模时这种 dq 解耦结构体现得非常直观也方便你在调试时定位问题——有功不对就看 d 轴环路无功不对就看 q 轴环路。1.3 双换流器结构里能流方向决定了控制分工UPFC 的拓扑是并联换流器和串联换流器通过公共直流母线背靠背连接。并联换流器接在线路首端母线上它的角色是维持直流母线电压稳定同时可以为母线提供无功支撑。串联换流器通过耦合变压器串入输电线路它向线路注入一个与系统频率同步的电压相量通过控制这个电压相量的幅值和相位来调节线路潮流。两边的分工其实很清晰并联侧管“能量来源”串联侧管“能量去向”。有意思的是串联侧注入的电压和线路电流之间会产生有功交换这部分有功功率会通过公共直流母线流到并联侧再由并联侧从交流系统吸收或回馈。也就是说直流母线是两边能量交换的“中转站”。如果直流母线电压没稳住串联侧注入电压的能力就会迅速衰减整个 UPFC 就形同虚设。这也是为什么控制策略里总是把直流母线电压控制放在并联侧而且优先级最高。我在仿真调试中吃过这个亏一开始只关注串联侧的功率控制效果忽略了对直流母线电压环的整定结果功率波形迟迟稳不住后来把电压环时间常数调小、加限幅问题立刻缓解。2. 控制策略拆解从dq解耦到正负序控制2.1 dq同步旋转坐标系到底做了什么简化UPFC 的控制离不开 dq 坐标系这几乎是所有 VSC 类装置的标准做法。三相 abc 坐标系下的电压电流都是 50Hz 交流量直接用 PI 调节器会产生稳态误差因为 PI 对交流量的增益有限。Park 变换把三相量投影到一个同步旋转的 dq 坐标轴上之后50Hz 交流量变成了直流量PI 就能做到无静差跟踪。dq 变换的另一个好处是能分离有功与无功。以并联侧 VSC 为例输出电流的 d 分量与电网电压相量同方向它决定有功功率q 分量与电压相量正交它决定无功功率。控制目标因此变成“调 d 轴电流就是调有功调 q 轴电流就是调无功”两套环路互不纠缠。在 Simulink 里实现 dq 变换可以直接用库里的 Park 变换模块也可以手写坐标变换公式。我个人推荐手写因为这样你能更清楚角度基准在哪。注意变换角度必须来自锁相环PLL输出的电网电压相位角度稍有偏差dq 分量就不是严格意义上的直流控制效果会打折扣。2.2 并联侧控制保住直流母线就是保住一切并联侧换流器通常采用双闭环结构外环是直流母线电压环内环是电流环。电压外环的给定值是直流母线电压参考值反馈值来自直流电容实测电压两者的误差经 PI 调节器后产生 d 轴电流参考值。这样一来当串联侧需要更多有功功率注入线路时直流母线电压会下降电压环检测到这个偏差后会自动增大 d 轴电流指令让并联侧从系统吸收更多有功来补充直流电容。q 轴电流参考值则根据无功需求给定通常可以置为零也可以根据母线无功支撑需求来设定。你可以在外部给定一个无功参考值也可以直接和并联侧交流电压闭环联动后者就是我们常说的定电压控制常用于支撑弱交流系统。并联侧的控制难点在启动阶段。如果不加软启动直流电容充电瞬间的冲击电流会非常大轻则波形失真重则仿真直接发散。我当时的做法是在直流母线电压参考值上串联一个斜坡函数让电压参考在 0.1 秒内从 0 升到额定值电流冲击就明显缓解了。这个套路简单有效建议直接照搬。2.3 串联侧控制注入电压的幅值和相位才是功率的开关串联侧换流器是本项目的核心控制对象它的任务是向线路注入一个幅值和相位都可控的电压相量。注入电压与线路电流相互作用就会产生有功和无功的交换从而改变线路传输功率。串联侧控制方案通常有两种。一种是直接控制注入电压的 dq 分量并用两个 PI 调节器分别跟踪线路有功功率和无功功率的参考值。另一种是间接控制方案先把功率参考值换算成注入电压的幅值和相角再生成调制波。我在实践中更推荐第一种因为它天然利用了 dq 解耦的优势而且功率误差反馈到 PI 调节器后直接产生电压指令物理意义非常直接。具体实现时线路有功功率和无功功率都通过测量端电压和线路电流计算得到。三相瞬时功率经 dq 变换后P 1.5 * (udid uqiq)Q 1.5 * (uqid - udiq)。串联侧控制环的误差信号经 PI 调节后输出注入电压的 d、q 分量参考值再经反 Park 变换生成三相正弦调制信号送入 PWM 发生器。这里有一个容易踩的细节串联侧注入变压器是 Y-Δ 接线还是 Y-Y 接线直接决定你注入电压和线路电压之间的相位偏移。仿真中如果相位偏移不校正你会发现有功无功根本无法独立控制一个调好了另一个肯定跑偏。我的经验是先弄清除变压器绕组的连接组别再在控制算法里做相应的相位补偿或者干脆在 Simulink 里用理想变压器加电压测量模块避免接线组别带来的困扰。2.4 正负序控制为什么要提上日程如果只是做稳态潮流控制正序分量的 dq 控制完全够用。但一旦涉及电网电压不平衡或者单相故障负序分量会使 dq 坐标系下的电压电流产生 100Hz 的脉动分量导致功率波动和直流母线电压二倍频波动。这时候就必须引入负序控制。正负序分离的思路是先把三相电压电流做对称分量分解得到正序和负序分量然后在各自的同步旋转坐标系下分别控制。正序 dq 坐标系以正序电压相位为基准负序 dq 坐标系以负序电压相位为基准两套控制环路独立运行最后把调制波叠加起来。这样即使系统电压不平衡串联侧注入电压也能保持良好波形直流母线电压的 100Hz 波动也能被抑制。Simulink 里做正负序分离可以用陷波滤波器或者延迟法。陷波滤波器实现简单但会引入相位延迟延迟法精度高但需要缓存至少 1/4 个工频周期的采样值。我建议用延迟法配合正序锁相环Simulink 里用离散延迟模块就可以实现控制周期设为 50 微秒精度完全够用。我在实际课题里把正负序控制作为一个扩展章节来做先跑通纯正序控制再叠加负序控制环。这种由简到繁的顺序非常有效否则一上来就上正负序分离调试难度会成倍增加。3. Simulink建模实操从搭模型到出波形3.1 主电路参数设计与绕坑指南主电路参数是整个仿真模型的骨架包括交流系统电源、输电线路阻抗、耦合变压器、直流电容、串联注入变压器和两个 VSC 换流器。参数定得合不合理直接决定后续控制环调试能不能顺利跑通。先看交流系统。我建议用 Simulink 里的 Three-Phase Source 模块作为等效电网电压等级按你要研究的场景定常见的是 220kV 或 110kV。为了模拟真实电网给电源串联一个等效阻抗阻抗值可以按短路容量估算。比如 220kV 系统短路容量取 5000MVA则系统阻抗 Z U² / S 220² / 5000 ≈ 9.68 Ω折算到仿真模型里就是 R jX 的形式。输电线路参数按集中参数 π 型等效电路建模。线路长度我建议取 100km 左右单位长度参数可以参考典型 220kV 架空线R 0.034 Ω/kmL 1.34 mH/kmC 11.5 nF/km。由此算出总阻抗约 3.4Ω j42Ω这个量级搭配 UPFC 的注入电压范围比较合理。你要注意线路阻抗决定了在不加 UPFC 时的自然潮流分布UPFC 的容量应该选得比自然潮流略高才有足够的调控裕度。直流母线电压怎么定这有一个工程上常用的经验关系对于三相两电平 VSC直流电压必须高于交流侧线电压峰值才能保证电流可控即 Udc 根号2 * Uac线电压有效值。我标幺化设计时取直流母线电压为交流侧线电压有效值的 1.52 倍既能留足调制裕度又不至于让 IGBT 承受过高电压应力。仿真中串联侧交流电压取 35kV 的话直流母线电压取 70kV 左右比较合适。直流电容容量按照能量缓冲需求来算。电容上存储的能量 W 0.5 * C * Udc²电容越大直流电压波动越小但充电越慢。经验做法是让电容时间常数 τ C * Udc / (2 * P_n) 在 5~10ms 之间。假设 UPFC 额定功率 100MVA、直流电压 70kV电容取 1500μF 左右直流电压动态响应和波动幅度可以达到合理平衡。PWM 载波频率也很关键。对于两电平 VSCIGBT 的开关频率通常取 1~2kHz太高会导致开关损耗过大。在仿真中你大可把载波频率设为 2kHz以牺牲一点速度换取更好的波形质量。如果你用延时的 PWM 发生模块记得把载波和调制波的比较步长设得足够小否则会出现脉冲丢失。3.2 控制环路参数怎么定下来控制参数整定是 UPFC 仿真里最耗时、最磨人的一步。我不建议直接拿一组别人论文里的 PI 参数硬套因为主电路参数一变PI 参数基本也要跟着变。更靠谱的办法是基于典型工程设计法自己算一遍。电流内环的整定思路把 VSC 交流侧等效为 RL 串联电路电流环被控对象就是一阶惯性环节。取电流环带宽为开关频率的 1/10 左右也就是 200Hz 左右对应时间常数约 0.8ms。电流环 PI 参数可按下式估算Kp L / τ_i Ki R / τ_i其中 L 是交流侧等效电感R 是等效电阻τ_i 是期望的电流环时间常数。假设滤波电感 L 8mHR 0.2Ωτ_i 0.8ms可以算出 Kp ≈ 10Ki ≈ 250。这个结果可以作为初始值再用试凑法微调。电压外环的整定比电流环慢一个数量级一般取电流环带宽的 1/5 到 1/10。我直接把电压环时间常数设为 20ms然后按照典型 II 型系统设计 PI 参数再结合阶跃响应曲线微调。电压环的 Kp 不宜过大否则直流电压会剧烈振荡Ki 决定了稳态精度太小会有静差太大则容易与电流环耦合共振。串联侧功率环的 PI 参数也是同样的思路。但是要注意功率环本质上是个非线性环节在调试时建议先把功率环增益调低保证系统稳定再逐步增大增益获得更快的响应。我调试时的经验是先用 0.2 倍估算值跑通全流程确认无振荡后每次增加 0.1 倍直到响应速度和超调量达到平衡。3.3 一步步搭出一个能跑的模型Simulink 模型的搭建顺序建议“先主电路后控制先并联侧后串联侧”。别一上来就想把整个 UPFC 一次搭完——模块连线一多出了问题根本没法查。第一步搭交流系统与并联换流器。在 Simulink 里放一个 Three-Phase Source接上线路阻抗然后经过并联耦合变压器接入 VSC 换流器。VSC 的直流侧用一个大电容接地。换流器用 Universal Bridge 模块选择 IGBT/Diodes 作为开关器件。这个阶段先不做任何控制直接给 PWM 触发信号看直流电容能不能通过二极管整流充电到一定电压值。这一步能验证主电路连接没问题。第二步加并联侧的 PWM 触发与电流内环。先用 PLL 锁住母线电压相位把测量的三相电流转换到 dq 坐标系然后搭内环电流 PI 控制器。此时手动给定 id_ref 和 iq_ref 为常数看电流能不能跟踪参考值。如果电流波形振荡或者有静差回头检查 dq 变换角度、PI 极性、调制波幅值范围。第三步叠加直流电压外环。把电压环 PI 的输出接到 id_ref 上启动时给电压参考加斜坡观察直流电压能否平滑升到设定值。这一步通过后并联侧基本就算完成了。第四步搭建串联侧。串联变压器串入线路在一次侧接串联 VSC 的输出。串联侧 PWM 调制波先给一个恒定幅值和相位的正弦波观察线路功率的变化确认 UPFC 对潮流的调节确实生效。第五步接上功率闭环。把线路有功无功测量值与参考值做差经 PI 调节后生成注入电压 d、q 参考值再送入 PWM。这一步跑通后整个 UPFC 模型就闭环了。到这一步你已经可以用参考值连续调节线路功率观察系统响应。3.4 仿真步长和求解器的选择UPFC 的 Simulink 仿真对求解器设置比较敏感我在初学阶段因为步长没设好模型要么跑得极慢要么波形明显失真。建议使用离散求解器固定步长步长设为 5 微秒左右。VSC 的 PWM 载波频率是 2kHz每个载波周期有 100 个仿真步长足够准确捕捉触发脉冲和电流纹波。如果你是纯 Simulink 建模即不引入第三方库模型里会用到 Powergui 模块选择离散仿真模式并把采样时间设为 5e-6 秒。控制环路里的 PI、Park 变换、PLL 等模块也要设置相同的采样时间否则控制系统和主电路之间的数据交换不同步会出现莫名其妙的振荡。仿真时长不需要太长我一般设 0.5 秒。前面 0~0.1 秒是并联侧启动充电阶段0.1~0.2 秒让系统稳定0.2 秒后阶跃改变功率参考值观察跟踪动态响应。这个时长的仿真在普通笔记本上大约需要几分钟属于可接受的等待时间。如果你做正负序控制或者故障穿越仿真时长可能要延长到 1 秒这时候合理利用加速仿真功能会很有帮助。4. 仿真调试我踩过的坑和排查思路4.1 直流母线电压崩溃我在早期调试中遇到最典型的症状是并联侧启动正常直流电压爬升到额定值但一旦串联侧投入 PWM 调制直流电压就像被抽空了一样迅速下跌随后系统失控发散。排查思路要从能量守恒入手。串联侧注入电压与线路电流作用产生有功功率交换这部分有功功率如果大于并联侧从电网吸收的能力直流电容就会持续放电电压自然下跌。所以重点检查两处并联侧电压环的 PI 输出是否已经饱和电流内环是否到达电流上限。我发现很多时候是电压环 PI 参数太软导致并联侧 d 轴电流跟不上串联侧的功率需求。解决办法是增大电压环 Kp 和 Ki同时给 id_ref 加一个合理的限幅避免电流参考值超出 VSC 的物理容量。另外检查串联侧功率参考值是否定得过高超过 UPFC 的额定容量之后直流母线电压是稳不住的。把功率参考值降到额定容量的 80%直流电压就会恢复正常。4.2 有功无功解耦不理想UPFC 的核心卖点是解耦控制但如果你的仿真里有功变化会带动无功一起跳动而且长时间不收敛那就说明解耦没做好。最常见的原因是 dq 变换角度基准偏移。PLL 的输出相位如果与系统电压相位存在固定偏差dq 坐标系下的电流分量就不再纯对应有功和无功两者互相串扰。还有一个原因是电流内环没有做好交叉耦合补偿。在 dq 坐标系下VSC 的电流环存在 Lω 耦合项即 d 轴电流会影响 q 轴电压q 轴电流会影响 d 轴电压。如果不在控制器里加入解耦前馈项两个电流环会互相干扰。解决方法是把解耦项显式地写进电流控制器在 d 轴电压指令里加上 -ωLiq在 q 轴电压指令里加上 ωLid。Simulink 里面只需要加两个乘法器和求和模块改动不大但效果立竿见影。做完这步之后有功阶跃时无功的波动幅度能减少一半以上。4.3 PLL锁相不稳PLL 在 UPFC 里的作用非常关键因为它给 dq 变换提供角度基准。我在调试中发现 PLL 的带宽如果设为 50Hz 附近的宽带锁相结果会包含较多的电压谐波分量导致 dq 变换后的电流波形毛刺明显。解决方法是降低 PLL 带宽通常设为 20~30Hz。Simulink 自带的 PLL 模块可以直接调 PI 参数也可以自己搭一个三相同步锁相环。带宽降低后锁相速度会变慢但稳态精度更高对 VSC 控制来说稳态精度远比动态响应重要。另外在电压不平衡或畸变情况下建议在 PLL 输入端加一个带通滤波器只保留正序基波分量。4.4 并联侧启动冲击这个问题前面提到过但值得单独拿出来说。如果不做任何软启动直接给定满幅直流电压参考值并联侧 VSC 会在启动瞬间以一个极大的电流给电容充电仿真里很容易出现溢出或者开关器件过流。我在模型里的做法是给电压环的输出加一个斜坡限制器让 id_ref 在 0.05~0.1 秒内从零逐渐上升到稳态值。这个斜坡速率要配合电压环的响应太快了起不到限流作用太慢了影响启动速度。实测 0.08 秒的斜坡时间和 2 倍额定电流的限制值组合效果较好。5. 结果怎么看以及还能往哪走5.1 波形分析的正确打开方式模型跑通之后不要急着截图写报告先把该看的波形看全。我的建议是至少抓四组波形线路有功无功阶跃响应曲线、直流母线电压波形、两个 VSC 的调制电压与电流波形、系统三相电压电流波形。有功无功阶跃响应最能说明 UPFC 的调节能力。你设置的功率参考值从 50MW 阶跃到 80MW观察响应时间、超调量和稳态误差。响应时间一般在几十毫秒以内超调量控制在 10% 以内就算合格。直流母线电压在功率阶跃瞬间会有一个小幅跌落然后迅速恢复恢复时间也值得记录。还有一个容易被忽略的指标是谐波含量。用 Simulink 自带的 power_fftscope 工具分析线路电流的 THD两电平 VSC 的 THD 通常在 2%~5% 之间。如果 THD 过高先检查载波频率和调制比再检查滤波电感取值。THD 做到 3% 以下这个模型在工程上就算能看了。调试完波形不要急着删除中间记录我在写论文的时候回翻当时的仿真曲线发现一些偶然振荡现象后来成了分析控制鲁棒性的素材。保留完整的仿真记录是个好习惯。5.2 后续扩展方向模型跑通之后扩展方向非常多。最直接的扩展是把控制策略从纯正序升级到正负序联合控制这在前面已经提过。另一个我建议尝试的方向是并联侧增加交流电压闭环实现定电压控制这样 UPFC 还可以为母线提供动态无功支撑在弱系统环境下表现更好。如果你还想往工程化方向靠可以把固定步长的纯 Simulink 模型改为代码生成模式用 Embedded Coder 生成 C 代码再部署到实时仿真机上做硬件在环测试。Simulink 的外部模式也支持在调参过程中实时观察内部变量这对做实验很有帮助。再往下走用 RTDS 或 StarSim 做实时仿真的也大有人在但核心控制算法完全可以先从 Simulink 模型里继承。我个人觉得 UPFC 这个课题最有价值的地方在于它逼着你把电力电子和电力系统两套知识揉在一起思考。你调通一个双闭环理解的是 VSC 控制的通法你调通 UPFC理解的是整个 FACTS 家族的控制逻辑。以后做 STATCOM、SSSC、甚至直流输配电的 VSC 控制你会发现很多套路都是相通的。最后再分享一个小技巧仿真模型里所有 PI 参数的整定记录、每次改动后的波形响应我建议单独建一个 Excel 表格记录下来。我当时靠着这份记录用不到一周时间就把参数从“能跑”优化到了“好用”比起盲目试凑效率高得多。