光伏并网逆变器低电压穿越控制与Simulink仿真实践
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.以上不注入00.2~0.9 p.u.k × (0.9 - Ug) × Ink取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涉及的都算成熟理论真正坑人的永远是那些边界条件、切换时序和数值问题这些恰恰只能在反复调仿真的过程中暴露出来。我在实际项目里深有体会仿真阶段多花几天把边界工况摸透后面做硬件在环或者现场测试的时候能省下数倍的时间。