非圆齿轮行星轮系引纬机构的反求设计与仿真分析论文.doc

非圆齿轮行星轮系引纬机构的反求设计与仿真分析【UG三维图+动画仿真.】【优秀】

收藏

压缩包内文档预览:(预览前20页/共42页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:272953    类型:共享资源    大小:93.10MB    格式:RAR    上传时间:2014-04-20 上传人:上*** IP属地:江苏
50
积分
关 键 词:
非圆齿轮 行星 轮系引纬 机构 设计 仿真 分析 ug 三维 动画 优秀
资源描述:

非圆齿轮行星轮系引纬机构的反求设计与仿真分析

41页 13000字数+说明书+任务书+开题报告+UG三维图+动画仿真+文献综述

UG三维图+动画仿真.rar

任务书.doc

文献综述.doc

程序.doc

附件清单.doc

附件表格.rar

非圆齿轮行星轮系引纬机构反求设计软件.rar

非圆齿轮行星轮系引纬机构的反求设计与仿真分析开题报告.doc

非圆齿轮行星轮系引纬机构的反求设计与仿真分析论文.doc


摘要

剑杆织机的引纬机构,是剑杆织机的核心机构之一,其运动性能如何将在很大程度上决定着整台织机的性能与档次。所以,一种结构设计合理的剑杆引纬机构能够改善剑杆织机的工作效率与所生产产品的质量,提高经济效益。本文提出了一种新型的剑杆引纬机构,即非圆齿轮行星轮系剑杆引纬机构。

  本文中分析了剑杆织机的引纬工艺要求,得到了剑杆织机引纬时主轴转过不同角度的时候剑杆应该有的位移、速度以及加速度。并以此为依据设定了剑杆的加速度运动曲线为一等腰梯形的形状的曲线,经过进一步计算后得到了剑杆的运动学模型。本文设计的非圆齿轮行星轮系剑杆引纬机构的作用是将主轴的匀速转动转换成剑杆的有规律的往复运动,根据这一模型的传动规律建立运动学分析模型,结合其中非圆齿轮的特性得到节曲线方程。再基于Visual Basic 6.0这个平台编写引纬机构反求设计与仿真软件,利用该软件可以反求出机构中各个参数的值,之后根据仿真的结果调整机构参数,最终得到符合引纬规律的合理的参数,证明本文设计的引纬机构是合理可行的。

关键词:非圆齿轮;引纬机构;反求;剑杆织机



目  录


第1章绪论1

1.1 课题的研究背景与意义1

1.2 国内外剑杆引纬机构的研究现状及发展趋势2

1.2.1 剑杆引纬机构的简介2

1.2.2 国内外剑杆引纬机构的研究状况及发展趋势2

1.3 非圆齿轮的发展及研究情况5

1.3.1 非圆齿轮的介绍5

1.3.2 非圆齿轮的研究状况5

1.4 本设计的主要内容6

第2章非圆齿轮行星轮系引纬机构运动分析模型的建立8

2.1 剑杆织机的引纬工艺要求8

2.2剑头的理想运动学曲线方程的建立9

2.2.1 剑头理想运动曲线的构造9

2.2.2 剑头运动学曲线方程的建立10

2.3 非圆齿轮行星轮系引纬机构的模型简介13

2.4 非圆齿轮行星轮系引纬机构反求模型的建立15

2.4.1 反求设计思想的简介15

2.4.2 非圆齿轮行星轮系放大轮系的运动模型的建立15

2.4.3 第一级非圆齿轮行星轮系运动模型的建立17

2.4.4 第二级非圆齿轮行星轮系运动模型的建立18

第3章非圆齿轮行星轮系引纬机构反求设计与运动仿真软件的设计20

3.1 计算机辅助设计的简单介绍20

3.2 非圆齿轮行星轮系引纬机构反求设计与仿真软件的介绍20

3.2.1 引纬机构反求设计软件的开发思路20

3.2.2 引纬机构反求程序的关键性思想20

3.2.3 引纬机构参数的设定22

3.2.4 引纬机构反求软件的界面介绍23

3.2.5 引纬机构反求软件各个控件的介绍24

3.2.6 引纬机构反求软件的功能特点28

第4章 引纬机构三维模型的建立与仿真29

第5章 总结33

参考文献34


1.4 本设计的主要内容

  本次毕业设计中研究的主要内容包括:

  1)了解、掌握剑杆织机引纬工艺要求

  清楚剑杆织机引纬时,主轴转过不同角度的时候剑头应该有的位移、速度以及加速度。

  2)建立剑头的理想运动学曲线方程

  根据最符合剑杆织机织造的原则,得到剑杆的理想运动学曲线方程。

  3)由给定的非圆齿轮行星轮系引纬机构的传动原理,建立运动学分析模型

  根据非圆齿轮的特性建立传动模型,将主轴的匀速转动转换成期望达到的剑杆的往复运动。

  4)编写运动分析、仿真软件,进行参数反求。

  根据得到的理想的运动学曲线方程,利用MATLAB编写运动分析、仿真软件,反求出机构中各个参数的值。

  5)根据最佳参数,进行结构设计。

  根据得到的参数和建立的运动模型,对结果进行仿真分析,并由仿真结果对参数进行适当的调整。非圆齿轮行星轮系引纬机构运动分析模型的建立

   引纬机构用于将织机主轴的匀速回转运动转换为引纬剑头的变速往复直线运动,本章在满足剑杆引纬机构的工艺特性要求的基础上,设定了理想的引纬剑头运动规律,建立了该新型引纬机构的运动学反求模型,并根据引纬剑头的运动规律和已知的机构参数反求得到了非圆齿轮的节曲线方程。

2.1 剑杆织机的引纬工艺要求

  引纬机构最终要应用在剑杆织机中,所以它必须满足剑杆织机的引纬工艺要求。典型的剑杆运动规律有下列特征:在剑杆向梭口内运动起始处,送纬剑和接纬剑运动缓慢,而且送纬剑更慢,这有利于送纬剑能在较短的距离内正确夹持住纬纱。在梭口中央交接时,送纬剑和接纬剑运动也缓慢,有利和缓交接,降低纬纱张力[2]。且交接时需满足一定的纬纱交接冲程要求,一般理论交接冲程取10mm。

  所以我们能得到剑杆引纬的一系列特点:剑头在梭口内停留时间较长,占主抽转角200°—240°,甚至更长些;剑头进出梭口的时间可调范围小,剑头进入梭口约在60°—90°间,出梭口约在280°一310°间,空程可使剑头迟进、早出梭口,常见的剑杆织机引纬机构工作圆图如图2-1所示。为了满足剑杆运动规律,需要调整的主要引纬参数有剑头初始位置、剑头动程、纬纱交接配合、剪纬、释放纬纱和剑头运动的配合[6]。


内容简介:
浙江理工大学本科毕业设计(论文)任务书蒋程强 同学(09机制(4)班)现下达毕业设计(论文)课题任务书,望能保质保量地认真按时完成。课题名称非圆齿轮行星轮系引纬机构的反求设计与仿真分析主要任务与目标一、课题意义及国内外研究现状引纬机构的作用是将织机主轴的匀速旋转运动转化为剑头的非匀速有规律性的直线往复移动。目前,在国内市场上出售的剑杆织机引纬机构主要有:共轭凸轮引纬机构,该类型机构很容易满足引纬要求的运动规律,但是凸轮廓线加工精度要求相当高,如存在误差就产生冲击;变螺距螺旋传动引纬机构,该类型机构的变螺距螺旋副加工困难;平面六连杆送纬、四连杆接纬机构,可方便实现“接力”引纬,但其引纬运动规律设计灵活性不如共轭凸轮引纬机构;空间四连杆引纬机构,其引纬运动规律设计灵活性不如平面六连杆送纬、四连杆接纬机构。二、主要任务与难点本毕业设计以剑杆织机引纬机构为对象,熟悉剑杆织机引纬工艺要求(位移、速度和加速度),构建剑头的理想运动学曲线。根据给定的非圆齿轮行星轮系引纬机构的传动原理,建立该机构的分析计算模型。以理想理想运动学曲线为目标,编写程序进行运动模拟和参数反求,根据优化的最终参数进行结构设计。三、目标构建剑头的理想运动学曲线。建立非圆齿轮行星轮系引纬机构的分析计算模型。以理想理想运动学曲线为目标,编写程序进行运动模拟和参数反求,根据优化的最终参数进行结构设计。主要内容与基本要求一、主要内容1. 了解、掌握剑杆织机引纬工艺要求(位移、速度和加速度)。2. 建立剑头的理想运动学曲线方程3. 根据给定的非圆齿轮行星轮系引纬机构的传动原理,建立运动学分析模型。4. 编写运动分析、仿真软件,进行参数反求。5. 根据最佳参数,进行结构设计。主要内容与基本要求二、基本要求 1、文献综述报告与开题报告查阅与课题有关的文献(论文或书籍)不少于30篇(部),写出较为详细的、单独成文的文献综述报告与开题报告。1)文献综述报告的要求在查阅文献的基础上,综述与本课题相关的国内外研究现状,并进行分析;在总结前人研究的基础上,简要概述本课题的设计思路、拟采用的设计方案、要重点解决的问题及预期效果,报告最后附参考文献目录,综述报告字数不少于2000字。2)开题报告的要求根据设计任务与目标,在文献综述的基础上,撰写开题报告。内容包括:选题意义与可行性分析;研究的基本内容与拟解决的主要问题;较为详细的软件设计方案及预期研究成果;研究工作计划;参考文献等内容。开题报告字数不少于4000字。2、外文翻译完成A novel mechanism for driving the sley in a shuttle loom和An Optimization Design of a Weft Insertion Mechanism for Rapier Looms文献的英译汉翻译。3、机构分析模型建立、程序编写和结构设计建立剑头的理想运动学曲线方程;根据给定的非圆齿轮行星轮系引纬机构的传动原理,建立运动学分析模型;编写运动分析、仿真软件,进行参数反求; 根据最佳参数,进行结构设计。4、论文撰写在前期建模、分析、优化、仿真和结构设计的基础上,认真、按规定撰写论文。毕业设计论文由以下几部分组成:封面、中文摘要、外文摘要、目录、论文正文、参考文献、致谢、附录。装订亦按此顺序。其中中文摘要阐述论文的主要内容、研究方法和成果,字数500字以内,配相应的外文摘要。关键词3-7个。 论文正文要论点明确、结构合理、条理清楚、内容完整、资料翔实并与论点相结合,同时做到文字通顺,引文规范。正文字数不少于10000字。其它更具体的要求参见浙江理工大学本科生毕业设计(论文)工作规范。(可到教务处网站下载)。5、纪律要求严格按照进度安排,保质保量完成所承担的任务;遵守实验室规定,做到人走门窗关、总闸断电;注意实验、测试过程中用电等方面的安全。主要参考资料及文献阅读任务1 武丽梅, 鲁墨武. 非圆齿轮技术的发展及应用J. 沈阳航空工业学院学报, 2000(1): 23-25.2 崔希烈. 非圆齿轮齿廓分析(一)J. 机械传动, 1985(6): 18.3 李福生, 戴有虎, 韩德本, 等编译. 非圆齿轮M. 北京: 机械工业出版社, 1975.4 李福生, 尹种芳, 张遵连, 等编著. 非圆齿轮与特种齿轮传动设计M. 北京: 机械工业出版社, 19835 吴序堂, 王贵海. 齿轮啮合原理M. 北京: 机械工业出版社, 1982.6 吴序堂, 王贵海. 非圆齿轮及非匀速比传动M. 北京: 机械工业出版社, 1997.7 孙文磊, 朱颍, 庞远棣. 非圆齿轮传动的计算机动态模拟及CADJ. 机械传动, 1997, 21(1): 4-6, 34.8 王生泽, 陈明. 剑杆引纬连杆机构的创新分析与设计研究J. 中国纺织大学学报, 1997, 23(4): 16-20.9 陈元甫, 洪海沧. 剑杆织机原理与使用M. 北京: 中国纺织出版社, 1994.10 王鸿博. 剑杆织机实用技术M. 北京: 中国纺织出版社, 2004.11 陈普生,何敏英动态综合时剑杆运动规律的选择J中国纺织大学学报,1987,13(1):35-4212 Washida Kazuo, Sugimoto Hidehiko, Masuda Atuji. Servo-controlled weft yarn inserting mechanism for rapier loomJ. Journal of the Textile Machinery Society of Japan, 1998, 51(12): 47-59. 13 S. A. Mirjalili. Using Electromagnetic Force in Weft Insertion of a LoomJ. FIBRES & TEXTILES in Eastern Europe, 2005, 13(3): 67-70.14 ZHU Zhi-chao, FANG Zhi-he. An Optimization Design of a Weft Insertion Mechanism for Rapier LoomsJ. Journal of Dong Hua University (English Edition), 2003, 20(3): 38-41.15 Zdenek Koloc, Miroslav Vaclavik. Dynamics of the picking mechanism of a rapier loomJ. Mechanism and Machine Theory, 1992, 27(4): 435-441.16 Li, K.R., Chen, M. Analysis of the orthogonal crank-rocking lever spatial mechanism for the weft insertion in rapier loomsJ. Journal of Dong Hua University (English Edition), 2001, 18(1): 27-31.外文翻译任务1. A novel mechanism for driving the sley in a shuttle loom2. An Optimization Design of a Weft Insertion Mechanism for Rapier Looms计划进度:起止时间内容2012.12.052013.01.15文献综述、开题报告、文献翻译2013.01.162013.02.28理想运动学曲线方程的建立2013.03.012013.04.10分析模型的建立 2013.04.112013.04.25编写运动分析及仿真软件并进行参数反求2013.04.26 2013.05.07结构设计2013.05.082013.05.19论文撰写2013.05.202013.05.25论文装订、准备答辩实习地点机械学院一楼实验室指导教师签 名2012年10月28日系 意 见系主任签名: 年 月 日学院盖章主管院长签名: 年 月 日浙江理工大学本科毕业设计(论文)文献综述报告班 级机械设计制造及其自动化09(4)班姓 名蒋程强课题名称非圆齿轮行星轮系引纬机构的反求设计与仿真分析文献综述报告目 录1 前言2 国内外剑杆织机引纬机构的研究成果3 非圆齿轮的研究现状4 总结参考文献指导教师审批意见签名: 年 月 日非圆齿轮行星轮系引纬机构的反求设计与仿真分析蒋程强(机械设计制造及其自动化09(4)班 I09660210)1 前言纺织是人类社会最古老的一个生产部门,它与我们的生活息息相关。随着农业的发展和手工编结技术的提高,纺织技术出现并发展起来。在不断的实践过程中人们为了克服手工纺织速度慢、产品粗糙的缺点,纺织机械开始出现。经过不断的努力,纺织机械已经取得了长足发展,也开始有了有梭织机,无梭织机等等分门别类。而剑杆织机就是无梭织机总使用最多的一种织机。1963年汉诺威国际纺织机械展览会首次展出了商业性剑杆织机,随着新材料和新技术的广泛应用,这种织机的工艺性能日趋完善。由于它适用范围广,能与多种其他纺织机械配合使用,失误少,可靠性高等优点,广泛被人们所接受。到80年代末,剑杆织机已进入了全盛时期12。因此,剑杆引纬机构,作为剑杆织机的核心机构之一,也开始成为许多纺织领域内学者的研究对象。2 国内外剑杆织机引纬机构的研究成果剑杆引纬机构是剑杆织机的一大关键传动机构,其运动动态性能如何将在很大程度上决定着整台织机的性能与档次。因此,追求结构简单、性能优越的剑杆引纬机构,无疑是此类织机的研究重点4。国内外很多学者都对其进行过研究并取得了许多优异的成就。下面介绍几种国内外典型的剑杆引纬机构。共轭凸轮引纬机构,它采用分离筘座,引纬和打纬运动没有直接的传动关系。运动原理如图2-1(a)所示。该引纬机构有一个自由度,由共轭凸轮、连杆机构和轮系组成。共轭凸轮1使刚性角形杆H1AH2作往复摆动,摆杆AB和杆H1AH2刚性连接,通过四连杆机构ABCD驱动与摇杆CD刚性连接的圆柱齿轮2作往复摆动。最后经过定轴轮系Z1、Z2、Z3和剑轮3的放大,使与剑轮啮合的剑带4获得往复直线运动2。这是应用最多的一种机构,例如多尼尔剑杆织机3如图2-1(b),天马-11型3如图2-1(c),SM92织机1如图2-1(a)。这类机构很容易满足引纬要求的运动规律,其剑头运动规律在理论上可按照任意曲线要求来设计。该机构的性能取决于共轭凸轮的设计,但是在运行过程中为了减少动载荷,共轭凸轮轮廓线要满足二阶连续要求,凸轮廓线加工精度要求相当高,制造难度大,如存在误差就易产生磨损冲击和振动加剧,影响正常的织造。 (a) 共轭凸轮引纬机构(SM92织机引纬机构) (b) 多尼尔剑杆织机引纬机构 (c) 天马-11型剑杆织机引纬机构图 2-1空间四杆机构引纬机构,机构如图2-2(a)所示。2为织机主轴,由曲柄1、叉杆3和摇杆4组成的球面曲柄摇杆机构,通过连杆5带动扇齿轮6,驱动剑轮72。这种引纬机构主要在GTM系列的织机中1使用较多,如图2-2(b)所示。该机构的制造安装较为简便,但是在灵活性方面有所欠缺。 (a)空间四杆引纬机构 (b)GMT织机引纬机构图 2-2变导程螺距引纬机构,其结构比较简单,传动可简化为曲柄滑块机构。如图2-3(a)所示,主轴带动曲柄AB,经过连杆BC使滑块型螺母C产生往复运动,螺母C与螺杆1形成螺纹副,带动螺杆转动,从而带动螺杆轴上的剑轮2传剑2。G401织机1中就采用了这种引纬机构,如图2-3(b)所示。该引纬机构结构简单,传动链短,结构紧凑,交接条件好,但是因为是采用螺纹,所以效率不高,而且加工符合要求的螺纹工艺要求较高。 (a) 变螺距螺旋传动引纬机构 (b)G401织机变螺距引纬机构图 2-3差动轮系连杆机构传动的引纬机构,如图2-4所示。周转轮系的轴心O为筘座脚CO的摆动中心,AO1B杆的转动经连杆分别传递给杆DO和筘座脚。DO的角速度w1即为周转轮系内齿轮1的角速度,CO的角速度w2为周转轮系转臂的角速度。在w1和w2作用下,中心轮2以合成速度w3作往复摆动,通过圆锥齿轮系(4、5、6和7)带动传剑轮82。TP500织机1采用的就是这种引纬机构,如图2-4(b)。该机构能很好的改善交接纬时纬纱张力变化大或纬纱松弛导致交接失误的现象,但是传动路线长、结构过于复杂2。 (a)差动轮系连杆机构传动引纬机构 (b)TP500织机引纬机构 图 2-43 非圆齿轮的研究现状以上是国内外部分的剑杆引纬机构的研究成果。在本课题中尝试一种新的引纬机构非圆齿轮行星轮系引纬机构,如图2-5(a)所示。这听起来虽然是一种比较陌生的引纬机构,但实际上非圆齿轮不是一种新颖的机构。非圆齿轮的发展历史可从2O世纪40年代开始。当时由于机械制工业的发展,对传动机构的要求愈来愈多样化、复杂化,已有的齿轮传动或其它传动机构很难满足需要。为了实现变传动比传动,人们突破了传统圆齿轮的局限而发明了非圆齿轮6。人们对它的了解之所以不多,其原因是过去这种齿轮的加工较麻烦,以致影响了它的应用7。但是非圆齿轮与连杆机构、凸轮机构相比,具有较大的优越性尤其是它适用于高速旋转机构和能实现连续的单向循环运动。所以,人们在加工非圆齿轮方面动了不少脑筋,目前,加工非圆齿轮的方法很多,有滚齿、铣齿、插齿、剃齿以及刨齿等等。尤其是数控机床取得了较大的发展,这种齿轮的加工问题已得到了很好的解决8。非圆齿轮齿廓一般都可以用圆形渐开线插齿刀或直廓圆注滚刀在数控插齿机或数控滚齿机上加工出来9。一对互相啮合的非圆齿轮,当主动轮作匀速转动时,从动轮便作一定规律的变角速运动,非圆齿轮可使工作机构具有变速运动,能协调工作机构的循环周期。利用非圆齿轮机构与连杆机构串联组合,能获得等速或所需的运动规律10。要实现剑杆的往复运动需要多个齿轮组成非圆齿轮行星轮系才能实现,如图2-5(b)所示为W-W型非圆行星轮系。由于非圆齿轮的特性,当输入轴以匀角速度朝一个方向连续转动时,通过非圆齿轮轮系,输出轴的回转方向和转速都可能改变,因而有可能设计出输出轴作连续单向转动的、间歇转动的以及往复摆动的机构。这是普通的圆齿轮行星轮系所无法做到的11。 (a)非圆齿轮机构 (b)W-W型非圆齿轮行星轮系图 3-1当然,除此之外还有很多的引纬方式,例如喷气引纬,喷水引纬,电子引纬,滑块齿条机构引纬1,电磁力引纬5等等。4 总结如上所述,剑杆引纬机构发展至今国内外已经取得了很多的成果,但是大多数机构或多或少的都存在不同方面的问题,都有许多不完善的地方,如结构型式、结构尺寸、驱动方式及可靠性等方面都有待发展,剑杆引纬机构的研究对剑杆织机的研究十分重要。因此,对具有理想结构的剑杆引纬机构继续深入研究是有效也是有必要的。在研究引纬机构过程中我们常常会用到一些数学方法,以及数学工具。例如遗传算法,惩罚策略12,反求分析,MATLAB等等。尤其是在对一些连杆机构,空间机构13等的研究过程中。因此,以后对剑杆引纬机构的结构设计研究,可以更多的利用其它学科的思想,从而设计出结构上更加优化的剑杆引纬机构,提高剑杆织机的效率。参考文献1 陈元甫,洪海沧.剑杆织机原理与使用M,北京:中国纺织出版社,1994:31-47.2 赵雄,徐宾,陈建能.,赵匀.几种典型的剑杆织机引纬机构及其机构创新J,纺织机械,2008(2),2-3.3 王鸿博.剑杆织机实用技术M.北京:中国纺织出版社,2004:14-18.4 王生泽,陈明.剑杆引纬连杆机构的创新分析与设计研究J.中国纺织大学学报,1997,23(4):16-20.5 S. A. Mirjalili. Using Electromagnetic Force in Weft Insertion of a LoomJ. FIBRES & TEXTILES in Eastern Europe,2005,13(3):67-70.6 武丽梅,鲁墨武.非圆齿轮技术的发展及应用J.沈阳航空工业学院学报,2000(1),23-25.7 李福生,尹种芳,张遵连,等编著.非圆齿轮与特种齿轮传动设计M.北京:机械工业出版社,1983:2-3.8 李福生,戴有虎,韩德本,等编译.非圆齿轮M.北京:机械工业出版社,1975:177.9 崔希烈.非圆齿轮齿廓分析(一)J.机械传动,1985(6):18.10 孙文磊,朱颍,庞远棣.非圆齿轮传动的计算机动态模拟及CADJ.机械传动,1997,1(1):4-6,34.11 吴序堂,王贵海.非圆齿轮及非匀速比传动M.北京:机械工业出版社,1997:64-66.12 ZHU Zhi-chao,FANG Zhi-he. An Optimization Design of a Weft Insertion Mechanism for Rapier LoomsJ. Journal of Dong Hua University (English Edition),2003,20(3): 38-41.13 Li, K.R.,Chen,M. Analysis of the orthogonal crank-rocking lever spatial mechanism for the weft insertion in rapier loomsJ. Journal of Dong Hua University (English Edition),2001, 18(1): 27-31.非圆齿轮行星轮系引纬机构反求设计与运动仿真软件(VB程序)学 院 机械与自动控制学院 专业班级 机械设计制造及其自动化09(4)班 姓 名 蒋程强 学 号 I09660210 指导教师 陈建能 附件1非圆齿轮行星轮系引纬机构反求设计与运动仿真程序本程序是基于Visual Basic 6.0 进行编程的,操作界面如下图所示主程序如下:Const pi = 3.1415926Const DotNum = 360 点数Dim ChangeB(3, 3) As Single 变化位置后椭圆齿轮轮廓上的点,有3个齿轮Const d = 1, r = 3 * 0.001, kk = 10Dim Ellipse(36, 3) As Single 椭圆齿轮轮廓上的点,有3个齿轮Dim angle As IntegerDim Xd1, Xd2, Xd3, k2, w1, h0, h, t, hx, bl, br As DoubleDim feiyuan(360, 2), feiyuan1(360, 2), thta1(360), thta8(360), thta10(360), thta12(360), thta13(360)Dim a, c, b, k1, RadiusDim Xd(1 To DotNum), Ac(1 To DotNum), V(1 To DotNum), S(1 To DotNum), Da(1 To DotNum), AAc(1 To DotNum), VV(1 To DotNum), SS(1 To DotNum), SSZ(1 To DotNum), DDa(1 To DotNum) As DoubleDim w2(1 To DotNum), Fai2(1 To DotNum), thta71(1 To DotNum), thta81(1 To DotNum), T2(1 To DotNum), T3(1 To DotNum), T4(1 To DotNum) As DoubleDim X, Y As DoubleDim maxSS, maxVV, maxAA, minSS, minVV, minAA As DoubleDim r3(1 To DotNum), r6(1 To DotNum), r7(1 To DotNum), r8(1 To DotNum) As Double Dim xx1(1 To DotNum), yy1(1 To DotNum), xx2(1 To DotNum), yy2(1 To DotNum), xx3(1 To DotNum), yy3(1 To DotNum), xx4(1 To DotNum), yy4(1 To DotNum) As Double 齿轮上的点Dim i12H(1 To DotNum), i12(1 To DotNum), i4H(1 To DotNum), w21(1 To DotNum), czh1(1 To DotNum), czh2(1 To DotNum) As DoubleDim f2(1 To DotNum, 1 To DotNum), f3(1 To DotNum, 1 To DotNum), f4(1 To DotNum, 1 To DotNum), xn3(1 To DotNum, 1 To DotNum), yn3(1 To DotNum, 1 To DotNum), xn4(1 To DotNum, 1 To DotNum), yn4(1 To DotNum, 1 To DotNum) As DoubleDim mark As Boolean 正负标志Dim Xm1(1 To DotNum), Ym1(1 To DotNum) As Double 中间椭圆2轴心的的坐标Dim Fai1(1 To DotNum) As DoubleDim p, c1, dian1x, dian1y, dian2x, dian2y, rr, stroke, sd, k5, k3, k4, Ji, Angle1, De, r9, r10, r12, r13, z9, z10, z12, z13, module1, module2, izong, qwer As DoublePublic Sub ReadData() a = Val(txt_a.Text) / 1000 / 2 椭圆长半轴 k1 = Val(txt_k.Text) 椭圆偏心率 c = k1 * a b = Sqr(a 2 - c 2) 椭圆短半轴 qwer = 0 h = Val(Txt_h.Text) 正向加速度最大值 p = Val(Txt_p.Text) 主轴转速 c1 = Val(Txt_C1.Text) 比例系数,用于表示h0 Xd1 = Val(Txt_x1.Text) * pi / 180 加速度曲线转折时对应的主轴转角 Xd2 = Val(Txt_x2.Text) * pi / 180 Xd3 = Val(Txt_x3.Text) * pi / 180 Radius = Val(txt_radius.Text) / 1000 传剑轮半径 Angle1 = 2 * Val(txt_angle.Text) 接纬提前角 sd = Val(txt_sd.Text) 速度调节 Ji = Val(txt_jj.Text) 交接冲程 z9 = Val(txt_z9.Text) z10 = Val(txt_z10.Text) z12 = Val(txt_z12.Text) z13 = Val(txt_z13.Text) 齿数 module1 = Val(txt_module1.Text) module2 = Val(txt_module2.Text) 模数 r9 = module1 * z9 / 1000 / 2 r10 = module1 * z10 / 1000 / 2 r12 = module2 * z12 / 1000 / 2 r13 = module2 * z13 / 1000 / 2 向径 izong = r9 * r12 / r10 / r13 齿轮9、10、12、13总传动比 h0 = c1 * h * izong / 18 * Radius / 0.13 加速度初始值 k2 = 2 * pi / DotNum t = 60 / p w1 = 2 * pi * p / 60 hx = (h * (Xd1 - Xd2 - Xd3) - h0 * Xd1) / (2 * pi - Xd2 - Xd3)End SubPrivate Sub coequation(k, MC, mark) 方程求根,为了求Fai2 Call ReadData Dim aa As Single Dim bb As Single Dim cc As Single aa = b 2 + a 2 * k 2 bb = -2 * a 2 * k 2 * MC cc = a 2 * k 2 * MC 2 - a 2 * b 2 X = (-bb + mark * Sqr(bb 2 - 4 * aa * cc) / (2 * aa) Y = k * (X - MC)End SubPrivate Function untn(fx, fy) As Single 自定义的求arctan的函数 If fx = 0 Then If fy 0 Then untn = pi / 2 Else untn = 3 * pi / 2 End If Else If fx 0 Then If fy 0 Then untn = Atn(fy / fx) + 2 * pi Else untn = Atn(fy / fx) End If Else untn = Atn(fy / fx) + pi End If End IfEnd Function Sub JZCF() 椭圆齿轮运动时,不同时刻下的点坐标变化 Dim i, j, k As Integer Dim n As Integer 椭圆齿轮上的取点数量 n = 36 ReDim p(n, 3) For i = 1 To n For j = 1 To 3 For k = 1 To 3 p(i, j) = p(i, j) + Ellipse(i, k) * ChangeB(k, j) Next k Next j Next i For i = 1 To n For j = 1 To 3 Ellipse(i, j) = p(i, j) Next j Next iEnd SubSub JZCM(tempJZ(), angle2, xy) 非圆齿轮不同时刻下的点坐标变化 n = 360 非圆齿轮上的取点数量 If angle2 n Then angle2 = 1 End If ReDim p1(n, 2), ChangeB1(2, 2) ChangeB1(1, 1) = Cos(xy(angle2): ChangeB1(1, 2) = Sin(xy(angle2) ChangeB1(2, 1) = -Sin(xy(angle2): ChangeB1(2, 2) = Cos(xy(angle2) For i = 1 To n For j = 1 To 2 For k = 1 To 2 p1(i, j) = p1(i, j) + tempJZ(i, k) * ChangeB1(k, j) Next k Next j Next i For i = 1 To n For j = 1 To 2 tempJZ(i, j) = p1(i, j) Next j, i End SubSub Draw_Ellipse(X, Y, angle2, color) 画椭圆 ChangeB(1, 1) = Cos(angle2): ChangeB(1, 2) = Sin(angle2): ChangeB(1, 3) = 0 ChangeB(2, 1) = -Sin(angle2): ChangeB(2, 2) = Cos(angle2): ChangeB(2, 3) = 0 ChangeB(3, 1) = -(X + c) * Cos(angle2) + Y * Sin(angle2) + (X + c): ChangeB(3, 2) = -(X + c) * Sin(angle2) - Y * Cos(angle2) + Y: ChangeB(3, 3) = 1 Temp = 2 * pi / 36 For i = 1 To 36 Ellipse(i, 1) = a * Cos(Temp * (i - 1) + X Ellipse(i, 2) = b * Sin(Temp * (i - 1) + Y Ellipse(i, 3) = 1 Next iCall JZCF For k = 2 To 36 PicBox1.Line (Ellipse(k - 1, 1), Ellipse(k - 1, 2)-(Ellipse(k, 1), Ellipse(k, 2), color Next k PicBox1.Line (Ellipse(36, 1), Ellipse(36, 2)-(Ellipse(1, 1), Ellipse(1, 2), color PicBox1.Line (Ellipse(19, 1), Ellipse(19, 2)-(Ellipse(1, 1), Ellipse(1, 2), color RGB(255, 255, 0) PicBox1.Line (Ellipse(10, 1), Ellipse(10, 2)-(Ellipse(28, 1), Ellipse(28, 2), color RGB(255, 255, 0)End SubPrivate Sub Calc_Fai() Dim x1(1 To DotNum), y1(1 To DotNum), x2(1 To DotNum), y2(1 To DotNum) Mark1 = 1 Mark2 = 1 For i = 1 To DotNum Fai1(i) = i * pi / 180 If i = 90 Then x1(i) = c y1(i) = b 2 / a Else If i = 270 Then x1(i) = c: y1(i) = -b 2 / a Else k = Tan(Fai1(i) Call coequation(k, c, Mark1) x1(i) = X: y1(i) = Y If i 1 Then If (Abs(x1(i) - x1(i - 1) + Abs(y1(i) - y1(i - 1) = 0.005 Then Mark1 = -Mark1 Call coequation(k, c, Mark1) x1(i) = X: y1(i) = Y End If End If End If End If If Abs(x1(i) + c) 0 Then y2(i) = -b 2 / a If y1(i) 0 Then y2(i) = b 2 / a Else k = y1(i) / (x1(i) + c) Call coequation(k, -c, Mark2) x2(i) = X: y2(i) = Y If (Abs(x2(i) - x1(i) + Abs(y2(i) - y1(i) = 0.005 Then Mark2 = -Mark2 Call coequation(k, -c, Mark2) x2(i) = X: y2(i) = Y End If End If Fai2(i) = untn(-c - x2(i), -y2(i) Next i For i = 1 To DotNum q = i * pi / 180 因为机架是顺时针转动,所以在以下式中用-Q Xm1(i) = 2 * a * Cos(qwer * pi / 180 - q) Ym1(i) = 2 * a * Sin(qwer * pi / 180 - q) Next iEnd SubFunction Calc_curve() 求加速度,速度,位移,跃度曲线方程 Call Calc_Fai For i = 1 To DotNum Xd(i) = i * k2 Next i 给出(0,pi)段的运动方程的表达式 For j = 1 To 180 If Xd(j) = 0 Then Ac(j) = h0 + 3 * (h - h0) * Xd(j) 2 / Xd1 2 - 2 * (h - h0) * Xd(j) 3 / Xd1 3 V(j) = (h0 * Xd(j) + (h - h0) * Xd(j) 3 / Xd1 2 - (h - h0) * Xd(j) 4 / Xd1 3 / 2) / w1 S(j) = (h0 * Xd(j) 2 / 2 + (h - h0) * Xd(j) 4 / Xd1 2 / 4 - (h - h0) * Xd(j) 5 / Xd1 3 / 10) / w1 2 Da(j) = 6 * (h - h0) * w1 * Xd(j) * (1 - Xd(j) / Xd1) / Xd1 2 ElseIf Xd(j) = Xd1 Then Ac(j) = h V(j) = (h + h0) * Xd1 / 2 + h * (Xd(j) - Xd1) / w1 S(j) = (h0 * Xd1 2 / 2 + 3 * (h - h0) * Xd1 2 / 20 + (h + h0) * (Xd(j) - Xd1) * Xd1 / 2 + h * (Xd(j) - Xd1) 2 / 2) / w1 2 Da(j) = 0 ElseIf Xd(j) = Xd2 Then Ac(j) = h + (Xd2 3 - 3 * Xd2 2 * Xd3) * (h - hx) / (Xd3 - Xd2) 3 + 6 * Xd2 * Xd3 * (h - hx) * Xd(j) / (Xd3 - Xd2) 3 - 3 * (Xd2 + Xd3) * (h - hx) * Xd(j) 2 / (Xd3 - Xd2) 3 + 2 * (h - hx) * Xd(j) 3 / (Xd3 - Xd2) 3 V(j) = (h + h0) * Xd1 / 2 + h * (Xd2 - Xd1) + h * (Xd(j) - Xd2) + (Xd2 3 - 3 * Xd2 2 * Xd3) * (h - hx) * (Xd(j) - Xd2) / (Xd3 - Xd2) 3) / w1 + (3 * Xd2 * Xd3 * (h - hx) * (Xd(j) 2 - Xd2 2) / (Xd3 - Xd2) 3 - (Xd2 + Xd3) * (h - hx) * (Xd(j) 3 - Xd2 3) / (Xd3 - Xd2) 3) / w1 + (h - hx) * (Xd(j) 4 - Xd2 4) / (Xd3 - Xd2) 3 / 2) / w1 S(j) = (h0 * Xd1 2 / 2 + 3 * (h - h0) * Xd1 2 / 20 + (h + h0) * (Xd2 - Xd1) * Xd1 / 2 + h * (Xd2 - Xd1) 2 / 2 + (h + h0) * Xd1 * (Xd(j) - Xd2) / 2) / w1 2 + (h * (Xd2 - Xd1) * (Xd(j) - Xd2) + h * (Xd(j) - Xd2) 2 / 2 + (Xd2 3 - 3 * Xd2 2 * Xd3) * (h - hx) * (Xd(j) - Xd2) 2 / (Xd3 - Xd2) 3 / 2) / w1 2 + (Xd2 * Xd3 * (h - hx) * (Xd(j) 3 + 2 * Xd2 3 - 3 * Xd2 2 * Xd(j) / (Xd3 - Xd2) 3 - (Xd2 + Xd3) * (h - hx) * (Xd(j) 4 + 3 * Xd2 4 - 4 * Xd2 3 * Xd(j) / (Xd3 - Xd2) 3 / 4) / w1 2 + (h - hx) * (Xd(j) 5 + 4 * Xd2 5 - 5 * Xd2 4 * Xd(j) / (Xd3 - Xd2) 3 / 10) / w1 2 Da(j) = 6 * (h - hx) * w1 * (Xd2 * Xd3 - (Xd2 + Xd3) * Xd(j) + Xd(j) 2) / (Xd3 - Xd2) 3 ElseIf Xd(j) = Xd3 Then Ac(j) = hx V(j) = (h0 * Xd1 + h * (Xd3 + Xd2 - Xd1) + hx * (2 * Xd(j) - Xd2 - Xd3) / w1 / 2 S(j) = (h0 * Xd1 2 / 2 + 3 * (h - h0) * Xd1 2 / 20 + (h + h0) * (Xd2 - Xd1) * Xd1 / 2 + h * (Xd2 - Xd1) 2 / 2 + (h + h0) * Xd1 * (Xd3 - Xd2) / 2) / w1 2 + (h * (Xd2 - Xd1) * (Xd3 - Xd2) + h * (Xd3 - Xd2) 2 / 2 + (Xd2 3 - 3 * Xd2 2 * Xd3) * (h - hx) * (Xd3 - Xd2) 2 / (Xd3 - Xd2) 3 / 2) / w1 2 + (Xd2 * Xd3 * (h - hx) * (Xd3 3 + 2 * Xd2 3 - 3 * Xd2 2 * Xd3) / (Xd3 - Xd2) 3 - (Xd2 + Xd3) * (h - hx) * (Xd3 4 + 3 * Xd2 4 - 4 * Xd2 3 * Xd3) / (Xd3 - Xd2) 3 / 4) / w1 2 + (h - hx) * (Xd3 5 + 4 * Xd2 5 - 5 * Xd2 4 * Xd3) / (Xd3 - Xd2) 3 / 10 + h0 * Xd1 * (Xd(j) - Xd3) / 2 + h * (Xd3 + Xd2 - Xd1) * (Xd(j) - Xd3) / 2 + hx * (Xd(j) - Xd2) * (Xd(j) - Xd3) / 2) / w1 2 Da(j) = 0 End If Next j For i = 1 To 360 给出(0,2*pi)段的运动方程的表达式 If i DotNum Then PicBox1.Line (stroke - k4 * SS(angle + Angle1 - DotNum) / maxSS / 8 - 0.125, -0.25 + rr)-(stroke - 0.125, -0.25 + rr), RGB(200, 0, 0) PicBox1.Line (stroke - k4 * SS(angle + Angle1 - DotNum) / maxSS / 8 - 0.125, -0.25 + rr)-(stroke - k4 * SS(angle + Angle1 - DotNum) / maxSS / 8 - 0.125 + 0.008, -0.25 + rr + 2 * r), RGB(200, 0, 0) Else PicBox1.Line (stroke - k4 * SS(angle + Angle1) / maxSS / 8 - 0.125, -0.25 + rr)-(stroke - 0.125, -0.25 + rr), RGB(200, 0, 0) PicBox1.Line (stroke - k4 * SS(angle + Angle1) / maxSS / 8 - 0.125, -0.25 + rr)-(stroke - k4 * SS(angle + Angle1) / maxSS / 8 - 0.125 + 0.008, -0.25 + rr + 2 * r), RGB(200, 0, 0) End If PicBox1.Circle (stroke - 0.125 - rr, -0.25 + rr + 6 * r), 0 PicBox1.Print 接纬剑 xzuo = stroke - 0.125 yzuo = -0.25 dian1x = xzuo + rr * Cos(izong * SSZ(angle) * k2 dian1y = yzuo + rr * Sin(izong * SSZ(angle) * k2 dian2x = xzuo + rr * Cos(pi + izong * SSZ(angle) * k2 dian2y = yzuo + rr * Sin(pi + izong * SSZ(angle) * k2 PicBox1.Line (dian1x, dian1y)-(dian2x, dian2y) dian1x = xzuo + rr * Cos(pi / 2 + izong * SSZ(angle) * k2 dian1y = yzuo + rr * Sin(pi / 2 + izong * SSZ(angle) * k2 dian2x = xzuo + rr * Cos(pi / 2 + pi + izong * SSZ(angle) * k2 dian2y = yzuo + rr * Sin(pi / 2 + pi + izong * SSZ(angle) * k2 PicBox1.Line (dian1x, dian1y)-(dian2x, dian2y) PicBox1.Line (stroke / 2 - 0.125, -0.25 + rr + 6 * r)-(stroke / 2 - 0.125, -0.25 - rr - 2 * r), vbRed PicBox1.Circle (0, 0), r9, , 1.7 * pi + thta8(angle), 0.1 * pi + thta8(angle) PicBox1.Circle (0, 0), r9 - 0.01, RGB(255, 0, 0), 1.7 * pi + thta8(angle), 0.1 * pi + thta8(angle) xzuo = 0 yzuo = 0 dian1x = xzuo + r9 * Cos(1.7 * pi + thta8(angle) dian1y = yzuo + r9 * Sin(1.7 * pi + thta8(angle) dian2x = xzuo + r9 * Cos(0.1 * pi + thta8(angle) dian2y = yzuo + r9 * Sin(0.1 * pi + thta8(angle) PicBox1.Line (0, 0)-(dian2x, dian2y) PicBox1.Line (0, 0)-(dian1x, dian1y) PicBox1.Circle (r9 + r10, 0), r10 齿轮10 PicBox1.Circle (r9 + r10, 0), r / 2 xzuo = r9 + r10 yzuo = 0 dian1x = xzuo + r10 * Cos(-thta10(angle) dian1y = yzuo + r10 * Sin(-thta10(angle) dian2x = xzuo + r10 * Cos(pi - thta10(angle) dian2y = yzuo + r10 * Sin(pi - thta10(angle) PicBox1.Line (dian1x, dian1y)-(dian2x, dian2y) dian1x = xzuo + r10 * Cos(pi / 2 - thta10(angle) dian1y = yzuo + r10 * Sin(pi / 2 - thta10(angle) dian2x = xzuo + r10 * Cos(pi / 2 + pi - thta10(angle) dian2y = yzuo + r10 * Sin(pi / 2 + pi - thta10(angle) PicBox1.Line (dian1x, dian1y)-(dian2x, dian2y) PicBox1.Circle (r9 + r10, 0), r12, RGB(255, 158, 128) 齿轮12 xzuo = r9 + r10 yzuo = 0 dian1x = xzuo + r12 * Cos(-thta12(angle) dian1y = yzuo + r12 * Sin(-thta12(angle) dian2x = xzuo + r12 * Cos(pi - thta12(angle) dian2y = yzuo + r12 * Sin(pi - thta12(angle) PicBox1.Line (dian1x, dian1y)-(dian2x, dian2y), RGB(255, 158, 128) dian1x = xzuo + r12 * Cos(pi / 2 - thta12(angle) dian1y = yzuo + r12 * Sin(pi / 2 - thta12(angle) dian2x = xzuo + r12 * Cos(pi / 2 + pi - thta12(angle) dian2y = yzuo + r12 * Sin(pi / 2 + pi - thta12(angle) PicBox1.Line (dian1x, dian1y)-(dian2x, dian2y), RGB(255, 158, 128) PicBox1.Circle (r9 + r10, -r13 - r12), r13, RGB(255, 158, 128) 齿轮13 PicBox1.Circle (r9 + r10, -r13 - r12), r / 2, RGB(255, 158, 128) xzuo = r9 + r10 yzuo = -r13 - r12 dian1x = xzuo + r13 * Cos(thta13(angle) dian1y = yzuo + r13 * Sin(thta13(angle) dian2x = xzuo + r13 * Cos(pi + thta13(angle) dian2y = yzuo + r13 * Sin(pi + thta13(angle) PicBox1.Line (dian1x, dian1y)-(dian2x, dian2y), RGB(255, 158, 128) dian1x = xzuo + r13 * Cos(pi / 2 + thta13(angle) dian1y = yzuo + r13 * Sin(pi / 2 + thta13(angle) dian2x = xzuo + r13 * Cos(pi / 2 + pi + thta13(angle) dian2y = yzuo + r13 * Sin(pi / 2 + pi + thta13(angle) PicBox1.Line (dian1x, dian1y)-(dian2x, dian2y), RGB(255, 158, 128) Call Draw_Ellipse(-c, 0, qwer * pi / 180, RGB(0, 0, 200) 调用画中心椭圆子程序 Call Draw_Ellipse(Xm1(angle) - c, Ym1(angle), -Fai2(angle) + qwer * pi / 180 - (angle) * pi / 180, RGB(0, 0, 200)End SubPrivate Sub Draw_curve() 加速度,速度,位移图像的输出 Call Calc_curvePicbox2.Scale (-d / 4, maxAA * (1 + d / 2)-(2 * pi + d, minAA * (1 + d / 2) 图画框原点设置 Picbox3.Scale (-d / 4, maxVV * (1 + d / 2)-(2 * pi + d, minVV * (1 + d / 2) Picbox4.Scale (-d / 4, maxSS * (1 + d / 2)-(2 * pi + d, -maxSS * d / 2) For j = 2 To DotNum Picbox2.Line (Xd(j - 1), AAc(j - 1)-(Xd(j), AAc(j), vbRed Picbox3.Line (Xd(j - 1), VV(j - 1)-(Xd(j), VV(j), RGB(255, 158, 128) Picbox4.Line (Xd(j - 1), SS(j - 1)-(Xd(j), SS(j), vbBlue Next jEnd SubFunction Calc_Max(Data(), Nf) 求一组n个数据中的最大值 Max = Data(1) For i = 1 To Nf If Max Data(i) Then Min = Data(i) Next i Calc_Min = MinEnd FunctionPrivate Sub Draw_coord() Picbox2.Line (0, 1.3 * maxAA)-(0, 1.3 * minAA) Picbox2.Line (0, 1.3 * maxAA)-(-d / 10, 1.1 * maxAA) Picbox2.Line (0, 1.3 * maxAA)-(d / 10, 1.1 * maxAA) Picbox2.Line (0, 0)-(2 * pi + 0.8 * d, 0) Picbox2.Line (2 * pi + 0.8 * d, 0)-(2 * pi + 0.5 * d, 40) Picbox2.Line (2 * pi + 0.8 * d, 0)-(2 * pi + 0.5 * d, -40) Picbox2.Circle (0.1, 0), 0 Picbox2.Print 0 Picbox2.Circle (pi * 0.5, 0), 0 Picbox2.Print 0.5 & Picbox2.Circle (pi, 0), 0 Picbox2.Print Picbox2.Line (0, maxAA)-(d / 8, maxAA) Picbox2.Print Fix(kk * maxAA) / kk Picbox2.Line (0, maxAA / 2)-(d / 8, maxAA / 2) Picbox2.Print Fix(kk * maxAA) / kk / 2 Picbox2.Line (0, -maxAA / 2)-(d / 8, -maxAA / 2) Picbox2.Print Fix(-kk * maxAA) / kk / 2 Picbox2.Line (0, -maxAA)-(d / 8, -maxAA) Picbox2.Print (Fix(-kk * maxAA) / kk Picbox2.Circle (0.2, maxAA * (1 + d / 2.2), 0 Picbox2.Print 加速度A(m/s2) Picbox2.Circle (1.9 * pi, -maxAA / 3), 0 Picbox2.Print x(rad) Picbox3.Line (0, 1.3 * maxVV)-(0, 1.3 * minVV) Picbox3.Line (0, 1.3 * maxVV)-(-d / 10, 1.1 * maxVV) Picbox3.Line (0, 1.3 * maxVV)-(d / 10, 1.1 * maxVV) Picbox3.Line (0, 0)-(2 * pi + 0.8 * d, 0) Picbox3.Line (2 * pi + 0.8 * d, 0)-(2 * pi + 0.5 * d, 1.7) Picbox3.Line (2 * pi + 0.8 * d, 0)-(2 * pi + 0.5 * d, -1.8) Picbox3.Circle (0.1, 0), 0 Picbox3.Print 0 Picbox3.Circle (pi * 0.5, 0), 0 Picbox3.Print 0.5 & Picbox3.Circle (pi, 0), 0 Picbox3.Print Picbox3.Line (0, maxVV)-(d / 8, maxVV) Picbox3.Print Fix(kk * maxVV) / kk Picbox3.Line (0, maxVV / 2)-(d / 8, maxVV / 2) Picbox3.Print Fix(kk * maxVV) / kk / 2 Picbox3.Line (0, -maxVV / 2)-(d / 8, -maxVV / 2) Picbox3.Print Fix(-kk * maxVV) / kk / 2 Picbox3.Line (0, -maxVV)-(d / 8, -maxVV) Picbox3.Print Fix(-kk * maxVV) / kk Picbox3.Circle (0.2, maxVV * (1 + d / 2.2), 0 Picbox3.Print 速度V(m/s) Picbox3.Circle (1.9 * pi, -maxVV / 3), 0 Picbox3.Print x(rad) Picbox4.Line (0, 1.3 * maxSS)-(0, -maxSS / 3) Picbox4.Line (0, 1.3 * maxSS)-(-d / 10, 1.18 * maxSS) Picbox4.Line (0, 1.3 * maxSS)-(d / 10, 1.18 * maxSS) Picbox4.Line (0, 0)-(2 * pi + 0.8 * d, 0) Picbox4.Line (2 * pi + 0.8 * d, 0)-(2 * pi + 0.5 * d, 0.06) Picbox4.Line (2 * pi + 0.8 * d, 0)-(2 * pi + 0.5 * d, -0.06) Picbox4.Circle (0.1, 0), 0 Picbox4.Print 0 Picbox4.Circle (pi * 0.5, 0), 0 Picbox4.Print 0.5 & Picbox4.Circle (pi, 0), 0 Picbox4.Print Picbox4.Line (0, maxSS)-(d / 8, maxSS) Picbox4.Print Fix(kk * maxSS) / kk Picbox4.Line (0, 0.75 * maxSS)-(d / 8, 0.75 * maxSS) Picbox4.Print Fix(kk * 0.75 * maxSS) / kk Picbox4.Line (0, maxSS / 2)-(d / 8, maxSS / 2) Picbox4.Print 0 & Fix(kk * maxSS) / kk / 2 Picbox4.Line (0, 0.25 * maxSS)-(d / 8, 0.25 * maxSS) Picbox4.Print 0 & Fix(kk * 0.25 * maxSS) / kk Picbox4.Circle (0.2, maxSS * (1 + d / 2.2), 0 Picbox4.Print 位移S(m) Picbox4.Circle (1.9 * pi, -maxSS / 5), 0 Picbox4.Print x(rad) ii = Int(4000 / (pi * 300) For i = 0 To ii If i 2 Then Picbox2.Line (i * pi / 2, 30)-(i * pi / 2, 0) Picbox2.Print i / 2 & Picbox3.Line (i * pi / 2, 1.5)-(i * pi / 2, 0) Picbox3.Print i / 2 & Picbox4.Line (i * pi / 2, 0.05)-(i * pi / 2, 0) Picbox4.Print i / 2 & Else Picbox2.Line (i * pi / 2, 30)-(i * pi / 2, 0) Picbox3.Line (i * pi / 2, 1.5)-(i * pi / 2, 0) Picbox4.Line (i * pi / 2, 0.05)-(i * pi / 2, 0) End If Next i If angle = 1 Then SSZ(angle) = 0 thta13(angle) = 0 End If txt_thta81.Text = Format$(SSZ(angle) * 180 / pi, .#) txt_wheel.Text = Format$(thta13(angle) * 180 / pi, .#) txt_izong.Text = Format$(izong, .#) txt_stroke.Text = Format$(maxSS * 1000, .#) De = maxSS - Ji / 1000 If angle + Angle1 DotNum Then txt_jtwy.Text = Format$(SS(angle + Angle1 - DotNum) * 1000, .#) Else txt_jtwy.Text = Format$(SS(angle + Angle1) * 1000, .#) End IfEnd SubPrivate Sub cmd1_Click() 参数计算按钮 angle = 1 PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Timer1.Enabled = False cmd2.Caption = 运动模拟 cmd3.Enabled = False cmd4.Enabled = False cmd6.Enabled = True Call Draw_curve Call Draw_coord End SubPrivate Sub cmd2_Click() 运动模拟按钮 If cmd2.Caption = 暂 停 Then Timer1.Enabled = False cmd2.Caption = 继 续 cmd3.Enabled = True cmd4.Enabled = True Else PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Timer1.Enabled = True Call Draw_curve Call Calc_ratio cmd1.Enabled = False cmd2.Caption = 暂 停 cmd3.Enabled = False cmd4.Enabled = False End IfEnd SubPrivate Sub cmd3_Click() 步进功能 If Timer1.Enabled = False Then angle = angle + sd PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Call Draw_mov(angle) Call Draw_curve Call Draw_coord End IfEnd SubPrivate Sub cmd4_Click() 步退功能 If Timer1.Enabled = False Then angle = angle - sd PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Call Draw_mov(angle) Call Draw_curve Call Draw_coord End IfEnd SubPrivate Sub cmd5_Click() 退出按钮 EndEnd SubPrivate Sub cmd6_Click() 初始位置按钮 Timer1.Enabled = False PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls cmd2.Caption = 运动模拟 cmd2.Enabled = True cmd7.Enabled = True cmd3.Enabled = False cmd4.Enabled = False angle = 1 Call Draw_mov(360) Call Draw_coord Call Draw_curveEnd SubPrivate Sub cmd7_Click() Call ReadData ComDialog.CancelError = True On Error GoTo errhandler ComDialog.Filter = DataFile(*.txt)|*.txt|AllFiles(*.*)|*.* ComDialog.ShowSave FileName = ComDialog.FileName If Dir(FileName) Then mark = MsgBox(是否替换原文件!, 1 + 32, 存盘提示) If mark = 2 Then Exit Sub End If FileNo = FreeFile Open FileName For Output As FileNo Print #FileNo, 输入参数, 正向加速度峰值h, 主轴参数p, 加速度曲线参数, 工艺参数x1, 工艺参数x2, 工艺参数x3, 椭圆齿轮长轴a, 椭圆齿轮偏心率k, 传剑轮半径, 接纬提前角, 齿轮9齿数, 齿轮10齿数, 齿轮9,10模数, 齿轮12齿数, 齿轮13齿数, 齿轮12,13模数, 交接冲程, 速度调节参数 Print #FileNo, 数值, ; h; m/s2, ; p, ; c1, ; Txt_x1; , ; Txt_x2; , ; Txt_x3; , ; 2 * a; m, ; k1, ; Radius; m, ; Angle1; , ; z9, ; z10, ; module1; mm, ; z12, ; z13, ; module2; mm, ; Ji; m, ; sd Print #FileNo, Print #FileNo, 输出参数, 放大轮系传动比, 单边总行程, 接纬剑头位移 Print #FileNo, 数值, ; izong, maxSS; m, txt_jtwy; mm Print #FileNo, Print #FileNo, 序号, 非圆齿轮1X方向坐标 , 非圆齿轮1Y方向坐标, 非圆齿轮2X方向坐标 , 非圆齿轮2Y方向坐标, 从动非圆太阳轮摆角 , 剑轮转动角度 For k = 1 To DotNum Print #FileNo, k, feiyuan1(k, 1), feiyuan1(k, 2), Xm1(angle) + feiyuan(k, 1), Ym1(angle) + feiyuan(k, 2), ; SSZ(k) * 180 / pi; , thta13(k) * 180 / pi; Next k Close FileNo Exit Suberrhandler: Exit SubEnd SubPrivate Sub cmd8_Click() If cmd8.Caption = 机构示意图 Then Timer1.Enabled = False PicBox1.Picture = LoadPicture(App.Path & jigoushiyitu.jpg) cmd8.Caption = 隐藏示意图 Else PicBox1.Picture = LoadPicture() PicBox1.Cls cmd8.Caption = 机构示意图 End IfEnd SubPrivate Sub Timer1_Timer() PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls If angle DotNum Then angle = 1 End If Call Draw_mov(angle) Call Draw_coord Call Draw_curve angle = angle + sdEnd SubPrivate Sub VScroll1_a_Change() PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Timer1.Enabled = False txt_a.Text = -1 * VScroll1_a.Value cmd2.Caption = 运动模拟 Call Draw_mov(360) Call Draw_coord Call Draw_curveEnd SubPrivate Sub VScroll1_angle_Change() PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Timer1.Enabled = False txt_angle.Text = -VScroll1_angle.Value cmd2.Caption = 运动模拟 Call Draw_mov(360) Call Draw_coord Call Draw_curveEnd SubPrivate Sub VScroll1_C1_Change() PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Timer1.Enabled = False Txt_C1.Text = -VScroll1_C1.Value / 100 cmd2.Caption = 运动模拟 Call Draw_mov(360) Call Draw_coord Call Draw_curveEnd SubPrivate Sub VScroll1_h_Change() PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Timer1.Enabled = False Txt_h.Text = -VScroll1_h.Value cmd2.Caption = 运动模拟 Call Draw_mov(360) Call Draw_coord Call Draw_curveEnd SubPrivate Sub VScroll1_ji_Change() PicBox1.Cls Picbox2.Cls Picbox3.Cls Picbox4.Cls Timer1.Enabled = False txt_jj.Text = -VScroll1_ji.Value cmd2.Caption = 运动模拟 C
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:非圆齿轮行星轮系引纬机构的反求设计与仿真分析【UG三维图+动画仿真.】【优秀】
链接地址:https://www.renrendoc.com/p-272953.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!