☰
并网逆变器VSG预同步控制Matlab仿真模型搭建与调试
2026/10/9 5:12:12 网站建设 项目流程

做过微电网和分布式电源并网仿真的朋友,十有八九都遇到过这个画面:预同步没做好的模型一合闸,直流母线电压瞬间被拉垮,电流波形上冲出一个尖峰,直接把过流保护和示波器刻度一起顶飞。这个标题很直白——VSG预同步控制Matlab仿真模型,主要模块就是并网逆变器、VSG控制、预同步控制加电流环。一句话说清楚它干什么:在并网逆变器接入电网之前,先靠虚拟同步发电机控制把逆变器输出电压的频率、相位、幅值对齐到电网侧,满足合闸条件后再并网,避免电压差在开关闭合瞬间制造冲击电流。

这套仿真模型对两类人最有价值。一是做微电网、储能变流器、新能源并网控制的研究者,需要快速验证VSG的惯量支撑和预同步逻辑;二是刚入门逆变器控制的开发者,想搞明白为什么PQ控制并网会“硬碰硬”,以及VSG这类构网型控制到底怎么和锁相环、电压电流双环配合。下面按我从模型搭建到调试完成整个过程的思路,把VSG预同步仿真模型拆开讲清楚,包括原理、参数、操作步骤和踩过的坑。

1. 并网逆变器VSG控制整体架构拆解

1.1 为什么用VSG而不是传统PQ控制

传统并网逆变器大多用PQ控制,也就是电流内环加功率外环,把逆变器当成一个跟随电网的电流源。电网电压由大电网撑住,逆变器只负责把功率送出去,这在强电网、大电网环境下没问题。但到了微电网、弱电网或者离网转并网的场景,问题就来了:一旦电网频率波动或电压跌落,电流源型逆变器不会主动提供惯量和阻尼,母线电压靠谁撑?所以这几年构网型控制成了热点,VSG就是其中最有代表性的一种。

VSG的核心思想,是让逆变器在控制层面“模拟”一台同步发电机的转子运动方程和励磁调节特性。别人看到你的逆变器,感觉它像一台有转动惯量的同步机:系统频率下降时,它会把储存的动能释放出来支撑频率;系统频率升高时,它又能吸收能量抑制超调。这种对外呈现的电压源特性,正是微电网和弱电网最需要的。

在MATLAB/Simulink里实现VSG并不需要复杂的物理设备,只需要在控制算法里求解同步发电机的转子运动方程,再用计算结果去生成电压幅值和相位参考。换句话说,硬件还是那个三相逆变器,变的是控制器灵魂。这也是为什么标题把“并网逆变器+VSG控制+预同步控制+电流环”列在一起——它们本来就是一套完整的级联关系:VSG生成电压参考,预同步保证合闸安全,电流环负责快速跟踪,最终驱动PWM输出。

1.2 模型拓扑与主电路参数选择

这套仿真的主电路我用的是最经典的三相两电平逆变器拓扑,直流侧用理想直流源模拟光伏或储能电池输出,中间是直流母线电容,逆变桥输出经滤波电感电容接到电网。滤波方式选了LC滤波加线路阻抗的组合,之所以不直接用LCL,是因为LCL在仿真里更容易出现谐振尖峰,调试时又多一个麻烦变量。LC滤波加上电网等效阻抗,已经足够复现并网冲击和功率传输行为。

主电路关键参数我列个表,方便直接对照参考:

参数数值说明
直流母线电压700V留足调制裕度,方便输出380V线电压
电网线电压有效值380V/50Hz常规低压配电网
滤波电感3mH兼顾电流纹波和动态响应
滤波电容15uF与电感配合抑制高频分量
线路阻抗0.1Ω + 1mH模拟并网线路长度的影响
开关频率10kHz常用IGBT频率,波形和损耗折中

电压等级上,直流侧要保证逆变器能输出不低于电网线电压峰值的电压。380V线电压的峰值大概是537V,所以直流母线放到700V,留足调制余量,避免过调制导致波形畸变。这个思路和工程样机选型一样,先看网侧电压,再往回推直流侧,不是拍脑袋定的。

1.3 控制系统分层与模块规划

整个控制系统的规划可以分成四层。最外层是功率计算层,用瞬时功率理论计算逆变器输出的有功功率P和无功功率Q;第二层是VSG核心层,把P和Q反馈到转子运动方程和励磁调节方程,生成电压幅值指令E和相位指令θ;第三层是预同步层,在并网前对E、θ做修正,使它向电网电压对齐;最内层是电压电流双环,电感电流内环保证快速性,输出电压或滤波电容电压外环保证波形质量。四层信号最后汇总成调制波,送PWM发生器。

听起来很复杂,但模块划分清楚之后,Simulink模型就是一个个封装子系统的堆叠。很多人建模失败,不是原理不懂,而是把所有模块平铺在一个图上,信号线绕成蜘蛛网,出了问题根本没法查。我习惯的做法是:主电路拉通之后,把VSG核心、预同步、电压电流环各封装成独立子系统,子系统之间只交换功率、电压幅值、频率相位这几条必要信号,调试时按子系统逐级验证,效率高得多。

2. VSG核心控制与预同步原理详解

2.1 转子运动方程与虚拟惯量、阻尼参数

VSG最核心的公式就是同步发电机的转子运动方程。忽略复杂电磁暂态,简化的形式是:

J * dω/dt = Pm - Pe - D * (ω - ω0)

其中J是虚拟转动惯量,单位是kg·m²,但仿真中可以当成一个可调的控制参数;Pm是机械功率参考,对应并网指令有功功率Pref;Pe是电磁功率,也就是逆变器实测输出有功;D是阻尼系数;ω是虚拟转子角速度,ω0是额定角频率。这个公式的意义用大白话讲:当输出的有功功率Pe小于参考功率Pm时,多出来的能量会让虚拟转子加速,频率上升;反之频率下降。除非P和ω之间存在平衡,否则系统会像真实的同步机一样惯性移动,而不是瞬间跳变。

转角θ由ω积分得到,θ再作为电压相位的参考送给调制环节。这样一来,有功功率和频率就通过转子运动方程牢牢绑定在了一起,这就是一次调频特性的来源。

J和D怎么选,是仿真调试里非常关键的一组参数。J取大,惯性大,频率变化迟缓,但动态响应慢,功率容易出现低频振荡;J取小,响应快,但对电网的抗扰动能力弱。D则直接影响频率偏差的稳态大小,D越大,同样的功率缺额造成的频率跌落越小,相当于调差系数越硬。我一般先设J在0.5到2之间,D在20到50之间,然后观察阶跃响应做微调。这个范围不一定适合所有功率等级,但作为起始值够用。

2.2 无功电压下垂特性

VSG的励磁调节部分模拟的是同步发电机的励磁系统,最常用的控制方程是无功电压下垂:

E = E0 + n * (Q0 - Q)

E是虚拟电动势幅值,E0是空载电动势参考,n是下垂系数,Q0是无功功率参考,Q是实际输出无功。公式表明:输出无功增大时,电压幅值下降。这种特性保证了多台VSG并联时,无功功率能按容量比例自动分配,就像多台同步发电机并联运行时那样。

不过这里有个工程细节,E直接参与预同步。如果只靠下垂方程,E是跟随无功波动的,并网前的空载状态下无功输出为零,E基本等于E0,未必等于电网电压幅值。所以在预同步阶段,需要在E0基础上叠加一个幅值修正量ΔE,把输出电压一点点拉到与电网电压一致。这个ΔE由预同步控制器生成,并网完成后综合判断是否继续保留,或者切换到正常的无功电压控制。项目标题里同时提到VSG控制和预同步控制,就是因为这两者在电压生成路径上是串联关系,缺一不可。

2.3 预同步控制的具体做法

预同步的目标很简单:让逆变器的输出电压和电网电压在三要素上一致——幅值一致、频率一致、相位一致。合闸瞬间产生冲击电流的直接原因,就是因为合闸开关两侧存在电压差,可以理解成你把两个水位不同的水池突然用管道连通,水位高的那侧必然会瞬间流出大量水,对应到电路里就是冲击电流。

仿真里我用的预同步控制策略是:先用锁相环锁住电网电压的相位θg,同时从VSG内部取当前输出相位θ,把两者做差得到相位误差Δθ。这个Δθ经过一个PI调节器,输出频率修正量Δω,加到VSG转子的角速度指令上。只要Δθ不等于零,PI就会不断调整频率,让VSG输出相位往电网相位靠,直到Δθ进入允许的误差带,比如小于0.5度或1度。

幅值预同步同理。取电网电压的幅值Ug_m,与VSG输出电压幅值E做差,送入另一个PI调节器,输出幅值修正量ΔE,叠加到电压指令上。两个PI同时工作,相位对齐和幅值对齐同步进行。频率的对齐其实不用单独做一个环,因为频率是相位的微分,相位差收敛到零时频率差自然也就是零了。这就是频率相位预同步的本质。

下面是我在Simulink里用Matlab Function写的预同步核心逻辑,可以作为参考模板:

function [dw, dE] = f_pre_sync(theta_vsg, theta_g, E_ref, Ug_m) % 预同步控制器:频率相位和幅值同步 % 输入:VSG相位theta_vsg、电网相位theta_g、VSG电压幅值ref、电网电压幅值Ug_m % 输出:频率修正量dw、幅值修正量dE persistent PhasePI_Err; persistent PhasePI_Out; persistent AmpPI_Err; persistent AmpPI_Out; if isempty(PhasePI_Err) PhasePI_Err = 0; PhasePI_Out = 0; AmpPI_Err = 0; AmpPI_Out = 0; end % 相位差归一化到[-pi, pi],避免角度跳变 dTheta = theta_g - theta_vsg; dTheta = atan2(sin(dTheta), cos(dTheta)); % 相位PI:比例系数Kp_ph,积分系数Ki_ph Kp_ph = 2.0; Ki_ph = 20.0; PhasePI_Err = PhasePI_Err + Ki_ph * dTheta * 1e-4; PhasePI_Out = Kp_ph * dTheta + PhasePI_Err; % 限幅,防止频率修正量过大 if PhasePI_Out > 5.0 PhasePI_Out = 5.0; elseif PhasePI_Out < -5.0 PhasePI_Out = -5.0; end % 幅值PI dE = Ug_m - E_ref; if abs(dE) < 0.5 dE = 0; end Kp_E = 0.8; Ki_E = 10.0; AmpPI_Err = AmpPI_Err + Ki_E * dE * 1e-4; AmpPI_Out = Kp_E * dE + AmpPI_Err; dw = PhasePI_Out;

代码里有两个地方值得留意。一是相位差必须做atan2归一化,因为电网相位和VSG相位是两个独立积分器算出来的,可能在2π边界附近产生跳变,不做归一化,PI调节器会把一个本应很小的误差当成360度大偏差,输出直接饱和。二是幅值环加了死区,误差小于0.5V就不调节,避免并网前高频抖振。两个PI的输出各自限幅,工程上这是必须的,仿真模型提前把限幅加上,后面换实物时不用重写逻辑。

2.4 预同步和锁相环的关系

很多刚接触VSG的人会问:VSG不是电压源型控制吗,为什么还要锁相环?这里要分清楚,VSG的输出相位是自己通过转子运动方程积分出来的,并不依赖电网;但预同步必须知道电网相位,所以锁相环只是用来测量电网状态,不参与VSG本体的相位生成。换句话说,锁相环是预同步的“眼睛”,不是VSG的“大脑”。

这个区别直接影响锁相环的参数设计。并网前,逆变器还没合闸,电流为零,锁相环锁的是纯电网电压,此时PLL带宽可以设低一点,滤波更干净;并网后,如果PLL继续存在,它的动态会与VSG的转子方程耦合,可能引入振荡。所以工程上常用策略是:预同步阶段用PLL获取电网相位,等合闸完成、进入VSG并网运行模式后,把PLL的作用逐步退出。仿真模型里最简单的方式是加一个状态标志位,模式切换时对控制量做平滑过渡。

3. MATLAB/Simulink仿真模型搭建实操

3.1 顶层模型布局

打开Simulink先不要急着拖模块,先画一张模块关系草图。我的顶层布局大概是这样:左上角是直流源和三相逆变桥,逆变桥输出接LC滤波,再经过一个受控开关接到三相电网;控制部分放在模型右侧,从上到下依次是功率计算、VSG核心、预同步、电压电流双环、PWM发生器。并网开关用Breaker或者Three-Phase Breaker模块实现,用Step信号控制它在指定时刻闭合。

仿真步长方面,我建议先用连续求解器ode23tb跑通逻辑,再考虑换离散求解器。原因很简单,连续模型收敛相对容易,PWM和电力电子模型在连续域的表现更平滑,适合先把控制逻辑验证正确。等逻辑没问题了,再改成离散控制步长,比如Ts=1e-4或5e-5,模拟真实DSP的采样频率,这时候看数字控制引入的延时效应,结果更接近实物。

对于Simulink版本,我用的版本里电力电子模型在Simscape Electrical库,不同版本模块名称可能有差异,但三相桥、滤波器、电网这些基础元件都大同小异。初次搭建建议把主电路和控制部分分两个模型文件保存,主电路模型跑通开环后,再把控制子系统复制进来闭环调试,一旦出问题,能明确判断是主电路还是控制的问题。

3.2 关键模块和参数设置

搭建时最容易出错的是电网模块。Simulink里的Three-Phase Source可以设置成理想电压源,但要记得给它串联一个小的线路阻抗,否则仿真中会出现数值奇异性。线路阻抗的具体值不用太大,0.1Ω加1mH足够。你可能觉得电网是无穷大电源,内阻为零才理想,但仿真里理想电流源和理想电压源直接并联会形成代数环,求解器报错,经验上是必须加电阻隔离。

直流侧我用DC Voltage Source,并联一个较大的直流母线电容,容量取1000uF到2000uF。电容小,母线电压在并网瞬间可能塌陷;电容大,动态响应偏慢。在仿真里可以稍微取大一点,因为不用考虑成本和体积,但幅度也别太过,否则电容充电时间会拖慢模型启动。

PWM发生器我也是用的Simscape库里的Universal Bridge自带触发逻辑,控制端直接给调制波信号。IGBT导通压降、管压降这些细化参数先按默认值,不用花太多时间在开关损耗上,研究主题是VSG控制算法,器件模型越简单,调试越轻松。等到做损耗分析或者硬件联调时再换详细开关模型。

3.3 VSG和预同步控制单元实现

VSG核心在Simulink里有两种实现路径。一种是纯Simulink模块搭,转子运动方程用Integrator和Gain模块组合;另一种是用Matlab Function写整个控制算法,代码更紧凑,改参数更方便。两者选哪个看个人习惯。我比较倾向于Matlab Function,因为VSG的方程和预同步逻辑写在一起后,整个控制流程就像看伪代码一样清晰,而且换参数不用在模型图里找模块连线。

在Matlab Function内部,我把VSG转子方程按离散化方式写,采样时间Ts与仿真步长对齐,如下面这个核心片段:

function [theta, E, dw_out] = f_vsg(P_ref, Q_ref, P_measured, Q_measured, Ts, dw_pre) % VSG核心:转子运动方程 + 无功电压下垂 % dw_pre是预同步输出的频率修正量 persistent w_vsg theta_vsg E_vsg if isempty(w_vsg) w_vsg = 2 * pi * 50; theta_vsg = 0; E_vsg = 311; % 输出相电压峰值初始值 end % 转子运动方程 J = 1.0; D = 25; w0 = 2 * pi * 50; dw = (P_ref - P_measured - D * (w_vsg - w0)) / J * Ts; w_vsg = w_vsg + dw + dw_pre; % 叠加预同步频率修正 theta_vsg = theta_vsg + w_vsg * Ts; theta_vsg = mod(theta_vsg, 2 * pi); % 无功电压下垂 n = 0.001; % 下垂系数 E_vsg = E_vsg + n * (Q_ref - Q_measured) * Ts; theta = theta_vsg; E = E_vsg; dw_out = w_vsg - w0;

代码里的dw_pre就是预同步PI调出来的频率修正量。这里有个很容易忽略的细节:预同步修正量要加在转子速度积分之前,也就是直接改变转子角速度,而不是把修正量加到最终相位输出上。如果加在相位输出上,相当于相位立刻跳变,物理意义不对,并网瞬间还是会产生冲击。我把这个修正量接到w_vsg下一次迭代的累加路径上,效果就是让VSG的频率逐步偏移,直到相位差为零时预同步输出归零,VSG自然恢复到额定频率运行。

电压电流双环的搭建相对套路化。电压外环对三相参考电压和测量电压的差值做PI调节,输出dq轴电流指令;电流内环用PI加电网电压前馈补偿,输出dq轴调制电压,再经反park变换得到三相调制波。电流内环的比例系数和积分系数取大一些,保证电流响应快;电压外环带宽压低一些,防止内外环之间振荡。

3.4 初始化脚本与参数整定

参数整定建议集中放在一个.m脚本里,模型不写死参数,统一通过工作空间变量引用。这样一组参数对应一组实验,改参数时不用改模型图,记录调试过程也方便。初始脚本按主电路、VSG、预同步、电流电压环、仿真时间分五段注释,每一段都写好数值和单位。

初始化脚本里还会定义预同步的使能逻辑。我用的是一个常量EN_PRE_SYNC,并网开关闭合信号Step设在t=0.5s,预同步在0到0.5s之间运行。合闸条件除了时间,还可以加上相位差和幅值差都小于阈值的判断,例如相位差小于0.01rad且幅值差小于2V,才允许开关闭合。这样仿真模型就更接近真实并网装置的同期条件判断,而不是简单到点就合闸。

电流环PI参数的起步值,我一般是按电感时间常数和开关频率估算。电流环带宽取开关频率的十分之一到五分之一,10kHz开关频率带宽取1kHz到2kHz。电感3mH,在50Hz下电抗约0.94Ω,电流环PI积分项覆盖稳态压降,比例项提供动态响应。先用Kp=5,Ki=200起步,观察电流阶跃响应,再按阻尼比0.707微调。电压环带宽取电流环带宽的十分之一,Kp取0.5,Ki取20。这套参数不一定最优,但作为初值非常稳,能够避免一步到位调参时不知道往哪个方向改的窘境。

4. 仿真调试中的常见问题与排查

4.1 并网瞬间电流冲击仍然很大

这是预同步控制最常遇到的问题。明明预同步模块已经加了,开关闭合时电流还是冲天。先别急着怀疑预同步策略,按顺序检查三件事。

首先检查相位差是否真的收敛到零。很多模型只做了频率预同步,没有做相位预同步,结果VSG频率和电网频率一致了,但相位差固定在一个角度上,合闸照样冲击。要记住,频率一致不等于相位一致,相位对齐必须靠PI闭环调节。

其次检查合闸时刻的判断。如果开关在预同步完成之前就被时间信号强行闭合,预同步做得再好也白搭。把并网开关的闭合条件改成“时间到且相位差阈值满足”双重判断,模型行为立刻不同。

最后检查幅值预同步是否生效。如果幅值环PI输出被限幅卡住了,或者ΔE没有加到电压指令上,仅相位对齐而幅值偏差几十伏,合闸冲击依然明显。建议在scope里同时观察电网电压和逆变器输出电压的dq轴分量,如果两者曲线重合度很好,再合闸,冲击电流应该只有额定电流的很小比例。我实测下来,相位差控制在1度以内,幅值差控制在1%以内,合闸冲击电流基本可以压到额定电流的10%以下。

4.2 有功功率阶跃后出现低频振荡

VSG的有功功率阶跃响应振荡,本质上是转子运动方程构成的二阶系统阻尼不够。J和D的匹配是主要原因。J偏大,系统惯性大,超调后回调慢;D偏小,阻尼作用弱,振荡衰减慢。这就像汽车悬挂,弹簧刚度J决定振荡频率,阻尼器D决定衰减速度,悬挂太软又没阻尼,过减速带后车身来回晃。

处理手法有两种。一种是调大D,让频率反馈更强,振荡快速收敛,缺点是频率稳态偏差变大,如果后面还要做二次调频就要考虑补偿。另一种是给功率测量加低通滤波器,滤波时间常数取10ms到20ms,把开关谐波和瞬时功率脉动滤掉,反馈到转子方程的信号更平滑。注意滤波时间常数不能太大,否则相位滞后会让整个控制环反应迟钝,有害无益。

还有一种低频振荡来自参考功率突变本身。刚开始调试时,P_ref设置成从0kW直接阶跃到50kW,VSG自然会因为功率不平衡产生频率波动。仿真中可以让P_ref先斜坡上升,斜坡时间100ms到200ms,相当于模拟新能源出力爬坡,系统响应会温柔很多。

4.3 仿真发散、代数环和求解器设置

Simulink仿真发散的原因非常多,但高频出现的是两类:代数环和步长不当。

代数环指信号在同一个计算步长内存在直接反馈,Simulink没有历史值可用,只能迭代求解,迭代不收敛就报错。VSG控制里最容易出现代数环的地方是:功率计算模块用了瞬时测量值,而测量值又来自逆变器输出,逆变器输出又受本步控制量影响。打破代数环的经典做法是在反馈路径上串联一个Memory模块或单位延迟,哪怕只是一个采样周期的延迟,也能切断代数环。代价是控制多一拍延时,但对惯量级的VSG控制来说完全可接受。

步长方面,连续模型如果最大步长设置太大,比如默认的auto在电力电子模型中可能跑到毫秒级,PWM换相瞬间的高di/dt会被严重截断,导致波形异常甚至发散。我一般把最大步长限制在2e-5秒以下,这样每个开关周期内至少有多个采样点,仿真结果稳定,代价是计算时间增加。仿真时长2秒,模型规模不大,也就跑几十秒,完全在可接受范围内。

另外,如果用了离散PWM发生器或离散控制,记得整个系统尽量都在离散域运行,连续和离散混搭会在接口处产生误差。Simulink里可以用“Model Settings”统一设置离散求解器,然后控制部分全部按Ts=1e-4离散化,这样和实物DSP的运行方式更一致。

4.4 模式切换不平滑

仿真模型要模拟完整流程:启动、预同步、并网、稳态运行。这三个阶段之间的控制模式切换如果处理不好,会出现变量跳变。比如预同步阶段PI输出一个频率修正量Δω,合闸瞬间如果这个修正量直接清零,VSG频率会突然跳变,产生功率冲击。

处理方法叫无扰切换,核心思想是切换前后控制器的输出保持连续。在Simulink模型里做两点:第一,预同步使能信号进入VSG时,用平滑使能模块,或者给使能信号加一个斜坡,不让它在0和1之间瞬间跳变;第二,保证各个PI控制器在切换瞬间的积分器初值等于当前输出对应的稳态值。最简单的做法是把预同步PI和VSG的PI输出做加权过渡,在0.2秒内从预同步控制律渐变到正常运行律。我实测这样处理后,模式切换过程的电流波形几乎看不出痕迹。

5. 从仿真到工程:模型扩展与个人经验

5.1 从单机到多机微电网扩展

这个模型跑通后,很多做微电网的朋友会想往多机方向扩展。多台VSG并联时,核心问题变成功率分配和环流抑制。仿真模型可以直接复制主电路和控制子系统生成第二台VSG,但在两个地方要刻意修改:一是直流源要模拟成独立的分布式电源,连接点放在公共母线;二是各台VSG的下垂参数要有差异,体现不同容量机组的功率分配特性。

多机并联后还要关注环流问题,主要看VSG虚拟阻抗设置。给每台VSG的输出串联一个虚拟阻抗,可以有效抑制并联环流。这个虚拟阻抗在控制中实现,不需要改主电路,方法是在电压指令中减去电流乘以虚拟阻抗的压降。参数上,虚拟电阻取0.5Ω到1Ω,虚拟电感取几毫亨,具体值要结合输出阻抗特性和均流精度调试。

多机仿真比单机难调试得多,尤其是电网故障和负载突变场景。建议先把单机预同步和并网完全调稳,再复制第二台,两台之间只做公共母线互联,先不加负荷切换,等两台都能稳定运行了,再逐步增加扰动工况。

5.2 工程落地注意事项

仿真模型跑得通,不等于实物能直接复制。第一个大坑是采样延时。仿真控制部分是理想的同时采样,实物DSP有AD转换时间、计算周期、PWM更新延时,通常有一到两个控制周期的纯延时,这会让电流环相位滞后,稳定性变差。仿真模型如果没考虑这一步,到实物上往往要重新降带宽、加延时补偿。

第二个坑是保护逻辑。仿真里逆变器电流再大也不会炸,但实物中过流、过压、过温保护一个都不能少。控制算法再先进,保护优先级始终最高。仿真阶段就应该把过流保护判断加入模型,模拟过流时闭锁PWM的动作,这样不用等到硬件联调再去填保护代码。

第三个坑是软启动。VSG启动瞬间,直流母线电容充电、滤波器电容充电都会产生冲击。工程样机通常有预充电回路和软启动控制。仿真中如果从零时刻直接启动理想直流源,会掩盖很多启动过程的动态问题。建议把直流源换成带斜坡的受控源,模拟直流母线电压从零爬升的过程,这样更能贴近实物表现。

5.3 几条调试心得

我个人在实际调试中反复验证的几个经验,写下来供参考。

第一,先用开环验证主电路和控制子系统信号能不能对上,再闭环。具体做法是把VSG的输出相位固定在一个常数,只给固定调制波,看主电路输出电压是否和理论计算一致。这一步能排除频谱、测量模块比例错误等低级问题。

第二,所有反馈量的单位一致。Simulink里测量模块输出的电压可能是相电压峰值,也可能是线电压有效值,相位单位可能是弧度也可能是角度。这种单位不统一的问题,出问题的时候非常隐蔽,Scope里看波形觉得都对,但控制就是不收敛。初始化脚本里把每个反馈信号的单位注释清楚,能省一半调试时间。

第三,预同步的PI参数不要太激进。很多人想把相位差尽快调到零,比例积分取得很大,结果相位环和转子运动方程耦合,出现类似锁相环失锁的振荡。预同步本身发生在并网前,几十毫秒的收敛时间完全够用,参数保守一点,合闸反而更平顺。

第四,一个小技巧:调试并网冲击的时候,不要只盯着三相电流波形,把并网开关两端的电压差波形提出来看,合闸前电压差趋于零的过程才是最直观的预同步效果。电压差波形收敛到一条平线,再谈合闸,冲击电流问题基本就解决了一半。

这套模型如果再往下扩展,还可以加入孤岛检测、故障穿越、二次调频、限流保护等内容,各有各的门道。但VSG预同步这个基础打得扎实了,后面扩展都是在同一套骨架上加肉,不会出现推倒重来的情况。我每次给新人演示微电网并网仿真,都是先用这套模型把预同步和合闸冲击讲清楚,再一步步放开限制,代入更复杂的工况。基础模块本身的价值,比任何花哨的扩展都值得先吃透。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询