三电平逆变器SVPWM仿真全解析:从拓扑原理到Simulink建模与调参
最近后台收到不少关于三电平逆变器SVPWM仿真的问题有论文要复现的有毕业设计要交模型的也有刚做完两电平SVPWM项目、被三电平NPC拓扑卡住喉咙的。坦白讲用MATLAB/Simulink搭一个能跑的三电平逆变器SVPWM仿真模型门槛不在于点几个模块、连几条线而在于你有没有把“电压矢量为什么这样选、作用时间怎么算、中点电位为什么飘、波形怎么判”这一串问题一次性想透。这篇文章我按自己做项目时的思考路径来写从三电平拓扑相比两电平到底多做了什么开始把SVPWM的完整推演过程过一遍再落到Simulink的模块级搭建、参数选择和波形判读最后分享几个高频仿真坑的完整排查思路。适合刚入门、但不想停留在“抄一个现成模型就跑”阶段的读者也适合调了两版模型但波形始终别扭的人。1. 先搞清楚三电平NPC到底多做了什么很多朋友学SVPWM的时候是从两电平入门的六管桥臂、8种开关组合、六个扇区滚瓜烂熟。到了三电平第一反应是“多加几个管子就行”等真把模型搭起来才发现连开关状态表都要重新背一遍。所以第一步先把拓扑层面的差异吃透。1.1 一个桥臂、四个开关、两个钳位二极管两电平逆变器的每个桥臂就是两个开关管串联输出点要么接直流母线正端要么接负端相对于母线中点只有两个电平Vdc/2 或 -Vdc/2。三电平NPCNeutral Point Clamped中点钳位型想做的唯一一件事就是让输出点还能接到“中间”那个电平也就是直流母线上下两个电容串联之后的中点O。以NPC单相桥臂为例T1到T4四个开关管从上到下串联两个钳位二极管D5和D6分别从中点O接到T1T2连接点和T3T4连接点。这就是“钳位”二字的来源当桥臂输出状态为O时电流经过钳位二极管接到母线中点输出电压被牢牢钉在0电平。与两电平一个桥臂只需要一组互补PWM信号不同三电平NPC一个桥臂需要四路驱动信号而且这四路信号之间有严格的约束关系不是随便给PWM就能跑的。1.2 相电压输出状态与合法开关组合每相桥臂可以输出三种状态通常记为P、O、N输出状态导通开关输出电压PT1、T2Vdc/2OT2、T30NT3、T4-Vdc/2注意看每个状态都是两个开关同时导通。P状态时T1和T2导通电流路径经过上桥臂;O状态时T2和T3导通输出端通过钳位二极管接到中点;N状态时T3和T4导通。这里有一个新手极易踩坑的约束T1和T3不能互补导通T2和T4也不能互补导通。以T1T3这一对为例如果T1和T3同时导通直流母线正端经T1、T3直接到负端这就是直通仿真里会出现电流尖峰实际柜子里就是炸模块。正确的约束是T1和T3互补T2和T4互补同时T1T2与T3T4之间存在死区配合。这个约束关系在搭桥臂模型、写PWM发波逻辑时必须时刻记住。1.3 关于“三电平是不是更贵”的工程账每次讲三电平总有人问器件数量翻倍是不是纯粹为了追求一个“更高级”从单纯BOM看三电平NPC相比两电平确实多出开关管、钳位二极管、驱动电路、母线电容分压等成本但工程判断从来不是只看器件价格。三电平最大的收益在于同等母线电压下器件耐压可以降一半左右。两电平在1500V直流母线场景需要扛住完整母线电压的IGBT三电平每个开关管实际承受的电压是母线电压的一半可以用更低耐压、开关特性更好、价格也更合理的器件。加上三电平输出谐波小滤波电感可以缩小dv/dt降低后电机绝缘和EMI滤波器的压力也小。综合系统成本算下来在中高压变频、轨道交通、光伏储能PCS这些场景三电平往往是更优解而不是更贵解。这个账做硬件选型时才算得清但做仿真时也要有概念三电平在Simulink里多出的那堆开关管不是摆设它们直接改变了控制算法的设计空间。2. 三电平SVPWM的核心推演扇区、矢量与作用时间SVPWM的全称是Space Vector PWM空间矢量脉宽调制。名字听着吓人本质就一句话在一个开关周期里用三个相邻的电压矢量去“拼”出你想要的参考电压矢量。两电平这么做三电平也是这么做只是候选矢量从8个变成了27个拼接规则变复杂了。2.1 从两电平到三电平空间矢量图发生了什么变化先说结论两电平逆变器有8种开关组合对应6个非零矢量和2个零矢量三电平NPC有27种开关组合在αβ平面上对应19个不同的矢量位置。按幅值分类大矢量幅值 2Vdc/3共6个中矢量幅值 Vdc/√3共6个小矢量幅值 Vdc/3共12个开关状态但只有6个矢量位置每个位置有正负两个冗余状态零矢量3个开关状态PPP、OOO、NNN。这个分类非常重要因为三电平SVPWM的“最近三矢量”NTVNearest Three Vectors原则就是从候选矢量里挑出离参考矢量最近的三个来合成。和在两电平里总能在六个非零矢量里挑出两个“包围”参考矢量一样三电平只需要把空间矢量平面切成一个个小三角形看参考矢量落在哪个小三角形里这个小三角形的三个顶点就是你要用的三个矢量。新手最容易在这里迷失27个矢量光画图就够乱了还要判断落在哪个三角形实际上这个判断过程可以分解为“先定大扇区再定小三角形”两步每一步都清晰简单。2.2 扇区判断先定大扇区再定小三角形第一步判断参考电压矢量落在哪个60度大扇区。用atan2算出矢量的相角除以60度取整就能得到扇区编号1到6。这个逻辑和两电平SVPWM完全一样写过两电平代码的人基本没有理解障碍。不过在Simulink里我更推荐用线性不等式判断比如利用Vα和Vβ的符号组合避免反三角函数带来的仿真开销和边界判断麻烦。第二步在大扇区内判断参考矢量落在哪个小三角形。这是三电平相对两电平新增的核心逻辑。以第一扇区为例这个区域内通常有四个小三角形候选每个三角形的顶点由附近的大矢量、中矢量、小矢量构成。怎么判断一个通用且不容易出错的工程做法是重心坐标法对每个候选三角形把参考点表示成三个顶点坐标的线性组合如果三个组合系数都不小于零且之和等于1那这个点就在这个三角形内。写成MATLAB代码就是解一个3x3线性方程组对所有候选三角形循环一遍。这个做法虽然比查表慢一点但胜在逻辑通用适合我们先把这个算法跑通、看波形、验证原理。等模型稳定了再回头把热点路径优化成不等式判断也不迟。function flag isInsideTriangle(p, v1, v2, v3) % p为参考矢量[alpha; beta]v1,v2,v3为三角形顶点坐标 A [v1(1)-v3(1), v2(1)-v3(1); v1(2)-v3(2), v2(2)-v3(2)]; b [p(1)-v3(1); p(2)-v3(2)]; lambda A\b; flag (lambda(1) -1e-6) (lambda(2) -1e-6) ... (lambda(1) lambda(2) 1 1e-6); end这段代码里用了1e-6作为容差目的是防止参考矢量恰好落在三角形边界上时因为浮点误差导致哪个三角形都判断不上或者相邻两个三角形同时判断成功。边界容差处理在仿真里非常重要后面讲排错时还会遇到。2.3 由伏秒平衡推导矢量作用时间选定三角形后三个顶点对应的电压矢量就确定了下一步是计算每个矢量的作用时间。很多资料直接甩出“公共量X/Y/Z”的公式看得人一头雾水。这里我把推导骨架拆开你就明白那些公共量到底是怎么来的。假设选定的三个矢量在αβ坐标系下的坐标为V1、V2、V3作用时间分别为t1、t2、t3载波周期为Ts。根据伏秒平衡参考矢量在一个周期内的平均效果必须等于三个矢量的加权平均t1 * V1_α t2 * V2_α t3 * V3_α Vref_α * Tst1 * V1_β t2 * V2_β t3 * V3_β Vref_β * Tst1 t2 t3 Ts三个方程三个未知数写成矩阵形式就是M * t b解这个方程组t1、t2、t3就出来了。M [v1(1), v2(1), v3(1); v1(2), v2(2), v3(2); 1, 1, 1]; b [Vref_alpha * Ts; Vref_beta * Ts; Ts]; t M \ b;我们现在再回头看两电平SVPWM里那些X、Y、Z公共量本质就是把上面这个矩阵求逆的结果按不同扇区预化简成的一组线性表达式。三电平SVPWM同样可以这么做只是三角形数量从6个变成了24个查表项变多而已。所以如果你在网上看到“三电平SVPWM扇区判断后的公共量推导”推导的起点就是上面这个伏秒平衡方程别被那些化简公式吓住基础建模就是这个3x3矩阵求逆。2.4 七段式开关序列设计时间算出来了还需要把三个矢量的先后顺序排好生成实际的PWM脉冲。三电平SVPWM里最常用的是七段式对称序列原则很清晰序列必须对称以一个矢量为中心左右互为镜像相邻两个开关状态之间只能有一相的电平发生变化且只能变化一级比如P到O可以P到N不行每个载波周期内开关次数固定谐波能量集中且规律。打个比方就像上下楼梯你可以从1楼走到2楼再从2楼到3楼但不能从1楼直接蹦到3楼。三电平桥臂的P、O、N三个状态就是这个“楼层”每次切换只能上一级或下一级。七段式的优点是开关次数稳定、输出谐波分布规整但代价是每个周期内开关动作次数相对多开关损耗偏高。如果想降低开关损耗可以改用五段式不连续调制牺牲一部分谐波性能换取损耗优化。实际工程中两者都很常见仿真阶段建议先用七段式跑通再根据项目需求决定要不要优化成不连续调制。3. 中点电位不平衡这是三电平绕不过去的坎两电平SVPWM没有“中点”这个概念母线就是一条直流通路。三电平不同O点电压是否稳定直接决定输出波形质量和器件安全。如果中点电位大幅漂移上下电容电压不均衡输出相电压的正负半周会不对称严重时电容和开关管应力失衡整个逆变器进入危险状态。3.1 中点电流是怎么产生的中点电压漂移的物理来源是流过母线电容中点的电流。当任意一相输出O状态时负载电流就有路径经过钳位二极管流入或流出中点O。这个电流在中点汇聚后对两个串联电容进行不对称的充放电导致上电容电压Uc1和下电容电压Uc2出现偏差。也就是说三电平逆变器在正常工作时中点电流必然存在中点电压必然有波动。问题不在于“有没有波动”而在于“平均值是否为零”。如果某个工况下一个载波周期内流入中点和流出中点的电荷总量不相等电容电压就会持续偏移。3.2 冗余小矢量为什么是天然的平衡杠杆三电平SVPWM能平衡中点电位靠的是小矢量的冗余特性。以第一扇区某一对小矢量为例比如POO和ONN它们在各相输出状态上完全不同但合成到αβ平面上的电压矢量位置是同一个。也就是说对于SVPWM算法来说这两个状态可以互换使用输出效果等效。但对中点电流来说这两个状态的作用方向是相反的。一个让中点电流往电容上冲一个让中点电流从电容往外拉。这就给了我们一个极其方便的“平衡杠杆”当检测到上电容电压高于下电容电压时就多用那个能把中点电流方向拉回来的小矢量状态偏差越大占比越高。用一个PI控制器调节冗余小矢量的分配比例就能把中点电压稳定住。工程上常见的实现方法是在SVPWM计算出小矢量总作用时间T之后把T拆成正小矢量和负小矢量两部分T_positive (1 k) * T / 2T_negative (1 - k) * T / 2其中k由中点电压偏差Uc1 - Uc2经过PI调节器给出限幅范围通常在-0.5到0.5之间。k为正就加大正小矢量占比k为负就加大负小矢量占比。这个闭环逻辑不复杂但效果立竿见影是几乎所有三电平商业产品的标准做法。3.3 零序注入与时间修正两种实现和中点平衡相关的另一个高频词是“零序注入”。零序注入SVPWM和基于载波的调制在最终脉冲序列上可以做到等价只是实现思路不同。简单理解SVPWM算出来的是一个开关序列但在载波实现里三相调制波分别和三角载波比较产生脉冲。给三相调制波叠加上同一个零序分量不会改变线电压但会改变每相PWM脉冲的位置和宽度进而改变中点电流的分布。所以零序电压的选择本质上也是一种调节中点电位的工具。在Simulink建模时我更推荐直接用SVPWM框架里的冗余小矢量时间修正法因为它的物理含义清晰PI参数也容易调。零序注入思路可以在你后续想从SVPWM切换到载波PWM方案时作为对照实现。两者不矛盾理解其中一个另一个自然就通了。4. 在Simulink里把模型搭起来模块划分与关键实现原理清楚了模型搭建就是体力活。但Simulink模型的体力活同样有讲究模块划分不好后面调参和排错会非常痛苦。4.1 顶层信号流控制侧与功率侧怎么衔接我的模型顶层一般分成四个部分三相参考电压生成、SVPWM调制计算、PWM发波电路、三电平功率桥与负载。三相参考电压可以用正弦波模块生成也可以用一个简单的闭环输出给定。这里建议一开始先把参考电压的幅值、频率放在外面做成可调参数方便后面做调制比扫描实验。SVPWM计算模块是核心输入是Vα、Vβ、母线电压Vdc和载波周期Ts输出是三个矢量的作用时间再进一步展开成七段式开关状态。这一部分用MATLAB Function模块实现最方便因为扇区判断和时间计算本质上是数学逻辑Stateflow或者纯Simulink模块搭起来反而绕。PWM发波部分可以选择Simulink自带的PWM Generator三相三电平也可以自己用三角载波比较实现。我的建议是前期先用自带PWM Generator跑通系统后面需要做死区分析时再改成自己的载波比较加死区生成逻辑这样能减少变量。功率桥部分在Simscape Electrical也就是原来的SimPowerSystems里搜索Three-Level Bridge配置为NPC三电平结构再接上直流母线电容和RL负载。如果版本里找不到这个模块可以自己用IGBT和二极管搭一个NPC桥臂但工作量和收敛调试成本都会明显增加。4.2 SVPWM计算模块的MATLAB Function实现下面给一个经过简化但逻辑完整的函数框架你可以直接复制到MATLAB Function模块里再根据自己选定的三角形顶点坐标填充候选矢量表。function [T1, T2, T0] svpwm3l_core(Valpha, Vbeta, Vdc, Ts) % 三电平SVPWM核心计算示意版本 % 通过重心坐标法判断三角形并求解伏秒平衡方程 % 1. 由Valpha, Vbeta计算角度判断大扇区 theta atan2(Vbeta, Valpha); sector mod(floor(theta / (pi/3)), 6) 1; % 2. 建立当前扇区内的候选三角形顶点列表 % 注意不同扇区需要根据矢量图填入真实的顶点坐标 % verticesList为cell数组每个元素是一个3x2矩阵表示三角形三个顶点 % verticesList { ... }; % 3. 依次判断参考点落在哪个三角形 for k 1:length(verticesList) v verticesList{k}; if isInsideTriangle([Valpha; Vbeta], v(1,:), v(2,:), v(3,:)) v1 v(1,:); v2 v(2,:); v3 v(3,:); break; end end % 4. 伏秒平衡求解作用时间 M [v1(1), v2(1), v3(1); v1(2), v2(2), v3(2); 1, 1, 1]; b [Valpha * Ts; Vbeta * Ts; Ts]; t M \ b; T1 t(1); T2 t(2); T0 t(3); end实际工程版本里会把重心坐标循环判断改成对应小三角形的直接不等式查表把矩阵求逆改成预计算的线性系数从而减少仿真计算量。但那个版本调试起来不如这个通用版本直观。我的建议是先跑通这个通用版本再根据仿真速度决定要不要优化。4.3 功率桥与负载侧建模选择Simscape Electrical里的Three-Level Bridge不是所有版本都叫这个名字有的版本在“Three-Level Converter”里面有的叫“N-Level Bridge”需要根据自己用的MATLAB版本找。找到后重点检查几个参数开关管模型用Ideal还是IGBT带导通压降、缓冲电路是否启用、二极管恢复参数等。仿真初期建议用带默认缓冲的模型否则容易出现“仿真步长过小、不收敛”的报错。我自己更推荐另一种建模思路主功率部分用Simscape电气模块但SVPWM控制部分完全不用Simulink自带的PWM模块而是自己搭载波比较和死区生成。这样虽然前期工作量大一点但每个开关信号的来源都清清楚楚排错时能顺着信号流一路查下去。负载用最简单的三相RL串联负载即可R取5欧姆L取5mH。这个阻抗参数下负载电流大概十几安培波形观察起来非常清楚中点电位的现象也足够明显。5. 仿真参数怎么定才不会被波形“骗”了很多人模型搭完随便设个步长就开始跑结果波形乱七八糟还以为是算法写错了。实际上很多“波形异常”是仿真参数设置不当造成的不是算法问题。这个环节的坑比算法本身还多。5.1 开关频率、仿真步长与求解器三电平SVPWM的载波频率仿真中常用10kHz这个数值和实际IGBT应用场景比较接近。如果开关频率取20kHz开关损耗会明显增大而且仿真步长要求更小、运行时间更长。建议刚开始用10kHz后面需要分析谐波分布规律时再改成其他频率做对比。仿真步长和开关频率的关系是很多人忽略的重点。一个载波周期Ts1/10kHz100微秒仿真步长至少要取1微秒也就是每个载波周期至少要100个步长才能比较准确地还原PWM脉冲的边沿位置。如果做FFT分析或者死区分析建议步长取0.5微秒甚至更小。求解器方面如果功率组件用的是Simscape电气模块我倾向于用离散求解器Discrete配合powergui模块。离散仿真虽然舍弃了连续系统的一些细节但对PWM这种强非线性系统数值稳定性反而更好跑起来也快。如果一定要用变步长连续求解器别忘了限制最大步长否则仿真器会在开关边沿附近反复缩减步长慢到怀疑人生。5.2 母线电压、调制比与纹波电流仿真参数里最常用的是一组能代表实际工况的数字。以Vdc700V为例母线电容分成两组每组可以用2000微法到4700微法之间的值容量越大中点电位波动越小但动态响应会变慢。三相参考电压幅值按下式计算参考相电压峰值 m * Vdc / √3调制度m取0.8时参考相电压峰值大约是0.8 * 700 / 1.732 323V。这里要注意SVPWM的线性调制范围可以到m1.15对应相电压峰值Vdc/√3而不是两电平SPWM的Vdc/2。很多人在这个换算上栽跟头设定的参考幅值超过线性区导致SVPWM输出进入过调制波形出现明显削顶。纹波电流的估算可以简化看开关频率越高、滤波电感越大、母线电压越低电流纹波越小。三相RL负载中的L就是天然的滤波电感L取5mH以上时电流波形会比较平滑适合把注意力集中在调制算法的验证上。如果把L取到1mH以下电流纹波可能大得让你误以为SVPWM发波有问题。5.3 死区时间建模的必要性死区时间在小功率仿真里经常被忽略但三电平仿真不能忽略因为死区不仅影响输出谐波还会直接影响中点电位平衡效果。实际IGBT的开通关断时间决定了死区必须在PWM信号里插入仿真中可以用两种方式建模一是给IGBT模块设置Turn-on delay和Turn-off delay参数让功率桥自带死区行为二是在PWM生成后加一个死区生成模块将互补信号之间插入不导通时间。第二种方式更直观也方便设置“有无死区”的对照实验。死区时间一般取2到5微秒。10kHz开关周期是100微秒5微秒死区占比5%对输出波形的影响已经比较明显FFT频谱上会出现低次谐波分量增加。做仿真分析时至少跑一组“无死区”和“有死区”的对比你才对实际系统的波形质量有一个正确预期。6. 输出波形分析相电压、线电压与FFT结果怎么判读模型跑起来之后先别急着分析谐波先看最基本的波形形状对不对。这一步能筛掉80%的建模错误。6.1 相电压三电平、线电压五电平第一眼看着对不对以Vdc700V为例三电平NPC逆变器相对直流母线中点O测量A相输出电压应该是三电平波形350V、0V、-350V。如果看到的是两电平波形说明桥臂的状态切换逻辑有问题O状态根本没有参与合成。如果看到五电平多半是测量参考点选在了母线负端而不是中点或者测量的是线电压。再看线电压Vab应该是五电平波形700V、350V、0V、-350V、-700V。这几条电平台阶是判断调制逻辑正确性的“速记符”。当调制度m0.8时波形中各个电平台阶的宽度比例和理论值可以通过示波器测量工具核对偏差应该在几个百分比以内。6.2 中点电压波形与漂移趋势把上电容电压Uc1和下电容电压Uc2分别拉出来看或者直接用示波器做Uc1-Uc2的差值波形。理想情况下中点电压差应该在0附近做高频小幅波动波动幅度的工程控制目标通常是母线电压的5%以内也就是700V母线时漂移不超过35V。如果看到差值波形整体向一个方向持续增大说明冗余小矢量的平衡闭环还没有生效或者PI参数方向反了。如果看到明显的低频脉动比如3倍工频的周期性波动这属于三电平中点电位的固有特性单纯靠比例分配可能压不下去需要配合更大的电容或者更高级的平衡策略。6.3 THD与谐波分布FFT分析的正确姿势Simulink里做FFT分析最常用的是powergui模块里的FFT Analysis工具。用之前有几个设置必须注意基波频率设为50Hz数据窗口要从稳态阶段开始取不要在启动暂态里截取至少取10个基波周期窗口太短会导致频谱分辨率差THD值明显失真明确THD计算到第几次谐波常见做法是算到2kHz或10kHz不同范围算出来的THD值没有可比性。SPWM和SVPWM的谐波分布有共同特征主要谐波集中在开关频率及其整数倍附近形成边带簇。三电平SVPWM由于输出电平多、低次谐波小相同开关频率下的THD通常显著低于两电平。如果你在频谱里看到很大的2次、5次谐波先别急着怀疑SVPWM算法去查中点和死区参数这两个地方才是低次谐波的制造者。7. 仿真踩坑实录三个高发问题与完整排查链路最后这部分分享三个我实际踩过、也帮别人排查过的高频问题。每个都按照真实的排查顺序写希望能帮你少走弯路。7.1 高调制度下扇区边界抖动导致波形毛刺现象调制度比较低的时候相电压波形非常干净把调制度提到0.9以上波形边沿出现位置不固定的毛刺像随机干扰。排查链路先用示波器把SVPWM模块输出的扇区编号信号拉出来发现扇区编号在某一个数值附近来回跳变没有像预期那样平滑变化。再用MATLAB Function模块内部打点发现是参考矢量幅值接近三角形边界时浮点误差导致参考点在小三角形间来回切换开关序列在某几个周期内出现非最小切换波形就产生了毛刺。根因边界判断条件过于严格在三角形的公共边上由于浮点数精度问题有时候被判定在三角形A下一周期被判定在三角形B。解决在重心坐标判断中引入1e-6量级的容差同时让扇区编号输出经过一个零阶保持器避免同一仿真步内反复切换。这之后毛刺消失波形恢复干净。7.2 同一桥臂直通与死区逻辑错误现象仿真一开始还能跑几十微秒之后报错“Singularity”或电流瞬间冲到几千安培。排查链路把桥臂门极信号分别拉出T1和T3放在同一个示波器窗口发现两者在某些时刻同时为高电平。这就是直通。再查死区生成模块发现只对T1和T3做了延迟处理T2和T4之间没有补充死区于是某些开关组合下T2还没关断T4已经开始导通。解决统一用死区生成模块处理四路门极信号确保同一桥臂任何一对不允许同时导通的开关都有死区时间。在仿真里我还会加一个“门极互锁检查”模块一旦检测到T1和T3同时为高就报警方便第一时间发现逻辑问题。7.3 基波幅值对不上公式值现象Vdc700Vm0.8理论参考相电压峰值323VFFT测出来只有300V或者偏高到350V。排查链路先查参考电压生成模块确认ABC坐标下三相幅值设置正确。再查ABC到αβ坐标变换的系数Simulink里常用的变换系数有两种一种是等幅值变换系数是2/3一种是等功率变换系数是sqrt(2/3)两套系数差得不多但会对SVPWM的标幺化计算产生直接影响。最后查SVPWM模块里的Vdc归一化用Vdc/2还是Vdc结果差了一倍。解决统一设定“控制侧使用标幺值”的约定所有电压量除以Vdc/2后再进入SVPWM计算模块这样参考矢量的幅值范围始终在0到1.15附近调试时不会出现量纲混乱。根据我自己的经验三电平SVPWM仿真最难的从来不是代码本身而是把“拓扑变化”和“算法变化”对应起来看问题。两电平不会发生的中点漂移三电平会发生两电平只需要考虑8个开关组合三电平要处理27个两电平的SVPWM表背完就能用三电平得先画一遍矢量图才能理解公共量为什么那样化简。我在做完这个模型的相当一段时间里仍然会随身带着一张手画的19个矢量位置图随时标注开关状态。这个习惯帮我少走了很多弯路。如果你也想把基础打牢建议搭完模型后别急着调PI参数先手动设几个不同的调制度把相电压、线电压、中点电位、FFT四条曲线挨个截一遍图亲自看一遍“正常”是什么样子再谈后续的中点电位闭环或者扩展到PMSM的FOC调试都会顺很多。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →