ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

双机并联逆变器自适应虚拟阻抗下垂控制Simulink仿真建模与调试

双机并联逆变器自适应虚拟阻抗下垂控制Simulink仿真建模与调试 先说实话双机并联逆变器仿真的坑一半不在电力电子器件而在控制策略的低层级配合上。我第一次搭这套模型的时候经典下垂控制在阶跃负载下确实能跑起来两台机看着也都在出力但把功率波形拉出来一对比一台已经扛了70%的负载另一台在边上划水只出了30%。线路阻抗差异摆在那又没有主动调节手段功率分配偏到这种程度一点不意外。后来在控制环路里加入自适应虚拟阻抗均流精度才真正拉回到工程可接受的范围。这篇文章就围绕双机并联逆变器自适应虚拟阻抗下垂控制Droop策略的Simulink仿真模型把建模思路、参数计算、调试顺序、波形分析方法和踩过的坑完整梳理一遍。适合正在做微电网、分布式电源并联仿真或者准备把论文里的控制策略落到Simulink里的同学。1. 双机并联为什么必须用下垂控制经典Droop的边界又在哪里1.1 并联运行的现实需求与通信瓶颈单个逆变器供电容量上限就卡死了。分布式发电场景下要么换更大功率的机器要么让多台逆变器并联扩容。并联的好处不只是容量叠加还有冗余和检修便利一台机器出问题其余几台还能撑着负载。但并联不是把输出端直接拧在一起那么简单两台源之间的电压幅值差、相位差、频率差都会产生环流。环流一大一台机器过流、另一台可能被倒灌导致母线电压崩溃甚至设备损坏。并联控制的主流方案大致分两类。主从控制需要一个主机做电压源其余从机做电流源跟随系统内部必须有通信链路主机一旦故障整个系统跟着瘫痪。下垂控制则是另一条路线每台逆变器只测量自己的输出功率按预设的下垂特性调节频率和电压幅值完全不依赖机间通信天然支持冗余和热插拔。对于孤岛微电网、UPS并联这类对可靠性要求极高的场景下垂控制几乎是默认的起步策略。1.2 P-f与Q-V下垂的工作原理与控制链拆分下垂控制的数学基础是交流输电的功率传输关系。在感性线路假设下有功功率主要取决于功角无功功率主要取决于电压幅值差。因此可以构造两条负反馈控制律有功-频率下垂omega omega_0 - m * P无功-电压下垂E E_0 - n * Q其中omega_0是空载角频率E_0是空载电压幅值m和n是下垂系数P和Q分别是逆变器输出的平均有功和无功。含义很直观一台逆变器输出有功变大它的频率参考值就下降功角差变小输出有功自然回落无功多则电压参考值降低抑制无功继续输出。整个过程只需本地信息就能闭环。这套控制律落到Simulink实际上拆成一条清晰的信号链测量逆变器滤波电容电压v_o和输出电流i_o通过abc/dq坐标变换得到dq轴分量用瞬时功率公式计算P和Q再接一阶低通滤波器得到平均功率下垂方程产生omega_ref和E_refE_ref作为电压外环给定omega_ref作为坐标变换的角度基准电压电流双闭环输出调制波送PWM发生器我在仿真里通常把第3步的低通滤波时间常数设在0.01到0.02秒也就是50Hz系统下约0.5到1个工频周期。这个时间常数直接决定了功率环的响应速度取大了功率波形平滑但反应慢取小了动态快但容易把二倍频纹波放大引起功率振荡。这个参数后面还会影响自适应虚拟阻抗的整定别随意拍脑袋。1.3 经典下垂在双机不对称场景下的失效点经典下垂控制有一个隐藏前提两台逆变器的输出阻抗加线路阻抗必须一致。只要Z1不等于Z2Q-V下垂就会产生稳态偏差。举个例子逆变器1离母线近线路阻抗0.1Ω0.3mH逆变器2离母线远线路阻抗0.5Ω1.5mH。在同样的电压下垂方程下两台机都要把母线电压维持在参考值附近但远端机的线路压降更大它的输出电压必须更高这就导致近端机和远端机在无功分配上出现明显偏斜。有功功率的分配也会被影响。低压配电网的线路R/X比通常不低线路电阻不再是可忽略的小量P和Q之间存在严重耦合。教科书里感性线路下的P-f、Q-V完全解耦在低压实景里并不成立。经典下垂拿着一个固定斜率去赌线路阻抗天然一致现实中这个赌注基本会输。还有一个隐性矛盾下垂系数m和n的整定本身是两难。系数取大功率分配精度提高但频率和电压的稳态偏差变大系数取小电压质量好但均流效果差。所以要让双机并联达到工程能用的均流精度核心任务很明确——让两台逆变器从控制器看过去的等效输出阻抗趋于一致。这就是虚拟阻抗和自适应虚拟阻抗登场的原因。2. 虚拟阻抗的本质与自适应律不改变硬件却重塑等效阻抗2.1 虚拟阻抗在Simulink里的数学实现虚拟阻抗的直观理解是在控制逻辑里人为构造一个并不存在的阻抗把它串联到逆变器的等效输出路径上。它不消耗真实功率也不发热只存在于算法中。因为逆变器本身是受控电压源我们可以在电压给定信号中减去虚拟阻抗的压降等效于在受控源后面串联了一个Z_v(s)。在dq坐标系下虚拟阻抗的压降表达式为v_vd R_v * i_od - omega * L_v * i_oqv_vq R_v * i_oq omega * L_v * i_od用下垂方程计算出的电压参考值减去这个压降得到实际送给电压环的给定值E_d_ref_new E_d_ref - v_vdE_q_ref_new E_q_ref - v_vq在Simulink里实现这个模块很简单新建一个子系统输入是i_od、i_oq和omega内部用Gain模块搭R_v用乘积模块搭交叉耦合项omega * L_v输出修正量后与电压给定叠加。我习惯把这个子系统命名为Virtual Impedance单独封装方便切换固定值和自适应值。为什么不只用纯电感或者纯电阻纯L_v在低频段阻抗很小对静态均流几乎没有帮助纯R_v又缺乏动态滤波作用。R_v和L_v组合起来的复阻抗在基波频率附近能提供足够幅值同时适度虚拟电阻会增加系统阻尼对低压线路偏高R/X比的环境很有好处。2.2 固定虚拟阻抗的两个突出问题固定虚拟阻抗虽然能改善均流但有两个绕不开的问题。第一个是电压跌落。虚拟阻抗本质上串联在等效输出路径中它必定带来电压损失。虚拟阻抗取大了重载时实际输出电压可能比参考值低好几个百分点负载端的电压质量直接受损。这也是很多仿真里波形看起来功率分得很好但电压掉得离谱的原因。第二个是适应性差。系统负载在变线路参数也在变固定虚拟阻抗只在设计工况附近最优。负载较轻的工况下虚拟阻抗相对偏大电压精度损失显得不划算负载很重时虚拟阻抗又显得不够均流精度重新劣化。你可以做一个简单实验在Simulink里把两台机的线路阻抗拉开差距用固定虚拟阻抗空载到满载来回切换观察功率均分误差会随着工况明显摆动。2.3 自适应律设计功率偏差反馈修正虚拟阻抗自适应虚拟阻抗的核心思路很直接把每台逆变器输出功率与平均功率的偏差作为反馈信号实时修正自身的虚拟阻抗。输出功率偏大的机组增大虚拟阻抗迫使输出压降增加、功率回落输出功率偏小的机组维持甚至减小虚拟阻抗让功率回升。最终在平衡点处各机功率趋于一致。一个工程上易复现的自适应律R_v,i R_v0 kp_P * (P_i - P_avg) ki_P * integral(P_i - P_avg)dtL_v,i L_v0 kp_Q * (Q_i - Q_avg) ki_Q * integral(Q_i - Q_avg)dtP_avg和Q_avg是两台机的平均功率。只有两台机时均值模块用一个加法器除以2即可。大于平均功率的逆变器虚拟电阻自动增加输出功率被压下来小于平均功率的虚拟电阻不动甚至减小输出功率被顶上去。积分项负责消除稳态误差。这套方案不需要知道线路阻抗的具体数值也不需要中央控制器本质上是构造了一个功率偏差到虚拟阻抗到电压调整到功率再分配的负反馈环让系统自适应搜索满足均流需求的目标阻抗。R_v0和L_v0是初始工作点自适应律在它附近动态寻优。调参时有一个关键时序意识自适应环的带宽必须低于下垂环的带宽否则整个系统会振荡。实际调试中自适应积分系数宁可取小让虚拟阻抗的调整速度慢于功率环的稳定速度波形会稳定得多。3. Simulink双机并联模型架构与关键参数计算3.1 顶层架构功率主电路、控制回路与自适应修正模块整个模型在顶层可以分成三个子系统。功率主电路部分每台逆变器包含直流电压源800V、三相全桥Universal Bridge、LC滤波器L_f和C_f、线路阻抗Z_line两台机输出经线路阻抗后接到公共母线公共母线上挂负载。做负载阶跃时用三相Breaker把负载分成两组在不同时间点投入模拟负荷突变。控制回路部分每台逆变器包含电压电流测量与坐标变换、瞬时功率计算与低通滤波、下垂控制、电压外环和电流内环PI、虚拟阻抗修正、PWM发生器。自适应修正模块是一台逆变器一个输入本机功率与平均功率偏差输出动态R_v和L_v修正量。模块内部就是两个带限幅的PI控制器分别处理有功偏差和无功偏差。信号流方向很清晰主电路电压电流测量值经过坐标变换后一路进功率计算一路进电压电流双闭环功率计算经低通滤波后进下垂控制产生频率和电压参考下垂电压参考再减去虚拟阻抗压降作为双闭环的给定双闭环输出调制波调制波与载波比较生成PWM开关信号。整个过程是级联结构层次之间带宽分离调试时不容易发生环路互相打架的情况。3.2 关键参数计算依据与参考取值仿真参数必须逐个有依据不能直接抄别人的模型就完事。下面是我用的基准参数和计算过程。额定容量与电压等级单台逆变器10kVA输出线电压有效值380V相电压幅值约311V。直流母线电压800V三相全桥SPWM时调制比约0.9左右留有裕量。LC滤波器设计逆变器侧电感L_f主要抑制开关纹波。额定电流有效值约15.2A峰值约21.5A按纹波电流不超过峰值20%考虑取L_f1.5mH。滤波电容C_f按LC谐振频率设计谐振频率要明显高于基波、又低于开关频率典型的取f_sw的1/10到1/2。取C_f30uF计算谐振频率f_res 1 / (2pisqrt(1.5e-3 * 30e-6)) 约等于 750Hz750Hz离基波50Hz很遥远也远低于10kHz开关频率这个组合不会在基波附近产生谐振放大对开关纹波的抑制也足够。下垂系数按频率允许最大偏差0.5Hz、电压允许最大偏差5%约15V计算m (2pi0.5) / 10000 3.14e-4 rad/s/Wn (311*0.05) / 10000 1.55e-3 V/Var也就是说单台满载10kW时频率降低0.5Hz满载10kVar无功时电压幅值降约15V。这个偏差量级对孤岛微电网是合理的。线路阻抗为了验证自适应有效性必须刻意拉开差异。线路1取0.1Ω0.3mH线路2取0.5Ω1.5mH。如果两条线路阻抗差不多自适应的优势看不出来仿真结论的说服力会弱很多。虚拟阻抗初值R_v00.5ΩL_v02mH。自适应系数从小处开始调kp_P0.001Ω/Wki_P0.01Ω/(W·s)kp_Q1e-6 H/Varki_Q1e-5 H/(Var·s)。这些数要按实际功率偏差尺度调整给的是一个试探起点。整理成表格参数数值说明直流母线电压800V三相全桥输入单台额定容量10kVA额定有功10kW滤波电感L_f1.5mH逆变器侧滤波电感滤波电容C_f30uF与L_f谐振约750Hz线路1阻抗0.1Ω0.3mH近端机组线路2阻抗0.5Ω1.5mH远端机组m3.14e-4 rad/s/W有功频率下垂n1.55e-3 V/Var无功电压下垂R_v00.5Ω虚拟电阻初值L_v02mH虚拟电感初值开关频率10kHzPWM载波频率3.3 控制环路模块组织与坐标变换细节坐标变换直接用Simulink里的abc_to_dq0 Transformation模块即可省去自己搭Park变换的麻烦和笔误风险。PLL部分我用公共母线PLL把PLL输出的角度同时广播给两台逆变器两台机的dq变换参考一致并联启动时不会有相位冲击。工程上当然希望全本地化但第一次跑仿真时公共PLL能大幅降低调试难度后面再往全本地化演进。功率计算可以手写瞬时功率公式也可以直接用Simulink自带的Instantaneous Active and Reactive Power模块。输入三相电压电流直接得P和Q再接一阶低通滤波器。低通时间常数设0.01到0.02秒。电压外环和电流内环都用PI控制器加dq解耦项。电压环带宽取500Hz左右电流环带宽取1到2kHz电流环要明显比电压环快电压环要明显比下垂环快。这样各层控制的时间尺度完全分离系统不会出现环路共振。PI初值可以先按工程经验给再根据阶跃响应微调。PWM生成采用最直接的方案电压电流双闭环输出的d轴和q轴调制波反变换回abc三相后与10kHz三角载波比较生成开关信号。如果用SVPWM也可以但对仿真结论没有本质影响只是调制波生成方式不同。第一次跑建议用普通SPWM少引入一个调试变量。4. 调试路线从单机闭环到双机固定虚拟阻抗再到自适应投入4.1 第一步单机闭环先跑通整定双环PI很多同学一上来就搭两台机器并联结果电压波形、功率波形、电流环流全搅在一起完全分不清问题出在哪一层。正确做法是先做单机闭环一台逆变器带LC滤波器和负载独立跑下垂控制但不并联。此时观察三条波形输出电压幅值、频率、有功功率。确认单机空载和带载都稳定再进并联。单机调试顺手就能把电压电流双环PI参数整定出来。方法是给电压外环一个参考值阶跃比如311V突然变成320V观察电压外环的响应速度电流环则通过突加负载观察电流动态。把PI参数调到不超调、调节时间几个毫秒以内的程度越稳越好。双环基调好了后面的下垂环和自适应环才有可靠的下层支撑。4.2 第二步双机固定虚拟阻抗并联记录基线波形第二步把两台逆变器接到公共母线上先关掉自适应模块保持固定虚拟阻抗。把线路阻抗差异拉大记录一组基线波形。此时大概率会看到有功功率大致均分但无功功率偏差明显两台机的输出电流波形存在相位差和幅值差这就是环流的外在表现。这组基线数据非常关键。后续加自适应的效果不是靠感觉判断的而是和这组基线对比。比如基线时近端机承担70%无功、远端机只承担30%自适应投入后偏差缩到5%以内方案有效性才说得清。没有基线数据你会很难判断自适应到底干了多少活写论文时也少了对照组。4.3 第三步投入自适应虚拟阻抗按PI思路调参数第三步把自适应模块接入虚拟阻抗支路。在Simulink里的改动很小原来R_v和L_v是常数现在改成自适应环输出的动态变量。注意一定给自适应输出加限幅。我会把R_v限制在0到3ΩL_v限制在0到10mH防止积分饱和导致虚拟阻抗冲到不合理区间把电压完全拉垮。调试顺序从比例项开始。先只加kp_P和kp_Q观察功率偏差的收敛速度。如果功率波形出现振荡说明比例系数偏大或自适应环带宽太高降低系数或增大功率低通时间常数。比例项稳定后再加积分项消除稳态偏差。这套顺序和整定PI控制器完全一致只是调节对象换成了虚拟阻抗。一个非常值得注意的经验自适应环的输出变化速度不要比下垂环的功率响应还快。负载阶跃后功率需要0.2秒稳定那么自适应环的积分时间常数至少取1秒量级。否则功率还没稳住虚拟阻抗已经冲过头直接引发低频振荡。仿真里见到这种振荡先检查是不是自适应环和下垂环的时间尺度没拉开。5. 仿真结果分析均流精度、动态过程与电压跌落的取舍5.1 负载阶跃工况该看哪几条波形模型跑通后设计合理的仿真工况才有说服力。我常用的两个工况公共母线负载从10kW2kVar阶跃到20kW4kVar观察1秒后稳态功率分配保持母线负载不变在某个时刻切出其中一台逆变器的部分本地负载观察系统功率重分配的动态过程观察波形按优先级排序两台逆变器的有功P1/P2、无功Q1/Q2、三相输出电流、公共母线电压幅值。三相电流波形最能直观反映环流大小双机并联稳态时两台机输出电流波形应该高度重合如果幅值或者相位有明显差异说明环流仍然很大。5.2 环流量化与功率均分误差指标环流定义是两台逆变器输出电流差的一半i_circ (i_1 - i_2) / 2。在Simulink里直接加一个减法模块再除以2把环流波形拉出来直观查看。不过更实用的指标是功率均分误差err_P |P_1 - P_2| / (P_1 P_2) * 100%err_Q |Q_1 - Q_2| / (Q_1 Q_2) * 100%我自己的目标值是稳态err_P小于5%err_Q小于10%。在没有虚拟阻抗只有经典下垂时线路阻抗差距较大时err_Q可以到30%到60%加入固定虚拟阻抗后能降到10%到20%自适应投入后一般能压到5%以内。整理成对比表参考控制方式err_P满载err_Q满载母线电压跌落经典下垂8-12%30-50%约4%固定虚拟阻抗3-5%10-15%约6%自适应虚拟阻抗1-3%3-8%约5%数值不一定是普适结论但趋势是对的自适应以略高的电压跌落代价换来显著改善的功率均分。调参时可以根据实际需求在均流精度和电压质量之间找平衡点。5.3 动态过程观察与代价分析动态过程也很重要。负载阶跃后的头几百毫秒内功率波形应当平稳过渡不出现明显超调或振荡。固定虚拟阻抗虽然稳态均流尚可但动态响应较慢自适应虚拟阻抗由于能在动态过程中实时调整输出阻抗功率过渡通常更平滑。同时要接受一个事实自适应虚拟阻抗本质是增加了等效输出阻抗动态过程中母线电压会有一个略微加深的跌落。你不可能同时获得完美均流和零电压跌落这是物理约束。工程上我的建议是虚拟电阻控制在重载工况压降不超过额定电压的5%。如果负载对电压敏感就适当收敛虚拟阻抗的调节范围如果负载是纯阻性且电压容忍度高可以更激进地追求均流。6. 调试中遇到的坑与排错经验6.1 代数环和Simulink无法求解的经典问题电压电流环、虚拟阻抗、下垂控制串在一起后最容易出现的是代数环。典型现象是仿真报错提示存在代数环或者仿真卡在某个时间步出不来。原因是输出电流反馈回电压给定而电压又反过来决定输出电流两者在同一仿真步内形成隐式方程。解决办法有几种。最简单的是在反馈通道上串一个Memory或Unit Delay模块打破代数关系代价是引入一拍延迟。我更推荐在反馈路径上用一阶惯性环节替代纯比例连接这样既打破代数环又更接近物理系统的高频衰减特性。另一种土办法是把控制回路整体放到离散子系统中采样率设1e-4秒而功率主电路保持连续求解器整个系统变成多速率采样代数环问题会减轻很多。6.2 虚拟阻抗引入的相位滞后与高频振荡虚拟阻抗加入后最常见的问题是高频振荡。根源在于dq轴交叉耦合项也就是omegaL_vi_q这个乘积信号。在数字实现中这个信号容易引入额外相位滞后滞后积累到一定程度电压环就稳不住了。解决方向有三个提高控制采样率到至少10kHz在虚拟压降信号后面加一个小时间常数的一阶低通滤波把虚拟阻抗的响应带宽限制在明显低于电压环的位置。仿真里惯用做法是在虚拟压降输出后加一个时间常数1e-4秒的惯性环节再接电压环给定能有效吸收高频振荡。6.3 模型发散的一类隐藏原因并联初始条件
返回列表