
前两年我调一个园区微网项目最难熬的就是离并网切换测试。第一次做并网转孤岛母线电压直接塌了个缺口储能变流器过流报警现场一群人围着录波器看半天才把故障点找出来。后来把控制策略从传统的PQ/Vf切换改成VSG算法类似的问题才算真正从根上解决。VSG全称虚拟同步发电机说人话就是让电力电子变流器在控制层模拟同步发电机的惯性和阻尼特性。对微网来说离并网无缝切换这套动作核心就是相角、频率和电压在两种运行模式之间的平顺过渡。这篇把VSG的原理、切换策略、参数整定和现场坑位完整过一遍适合微网控制工程师、电力电子方向的研究生以及正在为“切换那一下”头秃的同行。1. 先弄明白微网离并网切换为什么容易“闪断”甚至“炸机”1.1 并网与孤岛微网的两副面孔微网运行只有两种状态并网和孤岛。并网时微网通过公共连接点PCC和大电网连在一起电压和频率由大电网刚性支撑内部的光伏、储能往往按功率指令输出相当于跟着电网走。孤岛时PCC被断开微网与外部电网隔离系统内必须有一个或几个能独立撑起电压和频率的电源所有负荷的功率都要在微网内部平衡。这两种模式的本质差异在于“谁说了算”。并网时是电网主导逆变器只需要保证输出电流不过流、功率跟踪正确孤岛时是微网自己主导输出电压的相位、幅值、频率一旦没人管整个系统就会飘。模式切换不是拨个开关那么简单它涉及控制目标、参考值甚至控制环结构的变化而且这一切必须在几十毫秒内完成还不能让运行中的负荷感受到明显断电。我见过好多刚接触微网的工程师第一反应是“并网转孤岛把并网开关断开不就完了吗”。实际做起来根本不是这么回事。断开瞬间微网内所有分布式电源的输出功率和本地负荷不一定相等少了电网这个“大水池”母线电压和频率立刻开始波动同时原来在并网状态下的逆变器控制参考值还是按电网相位算的开关一断这个相位来源就消失或者突变控制器就会进入一种“失控打架”的状态。1.2 传统的“PQ切V/f”方案切换瞬间为什么容易出问题早期微网变流器多用PQ控制也就是定功率控制。这种控制方式适合并网模式因为它把逆变器当电流源看电压和频率都交给电网支撑自己只负责按指令输出有功和无功。问题是孤岛模式下没有电网支撑电流源根本无法建立电压因此传统方案里必须切换成V/f控制即电压源控制。问题就出在这个“切换”上。PQ控制工作时控制环以电网电压相位为参考输出的是电流V/f控制工作时逆变器要自己生成电压参考相位是内部积分产生的。两种控制器的状态量、参考坐标系、控制结构完全不一样切断开关那一刻如果直接切换控制器内部的PI饱和、相位跳变、电压参考突变全都冒出来。更直观地说并网开关两端就是两个电压源一侧是大电网另一侧是逆变器。合闸瞬间如果两者电压幅值、频率、相位不一致开关两端就会出现电压差。对于滤波电感来说这个电压差会硬生生地推出一股冲击电流大小大致是电压差除以感抗。数字能说明问题假设220V系统里相位差有10度开关两端电压差约38V如果滤波电感是0.2mH冲击电流理论上可以到600A左右超过额定电流好几倍。这就是为什么“直接合闸”在微网里基本是不可接受的操作。传统方案不是不能做切换而是必须在切换前额外做完“电压幅值一致、频率一致、相位一致”这三个条件。工程师一般会加同期装置去做预同步但同期装置和V/f控制是两套系统中间一旦配合不好合闸冲击依然很大。VSG算法出现后因为这个痛点被天然绕开了所以才在微网离并网领域火起来。1.3 无缝切换要满足的三个量化指标既然要“无缝”总得有个可量化的标准。我一般按三个维度去约束切换动作。第一是相角差。并网前逆变器输出电压相位和大电网A相电压相位必须基本一致。相位差是我在现场最看重的指标通常要求小于2到3度再大一点合闸冲击就明显上来了。第二是频率差。频率差反映的是相位变化的快慢一般要求小于0.2Hz左右。如果频率不一致即使某一瞬间相位差很小合闸后也会迅速产生新的相角差。第三是电压幅值差一般控制在5%以内这个相对好满足因为幅值环本来就比较直接。除了合闸前的稳态条件切换过程的动态指标也很重要。比如切换过程中母线电压跌落不能超过一定范围切换时间要控制在几十毫秒内冲击电流最好不要超过额定电流的1.5倍到2倍。不同类型的企业项目会有不同内部标准但核心逻辑一致。我自己在现场会用录波器把三个量全部抓出来看电网电压、逆变器输出电压和并网开关的合闸命令。只有三者对齐整个切换过程才能说是经得住考验否则光看“电流没炸”不算数电流尖峰在录波图里就是那根很不和谐的毛刺迟早要出问题。2. VSG算法怎么工作它是怎么模仿同步电机那颗“铁芯心脏”的2.1 转子运动方程惯性的来源同步发电机之所以在电力系统里能稳定运行一个重要原因就是转子本身有巨大的机械惯量。当系统负荷突变时发电机转子转速不会瞬间跳变而是在转矩平衡被打破后按一定速率逐渐变化这个“逐渐”为系统赢得了宝贵的调节时间。VSG算法的核心就是把这种机械惯量用电控的方式模拟出来。模拟的基础是转子的运动方程也叫摇摆方程。简化形式可以写成J × (dω/dt) (Pref − P) / ω0 − D × (ω − ω0)看着有点唬人拆开说就清楚。左边J是虚拟转动惯量dω/dt是角频率变化率代表“转速变化的阻力”。右边第一项是输入的机械功率折算成转矩第二项是输出的电磁功率折算成转矩第三项是阻尼项D是阻尼系数ω0是额定角频率。这个方程的意思就是当输入功率大于输出功率时转矩差让角频率上升反过来则下降。但因为有J在前面挡着角频率不会像开关那样啪一下跳变而是像重物一样缓慢加速或减速。这个“缓慢”对离并网切换太重要了它让切换过程的电压相位变化有了可控的斜率。2.2 有功-频率环和无功-电压环VSG的两条腿再往下看VSG控制里必不可少的是两个外环有功-频率环和无功-电压环。有功-频率环按上面那个运动方程工作。有功参考值Pref与实测功率P比较经过“虚拟转子”运算后得到角频率再积分得到电压相位。这个相位不是电网锁相出来的而是VSG自己的“转子位置”。孤岛模式下这个相位就是整个微网的相位基准并网模式下由于电网电压会通过锁相环和功率反馈影响VSGVSG最终会自动对齐到电网相位。无功-电压环相对简单通常是一个下垂关系E E0 n × (Qref − Q)这里的E是VSG输出基波电压幅值E0是空载电压n是无功下垂系数。当系统无功负荷增加、功率输出Q增大时输出电压幅值略微下降反之上升。这模拟的是同步发电机励磁自动调节的效果。有了幅值E和相位就能生成三相电压参考信号送到电压环和电流环最终产生PWM波。需要留意的是VSG只是外环的一部分真正的执行层是逆变器的电压电流双闭环。VSG负责告诉控制环“该输出一个什么样的电压”电流环负责把电流限制在安全范围内两者配合才能实现“电压源但不大电流冲击”的效果。2.3 为什么VSG天生适合做离并网切换早先做无缝切换比较头疼的是控制器结构不统一。VSG最吸引人的地方是它把并网和孤岛两种模式揉进了同一套控制方式里。不管PCC合没合上VSG始终以电压源方式工作始终由运动方程生成相位始终按有功无功下垂输出。切换时不需要改变控制环结构只是改变参考值和触发条件这就避免了我之前说的“PQ切V/f”那种断层。另外VSG自带惯性切换瞬间即使功率发生突变频率变化也是有限速率。传统方案里切换时刻电压参考可能突然重新赋值相位跳变很容易发生而VSG的相位是从运动方程积分来的天然平滑配合预同步和锁相可以让并网开关两端电压差在合闸前就压到很小。对比常见的下垂控制VSG多了J和D两个参数。下垂控制虽然也是电压源型但它直接用频率下垂关系生成频率相当于J0所以对功率阶跃的响应更硬更快切换瞬间的冲击也更锋锐。VSG有了惯性这个冲击会被“揉”成缓慢的变化给保护和控制留出缓冲时间。3. 基于VSG的无缝切换控制策略从预同步到模式重定向3.1 预同步控制主动向大电网“靠拢”VSG孤岛运行时相位完全由自己的运动方程积分产生。由于电网频率不可能和VSG频率严格一致时间一长两个相位差可能飘到任何角度。这种情况下直接合闸前面算过冲击电流可能非常大。所以做孤岛转并网必须要做预同步控制。预同步的思路很直白检测电网电压相位和VSG输出电压相位求差然后通过一个PI调节器生成附加频率修正量叠加到VSG的频率指令上让VSG的相位逐渐逼近电网相位。核心公式可以这么写ωref ω0 Δω_P Δω_sync其中Δω_sync Kp × Δθ Ki × ∫Δθ dt。当相位差大于零时附加频率为正VSG相位加快小于零时则减慢。只要环参数不激进几个周波内就能把相位差拉进几度以内。我建议预同步的合闸条件是“三个差”同时满足相位差小于2到3度频率差小于0.2Hz电压幅值差小于5%并且这些差要稳定保持几个周波不能只看一瞬间。否则断路器动作有延时瞬时满足不等于合闸时还满足。现场需要注意锁相环的问题。电网电压如果谐波含量高或者三相不平衡普通单同步锁相环得到的相位会有纹波导致相位差判断不准。我一般建议用基于正序提取的锁相方式比如双二阶广义积分器锁相环对畸变电压的适应能力更好。3.2 孤岛转并网与并网转孤岛的完整时序完整做一次孤岛转并网我习惯按五步走第一步确认并网指令启动预同步第二步等待相位差、频率差、电压差都满足条件并且稳定保持若干周期第三步给并网开关下发合闸命令第四步等开关反馈闭合后把预同步的附加频率去掉这个切除要平滑不能一跳第五步把VSG的有功参考从当前孤岛负荷功率斜坡切换到并网调度指令值再逐步增加输出。并网转孤岛的计划性切换又不同。要先给能量管理系统一个离网预告然后把VSG的有功参考降下来尽量接近当前实际输出避免分闸后出现大的功率缺口。接着发分闸指令开关断开后VSG立即转入孤岛模式电压参考相位就锁在分闸前那一拍不要让相位清零或者重新积分。最后由于原来并网时多余或不足的功率要靠微网内部消化VSG的频率会有一次暂态波动这是正常的只要不越限就可以。非计划性离网比这麻烦因为大部分时候检测到电网掉电是有延迟的。如果VSG还在并网模式下突然失去电网支撑输出电流会尝试注入外部故障网络或者因为缺少相位参考导致控制环崩掉。所以工程上会加一层快速“离网标志”逻辑一旦检测到电网异常立即锁存当前相位、切换模式、把功率参考重置为本地负荷匹配值动作越快越好。3.3 VSG在工程拓扑里的位置VSG在微网里一般承担“主电源”角色最常挂在储能变流器上。光伏和负荷可以按跟网模式工作但整个系统的电压频率基准由VSG提供。这种主从结构下离并网切换主要考验主电源从电源不需要做复杂的切换因为它们只要跟着本地电压走就行。如果是多台储能并联组成多主结构工程量会上升不少。每台VSG都要有自己的下垂曲线和虚拟阻抗否则并联环流会非常难看。这里必须同步考虑J、D、虚拟阻抗和功率分配权重不能每台都独立整定完往一起并。我在某项目里处理过两台VSG参数不一致结果切换后一台输出功率猛增另一台几乎不动折腾了整整三天。另外有一些工程会搭配静止无功发生器或电能质量治理装置。这些设备和VSG不冲突静止无功发生器补无功VSG负责建立电压和平衡有功。但注意静止无功发生器的电流环响应非常快切换瞬间如果也跟着调可能和VSG的动态打架应当在切换测试时把它的自动调节灵敏度适当降一降。4. 关键参数整定与工程化落地别让算法死在理想仿真里4.1 转动惯量J和阻尼系数D怎么算出来仿真里参数可以随便给现场必须算清楚。VSG参数里J和D是最绕不开的两个。先说J它决定了系统对功率阶跃时的频率变化率。简化计算时忽略阻尼从运动方程可以得到J ΔP / (ω0 × (dω/dt)max)举个例子一台500kW储能变流器额定频率50Hz如果允许满载功率阶跃时频率变化率不超过1Hz/s那么ΔP是500kWω0是100πdω/dt是2π rad/s²算下来J约为253 kg·m²。这个值换算成惯性时间常数H大约是25秒说明在该频率变化率要求下惯性偏大。工程上我们一般不会追求这么硬的约束很多项目取H在5到15秒之间也就是J会小不少频率变化率在1.5到3Hz/s之间。D的选取更偏稳态。它影响稳态频率偏差和暂态阻尼。从稳态来看如果允许满载时频率下跌0.5Hz根据 D ΔP / (ω0 × Δω)同样以500kW为例D大约是506 N·m/(rad/s)。如果文献里用的是功率阻尼系数数值会差一个ω0倍。现场换算时要特别注意单位我踩过这个坑在仿真里直接改了D结果频率稳态偏差完全不对查半天才发现两组定义差一个量级。实际工程调参不是一次定死。先按公式给初值然后带载阶跃观察频率变化率和超调量。如果频率变化率太陡加大J如果超调量大、振荡多加大D如果稳态频率偏差太大要减小下垂系数或者优化D。这个迭代过程在离网带负荷阶段就要做完。4.2 虚拟阻抗和滤波器的配合VSG输出到逆变器电流环之间通常还要加虚拟阻抗。虚拟阻抗不是物理电感而是在控制算法里构造的等效阻抗主要解决两个问题一是限制切换瞬间的冲击电流二是抑制多机并联环流。参数取值我一般按标幺值来。虚拟电阻可以取额定阻抗的0.02到0.05虚拟电感对应的基波感抗取0.05到0.1。数值上对一个500kW、380V的变流器额定阻抗大概0.29Ω虚拟电感感抗取0.03Ω左右折算成50Hz电感约0.1mH很小但在高频分量下能提供可观阻抗。取太大麻烦也明显虚拟阻抗会造成控制环输出点电压降落无功环会为了维持电压不断抬高电压幅值最后容易把无功功率带偏。虚拟阻抗和LCL滤波器参数也要配合。LCL的电容支路在高频处有谐振点如果不做有源阻尼VSG的电压环很容易在这个频段振荡。工程里最简单的方法是加电容电流有源阻尼也就是把电容电流反馈到调制波里把谐振峰压下去。做完这项之后再做VSG参数整定才有意义否则电流环一抖动外环参数根本没法评估。4.3 从仿真到现场控制周期、采样、锁相和模式锁存的实现细节仿真里的“无穷小步长”和现场的控制周期完全是两码事。VSG外环不需要跑得像电流环那么快我一般把VSG的运算放在1ms周期里执行电流环放在50到100us周期里执行。外环慢一点问题不大因为运动方程本身模拟的就是一个慢变过程真实同步电机的转子时间常数远远比电路快动态慢。但预同步的PI环需要响应速度所以建议也放在1ms或更快的任务里不要放在低频后台任务。相角的锁存是个容易忽略的细节。很多代码在模式切换时会对某个状态清零比如积分器清零、相位清零。一旦切换瞬间相位清零输出电压参考就会跳变冲击电流跟着来。正确做法是模式切换那一刻把当前VSG相位值保存下来后续孤岛模式的波形生成继续从这个锁存值开始。锁相环的输出在并网模式下要用于电压和功率计算但在孤岛模式下不能当作相位指令。我见过一个程序并网转孤岛后锁相环因为电网失压输出乱跳VSG又去跟踪锁相环结果频率一路飙高。正确的逻辑是给锁相环异常加一个锁存和失效标志检测到孤岛后锁相环输出只用来做异常监视不再参与VSG相位闭环。5. 现场实录常见问题与排查方法5.1 合闸瞬间为什么总有电流尖峰这是做离并网切换被问得最多的一个问题按我的经验原因基本逃不过三个。第一个是预同步没有真正收敛。很多代码里合闸条件就写了一个相位差阈值但没检查频率差。实际调的时候会发现某一瞬间相位差过了阈值但两个频率还有偏差合闸指令下发到断路器闭合这段时间里相位又拉开好几度。所以合闸条件一定要“三差”同时满足且持续几个周波。第二个是断路器动作时间带来的相位漂移。从发合闸命令到机械触点闭合少说也有20到50ms。如果VSG相位在等待期间继续自由积分和电网相位的偏差又会变大。解决思路就是我在前面提到的预同步完成前要把VSG频率锁定到电网频率让相位差保持在零附近不动或者根据开关固有合闸时间提前预判在相位跨过零点的前一刻发命令。第三个是电网电压畸变导致锁相环在合闸前突然跳一个角度。畸变电压换相、切负荷、补偿设备投切都会造成锁相环相位抖动如果合闸条件刚好卡在抖动窗口合上开关就出毛刺。这个没有灵丹妙药提高锁相鲁棒性是唯一办法包括带宽、前馈滤波器、正序分量提取。我建议合闸条件里把相位差的历史包络也算进去如果最近几个周波内相位差超过阈值就不允许合闸。5.2 被动离网失败VSG频率变化慢导致孤岛检测迟钝非计划性离网依赖孤岛检测。传统被动式检测看电压幅值、频率和相位跳变但VSG算法带惯性频率变化被J拖慢单纯靠过频或欠频去判断孤岛动作时间很可能超过并网标准的时限要求。这个矛盾很多人没反应过来VSG的“好处”在孤岛检测这里反而成了“坏处”。对策一般是多种判据组合。电压幅值变化率、相位跳变、频率变化率都拿过来做辅助判据任何一个触发就快速进入离网模式。有些现场还做主动式孤岛检测比如周期性注入微弱无功扰动检测频率响应但主动式会带来电能质量扰动而且在多台VSG并联时容易互相干扰。如果项目允许我更倾向于用通信方案也就是由并网点的监测装置直接下发离网信号这是最快最可靠的。这里要特别强调J不是越大越好。过大的惯性时间常数不仅让孤岛检测更慢也让切换后的暂态频率偏移更长时间无法恢复。我的习惯是先把满足并网标准的检测时间留出来再反推J的上限而不是追求频率变化率越慢越好。5.3 直流侧和能量管理的配合问题有些切换失败并不是VSG算法本身出问题而是直流侧能量跟不上。孤岛模式下如果本地负荷突然增加储能要瞬间多输出功率但电池管理系统有功率限幅直流母线电压直接往下掉。VSG看到母线电压掉功率上不去频率接着掉最后低压保护跳闸。现场排查不能只盯交流侧直流母线电压曲线和功率限幅曲线一定同时看。我在项目中给直流侧加了一个“功率限幅预测”功能能量管理在切换前把当前负荷功率、电池可放功率、直流母线电压都发到VSG控制器VSG根据这个信息预先设定功率爬坡上限。如果直流侧能量不够宁可让VSG稍微限功率也要先把直流支撑稳住再一步一步将频率恢复到正常。这样切换过程难看一点但起码不会跳闸。5.4 现场调试流程和录波建议最后把我觉得最顺的调试流程摆出来给第一次做VSG离并网切换的同行一个参考。第一步单机离网空载运行把电压环、电流环和VSG基本参数跑稳定。第二步离网带阻性负载做50%和100%功率阶跃记录频率变化率和电压恢复时间按前面的思路调J和D。第三步增加感性负载和一定不平衡负载看电压谐波和三相平衡必要时加虚拟阻抗。第四步在模拟电网平台或背靠背装置上做预同步和合闸测试先轻载、小功率逐步升到额定。第五步并网运行稳定后做主动离网和外部故障模拟观察切换瞬间的电压跌落、电流尖峰、切换时间。录波通道至少要包含电网电压、VSG输出电压、三相输出电流、并网断路器分合闸状态、锁相环输出的电网相位、VSG内部相位、直流母线电压、有功功率指令和实际功率。没有这些数据出了问题只能靠猜猜是最慢的排查方式。我一开始会把所有通道全开哪怕慢速录波也没关系先抓到第一次切换的完整波形。等确认没问题再收窄通道、提高采样率专门盯着关键毛刺看。5.5 写在最后的实操体会我把VSG从仿真搬到现场最大的感受是它给出的不是“万能解”而是一个把切换问题转化成参数和时序问题的框架。真正决定成不成还是预同步是否收敛、模式锁存逻辑是否可靠、触发时序是否考虑断路器延时这三件看似不起眼的事。J和D的初值可以算出来但一定要在带载阶跃里验证仿真波形再漂亮都不如实测那几下“咔嗒”声来得真实。如果你也在做类似的微网切换项目建议在实验室里把所有异常工况都过一遍尤其是电网畸变和被动离网这两关过了现场切换基本就稳了一大半。