资讯动态

异步电机故障诊断Simulink仿真:匝间短路与转子断条建模全解析

发布时间:2026/10/19 6:19:05 来源:尧图企业网站定制
在电机故障诊断这个方向泡了几年我最常被问到的一句话是电机坏了你怎么知道是哪坏了说实话光靠手摸和听声音的年代早就过去了。现在的主流做法是用Simulink这类工具把异步电机的匝间短路、导条故障、转子断条这些故障模式先在仿真里精确复现再结合电流、转矩信号把故障特征提取出来最后做成一套能自动判断故障类型的算法。这篇文章就把我实际做过的这套异步电机控制与故障诊断仿真项目从建模思路到实操参数原原本本拆给你看。这套东西能干什么简单说你可以在仿真里随时“制造”一台半坏的电机比如让某一相绕组发生匝间短路或者让转子的导条断裂一根然后观察定子电流、电磁转矩、转速这些可测信号到底会发生什么变化。对做电机控制的人来说它帮你验证故障工况下控制器的稳定性对做设备维护的人来说它是一套故障特征库的生成器对做算法研究的人来说它解决了故障样本难获取的大问题。适合所有正在搞电机故障诊断、状态监测或者准备入门电机控制仿真的工程师参考。1. 项目整体设计与思路拆解1.1 为什么非要用Simulink做故障诊断很多新手上来就问电机故障诊断直接找台坏电机测数据不就行了这个想法在实际项目里基本走不通。工业现场不会允许你把一台好电机故意短路几匝测数据更不会等着转子导条慢慢断裂给你当实验品。就算你偷偷去修电机的地方淘换故障机故障类型、故障程度、负载工况也完全不可控测出来的数据根本没法支撑系统性的算法研究。所以我的习惯永远是把仿真放在第一步。Simulink的好处在于故障是可编程的、可复现的、可批量生成的。你今天注入5%的匝间短路明天注入15%参数变化完全可控你可以在空载、半载、额定负载三个工况下分别跑仿真拿到统一的故障样本集。这套东西本质上是一个“故障样本工厂”后面所有诊断算法都在这个基础上长出来。还有一个很容易被忽略的点电机控制闭环运行和开环运行故障特征差异很大。在闭环矢量控制下电流环会主动抑制部分故障扰动让特征信号变弱甚至被掩盖。所以必须把故障诊断放在真实控制环路里去验证这正是Simulink的强项——逆变器、PWM、坐标变换、PI调节器、电机本体全都能在一个环境里搭起来。1.2 三种故障的物理关系与选题考量这个项目选了匝间短路、导条故障、转子断条三种故障我认为这个组合非常经典。匝间短路是定子侧故障起因基本是绝缘老化、绕组受潮或过电压冲击。它是异步电机定子故障里占比最高的类型而且有一个很麻烦的特点初期只有几匝被短接电机还能正常转但短路环流持续发热会迅速扩大故障范围。所以对匝间短路的早期诊断价值极高。导条故障和转子断条本质上可以归到转子侧同一类损伤。笼型转子的导条是插在转子槽里的铜条或铝条两端用端环短接。常年重载启动、频繁正反转导条在交变热应力和电磁力作用下容易出现裂纹裂纹扩展最终就是完全断裂端环裂开也属于这一类。项目中把两者分开列出来我的理解是“导条故障”对应的是轻度损伤裂纹或局部断裂电阻增大但未完全开路“转子断条”对应的是完全断裂该导条彻底失去导电能力。建模时只要把某根导条的等效电阻从正常值改成不同程度的大阻值就能覆盖这两档。选了这三种就等于同时覆盖了定子侧和转子侧的典型故障诊断模型训练出来以后对异步电机整体健康状况的判断框架就完整了。1.3 技术路线总体设计整个系统我分成了五个部分电机与逆变器主电路、矢量控制模块、故障注入模块、信号采集模块、诊断决策模块。主电路负责把三相交流电整流成直流再通过逆变器变成变频变压的交流供给电机控制模块用的是转子磁场定向矢量控制FOC速度外环加电流内环故障注入模块通过受控开关和可变电阻在设定时刻把故障“切”进电机模型采集模块把定子电流abc、转子转速、电磁转矩导出来用于分析诊断模块基于FFT频谱、负序电流分解和轨迹分析做判断。为什么不选直接转矩控制DTC因为FOC的电流环结构让定子电流的波形更规整故障边频分量更容易被定量分析DTC的电流纹波大频谱毛刺多对初学者不友好。等FOC这套跑通了再改成DTC对照比较也是后面要做的扩展工作。2. 异步电机建模基础与故障注入方法论2.1 坐标系控制算法离不开的变换逻辑做异步电机仿真绕不开坐标系变换。电机三相绕组在空间上差120度电流、电压都是随时间变化的正弦交流量直接拿abc三相做PI控制非常麻烦——三个交流量的稳态误差根本压不掉。所以必须做两次坐标变换。第一步是Clark变换把abc三相静止坐标系变到αβ两相静止坐标系相当于把三根轴投影到两个垂直轴上。第二步是Park变换把αβ坐标再旋转到与转子磁场同步旋转的dq坐标。到了dq坐标里原来50Hz的正弦交流量变成了两个直流量d轴对应励磁分量q轴对应转矩分量PI调节器可以无静差地跟踪它们。这就是矢量控制“解耦”能力的来源。故障分析同样要用坐标系。匝间短路以后三相不再对称在abc坐标系下最容易观察到电流幅值差而在dq坐标系下故障表现为d轴和q轴电流出现脉动电磁转矩产生波动。两种视角互补诊断算法里最好都看。2.2 Simulink电机建模的两条路线搭建异步电机模型Simulink里基本有两条路可选。第一条是用Simscape Electrical自带的Asynchronous Machine模型。它的好处是参数化建模你在对话框里填额定功率、电压、频率、定转子电阻电感、转动惯量就能跑。内部已经实现了完善的电磁方程还提供定子电流、磁链、转速、转矩等测量输出端口适合先把系统跑通。坏处是它的内部结构不开放想从绕组内部“挖”出一段来做匝间短路就得动脑筋了。第二条是自己用数学模块搭ABC坐标系下的电机方程。根据磁链方程和电压方程写出微分方程组再用积分器、乘除法器和函数模块搭出来。这条路工作量大但自由度最高可以完全按照故障机理来修改绕组结构。我之前做一相绕组动态短路模型时就是把该相绕组拆成了两段分别建立磁链方程再用开关控制短路支路的接入。我的建议很直接项目前期用现成模块跑通控制与诊断流程后面对故障机理有需要时再自建模型。不要一上来就自己搭那会劝退很多人。2.3 故障注入的三板斧在Simulink里往电机系统注入故障无非三种手段。第一是改参数。比如把定子电阻表改成阶梯信号让它在指定时刻阶跃变大模拟绕组电阻异常。这种方法最简单但和真实物理过程偏差较大。第二是加支路。用带开关的并联支路把故障部件“短接”或“开路”。匝间短路就是把一小段绕组通过一个电阻接到一起转子断条就是把某根导条的支路电阻切到极大值。这是最接近物理本质的做法故障深度也容易量化。第三是切模型。用Simulink的变子结构或手动切换开关在健康模型和带故障模型之间切换。适用于故障引起的参数变化特别大、没法用线性叠加的情况。我这个项目里匝间短路用了加支路的方式转子导条故障用了改参数配合开关切换的方式。后面都会展开讲。3. 三大故障的建模原理与故障特征3.1 匝间短路从绕组不对称到负序电流理解匝间短路先看一个物理事实某一相的绕组本来有N匝因为绝缘损坏其中Ns匝被短路这Ns匝线圈在磁场中感应出的电动势会驱动一个巨大的短路环流。这个环流只在故障相内部循环不经过外部电网但它的加热效应会让故障迅速蔓延。在数学模型里匝间短路的本质是三相定子绕组失去了对称性。故障相的等效匝数减少等效电阻和漏感都下降同时还多了一个短路支路电流。在Simulink里我用了一个简化但好用的方法把故障相绕组分成健康段和故障段故障段两端并联一个可调电阻Rf通过一个Breaker开关控制接入时间。Rf越小代表短路程度越严重。取Rf从8Ω到0.5Ω就可以模拟从轻微匝间短路到严重短路的多种情况。这个故障在信号上最显著的特征是负序电流。利用对称分量法把三相电流分解成正序、负序和零序分量。正常运行时负序分量很小一般不到正序的5%匝间短路后三相不对称直接导致负序电流大幅上升严重时能达到正序的20%以上。基于此很多商用保护装置就是用负序电流作为匝间短路判据。除了负序三相电流幅值不平衡度和3次谐波含量也会增加这些可以作为辅助特征。3.2 导条故障与转子断条同一病灶的两种反应先回答一个概念问题项目里为什么把导条故障和转子断条分开列我的理解是这样的导条故障是广义的转子导条损伤比如导条裂纹、局部截面积减小、导条与端环接触电阻增大这时候导条还没有彻底断掉只是等效电阻变大了转子断条则是导条彻底断裂该支路几乎没有电流通过。两者建模方法一致区别只在于故障导条的电阻倍数健康导条电阻为R_b轻度导条故障取2~5倍阻值重度断条取100倍以上甚至直接开路。鼠笼转子建模我推荐用多回路法。把转子等效成Nb条导条并联的电路每根导条有自己的电阻、自感以及与定子绕组之间的互感。健康状态下Nb条完全对称转子电路在电气上是对称的。把其中第k条导条的电阻改成R_b_fault就完成了故障注入。Simulink里用转子电阻矩阵的方式可以精确实现这一点。这里有个很有意思的物理现象转子断条后不对称的转子电机会在定子电流中感应出边频分量。电机运行在转差率s下转子旋转频率对应转差频率为s*f1断条故障的特征频率是(1±2s)f1其中f1是电网基频。左侧的(1-2s)f1分量是最常用的诊断指标。拿一个4极50Hz电机举例额定负载下转速约1430rpm同步转速1500rpm转差率s(1500-1430)/1500≈0.0467。那么2sf1≈2×0.0467×50≈4.67Hz。也就是说断条故障会在45.3Hz和54.7Hz附近出现两个边频其中45.3Hz那个最明显。断条根数越多边频幅值越大且还会出现(1±4s)f1等高阶边频。同时电磁转矩会出现2sf1频率的脉动表现在转速上就是电机一转一扭噪声变大。3.3 各故障特征的可观测指标汇总经常有读者问我到底该提取哪些信号这里用一张表收敛一下故障类型注入方法典型频域特征典型时域特征定子匝间短路短路支路电阻Rf并接负序分量增大、3次谐波增加三相电流幅值不平衡、dq电流脉动转子导条故障单根导条电阻增大2~5倍边频(1±2s)f1轻微出现转矩低频脉动不明显转子断条单根/多根导条电阻增大100倍以上边频(1±2s)f1幅值显著、高阶边频出现转矩脉动明显、转速波动需要强调判断故障不能只看单一指标。我曾经试过只根据负序电流判断匝间短路结果在电网电压本身不平衡时就误报了。正确的做法是多个特征结合比如负序电流升高且3次谐波同步升高才更可信。这也是后面要做诊断分类器的原因。4. 故障诊断算法落地4.1 FFT频谱分析边频识别与分辨率要求故障特征频率最经典的手段就是定子电流频谱分析。实操中我会按以下步骤来第一步从仿真工作区取出稳态阶段的定子电流A相数据。注意不能取启动阶段的暂态数据那是非平稳信号FFT出来一塌糊涂。一般取故障注入后至少0.5s的稳态段。第二步确定采样频率与数据长度。前面算过额定负载下断条边频距基频约4.67Hz。要分辨这个边频FFT频率分辨率至少要小于2Hz最好达到1Hz。分辨率等于采样频率除以采样点数。如果我以5kHz采样采集2s数据那就是10000个点分辨率就是5000/100000.5Hz足够把4.67Hz的偏差看得清清楚楚。注意如果只采0.2s数据分辨率只有5Hz边频会被基频泄露完全盖住什么都看不出来。第三步做FFT之前先去直流分量。电流信号有直流偏置的话0Hz处会有一个极大的谱线旁瓣泄露会污染附近的低频区域。把信号减去平均值就能去掉。第四步加窗。直接用矩形窗做FFT频谱泄露大旁瓣高。我一般用汉宁窗主瓣稍宽但旁瓣衰减快非常适合识别边频。第五步把频谱做归一化以基频幅值作基准读取(1-2s)f1和(12s)f1处幅值与基频幅值的比值。健康电机这个比值通常低于某个阈值断条后明显抬升。这个比值甚至可以折算成断条根数的粗略估计。4.2 负序电流与Park矢量轨迹对于匝间短路FFT的敏感度不如负序电流法。对称分量法的实现也很简单把三相电流写成复数形式利用旋转因子ae^(j2π/3)正序分量I1(Iaa·Iba²·Ic)/3负序分量I2(Iaa²·Iba·Ic)/3。在MATLAB脚本里用复向量运算就能算。我推荐把负序电流幅值除以正序电流幅值得到负序比这个指标在不同负载下都比较稳定。另一种直观的诊断方法看Park矢量轨迹。把三相电流做Clark变换得到αβ轴分量iα和iβ然后以iα为横轴、iβ为纵轴画轨迹。健康电机运行稳定时轨迹是一个以原点为圆心的圆匝间短路后三相不对称轨迹会变成椭圆短轴方向对应不对称相转子断条后轨迹变成调制的椭环环的厚度与断条严重程度相关。我在实际项目里用了个量化指标椭圆度即轨迹长轴与短轴之差除以长轴。健康时趋近于0故障时显著变大。这个方法比单纯看波形直观得多做展示效果也特别好。4.3 机器学习诊断分类器从规则到自动判别频谱分析和负序指标已经能人工判断故障但要做自动诊断还是要上分类器。我自己用的是特征工程加支持向量机的方案流程非常成熟。特征向量我选了8维三相电流有效值、负序电流比、基频幅值、(1-2s)f1边频幅值比、3次谐波幅值比、Park矢量椭圆度、转速波动方差、转矩脉动幅值。这些特征分别对应三种故障的不同维度信息冗余度低。样本生成靠批量仿真。用脚本控制故障类型、故障程度和负载工况比如健康样本50组、轻度匝间短路50组、重度匝间短路50组、单根断条50组、双根断条50组共250组每组算出一个8维特征向量。然后把数据集按7:3划分训练集和测试集用SVM的RBF核训练分类模型。之前实测的分类准确率在96%以上混淆主要发生在轻度导条故障和健康样本之间这也符合物理直觉——裂纹初期确实隐蔽。如果你觉得SVM调参麻烦换成随机森林也一样100棵树的随机森林在中小样本下表现很稳定而且不用做特征归一化。但随机森林没法给出置信度SVM配合概率输出能给出一个“健康概率”对实际运维更有参考价值。5. 实操记录搭建完整的控制系统与故障仿真5.1 模型架构与信号流我搭建的模型整体可以分成主电路、控制电路、故障注入电路和测量输出四块。主电路从三相交流电源开始经过一个不可控整流桥得到约540V直流母线再经过三相两电平逆变器给电机供电。电机选择Simulink里Simscape的异步电机模型采用鼠笼转子预设参数为3kW、380V、50Hz、4极。控制电路按照经典的FOC结构来做。转速外环的PI输出作为q轴电流给定d轴电流给定设为0实现转子磁场定向两个电流内环的输出经过反Park变换得到αβ电压再送入SVPWM调制生成逆变器开关信号。速度反馈通过编码器接口很简单的一个真实转速信号。电流反馈直接取电机端三相电流。故障注入电路我放在电机模型外部。主电路模型上我并联了一个带受控开关的短路支路接在U相绕组端点和中性点之间里面有可变电阻Rf转子故障则修改电机模型里的转子电阻参数用一个阶跃信号在设定时刻增大电阻。测量输出用To Workspace模块把三相电流、转速、转矩、dq电流全部导到MATLAB工作区方便后面统一处理。5.2 关键参数配置表下面是实际操作的一组核心参数可以直接参考类别参数数值电机额定功率3 kW电机额定电压380 V电机额定频率50 Hz电机极对数2电机定子电阻1.405 Ω电机转子电阻(折算值)1.395 Ω电机定子漏感5.839 mH电机转子漏感5.839 mH电机互感172.2 mH电机转动惯量0.0131 kg·m²控制直流母线电压540 V控制PWM开关频率8 kHz控制电流环PIKp8, Ki120控制速度环PIKp1.5, Ki10故障匝间短路电阻Rf0.5~8 Ω 可调故障导条故障电阻倍数2~5倍故障转子断条电阻倍数100倍以上仿真仿真算法ode23tb仿真采样频率5 kHz有两个细节提醒一下。电流环PI参数整定不好仿真很容易在启动阶段振荡发散。有个快速初值法Kp≈(Ls*ω_bw)其中ω_bw是期望电流环带宽取800rad/s左右Ki≈R_s/L_s。速度环带宽取电流环的1/10左右这样内外环才不会打架。5.3 故障注入与工况切换实际操作时我用一个Signal Builder模块控制整个工况时序。0到1秒是电机空载启动和稳定阶段期间完成磁链建立和速度跟踪1秒时切入第一个故障比如U相匝间短路Rf设定为2Ω模拟中等程度短路2秒时切出第一个故障、切入转子断条故障把一根导条电阻改为正常值的100倍2.5秒时加载额定负载转矩观察两种工况叠加的效果。这里重点讲一下为什么要在负载状态下做断条诊断。断条边频(1-2s)f1的幅值和转差率正相关。空载时s几乎为0边频和基频几乎重合根本无法分辨。只有带额定负载s拉到0.04以上边频才会从基频旁边分离出来。所以实操里一定要在1.5秒后加负载让电机进入额定工况再提取数据。全部仿真跑完后数据会导出到一个二维矩阵里。我用一段脚本自动切取故障后1到2秒的稳态数据计算FFT、负序、Park特征并和标签一起存入样本表。这个批处理流程是整个项目效率的关键。我手上的仿真模型支持一个for循环连续跑30组参数大约耗时20分钟就能生成一个像样的训练集。6. 常见问题与排查心得6.1 仿真不收敛或启动发散这是新手遇到最多的问题。现象是电机转速冲顶或者电流急剧发散一眼就能看出来不对。排查顺序很固定第一看仿真步长。PWM开关频率8kHz载波周期125μs变步长求解器在开关切换处可能步长太小导致仿真异常。我建议先用定步长1e-5s跑虽然慢一点但稳定。第二看PI参数。如果电流环Kp过大电流会出现高频振荡速度环Kp过大启动扭矩会冲击过流。第三看负载突变时刻2.5s突然加额定负载电流会有大冲击如果直流母线电容容量不足母线电压跌落会引发连锁振荡。一个特别实用的技巧把PWM载波频率降到2kHz先把系统整定跑通没问题后再升回8kHz。载波频率高仿真计算量成倍增加且高频开关噪声在早期调试时会掩盖你真正想看的故障特征。6.2 FFT看不到故障边频模型跑通了频谱里却找不到(1-2s)f1的边频这个问题我排查过很久。核心原因有三类。一是转差率太小。前面强调过空载下边频几乎贴在基频上FFT分辨率再高也难分离。解决办法就是加负载到额定转矩附近。当然也可以用更精确的高分辨率谱估计方法比如MUSIC算法在短数据条件下依然能分辨相邻频率。如果对MUSIC不熟最简单的办法还是让电机带载。二是FFT参数不对。数据长度太短分辨率不足或者没加窗旁瓣泄露把边频淹没。5000Hz采样率至少采1s、加汉宁窗是基本盘。三是故障模型太轻微。导条只增大2倍电阻边频确实很弱这是物理事实。如果只想验证算法建议故障程度先调重一点比如电阻增大50倍看到明显边频后再调轻。我自己的经验是先把“看得见”做出来再把“灵敏度”做上去不至于一开始就怀疑人生。6.3 模型诊断结果和实测对不上最后一个要泼冷水的地方Simulink模型再精细也是近似。现场电机受电网谐波污染、负载波动、机械振动、轴承磨损等多重影响信号混杂程度比仿真高得多。我见过有人拿仿真里训练的分类器直接去套现场数据结果准确率惨不忍睹。解决方法是在仿真信号里加入适量噪声。我给电流信号加了信噪比30dB的高斯白噪声再跑特征提取诊断算法在这一步会掉一些准确率但由此训练出来的分类器对实测数据的适应性强得多。条件允许时还可以用实验室小功率电机做故障复现采集真实数据对仿真模型做校准把模型里的定转子电阻、互感系数再精调一轮。踩过这些坑之后我个人体会最深的是仿真模型永远是“简化过的现实”但它能帮你把物理规律和信号特征的关系彻底打通。做故障诊断一定先问自己懂不懂故障机理再谈算法。这套Simulink项目我现在还在迭代下一步准备把轴承故障和多故障耦合也加进去。最后再分享一个小技巧故障仿真数据别用完就删整理成标准格式存起来后面做任何新算法这批样本都是你最宝贵的资产。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑