资讯动态

VSG逆变器并联无功分配难题:自适应功率分配方案与调试实践

发布时间:2026/10/14 6:19:06 来源:尧图企业网站定制
最近在整理某双逆变器并联项目的调试笔记。项目本身不复杂一台20kVA一台10kVA的逆变器都跑VSG算法并到同一个模拟微网母线上带负载。但调无功分配的时候确实憋了一肚子气按容量2:1设计的系统实际跑出来是12.2kvar对1.8kvar几乎变成了6:1。换成你们那边的话讲就是大机累死、小机摸鱼。而且这不是采样错也不是接线错是固定下垂参数在这种不对称工况下从原理上就扛不住。这篇文章不打算写成学术综述我就按调试笔记的方式把自适应功率分配方案为什么能解决这个问题的来龙去脉以及参数怎么整、现场怎么调、踩了哪些坑全部摊开讲。适合正在做微电网、储能PCS并联、UPS并机以及任何与VSG多机并联系统打交道的人参考。下面的整定值都来自我手头某模拟项目X的样机不同平台请按实际容量和线路条件折算别直接抄。1. 为什么并联VSG总是“抢无功”先把问题定位清楚1.1 双逆变器并联的典型诉求容量扩展、冗余、不停机检修逆变器并联不是吃饱了撑的工程上就图三件事容量扩展、冗余备份、不停机维护。一台20kVA不够带全部负载就并一台10kVA进来机房改造想边带载边检修就得把负载切到另一台机器上。但并联一开矛盾立刻出现负载在两个模块之间怎么分谁说了算正常预期是各机按额定容量比例分摊。20kVA和10kVA并联负载如果一共需要30kVA大机出20kVA、小机出10kVA这个比例关系要一直稳住。遗憾的是实际系统里按容量比例是个很脆弱的设想。有功功率因为频率是全系统统一的物理量分起来相对容易无功功率完全不是这么回事它天生就喜欢乱跑尤其是当两台逆变器到母线的线路阻抗不一样的时候分配结果可以离谱到让你怀疑自己接错了线。某园区微电网项目里就出过这种事原先一台大PCS顶着办公楼负载后来并了一台小PCS进来想着负载一多小机器也能搭把手。结果负载每次波动大PCS瞬间顶上小PCS旁边看着等到稳态小PCS又慢慢把无功吐回来最后几乎全部压在大机器头上。用户很生气觉得花了钱没效果。问题不在机器在于固定参数的功率分配策略根本没有能力处理线路不对称这个现实条件。1.2 VSG的基础控制方程它到底在“演”什么VSG虚拟同步发电机核心思路是让逆变器在控制算法层面模仿同步发电机的机械动态。逆变器本身没有旋转的转子但我们可以用一段转子运动方程让输出频率和功率的关系带上惯性和阻尼的味道。代码写起来大概是这样// 转子运动方程离散化控制周期 dt 1ms omega omega (P_ref - P_e - D * (omega - omega_n)) / (J * omega_n) * dt; theta omega * dt; // 无功-电压下垂 E_ref E_n n_q * (Q_ref - Q);这里面的J是虚拟转动惯量决定频率变化的惯性D是阻尼系数决定振荡衰减快慢。这玩意儿和传统下垂控制最大的区别就是下垂控制是静态地在P-f平面画一条斜线VSG是在这条斜线的基础上额外模拟了一段转子加减速的动态过程。所以VSG并网的动态响应更像真实的同步机对电网更友好尤其适合弱电网和微电网场景。但记住一点无论VSG包装得多像一台发电机它的外特性仍然可以等效成一个理想电压源串联一个输出阻抗。这个等效电压源的幅值、相位由VSG算法实时计算输出阻抗由滤波器和虚拟阻抗决定。那么并联系统的功率分配问题本质上就是你有一堆电压源串联各自阻抗接到一个公共母线上每台机器分到多少功率取决于各自的电动势差和阻抗。VSG只是让这个过程变得有惯性并没有消除阻抗不匹配导致无功分不均这个物理事实。2. 根因拆解电压是局部量线路阻抗一乱无功就乱2.1 频率是全局量、电压是局部量先记住这句大实话有功功率好分根本原因是频率是全局量。两台逆变器并联运行稳态下系统只有一个频率只要各机P-f下垂曲线斜率与容量成反比有功就会自动按比例分配。就像一群人站成一排听口令口令只有一个节拍你不可能一个人在1Hz一个在50.5Hz还并得住。电压就不同了。公共母线只有一个电压值但每台逆变器出口到母线之间都有线路阻抗电流流过会生成压降。线路粗细长短不一样每台机器出口的电压就不一样。偏偏无功功率的传输极度依赖电压幅值差只有你的电压比母线电压高你才往外送无功否则你就要从母线吸收无功。所以想让每台机器都按容量比例送无功你必须精确控制各自出口电压让它们分别压过各自的线路压降最终在母线处碰头。这就像一个院子里有好几个水龙头管子长短粗细都不一样。你要求每个水龙头出水量按阀门尺寸比例分配但出水不仅看阀门开度还看管子压降。管径长短天差地别水流量怎么可能按阀门比例分配2.2 线路阻抗不匹配如何放大分配误差为了说清楚这个放大效应先看无功功率传输的近似表达式。忽略功角影响、假设线路以感性为主时每台逆变器送出的无功大概可以写成Q_i ≈ E_i × (E_i - V_bus) / X_eq_i其中E_i是逆变器端口电压V_bus是公共母线电压X_eq_i是VSG输出阻抗加虚拟阻抗再加线路阻抗的总感抗。从公式里能直接看出两个杀手一是每台机器的等效感抗X_eq_i不一样二是E_i本身又会随Q_i变化无功下垂会让电压随着无功输出而调整。两个因素叠在一起会形成一个相当复杂的映射关系。我的样机里20kVA机器接的是约5米短电缆Z≈0.05j0.08Ω10kVA机器接的是约20米长电缆Z≈0.20j0.32Ω。光看感抗两者差4倍。再把VSG虚拟阻抗算进去等效感抗比值被压到1.6倍左右但仍然无法做到2:1分配。结果就是开头那个数据固定下垂下12.2kvar几乎全压在大机身上小机只出了1.8kvar。线路阻抗不匹配相当于给两台机器装了不同流量的闸门而固定下垂策略完全不知道这个闸门差异的存在。还有一个隐蔽问题线路阻抗是会变化的。电缆温度升高电阻变大接头氧化接触电阻变大负载电流不同压降也不同。固定下垂只是在一个特定工况点上偶然正确工况一变偏差立刻回来。2.3 容量比例与下垂系数的设计关系理论上该怎么设计既然要按容量比例分配固定下垂参数起码要做到与容量成反比。原则是容量越大的机器下垂系数越小电压随无功变化的斜率越平缓容量越小的机器下垂系数越大电压随无功变化越敏感。以我的样机为例额定相电压幅值311V允许无功满载时电压偏移约5%那么20kVA机的无功下垂系数大约取0.00055V/var10kVA机取0.0011V/var两者比值刚好是2:1与容量成反比。但这个设计只解决了阀门标定的问题没解决管路长度的问题。下垂系数设计得再漂亮线路阻抗差异依然存在。打个比方你按水龙头的口径比例标定了阀门但管子一长一短最终出水量照样失调。所以固定下垂本质上只是出厂标定策略不是运行修正策略。系统一旦接入不对称线路、负载率变化、环境老化之后它没有任何手段去感知偏差、纠正偏差。这就是我后来把方案改成自适应功率分配的根本原因静态标定解决不了动态和不确定性需要一台机器能实时感知我分多了还是少了然后自己把电压指令调回来。3. 自适应功率分配方案设计从固定下垂到低带宽协调3.1 为什么固定下垂参数只能“勉强能用”先别急着否定固定下垂在很多对称工况下它确实便宜可靠、不用通信、实现简单。两台逆变器容量一样、电缆一样长、负载对称固定下垂系数按容量反比设好无功分配误差通常能控制在5%以内很多工程就直接用了。但一旦碰到下面三种情况固定下垂就露馅第一线路阻抗不一致偏差从原理上就无法消除。第二负载率变化固定斜率在轻载和重载下的分配精度不一样轻载时偏差比例更难看。第三线路参数随温度、老化变化出厂整定值逐渐失配。更现实的场景是很多项目是分期建设的第一期一套大机第二期补一台小机两台机器的安装位置和线缆路径完全不可能对称。固定下垂在这个前提下只能勉强能用前提是你能接受30%甚至更高的无功分配误差。3.2 自适应调节环的设计让分配误差收敛到零我的方案核心逻辑非常简单把每台机器的无功输出按各自额定容量归一化然后让所有机器的归一化值收敛到同一个目标值。定义η_i Q_i / S_NiS_Ni是第i台机器的额定容量Q_i是当前实际输出无功。理想情况下20kVA机输出9.3kvar、10kVA机输出4.7kvar时两台机器的η都是0.467分配完美。而固定下垂下η10.61、η20.18差了3倍还多这就是我们要消灭的误差。具体做法是在VSG的电压参考值上加一个修正项ΔE_i。原来VSG算出的电压参考是E_ref E_n n_q × (Q_ref - Q)现在变成E_ref E_n n_q × (Q_ref - Q) ΔE_i。ΔE_i由下面的调节器生成// 控制周期取10ms协调器每200ms广播一次目标值 static float integral 0.0f; float eta_self q_kvar / s_rated_kva; // 本机归一化无功 float eta_ref comm_get_eta_ref(); // 协调器下发的全局目标 float err eta_self - eta_ref; integral ki * err * dt; if (integral INTEG_LIMIT) integral INTEG_LIMIT; if (integral -INTEG_LIMIT) integral -INTEG_LIMIT; float delta_e kp * err integral; // 电压修正量 if (delta_e DELTA_E_MAX) delta_e DELTA_E_MAX; if (delta_e -DELTA_E_MAX) delta_e -DELTA_E_MAX; e_ref e_base nq * (q_ref - q) delta_e;为什么用电压修正项而不是直接改下垂系数因为改下垂系数会改变VSG在动态过程中的等效输出阻抗调节器一动机器对外表现的硬度就变了波动工况下容易出现调节器跟着功率纹波跑的问题。电压修正项只动稳态工作点不改变动态阻抗特性和VSG原有的惯性、阻尼行为是解耦的。整个调节环的时间尺度要刻意放慢。VSG的机电时间常数大约在0.5到1秒级别自适应调节环的积分时间常数我取到5秒以上通信周期200毫秒这样功率波动、负载阶跃这些高频动态完全不会干扰到分配调节。你可以理解为VSG负责快的动态自适应环负责慢的稳态修正两者各管一段。3.3 通信方案与降级模式低带宽、轻协调、保稳定要做自适应就必须知道目标值η_ref和每台机器当前的η_i。代价是要引入通信。但别慌这个通信需求极低每台机器只需要周期广播一个标幺数值也就是归一化后的无功值几百字节的报文就够用低速RS-485总线或者CAN总线就能跑完全不影响系统实时性。我用的结构是一个小协调器周期计算全局目标值η_ref ΣQ_i / ΣS_Ni也就是总无功除以总容量。协调器把这个数广播给所有机器各机本地用PI调节器把本机η_i拉到η_ref。这个方案的好处是目标值物理意义清晰严格按总容量加权平均定义容量大小不同的机器天然权重不同大机分得多、小机分得少。如果完全不想依赖通信也有降级方案用线路阻抗在线辨识配合虚拟阻抗补偿把两台机器的等效阻抗差值压到工程可接受范围。这个方案不需要通信但只能做到静态匹配负载变化或线路阻抗漂移时精度会变差。我的判断是为了一个秒级稳态精度指标牺牲一点通信建设成本是值得的。所以最终方案做了两级正常运行走协调器广播通信故障时自动切到本地固定下垂加虚拟阻抗匹配保证系统稳定不掉链子。4. 实操过程与参数整定某模拟项目X的完整复现记录4.1 硬件平台与实验条件先交代一下我的样机条件方便大家对号入座。两台三相逆变器容量20kVA和10kVA共用同一条700V直流母线。控制板用的某DSP系列载波频率8kHz电压电流采样率5kHz。输出侧各接LC滤波器并机后通过两条长度不同的电缆接到公共交流母线母线再接可投切的阻感性负载。基本参数如下参数20kVA机器10kVA机器额定容量20kVA10kVA额定相电压幅值311V311V额定频率50Hz50Hz直流母线电压700V700V滤波电感1.5mH2.5mH滤波电容15μF10μF线路模拟短电缆约5米Z≈0.05j0.08Ω长电缆约20米Z≈0.20j0.32Ω负载配置是阻性18kW加感性12kvar可以通过接触器投切用来观察不同工况下的分配效果。为了排除直流侧干扰两台机器共用直流源母线电压稳定在700V附近。这个条件比实际工程干净很多但恰恰能暴露控制算法的真实问题。4.2 VSG主控制参数整定VSG主参数先给一组可参考的初值。虚拟惯量J和阻尼系数D我按二阶系统阻尼比0.7左右来定再在样机上用小信号扰动验证。20kVA机的J取0.6kg·m²D取1510kVA机的J取0.3kg·m²D取8。你可以理解为容量减半的机器惯量和阻尼也减半折算到标幺值才一致动态行为才能匹配。无功下垂系数按5%电压偏移整定20kVA机取0.00055V/var10kVA机取0.0011V/var。这个值比理论需要的稍小一点目的是给自适应调节环留出电压修正余量防止两者抢电压权限。虚拟感抗我取1mH对应工频50Hz下约0.314Ω。选择这个值有个权衡如果虚拟感抗很大比如取10mH可以把线路阻抗差异从4倍压到1.07倍分配误差基本被强制均流了但代价是负载突变时端电压动态跌落显著电压调整率会很差。取1mH时线路差异仍然存在但不会大到让固定下垂策略彻底摆烂自适应环有能力把剩余误差拉回来。这也是我反复尝试后觉得最省力的起点。4.3 自适应调节环的参数整定与效果对比自适应环的整定我建议按这个顺序走先把Ki设为0只投Kp观察稳态偏差的方向和大小然后逐步加大Ki每加一档跑一次满载投切实验看动态过程是否出现振荡最后调死区、限幅和斜率限制。我的最终参数是Kp0.3V/puKi0.02积分限幅±6V输出限幅±6V死区±0.02电压修正项变化率限制0.5V/s。死区这个值很关键设太大分配精度会下降设太小自适应环容易被采样噪声和无功脉动牵着鼻子走导致积分器缓慢漂移。0.02的标幺死区对应实测大约0.4kvar的偏差对工程系统来说已经足够精细。效果对比如下工况固定下垂Q1/Q2固定下垂η1/η2自适应Q1/Q2自适应η1/η2满载总无功14kvar12.2 / 1.8 kvar0.61 / 0.189.3 / 4.7 kvar0.467 / 0.467半载总无功7kvar6.2 / 0.8 kvar0.31 / 0.084.7 / 2.3 kvar0.233 / 0.233阻性负载为主总无功2kvar1.7 / 0.3 kvar0.085 / 0.031.3 / 0.7 kvar0.067 / 0.067动态过程方面负载阶跃瞬间瞬时功率冲击由VSG自身的惯量和阻尼消化两台机器会在几百毫秒内先抢一波无功这是物理上避免不了的随后自适应环在3到5秒内把η偏差收敛到死区以内。这个收敛速度对绝大多数微电网应用完全够用毕竟正常并网系统不会要求无功分配在亚秒级就达到完美稳态。5. 我在调试中踩过的坑常见问题与排查实录5.1 问题一无功采样滤波造成的“假不均分”第一次上电测试两台机器的Q分配差得离谱我第一反应是算法写错了。查了半天硬件和接线没问题最后发现玄机在无功计算环节。逆变器输出的三相瞬时无功功率在稳态时含有2倍工频的脉动分量尤其是负载不平衡或电压谐波偏大时这个脉动幅度相当可观。我一开始用一阶低通滤波时间常数取了50ms结果两台机器由于启动时刻不一致无功滤波窗口没有对齐滤波后的数值就产生了偏差。这个偏差在自适应环眼里就是真误差它会乐呵呵地拼命去修正一个根本不存在的偏差越调越乱。解决方法是改成整周期积分窗用锁相环过零信号触发计数器滤波窗口严格取20ms的整数倍。两台机器虽然启动时刻不同但过零信号对齐后统一在工频周期的整数倍时刻更新滤波值。这个改动后静止状态下的采样偏差直接降到了1%以内。5.2 问题二自适应环带宽太高诱发低频振荡自适应环启用后一开始调得很激进Ki取得偏大结果两台机器的无功出现了大约0.5Hz的往复摆动十几秒都消不掉。波形图上能看到η1和η2像拉锯一样你高我低周期又长像两台机器在互相追着跑。排查思路是这样的先把自适应环关闭只用固定下垂振荡立刻消失说明问题在调节环然后把Ki减半振荡周期变长但还在说明单纯降增益不够最后把积分时间常数拉到5秒以上同时把通信周期从100ms放宽到200ms振荡才彻底压住。原因不复杂VSG本身有摆动模式频率大概在几赫兹量级如果自适应环的带宽和它靠得太近再加上通信和滤波的相位延迟反馈回路就会形成正反馈。经验法则调节环带宽至少要比VSG摆动模式低一个数量级最好低于0.2Hz。死区设2%到3%也是防这个的。5.3 问题三通信延迟与掉线误动作协调器广播η_ref用的是低速总线理论上几十毫秒的延迟无伤大雅。但有一次我用网络损伤仪故意模拟恶劣通道报文延迟抖动加大到300毫秒以上两台机器的无功出现了几十秒的缓慢爬坡分配误差越飘越大。后来发现接收端逻辑有缺陷一旦通信中断我原设计是继续用最后收到的值结果协调器已经失联各机还按旧目标值在积分积分器越积越偏。解决方法是加数据保鲜机制超过500ms没收到新报文立即判定通信故障冻结本机积分器切换到本地固定下垂模式。通讯恢复后再重新使能自适应这时积分器从零开始不存在历史积分的残留问题。这类系统的设计原则是通信故障安全优先于分配精度。分配不准顶多机器吃点亏积分器飞了可能导致电压越限甚至系统崩溃。5.4 问题四容量差2倍以上时小机容易过流当两台机器容量差比较大的时候比如20kVA和10kVA初始工况下小机往往出力很小。自适应环一使能它会试图把η拉到全局目标值也就是让小机突然多出无功。如果初始偏差距大积分器输出变化快小机无功从1.8kvar猛冲到4.7kvar中间过程很容易冲破小机的电流限幅导致过流报警甚至跳闸。解决思路是给电压修正项加变化率限制我取了0.5V/s让无功爬坡变得平缓。同时协调器在下发目标值时采用小步长跟踪比如每次只允许目标值变化量不超过0.05让两台机器像温水煮青蛙一样慢慢过渡。此外小机检测到过流时优先级最高立即冻结本机调节器先把电流压回安全区再重新参与分配。6. 实测收益、扩展方向与个人心得6.1 不同工况下的实测收益从实验数据看这套自适应功率分配方案的直接收益是稳定的。满载工况下η偏差从0.43降到0.01以内半载工况从0.23降到0.01以内阻性负载为主的轻载工况由于总无功很小绝对偏差本身不大但标幺偏差也明显改善。误差收敛时间在3到5秒不会干扰负载阶跃的动态过程。工程层面的收益更值得一提两台机器的线缆热应力均衡了不会有某根电缆长期过载发热小机不再长期空转功率器件结温和寿命统计更平衡系统总容量利用率上去了不会出现大机顶着跑、小机闲着看总输出却达不到预期的情况。这些好处放在园区微电网、备用电源、光储系统里都是实打实的运维价值。6.2 从双机走向多机可扩展性分析双机方案验证通过后我琢磨过向多机扩展的事。协调器广播的架构天然支持多机扩展目标值计算改成η_ref ΣQ_i / ΣS_Ni对所有机器广播同一个数各机本地跟着收敛即可。新机上线时协调器重新计算总容量和目标值老机器不需要改任何参数这就是即插即用的雏形。通信拓扑上星型变总线型、再变环型都可以因为报文内容只是秒级更新的标幺数值带宽压力极小。真正难的是数据同步和故障隔离多机场景下某台机器突然退出协调器要能快速重算目标值避免其他机器因为参考目标突变而跟着动态震荡。我目前的经验是给协调器加大约300毫秒的故障确认窗口确认机器离线后再更新目标值避免瞬时误判。6.3 个人心得与后续想做的扩展做完这个项目我最大的体会是先把无功为什么难分这个物理机制想通后面的代码和参数整定根本花不了多少时间。很多人一上来自适应环调不动就猛改Kp、Ki结果越调越振最后怀疑算法有问题。其实问题的根源往往在采样不同步、通信延迟、时间尺度分离没做好这些基础环节。后续我想做的扩展有几个方向一是把自适应调节环和储能SOC均衡结合起来让无功分配的同时兼顾电池荷电状态的一致性二是做一套更完整的虚拟阻抗在线辨识让无通信降级模式的精度再往上提一提三是尝试把协调器换成对等一致性协议彻底去掉单点故障节点。但无论怎么改底层这套容量归一化加慢积分修正的骨架我是不会动的它简单、直观、扛得住工程现场的考验。

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

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

免费获取报价 →
↑