
1. 为什么要在Simulink里折腾虚拟同步机新能源并网这件事绕不开一个核心矛盾风电、光伏这类电源通过电力电子变换器接入电网本身没有传统同步发电机那种转子惯性。电网频率一旦波动它们响应太快、太硬反而容易把系统推向失稳。虚拟同步机VSG技术就是给这些变换器装上一套模拟同步机的控制逻辑让它们在电气特性上表现得像一台有惯量、有阻尼的同步发电机。我最初接触这个方向是因为一个模拟项目里需要验证多台逆变器并联时的频率支撑能力。当时用纯理论推导算了一遍发现小信号模型在弱电网条件下跟实际仿真偏差不小于是老老实实回到Simulink里搭模型。这篇内容就是把我从零搭一套VSG并网仿真模型的过程、踩过的坑、以及几个关键参数的整定思路完整梳理出来。适合谁看如果你已经会用Simulink搭基本的电力电子模型对Park变换、锁相环、电流环有概念但没系统做过VSG那这篇基本能让你照着走一遍。如果你是完全的新手建议先把三相逆变器的平均模型跑通再回来不然容易在坐标变换那一层就卡住。核心关键词先摆出来虚拟同步机、新能源并网、惯量支撑、有功-频率控制、无功-电压控制、Simulink仿真。这几个词贯穿全文后面每个章节都会围绕它们展开。2. 整体方案设计与思路拆解2.1 VSG到底在模拟什么传统同步发电机之所以能稳住电网频率靠的是转子运动方程。转子有物理惯量频率变化时转子转速不会突变这个慢半拍的特性就是惯量支撑的来源。VSG的核心思路是在逆变器的控制环里用一套数学方程复现这个行为让逆变器对外呈现出虚拟惯量和虚拟阻尼。具体到控制结构VSG通常包含三层最外层是有功-频率环和无功-电压环负责模拟同步机的调频调压特性中间层是虚拟阻抗和电压电流双闭环负责把外环给出的指令变成实际的PWM驱动信号最底层是逆变器主电路和滤波环节。这三层的关系你可以理解成大脑-神经-肌肉外环决定往哪走内环负责走得稳主电路负责真正出力。我选择在Simulink里做这件事理由很直接VSG涉及机电暂态和电磁暂态的耦合纯靠手算很难看清动态过程而Simulink的Simscape Electrical工具箱里有现成的逆变器、滤波器和电网模型能把精力集中在控制策略上。另一个原因是Simulink支持从平均模型快速切到开关模型方便先验证控制逻辑再评估开关损耗和谐波。2.2 为什么选这个控制架构而不是别的VSG的实现有几种常见路线一种是直接模仿同步机的二阶或三阶模型把转子运动方程和励磁方程搬过来另一种是基于下垂控制做改进在下垂环里加入惯量项。我最终选的是二阶转子运动方程加下垂特性的混合结构原因有三。第一纯下垂控制响应快但没有惯量频率跌落时支撑不够柔而纯同步机模型参数多、整定复杂对新手不友好。混合结构保留了转子方程里的惯量和阻尼两个可调参数同时用下垂系数处理稳态功率分配调参时有明确的物理意义。第二二阶模型在Simulink里实现起来干净。转子运动方程就是两个积分环节加反馈用基础模块就能搭不需要额外的工具箱支持移植性强。第三这个结构对弱电网的适应性更好。我在模拟项目里对比过纯下垂方案在短路比偏低的场景下容易和锁相环产生耦合振荡而加入虚拟惯量后系统的相位裕度明显改善。注意这里说的弱电网指的是电网阻抗较大、短路比偏低的场景不是指某个具体电网纯粹是仿真里的参数设定。2.3 仿真模型的整体分层整个Simulink模型我分成四个子系统用Subsystem模块封装方便单独调试主电路子系统直流源、三相全桥逆变器、LC滤波器、并网点。VSG控制子系统有功-频率环、无功-电压环、虚拟阻抗。内环控制子系统电压外环、电流内环、Park变换与反变换。测量与信号处理子系统电压电流采样、锁相环、功率计算。这样分层的好处是调试时可以先断开VSG外环用固定指令跑通内环确认电流跟踪正常后再逐层接入。我见过不少人一上来就把整个闭环搭完结果一出问题根本不知道是哪一层的事排查起来非常痛苦。3. 核心细节解析与实操要点3.1 转子运动方程的离散实现VSG的有功-频率环核心就是转子运动方程J·dω/dt Pm - Pe - D·(ω - ω0)其中J是虚拟惯量D是虚拟阻尼Pm是机械功率指令Pe是电磁功率ω是虚拟角频率ω0是额定角频率。这个方程在Simulink里用两个积分器串联实现第一个积分器把功率差除以J得到角频率偏差第二个积分器把角频率积分得到功角。这里有个细节很多人会忽略积分器的初始条件。如果初始功角设成0仿真启动瞬间会有一个功率冲击。我的做法是把初始功角设成稳态工作点对应的值具体算法是先根据额定功率和电网电压反推功角再填进积分器初值。这样启动过程平滑不会出现电流尖峰。另一个要点是J和D的取值。J越大频率响应越慢、惯量支撑越强但太大容易导致功率振荡D越大阻尼越强、振荡衰减越快但太大会增加稳态误差。我一般先按J 2H·S/ω0²估算H取3到5秒模拟同步机的惯性时间常数S是逆变器容量然后再根据仿真波形微调D让功率阶跃时的超调控制在10%以内。3.2 无功-电压环的耦合问题无功-电压环相对简单本质是一个带积分环节的电压调节器输出的是虚拟电动势幅值指令。但这里有个坑有功环和无功环通过功角耦合如果两个环的带宽太接近会互相干扰。我的处理办法是把无功环的积分时间常数设得比有功环大一个数量级让两个环在频域上拉开距离。具体来说有功环的等效带宽大概在几十赫兹量级无功环压到几赫兹。这样有功动态过程中无功环基本跟不上不会产生明显的耦合振荡。还有一点虚拟电动势的幅值指令要限幅。我设的是额定电压的0.9到1.1倍防止无功环在暂态过程中把电压指令推到不合理范围导致内环饱和。3.3 虚拟阻抗的作用与整定虚拟阻抗是VSG里容易被低估的一环。它的作用是在控制上模拟一个串联阻抗改善多机并联时的功率分配精度同时抑制环流。实现方式是在电压指令上减去一个与电流成正比的压降Vref E - Zv·I。Zv的取值有讲究。取太小多机之间的功率分配受线路阻抗差异影响大取太大会削弱电压支撑能力还会影响稳定性。我的经验值是取实际线路阻抗的0.5到1倍感性和阻性分量按线路的阻抗角分配。在Simulink里这个环节用一个增益模块加一个减法器就能实现但要注意电流的采样要经过滤波否则开关噪声会直接串进电压指令。提示虚拟阻抗的引入会改变系统的等效输出阻抗整定完虚拟阻抗后内环的PI参数最好重新校核一遍不然可能出现相位裕度不足。3.4 锁相环的带宽取舍锁相环PLL在VSG里扮演的是电网同步的角色提供电网电压的相位基准。PLL的带宽是个两难带宽高动态响应快但对电网电压的谐波和不对称更敏感带宽低抗干扰强但动态跟踪慢。我一般把PLL带宽设在电网基频的十分之一左右也就是5到6赫兹。这个带宽下PLL对基频附近的扰动有足够的抑制同时动态跟踪不至于太迟钝。在Simulink里PLL可以用自带的PLL模块也可以自己用Park变换加PI搭我倾向自己搭因为可以清楚地看到每个环节的信号调试时心里有数。4. 实操过程与核心环节实现4.1 主电路搭建与参数选择主电路从直流源开始。我设直流母线电压为800V这个值要满足并网电压的要求并网相电压峰值约311V对应220V有效值加上滤波器和线路压降直流侧至少要700V以上才能保证调制比合理。800V留了一定裕度调制比大概在0.8左右线性调制区工作。逆变器用三相全桥开关器件先用理想开关做平均模型验证控制逻辑后再换成带开关损耗的模型。LC滤波器的参数滤波电感Lf取2mH滤波电容Cf取20μF。这两个值的选取依据是截止频率要远低于开关频率、远高于基频。开关频率设10kHzLC截止频率算下来约800Hz落在基频50Hz和开关频率10kHz之间滤波效果和动态响应比较平衡。并网点通过一个线路阻抗接到电网线路电感取1mH、电阻取0.1Ω模拟一个短路比中等的并网场景。这个参数在后续做弱电网对比时会调整短路比降低时把线路电感加大。4.2 控制环的搭建顺序搭建顺序我坚持从内到外先搭电流内环再搭电压外环最后接VSG外环。每一步都单独验证。电流内环用dq坐标系下的PI控制d轴和q轴各一个PI。PI参数按典型I型系统整定电流环带宽取开关频率的十分之一约1kHzPI比例系数按Kp Lf·ωc计算积分系数按Ki R·ωc计算R是电感等效电阻。整定完跑一个电流阶跃看响应时间是否在1ms左右、超调是否小于5%。电压外环同样在dq下做PI带宽取电流环的五分之一约200Hz。这里要注意电压外环的输出是电流指令必须限幅防止内环过流。我设的限幅值是额定电流的1.5倍。内环都跑通后再接VSG外环。外环输出的是电压幅值和相位指令送给电压外环作为参考。接入时先把VSG的惯量设成很小、阻尼设成很大相当于退化成下垂控制确认功率能正常跟踪后再逐步加大惯量、减小阻尼观察动态过程。4.3 功率计算的滤波处理电磁功率Pe的计算是VSG外环的输入算法是三相电压电流的瞬时功率。但瞬时功率里含有二倍频脉动直接送进转子方程会让虚拟角频率跟着抖。我的做法是加一个低通滤波器截止频率设在二倍频以下比如20Hz。滤波器的阶数用一阶就够二阶会引入额外相移影响外环稳定性。滤波后的功率再送进转子方程波形就干净多了。这个细节在教科书里往往一笔带过但实际仿真里不加滤波功率波形会抖得没法看。4.4 仿真步长与求解器设置VSG模型里既有电磁暂态开关过程又有机电暂态转子动态时间尺度差得远。用平均模型时步长可以设大一些我一般用变步长求解器ode23tb最大步长设1e-4秒。切到开关模型时步长必须小于开关周期的十分之一10kHz开关频率对应步长上限1e-5秒我通常设5e-6秒保证开关边沿采样准确。仿真时长方面做启动过程看2秒做功率阶跃看5秒做频率扰动看10秒。时长设太短看不到稳态设太长又浪费时间按验证目标来定。5. 常见问题与排查技巧实录5.1 启动冲击电流过大这是最常见的第一个坑。现象是仿真一开始并网电流出现一个远大于额定值的尖峰。原因通常是VSG的初始功角和电网实际相位不匹配或者积分器初值没设对。排查思路先看锁相环输出的相位和电网相位是否对齐再看VSG积分器的初始功角。我的解决办法是加一个预同步环节启动前先把VSG的虚拟电动势相位慢慢拉到和电网一致再闭合并网开关。预同步过程大概持续0.5秒用一个小增益的PI把相位差调零。5.2 功率振荡不衰减功率阶跃后振荡一直不收敛说明阻尼不够。先检查D的取值是不是太小再检查虚拟阻抗是不是引入了额外的谐振点。我遇到过一次虚拟阻抗的感性分量设得过大和LC滤波器产生了低频谐振把虚拟阻抗减小后振荡就消失了。还有一种可能是PLL和VSG外环的带宽太接近两者耦合。把PLL带宽降低或者把VSG外环带宽提高拉开频率距离通常能解决。5.3 弱电网下失稳短路比降低后系统失稳表现为电流发散或者功率大幅波动。这是VSG在弱电网下的典型问题根源是PLL在弱电网下等效负阻尼。缓解办法有几个降低PLL带宽、增加虚拟阻抗的阻性分量、适当减小VSG惯量。我在模拟项目里试过把PLL带宽从6Hz降到3Hz短路比2.5的场景下系统就能稳住。5.4 常见问题速查表现象可能原因排查方向处理办法启动电流尖峰初始功角不匹配查PLL相位与积分器初值加预同步环节功率振荡不衰减阻尼不足或谐振查D值、虚拟阻抗加大D、调整Zv弱电网失稳PLL负阻尼查短路比与PLL带宽降PLL带宽、加阻性虚拟阻抗电压指令饱和无功环限幅过窄查限幅值放宽到0.9-1.1倍功率波形抖动未滤二倍频查功率计算环节加20Hz低通滤波注意以上参数都是针对我自己的仿真场景换容量、换电压等级后要重新整定不能直接照搬。6. 参数整定的经验与扩展方向6.1 惯量和阻尼的配合整定J和D不是独立调的它们共同决定二阶系统的动态特性。我的做法是先把D设成一个中等值调J看响应速度再回头调D看超调。具体判据功率阶跃时上升时间在0.1到0.2秒之间比较合适超调控制在10%以内调节时间不超过0.5秒。有个经验公式可以参考把VSG等效成一个二阶系统自然频率ωn sqrt(1/(J·ω0))阻尼比ζ D·ω0/(2·sqrt(J·ω0))。先按想要的ωn和ζ反推J和D再在仿真里微调。我一般取ζ在0.6到0.8之间兼顾响应速度和超调。6.2 从平均模型到开关模型的过渡平均模型验证完控制逻辑后切开关模型时要注意两点一是开关死区要加上不然桥臂直通二是电流采样要加滤波开关噪声会污染采样信号。切过去之后先看电流波形是否正弦、THD是否在合理范围我一般要求5%以下再看功率跟踪是否和平均模型一致。6.3 后续可以扩展的方向这套模型跑通后可以往几个方向扩展一是多机并联验证功率分配和环流抑制二是加入储能环节做VSG的调频调压综合支撑三是模拟电网故障看VSG的低电压穿越能力。每个方向都是在现有模型上加子系统不用推倒重来。我在实际搭这套模型的过程中最大的体会是VSG的难点不在单个环节的实现而在各环节之间的配合。转子方程的惯量、虚拟阻抗的取值、PLL的带宽这三个参数互相牵制调一个往往要动另外两个。所以别指望一次调好准备好反复迭代的心态每改一次参数就存一版模型方便回退对比。另外仿真波形一定要存下来光看曲线不记录参数过两天就忘了当时改的是什么这个习惯能省很多重复劳动。