ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:163.15KB ,
资源ID:29525240      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29525240.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电动汽车原理基于Matlab的伺服电机正反转动画仿真.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电动汽车原理基于Matlab的伺服电机正反转动画仿真.docx

1、电动汽车原理基于Matlab的伺服电机正反转动画仿真电动汽车原理基于Matlab的伺服电机正反转动画仿真LT据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程

2、度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程

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

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

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

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

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

8、e,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);tex

9、t(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,color

10、,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,linewidth,2);

11、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(6;7,3

12、0.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,2,2,1

13、,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,color

14、,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;15.5,

15、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);%画电机的表面(用八根不同颜色的线

16、代替,每根之间相差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,37.5

17、;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 a=a+d

18、a; %(当线运动到电机背面时会覆盖电机左端,用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); xd1=

19、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); xg1=

20、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(sig3,xda

21、ta,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 s200 b

22、=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*

23、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); xe2=25+2*sin(a+pi/4+b); ye1=32.5+5*cos(a+pi/4+b); ye2=32.5+5*cos(a+pi/4+b); xf1=18+2*abs(2*sin(a+pi*3/4+b); xf2=25+2*sin(a+pi*3/4+b); yf1=32.5+5*cos(a+pi*3/4+b); yf2=32.5+5*co

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

25、b1;xb2,ydata,yb1;yb2); set(sig3,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); drawnow;end

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1