ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

异步电机VVVF变频调速Simulink仿真:从原理到实操

异步电机VVVF变频调速Simulink仿真:从原理到实操 三年前我第一次在Simulink里搭交流异步机VVVF变频控制模型时整整折腾了两个星期。当时最让我困惑的并不是Simulink本身而是没想清楚一个问题既然叫“变频调速”为什么每次调频率的同时还得调电压如果只变频率不变电压后果是什么后来翻电机学教材把模型跑起来才真正明白VVVF的“变压变频”四个字每一个都有物理意义。这篇文章我就把整套仿真从思路、建模、参数设置到踩坑记录完整写一遍从电机调速本质到Simulink实操一次讲透。不管你是刚接触变频调速的在校学生还是准备用Simulink做异步机控制仿真的工程师都能从里面找到可以直接参考的东西。1. 交流异步机转速公式背后的调速逻辑以及VVVF为什么必须“变压”跟着“变频”1.1 一条转速公式对应着三条完全不同的调速路线交流异步机的转速公式是电机学里最基础、也最容易被忽视的一个式子n 60f(1-s) / p其中n是转子实际转速f是定子供电频率p是极对数s是转差率。这个公式虽然短却把所有调速思路全框在里面了。改变p就是变极调速。电机绕组通过不同接法改变极对数转速只能按极对数的组合阶梯式跳变比如4极和8极切换调速级数有限而且电机结构和控制电路都要专门设计。这种方案现在只有特定的双速电机场景还在用。改变s则是变转差率调速。典型做法是绕线转子异步机转子回路串电阻或者通过调低定子电压来增大转差。这两种方式原理简单但转差功率会以热量形式损耗在转子回路或外部电阻里转速越低损耗越大效率很差。改变f就是变频调速。f连续变化时同步转速可以平滑无级调节转差率保持在较小的范围电机的功率因数和效率都比较理想。这就是为什么工业变频器最终以VVVF方案为绝对主流风机、水泵、传送带、电梯几乎都是这个路子。举一个很直观的例子一台4极电机p250Hz供电时同步转速是1500r/min额定转差率在4%左右转子额定转速大约是1430r/min。如果频率降到25Hz同步转速就是750r/min转速大致按比例下降。变频调速的直观性和工程价值都体现在这种平滑的线性关系上。1.2 只变频不变压会出什么问题U/f恒定到底在维持什么很多初学者会想调速只需要变频率为什么变频器输出电压也要跟着变答案藏在感应电动势公式里。异步机的定子感应电动势近似满足E ≈ 4.44 f N ΦE是定子感应电动势N是绕组匝数Φ是气隙主磁通。当f下降时如果端电压U保持不变气隙磁通Φ就会上升。磁路一旦饱和励磁电流急剧增大电机发热严重噪声和振动也会明显加剧。反过来当f升高时如果电压不变磁通又被拉低电机能输出的最大转矩随之下降带载能力变弱。所以变频调速必须把电压和频率作为一个整体来调节维持U/f近似恒定也就是保持气隙磁通Φ基本不变让电机在调速过程中始终处于合理的磁化状态。VVVF这个词的全称是Variable Voltage and Variable Frequency英文本身就把“变压变频”两个动作写在一起了这是它和单纯“变频”最大的区别。还有一个容易被忽略的地方低频段需要额外补偿。电机端电压U并不完全等于电动势E中间还隔着定子电阻和漏抗上的压降。低频时E本身就低定子电阻压降IR占比明显变大如果不额外抬高电压实际气隙磁通会不足电机的启动转矩和低频带载能力会非常差。所以工程上V/F曲线通常在低频段有一个电压抬升也就是常说的转矩提升。这个细节直接影响仿真中低速启动能不能顺利跑起来。2. 异步机方程建模为什么说d-q坐标变换是理解和搭好仿真模型的前提2.1 三相静止坐标系下的方程理论上漂亮但实际很难用在没做任何变换之前异步机的定子、转子电压方程长这样u_sa R_s i_sa dψ_sa/dt磁链方程则是一组耦合项ψ_sa L_s i_sa L_m i_r cosθ ...这里的问题在于定子和转子之间的互感项包含转子位置角θ的三角函数而θ每时每刻都在变化。三相绕组的自感、互感矩阵不再是常数而是转子位置的非线性函数。如果直接基于A/B/C三相坐标系搭建仿真模型每一仿真步都要重新计算电感矩阵并求逆代码实现繁琐计算量也比较大。更麻烦的是三相电压方程之间强耦合想要从物理上理解某个控制量如何影响转矩和磁链非常不直观。很多入门者在这一步就被劝退了。2.2 坐标变换的本质把“变系数”方程变成“常系数”方程解决思路是坐标变换。先通过Clark变换把三相绕组等效成两相静止绕组再通过Park变换把两相静止坐标系旋转到随转子磁场同步旋转的dq坐标系。变换之后的电压方程变成了常系数形式u_sd R_s i_sd dψ_sd/dt - ωψ_squ_sq R_s i_sq dψ_sq/dt ωψ_sd和之前最大的区别在于定转子互感变成了常数不再随转子角度变化交叉耦合项-ωψ_sq和ωψ_sd明确表示d轴和q轴之间的耦合随转速变化。对控制算法的意义在于在三相坐标系里电压、电流都是时变交流量幅值和相位都在变变换到dq同步旋转坐标系之后稳态运行时的d轴和q轴分量变成了直流量。直流量的调节在PI控制器眼里非常舒服这也是矢量控制能做好的数学基础。回到VVVF本身虽然标量V/F控制并不需要做精确的解耦但理解dq变换仍然非常重要。三相逆变器输出的是PWM电压脉冲要得到指定幅值和频率的基波电压必须能在三维坐标系之间清晰地换算。后面计算调制比、判断电压利用率都会用到这层概念。2.3 两条建模路线内置电机模块还是自己写S-Function在Simulink里做异步机仿真有两条搭建路线第一条是用Simscape Electrical库里的Asynchronous Machine SI Units模块这是目前大多数人验证控制策略的选择。模块内部已经做好了坐标变换和磁链计算对外提供定子三相端口、转子机械端口和反馈输出端口直接拖出来配置参数就能用。第二条是自己写S-Function把dq坐标系下的电压方程、磁链方程、转矩方程和运动方程全部手写出来。这条路工作量明显更大但模型内部每一个量都是你自己的变量磁链、转矩、电流的观测非常直观后续如果要研究磁链观测器、无速度传感器策略或者做更复杂的故障注入自建模型会灵活很多。两条路线怎么选我自己的体会是第一轮验证VVVF基本逻辑用内置模块就足够了速度最快连接PWM逆变器也方便控制策略的效果一眼就能看到。但如果你打算深入研究异步机的内部运行机制或者要把模型改造成模型预测控制、扩展卡尔曼滤波转子磁链估计这种需要中间变量的算法建议在熟悉原理之后自建模型否则会和“黑盒”较劲很久。3. 从主电路到PWMVVVF仿真模型的完整搭建过程3.1 先看清楚整个模型分几层VVVF仿真模型整体上可以拆成四个部分直流电源部分、三相桥式逆变器、异步电机本体、控制算法部分。控制算法部分又可以细分为V/F曲线生成和PWM脉冲生成两个环节。我之前搭建时习惯把整个模型按层级画开最左边是直流母线电压源接着是Universal Bridge做三相逆变输出端接异步电机定子侧电机转子侧接负载转矩信号同时电机输出的转速、转矩、电流反馈给控制部分控制部分生成PWM驱动脉冲送回逆变器。这样的结构既是VVVF的典型拓扑也便于分模块调试。直流电源部分我直接用直流电压源代替了“整流桥滤波电容”的完整前端。这样做完全合理因为本文关注的是逆变器和电机控制策略电网整流环节并不影响VVVF的核心逻辑还能省掉二极管导通压降和电容充电过程的干扰。如果你需要研究并网电流谐波或者直流母线电压波动对调速的影响再补全整流环节也不迟。3.2 直流母线电压怎么定电压利用率必须算清楚直流母线电压的选择是很多人第一次搭模型时容易忽略的关键参数。这里面藏着电压利用率的具体计算。以额定线电压380V的电机为例。SPWM调制在线性调制区内逆变器能输出的最大线电压基波有效值是0.612倍直流母线电压。如果母线电压Udc取常见的540V最大线电压只有330V左右明显不够380V电机工作在额定频率下时电压不足转矩能力会打折扣。如果改用SVPWM线性调制区的电压利用率提高约15%最大线电压基波有效值可以达到0.707倍Udc。Udc取540V时最大线电压约382V刚好够380V额定输出。这也是为什么实际变频器大多采用SVPWM或者带有注入三次谐波特性的PWM本质上都是为了在有限的母线电压下榨出更高的输出电压。我在仿真中把Udc设置为600V配合SVPWM或者偏移电压注入最大线电压可以达到424V左右留出了足够的调制裕量。如果你坚持用最基础的SPWM可以把母线电压提高或者在标定V/F曲线时适当降低额定电压点。关键是要把这条计算链想明白线电压有效值 输出电压利用率按PWM方式确定 × Udc这比盲目设置电压源参数可靠得多。3.3 V/F曲线怎么生成低频补偿加到什么程度V/F曲线是VVVF控制的灵魂。理想情况下50Hz以下维持U/f恒定50Hz以上则电压保持额定频率继续升高进入弱磁区。我用一个一维Lookup Table模块实现V/F曲线输入是频率给定f_ref输出是相电压幅值参考。这里要注意单位换算电机铭牌上的380V是线电压有效值但PWM调制波通常使用的是相电压峰值。额定相电压峰值大概是这样得到的380 × √2 / √3 ≈ 310V所以50Hz时Lookup Table的输出对应310V。25Hz时对应155V10Hz时对应62V按比例计算。低频补偿我习惯在5Hz附近设置一个比纯比例曲线略高的电压值。比如5Hz理论上按比例算应该输出31V实际会取值到35V甚至40V具体看启动负载情况。补偿不能加得太过否则低速时磁通饱和电流大发热明显。我调试时有一个原则补偿到电机能稳定启动就够了不要盲目把启动电压拉到很高。表格里的低频频点按下面的思路设置频率(Hz)输出相电压峰值(V)说明020启动补偿初始电压535低频补偿区保证启动转矩1062进入近似线性区25155线性区U/f基本恒定50310额定点对应线电压380V60310弱磁升速区电压不再升高3.4 PWM脉冲生成SPWM比较逻辑和死区设置PWM生成模块是连接控制算法和主电路的桥梁。最容易上手的是SPWM三相互差120°的正弦调制波和同一个高频三角载波做比较。调制波表达式是u_a U_peak × sin(2πf_ref t)u_b U_peak × sin(2πf_ref t - 120°)u_c U_peak × sin(2πf_ref t 120°)三角载波频率设为10kHz。在Simulink里我用Repeating Sequence生成三角波幅值设为Udc/2频率设为10000Hz然后每一相通过Relational Operator和三角波比较得到1或0的逻辑电平再经过死区延迟后驱动Universal Bridge对应桥臂。死区时间我设置为2μs。死区的作用是防止同一桥臂上下管同时导通造成直通短路实际硬件里必须有这段时间。在Simulink纯数字仿真里如果没有设置死区模型也能跑通但如果后续要做硬件在环或者代码生成死区一定要加上否则控制器烧了都不知道怎么回事。更进阶的SVPWM实现可以采用Simscape库里的PWM Generator模块直接选SVPWM模式也可以自己搭扇区判断、有效矢量作用时间计算的子系统。两者仿真的电压波形会有差异SVPWM的直流电压利用率和谐波特性更好。我先推荐自带的PWM Generator模块先把V/F控制跑通再深入分析SVPWM的扇区切换逻辑。3.5 参数整定表直接照着搭就能出结果为了减少摸索时间我整理了常用的仿真参数以4kW三相异步电机为例参数数值说明额定功率4 kW典型小型工业电机额定线电压380 V额定频率50 Hz极对数24极电机定子电阻1.405 Ω定子漏感0.005839 H转子电阻折算值1.395 Ω转子漏感折算值0.005839 H励磁互感0.1722 H转动惯量0.0131 kg·m²直流母线电压600 V留出调制裕量PWM载波频率10 kHz平衡谐波与开关损耗死区时间2 μs防桥臂直通仿真步长1e-6 s固定步长离散算法这套参数是我在Simulink里验证过多次的组合跑出来的启动电流、稳态转速、转矩脉动都符合工程预期。如果你手里的电机参数不同重点调整电阻、电感和转动惯量其他结构不用变。4. 仿真结果分析从空载启动到负载突变重点看哪些指标4.1 空载启动过程转速、转矩、电流三个量怎么配合设置仿真时间为2秒频率给定从0阶跃到50Hz电机空载启动。打开示波器观察转速、电磁转矩和定子电流三组曲线。转速曲线从0开始以近似指数规律爬升最终稳定在同步转速附近。由于V/F开环控制没有转速反馈实际转速会略低于同步转速4极电机50Hz对应同步转速1500r/min空载时转子转速通常会到这个值附近。电磁转矩在启动瞬间会出现明显的冲击和振荡。这是因为刚合闸时PWM电压突然加到定子上电流瞬间建立磁场尚未稳定转矩自然有较大脉动。之后随着转子加速转差率逐渐减小电磁转矩收敛到和空载阻力矩平衡的值基本接近0。定子电流的启动过程更有意思。启动瞬间电流可能达到额定电流的4到6倍这是因为启动瞬间转子尚未转动转差率为1转子等效阻抗很小。随后转速上升转差率下降电流快速回落到空载励磁电流。这个启动电流的形态和西门子、ABB变频器实际启机电流曲线在趋势上是完全一致的这也是仿真模型有效性最直接的证明。4.2 负载突变VVVF开环标量控制的天然局限在仿真时间2秒时给电机突加一个10N·m的负载转矩。观察转速曲线会发现转速不会立刻恢复而是跌落到一个比之前略低的稳定值定子电流和电磁转矩同步上升最终电磁转矩稳定在10N·m附近。这背后是异步机的自适应性负载增大转子转速下降转差率增大转子感应电动势和电流增大于是电磁转矩增大直到和负载转矩平衡。这个过程完全由电机自身机械特性完成不需要控制器干预。但由于VVVF是开环V/F控制没有转速闭环电机稳定后转速和给定值之间存在一个静差。这个静差本质上对应一个新的转差率。如果工艺要求转速恒定比如机床主轴和精密传动开环V/F就不够用了需要在外部加转速PI闭环把实测转速和给定转速的误差换算成对频率或电压的修正量。对风机、泵类负载来说这种静差完全可接受因为风机泵对转速精度的要求本来就不高开环VVVF结构简单、成本低、调试方便所以在这个领域大规模应用了几十年。4.3 参数变化带来的现象差异载波频率和V/F曲线把载波频率从10kHz降到2kHz再跑一遍电流波形会发生明显变化电流纹波变大正弦度变差转矩脉动更明显。原因是载波频率降低后每个基波周期内的高频开关次数减少输出电压中的谐波含量上升。如果继续降低到1kHz以下甚至会听到电机明显的电磁噪声在电流曲线上则表现为高次谐波叠加严重。把载波频率升到20kHz电流曲线明显更平滑转矩脉动减小但仿真时间会明显拉长因为固定步长要缩小才能分辨更密的PWM脉冲计算量按比例上升。V/F曲线的影响也很直观。如果把低频补偿电压从35V改成10V低频启动时电机会出现明显的“启动无力”转速爬升缓慢定子电流却不小。这是因为铁芯没有得到足够的磁通电机在低速状态下无法建立有效转矩。再观察启动电流会惊讶地发现补偿不足时电流可能比正常补偿还大因为磁通不足、转差太大转子感应电流被迫升高。这几个对比例子能帮你快速建立参数和现象之间的映射关系也是面试和答辩时很好的分析素材。5. 实测踩坑VVVF仿真中我最常遇到的四个问题及处理思路5.1 代数环问题仿着仿着突然卡死或者报错Simulink在检测到模型内部存在代数环路时会直接用Newton迭代法去解表现就是仿真速度突然变得极慢严重的直接报错。VVVF仿真的代数环经常出现在电流或电压反馈到控制环节再反回去驱动PWM的过程中。V/F开环控制在纯标量模式下其实不容易触发代数环因为你只是根据频率给电压并不依赖电流或转速。但当我在模型中加了母线电压补偿、让控制环节读取当前母线电压来计算调制比时输出PWM又决定母线电流母线电流又影响母线电压这就在瞬时域里形成了闭环依赖。处理思路非常直接在反馈通道里插入一个Memory模块或者Unit Delay模块把瞬时代数依赖打断成离散的一步延迟。代价是控制信号晚一个仿真步长但一个微秒级步长对50Hz的电机控制来说完全可以忽略。另一个办法是使用离散求解器把整个模型都离散化避免连续域代数环求解。5.2 载波频率和仿真步长不匹配PWM波形完全失真这是新手最容易遇到的隐形坑。载波频率10kHz对应周期100微秒。如果固定仿真步长设置在1e-4秒一个载波周期只有1个采样点三角波根本显示不出来PWM的占空比含义完全丢失输出波形会变得非常怪异。我调试时的经验公式固定步长取载波周期的1/50到1/100也就是载波10kHz时步长取1e-6秒左右这样每个三角波周期内能有50到100个采样点占空比才能被合理刻画。如果你觉得1e-6秒的步长导致仿真太慢有两个折中方案。一是把载波频率降到5kHz步长放宽到2e-6秒计算量立刻减少一半代价是谐波略大。二是用变步长求解器设定最大步长不超过载波周期的1/50这样电机转速平稳时可以自动放大步长仿真效率明显更高。5.3 低频段启动无力补偿电压怎么调都别扭现象是电机低速启动时转矩不足转速爬升慢甚至转不起来。我围绕V/F曲线做了不少调整总结出三个原因低频补偿不够、转差率偏高、负载惯性过大。排查从补偿电压开始把5Hz对应的电压从按比例计算的31V逐步调高到40V左右观察转速曲线能否顺利爬升。如果补偿继续往上加到50V以上会出现新的问题磁场饱和励磁电流增大但转矩没有等比例上升启动电流变得过高电机发热严重。所以补偿并非越大越好要边调边看曲线找到启动成功且电流不至于过大的甜点。如果补偿电压调到合理值后仍然无法启动再检查负载转矩设定。若负载的初始转矩超过电机启动时的最大电磁转矩那怎么调V/F都无济于事只能降低负载或采用更高启动转矩的控制策略。5.4 转速和极对数换算错乱示波器上的数值对不上这个坑特别隐蔽。Simulink的Asynchronous Machine模块输出转速可以选一分钟转速r/min也可以选转子机械角速度rad/s。很多人在示波器上看到一个数字下意识拿来和同步转速直接对比忘了还有极对数这一层换算。以4极电机为例p250Hz时同步机械转速是1500r/min但定子电角速度是2π×50≈314rad/s而转子机械角速度是157rad/s左右。如果拿电角速度去对比机械转速数值会差一倍。在解析仿真结果时先确认工具导出的变量是机械角速度还是电角速度再换算成便于理解的转速值。另外PWM调制波频率f_ref和电机转速之间的换算关系也要清楚地除以极对数否则调频率时转速变化幅度和你预想不一致会让人误以为控制算法算错了实际上只是单位不统一。这套VVVF仿真模型搭建下来核心并不在于把Simulink用得多熟练而在于真正理解了异步机的调速本质。最后分享一个我自己调试中的习惯先把电机空载跑通再给恒定负载跑通然后每次只改一个参数观察对应曲线变化跑完一条记录一条。这样排查问题非常快不会出现改了三四个变量之后不知道是谁影响了结果的情况。VVVF控制本身不复杂难的是电机本体、电力电子变换器和控制算法放在同一个仿真环境里时不同时间尺度相互叠加。但只要把U/f关系和电压利用率这两条主线抓住把仿真步长和PWM参数匹配好这套模型跑起来会很稳后续再扩展矢量控制或转速闭环也有了坚实基础。
返回列表