MATLAB语言在电机控制系统仿真研究中的应用宋凌锋李立毅程树康【摘要】简要介绍了MATLAB语言,并把MATLAB语言应用于电机控制系统的仿真研究中,同时以一个具体实例较为深入地对其进行了说明。【关键词】MATLAB语言电机仿真中图分类号:TP312MATM301.2文献标识码:A文章编号:1004-7018(1999)04-0019-03ApplicationofMATLABinMotorControlSystemSimulationSongLingfengLiLiyiChengShukang(HarbinInstituteofTechnology,HeiLongjiangHarbin150001)【Abstract】ThispaperintroducesMATLABbriefly,anditsapplicationinsimulatingmotorcontrolsystem.Atthemeantime,anexampleispresentedinmoredetailtodemonstratethisapplication.【Keywords】MATLABmotorsimulation1引言MATLAB语言是一种面向科学与工程计算的高级语言,它集科学计算,自动控制,信号处理、神经网络和图象处理等于一体,具有极高的编程效率。它是一个高级的数学分析与运算软件,可用作动态系统的建模与仿真。目前,电机控制系统越来越复杂,不断有新的控制算法被采用。仿真是对其进行研究的一个重要的不可缺少的手段,而采用何种语言将对仿真是否方便、仿真速度是否容易收敛和计算精度产生影响。MATLAB语言在其仿真研究中被成功方便地应用在电动车电驱动系统的研制过程中。2MATLAB语言简介MATLAB语言既是一种“演算纸式”的用于科学工程计算的高级语言,又是一种功能极其强大的辅助工具(如:模型仿真、图象处理和internet网络功能)。它有以下特点:(a)用户使用方便,编程效率高,语言简单,内涵丰富,易学易用;(b)高效方便的矩阵和数组运算;(c)极其方便的绘图功能;(d)带有SIMULINK动态仿真工具及Toolbox等其它功能;(e)扩充能力强。2.1MATLAB语言程序设计MATLAB语言程序设计的关键是M文件的建立和编写。所有程序文件、函数、SIMULINK文件以及Toolbox文件均可用M文件建立。M文件的建立和编写一般在专门的编辑器内完成。MATLAB5.0版本是一个高度集成的语言环境,在它的命令窗口界面下可以编写程序、运行程序并跟踪调试程序,也可在线取得帮助。在这个命令窗口下还可完成文件管理等其它功能[2]。MATLAB语言的典型结构为:MATLAB语言=窗口命令+M文件MATLAB以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独处理,所以操作起来比较方便。需要指出一点的是,MATLAB具有很强的图形功能,非常适用于科学研究与工程实际中的应用。2.2SIMULINK仿真软件SIMULINK仿真软件最大的特点是非常直观,直接面向“方框图”。它可完成控制系统模型输入与仿真分析,这当然也可用M文件来实现,不过相当繁琐。在SIMULINK界面下,可以直接用鼠标“画”出所需要的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真或线性化分析。这样无论多么复杂的系统,相当容易且直观地就可完成模型的输入和仿真计算。仿真过程中和结束后都有示波器供查看、分析。所有数据都在内存,可存贮在磁盘中。SIMULINK仿真软件工具带有相应的系统模型库,当进行模型输入时可方便地调用这些模块。各种实用工具箱(Toolbox)同时也提供大量模块,可直接调用,例如:通讯工具箱就提供150多个SIMULINK模块。而MATLAB的工具箱,为不同领域内使用MATLAB的研究开发者提供了一条捷径。SIMULINK仿真软件的核心是S函数。用户建立起SIMULINK系统模型就会建立一个相应的S函数,这样建立的S函数除了用来对原始模型进行描述以外,还可以绘制出系统的框图结构,所以程序会显得很繁琐。用户一般不想再绘制系统的结构图,而只想对系统进行仿真分析,则可用如下S函数,其引导语句格式为:function[sys,x0]=model(t,x,u,flag)model()为模型函数的函数名,t,x,u为对应于状态方程模型的时间、状态向量和输入向量,flag为选项位,用于标识该函数的返回结果[1][2]。在本文介绍的电机控制系统仿真研究中,电机本体的模型(即一组非线性状态方程)就是用S函数描述的,十分简单。3仿真实例为进一步详细说明MATLAB语言在电机控制系统仿真研究中的应用,在此举出三个实例。用SIMULINK仿真软件工具对电机在以下两种条件下进行仿真研究(动态仿真):①无矢量控制的起动过程,直接将电机接入电网;②加上矢量控制的电机起动,电机起动完成后负载突变。电机为三相鼠笼式感应电动机,其铭牌值为:3相,4极,额定功率PN=11kW,额定电压UN=380V(Δ接),额定转速nN=1460r/min。参数如下(转子侧各量为归算值):定子电阻Rs=0.9674Ω,转子电阻Rr=0.870Ω,定子漏电感Ls1=0.00839H,转子漏电感Lr1=0.0159H,激磁电感Lm=0.307H。对应①的仿真给出一组仿真结果如图1~3所示。图1为起动过程电磁转矩波形图,图2为起动过程转速波形图,图3a、b分别为静止d轴和q轴定子电流波形图。图1电机起动过程转矩波形图图2电机起动过程转速波形图图3起动过程定子电流波形图无需磁链闭环的滑差矢量控制模型下的电机起动和转矩突变的仿真框图如图4所示。电磁转矩波形图如图5,图6为静止d轴定子电流波形图。图4仿真框图图5矢量控制下的起动过程和负载突变的转矩波形图图6矢量控制下的起动过程和负载突变的静止d轴电流波形图用MATLAB语言对电动车用感应电机最大效率控制(EOC)进行了仿真研究(稳态仿真)。所用的实际电机如上所述。仿真过程原理简图如图7所示。图7仿真过程原理简图给出一组仿真结果如图8、9所示。图8为传统V/f恒定控制下的电机功率因数曲面图,图9为最大效率控制(EOC)的电机功率因数曲面图。图8传统V/f恒定控制下的电机功率因数曲面图图9最大效率控制(EOC)的电机功率因数曲面图4结论MATLAB是以复数矩阵作为基本编程单元的一种程序设计语言,它提供了各种矩阵的运算与操作,并有较强的绘图及其它强大的功能,成为当今国际控制界应用最广,也是最受人们喜爱的一种软件环境。MATLAB是一个高度的集成系统,随着它的版本不断更新,软件功能也不断扩充与完善,在科学和工程计算中将会有更广阔的应用前景。用MATLAB语言编制了稳态和动态仿真程序,说明MATLAB语言非常适合电机控制领域内的仿真及研究,在某些问题的研究中MATLAB及SIMULINK能带来极大的方便并使效率极大提高。作者简介:宋凌峰,男,1970年生,哈尔滨工业大学博士研究生,研究方向为电动车电驱动技术。作者单位:(哈尔滨工业大学,黑龙江哈尔滨150001)参考文献1张培强.MATLAB语言演算纸式的科学工程计算语言[M].合肥:中国科学技术大学出版社,19952薛定宇.控制系统计算机辅助设计MATLAB语言及应用[M].北京:清华大学出版社,19963MatthewSW,DunniganW,WilliamsBW.ModelingandSimulationofInductionMachineVectorControlwithRotorResistanceIdentification[J].IEEETrans.onPowerElectronics.1997,12(3):495-5064KimGS.ControlofinductionMotorforbothHighDynamicPerformanceandHighPowerEfficiency[J].IEEETrans.onIndustrialElectronics.1992,39(4):323-3335KimSH,SulSK.VoltageControlStrategyforMaximumTorqueOperationofanIMintheField-WeakeningRegion[J].IEEETrans.onIndustrialElectronics.1997.44(4):512-5186StevenC.PeakandJohnL.Oldenkamp.AstudyofstystemLossesinaTransistorizedInverter-InductionMotorDriveSystem[J].IEEETrans.onIndustryApplications,1985,21(1):248-256收稿日期:1999-01-27