ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

基于Simulink的boost+NPC三电平光伏逆变器LVRT仿真模型详解

基于Simulink的boost+NPC三电平光伏逆变器LVRT仿真模型详解 先说个现象你在光伏逆变器相关的岗位或课题组待过就知道新人上手仿真十个里有八个卡在低电压穿越这个环节。不是不会搭boost也不是不认识NPC而是这两样东西凑到一起再叠加上电网电压跌落这种瞬态工况整个模型的行为会一下子变得非常复杂。电流环饱和、直流母线过压、锁相环失锁、NPC中点电位漂移这些故障往往同时出现示波器里一片乱麻。这篇东西我就围绕基于MATLAB Simulink的boost加NPC三电平拓扑光伏逆变器LVRT仿真模型把建模思路、控制策略、参数整定和排查链路完整捋一遍。这个模型解决的核心问题是在电网电压跌落期间逆变器不能立刻脱网而是要像一个训练有素的球员一样继续留在场上提供无功支撑帮电网把电压“扶”回来同时保证自身直流侧不过压、交流侧不过流。它适合正在做并网逆变器控制策略研究的学生也适合刚接触光伏发电系统仿真、想搞懂两级式三电平拓扑怎么在Simulink里落地的工程师。1. 低电压穿越为什么成了光伏逆变器的硬指标——先搞清楚在仿真里复现什么1.1 电网故障时逆变器凭什么不能直接跳闸早期光伏逆变器的并网逻辑很简单粗暴检测到电网电压异常就立刻停机脱网保护自己。这个逻辑对单台小容量逆变器问题不大但当光伏渗透率上来之后如果成百上千台逆变器同时因电网电压跌落而脱网就会导致电网失去大量电源支撑故障影响面反而越滚越大。这就是低电压穿越LVRT, Low Voltage Ride Through要求出现的根本原因电网电压短时跌落时逆变器必须维持并网运行甚至要向电网注入无功电流帮助电压恢复。所以仿真模型里需要复现的核心行为不是“正常工况下怎么发有功”而是“故障工况下怎么不发疯”。这意味着模型必须包含完整的故障注入机制——通常用Three-Phase Fault模块模拟电网电压跌落——以及对应的检测、判断、模式切换逻辑。很多初学者搭的模型在正常并网时波形好看得很一旦把故障模块扔进去逆变器直接振荡发散原因就是控制策略里压根没有考虑LVRT这种瞬态工况下的电流指令重新分配问题。1.2 仿真要复现的电压跌落工况范围从并网导则的角度看低电压穿越的考核点主要在电压跌落的幅度和持续时间两个维度。典型的跌落深度从80%一直到20%甚至更低持续时间从几百毫秒到几秒不等。不同国家地区的要求略有差异但逻辑高度一致电压跌落越深无功支撑要求越高跌落深度超过某条边界才允许逆变器脱网。做仿真之前先给自己列一张工况表把要复现的跌落工况明确下来。举个例子工况编号跌落残余电压标幺值跌落持续时间考核重点工况10.8 pu2s轻度跌落无功支撑是否达标工况20.5 pu1s中度跌落电流环工作点切换工况30.2 pu625ms深度跌落极限穿越能力工况40.2 pu带相位跳变625ms锁相环动态响应建议从工况2开始调因为这个深度刚好能触发控制策略切换又不至于让仿真数值计算过于极限。深度跌落工况0.2pu放到最后再跑因为那个状态下电流指令跃变很大simulink里稍不留神就会出现代数环或者求解器不收敛。2. 拓扑选型boost加NPC三电平为什么是这个模型的最佳组合2.1 两级式结构的职责划分MPPT和并网逆变各管一摊光伏逆变器的主电路拓扑大致分单级式和两级式。单级式只有一个DC/AC变换级光伏阵列直接接在逆变器直流侧通过改变逆变器调制波来同时实现MPPT和并网控制。这种方式结构简单、器件少但存在一个很明显的矛盾MPPT需要光伏阵列的工作电压在较大范围内变化而并网逆变器又希望直流母线电压稳定在一个合适的值两者耦合在一起控制策略会非常拧巴。两级式结构把这个矛盾拆开了前级boost负责把光伏阵列的输出电压升压到逆变器所需的直流母线电压同时承担MPPT功能后级逆变器专心做并网控制。这样在LVRT工况下前级和后级的控制目标可以独立设定——故障瞬间后级立刻切换为无功优先前级则配合调整避免直流母线过压。这个职责划分在仿真模型里也很有价值因为两级控制环路的动态响应时间尺度不同可以在同一个模型里清楚地观察交互影响。2.2 NPC三电平逆变器在高电压大功率场景下的优势NPCNeutral Point Clamped中点钳位型三电平拓扑本质上是用两个串联的直流电容把直流母线分成了正、零、负三个电平再通过钳位二极管让交流侧输出三种电平状态。相比传统的两电平桥臂NPC的主要收益有三个方面。第一是开关管耐压要求降低。两电平拓扑里开关管承受的电压是整条直流母线电压而在NPC拓扑里每个开关管只承受母线电压的一半这对于1000V以上直流母线电压的系统来说非常关键因为高压IGBT的选型范围窄、成本高。第二是输出谐波特性更好。三电平的阶梯波比两电平的方波更接近正弦同样的滤波电感下电流谐波更低滤波器的体积和成本都能降下来。第三是开关损耗分布更均匀因为中间电平跳变时只有一个开关管动作电压变化率(dv/dt)比两电平小对电机或变压器的绝缘应力也更友好。这些优势在仿真里表现为电流谐波THD更容易达标滤波器参数设计裕量更大。当然NPC也有代价——开关管数量翻倍控制逻辑更复杂还多了一个特有难题——中点电位平衡。这个放到后面专门展开。2.3 建模前必须做的几个简化决策仿真模型的精细度必须和验证目标匹配。做LVRT研究的时候模型不需要像产品设计那样精确到每个开关管的损耗和结温但也不能简化到平均值模型——那样根本看不到故障瞬态下电流环的动态行为。我的做法是保留开关级模型但做三个简化开关管用Simulink自带的IGBT模块关断时间设为默认值即可不追求寄生效应的精确复现忽略死区时间对波形的影响先把主控制逻辑跑通需要研究死区效应再单独加光伏阵列用Simulink里的PV Array模块按100kW系统配置参数而不是把每个电池片的物理方程都建出来。这样做的原因是LVRT仿真的关注点在于“控制系统和主电路在故障瞬态下如何交互”而不是“某个IGBT在开关瞬间的电压尖峰有多大”。过度精细的模型会让仿真速度变得极慢而且数值收敛难度成倍上升得不偿失。3. 主电路模型搭建从光伏阵列、boost到NPC的完整链路3.1 光伏阵列模型参数设置与MPPT接口Simulink的Simscape Electrical库里有现成的PV Array模块用起来很顺手。以100kW系统为例典型配置是开路电压Voc约1500V短路电流Isc约100A多串多并组合。但两级式结构下MPPT的电压工作范围通常设计在500V-800V区间所以阵列的串联数要按这个目标反推。实际参数我建议这样给单块组件开路电压45V左右短路电流8A左右20块串联、12路并联这样阵列开路电压约900V短路电流约96A最大功率点电压约700V功率约100kW。boost的MPPT在这个工作点上做扰动观察法PO或者电导增量法INC采样频率设10kHz和开关频率保持一致。建模型的时候注意PV Array模块的输入端是光照和温度输出端是电流、电压和功率。MPPT控制器输出的PWM信号驱动boost开关管通过闭环调节阵列电压逼近最大功率点。初始光照建议直接设1000W/m²温度25°C先把稳态工况跑稳了再说。3.2 boost升压电路设计电感参数的工程估算boost在两级式光伏逆变器里扮演的角色很关键既要把阵列的低电压升到母线高压又要通过改变占空比执行MPPT。电感参数的设计直接决定电流纹波和动态响应速度。电感计算公式是L V_in × D / (f_sw × ΔI_L)其中D是占空比f_sw是开关频率ΔI_L是允许的电感电流纹波峰峰值一般取平均电流的10%-20%。假设阵列电压700V、母线电压1050V占空比约0.33开关频率10kHz平均电流约143A取15%纹波即约21A算下来电感量约1.1mH。实际仿真里我习惯取大一点1.5mH原因是电感大一点电流纹波更小系统抗扰动能力更强缺点是动态响应稍慢但在LVRT这种应用场景里稳定性优先级高于响应速度。直流母线电容的选取也同理按母线电压纹波小于5%的工程经验100kW系统一般选6mF以上拆成两个3mF串联构成NPC中点。3.3 NPC三电平逆变桥的构建与调制信号接口NPC桥臂在Simscape Electrical里的搭建方式有两种一种是直接用四个IGBT串联加两个钳位二极管搭单个桥臂然后复制三份另一种是使用Simulink里的Three-Level Bridge桥臂模块。两条路都可以走但我更推荐前者原因是每个开关管的触发信号可以单独引出便于调试中点电位平衡控制。单个NPC桥臂的连接要点四个IGBT从上到下依次为S1、S2、S3、S4每两个串联后再与另一个串联臂并联S1和S2的连接点通过一个二极管钳位到直流母线中点S3和S4的连接点通过另一个二极管也钳位到中点交流输出端从S2和S3的连接点引出。三个桥臂共12个IGBT每相4个驱动信号。调制策略上最实用的还是载波层叠SPWM两个三角载波上下层叠正弦调制波与两个载波比较输出四组PWM信号驱动四个开关管。载波频率取10kHz调制波由电流控制环输出。这里有个关键细节NPC三电平的调制波和两电平一样是正弦波但载波有两组逻辑相对繁琐建议用Subsystem封装好一个桥臂封装成一个模块整体结构立刻清晰很多。3.4 LCL滤波器参数设计与并网接口并网逆变器的交流输出不能直接连电网高频开关纹波必须滤掉。LCL滤波器比单L滤波器的优势在于同样的滤波效果下总电感量小得多体积和成本都更低。三电平NPC输出的等效开关频率是10kHzLCL的谐振频率一般设计在开关频率的1/10到1/5之间即1k-2kHz。以100kW、线电压690V、电网频率50Hz为例一组常用参数是逆变器侧电感L1取0.4mH网侧电感L2取0.1mH滤波电容Cf取10μF阻尼电阻Rd取2Ω。这个组合的谐振频率约1.5kHz能有效抑制开关纹波又不会让谐振峰太靠近基波。并网接口部分Simscape里用Three-Phase V-I Measurement检测并网电流和电网电压再通过Three-Phase Transformer把电压等级匹配到电网侧。滤波器后面接一个理想电网电源或者无穷大母线用来模拟电网阻抗和故障注入位置。4. LVRT控制策略电压跌落检测、模式切换与无功支撑4.1 电压跌落检测dq坐标系下的幅值判据低电压穿越控制的第一步是准确判断电网电压有没有跌落、跌落到什么程度。最常用的方法是在同步旋转坐标系dq坐标系下计算电网电压的幅值和正常值做比较。具体实现用锁相环PLL锁定电网电压相位把三相电压变换到dq坐标系得到u_d和u_q。正常情况下u_d约等于电网电压幅值u_q接近0电压跌落时u_d显著下降。幅值计算公式为U_m sqrt(u_d² u_q²)把这个值和阈值比较。典型做法是U_m低于0.85pu持续超过20ms判定进入低电压穿越状态。这里有个坑锁相环在电压深度跌落时容易失锁因为u_d骤降导致PLL的PI调节器输入异常。解决办法是给PLL加一个跌落状态下的保持逻辑——检测到电压跌落后锁相频率保持跌落前的值不再跟随电网变化。这个处理对仿真模型的稳定性极其重要我在调试早期模型时有一半的不收敛问题都出在PLL失锁上。4.2 控制模式切换从MPPT追踪到无功优先正常并网状态下逆变器的目标很简单在MPPT给出的有功功率指令下单位功率因数输出电流。但LVRT状态下目标变了——要优先输出无功电流为电网提供电压支撑。这意味着电流内环的有功和无功指令需要重新分配。国标里对无功电流的要求大致是电压跌落越深无功电流占比越高。工程上一个常用的简化策略是跌落阶段有功电流指令按跌落深度线性降额多余出来的电流容量全部让给无功电流。公式可以写成无功电流幅值 I_q k × (0.9 - U_d) × I_N其中k取2左右意味着电压跌落10%就输出20%额定无功电流I_N是额定电流幅值有功电流幅值 I_d min(I_d_ref_before, sqrt(I_max² - I_q²))I_max是逆变器允许的最大电流一般取1.1~1.2倍额定电流。这个公式的执行靠的是电流内环的指令切换所以控制结构上需要在原有的双闭环电压外环、电流内环基础上增加一个模式选择器正常时用MPPT算出的有功指令LVRT时用上述公式重算。4.3 正负序分离防止不对称跌落时电流环失控电网故障不总是对称的三相跌落单相短路、两相短路都会导致电压不对称。不对称故障时dq坐标系下的电压和电流含有100Hz的负序分量如果控制策略不考虑这个分量电流环会振荡逆变器容易过流保护。处理不对称跌落的标准方法是正负序分离。工程上常用双二阶广义积分器DSOGI或者陷波滤波器从αβ坐标系下分离出正序和负序分量然后分别在正序同步旋转坐标系和负序同步旋转坐标系下做控制。正序dq轴控制和负序dq轴控制共用一套PI参数两个控制回路的输出叠加后送到调制器。在实际Simulink实现中DSOGI模块可以用二阶带通滤波器来近似每个滤波器有两个输出一个同相信号、一个正交信号通过Clark变换矩阵正反变换把正负序分离出来。这个逻辑写起来不太复杂但代码量不小封装成Subsystem后主模型会清爽很多。对于纯三相平衡跌落的研究可以暂时不做正负序分离但如果你想把这套模型用于工程验证正负序分离是绕不开的。4.4 NPC中点电位平衡不解决这个三电平优势全废了NPC拓扑的中点电位平衡问题本质上是因为直流侧两个串联电容的分压不均导致的。当逆变器输出电流在中点和正/负母线之间来回切换时如果正负半周期的电荷量不对称两个电容上的电压就会逐渐漂移导致输出电压畸变甚至烧毁器件。仿真里最容易触发中点不平衡的场景恰恰就是LVRT这种大电流工况。故障期间逆变器输出大量无功电流上下电容充放电失衡加剧如果不管它波形很快会变成灾难现场。最实用的平衡控制方法有两种一种是基于零序电压注入的调制波修正在调制波里叠加一个零序分量改变开关状态的作用时间从而调节中点电流另一种是直接检测上下电容电压差通过PI调节器修正载波偏置让上下电容的充放电时间重新平衡。Simulink里实现第二种方法比较简单采集两个电容电压计算差值经过PI调节器后输出一个修正量叠加到三相调制波上。实测下来这个修正量对稳态谐波的影响很小但在LVRT瞬态工况下对中点电位稳定的贡献极其显著。调试时建议把上下电容电压波形放到同一个示波器里如果看到两个波形逐渐分离赶紧检查修正环路是不是没接通。5. 仿真参数整定与调试实战电压跌落设置、电流限幅与波形判读5.1 用Three-Phase Fault模块制造电压跌落Simscape Electrical的Three-Phase Fault模块是LVRT仿真的标配工具。它可以在指定时刻让一相、两相或三相的线路对地短路模拟电网故障。设置步骤是拖入模块接在滤波器和理想电网电源之间配置故障类型Phase A Fault、Phase B Fault、Phase C Fault的组合设置故障发生时间Transition Times和故障电阻低阻值模拟金属性短路。这里有一个参数选择的细节故障电阻的大小决定残余电压的深度。要做0.5pu跌落可以先用Feasible值试算——把故障电阻设为零看电网电压残余是多少然后调整故障点位置或者加一个限流电抗。实际调试时我倾向于加一个可调的串联电抗通过改变电抗值来精细控制跌落深度这样比反复调故障电阻更直观。跌落发生的时刻设多少合适建议在0.5s时触发故障这样前面0.5s足够让系统达到稳态后面留下足够观察穿越过程的窗口。故障持续时间设1s1.5s时切除故障观察恢复过程中的振荡情况。5.2 电流限幅与直流母线过压保护的协调LVRT控制里最棘手的问题是电网电压跌落了但逆变器输出电流不能无限增大必须限制在安全范围内与此同时直流侧功率还在源源不断地从前级boost送过来功率无处可去直流母线电压就会迅速飙升。解决思路是故障期间后级逆变器不再输出所有有功功率前级boost必须同步限功率。做法是在MPPT控制器里加一个母线电压保护环——当母线电压超过安全阈值时MPPT的功率指令从最大功率点线性降低到某个安全值通过减小光伏阵列输出电流来实现。实际仿真中可以在MPPT的PWM生成器之前串一个限幅环节用母线电压偏差信号去压占空比。电流限幅方面故障期间电流内环的PI输出可能会饱和Simulink里要在PI调节器上加限幅和抗饱和anti-windup功能。不这样做的话故障切除瞬间电流环会经历一个很大的超调很可能触发过流保护。抗饱和的实现方式很简单给PI积分环节加一个条件——输出到达限幅值时积分项停止累积。Simulink的PID Controller模块自带这个选项勾上就行。5.3 判断穿越成功的关键波形与指标LVRT仿真跑完后怎么判断模型行为是否符合预期我的经验是抓住五个关键波形并网点电压三相看跌落深度、跌落时刻、恢复时间是否和设定一致故障切除后是否有明显的电压过冲逆变器输出电流dq轴分量看故障期间有功电流是否降额、无功电流是否上升、电流总幅值是否被限制在1.2pu以内直流母线电压上下电容各自电压看故障触发后母线是否有过压过压幅度多少是否在安全阈值内有功功率和无功功率PQ波形看故障期间无功功率是否能按标准要求输出故障切除后能否平滑恢复到故障前的水平锁相环输出角度看故障期间锁相环是否失锁恢复过程中相位是否平稳。一个符合要求的穿越过程大致是这样的故障发生电压跌落电流环在2~3个工频周期内完成从有功到无功的切换母线电压上升但被限制在1.1倍额定值以内故障切除后电流环在5~10个工频周期内平滑回归MPPT状态中间没有明显的振荡发散。6. 仿真踩坑实录不收敛、中点漂移与跌落瞬间的直流过压6.1 求解器与步长选择离散模型优先于连续模型LVRT这类电力电子仿真在Simulink里最常遇到的问题是“仿真速度越来越慢”和“干脆不收敛”。绝大多数情况下罪魁祸首是求解器和步长设置不当。Simscape Electrical的电路模型支持多种求解器但电力电子开关器件导致的强非线性让变步长连续求解器如ode23t在某些工况下反复缩小步长仿真时间被拖到不可接受。我的实际操作习惯是把主电路和控制部分按离散系统建模使用离散求解器固定步长设为1e-6或2e-6秒也就是开关周期的1/100左右开关频率10kHz时。虽然步长比连续求解器在稳态时更细但不会出现因事件触发导致的卡顿整体仿真时间反而更短。如果必须要用连续求解器有一个技巧在故障发生的时刻前后手动把最大步长限制调小其他时间段放开。这样可以避免算法在开关事件附近疯狂试探也能防止错过电压跌落的瞬态细节。6.2 中点电位漂移在LVRT大电流下的放大器效应三电平中点电位不平衡在正常并网状态下往往不太明显因为有功电流占主导上下电容的电荷转移大致均衡。但LVRT状态下输出无功电流增大无功电流对中点电位的扰动效应比有功电流更严重中点漂移会被“放大”。我第一次跑0.5pu跌落工况时上下两个电容电压在故障后0.2s内就从520V和530V的微小偏差恶化成450V和600V。后果是交流输出电压严重畸变电流波形出现明显的三电平特征丢失谐波爆表。后来加了基于电容电压差PI修正的平衡策略最大偏差控制在10V以内。调试这个环节建议给上下电容电压波形单独开一个Scope用不同颜色区分直观观察漂移速率。平衡环路的PI参数可以先松后紧比例系数从0.01起步积分系数从1起步慢慢调到自己能接受的抑制效果。6.3 跌落瞬间直流母线过压的根因与对策另一个高频问题是电网电压跌落的那一瞬间直流母线电压会突然冲高甚至超过IGBT耐压值。根因在于能量守恒——电网侧能接收的功率瞬间下降而光伏阵列侧还在按MPPT输出最大功率多余的能量在母线电容上堆积导致电压上升。对策的核心就一句话故障期间必须削前级功率。我在模型里加了一个功率协调模块逻辑如下母线电压实测值超过阈值U_th1比如1.08倍额定值MPPT功率指令按比例削减母线电压超过阈值U_th2比如1.15倍额定值MPPT直接进入限功率模式占空比推到最小值这个模块的仿真效果立竿见影没有它的时候跌落瞬间母线冲到1300V额定1050V加了之后最高不超过1150V完全落在IGBT安全裕量内。调试时注意一个细节功率协调模块和前级boost的动态响应之间有一个时间差母线电压冲高往往发生在这段时间差里。解决方法是把母线电压采样点放在boost输出电容正负极采样时间尽可能快最好用Simulink里的连续采样而不是离散采样可以把检测和响应的时间差压缩到最小。6.4 故障切除瞬间的电流超调第二次“过流危机”很多人只盯着故障发生时刻忽略了故障切除瞬间——电网电压从跌落状态突然恢复这时电流环指令也瞬间从LVRT模式切回正常模式如果指令切换不平滑电流会有一次很大的冲击。我遇到的具体表现是故障切除后第一个周期的电流峰值达到了额定值的2.3倍直接触发过流保护。排查后发现问题不在电流内环的动态而在于模式切换时无功指令从大值瞬间归零而PI调节器没有足够时间去消化这个跳变。对策是给指令切换加斜坡限幅用Simulink的Rate Limiter模块让无功电流指令在故障切除后的若干个周期内线性过渡到零而不是一步到位。斜坡时间我一般设50ms即2.5个工频周期。这样做的代价是恢复时间稍微长了一点但换来的是电流波形平滑无冲击对保护系统非常友好。另一个相关经验是故障期间和恢复期间工频周期内电流环的PI参数不需要切换一套参数走到底就行。很多资料建议在LVRT和正常模式切换PI参数但在仿真里参数切换本身就容易引入振荡不如让一套参数兼顾两种工况把重点放在指令的平滑处理上。7. 一点实用收尾最后分享一个调试顺序上的建议先把boost单独跑通确认MPPT追踪正常、母线电压稳定再带载接入NPC逆变器确认并网电流的THD和波形没问题然后才把Three-Phase Fault模块接进去做LVRT测试。每增加一级功能就把前面所有环节的性能指标复核一遍不要等到LVRT不收敛了才回头查boost的参数。另外一个调试中的小技巧建议养成习惯每次修改完参数之后把母线电压、三相电流、pq波形、PLL角度这四组波形截图归档方便和下一次调试结果做对比。LVRT的调试经常是反复试错有历史截图做参照排查效率能差出一倍。这个模型本身不算复杂但把上面这些点都吃透了你的收获远不止一套仿真文件。
返回列表