拿到这个题目的时候,我先提醒自己别被“传动系统”这四个字绕进去。它不是在讲变速箱、齿轮箱那一类机械传动,而是电力系统里两个发电机转子之间通过电网发生的机电耦合过程。SVC_PSS两机传动系统暂态稳定性仿真模型,核心就是做成一个两机电力系统的仿真平台:一台参考机,一台研究对象机,中间通过输电线路连接,在回路上装静止无功补偿器SVC和电力系统稳定器PSS,然后制造一个短路扰动,观察两机能不能稳住、功角能不能收敛。这个模型最大的价值,是能一次把“电压支撑”和“阻尼控制”两件事都验证到位。SVC负责在故障期间顶住母线电压,PSS负责给转子振荡提供正阻尼,两者配合着看暂态稳定性,比单机无穷大系统能说明白更多问题。
这类仿真工作最适合谁?正在做电力系统稳定控制课题的本硕学生、刚接触Simulink电力系统仿真的工程师,以及想快速搭一套“故障→扰动→控制→稳定评估”完整流程的科研人员。它不需要你从零推导电网微分方程,但需要你真正理解同步发电机的摇摆方程、励磁系统负阻尼机理和SVC的等值电纳控制。下面我把建模思路、核心参数、仿真方法和踩坑经验拆开讲,按我个人做这类模型的顺序来写。
1. 项目背景与模型设计思路
1.1 两机系统比单机系统到底多了什么信息
常规的课程设计里,大家习惯做单机无穷大系统,一台发电机带一个无穷大母线,故障切除后看转子角摇摆。优点是简单直观,但有一个明显缺陷:无穷大母线默认为电压幅值和频率恒定,这就等于系统里天然存在一个“刚性的支撑点”,研究低频振荡时只能看到单一的本地振荡模式,没办法体现两个机组彼此之间的相对摇摆。
换成两机系统之后,物理图景完全不一样。两台发电机G1和G2通过联络线相互传输功率,中间的母线电压不再刚硬,而是随着功率流动和故障过程动态变化。此时系统的低频振荡表现为两个转子之间的相对运动,振荡频率更低,阻尼特性也更接近真实区域电网的情况。我在模型里把G1作为参考机(相当于主网区域),G2作为研究对象机(相当于被研究的送端机组),通过一台升压变压器接入220kV母线,母线之间用双回线路连接。扰动发生时,两台机的功角差Δδ = δ2 - δ1的变化,才是我们最关心的暂态稳定判据。
这里有一个细节值得提:两机系统里,你没法像单机无穷大那样把参考功角固定为0。仿真中必须用锁相或者直接读取两机的转差信号,计算出相对功角差。我在Simulink里是直接取G2的转子角减G1的转子角,而不是去量母线电压相角,因为电压相角叠加了变压器和线路的相位偏移,直接用来判断失步会出偏差。
1.2 SVC和PSS在稳定控制里各管哪一段
很多人容易把SVC和PSS混在一起,觉得它们都是“提高稳定性”的,加上去就行。实际研究中它们的分工完全不同,理解这点对仿真结果的分析很重要。
SVC是无功补偿装置,本质是一个可控的电纳,接入母线后通过晶闸管控制投入的电容和电抗,把母线电压维持在一个设定值附近。故障期间机端电压跌落得越深,发电机的电磁功率就越低,转子加速越多,第一摆功角就越大。SVC的作用就是在电压跌落时快速补无功,抬高母线电压,从而增加电磁功率、减小加速面积。它解决的主要是“电压支撑”和“同步转矩”的问题。
PSS则工作在励磁通道上。它的输入通常取转速偏差或功率偏差信号,经过增益、隔直、相位补偿和限幅之后,叠加到励磁调节器的参考电压上。之所以需要它,是因为快速励磁系统在高放大倍数下会向系统引入负阻尼——AVR拼命维持机端电压的同时,会让发电机输出的电气阻尼转矩被抵消,于是故障切除后功角振荡衰减很慢甚至持续增长。PSS通过附加励磁信号,人为补偿一个正阻尼转矩,把振荡压下去。
一句话总结:SVC管“电压”,PSS管“振荡”,它们面对的是暂态稳定问题的两个不同侧面。仿真中只加SVC时,电压恢复快但功角可能仍然大幅度摇摆;只加PSS时,振荡衰减快但故障期间电压支撑不足;两者同时投入,才是在第一摆稳定和后续动态稳定上都表现最好的组合。这个对比结果,也是这类项目最有说服力的输出。
2. Simulink建模与核心参数配置
2.1 两机系统电气拓扑和同步发电机参数
模型我用的是Simulink的Simscape Electrical库(老版本叫SimPowerSystems),整个回路按顺序排开:两个同步发电机模块、原动机与调速器、励磁系统、升压变压器、输电线路、母线负荷、三相短路故障模块,以及挂在母线处的SVC和接到励磁通道上的PSS。
发电机参数直接决定振荡特性,建议不要随意填,我用的是典型汽轮机组参数,基准容量选1000 MVA:
- 额定电压:13.8 kV(发电机端),额定频率60 Hz
- 直轴同步电抗Xd = 1.8 pu,暂态电抗Xd' = 0.3 pu,次暂态电抗Xd'' = 0.2 pu
- 交轴同步电抗Xq = 1.7 pu,暂态电抗Xq' = 0.55 pu
- 惯性时间常数H = 3.5 s(G2取3.2 s,故意让两机惯性略有差异,这样相对振荡更明显)
- 阻尼绕组和励磁绕组时间常数按默认模块参数,Tdo' = 8 s,Tdo'' = 0.03 s
变压器用两台升压变,G1侧13.8/220 kV,G2侧13.8/220 kV,漏抗均取0.1 pu,额定容量与发电机匹配为各1000 MVA和500 MVA加一台。输电线路为了简化,用集中参数的三相串联阻抗支路代替分布参数线路模型,220 kV双回线,总长度按200 km考虑,单回线每公里正序电阻0.035 Ω/km,正序电抗0.35 Ω/km。计算一下标幺值做参考:基准阻抗ZB = V_B² / S_B = 220² / 1000 = 48.4 Ω,双回并联后的线路阻抗折算到系统基准大约是0.0723 + j0.7232 pu。线路充电电容在这个规模下影响较小,可以在仿真中先忽略,但如果你做的是长距离线路,建议还是用PI型分段模型。
这里有一个建模顺序的小经验:先把两台机带上本地负荷跑稳态,确认功率潮流正确,再接入SVC和PSS。一口气全搭好再调,出问题很难定位。
2.2 SVC模型选型和电纳范围计算
SVC在Simulink里有现成模块“Static Var Compensator”,它内部等效成一个可控电纳,能反映TCR(晶闸管控制电抗器)和TSC(晶闸管投切电容器)的组合调节特性。模块里需要填额定线电压(220 kV)、频率、无功功率调节范围以及响应时间常数。
电纳范围怎么算?SVC挂接母线的额定电压为220 kV,系统基准容量取1000 MVA。假设我设计的SVC补偿容量是感性100 Mvar到容性300 Mvar,那么折算成标幺值,感性方向Q_Lmin = -0.1 pu,容性方向Q_Cmax = 0.3 pu。由于在电压接近1.0 pu的工况下,等效电纳B与无功功率Q的关系约为B = Q / V²,所以SVC最大等效电纳约为0.3 pu,最小电纳约为-0.1 pu。在模块里我就把电纳上下限填成-0.1和0.3,同时把电压控制回路的参考电压设为1.0 pu,斜率设为0.03 pu/Mvar,这个斜率不能设成0,否则SVC会表现出无穷大刚性,跟实际装置不符,也会引起数值振荡。
如果是自己搭SVC的内部电路,而不使用现成模块,门极控制逻辑要分三步做:先测母线电压有效值,再经过PI控制器算出所需电纳,最后由晶闸管触发角把电纳转换到实际TCR/TS组合。用现成模块能省大量调试时间,但是研究SVC附加阻尼控制的时候,还是建议切开电压外环,自己加一条附加信号通道,这样后面想跟PSS做协调设计会更灵活。
2.3 PSS的传递函数模型与参数初值
PSS我用的标准PSS1A结构,也就是基于转速偏差输入的通用模型,传递函数为:
G(s) = Kpss * [sTw/(1+sTw)] * [(1+sT1)(1+sT3)] / [(1+sT2)(1+sT4)]
信号链路是:转速偏差Δω → 隔直环节(时间常数Tw) → 两级超前-滞后补偿 → 增益Kpss → 限幅 → 叠加到AVR参考电压。隔直环节的作用是保证稳态时PSS输出为0,不会一直抬高机端电压;超前-滞后环节用来补偿励磁系统在振荡频段造成的相位滞后;增益决定阻尼强弱,但过大反而会引入高频放大,甚至引发励磁电压剧烈波动。
我在模型里用的初值如下:Kpss = 12,Tw = 10 s,T1 = 0.38 s,T2 = 0.08 s,T3 = 0.13 s,T4 = 0.025 s,输出限幅设为±0.05 pu。这个初值不是拍脑袋定的,思路是:先知道励磁系统在1到2 Hz振荡频段的相位滞后大约60到90度,然后用两级超前环节分别补30度左右,总的补偿角落在45到60度,就能把输入转速信号通过励磁通道转成纯阻尼转矩。如果你用MATLAB对励磁系统做线性化,还能用bode图精确查看相位滞后,再反推T1到T4,效果更准。
增益Kpss的调节经验是:从小到大加,先跑到3,看功角曲线有无明显改善,再跑到8、12。如果加到15以后功角曲线出现高频毛刺或者机端电压波形抖动,说明增益已经过大,要降回来。每次改完参数后在同一个故障工况下对比,千万别边改边换工况,那样看不出谁起作用。
2.4 三相短路故障序列的设置方法
故障序列用一个Three-Phase Fault模块就能做,重要的是时间设置。我把总仿真时长设为20 s,故障在t = 5.0 s时刻发生,持续0.1 s之后切除。对于60 Hz系统,0.1 s对应6个周波,这是一个比较标准的临界故障持续时间。设置时在Fault模块的transition times数组填[5.0 5.1](单位秒),类型选三相短路(three-phase to ground),接地电阻设为0.01 Ω模拟金属性短路。
研究暂态稳定性时,故障发生点选在G2出口升压变压器高压侧母线上,这是对研究对象机冲击最大的位置,因为发电机直接连接到故障点,故障期间电磁功率几乎降到0,转子持续加速。如果你想考察不同故障地点的严重程度,也可以在输电线路中点加第二组故障模块,在仿真中通过外开关切换,但第一版模型建议先固定一个最恶劣工况,把控制器的逻辑调通再说。
3. 仿真流程与暂态稳定性分析方法
3.1 四组对比工况的设计方法
为了说清楚SVC和PSS各自的贡献,我在仿真里固定同一个短路故障,然后切换控制器投退状态,形成四个工况:
| 工况 | SVC | PSS | 预期关注的指标 |
|---|---|---|---|
| 工况一 | 退出 | 退出 | 原始失稳形态,作为基线 |
| 工况二 | 投入 | 退出 | SVC电压支撑效果,功角第一摆影响 |
| 工况三 | 退出 | 投入 | PSS阻尼效果,电压恢复与功角收敛 |
| 工况四 | 投入 | 投入 | 联合控制下的最优响应 |
切换SVC和PSS投退,不建议直接暴力断开模块连线,那样容易造成数值突变。我给SVC设置了外部使能信号,给PSS输出设置了开关增益,需要退出时把增益设成0而不是断开信号路径。这样系统拓扑始终一致,控制器只是退出工作,对比起来更公平。
四组曲线跑完之后,放在同一张图里对比。我个人的顺序是先看无控制的原始曲线,明确系统故障切除后是“第一摆失稳”还是“后续振荡发散”,然后再去分析控制器的作用。很多时候学生上来就把所有控制全加上,得到一条好曲线,却说不清楚到底是哪个环节在起主要作用,这种结果写论文很容易被答辩老师问住。
3.2 判稳核心指标:相对功角曲线怎么看
两机系统暂态稳定最直接的判据是相对功角差Δδ = δ2 - δ1。故障期间G2加速,Δδ从稳态值开始上升;故障切除后如果系统稳定,Δδ会达到一个最大值,即“第一摆峰值”,然后回落并逐渐收敛到新的稳态值。如果第一摆峰值超过180度,两机之间就可能失去同步。
实际判定的时候,我给一个经验尺度:
- 故障后Δδ单调上升到超过180度且不断加速,判断为第一摆失稳。
- 切除后Δδ回落并在另一个平衡点附近衰减振荡、最终收敛,判断为暂态稳定。
- 切除后Δδ形成等幅振荡,说明系统阻尼接近0,临界但不可接受。
- Δδ持续小幅度增长,几个摆动之后越过180度,属于动态失稳,往往由负阻尼累积导致。
仿真图出来之后,不要只看最终是否收敛,还要看最大功角、振荡衰减速率和整定时间。比如工况三(仅PSS)的功角最大摆动角度可能会明显低于工况二(仅SVC),但第一摆峰值未必低很多,可是后续摆动衰减明显更快。这就是阻尼起到了作用。同时还要结合机端电压曲线看:SVC投入的工况里,故障切除瞬间电压凹陷更浅、恢复更快,而SVC退出的工况里电压恢复要靠发电机励磁慢慢拉,会慢得多。
3.3 典型结果解读和控制器贡献的区分
按照前面参数跑出来的结果,趋势大致是这样的,我说一下我模型里的响应特征,供你做对照。
工况一无控制:故障切除后G2相对G1的功角差达到140度以上,随后第二个摆动周期内失步,机端电压跌至0.6 pu附近并出现大幅波动,仿真提示transmission line power flow异常,两机失去同步。这个基线说明系统本身并不具备足够的稳定性裕度。
工况二仅投入SVC:母线电压支撑效果非常明显,故障切除后电压凹陷明显变浅,恢复时间从约2 s缩短到约0.8 s,功角第一摆峰值下降到约115度。但是注意,Δδ随后的振荡衰减仍然很慢,十秒左右还在明显摆动,说明SVC提升了同步转矩、改善了第一摆稳定,但对系统阻尼的贡献十分有限,甚至纯电压控制模式下的SVC会在某些振荡频率点上产生负阻尼贡献。
工况三仅投入PSS:电压恢复速度一般,因为SVC没工作,故障期间母线电压仍然跌得比较深,但PSS对功角振荡的抑制作用非常突出。Δδ第一摆峰值约120度,第二个摆动之后峰值迅速衰减,大约6 s内整定到稳态。这说明PSS直接改善了阻尼转矩,让振荡能量快速耗散。不过故障后电压最低点比工况二差不少,可见单靠PSS解决不了电压支撑问题。
工况四SVC与PSS同时投入:这是最优状态。电压最低点比工况二略好,电压恢复时间基本持平,同时功角曲线衰减速度接近工况三,甚至在多个摆动周期的最大功角指标上优于单独投入任何一方。四组曲线并排放在一起,你就能直观看到“电压支撑”和“阻尼控制”是两种互相补充的控制维度。
这里要特别说一个深层问题:SVC和PSS之间不是天然就协调的。SVC的电压闭环在改善同步转矩的同时,可能削弱PSS提供的阻尼作用,反过来PSS的加励信号也会引起无功力波动,影响SVC的电压调节。所以在工程研究里,SVC通常也需要附加阻尼控制(ADS),把它接入的转速或功率信号经PSS结构的补偿后叠加到SVC的电压参考端,形成双通道阻尼。你如果只做基础版仿真可以不加SVC的附加阻尼,但如果导师问到“SVC和PSS协调优化”,至少要有这个后续扩展的意识,模型结构上提前预留附加信号输入端口会方便很多。
4. 常见问题与排查技巧实录
4.1 仿真发散的常见根源和对应处理
做电力系统电磁暂态仿真,最烦的就是一启动就数值发散。我在这类模型上遇到过的发散原因按概率排:初始潮流没达到稳态、求解器刚性设置不合适、控制环节形成代数环、故障模块时间点恰好与开关切换冲突。
先说初始潮流问题。Simscape Electrical里的同步电机模块在仿真开始时会根据你填写的“初始功角”“初始机端电压”自动计算初始状态,但两机系统的初始状态不是单独设置的,它依赖于整个网络潮流的正确性。我习惯先不给任何控制,运行0到5 s的时段,检查两台发电机的功率、母线电压是否稳定在期望值附近。如果看到一开始就有低频大摆动的趋势,说明初始稳态没有建立好,最常见的原因是两台发电机各自的调速器参考功率和励磁参考电压没有跟潮流匹配,需要回头检查负荷分配和发电机输出功率设定,而不是马上调控制器参数。
4.2 代数环和“零延迟”反馈问题
如果用自定义环节搭建SVC或PSS模型,尤其是把测量信号直接反馈到同一条母线的电压控制端,Simulink很可能会报代数环警告。原因是纯比例通道在同一仿真步内形成了输入到输出的瞬时依赖。处理办法要么在测量信号后面加一个极小惯性环节(比如时间常数1e-4 s的传递函数),把瞬时依赖打破;要么改用Simscape电气库现成的测量模块,它们内部往往已经做了去代数环处理。记住不要用很大的惯性时间常数,1e-4量级对结果影响可以忽略,但能解决代数环。
故障时间设置上也有一个容易踩的坑:Three-Phase Fault模块的transition times如果是[5.0 5.1],而仿真采用可变步长求解器,可能在离散事件切换瞬间出现步长急剧缩小,仿真运行很慢。这是正常现象,不用管它。但如果你用固定步长求解器,步长必须小于故障切换间隔的1/10,比如0.1 s故障持续时间内至少要有10个输出点,我惯用20 kHz采样率,固定步长50微秒,故障期间的电磁暂态细节能看得很清楚。缺点是仿真速度偏慢,所以日常参数调试我切换回可变步长ode23t。
4.3 功角曲线毛刺和读取错误
两机系统里转子角信号直接读出来的波形经常带毛刺,尤其是故障切除瞬间,这是因为转子的电气位置信号中包含谐波和暂态分量。我建议不要直接用示波器显示原始转子角,而是用一阶低通滤波或者均值滤波处理后再画功角曲线。低通滤波时间常数取0.01 s上下,既能滤掉暂态毛刺,又不会把低频振荡信息抹掉。
另外一个常见错误,是把220 kV母线电压的相位当成发电机功角来显示。发电机端到高压母线之间有变压器,变压器存在相移和漏抗压降,母线电压相位跟发电机转子角根本不是一个量,用它算出来的Δδ会有明显的偏置,甚至在某些工况下相位误差达到十几度,直接影响第一摆峰值的判断。正确的做法是直接取同步电机模块输出端口里的“转子角”信号,两台的转子角相减。如果用的是物理模型端口,注意角度的单位是度还是弧度,我这里习惯统一转成度再画图。
4.4 参数整定的试错顺序
最后讲一下参数整定的顺序,这是我在跑这类模型时沉淀下来的操作流程,能少走很多弯路。
第一步,把PSS增益置0,SVC退出,先调发电机励磁和调速器,让无控制工况能稳定运行到故障前。第二步,投入SVC,只调电压外环PID,让电压恢复指标达到目标,这一步不用关心功角振荡衰减,只看母线电压。第三步,把PSS增益从0开始往上加,每加一步跑一次故障,观察Δδ曲线的包络衰减情况,直到阻尼效果明显且无高频抖动。第四步,SVC和PSS联调,此时可能出现单投时都不错、联合起来效果反而变差的交互问题,这时候不要急着调PI参数,先检查PSS输出信号是否因为相位补偿不足,在励磁通道引入了与SVC电压调节相反的动态,再针对性调整PSS相位补偿环节。
我还习惯在参数扫描时用MATLAB脚本批量跑sim函数,把关键参数写入工作区变量,然后循环仿真,自动提取每一组结果的功角峰值、电压最低点和稳定时间,绘制参数扫描曲线。这样比手动改参数再点运行高效得多。脚本里注意在每次sim之前要更新模型变量并关闭诊断暂停,避免仿真中途弹出错误对话框中断批处理。
这套模型做完之后,我最大的体会是:暂态稳定性研究里,控制器的价值不在于“加上就稳”,而在于知道它稳住了哪一段物理过程。SVC抬高电压,本质上是在故障周期里稳住电磁功率的传递通道;PSS注入阻尼,是在振荡过程里消耗转子摇摆的动能。两机系统把这两个维度同时摆到你面前,逼着你从物理角度去解读每条曲线,而不是只看一个“稳定”或“失稳”的结论。如果你后续想继续扩展,建议在这个平台基础上加装SVC的附加阻尼控制,或者把同步发电机换成双馈风机模型,看看新能源接入后对两机振荡模式的影响,模型的扩展空间非常大。