ARTICLE DETAIL

资讯详情

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

VSG控制MMC并网仿真全解析:从原理、建模到参数整定与调试

VSG控制MMC并网仿真全解析:从原理、建模到参数整定与调试 做VSG控制MMC并网仿真这个方向说实话第一眼看到这个题目就知道是个硬骨头。虚拟同步发电机VSG和模块化多电平换流器MMC两个都是近年电力电子和新能源并网领域绕不开的热词单独拎出来任何一个都够写好几篇论文更别说把它们叠在一起。这个项目标题里还带着“参考文献仿真模型”说明不是随便搭个demo跑通就算完而是要能拿来说明问题、支撑结论的一套完整仿真系统。我的建议是如果你正在做或者准备做这套仿真请把它当成一个“最小可行项目”来做先跑通再优化先复现再改进。这套系统真正难的地方不在某一个点而在MMC的阀控细节和VSG的外特性控制之间怎么配合得舒服。本文我会把VSG原理、MMC子模块建模、控制器参数整定、Simulink搭建流程和调试避坑全部拆开讲尽量做到你看完就能动手。1. 先把两个概念吃透VSG是什么MMC的SM模块又是什么1.1 一句话理解VSG虚拟同步发电机英文Virtual Synchronous Generator缩写VSG。它解决的是新能源并网中最让人头疼的问题传统逆变器没有转动惯量电网一有波动逆变器就跟着“飘”频率和功率的支撑能力远不如火电、水电里的同步发电机。VSG的基本思路是对同步发电机的机电暂态特性做“数字孪生”。我们不去真的造一台同步机而是在控制算法里解一个转子运动方程[ J\frac{d\omega}{dt}P_m-P_e-D(\omega-\omega_n) ]这个方程就是整个VSG的灵魂。J是虚拟转动惯量D是虚拟阻尼系数P_m是机械功率指令P_e是输出电磁功率ω是虚拟角速度。通过这个方程逆变器输出的有功功率就和虚拟频率建立了联系电网频率降了它能像同步机一样“惯性”地多输出一点功率频率升了它又能主动少发一点。这就是“虚拟同步”四个字的由来。除此之外VSG还包含无功-电压控制回路模拟同步发电机的励磁调节特性实现无功功率和机端电压的下垂关系。这一套下来从电网角度看这台逆变器不再是“只会跟电网跑的电流源”而是有“脾气”有“惯性”的电压源。1.2 MMC的子模块SM到底是啥MMC全称Modular Multilevel Converter模块化多电平换流器。它和传统两电平逆变器最大的区别在拓扑结构。两电平逆变器一个桥臂就是一串IGBT直接怼上去电平数只有两个波形全靠高频PWM硬凑开关损耗和du/dt都大电压等级也上不去。MMC的思路是“化整为零”每一相分成上、下两个桥臂每个桥臂由N个子模块Sub-Module缩写SM串联再加一个桥臂电抗器。这些子模块就像乐高积木一样可以任意叠加模块数量越多输出电压的电平数越多波形就越接近正弦波谐波含量越小。每个SM本质上是一个小型功率变换单元最常见的是半桥型子模块两个IGBTT1、T2加一个直流电容C。它有两个工作状态T1导通T2关断时模块输出电压等于电容电压叫“投入”状态T1关断T2导通时模块输出电压为零叫“切除”状态。通过实时控制每个子模块投入还是切除桥臂就能输出多电平的阶梯波。我见过不少仿真新手卡在“SM模块是什么”这个概念上其实就是拿一堆可控电压源去近似一个多电平波形。你在Simulink里可以用封装好的子模块模型也可以用自带的Full-Bridge MMC示例模块但理解这个投入/切除逻辑后面看波形、调参数才不会懵。1.3 为什么VSG和MMC要组合在一起单独用VSG控制对象可以是一个普通的LCL并网逆变器单独用MMC控制策略可以是传统的功率外环加电流内环。但把VSG和MMC放在一起就不只是“112”这么简单了。这里面的技术逻辑有两层。第一层MMC是高电压、大容量场合的主流拓扑像柔性直流输电、海上风电送出这些场景用的基本都是MMC。在这些场景里换流站面对的是弱电网甚至是无源电网传统跟网型控制跟随电网电压锁相很容易失去稳定性就必须让换流器具备主动支撑电网的能力。VSG正好是干这个的。第二层VSG控制的内环电流指令需要由一个多电平换流器来物理实现。VSG输出的虚拟电压幅值和相位经过电流内环、调制环节、子模块电容电压均衡等一层层传递最终映射到MMC桥臂上几千个开关器件的通断动作上。这中间任何一环延迟、饱和、参数失配都会削弱VSG的“同步机特性”。所以VSGMMC本质上是一套“先进控制策略在复杂物理拓扑上的落地验证”项目。这套组合非常适合做研究课题、毕业设计或者工程预研——既有理论深度又有仿真工作量还能和新型电力系统、构网型储能这些热点话题挂钩。2. MMC仿真建模从主电路到阀控的完整拆解2.1 主电路拓扑与关键参数设计MMC主电路的参数设计是建模的第一步也是最容易“瞎填”的一步。很多教程直接丢给你一组“能跑”的参数但你不理解为什么是8mF而不是8μF跑到后面一定会出问题。我这里给出一套典型的参数设计思路以10kV中压配电网并网场景为例。首先是电平数N的选择。N是每个桥臂的子模块数量决定了输出电压的阶梯数。阶梯越密谐波越小但仿真越慢。做学术研究N取5到20比较合适做工程验证N取几十甚至上百。我建议仿真阶段先用N10波形能看清仿真速度和精度也平衡。然后是子模块电容C。它的作用是给每个子模块提供电压支撑电容太小电压波动大波形畸变严重电容太大系统响应慢成本高。工程经验上子模块电容的设计要满足储能约束[ C \frac{2N S}{3\omega U^2 \varepsilon} ]S是额定容量U是直流电压ε是允许的电压波动率通常取5%~10%。以10kV系统、容量10MVA、直流电压20kV、N10为例算下来电容大概在毫法级别取8mF左右是合理的。仿真里你可以直接在这个数量级附近试然后看电容电压波动曲线微调。桥臂电感L的作用是抑制环流和故障电流上升率。电感太小环流压不住电感太大桥臂电流畸变大系统动态响应慢。经验取值一般是0.1~0.2pu换算到上述系统就是5~10mH。可以先取5mH调好环流抑制策略后再看要不要增大。2.2 调制策略选型载波移相PWM还是最近电平逼近MMC的调制策略直接决定了开关频率、波形精度和损耗是仿真模型里必须选对的一环。载波移相PWMCPS-PWM是低压小容量场合的首选。它有N个频率相同但相位错开的三角载波与同一个调制波比较产生N路PWM信号。因为载波是移相的叠加后的等效开关频率是单模块的N倍波形质量非常好。缺点是N大时载波数量多计算量大而且对载波同步要求高。最近电平逼近NLM是中高压大容量场合的主流选择。它根据实时调制波幅值计算需要投入多少个子模块然后通过排序法在每个控制周期里选择电容电压合适的那几个子模块投入。N10的时候波形还能接受N越大波形越接近正弦波。它的优势是实现简单、开关频率低、损耗小特别适合子模块数量多的场景。我做仿真强烈建议用NLM加排序均压因为Simulink里实现简单而且你还能顺手研究子模块电容电压均衡这是一大论文创新点。CPS-PWM适合N比较小比如5个以下的时候用否则光载波模块就够你拖半天。2.3 子模块电容均压与环流抑制子模块电容电压不均是MMC最经典的“老毛病”。由于不同子模块的开关状态不同、投切时序不同它们的电容充放电并不均匀时间一长各模块电压就会发散严重时直接导致系统崩溃。排序均压法是最常用的解决办法在每个控制周期采集所有子模块的电容电压按大小排序。当桥臂电流为正向对电容充电时优先投入电压最低的那些子模块当桥臂电流为负向对电容放电时优先投入电压最高的那些子模块。这样就保证电容电压高的少充电、低的少放电电压自然被“拉”到平均值附近。我用一个比喻来解释一群人轮流搬砖力气大的时候让力气大的人多干力气小的时候让力气小的人多休息最后大家体力就差不多了。排序均压就是这个思路。环流则是MMC内部特有的问题。由于上下桥臂之间存在电压差会在三相桥臂之间产生二倍频环流这个环流不经过负载白白增加损耗和器件应力还会让桥臂电流波形明显“鼓包”。抑制环流最常用的做法是加环流抑制控制器如PR控制器或PI控制器在调制波上叠加一个二倍频负序补偿量。仿真里你也必须加上不然桥臂电流的畸变会非常明显波形根本没法看。3. VSG控制器设计与参数整定3.1 控制结构总览有功-频率环路VSG控制器的主体框架分三块有功-频率控制环、无功-电压控制环、底层电压电流双闭环。有功-频率环就是前面提到的转子运动方程它的输入是功率指令P_ref和系统实时功率P_e输出是虚拟角速度ω再经过积分得到虚拟功角θ。这个θ就是后续Park变换和调制波生成的角度基准。这里有个非常关键的细节VSG的θ是“自己积出来的”不像传统并网逆变器一样用锁相环PLL锁电网相位。也就是说VSG自带“自同步”能力即使电网电压畸变或者频率波动它也能靠转子运动方程保持同步。这也是VSG被称为构网型grid-forming控制的原因。仿真里你把PLL去掉直接用VSG输出的θ做坐标变换角度别看这个改动很小控制性质完全变了。3.2 转动惯量J和阻尼系数D怎么取J和D是VSG最重要的两个参数也是初学者最容易乱调的两个数。先看它们的物理意义。J决定了虚拟同步机的“惯性大小”J越大频率变化越平缓但响应越慢功率振荡的周期越长J太小频率响应快但抗扰动能力差。D是阻尼系数D越大功率振荡衰减越快但稳态时频率偏差也越大因为阻尼项正比于频率偏差。工程上常用的整定思路是先确定允许的最大频率偏差Δω_max再根据最大有功扰动ΔP_max估算D[ D \frac{\Delta P_{max}}{\omega_n \Delta \omega_{max}} ]比如有功扰动1MW允许的角频率偏差为0.314rad/s对应0.5Hz额定角频率314rad/s那么D约等于10130。听起来很大但VSG的功率基准一般按标幺值走实际仿真里J和D都需要折算到标幺系统下进行整定。一个实用的整定路径是先固定D从小到大调J观察有功功率响应曲线的超调量和振荡次数。J太小时功率阶跃响应会出现明显的快速振荡甚至失稳J太大时响应变慢调整时间拉长。找到“既不振荡又不过慢”的区间J就定了。再反过来微调D消除稳态频率偏差。我自己调试时习惯先在Simulink里做小信号扰动扫参用批处理脚本跑几组J和D的对比比手动一个个试快得多。3.3 无功-电压环路与虚拟励磁无功-电压环模拟的是同步发电机励磁系统的调压特性。基本公式是[ E E_0 K_q(Q_{ref}-Q_e) ]E是虚拟内电势幅值E_0是空载电动势基准值K_q是无功-电压下垂系数Q_ref是无功功率指令Q_e是实际输出无功。当系统无功不足、电压下降时VSG会主动增大E输出更多无功把电压“顶”上去。K_q的选择原则是在允许的电压偏差范围内能提供足够的无功支撑能力。K_q太大无功功率波动会被过度放大电压容易过调K_q太小电压支撑效果不明显。通常K_q取0.001~0.01标幺值配合电压外环一起调。另外还要多说一句很多VSG文献里会加虚拟阻抗环节模拟同步发电机的定子阻抗增强阻尼和限流能力。仿真里加一个虚拟电阻R_v和虚拟电感L_v非常简单就是在前向通路上串一个复阻抗的压降。加和不加的波形差异非常明显加了以后功率阶跃的振荡会小很多。但R_v过大会造成电压降落过大需权衡。3.4 底层电压电流内环配合VSG外环输出的虚拟电势E和功角θ经过电压合成得到三相电压指令再经过电压电流双闭环实现输出电压的精确控制。这里我强烈建议使用电压外环电流内环的级联结构内环电流环的带宽要高于外环电压环一般电流环带宽取1~2kHz电压环取200~500Hz。电流内环通常用PI控制器输出是调制波也就是MMC阀控的输入。电流内环的PI参数可以用经典零极点对消法整定Kp等于电流环带宽乘以LKi等于Kp乘以R/L。这里的L、R是交流侧等效电感电阻包含桥臂电抗和变压器漏感。电压外环的PI参数整定思路类似但带宽要低一些保证内环能“跟上”外环的指令。仿真正是找一组能让系统稳定运行的参数然后再在附近微调优化动态响应。切忌直接抄别人论文里的PI参数因为你的主电路参数不同控制器增益很可能不在同一数量级。4. 在Simulink里搭建并网模型的实操流程4.1 仿真平台与整体拓扑规划我默认你用Matlab/Simulink原因很现实VSG和MMC的现成模块、参考模型、学术论文配套代码绝大多数都是Simulink的。用PSCAD也行但MMC模型在Simulink里更灵活适合做控制策略研究。Simulink版本建议2020b以上自带MMC相关示例更多。整体仿真拓扑规划如下VSG控制器计算生成三相调制波送给MMC阀控模块MMC主电路六个桥臂每个桥臂N10个子模块输出的交流电压经过滤波电抗和并网变压器接入三相交流电网直流侧用一个理想直流电压源代替或者用双端MMC背靠背结构模拟直流母线。做并网仿真直流侧用理想源先跑通后面再扩展也不迟。搭建顺序也要讲策略先建MMC主电路开环给定正弦调制波确认阀控和调制正常再接入VSG控制器闭环调试最后加并网开关、预充电控制等。一步到位最容易出问题且找不出来原因。4.2 从MMC主电路到控制器的接线逻辑MMC主电路在Simulink里有两种搭法一种是直接调用“Three-Phase Bridge”模块配成MMC拓扑另一种是搭一个桥臂N个子模块的封装子系统。工程上建议用封装子系统因为你能把子模块电容电压测量点、均压排序控制都放进去调试透明。每个子模块用两个理想IGBT加一个电容构建IGBT的门极信号来自调制模块。你还需要采集每个子模块的电容电压和桥臂电流用于均压排序和环流抑制。这一堆信号线非常复杂强烈建议用Goto/From标签或者总线对象不然模型连线会让你怀疑人生。控制器侧的逻辑是这样VSG模块计算出三相电压指令标幺值除以直流电压的一半得到调制波调制波进入NLM调制器计算出当前需要投入的子模块个数再结合均压排序逻辑生成每个SM的开关信号。这个信号经过脉冲分配后给到IGBT门极。整个链路从“电压指令”到“实际开关信号”一环扣一环。4.3 仿真参数设置与初始化脚本仿真参数的设置比想象中重要得多因为MMC是多时间尺度系统开关频率在千赫兹级别VSG的惯性时间常数在秒级别仿真步长如果选得不合适要么慢到跑不动要么波形全是毛刺。离散求解器、固定步长步长取1e-5秒到5e-5秒比较合适。太大波形失真太小仿真速度慢到怀疑人生。总仿真时长先设3秒前1秒让系统启动稳定1秒后给有功功率阶跃观察VSG的频率响应和功率跟踪。我更推荐用初始化脚本管理参数把所有主电路参数、控制器参数集中写在一个.m文件里Simulink模型通过变量名引用。这样改参数不用到处找模块也可以做批量扫参。下面是一份核心参数初始化脚本的参考框架%% 系统基本参数 f_n 50; w_n 2*pi*f_n; % 额定频率与角频率 U_ac 10e3; % 交流线电压有效值 (V) S_n 10e6; % 额定容量 (VA) U_dc 20e3; % 直流母线电压 (V) %% MMC参数 N 10; % 每桥臂子模块数 C_sm 8e-3; % 子模块电容 (F) L_arm 5e-3; % 桥臂电抗 (H) R_arm 0.1; % 桥臂电阻 (ohm) %% VSG参数 J 0.5; % 虚拟转动惯量 (kg.m^2) D 50; % 虚拟阻尼系数 (N.m.s/rad) K_q 0.0002; % 无功-电压下垂系数 R_v 0.01; L_v 0.05; % 虚拟阻抗这组参数本身就是一个能跑通的合理起手式你可以先跑起来再按需优化。注意J和D的单位和标幺基准有关不同文献的定义差异很大对照公式推导确认后再调。4.4 并网运行效果与波形分析模型跑通后怎么判断“仿真成功”不要只看系统不报错要看关键波形是否符合物理规律。第一个看子模块电容电压启动建立后应该在额定值附近波动波动率控制在5%到10%以内而且各模块电压应该“你追我赶”地聚集在平均值附近而不是发散。第二个看三相输出电压电流稳态时三相正弦对称谐波小有功功率阶跃后输出功率能在0.2~0.5秒内平稳过渡到新稳态点频率有一个先跌后回的过程这个“跌”就是VSG惯性的表现跌得越浅、恢复越快参数调得越好。第三个看A相上下桥臂电流波形虽然包含基波分量和环流分量但经过环流抑制后2倍频环流成分应该被压得很小桥臂电流的包络应当平滑。5. 调试中的高频坑与排查方法5.1 仿真发散先查参数尺度MMC仿真发散八成不是控制问题而是数值问题。常见原因有三种一是步长太大开关动作导致仿真步进跨过了不连续点直接发散二是交流侧和直流侧基准不匹配比如交流线电压峰值超过了直流电压允许范围三是子模块电容初始电压为零启动瞬间电容充电电流无穷大导致发散。排查方法也简单先把仿真步长降到1e-6s看发散是否消失再检查子模块电容的初始电压是否设置为额定值U_dc/N最后确认直流源电压与交流侧电压匹配。这三点全检查一遍大部分发散问题都能解决。5.2 并网瞬间冲击电流过大的处置并网瞬间冲击电流大本质是断路器两侧电压幅值、相位不一致就合闸了。VSG虽然自带同步能力但初始相位如果不和电网对齐并网瞬间就是一次“非同期并列”冲击电流可能达到额定电流的好几倍。解决办法是加并网预同步控制在并网开关闭合前先检测VSG输出电压和电网电压的幅值差、相位差然后调整VSG的功角基准和虚拟电势E直到两个差值小于阈值再发合闸信号。这个过程模拟的是同步发电机的准同期并列操作在Simulink里用几个比较器和延时模块就能实现。5.3 环流和电容电压均衡问题如果你发现桥臂电流波形有很明显的“鼓包”或者子模块电容电压出现发散优先检查两件事环流抑制控制器的输出是否正确叠加到了调制波上符号是否搞反均压排序逻辑是否用对了桥臂电流的方向判断。我调试时踩过一个大坑均压排序在某个控制周期里频繁切换子模块开关状态导致电容电压“抖动”得厉害。后来我加了“保持时间”约束即同一子模块在短时间内不频繁投切抖动立刻消失。这就是仿真里常见的细节问题论文里基本不会写但直接影响结果。5.4 资料检索与模型复用的个人建议项目标题里特别提到“参考文献”说明资料准备也是这个课题的一部分。我建议你按“基础理论-核心算法-工程应用”三层去检索文献先从MMC子模块建模和VSG概念的经典综述入手再找专项改进策略比如VSG暂态功角稳定、MMC电容电压均衡优化的论文最后用IEEE Xplore的“Citations”功能反查引用关系顺藤摸瓜找到核心文献。关于仿真模型的复用我的体会是不要迷信“一键运行”的别人家模型。下载的模型也要先做“模型审查”——看它的参数基准、控制结构是否和你的课题定义一致再逐步替换成自己的控制器。模型报error不可怕报warning也不可怕最怕的是模型能跑、波形好看但你不知道它为什么能跑评审问两句就露馅。另外整理一份自己的“参数-波形对照表”非常有用。每次改参数、调控制器之后记录下波形特征慢慢你就有了自己的参数整定经验库这比反复翻论文或者群里问人高效得多。最后分享一个我做这类仿真的小习惯永远在模型里预留一个“模式选择开关”在跟网型PLL控制和构网型VSG控制之间切换。这不是偷懒而是有了这个开关你可以直接对比两种控制的动态响应差异这一段对比波形放在论文或报告里说服力极强也是一个很自然的扩展方向。这套VSGMMC的仿真模型跑通之后后续加风电场模型、加直流故障穿越、加多机并联都会顺畅很多。
返回列表