ARTICLE DETAIL

资讯详情

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

MMC柔性直流输电Simulink仿真:N=6开环模型搭建与载波移相PWM实现

MMC柔性直流输电Simulink仿真:N=6开环模型搭建与载波移相PWM实现 做柔性直流输电相关的仿真MMC模块化多电平换流器是绕不开的一个坎。这两年陆陆续续帮实验室几个师弟看过MMC的Simulink模型发现大家第一次搭的时候基本都会卡在几个相同的地方子模块电容电压不均衡、载波移相的角度算错、桥臂电抗参数选得离谱导致环流爆炸。这篇就以N6的开环MMC仿真为例把整个建模、参数设计、调制实现和排错过程完整过一遍希望能让后来的人少走点弯路。先说清楚N6是什么概念。MMC每个桥臂由N个子模块SM串联而成N6意味着每个桥臂有6个半桥子模块对应输出7电平的相电压波形。这个规模在工程上算很小的验证级配置但对于学习MMC的工作原理、验证调制算法、观察电容电压波动规律来说完全够用而且仿真速度比N20以上的模型快得多特别适合拿来跑通整套思路。1. MMC仿真为什么值得自己完整搭一遍很多人会问现在Matlab/Simulink自带的电力电子库和示例模型里不是有MMC的现成模块吗直接拖出来用不就行了确实Simulink里有一个MMC库模块也可以用Full-Bridge MMC之类的示例但你要真用过就会发现直接用现成模块会留下两个麻烦。第一现成模块的封装层级很深参数配置界面里的项非常多直流侧电压、子模块电容、桥臂电抗、损耗参数、IGBT导通压降等等一整套东西堆在一起。对于只想验证某个控制算法的人来说这个封装反而成了障碍因为你看不到每个子模块内部到底是怎么工作的一旦波形不对很难定位问题是出在拓扑接线还是控制逻辑。第二现成模块往往用的是平均值模型或者简化模型和你要做的详细开关模型在动态特性上有差异研究谐波特性、开关频率相关问题时就不够用。所以我的建议是至少完整手搭一次N6的基于IGBT开关管的MMC模型。这个过程能让你把MMC的拓扑连接关系、子模块工作状态、电容电压波动机制、调制信号生成逻辑全部理清楚。N6的好处在于每个桥臂只有6个子模块模型复杂度适中仿真速度也能接受——我用普通的办公笔记本步长设在10微秒跑0.5秒的仿真大约几分钟就能跑完调试起来非常方便。从原理层面看MMC和传统的两电平VSC有本质区别。两电平换流器靠PWM直接生成高压脉冲每个桥臂只有一个开关管位置电压谐波全靠滤波器和高的开关频率来抑制。MMC则是把很多个子模块串联起来每个子模块就是一个小的半桥电路两个IGBT加一个电容通过控制子模块投入或切除的数量让桥臂电压阶梯式地逼近正弦波。子模块数量越多电平数越多波形越接近正弦谐波含量越小。N6时是7电平波形已经能看出明显的阶梯形状但谐波已经比两电平好太多了。开环控制是另一个值得理解的定位。开环的意思是不做电压电流反馈闭环直接给定调制信号去控制开关管输出波形完全由调制策略和主电路参数决定。开环仿真的意义主要有两个一是验证调制算法的正确性看载波移相PWM或者最近电平逼近生成的阶梯波是否合理二是观察主电路参数对波形的影响比如电容大小对电压波动的影响、桥臂电抗对环流的抑制效果。这些观察都是在闭环设计之前必须做的基础工作——你总得先确认开环模型本身能正常工作再去加闭环控制才有意义。2. MMC工作原理与N6子模块配置详解2.1 主电路拓扑与子模块工作状态MMC的三相主电路拓扑是每相有上下两个桥臂每个桥臂由N6个子模块和一个桥臂电抗器L串联构成。上下桥臂的连接点就是该相的交流输出端。6个桥臂的结构完全对称这也是MMC模块化设计的核心优势——大规模生产时只需制造标准化的子模块单元然后串联堆叠即可。每个子模块是半桥结构两个IGBTT1和T2串联反并联两个续流二极管D1和D2直流侧并联一个电容C。子模块有三个工作状态分别对应不同的开关组合投入状态T1导通、T2关断此时电容被接入桥臂回路电流给电容充电或放电具体取决于电流方向。这个状态下子模块的输出电压等于电容电压Vc。切除状态T1关断、T2导通电容被旁路电流从T2或D2直接流过子模块输出电压为0电容电压保持不变。闭锁状态T1和T2都关断这个状态在正常调制时不使用只在启动预充电或故障保护时出现。电流通过D1或D2流动电容只能充电不能放电。理解这三个状态的关键在于电容电压的方向永远是正的而电流方向决定了电容是充电还是放电。所以在设计均压算法时必须同时知道电容电压的排序和当前桥臂电流的方向二者缺一不可。2.2 N6时的电平分析与桥臂电压关系每个桥臂6个子模块每个子模块输出要么是Vc要么是0所以桥臂电压可以取0到6Vc之间的整数倍阶梯值共7个电平。对三相MMC相电压上下桥臂中点相对直流中点的电平数是N17线电压电平数是2N113。这里要特别注意一个看似矛盾的地方交流输出相电压的峰值是Vdc/2而每个桥臂6个子模块的电容电压之和是6Vc。为了让桥臂能够输出从0到Vdc的电压范围必须满足6Vc Vdc即每个子模块的电容额定电压是Vdc/6。这是MMC最基础的电压约束关系N个子模块的电容电压之和等于直流母线电压。用数学表达式来描述桥臂电压关系对A相上桥臂理想情况下输出电压为Vdc/2 - Va_refVa_ref为A相调制参考电压下桥臂为Vdc/2 Va_ref。也就是说上下桥臂电压之和恒等于Vdc交流输出电压只是上下桥臂的分压点移动而已。这个关系在仿真模型的电压验证环节非常有用——你可以通过监测上桥臂电压和下桥臂电压之和是否恒等于Vdc来判断模型是否正确。2.3 开环控制在整个系统里的定位开环控制意味着调制波的幅值、频率、相位都是预设值不随负载变化而调整。在MMC的完整控制体系里通常需要三层的控制外环功率/电压控制、内环电流控制、底层调制和均压控制。开环仿真直接跳过前两层只保留底层调制和均压控制或者甚至连均压都不做只看纯调制的效果。这种简化能帮你把问题分离开。如果你一开始就上了双闭环然后发现波形不对你很难判断是电流环参数没调好、还是调制逻辑写错了。而开环仿真里唯一需要关注的动态过程就是电容电压波动和环流问题域小得多。等你把开环跑通了波形、电容电压波动规律都符合理论预期再加闭环就会非常有底气。3. 调制策略选型为什么推荐载波移相PWM3.1 载波移相PWMCPS-PWM的实现原理MMC常用的调制策略有两类载波移相PWMCarrier Phase Shifted PWMCPS-PWM和最近电平逼近Nearest Level ModulationNLM。NLM适用于子模块数量很多的场合比如柔性直流输电工程动辄上百个子模块因为电平数多用最近电平逼近就足够精细。但对于N6的研究性仿真CPS-PWM更为合适。CPS-PWM的核心思路每个子模块分配一个独立的三角载波所有载波频率相同但相位依次错开360°/N。以N6为例6个载波的相位分别是0°、60°、120°、180°、240°、300°。每个子模块用自己的载波和同一个调制波比较生成该子模块的驱动信号。我实测下来在Simulink里实现CPS-PWM最方便的方式是用Repeating Sequence模块生成三角载波然后给每个子模块的载波设置不同的相位移。也可以用PWM Generator模块但它处理多载波相移时配置起来反而啰嗦。注意调制波的频率是工频50Hz载波频率一般选1000Hz到2000Hz之间频率比载波频率/调制波频率是20到40。载波频率太低则谐波特性差太高则仿真速度慢、步长要相应缩小。3.2 为什么开环阶段用CPS-PWM优于NLMCPS-PWM在开环仿真中的优势有几个。第一每个子模块的开关频率均衡都是载波频率电容电压的自然波动特性更直观方便你观察均压效果。NLM则是每个控制周期根据电压排序结果决定哪些子模块投入开关频率不均匀分析起来更复杂。第二CPS-PWM的等效开关频率是N倍的载波频率波形谐波特性好频谱分析时能看到明显的谐波抵消效果这对理解MMC为什么谐波小很有帮助。第三CPS-PWM的占空比是连续变化的输出阶梯波的宽度和位置都有明确的解析关系便于理论验证。NLM这边也不是不能用它在N6时输出7电平控制逻辑就是根据调制波幅值判断当前应该投入几个子模块。但NLM对电容电压均衡的要求更高每个控制周期都要做排序和选择如果电压波动大会出现频繁投切、开关次数暴涨的问题。N6这种小规模模型本来就没必要用NLM等以后做N20以上的模型再用也不迟。3.3 电容电压排序均压的必要性开环CPS-PWM遇到的一个核心问题是电容电压会自然发散。原因是每个子模块的载波相位不同投入时间不同导致各电容的充放电量不一致。如果不加均压控制长时间运行后各电容电压会出现明显偏差严重时某些子模块电容电压过高威胁器件安全。解决办法是排序均压算法思路很简单每个控制周期我一般用工频周期的1/20或者直接用载波周期采集6个同桥臂子模块的电容电压对电容电压排序得到电压从低到高的序列判断当前桥臂电流方向。如果电流方向使电容充电则优先投入电压低的子模块如果电流方向使电容放电则优先投入电压高的子模块结合CPS-PWM已经生成的开关信号在需要投入的子模块中选择符合上述优先级的组合。这里有一个细节值得注意排序均压和CPS-PWM的开关信号之间需要协调否则会冲突。我的做法是重新分配投入信号先按排序结果确定当前时刻需要投入多少个子模块由调制波决定的电平数再从排序后的子模块列表中按优先级选择。这样既保持了载波移相的阶梯逼近效果又实现了均压。理论上均压算法需要在每个开关周期执行一次对N6的小规模模型来说计算负担很低跑起来毫无压力。4. Simulink建模全流程从零到跑通4.1 模型顶层架构规划在动手搭模型之前先把整体架构规划好避免后面改起来痛苦。我把模型分成四个层级主电路层三相MMC主拓扑包含6个桥臂每个桥臂6个子模块封装成子系统、一个桥臂电抗器、交流侧负载、直流侧电源。调制层生成6组载波信号和3相调制波信号输出6路每相PWM脉冲信号。控制层放置排序均压算法输入各子模块电容电压和桥臂电流输出调整后的开关信号。观测层用Scope记录关键波形——三相交流电压电流、桥臂电流、子模块电容电压、环流、调制波和载波。Simulink模型里最忌讳的就是一大坨原件堆在一起建议从上到下按信号流方向布局直流电源在最上端往下是MMC主电路再往下是调制和控制部分。层次化的好处是排查问题时能快速定位。4.2 子模块的搭建与封装子模块是最小的重复单元建议花15分钟认真把它搭好并封装成Subsystem后面复制粘贴6×636个6个桥臂×6个子模块时会省很多事。子模块内部结构两个IGBT/Diode模块Simscape Electrical里是IGBT/Diode或者用MOSFET代替也行低电压仿真中特性差异可忽略串联电容C并联在两个IGBT组成的桥臂两端中间点作为子模块的两个输出端子之一另一端是电容的负极同一桥臂串联的公共端给电容的电压测量端口留出来——这是均压算法需要的关键反馈信号。封装时设置三个外部端口正极输出、负极输出、控制信号输入PWM。在封装参数里把电容值、IGBT参数作为可调参数暴露出来方便后期批量修改。我有一个建议把电容电压测量信号单独引到顶层用Goto/From模块传递到控制层而不是在子模块内部接Scope。信号线少、模型清爽而且数据采集统一在顶层处理不容易漏接。4.3 主电路接线与桥臂电抗器主电路的连接关系依次是直流正母线 → 上桥臂6个子模块串联 → 桥臂电抗器 → 交流输出点 → 桥臂电抗器 → 下桥臂6个子模块串联 → 直流负母线。上桥臂各子模块之间首尾串联每个子模块的正极接前一个子模块的负极以此类推。桥臂电抗器的参数选择是有讲究的。工程上桥臂电抗有两个作用一是抑制桥臂环流和故障时的冲击电流二是参与控制换流器的功率传输能力。在仿真模型里桥臂电抗偏小会导致环流幅值很大偏大则交流电压损失增大。开环仿真中桥臂电抗经验值一般取0.1到0.15 p.u.。具体怎么算p.u.值以我的模型参数为例直流电压Vdc10kV额定功率P2MW交流输出电压有效值约为Vdc/2/√2≈3.54kV额定电流I P/(√3×3.54kV)≈326A。阻抗基值Zb Vll²/P ≈ (6.13kV)²/2MW ≈18.8Ω。取0.12 p.u.则L 0.12×18.8/(2π×50)≈7.2mH。这是教科书式的算法但在开环仿真中不必太较真取一个量级合理的值即可比如5mH到10mH之间都行。重点是让环流周期和幅值看起来合理而不是追求精确匹配工程规格。4.4 载波移相信号生成载波生成用Simulink的Repeating Sequence模块。参数设置时间向量[0 1/(2×fc) 1/fc]幅值向量[0 1 0]或者[0 1 1 0]对应[0 1/(2fc) 1/fc 3/(2fc)]都行只要峰值是1载波频率fc取1000Hz相位移每个子模块的载波信号经过一个Transport Delay时间延迟相位/(360×fc)或者直接针对Repeating Sequence的采样时间做处理。更简洁的做法是用Relational Operator比较调制波和载波输出逻辑信号1/0直接给IGBT。这里注意Simscape Electrical的IGBT门极信号一般需要物理信号转换加一个Simulink-PS Converter或者直接给IGBT模块的G端连Simulink逻辑信号新版Simulink支持。调制波信号三相正弦波频率50Hz幅值由调制比决定。调制比m的范围在0到1之间开环仿真一般取0.85到0.95。幅值为m频率50Hz。每相调制波连到该相6个子模块的6个比较器上每个比较器对应不同相位的载波。4.5 排序均压算法的S-Function实现排序均压算法的实现方式有两种一种是用Simulink标准模块搭出来用Sort模块配合Multiport Switch另一种是写MATLAB Function或S-Function。N6的规模不大但逻辑上排序优先级选择还是用代码实现清晰得多我用的是MATLAB Function模块。核心代码逻辑大致是function y voltageBalance(vc, iarm, pulse, N) % vc当前桥臂N个子模块电容电压向量 % iarm当前桥臂电流标量 % pulseCPS-PWM输出的原始脉冲信号向量 % 返回值y调整后的开关信号向量 % 根据电流方向确定排序优先级 if iarm 0 % 电流为正电容充电优先投入电压低的 [~, idx] sort(vc, ascend); else % 电流为负电容放电优先投入电压高的 [~, idx] sort(vc, descend); end % 原始脉冲中为1的个数就是当前需要投入的子模块数 n_need sum(pulse 0.5); % 按优先级选择n_need个子模块投入 y zeros(N, 1); for k 1:n_need y(idx(k)) 1; end这段代码的思路很直接先用CPS-PWM得到当前时刻应该投入的子模块数量n_need再依据电容电压排序和电流方向决定具体投入哪几个。这样既保留了载波移相调制波形的阶梯逼近效果又实现了电容电压均衡。注意MATLAB Function模块在仿真步长内每步都会执行排序算法的时间开销不小但N6的计算量很小实测不会拖慢仿真。如果以后扩展到N20以上建议改成C-MEX S-Function或者用Hit Crossing模块做事件触发只在需要投切的时刻执行均压算法。4.6 仿真参数设置与数值问题这一部分最容易被忽略但往往决定了仿真能不能正常跑完。求解器参数设置求解器类型Variable-step选ode23tb或ode15s。电力电子仿真属于刚性系统IGBT开关瞬间的高频特性要求数值积分器有很强的稳定性ode45这类非刚性求解器极容易报“步长太小”的错误。相对误差默认1e-3可能不够我一般设为1e-4。相对误差放宽会让波形毛刺增多太紧则仿真速度明显下降。最大步长建议设为载波周期的1/20到1/50。如果载波频率是1000Hz周期1ms最大步长设为2e-5到5e-5秒。这个约束是必须的否则求解器会跨过开关瞬间波形失真。仿真时间开环验证不需要太长0.2到0.5秒足够观察到稳态波形和电容电压波动趋势。电力电子仿真常见的数值报错是“Zero-crossing detection”相关的问题。Simulink默认会做过零检测但当IGBT开关频率较高时会引发步长过小甚至仿真卡死的现象。我的建议是在仿真配置里把过零检测选项在某些支路关闭只保留关键节点的过零检测。这个操作虽然看起来是细节但实际跑模型时能节省一半以上的调试时间。5. 参数计算与仿真结果分析5.1 关键参数从设计到落地为了让读者能直接照做我给出一个我实际跑通过的完整参数表参数数值说明直流母线电压 Vdc10 kV子模块数/桥臂 N6子模块电容额定电压1667 V10kV/6子模块电容 C4 mF按时间常数30ms估算桥臂电抗 L7 mH约0.12 p.u.载波频率 fc1000 Hz调制比 m0.9交流负载纯电阻每相8Ω对应约2MW功率仿真步长上限20 μs子模块电容的估算方法值得展开说一下。MMC子模块电容的设计准则是把电容电压波动限制在额定值的±5%到±10%范围内。工程上常用能量法电容储存的能量与换流器额定功率之比等效储能时间常数H一般取30到40ms。对桥臂电流峰值约为交流相电流峰值的一半这个特性可以用简化公式估算C (N × S) / (3 × m × Vc² × ω × ε× N) 这类公式看起来很繁琐实操中我更推荐直接试凑法先取一个经验值C3mF开始仿真观察电容电压波动幅度如果超过10%就加大电容如果波动很小小于3%就减小电容。因为开环仿真本身不需要精确匹配工程指标电容波动的规律性比绝对值更重要。我实测4mF时波动约6%比较合理。5.2 开环仿真的特征波形怎么看模型跑通之后重点观察以下几个关键波形交流输出电压波形应该是7电平的阶梯波台阶宽度和高度接近正弦规律。如果你看到阶梯波的台阶高度明显不均匀说明电容电压已经发生偏移均压算法没有正常工作。子模块电容电压波形N6时同桥臂6个子模块的电容电压应该围绕1667V上下波动波动频率是工频的2倍100Hz这是因为每个工频周期内电容完成两次充放电周期。波动幅度在±5%到±10%之间是正常的。如果看到电压持续上升或下降没有周期性回归说明均压算法失效或者调制信号本身有偏移。桥臂电流波形桥臂电流包含工频交流分量和环流分量。工频分量在上下桥臂之间是互补的而环流是在上下桥臂内部循环流动的二倍频分量。开环仿真中桥臂电流的波形应该是正弦叠加一个较小的二倍频脉动脉动幅值应该在工频分量的10%以下。如果二倍频分量很大说明桥臂电抗值偏小。相电流波形对于纯电阻负载相电流应该和相电压同相位波形接近正弦但带有与阶梯波对应的微小纹波。还有一个容易被忽略的观测点上下桥臂电压之和。前面说过理想情况下上桥臂电压加下桥臂电压恒等于Vdc。如果这个和偏离Vdc说明子模块电压出现了直流偏置异常这往往是调制波指令和实际导通数不匹配导致的。排查思路是检查调制波的归一化基准是否正确——调制波幅值应该是相对于Vdc/2还是Vc这里搞错会导致投入子模块数偏多或偏少。5.3 环流现象与桥臂电抗的取值逻辑环流是MMC特有的物理现象。由于上下桥臂同时导通存在一条不经过交流侧的电流通路——从直流正母线经上桥臂、下桥臂回到直流负母线。这条通路上的电压源是各子模块电容电压的纹波分量主要是二倍频分量因此环流也以二倍频为主。开环仿真里环流抑制器还没加所以你会直接看到二倍频环流叠加在桥臂电流上。如果桥臂电抗取太小比如1mH环流可能比工频分量还大导致桥臂电流峰值异常偏高电容电压波动加剧。增大桥臂电抗可以抑制环流但代价是增大交流侧电压降落和系统体积成本。在开环仿真阶段可以做一个简单的参数扫描把L从5mH改到10mH观察环流幅值的变化建立对这两个量之间制约关系的直觉。这种直觉对后续设计闭环环流抑制器非常有帮助。6. 常见问题与排查技巧实录6.1 高频报错与运行失败问题速查现象可能原因排查与解决仿真报“步长在0时刻附近持续缩小”使用了非刚性求解器如ode45最大步长设置过大换ode23tb或ode15s减小最大步长到载波周期1/20以下子模块电容电压持续升高直到发散均压算法未启用排序代码中电流方向判断错误加排序均压检查iarm符号与电容充放电对应关系交流输出电压波形不是7电平阶梯载波相位移设置错误载波数量不足6个检查6路载波相位差是否为60°检查每个子模块是否接入了独立载波部分子模块电容电压上升、部分下降载波与子模块之间的映射关系错乱核对每个子模块使用的载波相位编号是否与其物理位置对应相电流波形严重畸变调制波与载波的基准不一致调制比超限确认调制波幅值≤1检查调制波的零点是否对准直流中点仿真结果与理论值偏差大但无明显错误相对误差设置过宽松电容值偏大导致动态特性变慢将相对误差收紧到1e-4检查电容值是否合理桥臂电流环流极大、波形杂乱桥臂电抗过小直流侧缺少滤波增大桥臂电抗在直流侧加串联小电感或LC滤波我要特别强调第一行那个报错这是新手100%会遇到的问题。默认的求解器是ode45电力电子这种含有强烈开关动作的系统对它来说就是灾难。开关瞬间电压电流急剧变化为了让误差在容忍范围内求解器被迫把步长缩到纳秒级然后陷入恶性循环——步长越小完成一个开关周期需要的步数越多仿真时间长得无法接受。我见过有人以为这是模型搭错了反复检查拓扑折腾了两天最后只是把求解器换成ode23tb就好了。所以第一步先排查求解器配置别急着怀疑模型。6.2 电容电压发散的深层原因与修正电容电压发散是开环MMC里最经典的问题。如果你关掉均压算法直接跑CPS-PWM大概几秒仿真时间之后就能看到各子模块电容电压开始分化最终有的冲到2000V以上有的跌到1300V以下。很多教材说“CPS-PWM天然具有电容电压自均衡特性”这种说法有前提条件它要求各子模块参数完全一致且开关器件理想对称。实际仿真中数值误差、IGBT压降差异、电容初始值不一致都会破坏这种自均衡。彻底的解决办法还是排序均压。但如果想先不加均压观察纯CPS-PWM的自均衡能力可以把所有子模块电容的初始电压设成完全一致并给IGBT模块设置完全对称的参数。你会发现电压发散速度明显减慢但依然存在。这个观察很有意义——它告诉你均压算法到底解决了什么问题为什么工程上必须配置专门的均压控制。排序均压的另一个容易踩的坑是采样周期不匹配。如果均压算法的执行周期远大于载波周期比如放在1kHz的控制任务里但载波是2kHz那么排序结果和实际开关状态之间会有半个甚至一个载波周期的延迟导致均压效果变差。仿真时建议均压逻辑每个仿真步长都执行一次N6时计算量完全可以接受。6.3 仿真速度太慢时的优化手段跑0.5秒仿真如果花了十几分钟一定存在问题。优先检查这三件事第一有没有意外的连续模块拖慢求解器。Simulink里某些模块比如Transport Delay、Memory会强制求解器减小步长。我早年用Transport Delay做载波相移仿真速度掉了近10倍。后来改用给Repeating Sequence直接设置独立相位参数的方式速度立刻恢复了。第二载波频率和最大步长的平衡。载波频率从1000Hz提到2000Hz仿真速度大约会降一半以上。开环阶段建议载波频率先用1000Hz把所有逻辑跑通最后再根据谐波分析需求决定是否提高。第三示波器数据点太密。如果把Scope的采样率设置成和仿真步长一致记录的数据量巨大甚至可能拖垮内存。建议把Scope的采样时间手动设置为1e-4秒10kHz采样率人眼观察波形完全够用仿真速度能提升不少。6.4 从开环到闭环的过渡建议开环模型跑通后一个自然的后续是加闭环控制。基于这个N6模型我建议按这个顺序扩展加环流抑制器检测桥臂电流中的二倍频分量用PR控制器生成补偿电压叠加到调制波上观察环流幅值下降效果加电压平衡外环让各相电容电压的平均值跟踪设定值整定PI参数观察动态响应加功率外环和电流内环实现有功无功解耦控制这时需要引入Park变换和dq坐标系下的电流控制。每一步扩展之前都要先确认当前层级的仿真结果是正确的。N6的规模适合做完整的控制算法验证跑通了再移植到更高电平数的模型这是比较稳妥的路径。7. 实操总结与下一步方向最后分享几条我做完整个N6开环仿真后的体会。第一起步阶段别追求用最先进的算法。载波移相PWM加排序均压是MMC控制里最经典也最成熟的做法先把这套组合玩明白再去尝试模型预测控制、无差拍控制这些进阶算法会顺畅得多。我见过有师弟一上来就想上模型预测控制结果被计算量和调参折磨得欲仙欲死最后还是老老实实回来从基础做起。第二参数不要盲目抄论文。期刊论文里的参数往往服务于某个特定的验证目标换一个工况就要做大量调整。仿真不是实验参数改起来成本低建议自己先按工程经验估算一组初始值再通过参数扫描观察趋势形成自己的判断。第三波形的观察比跑通更重要。很多人把模型跑通、看到正弦波形就认为大功告成了其实MMC仿真最有价值的部分恰恰是那些“看起来不正常”的细节——电容电压波动为什么是这个频率、环流为什么滞后某个角度、阶梯波台阶宽度和调制比有什么关系。把这些规律搞明白仿真才算真正起到了学习工具的作用。N6的规模虽然小但麻雀虽小五脏俱全。把这一套流程完整走一遍后续无论做更高电平数的MMC仿真、还是做MMC的工程应用研究都会因为有了一个扎实的底层模型而事半功倍。
返回列表