ARTICLE DETAIL

资讯详情

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

MATLAB仿真三相绕线式电机转子串电阻分级起动

MATLAB仿真三相绕线式电机转子串电阻分级起动 简介这份文档面向电气工程、电机拖动与自动化相关专业的学生及教研人员围绕三相绕线式异步电动机转子串电阻起动这一典型启动方式给出在MATLAB/Simulink环境中搭建仿真模型的完整思路帮助读者直观观察启动过程中的电流冲击与转速变化理解限流起动的控制原理。资源包共1个docx文件约765KB为图文并茂的实验文档内容按实验目的、仿真模型、模型描述、模块参数计算与设置、仿真参数选择、仿真结果及结果分析依次展开便于对照建模。文中逐一说明AC Voltage Source、Breaker、Asynchronous Machine、Machine Measurement Demux、Selector、Gain、Constant、Series RLC Branch、Scope、Powergui等模块的用途与参数取值并记录仿真无法运行、耗时过长、波形异常等问题的排查方法。读者可据此复现转子电流ir、定子电流is、转速n与电磁转矩Te的波形并结合Load Flow and Machine Initialization初始化与Generate Report生成报表。目前已有541人学习下载。1. 一台 30 kW 绕线式电机直接合闸之后MATLAB 仿真能提前算清楚什么皮带输送机上挂着一台 30 kW 三相绕线式异步电动机直接合闸那一下定子电流冲到额定值的五六倍接触器触点发黑皮带还要打滑。整改方向通常不在换电机而在转子回路串电阻分级起动转子串入电阻后临界转差率往 s1 方向挪起动转矩上去了起动电流反而降下来这是绕线式机型相对笼型的核心优势。麻烦在于电阻不是随便串的。串多少、分几级、每级什么时候短接直接决定起动电流峰值、切换瞬间的转矩跌落以及皮带会不会被拉断。这三件事都能在 MATLAB 里先算一遍再动手接线。下面从 T-s 曲线的定量关系讲起落到一份能直接运行的状态方程脚本、Simulink 的等价搭法、求解器参数怎么设最后给出分级电阻的递推算法和验收波形。2. 转子串电阻降电流、抬转矩的定量依据从 T-s 曲线到临界转差率2.1 串电阻之后 T-s 曲线到底哪一段被改了三相异步电动机的转矩-转差率关系写成参数形式是把定子电压、频率、阻抗全部代进去之后的结果T (3/ω₁) · U₁ₚₕ² · (R_r′/s) / [ (Rs R_r′/s)² (X_σs X_σr′)² ]其中 ω₁ 是机械同步角速度2πn₁/60U₁ₚₕ 是定子相电压有效值Rs 是定子每相电阻R_r′ 是折算到定子侧的转子每相电阻X_σs、X_σr′ 是定转子漏抗。对 s 求极值就得到两个关键量临界转差率 s_m R_r′/√(Rs² (X_σsX_σr′)²)最大转矩 T_max 3U₁ₚₕ²/[2ω₁(Rs √(Rs² (X_σsX_σr′)²))]。在转子回路串入外接电阻 R_add 之后等效转子电阻变成 R_r′R_adds_m 被近似按 (R_r′R_add)/R_r′ 的比例放大而 T_max 的分母里 R_r′ 被漏抗项压着变化很小。结论很直接串电阻主要是在转差率轴上把整条曲线往右推不抬高峰值只把峰值的位置挪到起动区间附近。由此可以得到三条现场能用的判断起动电流 I_st U₁ₚₕ/√((RsR_r′R_add)² X²) 随 R_add 单调下降这是串电阻最稳的收益没有拐点。起动转矩先随 R_add 上升当 R_r′R_add ≈ √(Rs²X²) 时达到当前电压下的峰值再往上串就开始下降。串过头会把起动转矩又拖回去。串电阻把 s_m 推向 1 附近时起动瞬间处于曲线的上升段转矩从起动值继续往上爬到 T_max转速起来后自然回落整个过程没有负斜率段运行是稳定的。注意串电阻只对绕线式转子可行笼型转子的转子回路是铸铝或铜条短接的物理上接不出线来。2.2 用铭牌数据算出 r₂、s_m 和 T_max现场资料通常只有铭牌能拿到的量是额定功率 P_N、定子线电压 U_N、额定转速 n_N、转子开路线电压 U_2N、转子额定电流 I_2N、过载倍数 λ_m。由这些量可以反推出一组够用的参数同步转速 n₁ 60f/pf 取 50 Hz实测转速不为 1500 r/min 时按最接近的同步转速定极对数。额定转差率 s_N (n₁−n_N)/n₁额定转矩 T_N 9550·P_N/n_N。最大转矩 T_max λ_m·T_N工程上 λ_m 取 2.0~2.5铭牌未标注时按 2.2 估。临界转差率用近似式 s_m ≈ s_N·(λ_m √(λ_m²−1))这个式子忽略了定子电阻对 30 kW 以上的机组误差在可接受范围。转子每相实际电阻 r₂ ≈ s_N·U_2N/(√3·I_2N)这是没折算的转子侧实际值用来给电阻箱选型。下表是一台 30 kW 机组的完整算例后面脚本和 Simulink 模型都用这组数量符号取值来源额定功率P_N30 kW铭牌定子线电压U_N380 V铭牌额定转速n_N1470 r/min铭牌极对数p2由 n_N 推得转子开路线电压U_2N200 V铭牌转子额定电流I_2N90 A铭牌额定转差率s_N0.02计算额定转矩T_N194.9 N·m计算最大转矩T_max500.3 N·m取 λ_m 2.567临界转差率s_m0.1119计算转子每相实际电阻r₂0.0257 Ω计算折算到定子侧的转子电阻R_r′0.086 Ω示例值折算关系是现场最容易被搞混的一步。定子侧阻抗乘上折算比 k (U₁ₚₕ/I₁N)·(I_2N/U_2ₚₕ) 才是转子侧实际值这台机组 k ≈ 2.87也就是说定子侧 1 Ω 对应转子侧约 0.348 Ω。仿真里统一用折算值写采购单时再乘回去两套数不要混着记。% param_calc.m —— 由铭牌反推 T-s 曲线参数 PN 30e3; UN 380; fN 50; nN 1470; p 2; U2N 200; I2N 90; lambda_m 2.567; n1 60*fN/p; % 同步转速 1500 r/min sN (n1-nN)/n1; % 额定转差率 TN 9550*PN/nN; % 额定转矩 N*m Tmax lambda_m*TN; % 最大转矩 sm sN*(lambda_m sqrt(lambda_m^2-1)); % 临界转差率(近似) r2 sN*U2N/(sqrt(3)*I2N); % 转子每相实际电阻, 未折算 U1ph UN/sqrt(3); k (U1ph/(PN/(sqrt(3)*UN*0.9*0.85))) * (I2N/U2N*sqrt(3)); % 折算比 fprintf(sN%.4f TN%.1f Tmax%.1f sm%.4f r2%.4f k%.3f\n, ... sN, TN, Tmax, sm, r2, k);这段脚本只做代数运算注意 TN 用的是 9550 系数功率单位 kW、转速 r/min换成 W 和 rad/s 时要改成 P_N/ω_N。sm 的近似式在 λ_m 接近 2 时给出 0.1119如果用完整式 s_m R_r′/√(Rs²(X_σsX_σr′)²) 并代入实测阻抗结果会略有出入做精确校核时以完整式为准。2.3 把人为特性写成一条能直接代入状态的公式有了 s_m 和 T_max任何一级转子回路总电阻下的特性都能写成统一形式。设某一级运行时转子回路总电阻含 R_r′为 R_k则该级的临界转差率放大为 s_mk s_m·R_k/R_r′转矩-转差率关系为T(s) 2T_max / (s/s_mk s_mk/s)这条式子在仿真里非常省事只要知道当前转子回路电阻就能随时算出该电阻下的转矩不必重新解电路。分级起动要做的事情就是让转速从 0 升到额定附近的过程中转子回路总电阻从 R₁ 逐级降到 R_r′每一级在转矩降到切换值 T₂ 时切掉一段电阻转矩跳回 T₁ 继续加速。反过来用这条公式可以从我希望起动转矩是 T₁、切换转矩是 T₂直接解出各级电阻应该取多少不必反复试凑。下一章的仿真脚本用到的正是这套关系状态方程给出转速和电流的真实动态而切换点的转差率由 2T_max/(s/s_mk s_mk/s) T₁ 反解得到两部分拼在一起才有意义。3. 用 MATLAB 把三相绕线式异步电动机转子串电阻起动跑起来3.1 静止坐标系下的五阶状态方程把三相绕线式异步电机折算到定子侧在静止 αβ 坐标系里选四个磁链加一个机械角速度作为状态变量模型只有五阶写起来干净也便于后面用事件精确捕获切换时刻。定子侧dψsα/dt u_sα − Rs·i_sα dψsβ/dt u_sβ − Rs·i_sβ转子侧电压为零但坐标系是静止的转子量要带上旋转项dψrα/dt −R_r·i_rα − ω_r·ψrβ dψrβ/dt −R_r·i_rβ ω_r·ψrα其中 ω_r p·ω_m 是转子电角速度。电流由磁链反解用 D Ls·Lr − Lm²i_sα (Lr·ψsα − Lm·ψrα)/Di_rα (Ls·ψrα − Lm·ψsα)/Dβ 轴同理。电磁转矩 T_e 1.5·p·(ψsα·i_sβ − ψsβ·i_sα)机械方程 dω_m/dt (T_e − T_L)/J。这个结构的好处是转子回路电阻只以 R_r 一个标量出现在等式里分级切换等价于在指定转速点把 R_r 从 R_k 改成 R_{k1}模型不需要改动。提示这套方程用的是等幅值 Clarke 变换所以转矩前面有 1.5 的系数。如果换成等功率变换系数要改成 3/2 并用相电压峰值混用会让转矩整体偏 √3 倍。3.2 一份可以直接运行的起动脚本下面的脚本分两段跑前四段按分级电阻逐段积分用 ode45 的事件功能在转速到达切换点时强制停止取末点作为下一段初值最后一段切回自然特性积分到稳态。%% wound_rotor_start.m —— 三相绕线式异步电动机转子串电阻分级起动仿真 clear; clc; close all; % ---- 电机参数(折算到定子侧, 示例 30 kW 机组) ---- p 2; fN 50; Rs 0.15; Rr 0.086; Lls 1.2e-3; Llr 1.2e-3; Lm 45e-3; Ls Lls Lm; Lr Llr Lm; D Ls*Lr - Lm^2; U1ph 380/sqrt(3); n1 60*fN/p; J 0.5; % ---- 分级电阻与切换转速(由第 5 章算法给出) ---- Rtot [1.380 0.690 0.345 0.172]; % 每级转子回路总电阻, Ohm n_sw [750.6 1125.6 1313.0 1406.5]; % 各级切换转速, r/min w_sw n_sw*2*pi/60; TL 194.9; % 恒转矩负载 N*m x0 zeros(5,1); t0 0; % [psis_a psis_b psir_a psir_b wm] tAll []; xAll []; for k 1:numel(Rtot) opts odeset(RelTol,1e-6,AbsTol,1e-8,MaxStep,1e-3, ... Events, (t,x) ev_fun(x, w_sw(k))); [tt,xx] ode45((t,x) ag_model(t,x,Rtot(k),Rs,Ls,Lr,Lm,D, ... p,U1ph,fN,J,TL), [t0 4], x0, opts); tAll [tAll; tt]; xAll [xAll; xx]; x0 xx(end,:); t0 tt(end); end % 最后一段: 电阻全部切除, 回到自然特性 [tt,xx] ode45((t,x) ag_model(t,x,Rr,Rs,Ls,Lr,Lm,D,p,U1ph,fN,J,TL), ... [t0 t01.5], x0); tAll [tAll; tt]; xAll [xAll; xx]; % ---- 后处理 ---- i_sa (Lr*xAll(:,1) - Lm*xAll(:,3))/D; i_sb (Lr*xAll(:,2) - Lm*xAll(:,4))/D; Te 1.5*p*(xAll(:,1).*i_sb - xAll(:,2).*i_sa); n xAll(:,5)*60/(2*pi); figure(Position,[100 100 900 600]); subplot(3,1,1); plot(tAll, sqrt(2)*hypot(i_sa,i_sb), LineWidth,1.2); ylabel(定子电流峰值 / A); grid on; subplot(3,1,2); plot(tAll, Te, LineWidth,1.2); ylabel(电磁转矩 / N·m); grid on; subplot(3,1,3); plot(tAll, n, LineWidth,1.2); ylabel(转速 / r/min); xlabel(时间 / s); grid on; % ---- 局部函数 ---- function dx ag_model(t, x, Rr, Rs, Ls, Lr, Lm, D, p, U1ph, fN, J, TL) Um sqrt(2)*U1ph; ua Um*cos(2*pi*fN*t); ub Um*sin(2*pi*fN*t); isa (Lr*x(1) - Lm*x(3))/D; isb (Lr*x(2) - Lm*x(4))/D; ira (Ls*x(3) - Lm*x(1))/D; irb (Ls*x(4) - Lm*x(2))/D; wr p*x(5); Te 1.5*p*(x(1)*isb - x(2)*isa); dx [ua - Rs*isa; ub - Rs*isb; -Rr*ira - wr*x(4); -Rr*irb wr*x(3); (Te - TL)/J]; end function [val, isterm, dir] ev_fun(x, w_target) val x(5) - w_target; % 转速越过切换点的时刻 isterm 1; dir 1; % 只在上升方向触发 end仿真逻辑上有三处值得说清楚。第一切换点用的是转速而不是时间因为负载转矩波动时时间点会漂用转速做事件捕获才和物理过程一致事件函数的 dir 1 保证只捕获上升沿。第二MaxStep 设成 1e-3 是必需的工频 50 Hz 下一个周期 20 ms步长放任变大会让电流波形削顶。第三最后一段单独积分因为此时转子回路只剩 R_r特性曲线回到自然特性不设终止事件让它跑到稳态。参数方面Rs、R_r、漏感这五个量决定了曲线形状其中 R_r 对起动时间影响最大漏感和 Rs 主要影响最大转矩和稳态电流。手头没有实测值时的常见做法是Rs 用直流试验R_r 由额定点转矩反推漏感按经验取 Lm 的 2%~5%。3.3 换成 Simulink 时的等价搭法同一套方程搬进 Simulink 有三种常见路线选哪条取决于你要不要看逆变器、电网、电缆这些东西路线用到的模块适合场景注意点状态方程自建MATLAB Function Integrator Scope教学、算法验证、切换逻辑调试磁链初值不能给 0 以外的随意值转矩系数别搞错Simscape Electrical 电机模块Asynchronous Machine 相关模块 三相电源需要和电网、变压器、变频器联合仿真端口和掩码版本差异大参数填折算值纯脚本 ode45无图形界面批量扫参数、做参数敏感性分析出图靠 plot不能交互调参自建路线的搭法三个正弦源组成三相电压经 Clarke 变换得到 uα、uβMATLAB Function 块里放 ag_model 的输出部分接收 mag 端口的磁链状态和当前 R_r输出五个导数五路 Integrator 串回来。转子电阻用 Lookup Table 按转速查表表里放 Rtot 各级的值阶梯变化直接用查表实现比一堆 Switch 干净。Simscape 路线的坑在于模块内部参数要的是折算到定子侧的值还是转子侧的实际值不同版本掩码不一样填错直接导致转矩差几倍。判断方法很简单跑空载稳态看转速是否落在额定点附近、电流是否在合理范围偏得离谱就是折算口径搞反了。4. 电机仿真参数怎么设求解器选择、步长上限与仿真发散的排查顺序4.1 连续模型下 ode45 与 ode23tb 的取舍这套状态方程本身是刚性的原因在定子漏感和转子漏感的电感值很小毫亨级电气时间常数在毫秒量级而机械时间常数在秒量级两者差三个数量级。ode45 是显式变步长求解器在这种时间尺度悬殊的系统里会被迫把步长压到很小运行慢但波形准ode23tb 是隐式梯形法稳定性好步长可以放大代价是每一步要做牛顿迭代。我的经验分界线是模型里只有电机本体、开关切换靠事件捕获时用 ode45 加 MaxStep 限制模型里带 PWM 逆变器、有高频开关动作时换 ode23tb 或 ode15s。判断标准也可以用实测同一组参数分别用两种求解器跑如果转速曲线终点差在 1 r/min 以内、电流峰值差在 2% 以内说明步长已经收敛差得多就说明当前求解器没跟上动态。4.2 我常改的那几个求解器参数参数推荐值作用调不对的后果Solverode45 / ode23tb求解算法刚性系统用显式法会跑到半天不动Max step size1e-3 s强制步长上限电流波形削顶谐波全丢Relative tolerance1e-6相对误差太松时切换点漂移太紧时仿真卡住Absolute tolerance1e-8绝对误差磁链接近零时步长被无限压小Initial step sizeauto起始步长手动给大了会在第一拍就冲飞Zero-crossing control事件驱动切换点定位关闭后切换时刻有毫秒级误差这张表里最容易被忽略的是最后一行。分级起动是靠电阻跳变实现的跳变时刻的定位精度直接决定转矩跌落算得准不准。用 ode45 的 Events 是精确的用固定步长离散求解器则要在切换点附近额外加密采样否则算出来的切换转矩会明显偏离设计值。4.3 波形跑飞时的排查顺序电机仿真跑出 NaN 或者转速飙到几万转原因往往不在模型方程本身按下面顺序查基本都能定位先看磁链初值。状态为零启动会产生一个直流分量如果负载转矩给得过大可能出现短时反转转矩符号变号后机械方程把转速推向负值再叠上电流饱和就发散。稳妥做法是先空载跑一遍看是否收敛再逐步加负载。再看转矩系数。等幅值变换下 T_e 1.5p(ψsα·i_sβ − ψsβ·i_sα)写成 3p 或漏掉 p 都会让转矩整体偏偏大时电机会被推着加速到远超同步转速表现为转速单调上升不收敛。然后看步长。电流波形在过零点附近的斜率最大MaxStep 给到 1e-2 级别时单个周期只有两个采样点数值积分的局部误差累积会直接把转速带偏。最后看切换逻辑有没有形成代数环。用 Simulink 搭的时候如果电阻查表的输入取自同一时刻的转矩输出会构成代数环求解器报错或给出不可信结果。断开方式是在查表前串一个单位延时或一阶滤波。注意仿真发散不等同于模型错误。同一组方程在 ode45 下收敛、在固定步长 1e-3 的离散求解器下发散说明是积分方法的问题不是物理参数的问题改求解器而不是改参数。调参时不建议一次改多个量。我一般固定其他参数只动 MaxStep从 1e-2 逐步降到 1e-4观察电流峰值和切换转速的变化量当变化量小于 1% 时停在这个步长再去做别的参数敏感性分析。5. 分级起动电阻的数值算法与波形验收5.1 用起始转差率递推各级总电阻分级电阻不必靠图解试凑用转差率递推可以一次算准。设起动转矩取 T₁ 0.85T_max切换转矩 T₂ 待定定义两个辅助量 u T_max/T √((T_max/T)² − 1)则 u 是转矩对应转差率关系式中那个二次方程的根。第一级的临界转差率由起动条件定s1 时转矩为 T₁得 s_m1 u₁·1u₁ 由 T₁ 代入上式算得。每级的起点转差率是上一级的终点终点的转差率由同一个求根关系给出最终转差率序列按公比 q u₁/u₂ 等比递减。级数 m 满足 q^m s_m/u₁取整后重新解出 u₂ 和对应的 T₂再回代得到各级总电阻 R_k R_r′·s_mk/s_m。把这套关系写成代码只有十几行改级数、改起动转矩倍数都不用重推公式% step_resistance.m —— 分级起动电阻递推 sN 0.02; Rr 0.086; sm 0.1119; Tmax 500.3; T1 0.85*Tmax; % 起动转矩 u1 Tmax/T1 sqrt((Tmax/T1)^2 - 1); for m 3:6 % 扫描级数, 挑 T2 合适的那一档 q (sm/u1)^(1/m); % 起始转差率公比 u2 u1/q; T2 Tmax/((u2 1/u2)/2); % 由 u2 反解切换转矩 Rk Rr*(u1*q.^(0:m-1))/sm; % 各级转子回路总电阻 fprintf(m%d q%.4f T2%.1f N*m T1/T2%.2f\n, m, q, T2, T1/T2); fprintf( Rtot %s\n, mat2str(round(Rk,3))); end跑出来的结果是m3 时切换转矩 210.6 N·m转矩波动接近一倍皮带类负载会明显抖m4 时 T₂ 258.3 N·mT₁/T₂ 1.65是比较舒服的档位继续加到 m5 收益变小接触器数量还多一个。这台机组选 m4。级数转子回路总电阻折算值折算到转子侧的实际串接电阻11.380 Ω0.240 Ω20.690 Ω0.120 Ω30.345 Ω0.060 Ω40.172 Ω0.030 Ω6. 从波形上判断分级电阻算得对不对波形验收看三条线看的位置比看形状更重要。第一条是定子电流峰值起动瞬间应该在额定电流的两到三倍之间如果超过四倍说明第一级电阻给小了如果低于两倍但起动时间明显拉长说明电阻给大了转矩被压得太低。第二条是转矩曲线健康的形态是锯齿状的小幅波动每次切换瞬间从 T₂ 跳到 T₁然后随转速上升平滑回落到 T₂波动幅度不该超过 40%超过就加一级。第三条是转速曲线在切换点附近不应该出现平台或回落出现回落意味着切换转矩低于负载转矩皮带会被拉停一下。一个很实用的技巧是把切换转速从波形上反推回来核对设计值。方法是找出转矩曲线上每次跳变的时刻取该时刻的转速和 5.1 节算出的 n_sw 逐一对表如果某一段偏差超过 20 r/min多半是那一段的电阻值抄错或者查表索引错位。另一个技巧是给电阻切换加一个 10 ms 的一阶滤波模拟接触器的实际动作时间这样不会得到理论上不存在的理想阶跃切换仿真结果和现场录波对得上。本文还有配套的精品资源点击获取
返回列表