异步电动机的MATLAB仿真报告学院:电气工程与信息工程学院专业:电气工程姓名:学号:指导教师:教授摘要:根据异步电机在两相同步旋转坐标系下的数学模型,利用SIMULINK软件包中的S函数模块和基本模块,构建出电机的仿真模型,并通过实例验证,该建模方法求解精度高、简洁实用。关键词:异步电动机;S函数;仿真;MATLAB0引言异步电机的动态模型是高阶、非线性、强耦合的多变量系统,通过坐标变换的方法对其进行简化后,模型简单得多,但其非线性、多变量的本质并未改变。描述电机的仍是一组高阶、变系数的微分方程,用传统的方法对其进行仿真分析并非易事。将电机在两相静止坐标系下的数学模型做了一定的变换后,利用MATLAB/SIMULINK仿真软件成功构建了电机的仿真模型。为使模型的建立更加简洁、明了,本文根据异步电机在两相同步旋转坐标系下的数学模型,充分利用MATLAB强大的矩阵运算功能及SIMULINK提供的S函数模块,建立了普通异步电动机的仿真模型,并对实际电机进行了仿真。1电机两相同步旋转坐标系下的数学模型1.1三相静止到两相同步旋转坐标系的变换由三相静止坐标系变换到M-T坐标系要先将三相静止电流先变换到两相静止电流再将其变换到M-T坐标系下。以下同坐标系下产生的磁动势完全一致为原则,两相同步旋转坐标系上的直流绕组可以等效于静止的三相对称交流绕组。其坐标变换矩阵为:ω1为同步角速度;ω2为转子角速度;ω3为旋转坐标轴相对转子的角速度。1.2电压方程异步电机在两相同步旋转坐标系下的电压矩阵方程为:式中,下标s、r表示定、转子分量;d、q表示同步坐标系的坐标轴;usd,usq;urd,urq分别为定、转子在d、q轴上的电压分量;isd、isq、ird、irq分别为定、转子在d、q轴上的电流分量;Rs、Rr分别为定、转子电阻;Ls,Lr分别为定、转子自感;Lm为定、转子绕组间互感;p为微分算子。1.3转矩与运动方程转矩方程:运动方程;式中,np为极对数;J为转动惯量;TL为负载转矩。2电机仿真模块2.1仿真模块MATLAB具有强大的矩阵运算能力和简便的绘图功能,SIMULINK是MATLAB中用来对动态系统进行建模、仿真和综合分析的集成软件包。本文用SIMULINK仿真软件提供的基本模块实现电机的坐标转换方程和转矩与运动方程,用S函数实现电机的电压方程,从而构建电机仿真图,如图1、图2、图3所示。图1电机仿真图图2坐标转换图图3转矩与运动模块2.2电压方程的S函数描述S函数是用户借以自建SIMULINK模块所必需的、具有特殊调用格式的函数文件。MATLAB提供了S函数M文件的标准模板,用户可以根据需要对其进行适当地改编,生成自己的S函数。S函数一旦被正确地嵌入SIMULINK标准模块库中的S-Function框架模块中,就可以像其他标准模块一样,与SIMULINK的方程解算器Solver交互,实现其功能。由电压方程确定S函数模块的输入u(1),u(2),u(3)分别为坐标变换后的定子电压usd、usq及转子转速;输出x(1),x(2),x(3),x(4)分别为定、转子d、q轴电流isd、isq、ird、irq。下面给出仿真模型中调用的V-Equationsm函数中的主要程序。%定义用户S函数function[sys,x0,str,ts]=Equations(t,x,u,flag,Ls,Lr,Lm,Rr,Rs,w1)switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case1,sys=mdlDerivatives(t,x,u,Ls,Lr,Lm,Rr,Rs,w1);case2,sys=mdlUpdate(t,x,u);case3,sys=mdlOutputs(t,x,u);case9,sys=mdlTerminate(t,x,u);otherwiseerror(['Unhandledflag=',num2str(flag)]);end%模块初始化子程序function[sys,x0,str,ts]=mdlInitializeSizessizes=simsizes;sizes.NumContStates=4;sizes.NumDiscStates=0;sizes.NumOutputs=4;sizes.NumInputs=3;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=[0;0;0;0];str=[];ts=[0,0];%计算模块导数子程序functionsys=mdlDerivatives(t,x,u,Ls,Lr,Lm,Rr,Rs,w1);A=[Ls,0,Lm,0;0,Ls,0,Lm;Lm,0,Lr,0;0,Lm,0,Lr];B=[u(1);u(2);0;0];C=[Rs,-w1*Ls,0,-w1*Lm;w1*Ls,Rs,w1*Lm,0;0,(u(3)-w1)*Lm,Rr,(u(3)-w1)*Lr;(w1-u(3))*Lm,0,(w1-u(3))*Lr,Rr];x=[x(1);x(2);x(3);x(4)];dx=inv(A)*(B-C*x);sys=dx;%计算模块输出子程序functionsys=mdlOutputs(t,x,u)sys=[x(1);x(2);x(3);x(4)];functionsys=mdlUpdate(t,x,u)sys=[];functionsys=mdlTerminate(t,x,u)sys=[];3电机仿真实验以1台三相四极星形联结的感应电动机为例,电机参数为:额定功率PN=1.1kW;极对数np=2;转动惯量J=0.008kg·m2;定子电阻Rs=3.433;转子电阻Rr=5.533;定子电感Ls=0.203H;转子电感Lr=0.207H;定、转子互感Lm=0.193H。给电机直接加入380V、50Hz额定电压,让其空载起动,并在0.4s时加入3N·m的负载转矩,仿真结果如图4、图5所示。由输出波形可以看出,模型成功地仿真了电机的起动及加载运行过程。图4转子转速仿真曲线图5电磁转矩仿真曲线4结论应用MATLAB/SIMULINK仿真时,可以利用SIMULINK提供的各种标准模块,根据信号流程来搭建电机模型。这种方法方便、直观,但在求解高阶非线性微分方程组时,模型的搭建将会非常繁琐且容易出错。S函数是MATLAB中对一般动态系统的计算语言描述,可以用MATLAB的M文件或C语言编写。通过灵活地编写S函数M文件或C语言编写。通过灵活地编写S函数M文件的标准模板,能够准确、快捷地实现高阶非线性微分方程组的求解。本文介绍了异步感应电机在两相同步旋转坐标系下数学模型的建立,并结合实例介绍了一种应用SIMULINK进行电机实时仿真的方法。该建模方法充分利用S函数,并灵活结合基本模块的搭建,使得仿真模型简洁易懂、通用性强,可以推广至其他类型电机的仿真。