光伏并网逆变器低电压穿越控制策略与MATLAB/Simulink仿真实现
2026/9/16 4:37:35 网站建设 项目流程

我最早做三相光伏并网逆变器仿真时,习惯把模型搭到"能跑"就觉得完事了。MPPT、Boost、逆变器、LCL滤波、双闭环控制,每个环节单独验证都没问题,整套模型在额定工况下也能稳定输出功率。但当我第一次把并网点电压从1.0pu直接压到0.2pu时,问题全冒出来了——直流母线电压飙到800V以上,并网电流冲破保护限值,系统直接脱网。要知道,并网导则里明确要求电网电压跌落期间光伏电站不能轻易脱网,还必须给电网提供无功支撑。这台模型如果不改,连最基本的并网验收都过不了。

这篇文章就把我在实践中摸索出来的改进型低电压穿越控制策略,以及整套MATLAB Simulink仿真模型的搭建思路、参数设计、波形结果和踩坑经验完整讲一遍。内容适合正在做光伏并网逆变器仿真、电力电子方向毕业设计、或者想把LVRT控制逻辑彻底吃透的工程师和研究生。

1. 为什么低电压穿越能力成了光伏并网的硬指标

1.1 从"电压一跌就脱网"说到并网友好性

早期很多光伏逆变器控制器只认两个目标:跟踪最大功率点、保证并网电流质量。电网正常运行时这套逻辑没有毛病,但电网一旦出现故障,比如雷击导致线路短路,或者大负荷突然起动造成母线电压骤降,并网点电压就会在极短时间内快速跌落。传统过压过流保护为了让设备自身安全,会在几百毫秒内封锁脉冲、跳开并网开关。

单台逆变器脱网问题不大,可一座几十兆瓦的光伏电站集体脱网,对电网来说就是一次巨大的功率缺额。电网本身正处于故障中,急需有功和无功支撑,电站这时候反而集体撤出,只会让频率和电压进一步恶化。这也是为什么这些年并网导则把低电压穿越能力从"建议项"改成了"强制项"。

我在仿真里对这一点体会特别深。模型中的保护模块动作后,并网点电流瞬间跌到零,波形图上就像被砍了一刀。如果放在真实电站,这个波形就对应一次实实在在的脱网事故。所以LVRT不是锦上添花,而是光伏逆变器上电网的必修课。

1.2 并网导则里那些没法讨价还价的数字

低电压穿越不是"尽量保持运行"这种弹性要求,而是有明确的电压-时间曲线。我现在做仿真模型,默认按GB/T 19964-2012和电网公司对光伏电站接入的技术规定来验收。核心要求可以拆成几条:

  • 并网点电压在0.9pu以上时,电站必须保持正常并网运行;
  • 并网点电压跌落到0.2pu~0.9pu区间时,电站不能脱网,要持续并网运行直到故障清除、电压恢复;
  • 并网点电压跌到0.2pu附近时,要求能保持不脱网运行约625ms;
  • 跌落期间必须向电网动态注入无功电流,工程中常用的公式是: [ I_q \ge 1.5 \times (0.9 - U_t) \times I_n ] 其中(U_t)是并网点电压标幺值,(I_n)是额定电流。电压跌得越狠,要求发的无功电流越大;
  • 此外还有有功恢复要求:故障切除后,有功功率要在规定时间内恢复到接近故障前水平,不能长期趴窝。

把这些要求翻译成仿真模型的验收标准,就是:0.5s时叠加电压跌落,持续0.625s,然后恢复额定电压。整个过程里逆变器不能触发保护跳闸,直流母线不过压,电流峰值不超过设计限值,无功电流能按公式顶上去,故障消失后有功功率在几十毫秒内爬回原值。

2. 改进型LVRT控制策略:正负序分离与无功优先是核心

2.1 传统双闭环控制在电压跌落时的表现与短板

三相光伏并网逆变器最常用的控制结构,是电压外环加电流内环的双闭环。光伏侧Boost通过MPPT把直流母线电压稳定在一个设定值,逆变器电流内环在dq旋转坐标系下分别控制有功电流(i_d)和无功电流(i_q)。电网电压定向到d轴以后,电压外环输出有功电流给定,无功电流给定为0或按调度指令设置。经过PI调节器得到逆变器输出电压参考,再用SPWM或SVPWM驱动开关管。

问题就出在电压跌落瞬间。电网电压(u_g)掉下去之后,要输出同样的功率就必须有更大的电流,因为功率方程摆在那里: [ P = \frac{3}{2}(u_{gd} i_d + u_{gq} i_q) ] 当电网电压变小而功率指令还维持原值,电流给定必然变大。电流一变大会触发过流保护;如果限制电流不放大,有功输出又送不出去,直流侧能量全部堆在母线电容上,直流母线电压飙升。传统双闭环在这种工况下只有两条路:过流跳闸,或者母线过压,两个结果都等于脱网。

更麻烦的是,如果故障不对称,比如电网发生单相接地跌落,传统dq旋转坐标系下的电压电流都会出现二倍频的交流波动分量。PI调节器对付直流量还行,对付这种交流扰动基本无计可施。仿真里能看到电流波形在整个故障期间持续畸变,三相不平衡严重。最头疼的是锁相环也会被负序分量带偏,相角一错,电流控制直接乱套。

2.2 为什么必须做正负序分离

要应对不对称跌落,光靠传统dq双闭环是不够的。不对称故障下的三相电压可以分解成正序分量、负序分量和零序分量。三相三线制系统里零序没有通路可以忽略,但负序分量一定会流过逆变器,躲不掉。

负序分量的危害主要有三点。第一,负序电流会导致三相电流不平衡,严重时某一相电流峰值会超过开关管安全区,直接炸管子。第二,负序电流与正序电压相互作用,会在有功功率和无功功率上产生100Hz的二倍频脉动,直流母线电压跟着一起抖。第三,负序分量混入锁相环和电流反馈以后,会干扰同步旋转坐标系下的PI调节,整个控制性能明显下降。

所以改进型策略的第一步,就是快速、准确地把三相电压和电流里的正序、负序分量分离出来。常用的工程方法有三种,我列个表对比一下:

方法原理优点缺点
延时信号消除(DSC)利用T/4延时构造±90°相位差,把正负序分离结构简单,参数少,易实现存在T/4固有延时
陷波器法在αβ坐标系用100Hz陷波器滤掉负序分量动态响应快对频率偏移敏感
DSOGI双二阶广义积分器对αβ分量分别做正交信号生成再合成抗频率扰动能力好结构复杂,调节参数多

我在实际模型里用DSC比较多,原因很直接:实现直观,就几个求和模块和延迟模块,参数只有一个延时时间(T/4=5ms),调试不容易出错。DSC在αβ坐标系下的表达式如下:

[ \begin{cases} v_{\alpha}^{+}(t) = 0.5\left(v_{\alpha}(t) - v_{\beta}(t - T/4)\right)\ v_{\beta}^{+}(t) = 0.5\left(v_{\beta}(t) + v_{\alpha}(t - T/4)\right) \end{cases} ]

[ \begin{cases} v_{\alpha}^{-}(t) = 0.5\left(v_{\alpha}(t) + v_{\beta}(t - T/4)\right)\ v_{\beta}^{-}(t) = 0.5\left(v_{\beta}(t) - v_{\alpha}(t - T/4)\right) \end{cases} ]

从公式能看出来,正序和负序用的是同一组延迟信号,只是加减组合方式不同。在Simulink里就是Clarke变换模块后面挂两个Transport Delay,再加两个增益0.5的Gain模块和几个Add、Subtract模块,很轻松就能搭出来。电流信号的正负序分离,完全照这个方法再复制一份就行。

2.3 功率指令重构:故障瞬间有功无功怎么分配

传统策略在故障时不做模式切换,所以才会硬扛过流。改进型策略的关键是加一个LVRT模式切换逻辑,核心就一句话:故障期间无功优先,有功让路。

我用一个滞环比较器来检测跌落深度。先计算电网正序电压的幅值标幺值(U_t),然后判断:

  • (U_t \ge 0.9)时,运行在正常并网模式,有功按最大功率跟踪,无功按调度给定;
  • (U_t < 0.9)时,切入LVRT模式,持续到故障清除、电压恢复后延时退出。

在LVRT模式下,指令重构分成三步走。

第一步,无功电流给定按导则公式计算: [ i_{q_ref} = \max\left(i_{q_normal}, \ 1.5 \times (0.9 - U_t) \times I_n\right) ] 电压跌到0.2pu时,无功电流给定大约是(1.5 \times 0.7 = 1.05)倍的额定电流,也就是接近满发无功。

第二步,有功电流给定要保证合成电流不超限。这里有个新手常犯的错:直接用饱和模块把有功电流限制在1.2pu。问题是如果无功电流已经到1.05pu,再把有功限制在1.2pu,合成电流会达到1.6pu左右,早就超出开关管安全区了。我建议用合成限幅: [ i_{d_ref} = \min\left(i_{d_mppt},\ \sqrt{i_{max}^2 - i_{q_ref}^2}\right) ] 比如逆变器短时过载能力(i_{max}=1.2)pu,无功电流给定1.05pu,那么有功电流最多给到约0.58pu。这样合成电流才不会越界。

第三步,负序电流给定直接给0。也就是说,不对称故障时负序电流环会主动把负序电流抑制掉,让三相输出尽量保持平衡。

这里有一个特别容易忽略的点:从正常模式切到LVRT模式时,无功电流给定可能从0直接跳到1.05pu,如果电流环响应太快,会在一两个开关周期内产生很大的电流变化率,开关管应力非常大。我一般会在给定后加一个速率限制器,让无功电流在2~3ms内斜坡上升到指令值,实测波形会平滑很多。

2.4 直流母线过压抑制和故障恢复策略

LVRT模式下有功电流被压下去,直流侧MPPT还在继续往母线送功率,母线电容上的能量只进不出,电压必然上升。应对措施我分了三层:

  • 硬件层面:在直流母线上并联卸荷电路(Chopper),电压超过阈值时导通泄放电阻,把多余能量消耗掉;
  • 控制层面:对MPPT输出做快速限功率,或者直接把Boost占空比钳位,减少输入功率;
  • 仿真层面:在母线电压反馈上做前馈补偿,让电压环在动态过程中动作更快。

我在模型里通常先用Chopper方案,因为逻辑简单、参数直观。直流母线电压给定650V,实测值超过680V就导通卸荷,降到660V以下才关断。靠这套逻辑,故障期间母线电压能稳在1.1pu以内。

故障恢复阶段同样要小心。很多人只关注跌落瞬间,忽略了电压恢复的那一刻。实际上电压恢复时回到额定值,LVRT模式退出,有功指令如果没有过渡,会瞬间从0.58pu跳回1.0pu,又造出第二次电流冲击。我的处理办法是有功、无功指令都做斜坡恢复,有功在10~30ms内线性爬回MPPT给定,无功以5ms左右的速率降回0。整套穿越过程才算完整闭环。

3. Simulink模型搭建:从光伏阵列到并网开关的全链路

3.1 整体模型架构和各模块职责

我在Simulink里搭的改进型LVRT模型,从光伏侧到电网侧完整信号流是下面这个样子:

  1. PV Array光伏阵列模块,放在Simscape Electrical的Specialized Power Systems库中,选一个常用的光伏组件型号,设置串并联数量,输出随光照、温度变化的直流功率;
  2. MPPT控制器,采用扰动观察法,采样光伏输出电压电流,输出Boost的占空比参考;
  3. Boost升压电路,把光伏输出电压升到直流母线额定值;
  4. 直流母线电容,作为储能缓冲环节,同时并联Chopper卸荷电路;
  5. 三相两电平逆变器,用Universal Bridge模块,IGBT加二极管,开关频率10kHz;
  6. LCL滤波器,逆变器侧电感、滤波电容、网侧电感三件套;
  7. 电网与故障注入模块,PCC点连接可编程三相电压源或Three-Phase Fault模块;
  8. 控制子系统,包含PLL锁相、正负序分离、LVRT模式切换、电流内环、电压外环、SVPWM调制。

控制信号要分清楚:功率主电路走Simscape物理端口,控制信号走普通Simulink信号线。很多新手把两个域混在一起,仿真直接报错或者迭代不收敛。我建模时习惯把控制部分全部收进一个Control子系统,里面再分成锁相模块、序分量分离模块、电流控制器模块、模式管理器几个子块,方便调试,也方便以后复用。

3.2 关键参数配置实例

参数不能拍脑袋定。下面给出我用来复现整套LVRT逻辑的一组10kW级参数,建议先按这组跑通,再改功率等级和研究其他工况:

项目参数
额定功率10kW
交流线电压380Vrms / 50Hz
直流母线电压额定值650V
光伏阵列MPPT电压/电流约500V / 20A
Boost开关频率20kHz
逆变器开关频率10kHz
逆变器侧电感Li0.6mH
滤波电容Cf10μF
网侧电感Lg0.2mH
直流母线电容C2000μF
Chopper卸荷电阻10Ω
电流内环PIKp=3,Ki=100
电压外环PIKp=1.5,Ki=60
最大电流限值1.2pu(短时)
故障时间0.5s~1.125s(共625ms)
仿真求解器ode23tb,变步长,最大步长1e-5,时长1.5s

LCL参数的谐振频率必须避开基波和开关频率。按上面参数大致可以估算谐振频率约1.6kHz左右,远高于50Hz基波,又低于10kHz开关频率的一半,实际波形不会出现明显的谐振尖峰。这一点在设计阶段就要算好,否则后面PWM谐波跟电感电容发生谐振,仿真波形毛刺多到没法看。

3.3 故障模块的两种模拟方式

低电压穿越仿真的核心是"让电压按需求跌下去",我在实际项目里用过两种方式,各有适用场景。

第一种,用Three-Phase Programmable Voltage Source可编程三相电压源。这个模块支持按时间段设置电压幅值、相位和频率。比如我把第一个时间段设为额定380V/50Hz,持续0.5s;第二段把幅值设成0.2pu也就是76V,持续0.625s;第三段恢复额定。这种方式的优点是干净、可控、跌落深度精确,非常适合验证控制策略本身。

第二种,用Three-Phase Fault模块模拟真实故障。在PCC和电网之间或在PCC处并联一组接地故障支路,设置故障相、故障电阻和持续时间。故障电阻越小,跌落越深。如果要对准目标跌落深度,需要结合电网阻抗和故障电阻分压来计算。比如电网等效阻抗(Z_g = 0.05 + j0.2\Omega),想要跌落至0.2pu,故障支路电阻大致需要满足: [ U_{pcc} \approx \frac{Z_f}{Z_g + Z_f} U_n ] 按这个公式算下来,(Z_f)得取到跟电网阻抗同一量级,大约在0.01~0.02Ω附近。如果你只想快速验证LVRT逻辑,建议先用可编程电源;如果你要研究真实的单相接地故障、分析负序分量,再切到Three-Phase Fault。

4. 仿真结果对比:传统控制 vs 改进型控制

4.1 对称跌落:从过流跳闸到平稳穿越

先看最典型的工况:0.5s时并网点电压对称跌落到0.2pu,持续625ms,到1.125s恢复额定。

传统控制那一版模型,电压跌落的瞬间,并网电流不是缓慢上去的,而是直接冲到2.5pu以上。电流内环的PI输出瞬间饱和,逆变器输出电压被顶到限幅,直流母线电压在几十毫秒内从650V飙到820V以上。原因很清楚:光伏侧还在源源不断输入功率,交流侧电压太低,想送同样功率就得有更大电流,电流上不去功率就出不去,能量全部堆在母线电容上。紧接着保护动作,开关管封锁,并网电流掉到零,PCC处功率断流,脱网。

改进型控制那版模型,波形完全不同。故障发生后约1ms左右,LVRT模式管理器检测到跌落深度,切入LVRT模式。无功电流给定按公式拉高到约1.05pu,有功电流给定被压到0.58pu以内,电流内环正常跟踪指令,三相电流峰值被限制在1.2pu以内。直流母线电压在故障初期有小幅上冲到约705V,Chopper动作后回落,最终稳定在675V上下,在1.1pu安全范围以内。到1.125s故障切除,有功指令按斜坡在20ms内恢复,并网功率回到故障前水平,全程没有触发保护,完整实现了低电压穿越。

4.2 单相接地不对称跌落:负序分量是主要矛盾

再看不对称工况:A相电压跌落到0.5pu,B、C相接近正常。这是实际电网里更常见的故障类型。

传统控制在单相跌落下的表现非常糟糕。负序电压存在,dq坐标系下就出现二倍频扰动,PLL输出的相位发生波动,电流环把扰动当成指令跟踪,结果三相电流严重不平衡,A相电流偏小、B相电流偏大,负序电流占到额定电流的14%左右。有功功率波形里能明显看到100Hz振荡,直流母线电压也出现同频率脉动,峰峰值达到正常值的8%。仿真跑到这个工况时,保护模块频繁越限,根本撑不满625ms。

改进型策略在不对称工况下表现是:正负序分离模块把负序电压、负序电流解耦出来,负序电流环指令给0,主动抑制负序分量。最终三相电流不平衡度从14%降到3%左右,负序电流基本被压住。有功功率的二倍频振荡虽然依然存在,因为电网负序电压还在,这是物理上无法消除的,但母线电压波动从8%降到了2%以下。整个故障期间逆变器没有过流、没有脱网。

我知道有人会问:既然负序电流是0,为什么有功功率还在振荡?因为功率振荡是电网负序电压和正序电流相互作用产生的,电流控制只能控制电流,不能改变电网电压本身。我们的目标是保证电流安全、不脱网,而不是彻底消除功率振荡。这个预期一定要摆正。

4.3 关键指标汇总对比

工况传统控制改进型控制
20%对称跌落625ms电流峰值2.5pu,母线820V,保护脱网电流限1.2pu,母线≤705V,穿越成功
A相50%不对称跌落负序电流14%,母线波动8%,无法坚持负序电流3%,母线波动<2%,穿越成功
故障恢复过程有功阶跃冲击,二次过流风险斜坡恢复20ms,无二次冲击
无功支撑能力无专门控制,基本不输出按导则公式输出,跌落越深无功越大

改进型策略的价值在这张表里体现得很直接:它不只是"不脱网",而是在不脱网的基础上还能给电网提供无功支撑,这对真实电网的电压恢复是有实际帮助的。

5. 调参与排错:仿真跑不出来的几个"隐形杀手"

5.1 直流母线电压失控,仿真被过压卡死

很多人在做LVRT仿真时遇到的第一堵墙,就是直流母线电压飞升。母线电容在故障瞬间被充电,电压从650V一路涨到900V,仿真器因为器件电气极限被超过而报错,或者系统保护动作跳闸。

我排查这个问题时先看时间尺度。如果母线电压是几十毫秒内慢慢涨上去的,大概率是电压外环带宽太低,跟不上功率突变。处理办法是给电压环加一个前馈项,把逆变器输出功率除以母线电压折算成前馈电流,叠加到电压环输出上,响应速度能提升一大截。如果母线电压是几个微秒内瞬间跳上去的,那多半是仿真步长太大,没有踩住电力电子器件的开关时刻,PWM斩波引起的尖峰被混进结果里。解决办法是把最大步长降到1e-6再试,同时检查PWM模块的采样时间设置。

5.2 PLL在跌落瞬间失锁

PLL是低电压穿越仿真里最容易翻车的地方。电压跌落不是从1.0pu平滑过渡到0.2pu,而是伴随一个相位跳变。如果PLL带宽较宽,它会在跳变时发生超调,输出相位来回摆动。电流内环拿到一个抖动的相位参考,输出电流就会出现明显的低频振荡,严重时看起来就像系统要崩溃了。

我的解决思路是:给PLL的输入先做正序分离,用正序电压的αβ分量去锁相,而不是直接用原始三相电压。这一条在不对称故障下几乎是必须的,因为原始电压里的负序分量会直接污染锁相结果。同时把PLL的PI带宽调低一点,让它对相位跳变不敏感,但也不能太低,否则故障恢复后锁相速度跟不上。这个度需要反复试,我一般从10~20Hz带宽开始调。

5.3 正负序分离的T/4延时造成指令延迟

DSC方法存在5ms的固有延时,这在动态过程中会产生一个实际问题:故障发生后前5ms内,正序和负序分离结果还没完全收敛,此时LVRT模式已经切换,电流指令会基于还不够准确的序分量算出来,造成瞬时过流。

为了规避这个问题,我做了两个措施。第一,在LVRT模式切换和电流指令计算之间加一个小延时或速率限制,等序分量提取稳定后再切到无功优先。第二,电流限幅器放在最外端,不管指令从哪里算出来的,最终进入电流环的参考值必须经过合成限幅。这样哪怕序分量实时性差了一些,电流也出不了安全区。这两个措施加上去以后,仿真里的过流尖峰基本就消失了。

5.4 仿真速度慢到怀疑人生

电力电子仿真出了名的慢,加了LVRT逻辑之后模型更重。我踩过最狠的一次,10kW模型在2核CPU上跑1.5s仿真时间差不多用了4个小时。后来把模型改成离散化之后,大约半小时跑完。两条经验值得分享:

  • 主电路和控制系统尽量离散化。PWM生成用载波周期采样,控制周期设为1e-4左右,对应10kHz载波下的100μs控制周期,不必每个仿真步长都刷一遍控制器;
  • 求解器用ode23tb,针对刚性系统效果好,最大步长先设1e-5。如果波形里出现莫名其妙的数值尖峰,先把最大步长降到5e-6排除数值振荡的可能,再逐步放大,找到精度和速度的平衡点;
  • 把不需要每个开关周期都记录的Simscape物理变量测量关掉,减少数据记录负担。

另外提醒一句,仿真一开始就报convergence error的话,先检查Universal Bridge的snubber电阻是否设置成了inf或者过大。很多初学模型卡在第一步,其实不是控制问题,纯粹是数值求解问题。

整套模型跑稳定之后,我把LVRT模式管理器做成了一个可复用的Simulink Function模块,输入是正序电压幅值、有功指令和最大电流限值,输出是切换后的有功、无功电流参考以及卸荷开关信号。换一个功率等级的光伏系统时,只需要改参数表,不用重写控制逻辑。这也是我建议所有做光伏并网仿真的人养成的习惯——把策略和参数分开,模型才能越用越顺手。

上面这组改进型LVRT策略在对称跌落、不对称跌落和故障恢复三个阶段的表现,基本覆盖了并网导则对光伏逆变器的核心验收要求。你如果正在做类似的仿真模型,建议先按这个思路把对称跌落工况跑通,再切到不对称故障去调试正负序部分,一步一个脚印,别一上来就追求全工况一次成功。

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

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

立即咨询