资讯动态

LADRC自抗扰控制VSG逆变器预同步并网策略详解

发布时间:2026/10/22 6:16:41 来源:尧图企业网站定制
搞过微电网并网的朋友应该都有这种经历逆变器从离网切换到并网那一瞬间电流“咣”地顶上去轻则报警停机重则炸模块。这个问题的根源说白了就是两侧电压存在幅值差、频率差和相位差并网瞬间相当于把一个带初始相位差的电源直接挂到大电网上冲击电流自然躲不掉。我最近把一个新策略在Simulink里完整跑通了基于LADRC自抗扰控制的VSG三相逆变器预同步并网控制策略。这套组合在仿真里解决了我之前最头疼的三个事VSG保证微网/孤岛模式下的电压频率支撑特性LADRC替代传统PI电压环让动态响应更快预同步控制则把并网瞬间的冲击电流压到了非常小的水平。这篇就把整体思路、核心方程、关键参数和调试过程中踩过的坑一次说清楚适合正在做微网逆变器控制的研究生也适合从PQ控制转向VSG控制、做并离网切换调试的工程师参考。1. 整体方案拆解VSG、LADRC与预同步各解决什么问题很多刚接触VSG的人容易误会觉得虚拟同步发电机只是把下垂曲线换一种写法。实际上VSG这个名字意味着你需要在控制器里“模拟一台真实的同步发电机”包括转子惯量、阻尼特性、一次调频和调压能力。而在此基础上还要保证并网瞬间不闯祸这就把LADRC和预同步拉进来了。1.1 为什么要用VSG替代PQ控制常规跟网型逆变器用PQ控制通过锁相环跟住电网角度输出指定有功无功。它的优点是控制直观、响应快缺点也很明显没有惯量没有调压调频的主动性。微网里只要负荷突变系统频率可能直接往下掉因为逆变器不会像同步机那样“吃力地顶住”。VSG的做法是引入转子运动方程描述输出角频率的动态。简单说输出有功功率一旦与给定功率不匹配角频率不会突变而是按转动惯量积分变化同时阻尼项会把振荡慢慢拉回来。这个特性在并网模式下同样有意义当电网发生频率扰动时VSG能够提供类似同步机的阻尼和惯量支撑而不是像PQ控制那样只跟踪电网相位。我实际仿真下来VSG在离网模式带非线性负载时电压波形的稳定性明显比单纯的下垂控制好。原因在于VSG给出的电压参考来自“转子运动方程无功电压下垂”相位和幅值都有动态过程不会因为负载功率波动而瞬间崩溃。1.2 LADRC比传统PI强在哪VSG外环生成的是电压幅值和相位参考真正送到PWM之前还需要一个电压控制环把LC滤波器的电容电压跟踪到参考值。经典做法是电压外环电流内环的双闭环PI结构PI参数要按具体工作点整定负载一变或者直流侧电压一波动动态性能就会打折扣。LADRC的思路是把被控对象重新看待不追求精确建立逆变器、LC滤波器等各个环节的传递函数而是把模型误差、参数变化、负载扰动、dq轴耦合这些统统归为“总扰动”用一个线性扩张状态观测器LESO实时估计出来然后在控制量里主动补偿掉。这样带来的直观好处是电压环的控制器带宽可以设计得比较明确外扰在观测器带宽范围内基本被吃掉了。我试过同一套LADRC参数在空载、20%负载、100%负载突变三种工况下电压响应形状差别不大而传统PI在负载突变时会有明显的电压跌落和恢复拖尾。这就是为什么这个方案里我没有继续在电压环用PI而是全部换成LADRC。1.3 预同步并网解决“最后一秒”的冲击离网运行的VSG自身频率和相位是自由漂移的并网开关两端电压大概率不同步。直接合闸的后果就是并网瞬间出现很大的环流严重时整个系统保护跳闸。预同步控制的核心任务是在重合闸之前主动调节VSG输出电压的幅值、频率和相位使它与电网侧电压逐步逼近。常见做法是用PLL实时获取电网电压相位把VSG输出电压变换到电网同步旋转坐标系下分别用PI调节器去消除q轴分量和d轴电压偏差。q轴分量归零意味着相位对齐d轴分量与电网幅值对齐意味着幅值相等频率自然也会跟住。这个“先同步、再并网、后切预同步”的顺序特别关键。很多仿真模型里预同步控制一直挂着不退出并网之后反而干扰功率输出。我在做这套策略时专门加了预同步使能开关和状态切换逻辑确保它在合闸后自动退出。提示预同步不是只锁相位就够。幅值差如果不消除合闸瞬间同样会有较大的无功环流。仿真时一定把两个PI回路都看完再合闸。2. 核心控制逻辑与模型细节标题里三个关键词各有分工但要组合起来用就必须先搞清楚VSG生成的参考量如何进到LADRC环预同步又如何叠加到VSG的指令里。这一节把控制链路逐层拆开。2.1 VSG本体从转子运动方程到电压参考生成VSG控制器的输入是采样到的三相电流和电压输出是逆变器电压参考的幅值E和相位θ。核心是转子运动方程J * dω/dt Pm - Pe - D * (ω - ω0)其中J是虚拟转动惯量D是阻尼系数Pm是机械功率Pe是电磁功率ω是虚拟角频率ω0是额定角频率。Pe由当前输出有功功率计算得到Pm则来自于有功功率参考Pref和一次调频环节的叠加Pm Pref Kω * (ω0 - ω)这里Kω就是虚拟调速器的下垂系数。电网频率降低时VSG会自动增加机械功率输入体现出“一次调频”特性。虚拟角频率积分得到相位θ后配合无功电压下垂就能合成三相电压参考。无功电压下垂的写法也比较常规E E0 Kq * (Qref - Q)其中E0是空载电压幅值Q是当前输出无功Kq是无功-电压下垂系数。负载无功增加时输出电压略降这本身就模拟了同步机的励磁调节效果。到这里VSG完成的是“产生电压参考”的工作但参考值能不能被完美跟踪是后面电压环的事情。如果电压环带宽太低VSG辛苦模拟出来的惯量和阻尼特性会被电压误差掩盖掉所以电压控制环不能是“差不多就行”的PI这也是我在这里选择LADRC的直接原因。2.2 LADRC内环线性扩张状态观测器怎么用不谈公式很难讲清LADRC但我会尽量把它落到“能跟着做”的程度。对LC滤波器电容电压这一被控量可以抽象成二阶对象y f b0 * u其中u是控制量通常对应调制波b0是控制增益的估计值f代表包括模型误差、负载电流扰动、dq耦合、直流侧波动在内的总扰动。LADRC的思路不是把f建模出来而是构造一个状态观测器把f当作一个扩张状态实时估计。线性扩张状态观测器LESO写成状态方程就是z1 z2 l1 * (y - z1) z2 z3 b0 * u l2 * (y - z1) z3 l3 * (y - z1)z1跟踪输出电压z2跟踪电压微分z3就是估计出的总扰动。观测器增益按带宽法设计l13ωol23ωo²l3ωo³ωo是观测器带宽一般取控制带宽的3到10倍。控制规律分为两步。先把误差反馈控制量算出来u0 kp * (r - z1) - kd * z2再把估计的扰动补偿掉u (u0 - z3) / b0其中kpωc²kd2ζωcωc是控制器带宽ζ阻尼系数一般取1左右。这样设计后整个闭环的动态响应几乎完全由ωc决定被控对象的变化都被扩张状态估计吃掉这就是“自抗扰”三个字的来源。在dq轴里我实际对d轴和q轴各用了一个LADRC控制电压dq之间的交叉耦合项会被当作总扰动估计并补偿掉所以不需要像传统PI方案那样非得加解耦前馈。2.3 预同步控制器幅值、频率、相位三件套预同步控制器放在VSG输出之后、并网开关之前。为了让电网侧电压角度作为参考需要用PLL把电网电压变换到以电网电压定向的dq坐标系。在这个坐标系下电网电压q轴分量为0d轴分量等于电网电压幅值。然后把VSG输出电压也变换到同一坐标系得到Uvd和Uvq。Uvq反映了VSG电压和电网电压之间的相位偏差Uvd与电网电压幅值的差则反映了幅值偏差。控制逻辑上使用两个PI调节器Δω_ref kp_phase * (0 - Uvq) ki_phase * ∫(0 - Uvq)dt ΔE_ref kp_amp * (Ugrid_d - Uvd) ki_amp * ∫(Ugrid_d - Uvd)dtΔω_ref直接叠加到VSG的角频率指令上让VSG电压逐步“追”上电网相位ΔE_ref叠加到电压幅值指令上让电压幅值逐步跟随电网。这里有一个细节非常关键相位差直接用Uvq近似而不是用角度相减。因为角度数据在±π附近会跳变直接用角度差会让PI调节器在边界处乱跳而Uvq在相位差接近0时近似等于幅值乘以相位差连续性好标准PLL也都是这么处理误差的。3. Simulink仿真模型搭建与参数配置策略说得再漂亮不上Simulink里跑一遍都是空中楼阁。下面是我自己在模型里搭建这套系统时采用的模块链接顺序和关键参数作为一套可直接参考的起点。3.1 主回路与控制链路搭建顺序仿真模型的主回路大致由以下几段组成三相交流电网用理想三相电压源模拟带固定频率50Hz线电压380V。并网断路器用“Three-Phase Breaker”模块外部信号控制闭合内部电阻设大一些避免闭合瞬间额外分流。线路阻抗模拟从逆变器到公共母线之间的电缆阻抗一般取0.1Ω电阻串联0.5mH电感。LC滤波器L3mHC50μF滤波电容星形连接电容电压作为LADRC电压环的被控量。三相全桥逆变器直流侧取650VIGBT模块自带续流二极管驱动信号由PWM调制生成。控制链路从Simulink里看大概是这样一路往下走的PLL锁电网角度 → 预同步控制器 → VSG功率计算与转子方程 → 电压参考生成 → LADRC电压环 → 电流限幅和PWM调制。建议先搭主回路用开环给定调制波验证LC滤波器特性再逐步接上VSG和LADRC。否则一旦控制环路有问题波形乱成一团根本分不清是主回路接线错还是控制器参数错。3.2 关键仿真参数表下面这张表是我跑通这套方案的一组推荐初始值注意参数不是万能的但作为第一个能跑的版本足够了。参数名称数值说明额定功率10kW三相总功率直流母线电压650V留足调制裕量电网相电压有效值220V线电压380V电网频率50Hz额定工频开关频率10kHzPWM载波频率滤波电感L3mH考虑电流纹波滤波电容C50μF保证截止频率合理线路电阻0.1Ω模拟线路损耗线路电感0.5mH模拟线路感抗虚拟转动惯量J0.8惯量越大波动越慢阻尼系数D30抑制功率振荡一次调频系数Kω270对应频率偏差调节功率无功下垂系数Kq0.001电压幅值按无功微调LADRC控制带宽ωc50 rad/s决定电压环动态LESO观测器带宽ωo400 rad/s一般取ωc的5到8倍b06.67e6约等于1/(L*C)预同步相位PIkp0.2ki2输出限幅±5Hz预同步幅值PIkp0.1ki1输出限幅±15V3.3 仿真流程与波形观察点模型跑通之后建议按下面顺序分阶段验证先让VSG离网空载运行直流侧建立电压接入电阻负载确认电压幅值稳定在220V附近频率稳定在50Hz负载突变时波形不塌。使能预同步控制把并网开关断开观察VSG输出电压与电网电压的d/q误差逐渐收敛。当预同步误差满足阈值后闭合并网开关立刻观察并网电流是否存在冲击。并网成功后退出预同步切换功率参考值从0到10kW观察功率响应和频率响应曲线。我一般会在Scope里同时拉出电网电压A相、逆变器输出电压A相、并网电流A相、同步误差和输出有功功率这5条曲线。预同步是否完成直接看同步误差是否衰减到零附近并网瞬间是否平稳直接看电流波形有无尖峰。注意Simulink仿真步长建议设成固定步长1e-6或更小PWM开关频率是10kHz时固定步长2e-6也凑合但LADRC的LESO对离散误差敏感太粗的步长会让扩张状态观测器数值抖动。4. 参数整定方法与并网操作细节参数整定是我觉得这套方案比算法本身更值得记录的部分。LADRC和预同步的PI都有明确的整定思路按这个思路走基本能少走一半弯路。4.1 LADRC参数整定带宽法加经验修正LADRC参数只有ωc、ωo和b0三个比传统电压环加电流环的八九个PI参数要清爽得多但想直接一拍脑袋给参数还是会翻车。先定b0。b0是对控制增益的粗估计对于LC滤波器电压对象近似取b0 ≈ 1/(L*C)以L3mH、C50μF为例算出来约等于6.67e6。b0偏差一点问题不大LESO会把误差当作扰动去补偿但偏差太大会导致控制量畸变这点跟很多论文里“b0随便给”的说法不太一样我在实际模型里调过b0给出的值更贴近真实模型时动态品质最好。再定ωc。ωc代表期望闭环控制带宽按电压环LC谐振频率的经验先取30到60rad/s太小会电压响应慢太大则PWM调制输出的谐波和采样噪声容易被放大。我从50rad/s起步负载突变时电压恢复时间大概在几个毫秒级符合并网逆变器对电压环动态的要求。最后定ωo。ωo是LESO的观测带宽经验上取ωc的5到10倍。我取400rad/s观测到的总扰动曲线跟实际负载电流变化趋势能够对上。继续往上加会看到z3噪声明显变大这就是高频段增益放大带来的代价。关键技巧仿真时先把LESO的扩张状态z3接到Scope上和实际电压误差曲线对比。如果z3和真实扰动的趋势对不上不要急着调ωc先检查b0的方向和量级是否真的符合LC参数。4.2 预同步PI与切换逻辑先锁相、再闭合、后切除预同步控制器的PI参数不能按普通并网电流环去理解。它调节的是频率和幅值指令被控对象本身就带积分特性所以比例系数不宜太大否则会出现整步振荡。相位环PI我初始给kp0.2、ki2仿真中大概0.1到0.2秒就能把相位差收敛到2度以内。如果kp太大你会看到相位误差曲线像弹簧一样来回波动最后越调越乱。幅值环PI初始给kp0.1、ki1因为幅值同步不用太激进太猛会造成电压波形振荡。切换逻辑的优先级顺序必须固定死离网稳定运行预同步使能信号为0。收到并网指令后置预同步使能为1但并网开关保持断开。监测同步误差典型判据是相位差小于2度、幅值差小于5V、频率差小于0.1Hz。三个条件同时满足后再闭合并网开关。闭合成功且输出功率稳定后把预同步使能信号切回0切换回正常的VSG自主控制。这个顺序我特别强调是因为见过不少模型把预同步和并网开关合在一个触发条件里结果开关闭合瞬间预同步还没做完冲击电流照样很大。4.3 防冲击电流的几条实用技巧即使预同步误差已经很小并网瞬间还是会有一点点冲击。工程上还可以叠加下面几个技巧并网前把VSG的输出有功参考Pref和无功参考Qref都置成接近0的值让逆变器空载并网避免并网瞬间发生功率跳变。在VSG电压参考之前加一阶惯性或限幅环节限制相位和幅值指令的变化速率不给冲击电流“猛冲”的机会。加入虚拟电阻或虚拟阻抗环节增加逆变器输出阻抗抑制合闸瞬间的高频环流。并网开关不要在相位误差刚好振荡到零时立刻闭合而是等误差连续稳定一小段窗口时间后再闭合工程上叫“同步保持窗口”。这些技巧单独看都不复杂但组合起来效果非常明显。我在同一组参数下做过对比只做预同步不加限幅时合闸冲击电流大概是额定电流的2到3倍加了限幅和虚拟阻抗后冲击电流降到额定电流的0.5倍以内。5. 常见问题与排查技巧实录仿真过程中一定会遇到各种“看起来有波形但不对”的怪现象。我把踩过的高频问题整理成一份排查速查表按症状、原因、解决思路三个维度来写比较实用。5.1 预同步相位一直锁不住的排查现象启动预同步后相位误差在某个值附近慢慢飘或者来回震荡就是到不了零。优先检查PLL出来的电网dq轴分量是否正常。电网电压源本身没谐波时还好一旦线路加了不平衡负载或谐波源PLL角度本身有抖动预同步环路就会跟着抖。其次检查相位误差是否用了直接角度差。前面说过角度差在±π附近跳变会让PI输出突变。我一开始就是直接减角度结果误差曲线每隔一段时间猛跳一次换成Uvq处理后再也没出现过。最后还要检查预同步PI的输出限幅。相位误差大时PI输出如果超过VSG频率允许的范围比如把频率拉偏太多反而会让并网前频率越偏越远。限幅要设在±5Hz以内。5.2 并网瞬间电流过冲的排查现象预同步误差显示已经收敛但一合闸电流还是打出很大的尖峰随后才恢复。这种情况下先别怀疑LADRC先把合闸时的波形和同步误差展开来看。如果预同步误差在合闸前一瞬间发生快速漂移多半是采样延迟和仿真步长问题预同步控制器的计算延迟让实际执行合闸时两侧已经又错开了。如果预同步误差确实稳定那问题多半出在幅值差上没有完全同步。很多人只看相位误差不看幅值误差合闸瞬间产生的其实是无功环流幅值差稍大一点电流尖峰就非常吓人。把幅值同步PI调的再慢一点同时把合闸判定改成“相位差、幅值差、频率差三个逻辑全部保持成立一段时间”冲击电流基本都能压下来。5.3 LADRC仿真发散或抖动的排查现象离网空载或轻载时LADRC输出正常一旦切到重载或并网模式调制波出现高频抖动甚至直接发散。首先怀疑仿真步长。LESO是有微分运算的观测器带宽ωo若是400rad/s仿真步长最好不超过1e-6秒。我用2e-6步长试过轻载还能跑重载时z3噪声直接放大到失控。其次怀疑控制量u的计算是否越界。LADRC输出u(u0-z3)/b0如果b0取得太小u会非常大超过PWM调制比限幅范围以后真实对象和控制器的假设就不一致了。先检查调制波有没有被限幅把b0向真实1/(LC)靠近。最后还要检查LADRC电压环的输出是否直接接PWM。实际模型里电压环输出应该作为电流参考或者调制波参考中间要经过限幅和PWM调制不是把控制量裸接到逆变桥。5.4 功率响应慢或振荡的排查现象VSG带载后有功功率响应非常缓慢或者出现等幅振荡。有功振荡通常和J、D参数搭配有关。J大惯性大响应慢D大阻尼强振荡衰减快。但J和D不能无脑堆否则功率跟随会迟钝。一个经验是从J0.8、D30起步把并网功率参考从0跳到10kW观察有功曲线如果振荡超过两个周期先增大D再检查虚拟调速器系数Kω。如果功率响应总是慢半拍还要看LADRC电压环的ωc是否成了瓶颈。VSG外环生成了电压参考但电压环带宽不足时参考值变化会被电压环“拖住”功率自然上不去。用Scope对比电压参考值和实际电容电压两个波形有明显滞后时把ωc往大调。6. 参数初始化与离散化的小坑前面讲的都是策略层面的内容最后还想把Simulink里容易被忽略的初始化和离散化问题单独拎出来说因为这些坑会浪费很多无效调试时间。6.1 所有积分器必须设置合理初值VSG的虚拟角频率积分、相位积分以及预同步PI的积分器和LESO状态变量通通不能默认从0开始。默认0会导致模型刚启动时出现一个极不真实的“冷启动”过程VSG相位从0慢慢加速到50Hz看上去像启动异常其实只是初值没设。我的做法是虚拟角频率初值设成2π50相位初值设成和PLL输出一致预同步PI积分初值设成0。如果模型里用了状态空间形式的LADRCLESO的z1初值也要设成电容电压初始值如果不知道初始值就先让主回路稳定运行后用稳态值反推初始化。6.2 离散化方式决定LADRC成败Simulink里默认连续时间仿真但实际控制器肯定是离散实现的。如果你只做纯仿真连续时间LADRC参数很容易整定但要做控制器C代码生成就必须把LESO离散化。离散化时建议用一阶后向差分或零阶保持器不要用双线性变换硬套。LESO的增益本来已经按连续域算好了离散化后采样时间Ts必须满足ωoTs 0.2左右否则离散误差会损坏观测性能。以ωo400rad/s为例Ts取0.0001秒时ωoTs0.04离散效果足够好Ts取0.001秒时会放大到0.4仿真就开始抖。6.3 多速率仿真与采样延迟PWM调制是10kHzLADRC控制环可以设在10kHz同步计算VSG和预同步这种外环响应慢完全可以用1kHz甚至更低速率计算。但这样做的时候一定要注意模型中各模块的采样率保持一致否则Scope里看到的波形会出现相位错位排查问题时分不清是算法问题还是采样问题。我一般会把控制链路分成两个速率内环LADRC和PWM用2e-5秒步长外环VSG和预同步用1e-4秒步长中间用Rate Transition模块隔开。这样仿真速度大概能提升30%且波形基本不变后面如果要做硬件在环验证这套多速率架构也更接近真实控制器。个人在实际操作中的体会是LADRCVSG这套组合真正的难度不在算法本身而在“多个动态环节如何配合”。VSG外环慢LADRC内环快预同步又不能抢了VSG的自动调频功能三者只要有一处带宽重叠过多仿真就会变得很难看。建议调试时先让每个环节单独工作确认各自响应正确再级联。最后再分享一个实用技巧在Simulink里跑初始化前把所有的电压电流传感器都加一个小的直流偏置滤除环节否则LESO会把传感器零点漂移当成扰动估计出来叠加到控制量上后波形会慢慢偏掉。这一个小坑外部文档里很少写但实际模型里非常值得提前避开。

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

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

免费获取报价 →
↑