1. 电网一抖逆变器就跳闸的时代已经过去了
1.1 LVRT到底在解决什么实际工程问题
光伏电站里最怕听到的一句话,就是“电网又跌了一次电压”。早年间大家的做法很统一:逆变器检测到电网电压异常,第一时间跳闸停机,保护设备和自身安全。但这个做法在光伏渗透率越来越高的今天,已经行不通了——你脱网了,电网的故障会雪上加霜。于是低电压穿越(LVRT)成了光伏并网逆变器绕不开的核心功能,而Simulink则是把这个功能从理论落到工程验证最顺手的工具。
先从一个真实场景说起。某个光伏电站并网验收测试中,调度侧做了短路模拟实验,电网电压瞬间跌落至额定值的45%左右。现场多台组串式逆变器在检测到过欠压后的几十毫秒内相继脱网。从保护设备的角度看,它们做得非常“正确”——电压异常,立刻切断,避免器件损坏。但从电网角度来说,这个“正确”恰恰是灾难性的:大量有功功率瞬间消失,故障线路周围的电压和频率进一步恶化,甚至可能引发更大范围的连锁跳闸。这就是低电压穿越被写进并网要求的底层逻辑:电网故障时,电站不能自保式跳闸,必须撑住电压跌落窗口,保持并网运行,还要向电网提供必要的无功支撑。
光伏并网逆变器的低电压穿越,简单说就是当公共连接点的电压跌落到一定程度时,逆变器不脱网、不损坏,按照导则要求向电网注入无功电流,帮助故障点电压恢复;故障清除后,再平滑恢复有功输出。Simulink仿真在这个技术研究里承担的角色,就是把电压跌落这个电网侧事件可控地注入到逆变器模型里,反复验证控制策略是否满足穿越深度、穿越时间、动态响应速度等硬性指标。
1.2 并网导则中的电压跌落要求拆解
低电压穿越不能靠拍脑袋“扛一扛”,它是有明确量化的技术指标。虽然不同电网公司的具体规定略有差别,但核心逻辑一致:把故障后的“保持并网区域”和“允许脱网区域”画成一条曲线,逆变器工作在曲线上方就必须保持并网,落在曲线下方才允许切机。
光伏电站并网技术规定里比较典型的几个指标:电压跌落至20%额定电压时,逆变器应保持并网625ms;电压跌落期间,动态无功电流响应时间要控制在几十毫秒级别,无功电流占比按公式计算;故障清除后,有功功率恢复速度要受控,不能瞬间满载输出。我整理了一个对照表,方便做仿真时直接抓指标:
| 电压跌落程度 | 保持并网时间 | 无功电流要求 | 有功恢复要求 |
|---|---|---|---|
| 0.9 p.u.以上 | 连续运行 | 无强制要求 | 正常MPPT运行 |
| 0.2~0.9 p.u. | 625ms以上 | 按深度线性增加 | 恢复速率受控 |
| 0.2 p.u.以下 | 允许短时脱网 | 脱网前尽量支撑 | 重新并网后限速 |
这里要提醒一点,做Simulink仿真的时候,很多人把注意力全放在“电压跌了能不能稳住”上,却忽略了“故障清除后有功恢复速率”这个指标。实际并网验收时,这块卡得很严,我见过某个仿真模型在故障恢复瞬间有功直接从10%甩到100%,波形好看是好看,但放到真实设备上,调度侧直接判定不合格。
2. 低电压穿越控制的三块硬骨头:无功优先、母线过压与锁相环失锁
把LVRT功能拆开看,本质上是三件事同时发生:电网电压突然降低,逆变器要把原本近乎纯有功的输出,快速切换成“以无功为主”的输出;交流侧输出功率突然减少,直流侧输入的功率又减不下来,母线电容要被富余能量充爆;同时电压跌落往往伴随相位跳变,锁相环一个失误,整个dq坐标系就乱了,控制直接失效。
2.1 跌落瞬间的电流指令重分配逻辑
正常并网运行时,d轴电流承载有功,q轴电流近似为0,这是并网逆变器最舒服的工作点。电压跌落那一瞬间,控制目标变了:支撑电网电压恢复优先,所以q轴电流要立刻拉起来,而且导则通常要求无功电流增量与电压跌落深度呈线性关系:
| 电压跌落深度 | 理论无功电流系数 | 仿真验证取值区间 |
|---|---|---|
| 0.9 p.u.以上 | 不注入 | 0 |
| 0.2~0.9 p.u. | k × (0.9 - Ug) × In | k取1.0~2.0 |
| 深度跌落工况 | 接近额定无功电流 | 需限幅保护 |
k一般取1.5左右,具体取值看导则要求。电压跌到0.2p.u.时,理论上要求无功电流接近满载甚至超发,这时候有功电流必须让路,否则合成电流矢量超过IGBT的安全边界。这里有个容易被忽略的细节:iq_ref的符号和方向。仿真里dq坐标系定义不同、电网阻抗性质不同,q轴无功方向可能不同。我参与某并网仿真项目时遇到过一个问题:无功电流方向按照导则入了,结果反而助推了电压跌落,后来查原因,发现是仿真里dq变换基准角定义反了。做仿真前先把坐标系的相位关系在草稿纸上画清楚,比调半天PI参数高效得多。
2.2 直流母线电压失控的机理与抑制手段
电网电压跌落到0.5p.u.时,假设交流侧电流达到限幅,输出功率也只能达到额定的一半左右。可光伏组件侧还在按原来的光照输入功率,这个差值只能由母线电容硬扛。母线上能量堆积,电压迅速抬升,超过电容耐压或IGBT耐压就会触发保护,LVRT直接失败。
抑制手段在工程上有两类:一类是硬件卸荷,也就是在母线正负极之间接一个刹车斩波器,检测到母线电压超阈值就投入功率电阻,把多余能量烧掉;另一类是软件限功率,在LVRT触发期间把光伏侧Boost的MPPT指令切换成限功率模式,降低直流侧输入功率。仿真中我通常把两个方案都搭出来对比。
我个人的习惯是,Simulink模型里先不加卸荷电路,看看纯靠控制策略母线电压能冲到多少。如果冲高幅度可接受,说明能量缺口不大;如果直接破保护阈值,再决定加卸荷还是做限功率。这个顺序能帮你判断问题到底出在控制侧还是电路拓扑侧,而不是一上来就堆硬件保护,掩盖了控制策略本身的漏洞。
2.3 锁相环在恶劣电网下的生存问题
锁相环是并网逆变器控制的地基。电压跌落不是单纯的幅值下降,往往还伴随相位跳变,尤其是不对称故障时,负序分量在dq坐标系里会引起100Hz的纹波,锁相环输出角度会跟着抖动。角度抖了,Park变换出来的d/q电流就全是噪声,电流环再准也白搭。
仿真里最常见的处理方式是把PLL带宽压得比较低,对故障引起的相位突变做平滑跟踪。但带宽太低,故障清除瞬间又可能出现锁相滞后,导致电流与电网电压失步,产生冲击电流。更高阶一点的做法是采用双同步坐标系解耦锁相环,把正序和负序分开提取,只锁正序分量。如果只是做LVRT策略验证,对称故障场景下普通SRF-PLL完全够用,但一旦要做单相接地故障这种不对称工况,建议直接把正负序解耦方案加上,省得到后来回改模型。我见过有人用普通PLL做单相跌落仿真,波形调试了两周都调不出理想结果,换成解耦PLL后当天就收敛了。
3. 用Simulink把LVRT仿真模型一步步搭起来
3.1 主电路选型与故障注入方式
做低电压穿越仿真,主电路不需要搞得太复杂,关键是层次清晰。我常用的拓扑是:直流源(或PV阵列模型)加Boost升压级,后面接三相两电平桥,桥臂输出经LCL滤波器接电网,公共连接点并联一个Three-Phase Fault模块。
故障注入要模拟出“电网侧发生了短路”的真实效果。Three-Phase Fault模块可以设置故障相、故障起始时间、持续时间、接地电阻和相间电阻。三相平衡跌落是最简单的工况,把三相接地都选上,接地电阻设一个较小值,电压就能跌到目标深度。做单相跌落时,只选对应相接地,然后再看负序分量的影响。
关于直流侧用什么模型,我强烈建议分两步走。第一步用受控直流源代替光伏组件和Boost级,电压设定在额定母线电压附近,这样调试LVRT控制逻辑时,问题会被限制在逆变器控制层面,波形一眼就能看懂。等LVRT逻辑全部调通,再替换成PV阵列加Boost加MPPT,验证光伏侧限功率策略。一步到位往往导致故障时不知道是控制问题还是光伏模型参数问题,排查起来非常痛苦。
3.2 控制算法模块化实现
控制部分我习惯按功能拆成几个独立子系统:采样调理、坐标变换、PLL、LVRT模式检测与参考值计算、电流环PI、PWM调制。每个子系统一个独立模块,用Bus或Goto/From传递信号,避免整个模型像蜘蛛网一样连线。
LVRT模式检测与参考值计算这块,核心逻辑是检测电压幅值,低于0.9p.u.就切入LVRT模式。我常用的实现方式是一个MATLAB Function模块:
function [id_ref, iq_ref, lvrt_enable] = lvrt_ctrl(Ug, P_avail, In, k) U_base = 0.9; if Ug >= U_base lvrt_enable = 0; iq_ref = 0; id_ref = P_avail / 1.0; else lvrt_enable = 1; iq_ref = k * (U_base - Ug) * In; id_max = sqrt(In^2 - iq_ref^2); id_ref = min(P_avail, id_max * 0.95); end end这里有几个容易踩的坑。第一,切换瞬间参考值从正常MPPT电流跳到LVRT电流,如果之间没有斜坡过渡,电流环会输出一个很大的阶跃,导致冲击电流。第二,id_ref用min函数限幅是对的,但这个约束要放在合成电流幅值层面,不能只限制id一个轴,否则q轴电流加上之后合成矢量照样超限。第三,函数里返回的状态量最好在切换时加一个锁存,避免电压在阈值附近波动时反复进出LVRT,我一般加5%~10%的滞回区间。
3.3 仿真参数设置与步长选择
LVRT仿真里的PWM开关频率通常取5kHz到20kHz,我常用10kHz。仿真步长和PWM周期必须拉开量级,控制器和PWM发生器用离散模块,采样时间设在50微秒到100微秒级别,主电路用连续或较小的离散步长。
求解器方面,连续域仿真我推荐ode23t,它对这种带开关器件和变步长的电力电子系统比较友好。如果你全模型用的是离散化以后的家当,可以考虑固定步长离散求解器,步长1微秒左右。千万别用默认的ode45搭一个大步长去跑,仿真出来电流都是毛刺,没法看。
故障时序安排建议按这个顺序:前0.2s让系统稳定并网、MPPT收敛;0.2s时刻投入故障;故障持续0.625s(对应导则要求);0.825s故障清除;之后继续运行0.2s左右观察有功恢复过程。总时长1.0s左右的仿真,变步长下跑起来很快。但如果你把电流环的控制周期设成了和PWM同频率,并且用了LCL滤波器,仿真时间会明显变慢,这时候可以考虑先把滤波电容和后级电网阻抗适当简化,用基础模型验证逻辑,后面再逐步细化。
4. 仿真波形深度解读与参数整定避坑记录
4.1 三种典型跌落工况的波形对比
仿真跑通之后,不能只看“没炸保护”就收工。我一般会固定横轴时间,把电网电压、并网三相电流、d/q电流参考值、直流母线电压、有功无功功率这几路波形拉在一起对比。重点关注几个时刻:故障投入瞬间、故障期间稳态、故障清除瞬间。
先看电压跌落50%的工况。故障投入后,电网电压从1.0p.u.直接切到0.5p.u.,q轴无功电流参考值按公式计算大概是0.6In左右,逆变器电流会出现短暂冲击,随后在几个毫秒内收敛到无功优先的状态。直流母线电压在故障瞬间会有一个上冲,幅度取决于母线电容大小和输入功率,电容越大、上冲越小。这个工况下有功电流虽然被压缩,但并没有压到零,母线过压压力相对可控。
再看电压跌落20%的深度。这是最考验策略的工况,无功电流参考值接近满载,有功电流几乎压到零,馈入电网的有功能量很少。仿真里你会看到直流母线电压明显抬升,如果没加卸荷或者限功率,可能直接破保护。有功功率在这个区间基本贴着0走,这个现象是符合预期的,不用慌,关键是看故障清除之后有功能不能按设定斜率恢复。
最后是单相接地不对称故障。电网电压一相跌落到50%,另外两相基本不变,三相电压出现了明显的负序分量。PLL输出角度会有100Hz脉动,电流波形也会出现相应畸变。此时如果不把PLL换成正负序解耦方案,会发现LVRT期间的无功支撑其实达不到导则要求,因为你的控制角度已经不准了。做不对称故障仿真时,一定要把三相信号单独提取出来看,不要只看合成幅值,不然你会漏掉负序导致的畸变问题。
4.2 参数整定中的实际踩坑记录
电压跌落瞬间,我遇到过虚假的直流母线电压尖峰,当时怀疑IGBT都该击穿了,结果后来发现是故障投入时刻恰好遇到PWM开关瞬间,离散采样带来了毛刺。解决方法是把PWM发生器设置为与控制器同步的采样时间,或者在故障投入时刻附近把示波器采样率提高一档,先确认是真实过压还是数值问题。这种情况在真实硬件上可能根本不存在,但在仿真里会误导你把保护阈值调高,留下隐患。
另一个高频踩坑点是dq变换角度。很多初学者搭建模型时,电流环里的Park变换角度用固定频率积分生成,而不是用PLL输出。正常并网时两者差别不大,一旦电压跌落导致相位跳变,固定角度算出来的d/q电流和在电网真实dq坐标下的分解结果就对不上了,电流环输出指令的方向与实际需要的方向发生偏差。后来我所有并网模型统一使用PLL输出作为变换角度。看起来是小事,实际上这类问题排查起来极其耗时,而且波形表现很像控制器参数没调好,容易把人引到错误的方向上。
电流环PI参数整定上,LVRT仿真里最常见的现象是电流震荡。有人直接把正常工况调试好的PI参数搬到LVRT模式,结果发现无功电流跟踪慢、有功电流切换时有超调。原因在于跌落瞬间电流环工作点从额定有功换到容量受限区域,PI参数需要为这种饱和边界工况预留阻尼。我的做法是把电流环带宽从正常工况的1kHz左右降低到600~800Hz,并给参考值加一阶滤波,切换冲击会小很多。同时注意,在模式切换时积分器要做预载处理,把切换前的积分值留下来,别把积分器清零,否则第一次调节会迟滞好几个毫秒。
还有一个指标容易被忽视:有功恢复斜率。导则对故障清除后的有功恢复速度有要求,不是越快越好,过快会对电网造成二次冲击。实现方式也不复杂,在LVRT模式退出后,给有功参考值加一个限速率环节,让有功功率按设定斜率回升。我一般设的恢复速率在额定功率的30%到50%每秒,具体取值要看所在地的电网习惯规定。仿真里把这个模块加上之后,你会发现有功恢复曲线变得平滑可控,也更容易通过并网验收。
最后说一个经验性的建议。做低电压穿越Simulink仿真时,不要一上来就追求模型复杂度。先用一个直流源、一个三相桥、一组LCL、一个理想电网,把LVRT的控制流程完整走通;再逐步加入PLL改进、直流卸荷、光伏限功率。每加一层,重新审视一遍波形,确认这一层改动没有破坏前面的功能。技术上LVRT涉及的都算成熟理论,真正坑人的永远是那些边界条件、切换时序和数值问题,这些恰恰只能在反复调仿真的过程中暴露出来。我在实际项目里深有体会:仿真阶段多花几天把边界工况摸透,后面做硬件在环或者现场测试的时候,能省下数倍的时间。