资 源 简 介
ADAMS在机械设计中的应用,清晰完整版分享一下,感谢支持前言为什么要写这本书呢?主要出于以下几个原因。第一个原因,是笔者在近十年给机械学院的研究生上“虚拟样机技术及其应用”这门课程的过程中,一直没有找到自己想要的教材。“虚拟样机技术及其应用”这门课,就其传统意义而言,就是谈 Adams应用的。但是 Adams在许多学科中都有应用,那么在选择教材的内容时,应该选择哪些方面的应用呢?是谈机械振动方面的应用,还是刚柔耦合方面的应用?是汽车设计方面的应用,还是试验设计方面的应用?当然这些知识都是有用的,但是对于学生而言,他们是否会觉得谈这种应用很突然呢?就教学规律本身而言,它讲究知识的前后衔接,要求能够给学生一个合理的符合逻辑体系的知识架构,而不是突然从天而降一个空中楼阁,让人不可拾级而上。所有机械专业的学生都学习过理论力学、机械原理和机械设计,而 Adams对这三个方面均提供了大量的支持,如果从这三门课程开始接着谈 Adams,他们会觉得熟悉而亲切,也便于迅速了解 Adams。可惜的是,笔者没有发现这样的书籍。所以很早,笔者就想从这三门课程着手,来谈 Adams对于这些学科的支持,从而为机械专业的硏究生们接触 Adams提供一个合适的切入点。第二个原因,来自于笔者给机械学院的本科生上“理论力学”和“机械原理”这两门课程中所遇到的困惑。理论力学这门课,逻辑严密,题目千变万化,很多动力学的问题,即便像笔者这样教学多年的人,初次遇见时仍旧感到束手无策。所以教学这么多年以来,笔者一直致力于寻求通用解法,希望使用这种通用解法,能够求解一切理论力学的问题。2003年笔者读博士时,偶然接触到计算多体动力学理论,此时突然发现,笔者所苦苦寻找的通用解法,实际上就是计算多体动力学所采用的基本方法。而基于这种计算多体动力学理论,已经出现了几款专门的仿真软件, Adams就是其中之一。所以笔者迅速转人到 Adams,并开始利用它来求解理论力学的各种问题,结果发现它异常好用。无论多么复杂的动力学问题,只要正确建模, Adams都可以给出相当精确的答案。这一发现让笔者如获至宝,所以在近几年给学生上理论力学这门课时,已经开始有意地在上课期间向学生推荐这款软件,也开始在机械创新设计这门机械学院的选修课中向本科生们讲解这款软件的人门知识。此外,在笔者教授机械原理这门课的过程中,更深刻地感受到该软件对于“机械原理”的重要性。机械原理主要讲机构的设计与分析,但是如果学生对于机构的动作并无感性认识,那么无论是分析还是设计都感到困难。而使用 Adams,可以迅速地对机构进行建模、仿真,之后就可以浏览动画,从而对于机构有非常直观的感性认识。除了做动画以外, Adams对于凸轮机构的设计也很有用处。鉴于以上原因,笔者以为, Adams软件并不需要等到研究生阶段才对学生介绍,而是应该在本科阶段就引入。第三个原因,来自笔者带学生参加全国机械创新设计比赛中的体会。在连续三届带领学生参加全国机械创新设计比赛的过程中,笔者深切地感受到学生们在做设计时的那种无助与茫然。他们不知道方案设计从哪里开始,如何给出一个可行的方案,也不明白所给出的方案到底有没有用,无法对方案进行正确的评估,甚至连选择电机的功率都觉得很费劲。而当好不容易给出一个方案以后,他们也不明白结构设计该如何进行。他们所设计的轴和齿轮,基本上没有经过严格的力学计算。这并非他们不想进行计算,而是因为一旦机构复杂化后,几乎无法进行力学计算。我们在学习“理论力学”的静力学部分时,较为复杂的问题也只有四五根杆件,而且还只是平面结构。而对于我们设计的机械产品,一条传动链上可能就有十几个构件,而且还是空间结构。如何根据执行端的受力,正确推算出传动链上各个构件的受力,这是一个艰巨的任务。此时,所谓的解题技巧已经完全没有用处,而只能使用通用解法,也就是一个物体列出6个方程。如果传动链上有10个物体,这就需要列出60个方程。即便我们正确地列出了60个方程,那么该如何求解这60个方程呢?难道准备用手工计算吗?这令人望而生畏。这还仅仅是静力学问题,对于动力学问题该如何处理呢?难道对每个物体列出刚体平面运动微分方程后,再追加加速度关系吗?这更令人不寒而栗。因此许多学生放弃了计算这条途径,而只能随便给一个数据。对于所给定的这个数据,他们心中一点底都没有。到产品设计、加工、装配出来以后,一旦进行加载试验,才发现作品千疮百孔,到处都是问题,似乎每个地方都可能会发生断裂或者变形过大,学生们对自己的作品毫无信心。笔者在连续经过三次这样的比赛以后,深感计算的重要性,也深感我们的确需要一些称手的工具来帮助我们计算,而非手工计算。所以,像 Adams这种进行机构力学计算的软件几乎变得必不可少。所以,笔者深感在机械专业的高等教育中引人像 Adams这样的仿真软件,已经不仅仅是种时髦,也不是一种噱头。对于机械设计而言,他们就如同空气对于人类一样的重要。传统的手工计算方法无法求解复杂机构,对于复杂机构,几乎只有借助专业软件这一条道路。如果不使用专业软件,我们在大学所学习的许多课程,在实践中将会显得毫无用处。笔者以为,这也是为什么我们所培养的学生,在工作过程中觉得大学课程没有用处的一个重要原因。许多课程,对于所研究的对象做了大幅简化,为了能够给岀解析解,使学生可以做课后作业、进行考试,这些课程只能做一些简单的习题。但是实际问题是复杂的、变化万千的,教材所给出的方法很难在实践中得到应用,这就导致了理论与实践的严重脱节,导致了“读书无用论”的泛滥。鉴于此,笔者感到很有必要写一本关于 Adams的书。在这本书中,谈论如何用它对机械专业基础课程中的问题进行求解,使学生在本科或者研究生学习阶段,就能领会这种方法,从而在日后的工作中,能够有意识地使用专业软件来辅助自己的设计,使自己所学习的知识没有白费,这就是笔者写这本书的主要原因。鉴于以上原因,笔者在本书中主要谈了 Adams在理论力学、机械原理和机械设计这三门课程中的应用。在谈这些应用的时候,笔者以例题为主线来展开讨论,这些例题,绝大部分都来自于上课时使用的教材。这样做的目的,是想告诉学生, Adams就是为解决这种问题服务的。除了谈 Adams在这三门课程中的应用外,为了解决更复杂的问题,笔者也专门开辟出两章,一章谈 Adams对于三维的复杂机构是如何进行仿真的,另一章谈如何进行编程。在机械设计过程中,我们经常需要在三维建模软件中做出装配体,然后导入 Adams中进行动力学分析,以考察结构的受力和运动。笔者发现,许多学生对于这种方式很陌生,在进行模型转换时没有使用正确的方法,结果在把模型导亼 Adams后,发现构件数目众多,给建模和调试带来了相当的困扰。笔者在多年的模型转化过程中,找到了一些经验,希望能够分享这种经验,让学生们或者机械工程师们在遇到这种问题时少走弯路。这就是笔者开辟一章谈Ad-ams对于三维复杂机构进行仿真的原因所在。至于编程那一章,来自于笔者在与许多CAE爱好者交流时他们所提出的困惑。他们发现,有时需要对 adams进行二次开发,但是市面上关于 Adams的书籍,谈 Adams二次开发的不多,有的谈到了,但是并没有给出一道完整的例题。这使得他们必须自己一点点摸索、研究、调试,而在遇到问题以后也没有人讨论,觉得自学起来十分费劲,急需得到有效的指导。此外,笔者也发现,很多CAE爱好者,虽然大学时学习过某种编程语言,但是他们实际上并没有编制过多少实用的程序,所以对于如何编程,本身就很模糊。有鉴于此,笔者专门开辟出一章,以一个折叠机构为例,非常详细地说明了如何用 Adams对之进行编程,并伃细阐释了编程中的几乎所有细节问题,包括变量的定义,编程思路的形成,等等。这是一道十分完整的例题,它来自于笔者带领学生做创新设计比赛时遇到的一个实际问题,笔者希望这种详细的讲解能够让大家进入 Adams编程的大门。因此,这应该是一本密切联系实际的书,它的目的是希望学生在学会书中的知识以后,能够在实际设计中,能在 Adams的帮助下使用自己在大学阶段所学到的专业知识;这是一本充满例题的书:第Ⅰ章就有1道单摆的入门例题,理论力学部分有l道例题,机械原理部分有10道例题,机械设计部分有6道例题,编程部分是1道完整的例题,复杂机构部分有3道例题。希望读者在学习这些例题以后,能够触类旁通,举一反三。这也是一本讲解细致的书,对于所有的例题,我们都做了相当详尽的讲解,包括在建模前的理论分析,建模中的详细说明,以及建模后的讨论与小结,等等。我们这样做的目的,是希望读者不仅仅会操作,而且能深刻理解这种操作的由来,并及时总结经验,从而能够非常清晰地理解知识和软件本身。所以,理论联系实际、大量列举例题、详细说明原理,是本书的三大特色。就总体编排而言,本书分为7章。其中,第3章、第4章和第5章,分别讨论 Adams在理论力学、机械原理和机械设计中的应用,这是本书的核心部分;第6章和第7章,分别谈论 Adams的编程以及它对于复杂机构的仿真,这算是扩展部分;第1章是对于 Adams的入门介绍,它简要地介绍了 Adams的两个核心模块: Adams/View和 Adams/ Post processor的最重要功能及一般使用过程,并以一个单摆为例说明如何使用这两个模块;第2章谈的是 Adams,/View的10种基本使用技术。因为这些技术在后面几章的建模和仿真中使用的频率相当高,为了节省全书篇幅,就在该章中对这些常用技术进行了集中讲解,而到后面几章中用到这些技术时,一带而过,所以这两章是基础。因此,本书是由基础篇(第1,2章)、核心篇(第3,4,5章)和扩展篇(第6,7章)组成的。本书的绝大部分内容由宋少云写作,由尹芳反复修改后最终定稿。在本书的写作过程中,我们得到了许多在校学生以及CAE网友的大力支持,尤其是得到了笔者所带的研究生张凤姣、李小力、侯晶晶、李祖吉、满续文的大力帮助,他们提出了很多建设性的建议和意见,并为本书的校稿付出了很多心血,在此一并感谢。本书中的模型文件,读者可以在国防工业出版社网站(htp:w.ndip.cn)“资源下载”栏目下载。由于时间紧张,本书在撰写过程中难免会有一些错误,读者若有意见和建议,请在百度中搜索“宋博士的博客”(htt://blog.sina.com.cn/doctorsongshaoyun),给我留言。目录2.3.8移动构件………………34第1章绪论2.3.9小结…341.1 Adams软件简介12.4如何建模坐标点……………341.2 Adams/View人门…………2.4.1创建单个的坐标点……341.2.1界面介绍2.4.2创建一批坐标点………351.2.2一般使用方法52.4.3小结……………………361.3 Adams/ Post Processor入门……102.5如何创建转动副和移动副…361.3.1界面介绍……2.5.1创建转动副…361.3.2一般使用方法2.5.2创建移动副371.4实例:单摆…………………142.5.3小结…………………384.1问题描述…142.6如何创建驱动381.4.2理论分析………142.6.1施加常数类型的旋转1.4.3建模……………………14驱动…………………381.4.4仿真………………182.6.2施加函数类型的旋转1.4.5后处理18驱动…381.4.6讨论242.7如何施加力…………422.7.1任务描述………………42第2章使用 Adams/view的十种基本2.7.2操作技术262.8如何使用仿真控制对话框432.1如何建模实体262.9如何创建测量………………452.1.1创建连杆………262.9.1观察结果的四种方法…452.1.2创建凸轮2.9.2测量的种类452.1.3小结2929.3创建对象测量的方法…462.2如何观察模型………302.10如何使用文本框…………482.3如何修改实体312.3.1了解构件的内部表示…31第3章 Adams在理论力学中的应用…512.3.2修改构件的名称……323.1引言…512.3.3修改构件的颜色,,323.2静力学分析………………522.3.4修改构件的可见性………323.2.1简支梁的平衡计算……522.3.5修改构件的透明度333.2.2外伸梁的平衡计算582.3.6激活/休眠构件………333.2.3平面桁架内力的计算…652.3.7删除构件343.2.4空间结构的内力计算…74Ⅶ3.3运动学分析805.2齿轮机构的建模与分析……1863.3.1牛头刨床的运动分析…805.2.1概述………………………1863.3.2凸轮机构的加速度5.2.2斜齿圆柱齿轮机构的建模分析……89与分析…883.3.3纯滚动的建模与仿真…975.2.3直齿锥齿轮机构的建模3.4动力学分析104与分析……………1963.4.1质点系动力学………1045.2.4复合轮系的建模与3.4.2三棱柱的滑动…………111仿真…1993.4.3板上有滚子的动力学5.3链传动的建模与分析205问题…………………1205.3.1概述………………………2053.4.4滑轮组的动力学1275.3.2滚子链传动的运动学建模与仿真207第4章 Adams在机械原理中的5.4带传动的建模与分析213应用1335.4.1概述…………………2134.1引言…………………1335.4.2V带传动的建模与4.2核心机构的建模……………134仿真………2154.2.1四杆机构的建模与5.5滚动轴承的建模与分析225仿真………1345.5.1概述2254.2.2六杆机构的建模与5.5.2滚轴轴承的建模与仿真……………………139仿真2264.2.3小结…………………143第6章 Adams编程入门…………2364.2.4尖底推杆盘形凸轮机构的建模436.1引言……………2364.2.5外啮合圆柱齿轮机构的6.2主要建模命令分析237建模……………1486.2.1任务分析………………2374.2.6齿轮齿条机构的6.2.2主要建模命令237建模……1536.3 Adams/view的逻辑控制语句…2464.3高级建模技术…1576.3.1如何使用循环语句……2464.3.1棘轮机构的建模……1576.3.2如何使用条件语句……2484.3.2槽轮机构的建模……1646.4程序片段的编制……2494.3.3凸轮机构的设计……1676.4.1创建关键点的算法……2494.3.4复杂机构的建模与6.4.2创建连杆的算法………252仿真………………1736.4.3创建滑块的算法…2554.3.5大型模型合并技术……1766.4.4创建转动副的算法……2566.4.5创建移动副的算法……260第5章 Adams在机械设计中的应用6.4.6创建集中力的算法…1846.4.7施加速度驱动的5.1引言…184算法…2616.5创建宏………………2627.2凸轮演示机构的运动学仿真…2756.5.1概述2627.2.1问题描述……………2756.5.2创建折叠机构的宏2627.2.2建模分析………2766.6对话框2647.2.3仿真过程2776.6.1概述2647.3单缸发动机的动力学仿真……2886.6.2创建折叠机构的7.3.1问题描述……………288对话框………………2657.3.2建模分析2896.7定义菜单2707.3.3仿真过程2806.7.1概述…2707.3.4讨论3036.7.2创建折叠机构的7.3.5小结303菜单项…殳计2717.4飞剪机的优化设…………3046.8程序的应用……………………2737.4.1问题描述3047.4.2建模分析305第7章 Adams在机械设计中的综合使用7.4.3仿真过程306275参考文献……3227.1引言…………………………275Ⅸ第1章绪论1.1 Adams软件简介Adams的英文全称是 Automatic Dynamic Analysis of Mechanical System,其对应的中文翻译是“机械系统的自动动力学分析”。从该名称可以看出,该软件用于对机械系统进行动力学分析,而机械系统正是机械专业学生进行设计、分析和制造的对象,所以 Adams主要是为机械类学生服务的一款专业软件。Adams是对机械系统进行动力学分析的,这就意味着它与 AutoCAD,Po/ Engineer,Solid Works等软件的设计目的是不一样的。这些软件的主要目的是为机械设计及机械制造服务的,虽然它们也含有分析功能,但 Adams是专门为动力学分析服务的,其动力学分析功能更全面而强大。所谓动力学分析,是指对于某一个系统,当在它上面加上力和或运动后,经过计算,我们可以得到其上任何一个构件或者某个点的位移、速度、加速度,以及在运动副处(如果有的话)的受力情况。这样,对 Adams而言,它输入的是机械系统,输出的主要是位移,速度,加速度和力四种力学量我们知道,动力学分析是诸如理论力学课程所解决的问题。理论力学中已经花费了大量的篇幅谈论如何用动量定理、动量矩定理、动能定理、达朗贝尔原理以及拉格朗日方程来求解动力学问题,为什么还需要用软件来对动力学问题进行分析呢?实际上,仔细研究理论力学中的问题就可以发现,理论力学所提出的解法看似很完美,但只要机构稍微复杂一点(例如有3~5个构件),手工求解就十分麻烦。而在实际工程中我们面对的构件数目成百上千,手工计算其工作量不可思议。工作量大还只是一个方面,更麻烦的在于有些问题从数学上根本就不可能得到解析解,而只能得到所谓的数值解。在这种情况下,对机械系统进行手工动力学分析就成为一件几乎不可能完成的任务。为了解决这个难题,研究人员提出用计算机求解机械系统的动力学问题,并相应地开发出一些动力学分析软件,比较著名的如 Adams, Recurdyn, Simpack, Nucars, Samcef等。Adams只是其中之一,但也是非常重要的一款,它发展到至今也不过30多年,其创始人是美国的 Michael E. Korybalski1973年, Michael E. Korybalski在美国密西根大学安娜堡分校( University of Michigan,AnArbor)获得机械工程硕士学位后,进入福特汽车公司工作,担任产品工程师。四年后,他与人合作在密执安州安娜堡镇创立了MDI公司( Mechanical Dynamics Inc),到1980年开发出第套3D机构运动分析系统商品化软件,称为 Adams。2002年,MDI公司被 MSC Software公司收购,这样 Adams成为MSC产品线的一个组成部分,更名为MSC. Adams。经过多年的发展,如今 Adams发展成为 Adams2013版,这也是本书所使用的版本。Adams发展至今,其包含的内容已经相当广阔,在其内部包含了很多模块,可以求解的问题也超越了单个学科的范围,而成为一个多学科的仿真软件。下面以 Adams2013为例,对其组成做一个简要介绍。Adams2013中包含一系列模块,按照功能总体上可以分为四类:●基础类。包含4个模块: Adams/view主要用于建模,它是本书中使用最多的一个模块Adams/Solver用于计算,初级用户很少会直接使用它,而是在 Adams/vew中通过一个按钮间接调用该模块; Adams/ Post processor用于进行后处理,本书也会经常使用它; Adams/Insight是专门用于做虚拟试验的一个模块,本书不会涉及它●高级类。包含六个模块: Adams/Controls用于机械一控制系统的联合仿真;Adams/ Durability用于耐久性仿真; Adams/Flex用于创建柔性体; Adams/ Mechatronics用于机电一体化系统的仿真; Adams/Vibration用于振动系统的仿真;Ⅴ iew Flex用于创建柔性体●汽车类。包含七个模块: Adams/Car(汽车模块); Adams/Car Ride(平顺性分析模块);Adams/Car Truck(卡车模块); Adams/(has专业底盘模块); Adams/ riverine(传动系统模块);Adams /SmartDriver(高级驾驶员模块); Adams/ire(轮胎模块)。这些模块主要用于汽车设计中。●机械类。 Adams^. Machinery(机械模块),里面包含了对齿轮机构、带传动、链传动、轴承的建模和仿真,这主要是为通用机械设计而提供的一个模块。本书会专门开辟一章介绍其中的内容。下面将主要介绍 Adams的基础类中的两个模块: Adams/View和 Adams/ PostProcessor,它们是我们在实际仿真中用的最多的两个模块,本书的绝大部分任务都是在这两个模块中解决的。12 Adams/view入门Adams/view是 Adams系列产品的核心模块之一,主要用于机械系统的建模。本节介绍两个内容: Adams /view的界面以及 Adams/View的一般使用方法。1.21界面介绍从 Windows的【启动菜单】→【所有程序】→【 MSC Software】【 Adams2013】→【view】→【 Adams-view】进入 Adams/view的欢迎界面(图1-1)。可以看到,该欢迎界面有三个选项● New model(新模型):用于创建一个新的模型。● Existing Model(现存的模型):用于打开一个现有的模型。Exit(退出):退出 Adams/view。这里选择 New Model创建一个新模型,接着弹出了一个 Create New Model(创建新模型)的对话框(图1-2)。该对话框主要用于确定新模型的最基本属性。① Model namer(模型名)。指定该新模型的名称,请使用英文或者汉语拼音,而不要使用中文字符。② Gravity(重力)。用于指定是否需要考虑重力,以及重力的方向。运动学分析不需要考虑重力;动力学分析一般需要考虑重力;而对于静力学分析,基于问题的性质,会有选择性的考虑是否需要重力。对于该项,也可以在进入 Adams,/vew的主界面后再通过主菜单进行设置。③ Units(单位)。主要用于确定模型的长度、质量、力、时间、角度的单位。对于机械产品而言,长度通常为mm,有时候为m。对于该项,同样也可以在进入 Adams/View的主界面后,通过主菜单进行设置。