版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于matlab的平面连杆机构运动分析及动画毕业(完整版)资料(可以直接使用,可编辑优秀版资料,欢迎下载)
基于matlab的平面连杆机构运动分析及动画毕业(完整版)资料(可以直接使用,可编辑优秀版资料,欢迎下载)基于MATLAB的平面连杆机构运动分析及动画摘要建立了平面机构运动分析的数学模型,利用MATLAB进行了编程并设计了计算交互界面进而求解,为解析法的复杂计算提供了便利的方法,此方法也同样适用于复杂平面机构的运动分析,并为以后机构运动分析的通用软件的设计提供了基础。建立了平面四杆机构运动分析的数学模型,以MATLAB程序设计语言为平台,将参数化设计与交互式相结合,设计了平面四杆机构仿真软件,该软件具有方便用户的良好界面,并给出界面设计程序,从而使机构分析更加方便、快捷、直观和形象。设计者只需输入参数就可得到仿真结果,再将运行结果与设计要求相比较,对怎样修改设计做出决策,它为四杆机构设计提供了一种实用的软件与方法。以一种平面六连杆为例建立了平面多连杆机构的运动分析数学模型,应用MATLAB软件进行了优化设计和仿真分析,为机构优化设计提供了一种高效、直观的仿真手段,提高了对平面多连杆机构的分析设计能力。同时,也为其他机构的仿真设计提供了借鉴。关键词:解析法,平面连杆机构,MATLAB,运动分析,运动仿真BasedontheMATLABPlanarLinkageMechanismMotionAnalysisandAnimationABSTRACTThisarticleestablishedthekinematicalmathematicmodeloftheplanarmechanism,whichisprogrammedandsolvedwithdesigningthemutualinterfaceofthecalculationbyMATLAB.Thisconvenientmethodisprovidedforthecomplicatedcalculationoftheanalysisandalsoapplicabletothekinematicalanalysisofthecomplexplanarmechanism.Amathematicalmodelofmotionanalysiswasestablishedinplanarfour-linkage,andemulationalsoftwarewasdeveloped.ThesoftwareadoptedMATLABasadesignlanguage.Itcombinedparametricdesignwithinteractivedesignandhadgoodinterfaceforuser.Thus,itwasfasterandmoreconvenienttoanalyselinkage.Theemulationalresultwasobtainedassoonasinputparameterswasimportedandthedeviserscanmakedecision-makingofmodificationbythecomparingemulationalresultwithdesigndemand.Itprovidesanappliedsoftwareandmethodforlinkage.Thispapertookaplanarsix-linkagemechanismasaexampletosetupthemathematicsmodelofplanarmulti-linkagemechanisms,andmadetheoptimizationdesignandsimulationbytheMATLABsoftware.Itgaveaefficientlyanddirectlymethodtooptimizationdesignofmechanisms,andimprovedtheabilityofanalyzinganddesigningtheplanarmulti-linkagemechanisms.Atthesametime,italsoprovidesauseforreferencetothedesignandsimulationforothermechanisms.KEYWORDS:analysis,planarlinkagemechanisms,MATLAB,kinematicalanalysis,kinematicalsimulation目录第1章前言 11.1平面连杆机构的研究意义 11.2平面连杆机构的研究现状 11.3MATLAB软件介绍 2MATLAB简介 2MATLAB软件的特点 4MATLAB处理工程问题优缺点 6第2章平面机构运动分析的复数矢量解 7第3章平面四杆机构运动分析 93.1铰链四杆机构曲柄存在条件 93.2平面四杆机构的位移分析 93.3平面四杆机构的速度分析 143.4平面四杆机构的加速度分析 15第4章基于MATLAB的平面四杆机构运动分析 174.1基于MATLAB的平面四杆机构运动参数输入界面 174.2基于MATLAB的平面四杆机构运动参数计算 214.3基于MATLAB的平面四杆机构运动分析界面 244.4基于MATLAB的平面四杆机构运动仿真 274.5基于MATLAB的平面四杆机构运动参数清空及退出 31第5章平面六杆机构运动分析 335.1构建平面六杆机构数学模型 335.2平面六杆机构的运动分析 34 34 37第6章基于MATLAB的平面六杆机构运动分析 416.1基于MATLAB的平面六杆机构运动参数输入界面 416.2基于MATLAB的平面六杆机构运动参数计算 476.3基于MATLAB的平面六杆机构运动分析界面 516.4基于MATLAB的平面六杆机构运动仿真 546.5基于MATLAB的平面六杆机构运动参数清空及退出 58结论 60谢辞 61参考文献 62第1章前言1.1平面连杆机构的研究意义机构运动分析是不考虑引起机构运动的外力的影响,而仅从几何角度出发,根据已知的原动件的运动规律(通常假设为匀速运动),确定机构其它构件上各点的位移、速度、加速度,或构件的角位移、角速度、角加速度等运动参数。无论是分析研究现有机械的工作性能,还是优化综合新机械,机构运动分析都是十分重要的。通过对机构的位移和轨迹分析,可以考察某构件能否实现预定的位置、构件上某点能否实现预定的轨迹要求,可以确定从动件的行程或所需的运动空间,据此判断运动中是否发生碰撞干涉或确定机构的外形轮廓尺寸。通过速度和加速度分析可以了解机构从动件的速度、加速度的变化规律能否达到工作要求。而在本设计课题中通过对机构的速度和加速度分析,就可以在设计铰链四杆机构时保证构件间相对运动部分的单位面积上的压力较小,并且低副的构造便于润滑,摩擦磨损较小,寿命长,保证传递较大的动力;也可以在设计牛头刨床的导杆机构时保证刨刀在切削过程中接近于等速运动,从而保证加工质量和延长刀具寿命;此外还保证了刀具的急回性能,从而提高了生产率。1.2平面连杆机构的研究现状在机构设计过程中,结构综合起着重要作用。把杆组看作是机构结构的单元,这个创始意念是前苏联机构学家阿苏尔所得出的,他的观点是每一个机构都是由机架、主动构件以及一个或若干个基本杆组所组成。这个结构逻辑的识别,使设计者通过清楚的杆组类型的识别与机构结构联系起来。前苏联阿尔列夫斯基院士根据杆组的类型提出了机构分类的方法(阿氏分类法),此方法迄今仍为国际上通用。用一定数目的构件及运动副的配置以组成一定自由度的运动链,这一工作称为运动链及机构的结构类型综合,亦称之为数综合。目前已解决的机构及运动链的型综合问题,为单自由度机构及多自由度机构的结构类型以及与之相应的杆组结构类型。型综合理论已进展到含复合铰链及高副的平面机构。空间机构的型综合尚研究得不够,仅有P、H、R副单闭链空间机构的若干类型。如何在型综合所得结果中选择所需要的类型,即选型问题在机构设计中是很重要的。改进现有机构、创新新机构是产品设计更新中的关键措施,对于消化引进设备亦起着重要的作用。这需要进行大量的调查研究及关于机构结构方案设计理论分析,需要丰富的设计实践与专家知识相结合。例如,人们所熟知的内燃机中的机构是曲柄连杆机构,一百多年前开始研究用摆盘式发动机,出现了上百种方案设计的专利,最后选择了一种双回路机构,这种机型结构紧凑,活塞侧推力小,惯性载荷易于平衡,因而近年应用于水下运载体、航空、发电等设计中。而平面机构的运动分析是机构学中最基本、最典型的运动分析之一,进行机构运动分析是设计机构、研究机构的速度和加速度的变化规律以及进行受力分析的基础。而平面机构的运动分析,常采用解析法和图解法,图解法直观、方便,但精度低;解析法虽计算复杂,但精度高。随着计算机软硬件的快速发展,解析法在进行更高层次的理论研究中得到了更广泛的应用。1.3MATLAB软件介绍MATLAB简介随着科学研究的不断深入,以及工程应用不断朝着专业化、精确化方向发展,科研工作者以及工程技术人员对计算机技术的要求也越来越高。面对越来越繁重的科学以及工程计算任务,虽然用传统的c或Fortran语言也能完成任务,但是程序设计者所承担的编程工作是极为繁重的,而且要求程序设计者对算法有比较深入的理解,这就使工作人员不得不将大量的时间和精力放在与研究课题关系不大的计算编程上来。为了减轻科技工作者的压力,使工作人员将时间和精力更多的放在建立模型等关键性的工作中,许多公司相继开发了一系列的数学应用软件,如MATHEMATICA、Maple、MATHCAD以及MATLAB等,其中MATLAB以其强大的功能和极高的编程效率吸引了众多的用户。MATLAB是MATRIXLABORATORY(“矩阵实验室”)的缩写,是由美国MATHWORKS公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。是国际公认的优秀数学应用软件之一。20世纪80年代初期,CleveMoler与JohnLittle等利用C语言开发了新一代的MATLAB语言,其开发环境如图1-1所示,此时的MATLAB语言已同时具备了数值计算功能和简单的图形处理功能。1984年,CleveMoler与JohnLittle等正式成立了MATHWORKS公司,把MATLAB语言推向市场,并开始了对MATLAB工具箱等的开发设计。1993年,MATHWORKS公司推出了基于个人计算机的MATLAB4.0版本,到了1997年又推出了MATLAB5.X版本(Release11),并在2000年又推出了最新的MATLAB6版本(Release12),如今,MATLAB7.0已经问世。图1-1MATLAB开发环境现在,MATLAB已经发展成为适合多学科的大型软件,在世界各高校,MATLAB已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。特别是最近几年,MATLAB在我国大学生数学建模竞赛中的应用,为参赛者在有限的时间内准确、有效的解决问题提供了有力的保证。MATLAB软件的特点MATLAB是一种高度集成化的科学计算环境,是集数值计算和图形处理等功能于一体的工程计算应用软件。MATLAB不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理和仿真模拟等功能。MATLAB能够很好的帮助工程师及科学家解决实际问题,它经过20多年来的不断完善和改进,已经成为公认的优秀的数学应用软件之一。概括地讲,整个MATLAB系统由两部分组成,即MATLAB内核及辅助工具箱,两者的调用构成了MATLAB的强大功能。MATLAB语言以数组为基本数据单位,包括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言,它具有以下主要特点:(1)MATLAB的程序设计语言编程效率较高,运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB除了提供和C语言一样的运算符号外,还提供广泛的矩阵和向量运算符。利用其运算符号和库函数可使其程序相当简短,两三行语句就可实现几十行甚至几百行C或FORTRAN的程序功能,从而极大的简化了线性运算,而线性运算是整个数值计算的基础,所以以矩阵作为基本语言要素可以提高数值计算的编程效率。MATLAB本身拥有丰富的库函数,并具有结构化的流程控制语句和运算符,用户可以在使用的过程中方便自如的使用。(2)既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。(3)图形功能强大。它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令。(4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等。(5)易于扩充。除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用。当然,任何事物都不是十全十美的。与C、Fortran等传统的程序设计语言相比,MATLAB的程序设计语言的一个显著缺点即使循环代码执行效率较低,这是与其执行方式直接相关的。MATLAB编写的程序在应用的过程中为解释执行,既不需要编译生成也不生成可执行文件,而是解释一句,执行一句,其速度是可想而知的了。当然这个问题也不是不可以解决的,由于MATLAB以矩阵作为基本的程序设计语言要素,对于在c、Fortran的那个编程语言中需要使用循环来解决的问题,MATLAB程序设计语言中巧妙的利用矩阵的特点,就可以避免使用循环代码。所以,通过对MATLAB的深入学习,提高编程技巧,完全可以做到扬长避短,并充分发挥MATLAB语言的强大功能。目前,MATLAB已经成为国际上公认的优秀数学应用软件之一。用MATLAB处理工程问题优缺点MATLAB是MATHWOTKS公司于1982年推出的一套高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面友好的用户环境。它还包括了TOOLBOX(工具箱)的各类问题的求解工具,可用来求解特定学科的问题。其特点是:(1)可扩展性:MATLAB最重要的特点是易于扩展,它允许用户自行建立指定功能的M文件。对于一个从事特定领域的工程师来说,不仅可利用MATLAB所提供的函数及基本工具箱函数,还可方便地构造出专用的函数,从而大大扩展了其应用范围。当前支持MATLAB的商用Toolbox(工具箱)有数百种之多。而由个人开发的Toolbox则不可计数。(2)易学易用性:MATLAB不需要用户有高深的数学知识和程序设计能力,不需要用户深刻了解算法及编程技巧。(3)高效性:MATLAB语句功能十分强大,一条语句可完成十分复杂的任务。如FFT语句可完成对指定数据的快速傅立叶变换,这相当于上百条C语言语句的功能。它大大加快了工程技术人员从事软件开发的效率。据MATHWOKS公司声称,MATLAB软件中所包含的MATLAB源代码相当于70万行C代码。由于MATLAB具有如此之多的特点,在欧美高等院校,MATLAB已成为应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;在研究单位、工业部门,MATLAB也被广泛用于研究和解决各种工程问题。当前在全世界有超过40万工程师和科学家使用它来分析和解决问题。然而MATLAB自身所存在的某些缺点限制了它的应用范围:(1)MATLAB是一种解释性语言,因此它的实时效率是相当差的。(2)MATLAB程序不能脱离其环境运行,因为MATLAB不是计算机语言,而如今它已经可以进行编译,但是还不太方便。第2章平面机构运动分析的复数矢量解如图2-1复数矢量的单位矢量(2-1)矢量(2-2)式中——矢量的模;——矢量的方向角;——矢量在实轴上的投影;——矢量在虚轴上的投影。图2-1复数矢量矢量(2-3)设=90,则有===(2-4)设,则有==-(2-5)这说明某复数矢量逆时针方向回转所得新矢量等于原矢量乘虚数,回转所得新矢量等于原矢量的反方向。这也说明了的意义。如图2-2复数矢量对时间求导(2-6)上式中右侧第一项表示P点的切向速度,而第二项表示P点的径向速度。图2-2复数矢量对时间求导将式(2-6)对时间再求导(2-7)此式中右侧第一、三项是沿径向的加速度,第二、四项是沿切向的加速度。如果P点为滑块上的点,该滑块沿导杆OP移动,则前两项为点P的牵连项新加速度和切向加速度。第三项为点P对导杆的相对加速度,最后一项为哥氏加速度。第3章平面四杆机构运动分析3.1铰链四杆机构曲柄存在条件在铰链四杆机构中,允许两连接构件作相对整周旋转的转动副称为整转副。曲柄是以整转副与机架相连的连架杆,而摇杆则不是整转副与机架相连的连架杆。铰链四杆机构3种基本形式的根本区别在于两连架杆是否为曲柄。而两连架杆是否为曲柄又与各杆长度有关。归纳起来铰链四杆机构有一个曲柄的条件是:最短杆与最长杆之和小于或等于其余两杆长度之和。最短杆为连架杆。由于平面四杆机构的自由度为1,故无论哪杆为机架,只要已知其中一个可动构件的位置必相应确定。因此,可以选任一杆为机架实现完全相同的相对运动关系,这称为运动的可逆性。利用它可在1个四杆机构中选取不同的构件作机架,以获得输出构件与输入构件间不同的运动特性。这一方法称为连杆机构的倒置。可用以下方法判别铰链四杆机构的基本类型:若机构满足杆长之和条件,则:以最短杆的邻边为机架时为曲柄摇杆机构;以最短杆为机架时为双曲柄机构;以最短杆的对边为机架时为双摇杆机构。若机构不满足杆长之和的条件则只能成为双摇杆机构。3.2平面四杆机构的位移分析以图3-1为例构建平面四杆机构的数学模型,对曲柄摇杆机构已知曲柄1长度、连杆2长度、摇杆3长度和机架4长度,及其原动件1的方向角,由原动件1以角速度做匀速转动,则其角加速度,现需求该曲柄摇杆机构在图示位置时对应的连杆2的角位移、角速度和角加速度,及其对应的摇杆3的角位移、角速度和角加速度。图3-1平面四杆机构运动简图为便于解析,建立如图2-1所示的直角坐标系,其中曲柄AB长度为、连杆BC长度为、摇杆CD长度为和机架DA长度为,及其原动件AB的方向角为,且原动件AB以角速度做匀速转动,则其角加速度。根据机构各杆所构成的封闭矢量形,可写出矢量方程式:用复数矢量可表示为:(3-1)写成两个分量形式的代数式为:(3-2)对方程组(3-2)整理得:(3-3)则由方程组(3-3)中两等式平方相加得:(3-4)对式(3-4)整理得:(3-5)令则式(3-5)可化为:(3-6)又则代入式(3-6)中得:又因如图3-1,摇杆3的方位角为钝角,而反正切函数的值域是从到,则摇杆3的方位角为:(3-7)求连杆2的方位角,对方程组(3-2)整理得:(3-8)则由方程组(3-8)中两等式平方相加得:(3-9)对式(3-9)整理得:(3-10)令则式(3-10)可化为:(3-11)又则代入式(3-11)中得:又如图3-1,连杆2的方位角为锐角,而反正切函数的值域是从到,则连杆2的方位角为:(3-12)3.3平面四杆机构的速度分析由第二节知,原动件AB以角速度做匀速转动,设连杆BC的角速度为、摇杆CD的角速度为,则由式(3-1)对时间求导得:(3-13)对式(3-13)中,每项乘以得:(3-14)在式(3-14)中取实部得:即摇杆CD的角速度为为:(3-15)求连杆BC的角速度,对式(3-15)中,每项乘以得:(3-16)在式(3-16)中取实部得:即连杆BC的角速度为为:(3-17)3.4平面四杆机构的加速度分析综上所述,原动件AB以角速度做匀速转动,则其角加速度,设连杆BC的角加速度为、摇杆CD的角加速度为,则由式(3-13)对时间求导得:(3-18)对式(3-18)中,每项乘以得:(3-19)在式(3-19)中取实部得:即连杆BC的角加速度为为:(3-20)求摇杆CD的角加速度,对式(3-18)中,每项乘以得:(3-21)在式(3-21)中取实部得:即摇杆CD的角加速度为:(3-22)第4章基于MATLAB的平面四杆机构运动分析4.1基于MATLAB的平面四杆机构运动参数输入界面由第二章所得的平面四杆机构运动分析数学计算模型,利用MATLAB语言编写简单友好的计算程序,方便地实现数据的计算和输入输出,对于平面四杆机构,尤其是曲柄摇杆机构的运动分析模型,编写M文件程序,制作了便于操作、直观的数据输入输出对话框,以实现对平面四杆机构中各杆的角位移、角速度和角加速度的运动变化规律的研究分析。表4-1控件style属性值及其对应的控件种类style属性值控件种类text静态文本框edit可编辑文本框pushbutton按钮键表4-2对象创建函数及其功能对象创建函数功能figure创建图形窗对象unicontrol创建可编程用户界面对象get获得对象特征set建立对象特征subplot创建子图holdon图形的保持plot在(x,y)坐标下绘制二维图形axis轴的刻度和表现line通过连接点坐标创建直线对于平面四杆机构运动分析参数输入界面的M文件编写,其程序中各控件style属性值及其对应的控件种类如表4-1所示,且在本章中编写的程序中所用的主要的对象创建函数及其功能如表4-2所示,其设计的计算程序Siganyundongcanshu.m为:h0=figure('toolbar','none','position',[200200900500],'name',…'曲柄摇杆机构参数输入界面');a=imread('pingmiansiganjigou','jpg');h1=uicontrol('parent',h0,'style','push','cdata',a,'position',[70245300250],...'backgroundcolor','w','fontsize',8);t1=uicontrol('parent',h0,'units','points','tag','t1','style','text','string',…'原动件角位移th1(度)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[501609012]);t2=uicontrol('parent',h0,'units','points','tag','t2','style','text','string',…'曲柄1转速n1(r/min)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[501208012]);t3=uicontrol('parent',h0,'units','points','tag','t3','style','text','string',…'曲柄1长度l1(mm)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[50808012]);t4=uicontrol('parent',h0,'units','points','tag','t4','style','text','string',…'连杆2长度l2(mm)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[2001608012]);t5=uicontrol('parent',h0,'units','points','tag','t5','style','text','string',…'摇杆3长度l3(mm)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[2001208012]);t6=uicontrol('parent',h0,'units','points','tag','t6','style','text','string',…'机架4长度l4(mm)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[200808012]);e1=uicontrol('parent',h0,'units','points','tag','e1','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[1401545024]);e2=uicontrol('parent',h0,'units','points','tag','e2','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[1401145024]);e3=uicontrol('parent',h0,'units','points','tag','e3','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[140745024]);e4=uicontrol('parent',h0,'units','points','tag','e4','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[2901545024]);e5=uicontrol('parent',h0,'units','points','tag','e5','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[2901145024]);e6=uicontrol('parent',h0,'units','points','tag','e6','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[290745024]);b1=uicontrol('parent',h0,'units','points','tag','b1','style','pushbutton','string',...'运动参数计算','backgroundcolor',[0.750.750.75],'position',…[3602748024],'callback','Calculation4');b2=uicontrol('parent',h0,'units','points','tag','b2','style','pushbutton','string',...'运动分析','backgroundcolor',[0.750.750.75],'position',…[3602348024],'callback','Siganyundongfenxi');b3=uicontrol('parent',h0,'units','points','tag','b3','style','pushbutton','string',...'运动仿真','backgroundcolor',[0.750.750.75],'position',…[3601948024],'callback','Siganyundongfangzhen');b4=uicontrol('parent',h0,'units','points','tag','b4','style','pushbutton','string',...'运动参数清空','backgroundcolor',[0.750.750.75],'position',…[3601548024],'callback','Qingkong4');b5=uicontrol('parent',h0,'units','points','tag','b5','style','pushbutton','string',...'关闭','backgroundcolor',[0.750.750.75],'position',[3601148024],...'callback','close');t7=uicontrol('parent',h0,'units','points','tag','t7','style','text','string',…'连杆2角位移th2(度)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[4603009012]);t8=uicontrol('parent',h0,'units','points','tag','t8','style','text','string',…'摇杆3角位移th3(度)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[4602609012]);t9=uicontrol('parent',h0,'units','points','tag','t9','style','text','string',…'连杆2角速度v2(rad/s)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[4602209012]);t10=uicontrol('parent',h0,'units','points','tag','t10','style','text','string',…'摇杆3角速度v3(rad/s)','fontsize',12,'backgroundcolor',…[0.750.750.75],'position',[4601809012]);t11=uicontrol('parent',h0,'units','points','tag','t11','style','text','string',…'连杆2角加速度a2','fontsize',12,'backgroundcolor',[0.750.750.75],…'position',[4601409012]);t12=uicontrol('parent',h0,'units','points','tag','t12','style','text','string',…'摇杆3角加速度a3','fontsize',12,'backgroundcolor',[0.750.750.75],…'position',[4601009012]);e7=uicontrol('parent',h0,'units','points','tag','e7','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[5602946024]);e8=uicontrol('parent',h0,'units','points','tag','e8','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[5602546024]);e9=uicontrol('parent',h0,'units','points','tag','e9','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[5602146024]);e10=uicontrol('parent',h0,'units','points','tag','e10','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[5601746024]);e11=uicontrol('parent',h0,'units','points','tag','e11','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[5601346024]);e12=uicontrol('parent',h0,'units','points','tag','e12','style','edit','fontsize',12,...'string','','horizontalalignment','center','backgroundcolor',[111],...'position',[560946024]);运行该程序后,所得的交互界面,即曲柄摇杆机构参数输入界面,如图4-1所示:图4-1曲柄摇杆机构参数输入界面4.2基于MATLAB的平面四杆机构运动参数计算与第一节所得的曲柄摇杆机构运动参数相对应,利用MATLAB编写平面四杆机构运动参数计算程序,程序中各运动参数含义如表4-3所示。表4-3程序中各运动参数含义运动参数名称参数含义l1曲柄1长度l2连杆2长度l3摇杆3长度l4机架4长度n1曲柄1转速theta1曲柄1角位移theta2连杆2角位移theta3摇杆3角位移theta4机架4角位移omiga1曲柄1角速度omiga2连杆2角速度omiga3摇杆3角速度omiga4机架4角速度alph2连杆2角加速度alph3摇杆3角加速度alph4机架4角加速度在第一节所得的曲柄摇杆机构参数输入界面如图4-1中,输入相应的运动参数,即原动件角位移、曲柄1转速、曲柄1长度、连杆2长度、摇杆3长度和机架4长度,点击运动参数计算按钮,运行的M文件程序Calculation4.m为:strtheta1=get(e1,'string');strn1=get(e2,'string');strl1=get(e3,'string');strl2=get(e4,'string');strl3=get(e5,'string');strl4=get(e6,'string');l1=str2num(strl1);%曲柄1长度l1(mm)l2=str2num(strl2);%连杆2长度l2(mm)l3=str2num(strl3);%摇杆3长度l3(mm)l4=str2num(strl4);%机架4长度l4(mm)n1=str2num(strn1);%曲柄1转速n1(r/min)theta1=str2num(strtheta1);%曲柄1角位移th1(度)M=-1;%装配方式theta1=theta1*pi/180;omiga1=pi*n1/30;A=2*l1*l2*sin(theta1);B=2*l2*(l1*cos(theta1)-l4);C=l1^2+l2^2+l4^2-l3^2-2*l1*l4*cos(theta1);E=2*l1*l3*sin(theta1);F=2*l3*(l1*cos(theta1)-l4);G=l2^2-l1^2-l3^2-l4^2+2*l1*l4*cos(theta1);theta2=2*atan(-(A-M*sqrt(A.^2+B.^2-C.^2))./(B-C));%连杆2角位移th2(rad)theta3=pi-2*atan((E-M*sqrt(E.^2+F.^2-G.^2))./(F+G));%摇杆3角位移th3(rad)omiga2=omiga1*l1*sin(theta1-theta3)./(l2*sin(theta3-theta2));%连杆2角速度v2(rad/s)omiga3=omiga1*l1*sin(theta1-theta2)./(l3*sin(theta2-theta3));%摇杆3角速度v3(rad/s)alph2=(omiga3.^2*l3+omiga1^2*l1*cos(theta1-theta2)+omiga2.^2*l2*...cos(theta2-theta3))./(l2*sin(theta3-theta2));%连杆2角加速度a2(rad/s^2)alph3=(omiga1^2*l1*cos(theta1-theta2)+omiga2.^2*l2+omiga3.^2*…l3.*cos(theta3-theta2))./(l3*sin(theta2-theta3));%摇杆3角加速度a3(rad/s^2)A1=num2str(theta2.*180/pi);A2=num2str(theta3.*180/pi);A3=num2str(omiga2);A4=num2str(omiga3);A5=num2str(alph2);A6=num2str(alph3);set(e7,'string',A1);set(e8,'string',A2);set(e9,'string',A3);set(e10,'string',A4);set(e11,'string',A5);set(e12,'string',A6);运行该程序后,计算出的机构运动参数,即相应的连杆2的角位移、角速度和角加速度,及其对应的摇杆3的角位移、角速度和角加速度,都显示在如图4-1所示的曲柄摇杆机构参数输入界面上。4.3基于MATLAB的平面四杆机构运动分析界面在第一节所得的曲柄摇杆机构参数输入界面如图4-1中,输入相应的运动参数,即原动件角位移、曲柄1转速、曲柄1长度、连杆2长度、摇杆3长度和机架4长度,点击运动分析按钮,运行的M文件程序Siganyundongfenxi.m为:hf=figure('toolbar','none','position',[200200800650],'name',…'曲柄摇杆机构运动分析');strn1=get(e2,'string');strl1=get(e3,'string');strl2=get(e4,'string');strl3=get(e5,'string');strl4=get(e6,'string');l1=str2num(strl1);%曲柄1长度l1(mm)l2=str2num(strl2);%连杆2长度l2(mm)l3=str2num(strl3);%摇杆3长度l3(mm)l4=str2num(strl4);%机架4长度l4(mm)n1=str2num(strn1);%曲柄1转速n1(r/min)M=-1;%装配方式c=1;%曲柄1转向ifc==1theta1=0:10:360;%原动件角位移(逆时针)elsetheta1=0:-10:-360;%原动件角位移(顺时针)endtheta1=theta1*pi/180;%曲柄1角位移th1(rad)omiga1=pi*n1/30;A=2*l1*l2*sin(theta1);B=2*l2*(l1*cos(theta1)-l4);C=l1^2+l2^2+l4^2-l3^2-2*l1*l4*cos(theta1);E=2*l1*l3*sin(theta1);F=2*l3*(l1*cos(theta1)-l4);G=l2^2-l1^2-l3^2-l4^2+2*l1*l4*cos(theta1);theta2=2*atan(-(A-M*sqrt(A.^2+B.^2-C.^2))./(B-C));%连杆2角位移th2(rad)theta3=pi-2*atan((E-M*sqrt(E.^2+F.^2-G.^2))./(F+G));%摇杆3角位移th3(rad)omiga2=omiga1*l1*sin(theta1-theta3)./(l2*sin(theta3-theta2));%连杆2角速度v2(rad/s)omiga3=omiga1*l1*sin(theta1-theta2)./(l3*sin(theta2-theta3));%摇杆3角速度v3(rad/s)alph2=(omiga3.^2*l3+omiga1^2*l1*cos(theta1-theta2)+omiga2.^2*l2.*...cos(theta2-theta3))./(l2*sin(theta3-theta2));%连杆2角加速度a2(rad/s^2)alph3=(omiga1^2*l1*cos(theta1-theta2)+omiga2.^2*l2+omiga3.^2*l3.*...cos(theta3-theta2))./(l3*sin(theta2-theta3));%摇杆3角加速度a3(rad/s^2)t=theta1*180/pi;v2=theta2*180/pi;v3=theta3*180/pi;w2=omiga2;w3=omiga3;a2=alph2;a3=alph3;subplot(3,2,1);plot(t,v2,'r-');holdon;title('连杆2角位移分析');subplot(3,2,2);plot(t,v3,'b-');holdon;title('摇杆3角位移分析');subplot(3,2,3);plot(t,w2,'r-');holdon;title('连杆2角速度分析');subplot(3,2,4);plot(t,w3,'b-');holdon;title('摇杆3角速度分析');subplot(3,2,5);plot(t,a2,'r-');holdon;title('连杆2角加速度分析');subplot(3,2,6);plot(t,a3,'b-');holdon;title('摇杆3角加速度分析');运行该程序后,所得的交互界面,即曲柄摇杆机构运动分析界面,计算出的连杆2的角位移图像、角速度图像和角加速度图像,及其对应的摇杆3的角位移图像、角速度图像和角加速度图像,如图4-2所示:图4-2曲柄摇杆机构运动分析界面4.4基于MATLAB的平面四杆机构运动仿真在第一节所得的曲柄摇杆机构参数输入界面如图4-1中,输入相应的运动参数,即原动件角位移、曲柄1转速、曲柄1长度、连杆2长度、摇杆3长度和机架4长度,点击运动仿真按钮,运行的M文件程序Siganyundongfangzhen.m为:hf=figure('toolbar','none','position',[200200800600],'name',…'曲柄摇杆机构动画');axis([-11,25,-11,21])strn1=get(e2,'string');strl1=get(e3,'string');strl2=get(e4,'string');strl3=get(e5,'string');strl4=get(e6,'string');l1=str2num(strl1);%曲柄1长度l1(mm)l2=str2num(strl2);%连杆2长度l2(mm)l3=str2num(strl3);%摇杆3长度l3(mm)l4=str2num(strl4);%机架4长度l4(mm)n1=str2num(strn1);%曲柄1转速n1(r/min)M=-1;%装配方式c=1;%曲柄1转向ifc==1theta1=0:10:360;%原动件角位移(逆时针)elsetheta1=0:-10:-360;%原动件角位移(顺时针)endtheta1=theta1*pi/180;%曲柄1的转角th1(rad)omiga1=pi*n1/30;A=2*l1*l2*sin(theta1);B=2*l2*(l1*cos(theta1)-l4);C=l1^2+l2^2+l4^2-l3^2-2*l1*l4*cos(theta1);E=2*l1*l3*sin(theta1);F=2*l3*(l1*cos(theta1)-l4);G=l2^2-l1^2-l3^2-l4^2+2*l1*l4*cos(theta1);theta2=2*atan((A+M*sqrt(A.^2+B.^2-C.^2))./(B-C));%连杆2角位移th2(rad)theta3=pi-2*atan((E+M*sqrt(E.^2+F.^2-G.^2))./(F+G));%摇杆3角位移th3(rad)ax=0;ay=0;%铰链A点坐标bx=l1*cos(theta1);by=l1*sin(theta1);%铰链B点坐标cx=bx+l2*cos(theta2);cy=by+l2*sin(theta2);%铰链C点坐标dx=l4;dy=0;%铰链D点坐标%定义各构件初始位置,定义线色、点型大小、擦除方式l1=line([ax,bx(1)],[ay,by(1)],'color','r','linestyle','-','linewidth',2,...'erasemode','xor');l2=line([bx(1),cx(1)],[by(1),cy(1)],'color','b','linestyle','-',...'linewidth',2,'erasemode','xor');l3=line([cx(1),dx],[cy(1),dy],'color','g','linestyle','-','linewidth',...2,'erasemode','xor');l4=line([ax,dx],[ay,dy(1)],'color','k','linestyle','-','linewidth',...2,'erasemode','xor');%定义各铰链初始位置h1=line(ax,ay,'Color',[100],'Marker','.','MarkerSize',20,...'EraseMode','xor');h2=line(bx(1),by(1),'Color',[100],'Marker','.','MarkerSize',...20,'EraseMode','xor');h3=line(cx(1),cy(1),'Color',[100],'Marker','.','MarkerSize',...20,'EraseMode','xor');h4=line(dx,dy,'Color',[100],'Marker','.','MarkerSize',20,...'EraseMode','xor');theta1=theta1*180/pi;ifc==1xtick=0:10:360;elsextick=0:-10:-360;end%plot(theta1,theta3*180/pi,'parent',hh2,'linewidth',2)%set(hh2,'XTick',xtick)%h5=line(theta1(1),theta3(1)*180/pi,'Color',[100],'Marker','.','MarkerSize',...%20,'EraseMode','xor','parent',hh2);%set(get(hh2,'YLabel'),'String','摇杆3角位移(度)','Fontsize',8)%hh3=handles.axes3;%plot(theta1,omiga3,'parent',hh3,'linewidth',2)%set(hh3,'XTick',xtick)%set(get(hh3,'YLabel'),'String','摇杆3角速度(mm/s)','Fontsize',8)%h6=line(theta1(1),omiga3(1),'Color',[100],'Marker','.','MarkerSize',...%20,'EraseMode','xor','parent',hh3);%hh4=handles.axes4;%plot(theta1,alph3,'parent',hh4,'linewidth',2)%set(hh4,'XTick',xtick)%xlabel('曲柄1转角(度)','Fontsize',8);ylabel(…'摇杆3角加速度(mm/s^2)','Fontsize',8);%h7=line(theta1(1),alph3(1),'Color',[100],'Marker','.','MarkerSize',...%20,'EraseMode','xor','parent',hh4);nn=5;%仿真次数mm=0;whilemm<nnfori=1:length(bx)set(h2,'xdata',bx(i),'ydata',by(i));set(h3,'xdata',cx(i),'ydata',cy(i));%set(h5,'xdata',theta1(i),'ydata',theta3(i)*180/pi);%set(h6,'xdata',theta1(i),'ydata',omiga3(i));%set(h7,'xdata',theta1(i),'ydata',alph3(i));set(l1,'xdata',[ax,bx(i)],'ydata',[ay,by(i)]);set(l2,'xdata',[bx(i),cx(i)],'ydata',[by(i),cy(i)]);set(l3,'xdata',[cx(i),dx],'ydata',[cy(i),dy]);b1=uicontrol('parent',hf,'units','points','tag','b1','style','pushbutton',…'string','关闭','backgroundcolor',[0.750.750.75],'position',…[260108024],'callback','close');pause(0.2);%控制运动速度drawnow;%刷新屏幕endmm=mm+1;end运行该程序后,所得的交互界面,即曲柄摇杆机构动画界面,曲柄摇杆机构的各杆运动状态如图4-3所示:图4-3曲柄摇杆机构动画界面4.5基于MATLAB的平面四杆机构运动参数清空及退出在第一节所得的曲柄摇杆机构参数输入界面如图4-1中,对输入的运动参数的清空,可点击运动参数清空按钮,运行的M文件程序Qingkong4.m为:set(e1,'string','');set(e2,'string','');set(e3,'string','');set(e4,'string','');set(e5,'string','');set(e6,'string','');运行该程序后,所得的交互界面,即曲柄摇杆机构的各杆运动参数清空界面,如图4-4所示:退出在第一节所得的曲柄摇杆机构运动参数输入界面,可点击关闭按钮。图4-4曲柄摇杆机构运动参数清空界面第5章平面六杆机构运动分析5.1构建平面六杆机构数学模型对于平面六杆机构,如图5-1所示,当曲柄1做匀速转动时,滑块5做往复移动,该机构的行程速比系数大于1,有急回特性,且传动角较大。由图可知,该机构由构件1、2、3、6组成的曲柄导杆机构和构件3、4、5、6组成的摆动滑块机构组成。以图4-1为例构建平面六杆机构的数学模型,对曲柄导杆六杆机构已知曲柄1长度、机架2长度、导杆3长度、连杆4长度和滑块5距坐标轴轴的距离,及其原动件1的方向角,由原动件1以角速度做匀速转动,则其角加速度。现需求该曲柄导杆六杆机构在图示位置时,对应的滑块2到坐标原点C的位移、沿导杆3移动的速度和沿导杆3移动的加速度;对应导杆3的角位移、角速度和角加速度;对应连杆4的角位移、角速度和角加速度;及其对应的滑块5到坐标轴轴的位移、沿轴移动的速度和沿轴移动的加速度。为便于解析,建立如图4-1所示的直角坐标系,其中曲柄AB长度为、机架AC长度为、滑块2到坐标原点C的位移、导杆CD长度为、连杆DE长度为和滑块5距坐标轴轴的距离,及其原动件AB的方向角为,且原动件AB以角速度做匀速转动,则其角加速度。图5-1平面六杆机构运动简图5.2平面六杆机构的运动分析曲柄导杆机构的运动分析由第一节知,如图5-1所示建立的直角坐标系,根据机构中由构件1、2、3、6所构成的曲柄导杆机构封闭链ABCA,可写出矢量方程式:用复数矢量可表示为:(5-1)写成两个分量形式的代数式为:(5-2)对方程组(5-2)整理得:(5-3)则由方程组(5-3)中两等式平方相加得:即滑块2到坐标原点C的位移为:(5-4)将式(5-4)代入方程组(5-2)得:如图5-1,导杆3的角位移是从到之间变化,且反余弦函数的值域是从到,恰好满足的变化范围,则导杆3的角位移为:(5-5)由第一节知,原动件AB以角速度做匀速转动。设滑块2沿导杆3移动的速度为、导杆CD的角速度为,则由式(5-1)对时间求导得:(5-6)对式(5-6)中,每项乘以得:即(5-7)在式(5-7)中,取实部得:(5-8)即为滑块2沿导杆3移动的速度。在式(5-7)中,取虚部得:(5-9)即为导杆CD的角速度。由第一节知,原动件AB以角速度做匀速转动,则其角加速度。设滑块2沿导杆3移动的加速度为、导杆3的角加速度为,则由式(5-6)对时间求导得:(5-10)对式(5-10)中,每项乘以得:即(5-11)在式(5-11)中,取实部得:(5-12)即为滑块2沿导杆3移动的加速度。在式(5-11)中,取虚部得:(5-13)即为导杆3的角加速度。摆动滑块机构的运动分析由第一节知,如图5-1所示建立的直角坐标系,根据机构中由构件3、4、5、6所构成的摆动滑块机构封闭链CDEC,设点E在轴上的投影为点F,则可写出矢量方程式:用复数矢量可表示为:(5-14)即写成两个分量形式的代数式为:(5-15)对方程组(5-15)整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋互换合同(2024版)2篇
- 2024年度农业技术与种植指导合同2篇
- 二零二四年度产品分销与区域销售合同2篇
- 二零二四年度品牌服装设计委托生产合同3篇
- 2024年度软件开发合同-智能手机应用程序定制3篇
- 2024版高新技术产业研发与产业化合同3篇
- 2024年度家政服务企业与员工福利合同2篇
- 2024年度废木糠行业研究报告合同2篇
- 洗涤服务合同
- 救生员聘用合同
- 永辉超市门店SOP标准作业流程制度规定(五篇)
- 高边坡锚索试验孔基本试验报告
- 研读新课标“数据意识”的培养策略与评价
- 不断提升能源利用效率做好“双碳”工作心得体会
- 新版GMP变更控制详解
- 制糖蒸发工序操作
- 《中国书法基础知识讲解》PPT课件
- 《逻辑学》第五章-词项逻辑
- 头痛的国际分类(第三版)中文
- 小学英语单词分类全集
- 【课件】5.3 三角函数的诱导公式(共19张PPT)
评论
0/150
提交评论