资讯动态

VSG虚拟同步发电机在微网离并网无缝切换中的应用与调试解析

发布时间:2026/10/13 11:50:49 来源:尧图企业网站定制
刚做完一个微网离并网切换项目的调试趁着思路还热乎把VSG虚拟同步发电机算法这套东西从头梳理一遍。做微网的人都知道离并网切换这四个字看着简单真正在现场做到“无缝”两个字难度完全不是一个量级。本文围绕VSG算法在微网离并网无缝切换中的核心应用展开包含原理拆解、参数整定、预同步实现和现场踩坑记录适合正在做微网控制、储能变流器开发或者对虚拟同步机技术感兴趣的同行参考。1. 为什么偏偏是VSG微网离并网切换里的两道坎1.1 微网两种运行模式的本质差异微网这东西本质上就是一个小型电力系统通过一个公共连接点PCC跟大电网相连。运行模式分两种并网模式和孤岛模式。并网模式下电压和频率由大电网撑着微网里的逆变器基本处于“跟跑”状态。你只需要把功率送出去就行电压波形、频率基准都不用自己操心。这时候逆变器一般跑PQ控制或者直接给定有功无功指令。孤岛模式下情况完全反过来。大电网脱开了微网里没有任何“强援”逆变器必须自己建立电压和频率所有本地负载都得靠微网里的分布式电源扛起来。这时候需要的是V/f控制即电压幅值和频率都由逆变器自己给定。问题的根源就在这两种模式下控制策略不同切换的时候必然面临控制器的重构和参考量的跳变。一旦处理不好电压跌落、电流冲击、频率振荡就会接踵而来严重的情况下直接导致切换失败微网崩溃。1.2 传统切换方案为什么“不平滑”传统的做法很直接并网时用PQ控制孤岛时切到V/f控制。这种方案的思路没问题但工程实现上坑很多。先说模式切换瞬间。PQ控制时电流环的参考值是由功率指令算出来的它并不关心输出电压是多少。而V/f控制要直接控制电压幅值和频率两个控制器的输出变量都不一样。切换瞬间如果积分器状态没有处理好电压指令会发生阶跃结果就是电感电流瞬间冲高甚至触发过流保护。再说暂态的功率分配。并网状态下PV或者储能逆变器只管按指令出功率负载的波动主要由大电网吸收。突然变成孤岛后大电网这个“无底洞”没了逆变器必须在几个毫秒内接管负载。但传统V/f控制器没有惯性频率和电压在扰动下变化极快动态响应很难压住。还有一个更隐蔽的问题是切换判据。现场做切换靠的是检测PCC处的电压、频率判断大电网是否失电。判断时间加继电器动作时间再加上控制器的响应时间整个切换过程少说有几十毫秒的真空期。在这个真空期里微网内的电压和频率完全失去控制。1.3 VSG的统一控制框架带来的优势VSG解决这个问题的思路很巧妙它把同步发电机的转子运动方程搬进了逆变器的控制算法里让逆变器对外表现出类似同步发电机的外特性包括惯性和阻尼。这样一来并网和孤岛两种模式下VSG的核心控制结构是一样的只是外环参考值略有变化不存在根本性的控制器重构。并网状态下VSG通过功率环自动跟踪电网电压的频率和相位还能根据指令输出有功无功表现的是一个“受控电压源”的特性。孤岛状态下不需要切换控制策略VSG自然就承担起建立电压频率的责任。切换过程天然比“PQ切V/f”平滑得多。这一点是VSG在微网应用中最核心的价值用一套算法同时覆盖两种运行模式规避了传统方案的模式切换冲击问题。后面几节详细拆解这个算法到底怎么工作。2. VSG核心算法给逆变器装一对看不见的“飞轮”2.1 从同步发电机转子运动方程说起VSG算法的源头是同步发电机的转子运动方程。真机的转子有实实在在的转动惯量电磁转矩和机械转矩不平衡时转速不会突变而是按惯性慢慢变化。这个过程用方程表达就是J × dω/dt Tm - Te - D(ω - ω₀)其中J是转动惯量ω是电角速度Tm是机械转矩Te是电磁转矩D是阻尼系数ω₀是额定角速度。放到VSG里物理转子不存在但方程照搬。我们把并网指令给定的有功功率折算成“虚拟机械转矩”把逆变器实际输出的有功功率折算成“虚拟电磁转矩”然后对这个方程积分得到的就是虚拟角速度ω。再积分一次得到虚拟相位θ。这个θ就是逆变器输出电压的相位参考。关键点在于这个方程天然具有惯性特性。电网频率波动或者功率突变的时候虚拟角速度不会瞬间跳变而是以J决定的速率平滑变化。这就给微网提供了宝贵的“惯性支撑”频率变化率ROCOF被显著压低整个系统的抗扰动能力提高了一大截。2.2 VSG整体控制环路拆解实际工程里用的VSG不只是一个转子方程而是一整套分层控制结构。从外到内大致分为四层第一层是有功-频率环。输入是有功功率指令Pref和实际输出有功Pe通过转子运动方程计算出虚拟角速度。这一环决定了VSG的惯性和阻尼特性。第二层是无功-电压环。输入是无功功率指令Qref和实际输出无功Qe经过一个积分或者比例积分环节得到虚拟电动势的幅值E。它模拟的是同步发电机的励磁调节特性。第三层是电压参考生成。把幅值E和相位θ合成为三相电压参考值。如果需要还可以叠加一个电压下垂系数让VSG在孤岛模式下具备多机并联运行的能力。第四层是电压电流双闭环。电压外环跟踪第三层生成的电压参考电流内环为电感电流提供快速控制最终生成PWM调制波。这一层跟传统逆变器控制没有实质区别。整个控制链路的信号关系是功率环出相位和幅值电压参考生成模块出三相参考波双闭环负责跟踪。任何一个环节的带宽和限幅设置不当都会直接影响切换的动态表现。2.3 J和D两个参数在切换动态里的角色J和D这两个参数表面上是转子方程里的两个系数实际它们分别刻画了系统的“惯性”和“阻尼”。理解它们的物理意义是整定参数的前提。J的作用是延缓频率变化。J越大虚拟转子越“重”同样的功率扰动下频率变化越慢对系统冲击越小。但J太大也有副作用频率响应变慢功率环的动态性能下降极端情况下会出现长时间的低频振荡。D的作用是衰减振荡。D越大振荡衰减越快稳态频率偏移也越大。因为D对应的阻尼转矩跟转速偏差成正比它本质上是一个“摩擦项”。孤岛模式下如果D比较小负载突变后VSG输出频率可能反复震荡好几次才稳定下来这对敏感负载来说是不可接受的。J和D不是彼此独立的。系统的阻尼比ζ和自然振荡频率ωn都跟J、D相关工程上一般先把J按频率变化率要求确定下来再结合期望的阻尼比反推D。具体整定方法放在第五节细讲。3. 离网转并网预同步控制是“无缝”的关键一步3.1 并网冲击的根源电压矢量差微网从孤岛切回并网最大的风险是什么是合闸瞬间的电流冲击。原因很简单并网开关两端如果存在电压差就等于把一个电压源直接接到另一个电压源上。假设两边的电压幅值差是ΔU系统等效阻抗是Xs合闸瞬间的冲击电流大致就是ΔU/Xs。微网内部的线路阻抗一般很小哪怕只有5%的电压幅值差冲击电流也可能达到额定电流的好几倍直接把并网开关或者逆变器打坏。电压差包含了三个方面幅值差、频率差、相位差。三者之中相位差的影响最敏感。频率差会导致相位差随时间持续变化所以归根结底并网前必须把VSG输出电压的相位、频率、幅值都跟电网侧对齐。这套对齐过程在工程上就叫预同步控制。3.2 相位/幅值预同步的工程实现预同步控制做得对不对直接决定并网是否“无缝”。实现上分三个环节。先看频率和相位同步。VSG发出的频率是虚拟角速度并网前需要把它微调向电网频率靠拢。工程上的做法是实时检测电网侧电压相位θg和VSG输出电压相位θv求相位差Δθ θg - θv。这个差值经过一个PI调节器输出频率修正量Δω叠加到VSG的有功-频率环上。PI的输出不停修正VSG的虚拟角速度直到Δθ收敛到零附近。注意这里的相位差要在αβ坐标系或者dq坐标系下运算避免直接用角度相减出现跨周期跳变。我习惯的做法是把两个电压都变换到静止坐标系用sin(Δθ)作为误差信号。小角度下sin(Δθ)近似等于Δθ而且天然规避了2π周期翻转的问题。再看幅值同步。检测电网电压幅值Ug和VSG输出电压幅值Uv求差值ΔU Ug - Uv经过另一个PI调节器输出幅值修正量叠加到无功-电压环的参考值上。跟相位环一样这个修正量在预同步期间持续作用直到幅值差满足要求。关于预同步的速度得说两句。相位环的PI参数不能调得太快否则相位修正过猛会导致频率超调反而让相位差来回震荡。一般来说预同步时间控制在1到3秒比较合适既不耽误投切节奏也不至于产生频率过冲。3.3 并网开关合闸的时序逻辑预同步做完剩下就是合闸时序。看似简单实际上这里最容易出问题。标准的合闸逻辑是收到并网指令后启动预同步控制把ΔU和Δθ作为调节目标持续修正。检测ΔU和Δθ当幅值差小于阈值例如额定电压的5%、相位差小于阈值例如3度以内时输出“允许合闸”信号。合闸信号经过并网开关的延时后动作开关闭合。开关合闸后退出预同步修正量平滑过渡到正常的并网运行状态。这里有两个工程细节必须注意。第一合闸判据的阈值不能只看瞬时值最好加一个持续时间确认比如连续20ms满足条件才算数避免因瞬时扰动导致的误合闸。第二预同步修正量退出的过程要做渐变处理不能把PI输出直接清零。否则等效于给功率环一个阶跃扰动合闸瞬间照样会出现电流冲击。4. 并网转离网切换瞬间的功率平衡与电压维持4.1 并网状态下VSG的工作特点先理清并网状态下的功率流向。并网时VSG输出的有功功率等于本地负载消耗的功率加上馈入电网的功率。如果本地负载小VSG就有大量功率送往电网如果本地负载大电网反过来给微网送功率。VSG在并网状态下的频率表现很有意思。由于转子的运动方程VSG的输出频率不会跟电网频率完全一致而是存在一个由功率差决定的偏差角。简单说VSG注入电网的功率越大它的虚拟功角就越大但频率最终被电网“钳制”在额定值附近。这种特性在切换时非常重要。并网期间VSG跟电网之间是有功率交换的而且这个功率交换量的大小决定了离网瞬间的暂态行为。这是我后面反复强调的一个点很多切换失败案例的根源就藏在这里。4.2 断网瞬间发生了什么当上级电网发生故障或者计划性断电PCC处的开关断开微网进入孤岛状态。这时候VSG面临的情况是负荷功率突然全部压到自己身上。举例说明。假设微网内本地负载只有30kWVSG并网时输出100kW多余的70kW送到了电网。开关断开瞬间那70kW没有地方去了VSG的输出功率瞬间从100kW降到30kW才能维持功率平衡。但VSG的功率环不可能瞬间反应过来在暂态过程中输出的多余功率无处释放只能体现在频率上升上。反过来也一样。如果本地负载是120kWVSG只输出80kW缺的40kW由电网提供。开关断开后这40kW的缺口突然消失VSG的输出功率必须立刻从80kW跳到120kW频率会先跌一下再爬回来。这恰恰是VSG的用武之地。有虚拟惯量在频率的突升突降被延迟和柔化给了功率环调整的时间。如果用的是传统V/f控制没有惯性频率变化率会非常猛切换瞬间的暂态电压和频率可能直接触发保护。4.3 模式切换的“无扰”处理细节并网转离网表面上只是开关动作了一下但控制器内部要处理的事情比离网转并网更隐蔽。这里分享几个必须做好的细节。第一参考频率的连续性。离网前的瞬间VSG的频率可能跟额定频率有微小偏差。如果离网后直接把频率参考设为额定值这个偏差就是一个阶跃会诱发功率环的振荡。正确的做法是离网时刻把当前的虚拟角速度保持下来作为参考值然后再缓慢过渡到额定值。这个“缓慢过渡”可以做一个一阶低通时间常数设置为0.5到1秒极少数情况下可以更快。第二功率指令的平滑切换。并网时VSG的功率指令由能量管理系统或调度给定离网后这个指令不再适用需要切换成孤岛模式下的功率策略。切换的瞬间功率指令的跳变要用斜坡或者低通处理避免给功率环一个阶跃扰动。第三电压幅值的稳定。离网瞬间如果VSG此前向电网输送无功无功指令的突然变化会导致输出电压幅值波动。同样需要把无功-电压环的参考量做平滑处理或者把功率指令切换为按本地负载跟踪的模式。第四积分器记忆问题。所有的PI调节器、虚拟转子方程的积分器在切换前后要保持状态的连续性。不要因为模式标志位变了就重置积分器也不要让上下两个周期之间的积分初值发生突变。很多“切换后电压跳一下”的问题最后查到根子上都是积分器初始化不当。5. VSG参数怎么定J和D的整定流程与实例5.1 转动惯量的选择逻辑J的物理意义是虚拟转子的“重量”。工程整定时我更习惯用一个更直观的指标频率变化率约束。假设VSG的额定功率是S_N额定角频率是ω₀切换瞬间的功率突变是ΔP。根据转子运动方程忽略阻尼项频率变化率dω/dt跟功率差值之间的关系是dω/dt ΔP / J把这个关系换算成赫兹每秒的形式再反解JJ ΔP / (2π × df/dt)于是设计流程变成先确定系统允许的最大频率变化率再估算最恶劣情况下的功率突变两者一除就知道J要取多少。有个经验数值供参考实际微网工程中孤岛切换瞬间的频率变化率一般控制在0.5到2Hz/s以内。如果算出的J偏大要综合考虑系统能否接受较慢的频率响应以及功率环的稳定性。5.2 阻尼系数的整定方法D的整定逻辑跟J不太一样。D影响的是两件事振荡衰减速度和稳态频率偏差。先看稳态关系。孤岛模式下VSG承担全部负载。假设负载从空载变到满载功率变化量是S_N如果允许的稳态频率偏差是Δf_allow那么D S_N / (2π × Δf_allow)比如允许满载时频率掉1Hz那么D S_N / (2π × 1)。这个值可以直接作为初值。再看动态关系。引入阻尼比的概念由转子方程和功率环共同决定。工程上把阻尼比整定在0.6到1.0之间比较合适兼顾了超调量和调节时间。如果J已经确定阻尼比ζ对应D的取值有明确的计算关系但这里不展开公式推导因为实际整定时更多依赖仿真和现场微调。5.3 一套100kW微网VSG的参数实例举个我自己调过的例子。一个100kW的储能微网系统额定线电压380V额定频率50Hz负载里有一台45kW的异步电机和若干照明、空调类负载。第一步定J。考虑最恶劣情况并网时VSG满功率输出100kW本地负载只有20kW离网瞬间功率突变达到80kW。频率变化率按1Hz/s来约束J 80000 / (2π × 1) ≈ 12730 kg·m²这个数值看起来很大但这是折算到电机侧的物理单位。实际在数字控制器里所有量都换算成标幺值J的标幺值是通过转子时间常数H来表达的工程上取H 1到2秒是比较稳妥的选择。换算关系是H J × ω₀² / (2 × S_N)把上面的J折算一下H大约在2秒量级合理。第二步定D。按孤岛满载频率偏差0.5Hz来约束D 100000 / (2π × 0.5) ≈ 31831 N·m·s/rad这个初值带入仿真如果振荡偏弱、响应偏慢可以适当减小D如果超调大、振荡明显就增大D。我最终调试下来用到了约0.8倍的这个初值阻尼比在0.8左右切换过程中频率最大偏移约1.2Hz3秒内恢复稳定。6. 现场踩坑实录切换失败最常见的几类问题6.1 合闸瞬间电流冲击这是离网转并网时碰到最多的问题排查思路其实很清晰。我遇到过一次合闸瞬间电流冲到额定1.8倍的情况。检查预同步的结果幅值差和相位差都已经收敛到阈值以内了按理说不该有这么大的冲击。后来逐段排查发现问题出在预同步退出环节。当时预同步修正量是直接清零的没有渐变过程。合闸瞬间修正量消失VSG的相位和幅值参考发生了一个微小跳变恰好跟合闸动作重叠结果就是两重扰动叠加。解决方案是给预同步修正量的退出加了一阶低通时间常数300ms冲击电流立刻降到了额定值的1.2倍以内。合闸冲击排查的顺序建议是先量化看幅值和相位差再查合闸判据的同步信号最后重点排查预同步退出是否有突变。6.2 孤岛后频率振荡不收敛另一种典型问题是离网后频率往复振荡五六秒都稳不下来。这通常不是算法框架的问题而是参数整定问题或负载特性问题。我碰到过一次振荡频率大约4Hz的持续摆动负载是一台频繁启停的压缩机。初步怀疑是VSG的J或者D不合适但调整参数后改善有限。后来用录波数据仔细分析了振荡频率和负载功率波动的关系才确认根因是压缩机的启动冲击叠加了VSG功率环的低频响应形成了正反馈。这种情况下单纯调J和D不够需要在功率环的输出上加一个限速环节限制频率参考的变化速率。同时适当增大D给系统更多阻尼让振荡尽快衰减。这类问题在纯电阻负载的实验室环境永远试不出来所以有条件的还是要在带电机类负载的真实现场做验证。6.3 预同步迟迟锁不住相位预同步不收敛的问题最常见的根因是相位检测环节的处理方式不对。我见过一种很典型的情况直接用锁相环输出的角度和VSG虚拟角度做差差值的范围在-π到π之间跳变PI调节器反复被跳变干扰相位差始终在零附近抖动合闸判据一直不满足。正确的做法是用矢量运算代替角度相减。把电网电压和VSG输出电压分别投影到静止坐标系用两个矢量的叉积作为误差信号。叉积的物理意义是sin(Δθ)在Δθ比较小时近似线性而且不会出现角度跳变的问题。同时幅值差用点积来算也不会出现电压幅值的计算歧义。把预同步误差信号换成这种形式之后收敛速度明显改善相位能稳定锁定在1度以内。6.4 积分配置与模式切换的坑最后说一个最隐蔽的坑模式切换时的积分器状态。VSG的虚拟转子方程本身就是一个积分环节无功电压环和预同步环里也都有PI调节器。切换模式时如果这些积分器的状态没有正确保留表现在输出上就是电压波形突然畸变一拍或者功率波形上出现一个毛刺。我踩过的具体问题是离网后为了加快频率恢复把功率指令切换代码写成了“切换后立即重建参考值”结果新的参考值跟切换前的积分器初始状态对不上频率虽然最终还是稳住了但切换后前两个周波的电压有明显畸变。后来的处理方式很简单所有积分器在模式切换标志位置位时保持原值参考值的过渡一律通过斜坡发生器或者低通滤波器完成禁止直接跳变。同时在切换后的第一个控制周期里强制让电流内环的PI输出保持上一周期的输出值再做正常的闭环运算这样就彻底消除了切换瞬间的控制量突变。最后说两句做微网离并网切换这几年我的感受是VSG算法本身并不是一个多么高深的东西转子运动方程在教科书里写了快一百年了但把它真正用好让系统在并网和孤岛之间来回切换而不产生冲击考验的全是工程细节。预同步误差信号怎么构造、积分器状态怎么保持、修正量怎么平滑退出、参考值怎么过渡这些才是决定切换成不成功的关键。希望这篇记录能给正在调VSG的同行省下一些在现场熬夜排查的时间。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑