电动汽车原理基于Matlab的伺服电机正反转动画仿真
基于MATLAB的电动助力转向系统控制算法仿真研究概要

第25卷第4期2011年12月传动技术DRIVESYSTEMTECHNIQUEV01.25NO.4December2011文章编号:1006—8244(2011)04-33—05基于MATLAB/Simulink的电动助力转向系统控制算法仿真研究AStudyontheControlAlgorithmofElectricPowerSteeringSystemBasedonMATLAB/Simulink何字满n’顾梦妍心’(1.上海交通大学汽车电子控制技术国家工程实验室上海200240;2.上海工程技术大学上海201620)HeZiman‘1’GuMengyan‘2’(1.NationalEngineeringLaboratoryforAutomotiveElectronicControlTechnology,ShanghaiJiaoTongUniversity,Shanghai200240;2.ShanghaiUniversityofEngineeringScience,Shanghai201620)[摘要]简述了电动助力转向系统(EPS)的组成机构和不同控制模式下的工作原理。
根据简化的物理模型,将电动助力转向系统划分为了三个组成部分,并分别陈列了各个组成部分的数学模型。
针对汽车不同的行驶工况,提出了三种不同的转向控制模式。
基于电动助力转向系统的数学模型和不同控制模式,在MAT—LAB/Simulink中构建了控制器的仿真模型。
通过追踪助力电机的目标电流,分析转向轻便性和路感,验证了本文施加的基本PID和PWM控制策略较好地协调了汽车转向时“轻”与“灵”的矛盾,提高了汽车转向时的操作稳定性。
‘[Abstract]ThecomponentsofElectricPowerSteering(EPS)systemandtheworkingprinciplesbasedondifferentcontrolmodesweredescribedsimply.Accordingtothesimplifiedphysicalmodels,EPSsystemwasdividedintothreeparts.Themathematicalmodelsofeverypartwereestablishedseparately.Threekindsofsteeringcontrolmodeswereimroducedforadaptingdifferentoperatingconditions.OnthebasisofmathematicalmodelsanddifferentcontrolmodesofEPSsystem,thesimulationmodelofthecontrollerwasbuiltinMATLAB/Simulink.Throughtrackingthetargetcurrentoftheassistmotorandanalyzingthesteeringagilityandroadfeel.itisverifiedthatthecontrolstrategiesofPIDandPWMproposedinthispa-percanregulateconflictsbetween"roadfeel’and’steeringagility"whenthevehicleissteering,andthema-neuverabilityandstabilityarebothimprovedeffectively.关键词:电动助力转向系统控制策略控制模式助力电流转向轻便性路感Keywords:EPSsystemcontrolstrategycontrolmodeassistcurrentsteeringagilityroadfeel中图分类号:U463.212文献标识码:B1前言汽车电动助力转向系统(EPS)是一种先进的汽车助力转向系统,该系统相比起传统的机械式转向系统和液压式助力转向系统有着节能、环保、减轻自重、可移植性好、结构简单、布置灵活等诸多的优点‘1|,因此它已经成为当今中高档汽车转向助力系统广泛采用的技术。
伺服系统Matlab仿真教学指导

40
800
30 600
20 400
10
200 0
-10
0
0 0.005 0.01 0.015 0.02 0.025 0.03 0 0.005 0.01 0.015 0.02 0.025 0.03
图4-16 工程设计参数下的q轴电流 i q
(P=0.86,I=0.25)
0
35
-200
30 -400
25
20
-600
15 -800
10 -1000
5
0
-1200
0
0.005
0.01
0.015
0.02
0.025
0.03
0
0.005
0.01
0.015
0.02
0.025
基于永磁同步电机伺服系统的控 制算法和仿真分析
伺服系统Matlab仿真教学指导
1.1 引言
第一章 绪 论
位置环
永磁同步电动机伺服系统 转速环
电流环
伺服系统Matlab仿真教学指导
1.2 交流伺服控制策略的现状 开环恒压频比控制 矢量控制理论
交流伺服控制策略 直接转矩控制 滑模变结构控制 自适应控制
伺服系统Matlab仿真教学指导
4.3.2 伺服系统仿真方案
表2 伺服系统无扰动下仿真方案
空载
负载
(7 N m)
iq m iq
m
工程设计参数( P=0.86,I=0.25)
图
图
图
图
4-16 4-17 4-22 4-23
经验参数
图
图
图
图
(P=10,I=2) 4-18 4-19 4-24 4-25
课程设计--基于MATLABsimulink的三相交流异步电机正转和反转建模

基于MATLAB/simulink 的三相交流异步电机正转和反转建模与仿真姓名:李鹏程学号:031040525 专业:电气工程及其自动化完成日期:2012 年12 月18 日[摘要] 在MATLAB/simulink环境下,设计和组合了三相交流异步电动机正转和反转的仿真模型。
仿真结果证明了控制方法的有效性,并且为其他交流异步电动机的设计提供了基本的设计理论的简单构型。
随着近年来电力电子工业和计算机科技的迅速发展,交流异步电动机赖于其结构简单,运行可靠,过载能力强,维护方便等优点逐渐应用于工业生产中的各个领域,并获得了广泛的接纳认可以及好评。
笔者仅仅基于简单的模块进行建模与仿真,从仿真模型中得出与实际理论相符合的情况,最终达到理论与实践相结合的目的。
三相交流电源模块设置以上为A 项,相应的B、C两相相位分别改为120度、240度。
二:异步电动机参数设计设置转子以鼠笼式模块( squirrel-cage)进行连接,输出三相电流内部短路参考坐标系选用静止坐标系( stationary)。
异步电机的一切参数设置基于国家工频。
三:分路器设置其中包含:(1)定子三相电流:is-a、is-b。
is-c;(2)转子三相电流:ir-a、ir -b、ir-c;(3)转速n=wm/2pi;(4)转矩Te;这些量也是仿真中最后需要观察和分析的数据量。
四:完整的三相交流异步电机simulink 模型异步电机simulink 仿真模型1:仿真中必须有powergui 模块。
其作用是:(1):可以显示系统稳定状态的电流和电压以及电路以及所有的状态变量值;(2):为了执行仿真,其可以允许修改初始状态值;(3):可以执行负载的潮流计算,可以初始化包括三相电机在内的三相网络,相电机的简化模型为同步电机或异步电机。
即,其在本仿真中起到的作用。
2:异步电动机模块,使用的是鼠笼式转子,输出三项电流再其内部短路,采用静止坐标系,有利于波形的观察和分析。
基于matlab 生成C代码的电机矢量控制仿真模型研究

重庆大学本科学生毕业设计(论文)基于matlab 生成C代码的电机矢量控制仿真模型研究学生:曾宇航学号:20114346指导教师:余传祥副教授专业:电气工程与自动化重庆大学电气工程学院二O一五年六月Graduation Design(Thesis) of Chongqing UniversityGenerated C code of motor vector control simulation model research based onMATLABUndergraduate: Zeng YuhangStudent Id:20114346Supervisor:Prof Yu ChuanxiangMajor: Electrical engineering and automationSchool of Electrical EngineeringChongqing UniversityJune 2015摘要电机在国民生产中占据重要地位,而传统的电机控制开发流程相较于工业技术的发展已经相对落后,本次毕业设计便是对一种前沿、高效的电机控制系统开发流程进行论述和验证。
课题选择研究对象为三相交流异步电机并采用矢量控制系统进行控制。
首先通过MATLAB/SIMULINK对所选电机进行建模,之后对矢量控制系统进行建模。
根据实验所选用的电机进行参数配置,配合矢量控制系统的数学模型完成整个仿真模型的构建,根据仿真结果不断矫正仿真模型、优化模型结构,并确定仿真模型的最优参数配置;然后根据仿真模型的控制模块并结合控制系统的硬件电路构建控制系统的C代码生成模型,生成所需的DSP可执行C 代码,将生成的可执行代码下载到以TI系列DSP为控制核心的硬件控制系统中进行硬件实验,矫正模型参数并验证生成代码的正确性。
在整个课题进展过程中根据生成代码的运行结果多次对仿真模型进行参数修正,并同步对代码生成模型进行修正,在如此反复过程中,优化了控制系统模型,使得生成代码能够更高效的运作,最后成功的完成了整个毕业设计,验证了此电机控制系统开发流程及生产可行性代码的正确性和可行性。
课程设计--基于MATLABsimulink的三相交流异步电机正转和反转建模

基于MATLAB/simulink的三相交流异步电机正转和反转建模与仿真姓名:李鹏程学号:031040525专业:电气工程及其自动化完成日期:2012年12月18日[摘要] 在MATLAB/simulink环境下,设计和组合了三相交流异步电动机正转和反转的仿真模型。
仿真结果证明了控制方法的有效性,并且为其他交流异步电动机的设计提供了基本的设计理论的简单构型。
随着近年来电力电子工业和计算机科技的迅速发展,交流异步电动机赖于其结构简单,运行可靠,过载能力强,维护方便等优点逐渐应用于工业生产中的各个领域,并获得了广泛的接纳认可以及好评。
笔者仅仅基于简单的模块进行建模与仿真,从仿真模型中得出与实际理论相符合的情况,最终达到理论与实践相结合的目的。
一:三相交流电源模块设置以上为A项,相应的B、C两相相位分别改为120度、240度。
二:异步电动机参数设计设置转子以鼠笼式模块(squirrel-cage)进行连接,输出三相电流内部短路。
参考坐标系选用静止坐标系(stationary)。
异步电机的一切参数设置基于国家工频。
三:分路器设置其中包含:(1)定子三相电流:is-a、is-b。
is-c;(2)转子三相电流:ir-a、ir-b、ir-c;(3)转速n=wm/2pi;(4)转矩Te;这些量也是仿真中最后需要观察和分析的数据量。
四:完整的三相交流异步电机simulink模型异步电机simulink仿真模型1:仿真中必须有powergui模块。
其作用是:(1):可以显示系统稳定状态的电流和电压以及电路以及所有的状态变量值;(2):为了执行仿真,其可以允许修改初始状态值;(3):可以执行负载的潮流计算,可以初始化包括三相电机在内的三相网络,三相电机的简化模型为同步电机或异步电机。
即,其在本仿真中起到的作用。
2:异步电动机模块,使用的是鼠笼式转子,输出三项电流再其内部短路,采用静止坐标系,有利于波形的观察和分析。
3:总线选择器(bus slecter):一路总线输入后多路输出,方便波形的检测。
基于MATLABSimulink软件汽车感应电机驱动控制系统的仿真研究

基于MATLAB/Simulink软件汽车感应电机驱动控制系统的仿真研究作者:张晓青来源:《电脑知识与技术》2018年第15期摘要:目前,传统的内燃机汽车对环境造成了严重的破坏,在此背景下,人们就要重新对今后汽车的动力问题进行全方位的研究和探讨,以此使我國交通能源战略实现转型。
以此,混合动力汽车就成为目前人们主要研究的重点内容。
混合动力汽车比传统汽车多了一个电池-电机系统,本文主要的研究工作就是从电机驱动控制系统出发,通过研究并且分析此种电机性能,以此选择感应电机为研究对象,对电机驱动控制系统进行模型创建及仿真研究。
关键词:MATLAB/Simulink软件;汽车感应;电机驱动控制;仿真研究中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)15-0271-02电机是电动汽车的关键部分,要求其具有频繁停车、启动、减速及加速功能,并且在低坡及爬坡过程中实现高转矩,在高速的时候能够实现低转矩。
感应电机的结构较为简单,并且运行简单可靠,使用的寿命较长,被广泛应用到工业方面。
随着我国社会经济的不断进步,现代电子技术也在的发展,在此背景下,感应电机被工业称为广泛应用的拖动电机。
通过MATLAB/Simulink软件的运算处理能力较为强大,能够实现建模、仿真、分析数据及图像处理能力,Simulink是MATLAB的仿真环境,其的可视度较高、并且面向结构,所以本文就以MATLAB/Simulink软件为基础,对汽车感应电机驱动控制系统进行仿真研究。
1 混合动力汽车感应电机介绍及控制系统类型1.1混合动力汽车感应电机混合动力汽车比传统汽车多了一个电池-电机系统,无论混合动力汽车感应电机的机构是并联还是串联,其中最重要的部分还是电机驱动系统,电机驱动系统还是混合动力汽车的核心及系统控制的重要内容。
电机系统控制的策略是否科学合理,影响着汽车自身的性能提高,目前,混合动力汽车使用的驱动电力控制策略是电动汽车领域研究中的焦点。
基于MATLABSIMULINK永磁同步电动机调速系统的建模与仿真

毕业设计题目名称基于MATLAB/SIMULINK永磁同步电动机调速系统的建模与仿真系别电气信息工程系专业/班级电气工程及其自动化07102班学生学号指导教师(职称)摘要在现代交流伺服系统中,矢量控制原理以及空间电压矢量脉宽调制(SVPWM)技术使得交流电机能够获得和直流电机相媲美的性能。
永磁同步电机(PMSM)是一个复杂耦合的非线性系统。
本文在Matlab/Simulink环境下,通过对PMSM本体、d/q坐标系向a/b/c坐标系转换等模块的建立与组合,构建了永磁同步电机控制系统仿真模型。
仿真结果证明了该系统模型的有效性。
关键词:Matlab/Simulink;永磁同步电机;电压空间矢量脉宽调制;仿真AbstractIn today’s AC s ervo system, the vector control theory and SVPWM technique make the AC motor can achieve the performance as good as DC motor when designing the AC servo system. PMSM is a nonlinear system with significant coupling. This novel method for modeling and simulink of PMSM system in Matlab is proposed. In Matlab /Simulink, the isolated blocks, such as PMSM block, coordinate transformation from d/q to a/b/c block, etc, have been modeled. The reasonability and validity have been testified by the simulate result.Key words:Matlab/Simulink; PMSM; SVPWM; simulation目录摘要 (I)Abstract (II)目录 (III)第1章绪论............................................................. - 1 - 1.1选题背景及意义...................................................... - 1 - 1.2本课题的研究现状及前景.............................................. - 1 -1.2.1相关发展....................................................... - 2 -1.2.2永磁同步电动机的运行控制方法................................... - 3 -1.2.3永磁同步电动机在现代工业中的应用............................... - 4 -1.2.4 永磁同步电动机的应用前景..................................... - 6 - 第2章永磁同步电动机系统原理.......................................... - 8 - 2.1 永磁同步电动机的基本组成............................................ - 8 -2.1.1 电动机........................................................ - 8 -2.1.2 转子位置传感器................................................ - 9 -2.1.3 逆变器........................................................ - 9 - 2.2永磁同步电动机的工作原理........................................... - 10 -2.2.1电枢反应...................................................... - 11 - 2.3 永磁同步电动机的数学模型........................................... - 14 - 第3章正弦波永磁同步电动机的调速系统.................................. - 18 -3.1正弦波永磁同步电动机的调速原理..................................... - 18 - 3.2正弦波永磁同步电动机调速系统....................................... - 20 -3.2.1主回路的组成和控制............................................ - 20 -3.2.2控制回路及系统工作原理........................................ - 23 - 第4章正弦波永磁同步电动机调速系统的建模与仿真........................ - 24 - 参考文献............................................................... - 30 - 结束语................................................................. - 31 - 致谢................................................................. - 32 -第1章绪论1.1选题背景及意义众所周知,直流电动机有优良的控制性能,其机械特性和调速特性均为平行的直线,这是各类交流电动机所没有的特性。
伺服驱动与控制建模与Matlab仿真分析

2
(6) 最终求得该系统的开环传递函数模型G(s)为
G (s) K e s
e 0.35s
(T 1s1 )(T 2s1 ) (s1 )(0.352s1 )
统计模型法 —— 系统辨识法
系统辨识方法是现代控制理论中常用的方法,可根据系统的输入输出 响应估计系统的动态模型。响应信号包括:频率响应、阶跃响应、伪随机 响应、白噪声响应等。下图为系统辨识原理框图。
d2x F Fx m0 dt2
精确模型:
& x& (Jml2)F(Jlmm (Jl2)(m ml2)m si0n)m & 22l2cm os2l22gsincos & & mlcosFm2lm 2c2lo2ss2inc(oJs m & l22)(m (m 0m 0m ))mlgsin
若只考虑在工作点附近 0 0 附近100100
(2)机理建模实例 —— 一阶倒立摆
一阶倒立摆结构原理图
运动学与动力学分析建模:
1)摆杆绕其重心的转动方程为
J& & F ylsinF xlcos
2)摆杆重心的水平运动可能描述为
Fx
d2 m
dt2
(xlsin)
3)摆杆中心在垂直方向上的运动可描述为
Fy mgmddt22(lcos)
4)小车水平方向运动可描述为
m , r 为待定系数
通过实验可以获取对象的频率响应特性 G ˆ(j)Pi jQi
其中i为采样点, P , Q 为采样点处的幅值与相位
(1)Levy法对连续系统的模型进行辨识
问题:如何确定待定系数? 从幅频特性的角度考虑所假定的对象传递函数,则有:
G (j )1 0 1j 1j L L m r (( jj)) m r B A 1 1 j jB A 2 2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Matlab的伺服电机正反转动画仿真姓名:学号:201410009日期:2015 6 25指导教师:摘要伺服电机是指在伺服系统中控制机械原件运转的动力元件,是一种补助马达间接变速装置。
伺服电机控制速度,为止精度较高,伺服电机转子运转速度受输入信号控制,并能快速反应。
在自动控制系统中,用作执行元件,且具有机电时间常数小、线性度高、始动电压等特性,可把所收到的电信号转换成电动机轴上的角位移或角速度输出。
在这里我基于自己所学专业限制,做了一个基于Matlab 的伺服电机正反转的动画仿真。
关键词:伺服电机动画仿真一、Matlab简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MA TLAB和Simulink 两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB由一系列工具组成。
这些工具方便用户使用MA TLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MA TLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MA TLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MA TLAB能够深入到科学研究及工程计算各个领域的重要原因。
二、伺服电机简介与仿真结构图伺服电机(servo motor )是指在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速装置。
伺服电机可使控制速度,位置精度非常准确,可以将电压信号转化为转矩和转速以驱动控制对象。
伺服电机转子转速受输入信号控制,并能快速反应,在自动控制系统中,用作执行元件,且具有机电时间常数小、线性度高、始动电压等特性,可把所收到的电信号转换成电动机轴上的角位移或角速度输出。
分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。
伺服系统(servo mechanism )是使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。
伺服主要靠脉冲来定位,基本上可以这样理解,伺服电机接收到1个脉冲,就会旋转1个脉冲对应的角度,从而实现位移,因为,伺服电机本身具备发出脉冲的功能,所以伺服电机每旋转一个角度,都会发出对应数量的脉冲,这样,和伺服电机接受的脉冲形成了呼应,或者叫闭环,如此一来,系统就会知道发了多少脉冲给伺服电机,同时又收了多少脉冲回来,这样,就能够很精确的控制电机的转动,从而实现精确的定位,可以达到0.001mm 。
直流伺服电机分为有刷和无刷电机。
有刷电机成本低,结构简单,启动转矩大,调速范围宽,控制容易,需要维护,但维护不方便(换碳刷),产生电磁干扰,对环境有要求。
因此它可以用于对成本敏感的普通工业和民用场合。
无刷电机体积小,重量轻,出力大,响应快,速度高,惯量小,转动平滑,力矩稳定。
控制复杂,容易实现智能化,其电子换相方式灵活,可以方波换相或正弦波换相。
电机免维护,效率很高,运行温度低,电磁辐射很小,长寿命,可用于各种环境。
2、交流伺服电机也是无刷电机,分为同步和异步电机,目前运动控制中一般都用同步电机,它的功率范围大,可以做到很大的功率。
大惯量,最高转动速度低,且随着功率增大而快速降低。
因而适合做低速平稳运行的应用。
3、伺服电机内部的转子是永磁铁,驱动器控制的U/V/W 三相电形成电磁场,转子在此磁场的作用下转动,同时电机自带的编码器反馈信号给驱动器,驱动器根据反馈值与目标值进行比较,调整转子转动的角度。
伺服电机的精度决定于编码器的精度(线数)。
交流伺服电机和无刷直流伺服电机在功能上的区别:交流伺服要好一些,因为是正弦波控制,转矩脉动小。
直流伺服是梯形波。
但直流伺服比较简单,便宜。
伺服电机的如此多的优点与应用面,在这里我们基于图2.1作伺服电机的动画仿真。
三、仿真结果根据图2.1简图,查阅相关资料,编写Matlab 程序(程序见附录1),运行结果如下: 仿真结果分析:通过Matlab 软件编写了伺服电机转动的动画图程序,实现了PLC 模拟系统的简易仿真,简电源伺服电动机放大器 图2.1 伺服电机转动结构件图单掌握了Matlab软件的操作。
图2.2 伺服电机动画仿真结果四、附录附录1:clc;clear allfigure('numbertitle','off','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');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],'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','linewidth',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([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,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],'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;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);%画电机的表面(用八根不同颜色的线代替,每根之间相差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;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 s<200a=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);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=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=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,'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<200b=b-db;xa1=18+abs(2*sin(a+b));xa2=25+2*sin(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));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*cos(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',[xb1;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。