做并联逆变器仿真,第一版模型被环流打脸几乎是人人都会经历的。两台逆变器输出电压明明都设成220V/50Hz,合闸瞬间电流就能冲到好几百安,波形乱飞甚至直接发散。原因不复杂——两个电压源型变流器在电气上强并联,输出幅值和相位的微小差异,都会在公共回路里形成环流。下垂控制(Droop)是解决并联均流最经典的方案,而自适应虚拟阻抗,则是让下垂控制在两条线路阻抗不一致、负载突变等实际工况下,仍然能精确均分有功无功的关键改进。这篇文章我把搭建双机并联逆变器自适应虚拟阻抗下垂控制Simulink仿真模型的完整过程整理出来,包含原理推导、参数计算、建模步骤、波形判读和调参踩坑,适合做微电网、UPS并联、储能变流器仿真的同学直接参考。
1. 为什么并联逆变器必须解决环流问题
1.1 并联系统的核心矛盾与环流产生机理
两台逆变器并联,本质上就是两个交流电压源接到同一个交流母线上。你可能会想:大家都输出220V/50Hz,各带各的负载不就行了?问题恰恰出在这里。逆变器不是理想电压源,它有自己的等效内阻抗,而且即使控制器设定了完全相同的电压参考,实际硬件参数、采样误差、PWM延时都会让两台输出电压之间存在一个很小的幅值差ΔV和相位差δ。只要有差值,两台机器之间就会流过环流,这个环流的大小由差值除以两台机器的等效阻抗之和决定:
I_cir ≈ ΔU / (Z_1 + Z_2)
我见过一个很直观的比喻:两个人抬一桶水,一个人步子快一点、一个人步子慢一点,桶就开始晃,晃得厉害水就洒了。逆变器并联也是这样,环流轻则造成两台机器输出功率不均、其中一台过流,重则触发保护跳机甚至炸模块。实际工程里,并联系统的容量越大,对环流的容忍度越低,所以任何并联控制方案的第一目标都是把环流压下去。
要理解环流怎么来的,还需要把功率传递关系看清楚。假设逆变器输出阻抗呈感性(滤波电感或者虚拟电感之后近似成立),送到交流母线的有功和无功可以写成:
P ≈ (U·E / X) · sinδ Q ≈ (U·(U - E)) / X
其中E是逆变器输出电压幅值,U是母线电压幅值,δ是两者相位差,X是等效感抗。从这个式子能读出两条关键规律:有功功率主要取决于相位差δ,无功功率主要取决于幅值差(U-E)。这其实就是下垂控制设计的基本依据,后面所有控制策略都是围绕这两条规律展开的。
1.2 下垂控制如何实现无线并联
下垂控制的思想借鉴了同步发电机的一次调频和一次调压特性。发电机并网后,当系统负荷增加,原动机转速会略微下降,频率也跟着降;励磁电流不变时,无功输出增加也会让机端电压略微下降。这种“输出功率增加→频率/电压自然下降”的特性,天然就是一种负反馈,能让多台发电机在不通信的情况下自动分担负荷。
把同样的逻辑套到逆变器上,就得到经典的下垂方程:
ω = ω₀ - m·P E = E₀ - n·Q
其中ω₀是空载角频率,E₀是空载电压幅值,m是有功-频率下垂系数,n是无功-电压下垂系数。两台逆变器并联时,稳态下它们必须运行在同一个频率上(因为连着同一个交流母线,频率是全局量),于是根据P-f下垂关系,两台机器最终会稳定到同一个有功输出点。这就是为什么下垂控制的有功均分精度天然很高。而无功则不一样,电压是局部量,各台逆变器的输出电压经过线路阻抗压降后到达公共母线,母线电压是一个公共的结算点,但各台机器看到的“本地电压”并不相同,所以Q-V下垂的无功均分精度受线路阻抗影响很大。关于这一点,后面讲虚拟阻抗时还要回来细说。
下垂控制最大的价值是实现了“无线并联”。逆变器之间不需要高速通信线,只靠本地电压电流测量就能完成均流,系统即插即用、可靠性高,扩容也方便。微电网里多台分布式电源并联、数据中心UPS冗余并联、储能变流器集群,基本都是这个思路。
1.3 传统下垂控制的局限与虚拟阻抗的引入
传统下垂控制在高中压电网里表现不错,因为那里线路阻抗以感性为主,P-f/Q-V解耦是成立的。但到了低压微电网和低压配电场景,线路电阻往往比感抗大得多,R/X比值甚至超过1。此时功率的耦合关系完全反过来了:有功主要由幅差决定,无功主要由相位差决定,再套用传统的P-f/Q-V下垂就会出现严重的功率耦合,控制效果很差。
工程上解决这个问题的办法是引入虚拟阻抗。所谓虚拟阻抗,是在控制环路里人为构造一个阻抗值,让逆变器的等效输出阻抗从“线路阻抗+滤波器阻抗”变成“线路阻抗+滤波器阻抗+虚拟阻抗”。通过在电压参考值中减去一个与输出电流成比例的压降,就能在软件层面重塑逆变器的外特性,让等效输出阻抗呈现期望的感性或者阻性。引入感性虚拟阻抗后,系统的P-Q耦合被抑制,传统下垂控制又能正常工作了。这也是双机并联模型里几乎必加虚拟阻抗的原因。
不过固定虚拟阻抗也有一个明显短板:虚拟阻抗越大,等效内阻越大,带载时输出电压掉落越厉害,电压质量越差;虚拟阻抗太小,又压不住线路阻抗差异带来的环流和功率不均。这个矛盾单纯靠调一个固定值很难化解,于是就有了自适应虚拟阻抗的思路。
2. 自适应虚拟阻抗的核心思路与公式设计
2.1 虚拟阻抗在dq坐标系下的实现方式
先在控制层面对齐一个基础问题:虚拟阻抗怎么算。三相系统里最方便的做法是把输出电流变换到dq同步旋转坐标系,然后按阻抗的伏安关系对电压参考做修正。假设虚拟阻抗为Z_v = R_v + jωL_v,那么在dq坐标系下:
v_d_ref = v_d0 - R_v·i_od + ω·L_v·i_oq v_q_ref = v_q0 - R_v·i_oq - ω·L_v·i_od
这里的v_d0和v_q0是下垂控制器给出的原始电压参考,i_od和i_oq是逆变器输出电流的d/q轴分量。注意交叉项ω·L_v·i_oq和-ω·L_v·i_od,这是电感在旋转坐标系下的固有耦合,不能漏掉,很多第一版模型调不通就是栽在这个交叉项的符号上。d轴与电压矢量对齐时,i_od对应有功电流,i_oq对应无功电流,因此R_v主要影响有功通道,L_v主要影响无功通道,两者配合就能把整个输出阻抗特性塑造成我们想要的样子。
实现上有一个容易忽略的点:虚拟阻抗用的电流,应该是逆变器输出侧电流(一般取滤波电容前的电感电流或者输出到母线的电流),不是负载电流。如果测错了节点,虚拟阻抗的压降补偿就不准确,控制效果会大打折扣。
2.2 固定虚拟阻抗的取舍困境
固定虚拟阻抗的参数选起来很纠结。我习惯先算一个基准值:让虚拟感抗ωL_v虚拟阻性分量R_v相对线路阻抗足够大,大到“盖住”线路阻抗的不一致。比如两台逆变器并联,线路阻抗分别是0.1Ω+0.5mH和0.2Ω+1.2mH,那么虚拟阻抗至少要取到R_v=0.5Ω、L_v=2mH,才能让两台机器感受到的等效阻抗差异被稀释到可以接受的程度。2mH在50Hz下的感抗大约是0.628Ω,和R_v合在一起,比线路阻抗大了三到四倍,均分效果就比较明显了。
但代价也很直接:满载时虚拟阻抗上的压降会造成逆变器输出电压明显低于空载电压。前面已经算过,如果虚拟阻抗是0.5+j0.628Ω,输出额定电流约32A(按10kVA、311V峰值估算),虚拟阻抗压降就有大约25V,折算到幅值大约是8%的电压偏差。这个量级在工程上不可忽略。所以固定虚拟阻抗本质上是在“均分精度”和“电压质量”之间赌一个固定值,负载一变,总有一头吃亏。
2.3 自适应虚拟阻抗策略设计
自适应虚拟阻抗的思路,是把“手动选固定折中值”变成“实时在线调节”。核心逻辑就一句话:什么时候环流大、均分误差大,就把虚拟阻抗调大去压制;什么时候环流已经很小,就把虚拟阻抗往回收,保住电压质量。
具体实现我推荐按环流反馈来设计。先定义两台逆变器的环流:
i_cir_d = (i_od1 - i_od2) / 2 i_cir_q = (i_oq1 - i_oq2) / 2
其中i_od1/i_od2分别是1号、2号逆变器的d轴输出电流,q轴同理。d轴环流反映有功分配差值,q轴环流反映无功分配差值。自适应调节律用PI控制器驱动:
R_v = R_v0 + (k_pR + k_iR/s) · i_cir_d L_v = L_v0 + (k_pL + k_iL/s) · i_cir_q
稳态时积分项会把环流逐步逼到零,R_v和L_v各自稳定在一个固定值上。有意思的是,这个稳定值两台机器通常不一样:线路阻抗小的那台会得到一个更大的虚拟阻抗,线路阻抗大的那台虚拟阻抗会被压小,正好“补齐”了两条路径的阻抗差异,这就是自适应虚拟阻抗能提高均分精度的机理。需要说明的是,这里计算环流需要知道另一台机器的输出电流,属于低带宽通信或者集中式信号交换,在仿真模型里可以直接把2号机的电流信号引过来,实际工程中也可以接受低速通信,因为控制的带宽很低,对通信实时性要求不高。
参数上我给出一个可用的起始点,后面可以在仿真里微调:R_v0取0.5Ω,L_v0取2mH,环流调节的PI参数先给k_pR=0.5Ω/A、k_iR=10Ω/(A·s)、k_pL=0.3mH/A、k_iL=5mH/(A·s),并给虚拟阻抗加饱和限幅,比如R_v限制在0.2~2Ω,L_v限制在0.5~5mH,防止积分饱和导致虚拟阻抗极端化。
3. Simulink模型搭建完整过程
3.1 主电路拓扑与参数设置
仿真模型我按两套完全相同的三相全桥逆变器设计,区别只在线路阻抗上,这样能把控制策略的效果看得清清楚楚。主电路拓扑是:直流源→三相桥→LC滤波器→线路阻抗→公共交流母线→负载。直流侧电压取800V,交流输出线电压380V(相电压220V,峰值311V),额定容量每台10kVA,开关频率10kHz。
滤波器参数我取L=1.5mH(串联寄生电阻0.01Ω)、C=50μF。这个组合的LC谐振频率大约在581Hz,和后面电流环、电压环带宽的配合比较合理。线路阻抗刻意设置成不对称:1号机到母线的线路阻抗是0.1Ω+0.5mH,2号机是0.2Ω+1.2mH。这种不对称是检验自适应虚拟阻抗最好的试金石——固定参数策略在这种工况下会原形毕露。负载用三相RLC并联负载挂在公共母线上,初始轻载5kW,后续通过断路器或者阶跃信号再投入额外负载。
仿真环境方面,用Simscape Electrical里的powergui选离散模式,采样步长设1e-6秒。10kHz的PWM载波,一个开关周期有100个仿真步,波形分辨率足够。千万别用连续求解器跑这种带开关器件的模型,不然一个1.5秒的仿真能跑到地老天荒。
3.2 功率计算与低通滤波
下垂控制需要的是平均有功和无功,不能把瞬时功率的纹波直接丢给下垂方程,否则频率和电压参考会抖。功率计算我采用瞬时功率理论,先做Clarke变换把abc电压电流变到αβ静止坐标系:
u_α = (2/3)·(u_a - 0.5·u_b - 0.5·u_c) u_β = (2/3)·(√3/2·u_b - √3/2·u_c)
然后计算瞬时功率:
p = 1.5·(u_α·i_α + u_β·i_β) q = 1.5·(u_β·i_α - u_α·i_β)
注意这里用1.5系数,是基于等功率变换;如果是等幅值变换,系数要相应调整,否则下垂系数计算会整体偏大或偏小。
得到p和q之后接一个一阶低通滤波器,截止频率我一般取10~20Hz。这个参数有两难:截止频率太低,功率观测滞后,负载突变时下垂参考响应慢,两台机器可能出现过冲;截止频率太高,纹波滤不干净,频率参考上会看到明显的毛刺。我自己常用20Hz作为起点,如果波形毛刺明显就往下降到10Hz,如果动态响应太慢就往上升到30Hz,算是一个需要根据结果微调的折中量。
3.3 下垂控制器与参考电压生成
下垂控制器的实现非常直接,按照前面两个方程搭就行。频率通道:ω = ω₀ - m·P_filtered,ω₀ = 2π·50 ≈ 314.16 rad/s。把ω送入积分器得到相位θ,积分器的初值两台机器都设0即可,稳态后它们会自动形成微小的相位差来传递有功功率。电压通道:E = E₀ - n·Q_filtered,E₀ = 311V,输出作为dq坐标系下的d轴参考。整套思路可以认为是让每台逆变器“自建”一个参考坐标系,不需要外部PLL锁定,这就是所谓自同步方式。
这里有一点要提醒:两台逆变器各自有独立的积分器生成相位,虽然频率最终一致,但相位并不锁定,它们之间存在一个稳态相位差δ,这个δ正是传递有功功率所必需的。你在示波器上看两台机器的θ会差一个固定的角度,这是正常现象,不是模型出错了。
生成参考电压后,进入虚拟阻抗环节。把输出电流变换到本机dq坐标系,按前面提到的公式修正电压参考:
v_d_ref = E - R_v·i_od + ω·L_v·i_oq v_q_ref = 0 - R_v·i_oq - ω·L_v·i_od
修正后的v_d_ref和v_q_ref作为电压外环的输入。注意这里的ω建议直接用下垂环输出的实时ω,而不是固定工频,这样动态过程中虚拟阻抗的交叉项更准确。
3.4 电压电流双闭环与PWM生成
修正后的电压参考经过双闭环调节器生成调制波。结构是典型的电压外环+电流内环:电压环的误差经PI输出电感电流参考,电流环的误差经PI输出调制电压,最后加上解耦项和前馈项,生成dq轴的调制波,再经过反Park变换得到三相调制波,与10kHz三角载波比较产生PWM。
双闭环的作用是让逆变器表现为一个受控电压源,输出阻抗被压得很低、动态响应快,为外层的下垂和虚拟阻抗提供一个“干净”的执行平台。调参顺序一定是从内到外:先调电流环,再调电压环,最后才动下垂和虚拟阻抗。我见过太多人上来就一顿乱调,结果波形振铃了一上午也不知道问题出在内环还没稳定。
PWM生成在Simulink里我用Universal Bridge配合PWM发生器实现,也可以用“Sawtooth”载波和比较器自己搭。开关频率10kHz,载波比200,三相调制波分别与载波比较,输出带死区的互补脉冲给IGBT桥臂。默认的Universal Bridge自带阻容吸收电路,如果发现仿真速度太慢,可以把吸收电阻设成无穷大、吸收电容设成0,能让仿真明显提速。
3.5 自适应虚拟阻抗模块实现
自适应模块我单独封装成一个子系统,输入是本机输出电流的d/q分量和另一台机器的电流d/q分量,输出是经过限幅的R_v和L_v。内部先计算环流,经一个截止频率约20~50Hz的低通滤波器平滑(防止高频分量进入自适应环),再进PI控制器,最后套饱和限幅模块。饱和限幅一定要加,不然重载启动时积分器可能把虚拟阻抗推到离谱的值,导致电压塌陷。
自适应环的带宽必须明显低于内环和下垂环。道理不复杂:它本质上是慢速的“阻抗修正”,如果响应太快,会和功率环的动态互相激励,系统容易震荡。实际仿真中,我把自适应PI的积分时间常数放在几十毫秒量级,看起来“迟钝”,但稳态效果非常好。
4. 控制参数整定与计算过程
4.1 下垂系数的工程计算
下垂系数不是拍脑袋定的,它有明确的物理约束。有功下垂系数m的约束条件是:机组从空载到满载,频率偏差不超过允许值。我一般取最大频率偏差1Hz,即Δω=2π rad/s。额定有功P_n=10kW,于是:
m = 2π·1 / 10000 = 0.0006283 rad/(s·W)
这个系数的含义是:多输出1kW有功,频率下降约0.063 rad/s,也就是约0.01Hz。两台10kW的机组并联,总负荷20kW满载时,每台输出10kW,频率总共下降1Hz,符合设计目标。
无功下垂系数n的约束类似:机组从空载到额定无功,电压幅值偏差不超过允许值。取最大电压偏差为5%额定电压幅值,即0.05×311=15.55V,额定无功Q_n按10kVar算:
n = 15.55 / 10000 = 0.001555 V/Var
这两个数可以直接用MATLAB算,避免手滑:
% 下垂系数计算 P_n = 10000; Q_n = 10000; % 额定有功/无功(W, Var) df_max = 1; dE_max = 0.05*311; % 最大频率偏差/电压幅值偏差 m = 2*pi*df_max / P_n; % 0.0006283 rad/(s*W) n = dE_max / Q_n; % 0.001555 V/Var这里有个细节值得展开:下垂系数的取值要兼顾动态稳定性。m和n偏大,均流响应快,但系统阻尼变差;偏小则均流缓慢,负载突变时功率偏差持续时间长。工程上如果发现负荷突变后功率振荡,优先检查是不是下垂系数过大。
4.2 虚拟阻抗初值的确定方法
虚拟阻抗初值的确定逻辑,是让它“明显大于线路阻抗差异,但又不至于吃掉太多电压”。我习惯先统计两台逆变器到公共母线的线路阻抗差。假设1号线路阻抗0.1Ω+0.5mH(50Hz下感抗0.157Ω),2号线路阻抗0.2Ω+1.2mH(感抗0.377Ω)。两条路径的阻抗差大约0.22Ω,那么虚拟阻抗至少要比这个差值大2~3倍才有压制效果。
考虑要让等效输出阻抗呈感性以解除P-Q耦合,虚拟感抗要大于虚拟电阻。取R_v0=0.5Ω、L_v0=2mH,50Hz下感抗ωL_v=0.628Ω,满足感性占主导的条件,同时相对于线路阻抗差有接近3~5倍的裕量。满载时虚拟阻抗压降大约25V,这个压降会在自适应调节下随着负载状态动态变化,轻载时自适应环路会主动把虚拟阻抗收回来一些,从而缓解电压质量问题。
4.3 双闭环PI参数按带宽法初算
双闭环PI参数我用带宽法初算,之后再在仿真里微调。思路是:把电流环设计成带宽ω_ci约为1kHz,即6283 rad/s;电压环带宽ω_cv取200Hz,即1257 rad/s,保证电压环明显慢于电流环,两个环路不打架。
电流环被控对象近似为(L·s + R),调制增益折算为Vdc/2=400V。按开环增益在ω_ci处等于1来整定:
kp_i = (L·ω_ci) / (Vdc/2) = (0.0015×6283) / 400 ≈ 0.0236
积分系数把零点放在100 rad/s附近,给出足够的低频增益:
ki_i = kp_i × 100 ≈ 2.36
电压环被控对象近似为1/(C·s),在ω_cv处开环增益为1:
kp_v = C·ω_cv = 50e-6 × 1257 ≈ 0.0628
ki_v = kp_v × 100 ≈ 6.28
这些值是带量纲的初算结果,实际模型里的直流量、调制比不同,最后可能要做0.5~2倍的调整。调的时候盯着阶跃响应,电流环看电感电流是否迅速跟上且无振铃,电压环看电容电压稳态误差是否被消除。先保证内环干净,再谈外环。
5. 仿真运行与结果分析
5.1 仿真工况设置
我自己验证模型用三段式工况:0~0.3秒轻载运行,负载5kW+2.5kVar,让两台机器启动并稳定;0.3秒投入一级负载,总负载变成15kW+7.5kVar;0.7秒再投入一级,总负载来到20kW+10kVar。这样既能看稳态均分精度,又能看负载突变时的动态过渡过程。仿真总时长1.2秒,1微秒步长,运行时间大约十几分钟到半小时,取决于电脑配置。
为了对比自适应虚拟阻抗的效果,我建了两套模型:一套用固定虚拟阻抗R_v=0.5Ω、L_v=2mH,另一套用自适应策略,其他所有参数完全一致。这是保证结论可信的关键——控制变量要控制彻底,不然你分不清效果差异是参数差异带来的还是策略差异带来的。
5.2 波形判读的几个关键观察点
仿真跑完,先看五个东西:两台逆变器的有功P1/P2、无功Q1/Q2、公共母线电压幅值、系统频率(或者两台机器的相位差)、输出电流波形。
有功均分的判读标准很简单——稳态下P1和P2应该基本重合,差值在2%以内就算合格。由于频率是全局量,传统下垂本来就能保证有功精确均分,所以有功波形更多是看动态过程是否平滑。无功均分是重头戏,固定虚拟阻抗工况下,由于线路阻抗不对称,Q1和Q2会出现可见的稳态偏差,比如总无功7.5kVar时,1号机可能分到4.6kVar、2号机只分到2.9kVar,偏差超过20%。这个偏差就是线路阻抗失配导致的,固定参数压不住。切换到自适应虚拟阻抗工况后,同样的不对称线路,Q1和Q2会逐渐靠拢,稳态偏差能压到总无功的2%~5%以内,效果肉眼可见。
还要看环流波形。把两台机器输出电流取差除以2,得到环流。自适应策略下,环流幅值在启动初期可能有个短暂波动,随后被积分器逐渐拉低,稳态时明显小于固定虚拟阻抗工况。这就是自适应调节律起作用的直接证据。电压质量方面,固定较大虚拟阻抗在满载时母线电压可能被拉到300V以下,而自适应策略由于在轻载和均分良好时主动收回虚拟阻抗,电压跌落更小,一般能维持在305V以上。这组对比能清楚地说明“自适应”的价值:既要均分精度,又要电压质量,两者兼得。
5.3 动态过程的表现与注意事项
负载突增的瞬间,P和Q都会有一个短暂的超调,然后在大约200~400毫秒内收敛到新的稳态。收敛速度主要由功率低通滤波器的截止频率和下垂系数决定。如果功率滤波器取20Hz,收敛时间一般在150~300毫秒量级,这个数值在微电网并联场景里是能接受的。要是发现收敛过程出现等幅振荡,多半是功率滤波截止频率偏高同时下垂系数偏大,两者叠加导致开环增益过高。一台一台往下调,每次只动一个参数,比乱枪打鸟高效得多。
有一个现象需要习惯:两台逆变器的相位θ稳态后会有一个固定差值,不要觉得这是故障。前面说过,有功传递靠的就是这个相位差,负载越大,相位差越大。如果仿真里看到两台机器的电压幅值几乎一致但相位差稳定在几度,完全正常。
我还会额外记录一个变量:自适应环输出的R_v和L_v数值。你会发现1号机的R_v/L_v会收敛到比初始值大的位置,2号机则收敛到偏小的位置,正好补偿了两条线路阻抗的差异,这个波形放出来非常直观,写论文做汇报都是很好的素材。
6. 常见问题与调参避坑实录
6.1 仿真发散与步长设置的坑
最常遇到的问题是模型一开始就发散或者波形高频振荡。第一反应总是怀疑控制参数不对,但其实多半是仿真求解器设置的问题。开关器件模型在Simulink里必须有powergui,而且要选离散模式、固定步长。步长1e-6秒是开关频率10kHz模型的安全起点,如果你把步长放宽到5e-6秒甚至1e-5秒,仿真确实会快很多,但PWM边沿的分辨率就变差了,轻则波形毛糙,重则控制环采样抖动导致振荡。
另外Universal Bridge默认的阻容吸收电路会影响仿真速度和数值稳定性。仿真前把吸收电阻设成inf、吸收电容设成0,能让仿真速度提升明显,而且对结果基本没有影响。如果你的模型里已经有RC snubber,建议关掉再跑一次,会省非常多的等待时间。
6.2 功率滤波器截止频率的两难选择
功率低通滤波器的截止频率,是我在所有参数里调整次数最多的一个。取太高,比如50Hz以上,瞬时功率纹波泄漏到下垂参考上,频率波形会出现明显的锯齿状抖动;取太低,比如2Hz,功率观测太滞后,负载突变时两台机器可能各自超调,甚至出现功率往复振荡。
我的经验是从20Hz起步,先看空载和轻载下的频率参考波形,如果毛刺明显就往10Hz方向降;如果动态响应太肉,就往30Hz方向升。另外要检查dq变换使用的角度是否是本机的积分相位,如果角度和电压实际相位对不齐,功率计算结果会出现周期性的二倍频分量,这也是滤波之后还看到纹波的常见原因。
6.3 虚拟阻抗和自适应环的稳定性问题
固定虚拟阻抗阶段容易犯的错是符号搞反。dq坐标下的交叉项ωL_v·i_oq,符号必须和推导一致。一个简单有效的检查办法:只跑单台逆变器带RL负载,把虚拟阻抗从0往大调,观察输出外特性——电压应该随负载增大而下降,而不是上升。如果方向反了,说明交叉项有符号问题,多半是在Park变换的角度正负号约定上出错了。
自适应环不稳定是另一类高频问题。症状是R_v/L_v数值来回跳动,或者两台机器的功率持续振荡。原因通常有两个:一是环流信号没做低通滤波就进PI,高频分量直接被放大;二是自适应PI的比例系数过大。我建议给环流信号加一个20~50Hz的低通,然后k_p先给到很小甚至先单独用积分项跑,确认系统稳定后再逐步加比例项。限幅也是必须的,虚拟阻抗一旦跑出合理范围(我上面给了0.2~2Ω和0.5~5mH的参考),就对电压产生过度压制,局面很难救回来。
6.4 从单机到并联的分步调试法
最后分享一个我强烈推荐的调试顺序,能帮你把排查范围缩小一大半。第一步,单台逆变器开环,给定三相正弦参考,确认主电路和PWM通路正确;第二步,单台逆变器闭环,先电流环后电压环,确认内环稳定;第三步,加入固定下垂控制,带负载观察功率跟随情况;第四步,加入固定虚拟阻抗,确认外特性正常;第五步,才把两台机器并联,此时如果还有问题,大概率出在环流和阻抗匹配上;最后一步,切换到自适应虚拟阻抗,单独调自适应环参数。
这个顺序的核心价值在于:每一步出现问题,问题点只会出现在最后加入的那个环节里。很多人习惯把完整模型一次搭完,一旦发散,满天都是嫌疑对象,排错成本极高。我踩过的最大的坑就是反过来干的,一个星期的排查时间,最后发现只是电流环一个PI的积分限幅没加。从那以后我再也不敢跳步了。
仿真模型的收敛性也会受启动方式影响。我建议所有控制器在启动瞬间用软启动,让下垂参考从空载值以斜坡方式爬升到目标值,能显著减少启动冲击。如果你调试时发现启动阶段电流就有明显尖峰,先别急着怀疑控制策略,大概率是参考值跳变引起的,加个斜坡就能解决。