电动汽车原理基于Matlab的伺服电机正反转动画仿真_第1页
电动汽车原理基于Matlab的伺服电机正反转动画仿真_第2页
电动汽车原理基于Matlab的伺服电机正反转动画仿真_第3页
电动汽车原理基于Matlab的伺服电机正反转动画仿真_第4页
电动汽车原理基于Matlab的伺服电机正反转动画仿真_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Matlab的伺服电机正反转动画仿真 姓名: 学号:201410009 日期:2015 6 25 指导教师:摘要伺服电机是指在伺服系统中控制机械原件运转的动力元件,是一种补助马达间接变速装置。伺服电机控制速度,为止精度较高,伺服电机转子运转速度受输入信号控制,并能快速反应。在自动控制系统中,用作执行元件,且具有机电时间常数小、线性度高、始动电压等特性,可把所收到的电信号转换成电动机轴上的角位移或角速度输出。在这里我基于自己所学专业限制,做了一个基于Matlab的伺服电机正反转的动画仿真。关键词:伺服电机 动画仿真1、 Matlab简介MATLAB是美国MathWorks公司出品的商业数学软

2、件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了

3、当今国际科学计算软件的先进水平。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析

4、。Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C+语言基础上的,因此语法特征与C+语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。2、 伺服电机简介与仿真结构图伺服电机(servo motor )是指在伺服系统中控制机械元件运转的发

5、动机,是一种补助马达间接变速装置。伺服电机可使控制速度,位置精度非常准确,可以将电压信号转化为转矩和转速以驱动控制对象。伺服电机转子转速受输入信号控制,并能快速反应,在自动控制系统中,用作执行元件,且具有机电时间常数小、线性度高、始动电压等特性,可把所收到的电信号转换成电动机轴上的角位移或角速度输出。分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。伺服系统(servo mechanism)是使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。伺服主要靠脉冲来定位,基本上可以这样理解,伺服电机接收到1个

6、脉冲,就会旋转1个脉冲对应的角度,从而实现位移,因为,伺服电机本身具备发出脉冲的功能,所以伺服电机每旋转一个角度,都会发出对应数量的脉冲,这样,和伺服电机接受的脉冲形成了呼应,或者叫闭环,如此一来,系统就会知道发了多少脉冲给伺服电机,同时又收了多少脉冲回来,这样,就能够很精确的控制电机的转动,从而实现精确的定位,可以达到0.001mm。直流伺服电机分为有刷和无刷电机。有刷电机成本低,结构简单,启动转矩大,调速范围宽,控制容易,需要维护,但维护不方便(换碳刷),产生电磁干扰,对环境有要求。因此它可以用于对成本敏感的普通工业和民用场合。无刷电机体积小,重量轻,出力大,响应快,速度高,惯量小,转动平

7、滑,力矩稳定。控制复杂,容易实现智能化,其电子换相方式灵活,可以方波换相或正弦波换相。电机免维护,效率很高,运行温度低,电磁辐射很小,长寿命,可用于各种环境。2、交流伺服电机也是无刷电机,分为同步和异步电机,目前运动控制中一般都用同步电机,它的功率范围大,可以做到很大的功率。大惯量,最高转动速度低,且随着功率增大而快速降低。因而适合做低速平稳运行的应用。3、伺服电机内部的转子是永磁铁,驱动器控制的U/V/W三相电形成电磁场,转子在此磁场的作用下转动,同时电机自带的编码器反馈信号给驱动器,驱动器根据反馈值与目标值进行比较,调整转子转动的角度。伺服电机的精度决定于编码器的精度(线数)。交流伺服电机

8、和无刷直流伺服电机在功能上的区别:交流伺服要好一些,因为是正弦波控制,转矩脉动小。直流伺服是梯形波。但直流伺服比较简单,便宜。伺服电机的如此多的优点与应用面,在这里我们基于图2.1作伺服电机的动画仿真。电源伺服电动机放大器图2.1 伺服电机转动结构件图3、 仿真结果根据图2.1简图,查阅相关资料,编写Matlab程序(程序见附录1),运行结果如下:仿真结果分析:通过Matlab软件编写了伺服电机转动的动画图程序,实现了PLC 模拟系统的简易仿真,简单掌握了Matlab软件的操作。图2.2 伺服电机动画仿真结果4、 附录附录1:clc;clear allfigure(numbertitle,of

9、f,name,MATLAB动画演示(PLC模拟系统仿真));%figure(name,自控门);axis(0,70,0,70);hold on;axis off;%text(23,55,自控门,fontsize,20,color,r);text(7,32,放大器,fontsize,8,color,k);text(27,35,伺服电动机,fontsize,8,color,r);%text(18,14,门,fontsize,10,color,r);text(43.5,24,电机启动,fontsize,10,color,k);text(43.5,12,电机关闭,fontsize,10,color,k

10、);text(43.5,0,GND,fontsize,10,color,k);%画导线c1=line(1;65,50;50,color,g,linewidth,2);c2=line(2;58,45;45,color,g,linewidth,2);c22=line(4;55,40;40,color,g,linewidth,2);c3=line(4;7,35;35,color,g,linewidth,2);c4=line(1;1,25;50,color,g,linewidth,2);c44=line(1;7,25;25,color,g,linewidth,2);c5=line(4;4,35;40,

11、color,g,linewidth,2);c55=line(2;2,30;45,color,g,linewidth,2);c6=line(2;7,30;30,color,g,linewidth,2);c7=line(65;65,2;50,color,g,linewidth,2);c77=line(58;58,8;45,color,g,linewidth,2);c777=line(55;55,23;40,color,g,linewidth,2);c8=line(49;55,23;23,color,g,linewidth,2);c88=line(49;58,8;8,color,g,linewidt

12、h,2);c888=line(49;65,2;2,color,g,linewidth,2);%画放大器c9=line(7,7,23;37,color,g,linewidth,2);c10=line(7,12,37;37,color,g,linewidth,2);c11=line(12,12,23;37,color,g,linewidth,2);c12=line(7,12,23;23,color,g,linewidth,2);hold on;%画箭头j1=line(6;7,35.5;35,linewidth,2);j2=line(6;7,34.5;35,linewidth,2);j3=line(

13、6;7,30.5;30,linewidth,2);j4=line(6;7,29.5;30,linewidth,2);j55=line(6;7,25.5;25,linewidth,2);j66=line(6;7,24.5;25,linewidth,2);j5=line(43;44,20;20.5,linewidth,2);j6=line(43;44,20;19.5,linewidth,2);j7=line(43;44,10;10.5,linewidth,2);j8=line(43;44,10;9.5,linewidth,2);hold on;%画电阻fill(37,38,38,37,28,28,

14、2,2,1,0.1,0.5);fill(42,43,43,42,28,28,2,2,1,0.1,0.5);c111=line(49,44,23,20,color,g,linewidth,2);c222=line(49,44,8,10,color,g,linewidth,2);c333=line(49,49,0,3,color,g,linewidth,2);c444=line(48.5,48.5,0.5,2.5,color,g,linewidth,2);c555=line(48,48,1,2,color,g,linewidth,2);%画连接电阻的导线f3=line(37.5;37.5,1;2,

15、color,g,linewidth,2);f4=line(37.5;42.5,1;1,color,g,linewidth,2);f5=line(42.5;42.5,1;2,color,g,linewidth,2);f6=line(37.5;37.5,28;29,color,g,linewidth,2);f7=line(37.5;42.5,29;29,color,g,linewidth,2);f8=line(42.5;42.5,28;29,color,g,linewidth,2);f9=line(40;40,17;29,color,g,linewidth,2);f10=line(40;40,1;

16、15.5,color,g,linewidth,2);%画电源f11=line(39;41,15.5;15.5,color,r,linewidth,2);f12=line(38.5;41.5,17;17,color,r,linewidth,2);hold on;%画电机的两端t=0:pi/100:2*pi;fill(18+2*sin(t),32.5+5*cos(t),0.7,0.85,0.9);fill(25+2*sin(t),32.5+5*cos(t),0.7,0.85,0.9);e0=line(12;18,32.5;32.5,color,r,linewidth,2);%画电机的表面(用八根不

17、同颜色的线代替,每根之间相差pi/4)%简便起见,初始条件下可将八根线分成两组放在电机的顶端和底端sig1=line(18;25,37.5;37.5,color,r,linestyle,-,linewidth,2);sig2=line(18;25,27.5;27.5,color,m,linestyle,-,linewidth,2);sig3=line(18;25,37.5;37.5,color,w,linestyle,-,linewidth,2);sig4=line(18;25,27.5;27.5,color,b,linestyle,-,linewidth,2);sig5=line(18;25

18、,37.5;37.5,color,c,linestyle,-,linewidth,2);sig6=line(18;25,27.5;27.5,color,g,linestyle,-,linewidth,2);sig7=line(18;25,37.5;37.5,color,k,linestyle,-,linewidth,2);sig8=line(18;25,27.5;27.5,color,b,linestyle,-,linewidth,2);a=0;%设定电机运转的初始角度da=0.015;%设定电机正转的条件s=0;%设定门运动的初始条件ds=0.015;%设定门运动的周期while s200

19、a=a+da; %(当线运动到电机背面时会覆盖电机左端,用abs可解决这一问题) xa1=18+abs(2*sin(a); xa2=25+2*sin(a); ya1=32.5+5*cos(a); ya2=32.5+5*cos(a); xb1=18+2*abs(sin(a+pi); xb2=25+2*sin(a+pi); yb1=32.5+5*cos(a+pi); yb2=32.5+5*cos(a+pi); xc1=18+abs(2*sin(a+pi/2); xc2=25+2*sin(a+pi/2); yc1=32.5+5*cos(a+pi/2); yc2=32.5+5*cos(a+pi/2);

20、 xd1=18+2*abs(2*sin(a-pi/2); xd2=25+2*sin(a-pi/2); yd1=32.5+5*cos(a-pi/2); yd2=32.5+5*cos(a-pi/2); xe1=18+abs(2*sin(a+pi/4); xe2=25+2*sin(a+pi/4); ye1=32.5+5*cos(a+pi/4); ye2=32.5+5*cos(a+pi/4); xf1=18+2*abs(2*sin(a+pi*3/4); xf2=25+2*sin(a+pi*3/4); yf1=32.5+5*cos(a+pi*3/4); yf2=32.5+5*cos(a+pi*3/4);

21、 xg1=18+abs(2*sin(a-pi*3/4); xg2=25+2*sin(a-pi*3/4); yg1=32.5+5*cos(a-pi*3/4); yg2=32.5+5*cos(a-pi*3/4); xh1=18+2*abs(sin(a-pi/4); xh2=25+2*sin(a-pi/4); yh1=32.5+5*cos(a-pi/4); yh2=32.5+5*cos(a-pi/4); %绘制电机表面各线条的运动 set(sig1,xdata,xa1;xa2,ydata,ya1;ya2); set(sig2,xdata,xb1;xb2,ydata,yb1;yb2); set(sig

22、3,xdata,xc1;xc2,ydata,yc1;yc2); set(sig4,xdata,xd1;xd2,ydata,yd1;yd2); set(sig5,xdata,xe1;xe2,ydata,ye1;ye2); set(sig6,xdata,xf1;xf2,ydata,yf1;yf2); set(sig7,xdata,xg1;xg2,ydata,yg1;yg2); set(sig8,xdata,xh1;xh2,ydata,yh1;yh2); s=s+ds; set(gcf,doublebuffer,on); drawnowendb=0;%设定电机反转条件db=0.015;while s

23、200 b=b-db; xa1=18+abs(2*sin(a+b); xa2=25+2*sin(a+b); ya1=32.5+5*cos(a+b); ya2=32.5+5*cos(a+b); xb1=18+2*abs(sin(a+pi+b); xb2=25+2*sin(a+pi+b); yb1=32.5+5*cos(a+pi+b); yb2=32.5+5*cos(a+pi+b); xc1=18+abs(2*sin(a+pi/2+b); xc2=25+2*sin(a+pi/2+b); yc1=32.5+5*cos(a+pi/2+b); yc2=32.5+5*cos(a+pi/2+b); xd1=18+2*abs(2*sin(a-pi/2+b); xd2=25+2*sin(a-pi/2+b); yd1=32.5+5*cos(a-pi/2+b); yd2=32.5+5*cos(a-pi/2+b); xe1=18+abs(2*sin(a+pi/4+b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论