您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页圆柱螺旋弹簧的参数化设计及分析_张涛

圆柱螺旋弹簧的参数化设计及分析_张涛

来源:五一七教育网


中图分类号:TH135+.1 学校代码:10216 UDC:621.9 密 级:公开

工学硕士学位论文

圆柱螺旋弹簧的参数化设计及分析

硕士研究生:张 涛 导

师:黄 文 副教授

申请学位:工学硕士 学科专业:机械设计及理论 所 在 单 位:机械工程学院 答 辩 日 期:2012年5月 授予学位单位:燕山大学

A Dissertation in Mechanical Design and Theory

PARAMETRIC DESIGN AND ANALYSIS OF CYLINDRICAL HELICAL SPRINGS

by Zhang Tao

Supervisor: Associate Professor Huang Wen

Yanshan University

2012.05

燕山大学硕士学位论文原创性声明

本人郑重声明:此处所提交的硕士学位论文《圆柱螺旋弹簧的参数化设计及分析》,是本人在导师指导下,在燕山大学攻读硕士学位期间进行研究工作所取得的成果。论文中除已注明部分外不包含他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。

作者签字: 日期: 年 月 日

燕山大学硕士学位论文使用授权书

《圆柱螺旋弹簧的参数化设计及分析》系本人在燕山大学攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归燕山大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全了解燕山大学关于保存、使用学位论文的规定,同意学校保留并向有关部门送交论文的复印件和电子版本,允许论文被查阅和借阅。本人授权燕山大学,可以采用影印、缩印或其它复制手段保存论文,可以公布论文的全部或部分内容。

保密□,在 年解密后适用本授权书。 本学位论文属于

不保密□。 (请在以上相应方框内打“√”)

作者签名: 日期: 年 月 日

导师签名: 日期: 年 月 日

摘 要

弹簧是重要的机械零件之一,作为一种具有弹力的机械元件,它广泛用于各种机电装置中。随着机械技术的进步,弹簧的种类越来越多,对弹簧的要求也越来越高。传统的弹簧设计理论已经不能满足竞争日益激烈的弹簧工业发展的需要。随着计算机技术、计算机辅助设计技术、优化技术和有限元分析技术的进步,这些现代设计方法已经在弹簧的设计实践中获得越来越多的应用。

本文以圆柱螺旋弹簧为研究对象,基于MATLAB、Pro/toolkit和APDL语言对弹簧进行了优化设计、参数化建模及参数化有限元分析。

首先,介绍了优化设计理论及圆柱螺旋弹簧的优化设计方法,建立了优化设计数学模型,并借助MATLAB的优化工具箱和图形用户界面开发环境GUIDE创建了圆柱螺旋弹簧的优化设计系统,实现了圆柱螺旋弹簧优化设计的高效、便捷化。

其次,研究了利用Pro/Toolkit程序开发技术进行Pro/E二次开发的通用方法,应用参数化建模方法及Program技术创建弹簧模型。利用Pro/Toolkit,借助Visual C++集成环境,开发了参数驱动程序,实现了弹簧的参数化建模,提高了弹簧模型的建模效率。

最后,介绍了ANSYS二次开发技术。用ANSYS的内部命令和APDL语言以及参数化技术建立了弹簧的有限元模型,运用ANSYS的二次开发技术实现了弹簧的参数化分析。使得采用有限元分析分析弹簧的建模、计算工作简单、方便、快捷。

本文的研究工作实现了圆柱螺旋弹簧的优化设计、参数化建模及分析,对现代设计方法在弹簧设计中的应用和普及具有重要意义。

关键词:弹簧;优化设计;参数化设计;有限元法;Pro/toolkit;APDL

I

Abstract

Spring is one of the important mechanical parts,as an elastic component, it is widely used in all kinds of mechanical and electrical devices. With the advancing of mechanical technology, new types of springs have been emerging, and the requirements towards springs have been becoming severed. The traditional spring design theory can no longer meet the demands of the spring industry that is developing in a increasingly intense competition. With the progress of computer technology, Many modern design methods such as CAD, optimal design technology and finite element analysis technology are applied widely in the pratical design of springs.

In this paper, cylindrical helical springs is taken as the research object.Based on MATLAB and Pro/toolkit and APDL, the optimal design and parameterized modeling and FEM analysis of the springs are implemented.

First of all, the theory of optimal design was introduced and the optimal design method of the cylindrical helical spring was analyzed in this paper, established the mathematical model of optimum design. An optimization design system of the cylindrical coil spring was created with the optimization toolbox of MATLAB and GUIDE, which can optimize the spring design parameters efficiently.

Secondly, the method of procedure development technology to carry on secondary development in Pro/E using Pro/Toolkit was studied in this paper. By applying the parameterized modeling method and program technology to aims to create spring models. The parameters driver was developed under Visual C++ development environment to realize parametric modeling of the spring so as to improve the spring modeling efficiency.

Finally, the secondary development technique of ANSYS was analyzed. By the usage of ANSYS internal command and APDL language as well as parametric technology, the finite element model of the springs was established, and the parameter FEM analysis of springs was relized. This made it to be convenient and efficient to establish the springs FEM models and perform FEM analysis of springs .

II

The study of this paper realized optimal design, parametric modeling and analysis of springs, it is important and meaningful to the application and popularity of modern design methods in the aspect of the spring design and analysis.

Keywords: Spring; Optimal design; Parametric design; Finite element method;

Pro/Toolkit; APDL

III

目 录

摘 要 ................................................................................................................................... I ABSTRACT ........................................................................................................................ II 第1章 绪论 ........................................................................................................................ 1 1.1 引言 ........................................................................................................................... 1 1.2 国内外弹簧技术的现状与发展 ............................................................................... 2 1.3 弹簧技术的发展趋势 ............................................................................................... 4 1.4 课题研究意义及内容 ............................................................................................... 5 1.4.1 课题研究意义 .................................................................................................... 5 1.4.2 课题研究内容 .................................................................................................... 6 第2章 弹簧设计基本理论 ................................................................................................ 7 2.1 弹簧的基本性能 ....................................................................................................... 7 2.1.1 弹簧的特性线和刚度 ........................................................................................ 7 2.1.2 弹簧的变形能 .................................................................................................... 9 2.1.3 弹簧的自振频率 .............................................................................................. 11 2.2 弹簧的分类 ............................................................................................................. 12 2.2.1 按结构形状分类 .............................................................................................. 12 2.2.2 按其他方法分类 .............................................................................................. 13 2.3 圆柱螺旋弹簧分析 ................................................................................................. 14 2.3.1 圆柱螺旋弹簧的受力分析 .............................................................................. 14 2.3.2 圆柱螺旋弹簧的应力分析 .............................................................................. 15 2.4 本章小结 ................................................................................................................. 17 第3章 圆柱螺旋弹簧优化设计 ...................................................................................... 18 3.1 优化设计概述 ......................................................................................................... 18 3.2 基于MATLAB的优化设计 .................................................................................. 19 3.2.1 MATLAB简介 .................................................................................................. 19 3.2.2 优化工具箱 ...................................................................................................... 19 3.3 圆柱弹簧结构参数的优化设计 ............................................................................. 21 3.3.1 设置初始设计控制参数 .................................................................................. 21 3.3.2 相关设计公式 .................................................................................................. 21 3.3.3 约束条件 .......................................................................................................... 22 3.3.4 目标函数 .......................................................................................................... 24 3.3.5 端部对弹簧刚度的影响 .................................................................................. 24 3.4 建立优化设计用户界面及结果分析 ..................................................................... 25 

V

3.4.1 建立MATLAB M文件 ................................................................................ 25 3.4.2 建立MATLAB用户界面 ................................................................................ 26 3.4.3 优化结果分析 .................................................................................................. 28 3.5 本章小结 ................................................................................................................. 29 第4章 基于Pro/E的弹簧参数化设计 ........................................................................... 30 4.1 Pro/E 简介............................................................................................................... 30 4.2 Pro/TOOKIT概述 ................................................................................................... 31 4.3 Pro/TOOLKIT程序开发步骤 ................................................................................. 31 4.3.1 确定运行模式 .................................................................................................. 32 4.3.2 设计菜单并编写信息文件 .............................................................................. 33 4.3.3 新建项目和设置开发开发环境 ...................................................................... 34 4.3.4 添加头文件和源程序代码 .............................................................................. 35 4.3.5 注册文件及程序运行 ...................................................................................... 36 4.4 三维参数化建模程序设计 ..................................................................................... 37 4.4.1 基本原理 .......................................................................................................... 37 4.4.2 三维模型样板的建立 ...................................................................................... 37 4.4.3 Pro/TOOLKIT界面设计 .................................................................................. 38 4.5 弹簧三维模型参数化设计 ..................................................................................... 39 4.5.1 建立三维模型样板 .......................................................................................... 39 4.5.2 编写资源文件和注册文件 .............................................................................. 40 4.5.3 弹簧参数化建模的实现 .................................................................................. 41 4.6 本章小结 ................................................................................................................. 48 第5章 基于APDL的弹簧有限元分析.......................................................................... 49 5.1 ANSYS软件简介 .................................................................................................... 49 5.1.1 ANSYS概述 ..................................................................................................... 49 5.1.2 ANSYS二次开发的必要性 ............................................................................. 50 5.1.3 APDL简介 ........................................................................................................ 50 5.2 基于APDL的弹簧参数化建模 ............................................................................ 51 5.2.1 建模原理 .......................................................................................................... 52 5.2.2 参数化建模APDL程序开发.......................................................................... 52 5.3 弹簧参数化模块的建立 ......................................................................................... 57 5.4 弹簧的参数化分析过程 ......................................................................................... 59 5.4.1 前处理 .............................................................................................................. 59 5.4.2 载荷和约束处理 .............................................................................................. 60 5.4.3 后处理 .............................................................................................................. 62 

VI

5.5 参数化分析实例 ..................................................................................................... 63 5.6 弹簧模态分析 ......................................................................................................... 63 5.7 本章小结 ................................................................................................................. 65 结 论 ................................................................................................................................ 69 参考文献 ............................................................................................................................ 70 致 谢 ................................................................................................................................ 75 作者简介 ............................................................................................................................ 76 

VII

第1章 绪论

1.1 引言

弹簧是一种利用弹性来工作的机械零件,它利用自身材料的弹性和自身结构的特点,在工作时产生变形,把机械功或动能转变为变形能,或把变形能转变为机械功或动能[1]。由于上述特性,弹簧广泛应用于缓冲或减震、机械储能、控制运动和测力装置等。此外,在仪表、机械设备、日用电器以及很多生活器具上也都使用着多种多样的弹性元件,例如,用于轴上定位用的卡环,用于螺母防松的弹簧垫圈,用于玩具的发条等[2]。在机电产品中,弹簧种类繁多,按照使用场所,主要有以下类型:

(1)用于汽车、摩托车、柴油机和汽油机的弹簧。这类弹簧有气门弹簧、悬架弹簧、减震弹簧以及离合器弹簧等。这类弹簧的用量很大,约占弹簧生产量的50%左右[1,3]。对这类弹簧的技术要求也高,可以说一个国家这类弹簧的技术水平代表了其弹簧技术的水平。这类弹簧主要是向轻量化、高疲劳寿命和高抗松弛方向发展。

(2)用于铁道机车车辆、载重汽车和工程机械的弹簧。这些弹簧都是以热卷成型为主要制造方式制造的。此类弹簧的生产是弹簧制造业的一个重要方面。随着高速铁道的发展,车辆减震系统技术不断升级,作为车辆悬架主要元件的热成型弹簧的技术也不断地提高。这类弹簧主要向高强度和高精度方向发展。

(3)用于仪器仪表的电子电器弹簧。典型产品如电动机电刷弹簧、开关弹簧、摄像机和照相机弹簧,以及计算机配件弹簧、仪器仪表配件弹簧等[4]。在这类弹簧中片弹簧、异性弹簧占较大的比例。不同产品对弹簧材质和技术要求差别较大。这类弹簧主要向着高强度化、小型化的方向发展。

(4)用于日用机械和电器的五金弹簧。如用于床垫、沙发、门铰链、玩具、打火机等的弹簧。这类弹簧需求量较大,但技术含量不高,这类弹簧主要是向小型化方向发展。

(5)用于满足特殊需要的特种弹簧。如纺织机械用摇架弹簧,要求有高的抗松弛性能;钢包滑水口用弹簧,要求有高的耐热性;矿山振动筛用橡胶金属复合悬架弹簧,不但要求有高的疲劳性能,而且要求有高的抗腐蚀性;为了提高车辆行驶时的

1

稳定性所采用的空气弹簧等。

在国民经济的整个制造业当中,弹簧行业虽然是一个小行业,但其所起的作用是绝对不能低估的。可以这样说,弹簧行业是我们整个国家工业经济中十分重要的基础工业。在电器、航空航天、汽车、电子、铁路、能源及其他机电设备中,弹簧都是不可或缺的机械零件[5-7]。这些行业的发展极大促进了弹簧工业的发展,反过来,弹簧产品的更新换代,品种规模的扩大、质量水平的提高也为这些行业的快速发展提供了有力的支持。

1.2 国内外弹簧技术的发展与现状

弹簧技术主要包括弹簧设计理论、弹簧制造技术和弹簧材料技术[8,9]。 对螺旋弹簧的理论研究开始于十九世纪中叶。Thompson等在二十世纪初就已经对螺旋弹簧理论作了深入研究[1]。长期以来,广泛应用的弹簧应力和变形的计算公式是根据材料力学推导出来的,这些公式是在一定的假设条件下推导出来的,加之影响弹簧性能的参数有多个,如果没有一定的实际设计经验,设计和制造高精度的弹簧难度较大。螺旋弹簧的设计多是采用试算的方法,在确定许用应力的情况下选取一系列簧丝进行计算和校验,直到最后获得近似解。采用试算法计算的结果一般比较保守,材料的机械性能得不到充分发挥,且计算颇为繁琐。随着机械技术的进步,对弹簧的要求也越来越高,以往的很多经验不再适用,必须采用精确的设计技术。在此背景下,以疲劳与断裂设计理论、抗松弛设计理论、优化设计理论、可靠性设计理论、有限元设计方法为代表的现代设计理论和方法在弹簧设计中也逐渐得到推广应用[10-13]。伴随着设计理论的进步,特殊性能的新型弹簧也不断得到创新和发明。

车辆悬架弹簧是应用最多的弹簧之一,对此种弹簧的要求是除足够的疲劳寿命外,其永久变形要小,即抗松弛性能要在规定的范围内,否则由于弹簧的不同变形,将发生车身重心偏移。同时,还要考虑环境腐蚀对其疲劳寿命的影响[14-17]。随着车辆保养期的增大,对永久变形和疲劳寿命都提出了更严格的要求。为此,疲劳与断裂设计理论、抗松弛设计理论、优化设计理论、可靠性设计理论、有限元设计方法等高精度的设计方法在国外获得了广泛的应用[12]。基于有限元法精确解析弹簧中的应力和变形,以此为基础可以详细预测弹簧疲劳寿命和永久变形。

在进行弹簧设计时,一般需要根据工况中最大工作载荷、最大变形等设计要求

2

来计算弹簧丝直径、弹簧中径、弹簧工作圈数、弹簧高度等参数。因为影响弹簧性能的参数有多个,在弹簧的设计中较早引进了优化设计[18,19]。弹簧的结构较为简单,功能单纯,影响结构和性能的参变量较之复杂问题少,所以设计者很早就运用解析法、图解法或图解分析法寻求最优设计方案,并取得了一定成效。随着计算机技术的发展,利用计算机进行非线性规划的优化设计取得了成效。在国内外编制出各种版本的弹簧优化设计程序,提高了弹簧设计质量。应用设计程序完成了设计难度较大的弧形离合器弹簧和鼓形悬架弹簧的开发等。 国外在上世纪六十年代就已开始这方面的工作,国内在八十年代初开始这方面的工作。目前国内外外己经开展了压缩弹簧、碟形弹簧、波形弹簧、板弹簧、片弹簧等不同类型弹簧的优化设计工作。

数控绕簧机的出现和有限元法在弹簧设计中的应用使得复杂的的弹簧的设计和制造成为了可能。近些年来,数控制造技术的进步和汽车工业的快速发展推动了弹簧产品开发技术的进步,在螺旋弹簧的理论研究及其加工技术工艺方面取得了非常大的发展。随着工业的发展,新型弹簧不断地涌现,变节距、变刚度、变线径的弹簧已经开始使用。应用有限元法对弹簧进行设计已经进入实用化阶段,在这方面出现了不少有实用价值的报告,如用有限元法计算的应力和疲劳寿命的关系;螺旋角对弹簧应力的影响等。弹簧的有限元分析方法[17],在弹簧技术水平较高的国家已得到广泛的应用,我国虽有这方面的尝试,但应用不广。

弹簧材料技术是弹簧技术的重要方面。随着技术的进步,弹簧材料的质量不断提高,种类从黑色金属材料、有色金属材料到非金属材料不断增加。应用最多的金属弹簧钢丝的许用应力不断提高,使得弹簧向轻量化发展成为可能。

我国的弹簧工业及弹簧技术的现状。和先进工业化国家相比,我国弹簧行业总体技术水平要落后30年,个别企业落后10年左右。主要表现在以下几个方面:

(1)设计方面。依然停留在以经验和校核计算为主的静设计阶段,优化设计,可靠性设计,基于有限元法的设计不普及。基础研究不足,进行现代设计所需的材料疲劳特性、应力松弛特性、弹簧可靠性特性等基础数据缺乏。

(2)弹簧材料。碳素和合金钢材料质量差,品种少,规格不全。出厂原材料未剥皮和探伤,表面和内部缺陷严重,抗拉强度波动大,严重影响弹簧质量。弹簧原材料的质量问题已影响我国弹簧行业的发展,我们迫切需要提高质量,发展品种,创出名牌,满足行业需要,替代进口。解决弹簧材料质量问题除继续从化学成分方面

3

着手外,主要应设法降低非金属夹杂物和控制表面质量及尺寸精度。对于弹簧材料的主要要求是:在高应力下工作的弹簧应有高的疲劳寿命和良好的抗松弛性,根据不同的用途,有的场合,还应具有耐腐蚀性、非磁性、导电性、耐磨性、耐热性等。

(3)弹簧产品。弹簧产品品种不全,多为结构简单、易于成形、用量大的一些低技术含量产品,结构复杂的高精尖技术产品只有少数厂家有能力生产,且产量远远不足以满足市场需求。产品性能方面与国外同类产品也有一定差距,如弹簧的负荷精度、垂直度精度等方面都有不少的差距,集中反应在性能不稳定,有些重要质量指标离散性大,使用寿命不稳定。特别是当主机要求弹簧在高速、高应力工况下工作时,问题更为突出。

(4)制造技术。制造技术直接影响弹簧质量。目前,我国弹簧行业技术人员比例过低,工人技术水平偏低。企业应更大幅度地增加技术人员比例和数量,加强工人上岗培训,提高工人技术水平,加强科研人员力量。

(5)弹簧设备。我国弹簧行业的多数厂家所用的制造设备都比较落后,特别是检测和试验设备,目前国内产品精度达不到要求,且品种不全,不能满足需求,高精度设备需要从国外进口。

1.3 弹簧技术的发展趋势

今后弹簧的发展方向应是高强度、高寿命、高可靠性、轻量化、小型化、异形化、组合型化。弹簧新产品的研究、开发将得到不断加强,继续扩大弹簧产品的品种和规格以满足日益增长的需要。高性能弹簧材料的开发,现代设计理论和方法在弹簧设计中的普及,弹簧的加工设备和弹簧加工生产线的NC、CNC化,是需要解决的关键问题。这也是弹簧技术发展的要求。

汽车工业的发展对弹簧产品种类扩大和技术进步有很大的推动作用,粗略估计中国汽车工业对悬架弹簧的年需求量约为800万件,气门弹簧年需求量约3000万件(不包括摩托车和柴油机)。由于环境保护的要求,这两种弹簧的发展趋势总体上是向轻量化(高应力),高可靠度方向发展[20-24]。悬架弹簧设计应力将普遍大于1100Mpa,高的可达1200Mpa,甚至超过此值,气门弹簧最大工作应力普遍在900Mpa左右。在可靠度方面主机厂要求按照威布尔分布曲线,达到预计寿命的概率在90%以上。高应力和高可靠度的要求对弹簧的生产方式将产生很大的影响。

在原材料方面,气门弹簧材料将会使用高强度(σb≥2000Mpa)的超纯净材料,悬

4

架弹簧的设计应力大于1200Mpa,现有材料已经难以胜任,需要研制新材料。

为了提高弹簧的疲劳寿命,多次喷丸技术将普遍应用。在检测方而除100%负荷检测外,在线探伤、X射线应力测定及盐雾疲劳模拟工况的疲劳实验,将成为企业必备的检测手段。对于目前出现的异形截面悬架弹簧和气门弹簧,从轻量化,节省空间,提高减振性和改善弹簧应力和分布看,比圆截面弹簧更为合理,但是这类弹簧材料价格高,弹簧制造工艺复杂,使得弹簧生产成本要高于圆截面弹簧,目前还看不出异形截面弹簧要完全取代圆截面弹簧的迹象,预计在今后一段时间内悬架弹簧圆截面和变截面之比大致为3:1,气门弹簧圆截面和非圆截面之比大致为7:3。

以CAD和CAE为代表的现代设计方法在弹簧设计中的应用的扩大。在我国具有的轿车设计知识产权之后,弹簧企业为参与为主机厂设计各种弹簧,将需要使用能与主机厂联网的各种不同的CAD软件以及CAE分析软件,在产品的设计方面广泛采用现代设计方法以提高产品的竞争力。

1.4 课题研究意义及内容

1.4.1 课题研究意义

随着CAD技术应用领域的不断扩大和应用水平的不断提高,用户对CAD系统的要求也日益增加,许多CAD软件已不能充分满足用户的需求,即使某些专业的CAD软件如Pro/E、UG、SolidWorks、MASTERCAM等也不例外。它们都是商品化的通用平台,基本覆盖了整个制造行业,但由于缺乏专业针对性,不能满足各种具体产品的设计需要,更不会过多关注某种具体机械产品的细节性、特殊性问题,所以也就不具备与特定产品、特定企业密切相关的一些功能[25-27]。在实际的工程设计中难以达到理想的效果。因此,必须针对具体情况和特点,进行软件的二次开发,即实现将商品化、通用化的CAD系统用户化和本地化。通过对软件平台的二次开发,使其对弹簧产品设计功能具有针对性,提高弹簧产品的设计效率。在通用CAD基础上融入专业知识开发专用CAD设计系统是当前深化CAD应用的潮流。利用参数化设计手段开发专用产品设计系统,能够使设计人员脱离大量繁重而琐碎的绘图工作,大大提高其设计效率,缩短产品设计周期[28-30]。

本课题研究螺旋弹簧的二次开发方法,具有一定的理论意义和应用价值,对其它特定产品的参数化设计也具有一定的参考价值。螺旋弹簧参数化设计系统对提高螺旋弹簧产品的设计质量和效率具有积极意义。

5

1.4.2 课题研究内容

本文对螺旋弹簧这一极为常用的工程元件进行了综合阐述,并在此基础上针对对通用CAD设计平台进行了二次开发,具体包括以下内容。

(1)研究MATLAB优化工具箱、GUI人机对话界面的设计,螺旋弹簧设计参数进行的优化,创建弹簧优化设计系统;

(2)研究Pro/E二次开发方法及接口技术,总结应用Pro/Toolkit工具进行二次开发的基本步骤,包括编写资源文件、环境配置及程序的编写,注册和运行等;

(3)在Pro/E环境下,应用参数化建模技术,开发建立螺旋弹簧交互设计界面; (4)在深入学习面向对象技术、参数化技术和有限元分析技术的基础上,利用ANSYS参数化设计语言APDL编写螺旋弹簧参数化模型分析的宏命令,实现对弹簧的参数化静动力分析。

6

第2章 弹簧设计基本理论

2.1 弹簧的基本性能

在进行弹簧设计时,弹簧的以下几方面的基本工作性能必须考虑:弹簧特性曲线,即载荷和变形的关系曲线;弹簧变形能;弹簧自振频率。针对这些性能简单介绍如下。

2.1.1 弹簧的特性线和刚度

载荷F(或T)与变形f(或φ)之间的关系曲线称为弹簧的特性线。弹簧的特性线大致有三种类型:直线型、渐增型、渐减型。有些弹簧的特性曲线可以是以上两种或三种类型的组合,称为组合型特性曲线。如截锥蜗卷弹簧的特性线(图2-1),加载起始端为直线型,当弹簧变形达到一定程度后,其特性线便成为渐增型;蝶形弹簧的特性线(图2-2),加载起始部分为渐减型,后面部分变为渐增型,它的特性线整体上呈S形;环形弹簧的特性线(图2-3)其加载时呈直线型,当卸载时呈渐增型。当采用组合弹簧时,其特性曲线也可以为组合型的特性线。如一组合弹簧由两个高度不同的螺旋弹簧并列组成,它的特性线如图2-4所示。在开始加载时只有较高的螺旋弹簧承受载荷,故其特性线起始段为第一个承受载荷弹簧的特性线。当变形达到一定程度,另一个弹簧也开始承受载荷,这时的特性线开始转变为两个弹簧同时受载的特性线,因而其斜率发生了变化。

图2-1 截锥涡卷弹簧特性线

图2-2 蝶形弹簧特性线

7

图2-3 环形弹簧特性线

图2-4 组合弹簧特性线

载荷增量Df(或dT)与变形增量df(或dφ)之比,即产生单位变形所需的载荷,称为弹簧的刚度。

对于压缩和拉伸弹簧的刚度为:

F′=

对于扭转弹簧的刚度为:

T′=

dT

(2-2) dϕdF

(2-1) df

特性线为渐增型的弹簧,刚度随着载荷的增加而增大;而渐减型的弹簧,刚度随着载荷的增加而减小。至于直线型的弹簧,刚度则不随载荷的变化而变化,即

F′=

dFF

==常数 (2-3) dff

T′=

dTT

==常数 (2-4) dϕϕ因此,若弹簧的特性线呈直线型,其刚度称为弹簧常数。

当选择或设计弹簧的类型时,弹簧特性线起着指导性的作用。由图2-1所示截锥蜗卷弹簧特性线,可以看到当弹簧承受的载荷达到一定时,弹簧的刚度迅速增加。由于这种特性,当蜗卷弹簧受承受过大载荷时,其变形增加的比较小,起到保护弹簧的作用。因此,若弹簧的特性线为这种类型,可用于载荷大、空间小的情况。车辆悬架装置理想状态的特性线呈S形,如图2-2所示。这种S形特性线的中间部分的刚度较低,而在压缩和拉伸行程的区段刚度逐渐增加。这样,就可以使车辆在正

8

常道路上运行时很柔软,而在通过崎岖的路面时,弹簧变形较大时,逐渐变硬,从而能达到控制车体振幅的目的。又如图2-3所示板弹簧或是环形压缩弹簧的特性线,表明弹簧在加载、卸载过程中吸收了一部分能量。因此,具有这类特性线的弹簧,适用于减震和缓冲。

当设计弹簧时,可用分析的方法计算出它们的特性线。然而,即使是通过最精确和最仔细的计算,其结果与实际的数值相比总是存在差异。这是由于弹簧在加工过程中不可避免的存在一定的工艺误差,以及弹簧材料组织不均匀性造成的。所以,在进行设计时,需要反复修改和校验弹簧相关尺寸,反复试验以保证达到特性线的要求。

当要设计的弹簧特性线为非线性特性线时,有的要考虑静变形。如图2-5所示,静变形是指过特性线上任意一点a,作其切线与横轴相交,其切点a点在横坐标轴上投影的距离即变形量fs,称为切点a对应载荷Fs的静变形。

图2-5 弹簧静变形示意图

2.1.2 弹簧的变形能

当设计缓冲或隔振弹簧时,弹簧的变形能,也就是在受载荷后所能吸收和积蓄的能量,应该进行计算。 

如图2-6所示载荷变形图,其变形能对拉伸和压缩弹簧为[1]2 

U=∫F(f)df (2-5)

0f

对扭转弹簧为

U=∫T(ϕ)dϕ (2-6)

0

ϕ就是图中划垂直线阴影部的面积。

9

图2-6 具有能量消耗弹簧的变形能

当特性线为直线时,则 

FfF′f2

U== (2-7)

22TϕT′ϕ2

U==

22 (2-8)

另外,变形能的另一表示形式为最大工作应力τ或σ和弹簧材料体积V的方程,即 

Vτ2

U=k (2-9)

GVσ2

(2-10) U=kE

式中 G——切变模量(MPa); 

 E——弹性模量(MPa); k——比例系数。 

从公式(2-7)或式(2-8)中看出,弹簧的变形能与模量G和E存在反比例关系,所以,如果要求弹簧的变形能大,应该选择模量小的材料。在应力水平一定时,从公式(2-9)中可以看出,应力以平方的形式存在,在选择弹簧材料时,应力起着至关重要的作用。因此在弹簧设计时,可提高弹簧材料的体积或者应力,或者同时提高材料体积和应力可以获得大的变形能。 

当加载的特性线和卸载的特性线不重合时,如图2-6所示,两条特性线所包围的面积就是弹簧在工作过程中由于摩擦和内耗所消耗的能量U0。包围的面积值越大,

10

就说明此弹簧的缓冲和减震能力越强。U0与U的比称为弹簧的阻尼系数ψ[1]4,即 

ψ=k

U0

(2-11) U

评定缓冲弹簧系统效能的指标为缓冲效率η,其计算式为[1]4 

12mv

η=2 (2-12)

Fmaxfmax

式中 Fmax——最大冲击载荷(N);

fmax——缓冲系统的最大变形(mm); m——冲击物体的质量(kg);

v——冲击物体与弹簧系统接触时的速度(m/s)。

最理想的情况是缓冲效率的值为1,但是若弹簧缓冲系统的特性线为线性,弹簧的刚度就是一个定值,η最大值为1/2。若是粘弹性缓冲系统,如橡胶缓冲系统,其缓冲效率要高一些。

2.1.3 弹簧的自振频率

当弹簧受到高频振动载荷的作用时,为了检验这种受迫振动对弹簧系统的影响,需要计算弹簧系统的自振频率。弹簧振动示意图如图2-7所示。

a)

图2-7 弹簧振动示意图

b)

弹簧自振频率ν可用式(2-13)表示:

ν=

11

F′ (2-13) me

式中 F′——弹簧的刚度(N/mm);

me——当量质量(kg),它是整个弹簧系统质量的综合值,如图2-7所示弹簧系统,其中me= m+ξms,ξ为质量转化系数,与弹簧类型有关,图2-7a)情况ξ=0.33,图2-7b)情况ξ=0.23。

2.2 弹簧的分类

2.2.1 按结构形状分类

2.2.1.1 圆柱螺旋弹簧

(1)圆截面材料压缩弹簧。其特性线呈线性,结构简单,制造方便,应用最广。 (2)矩形截面材料压缩弹簧。在所占空间相同时,矩形截面材料比圆截面材料能吸收的能量多,刚度变化很小。

(3)扁截面材料压缩弹簧。这种弹簧的性能与矩形截面压缩弹簧相同,但其疲劳性能和加工工艺性优于矩形截面压缩弹簧。

(4)不等节距圆柱螺旋弹簧。其特性线在开始压缩过程中呈线性,当弹簧压缩到一定程度,簧圈接触开始后,其特性线由线性变为非线性,刚度及自振频率也随之改变,有助于消除或缓和共振对弹簧的影响,可用于支承高速变载结构。

(5)多股螺旋弹簧。当载荷大到一定程度后,特性线出现折点。比相同截面材料的普通螺旋弹簧强度高,减振作用大。在武器和航空发动机中常有使用。

(6)圆柱螺旋拉伸弹簧。用于承受拉伸载荷的场合。 (7)圆柱螺旋扭转弹簧。主要用于各种装置中的压紧和储能。 2.2.1.2 非圆柱螺旋弹簧

非圆柱螺旋弹簧包括以下几种弹簧,这些弹簧类型都具有特殊的性能,其特性线多为非线性。

(1)截锥螺旋弹簧:当弹簧压缩到开始有簧圈接触后,特性线变为非线性,自振频率为变值,防共振的能力较变节距压缩弹簧强。稳定性好,结构紧凑。多用于承受较大载荷和减振。

(2)截锥蜗卷弹簧:与上面弹簧作用相似,但能吸收更多的能量。

(3)中凹形螺旋弹簧:特性线与截锥螺旋弹簧相似,主要用于座垫和床垫等。 (4)组合螺旋弹簧:在需要得到特定的特性线情况下使用。

(5)非圆形螺旋弹簧:主要用于在外廓尺寸有的情况下。根据外廓空间的要

12

求,弹簧圈可制成方形、矩形、椭圆形、和梯形等。 2.2.1.3 其他类型弹簧

(1)扭杆弹簧:结构简单,但材料和制造精度要求高,单位体积变形大,主要用于车辆的悬架装置。

(2)蝶形弹簧:缓冲和减振能力强。采用不同的组合可以得到不同的特性线,多用于重型机械的缓冲和减振装置及车辆牵引钩等。

(3)环形弹簧:有很高的减振能力。用于重型设备的缓冲装置。

(4)片弹簧:用金属薄片制成,主要用于载荷和变形小的场合,如仪器、仪表等。 (5)板弹簧:缓冲和减振性能好,尤其多板弹簧减振能力强。主要用于汽车、拖拉机和铁道车辆的悬架装置。

(6)平面涡卷弹簧:圈数多,变形角大,能储存的能量大。多用作压紧弹簧和仪器、钟表中的储能弹簧。

(7)压力弹簧管:在流体的压力作用下末端产生位移。通过传动机构将位移传递到指针上。用于压力计、温度计、真空计、液位计、流量计等。

(8)橡胶弹簧:弹簧模量小,容易得到所需要的非线性特性线 。形状不受,各方向刚度可自由选择。可承受来自多方面的载荷。

(9)空气弹簧:可按需要设计特性线和调节高度,多用于车辆悬架装置。

2.2.2 按其他方法分类

(1)按制造材料的不同分为金属弹簧和非金属弹簧;金属弹簧包括采用钢及钢合金、铜合金和镍合金等制造的弹簧。非金属弹簧包括空气弹簧、橡胶弹簧以及塑料弹簧等。其中以钢和钢合金制造的弹簧用的比较多。

(2)按受载后弹簧材料所受应力类型可分为受弯曲应力作用的弹簧,如螺旋扭转弹簧、平面涡卷弹簧、蝶形弹簧、板弹簧等;受扭切应力作用的弹簧,如螺旋压缩和拉伸弹簧、扭转弹簧、截锥涡卷弹簧等;受压缩和拉伸应力作用的弹簧,如环形弹簧;受组合应力作用的弹簧,如受弯曲载荷作用,或受横向载荷作用的螺旋弹簧等。

(3)按使用条件分类可分为用作缓冲或减振的弹簧和用作承受静载荷的弹簧。用作缓冲或减振的弹簧是利用弹簧动的机能,称为动弹簧,如气门弹簧、车辆悬架弹簧、破碎机的支撑弹簧等;用作承受静载荷的弹簧是利用弹簧静的机能称为静弹簧,

13

如安全阀弹簧、钟表的发条等。

(4)按特性线的类型可分为线性和非线性特性线的弹簧。属于线性特性线的弹簧,如普通压缩、拉伸弹簧、扭转弹簧等;属于非线性特性线的弹簧有不等节距螺旋压缩弹簧,蝶形弹簧和截锥涡卷弹簧等。

2.3 圆柱螺旋弹簧分析

2.3.1 圆柱螺旋弹簧的受力分析

在实际工况下弹簧可能承受轴向载荷F、扭矩T、弯矩M或是这几种载荷的组合。下面分析弹簧材料截面在受各种外载荷下的受力情况。如图2-8所示[1]282。

(1)当圆柱螺旋弹簧承受轴向载荷F作用时,弹簧材料截面的受力情况如图2-8所示。当弹簧受到轴向压缩载荷F作用后,在通过弹簧轴线的平面V所截的弹簧材料斜截面上,将作用有扭矩Tt=FD/2和径向力F。平面V'垂直于弹簧材料中心线,与平面V成夹角α,因而在平面V'上的弹簧材料截面是材料的横截面。在弹簧材料截面A的中心取弹簧材料中心线的切线为t轴、法线为n轴、次法线为b轴。t轴位于弹簧材料中心线的切平面T内,n轴位于V平面与V′平面的交线上,b轴位于V′平面内。在此弹簧材料的截面A内,Tt和F可分解为[1]281

绕t轴回转的扭矩:

Tt1=

绕b轴回转的弯矩:

FD

cosα (2-14) 2

Mb1=

沿t轴作用的法向力:

FD

sinα (2-15) 2

Ft1=Fsinα (2-16)

沿b轴作用的径向力:

Fb1=Fcosα (2-17)

上列各式是按弹簧受轴向压缩载荷F导出的,如弹簧受轴向拉伸载荷F作用时,以上各作用载荷计算式取负值。

14

图2-8 弹簧受轴向载荷F时的受力分析

(2)弹簧受扭矩T作用时,弹簧材料截面的受力情况,如图2-8所示,当弹簧受到扭矩T作用时,在通过弹簧轴线平面V内的弹簧材料斜截面上,将作用有弯矩

Mt=T。在平面V′内的弹簧材料截面A上,弯矩Mt可分解为

绕t轴回转的扭矩:

Tt2=−Tsinα (2-18)

绕b轴回转的弯矩:

Mb2=−Tcosα (2-19)

对于左旋螺旋弹簧,所加扭矩T将于图2-8所示方向相反,因而,上列各式将取正值。关于弹簧受径向载荷Fr作用和受弯矩M作用时,弹簧截面的受力情况在这里就不作介绍。

2.3.2 圆柱螺旋弹簧的应力分析

作用于弹簧两端的载荷,一般可以简化为沿弹簧轴线作用的轴向载荷F和在垂直于轴线平面中的扭矩T。这样,弹簧材料的任意截面所受作用力根据式(2-15)和式

(2-16)可得 扭矩:

Mt=−Tsinα+

FD

cosα (2-20) 2

15

弯矩:

Mb=−Tcosα−

法向力:

FD

sinα (2-21) 2

Ft=Fsinα (2-22)

切向力:

Fb=Fcosα (2-23)

当弹簧受到上述外载荷作用时,截面上的应力,除长边垂直于弹簧轴线的矩形截面材料的弹簧以外,一般应力最大点在弹簧材料截面的内侧。当泊松比为0.3时,弹簧材料任一截面的最大应力表达式见式(2-4)、式(2-25)和式(2-26)[1]284。

2

⎡⎛d⎞⎛d⎞⎤⎢0.154Mb⎜⎜2ρ⎟⎟+(0.246Mb−0.096Tttanα−0.07ρFt)⎜⎜2ρ⎟⎟⎥ ⎢⎝⎠⎝⎠⎥⎦⎣

σbb

1=−

zm

(2-24)

1

σtt=−

zt

2

⎡⎛d⎞⎛d⎞⎤⎢Tt+(0.635Tt+0.615Fbp)⎜⎜2ρ⎟⎟+(0.346Tt−0.183Mbtanα+0.529ρFt)⎜⎜2ρ⎟⎟⎥⎢⎝⎠⎝⎠⎥⎣⎦

(2-25)

1

τtb=

zt

2

⎡⎛d⎞⎛d⎞⎤⎢Tt+(0.635TT+0.615Fbp)⎜⎜2ρ⎟⎟+0.346Tt−0.183Mbtanα+0.529ρFb⎜⎜2ρ⎟⎟⎥ ⎢⎝⎠⎝⎠⎥⎣⎦

(2-26) 式中 zm——弹簧材料截面的抗弯截面系数;

zt——弹簧材料截面的抗扭截面系数;

d——弹簧材料直径(mm);

ρ——弹簧圈曲率半径(mm)。

应力计算公式中的前一项,表示只有轴向载荷F作用时所引起的内应力,后一项为只有扭矩T作用时所引起的内应力。

当ρ≥0时,表示拉应力;ρ≤0时为压缩应力。根据莫尔强度理论,弹簧材料危险点的当量应力表达式为式(2-27)[1]286:

1−m

(σtt+σbb)+1+mσe=22

16

(σtt−σbb)2+4τt2

(2-27)

m=

σst

≤1 (2-28) σsc

式中 σst——拉伸屈服点;

σsc——压缩屈服点。

2.4 本章小结

在本章中,对弹簧作出了系统的综述。详细的分析和描述了弹簧力学性能特性线、分类及其构造。对圆柱螺旋弹簧进行了受力分析、应力分析。可概括如下。

(1)首先给出了各种弹簧的特性线曲线和弹簧的刚度计算公式,对弹簧的变形能及其公式进行了分析,给出了弹簧变形能图及阻尼系数和缓冲效率公式,同时还分析了弹簧系统受迫振幅的振幅,指出阻尼越小振幅越大,明确阐明弹簧主要在动载荷作用下工作,因此,要求弹簧材料具有高的抗拉强度极限,屈服极限和弹性极限;

(2)给出了弹簧的不同分类情况,指出按结构形状分类为圆柱螺旋弹簧、非圆形螺旋弹簧、扭杆弹簧等,按制造材料分类为金属弹簧和非金属弹簧,按受载后弹簧所受的应力类型分类为受弯曲应力作用的弹簧、受扭切应力作用的弹簧、受压缩和拉伸应力作用的弹簧。

(3)介绍了圆柱螺旋弹簧的几何参数及其基本关系式,对圆柱螺旋弹簧受载荷和应力及变形情况进行了分析。

17

第3章 圆柱螺旋弹簧优化设计

3.1 优化设计概述

优化设计是从多种方案中选择最佳方案的设计方法。它以数学中的最优化理论为基础,以计算机为工具,根据设计所追求的性能目标,建立目标函数,在满足给定的各种约束条件下,寻求最优的设计方案[31]。

随着数学理论和电子计算机技术的进一步发展,优化设计已逐步形成为一门新兴的的工程学科,并在生产实践中得到了非常广泛的应用。设计过程中的“优化”指“最优值”或“最佳值”,即在满足多种设计目标和约束条件下所获得令设计者最满意的值。现代设计要求在任何一个的工程或产品的设计中,设计者需要根据设计要求,选择合理的设计方案,确定相关的设计参数,以此来实现最好的设计目标,如产品结构最合理、性能最好、质量最高、成本最低等。在保证产品达到某些性能目标并满足一定的约束条件的前提下,通过改变某些允许改变的设计变量,是产品的指标或性能达到最期望的目标,这就是优化方法。

优化设计理论的研究和实践应用,不仅使得传统设计方法发生了根本性的变化,从以感性、经验和类比为主的传统设计方法向以科学、理性和立足于计算分析现代设计方法转化[32-34],而且使设计效率和设计质量得到了极大的提高,具有很大的经济效益和社会效益。

通常设计方案可以用一组参数来表示,这些参数有些已经给定,有些没有给定,需要在设计中优选,称为设计变量。如何找到一组最合适的设计变量,在允许的范围内,能使所设计的产品结构最合理、性能最好、质量最高、成本最低(即技术经济指标最佳),有市场竞争能力,同时设计的时间又不要太长,这就是优化设计所要解决的问题。

一般来说,优化设计有以下几个步骤。

(1)建立数学模型。 (2)选择最优化算法。 (3)程序设计。 (4)制定目标要求。

(5)计算机自动筛选最优设计方案等。通常采用的最优化算法是逐步逼近法,有

18

线性规划和非线性规划[35]。

3.2 基于MATLAB的优化设计

3.2.1 MATLAB简介

Matlab是美国MathWorks公司出品的商用数学软件,是一种功能强、效率高且便于进行科学和工程计算的交互式软件包。它将高性能的数值计算和可视化集成在一起,提供了大量的内置函数,广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。利用Matlab产品的开放式结构,用户可以很容易的对

Matlab的功能进行扩充,从而在不断深化对问题认识的同时,不断完善Matlab产品,进而提高产品自身的竞争能力[36]。

Matlab的语言简洁,代替了C和Fortran语言的冗长代码,给用户带来的是最直观、最简洁的程序开发环境,已经发展成为功能强大的仿真平台和系统。其语言特点如下[37]。

(1)Matlab是一门编程语言,其语法规则与一般的结构化高级编程语言如C语言等大同小异,Matlab语言比起其他高级语言简单易学;

(2)Matlab代码短小高效,用户只需熟悉算法特点、使用场合、函数调用格式和参数意义,不必花大量的时间纠缠具体算法;

尤其是矩阵的计算功能是其他高级语言所不能比拟的; (3)Matlab计算功能强大,

(4)Matlab具有强大的图形表达功能,绘图函数简单但图形表达功能丰富; (5)Matlab具有很强的可扩展性能,与其他许多高级语言都有接口,同时Matlab的代码是开放性的用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法已扩充工具箱的功能。

3.2.2 优化工具箱

Matlab的一个重要特色就是它具有一套程序扩展系统和一组称为工具箱的特殊应用子程序。工具箱是Matlab的关键部分,是Matlab强大功能得以实现的载体和手段,它是对Matlab基本功能的重要扩充。

Matlab的工具箱大致可分为两类:功能型工具箱和领域型工具箱[36]。 (1)功能型工具箱主要用来扩充Matlab的符号计算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能用于多种学科;

19

(2)领域型工具箱专业性很强,是针对某个专业的常用算法做成的函数包,如最优化工具箱、信号处理工具箱等。

Matlab优化工具箱中使用了对非线性函数求极大值、极小值时最广泛使用方法的算法,对许多应用中的复杂问题的求解提供了强有力的工具,同时还提供了线性规划、二次规划、非线性最小二乘法以及非线性方程求解的工具[37]。Matlab优化工具箱的函数表达式很简洁,可任意选择多种优化算法,可以自由设置算法参数,使得使用者方便灵活的使用优化函数。

优化工具箱中非线性有约束的多元函数的标准形式为[36]:

minf(x)⎧C(x)≤0⎪Ceq(x)=0⎪ ⎪A⋅x≤b⎨

⎪Aeq⋅x=beq⎪⎪⎩lb≤x≤up

其中,x、b、beq、lb、ub是向量,A、Aeq为矩阵,C(x)、Ceq(x)是返回向量的函数,f(x)为目标函数,f(x)、C(x)、Ceq(x)可以是非线性函数。

fmincon函数格式如下:

[x,fval,exitflag,output,lamda,grad,hessian]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub, nonlcon,options)。

式中 A、b——含有线性不等式约束A⋅x≤b,若无不等式约束,则取A=[ ],b=[ ];Aeq、beq 等式约束Aeq⋅x=beq,若没有,则取Aeq=[ ],beq=[ ]

fun——目标函数; x0——初始值;

lb、ub——变量的上界和下界,若没有界,可设lb=[ ],ub=[ ];

nonlcon——作用是通过接受向量x来计算非线性不等约束C(x)≤0和等式约束

Ceq(x)=0分别在x处的估计C和Ceq,通过指定函数句柄来使用;

lambda ——是Lagrange乘子,它体现哪一个约束有效; output ——输出优化信息;

grad ——表示目标函数在x处的梯度; hessian ——表示目标函数在x处的Hessian值。

20

3.3 圆柱弹簧结构参数的优化设计

弹簧由三部分组成:支撑部分,主体部分,过渡部分。主体部分的参数决定了弹簧的特性:刚度、载荷、应力等,而且主体部分的质量占整个弹簧的80%左右,所以对主体部分进行优化设计是必要的[38]。

弹簧的优化设计属于非线性规划的优化设计,采用Matlab优化工具箱对弹簧进行优化设计。同其它的机械优化设计类似,弹簧的优化设计也是在满足约束条件的情况下,获得弹簧各种性能或结构参数的最优解。

3.3.1 设置初始设计控制参数

对弹簧进行优化,初始控制参数如表3-1所示。

表3-1 初始控制参数

设计载荷 设计刚度 设计长度 弹簧中径 簧丝直径 有效圈数

F k H0 D d n

支撑圈数 许用应力 弹性模量 剪切模量 材料密度 工作频率

nz [τ] E G

ρ

f

3.3.2 相关设计公式

(1)切应力:

8FD

(3-1) 2

πd

τ=K

(2)变形f:

8FD3n

(3-2) f=

Gd4

(3)刚度计算式为:

21

k=

F1=f8D3n⎛2Gsin2α⎞4Dn⎛Gsin2α⎞ (3-3)

⎜cosα+⎟⎜cosα+⎟+4⎜2⎜⎟Ecosα⎠Gd⎝Ecosα⎟Gd⎝⎠

式中 k——主体部分的刚度;α为5°~9°,忽略螺旋角的影响:

Gd4

(3-4) k=

πD3n

(4)旋绕比:

C=

D

(3-5) d

H0

(3-6) D

(5)高径比:

b=

(6)曲度系数:

K=

4C−10.615

+ (3-7)

C4C+1

d

(3-8) nD3

(7)自振频率:

γ=3.56×105

(8)安全系数:

S=

τ0+0.75τmin

(3-9)

τmax

(9)体积:

Gπ2d3

V= (3-10) 3

32kCcosα从弹簧的设计公式可以看出,圆柱螺旋弹簧的基本结构参数为弹簧的钢丝直径

d,弹簧中径D和有效圈数n,优化设计时,把它们作为三个设计变量x1、x2、x3。

3.3.3 约束条件

(1)弹簧的刚度条件。

设计时要把弹簧的刚度k控制在一个范围内,有

22

kmin

Gd4≤≤kmax (3-10) 8D3n

式中 G ——弹簧钢丝的剪切弹性模量(Pa)。

(2)弹簧的强度条件。 弹簧的强度条件可表示为:

τ8DFmax

max=K

πd

3

≤[τ] 式中 Fmax——最大工作载荷(N);

[τ]——弹簧许用应力(MPa);

K ——弹簧曲度系数;

τmax——最大剪应力(MPa)。

K=

4C−14C+1+0.615

C

式中 C ——弹簧的旋绕比,C=

Dd

。 (3)稳定性条件。

b=

H0nt+nD=zd

D

≤[b] 式中 [b]——临界高径比。

(4)旋绕比条件。

一般情况下旋绕比范围为:

4≤C=

D

d

≤14 (5)不发生共振条件。 对减振弹簧:

f≤

fr

2

对筏门弹簧:

f≥10fr 23

(3-11) (3-12) (3-13) (3-14) (3-15) (3-16)

式中 fr——载荷变化频率(Hz)。

(6)根据弹簧在最大工作载荷下不并圈条件。

H0−δmax≥Hb (3-17)

式中 H0——弹簧自由高度(mm);

δmax——弹簧在最大工作载荷下变形量(mm);

Hb——弹簧压并高度(mm)。 (7)其它约束条件。 簧丝直径:

dmin≤d≤dmax (3-18)

弹簧中径:

Dmin≤D≤Dmax (3-19)

工作圈数:

nmin≤n≤nmax (3-20)

在上述约束条件中可根据实际情况选择其中的一部分或全部。

3.3.4 目标函数

本文以弹簧的质量最小为优化目标函数,质量表达式如式(3-21)所示。

M=

ρGπ2d3

32kCcosα3

(3-21)

3.3.5 端部对弹簧刚度的影响

弹簧的设计刚度为整体刚度,受端部影响较大。整体刚度k可以看做是弹簧主体部分(k1)和端部部分(k21,k22)的串联[2]10,即公式(3-22)所示。

1111=++ (3-22) kk1k21k22

端部大体上可以分为两类:端部不并紧和端部并紧。

24

当弹簧的端部为不并紧类型,弹簧的有效圈包含主体部分和过渡圈部分,过渡圈部分对整体的刚度有影响。当弹簧端部为并紧类型,这时过渡圈部分起支撑作用,所以对整体刚度的主要贡献是主体部分。

3.4 建立优化设计用户界面及结果分析

3.4.1 建立MATLAB M文件

根据以上分析计算,建立圆柱螺旋弹簧优化问题的数学模型,这是一个三维具有多个不等约束的非线性优化问题,编写Matlab M文件进行求解。

在复杂的程序结构中,变量是程序结构的基础。Matlab中的变量有自己的命令规则:必须以字母开头,之后可以是任意字母、数字或者下划线,同时变量名不能有空格,变量名称区分大小写。Matlab中有一些默认的预定义变量,所以要用户在设置变量时应该尽量避免和这些默认的变量名相同,否则程序代码将会出现错误[39]。

在编写代码的时候,可以定义全局变量和局部变量两种类型,这两种变量类型在程序设计中有着不同的应用范围和工作原理。当一个函数在运行的时候,都会占有独自的内存,这个工作空间于Matlab的基本工作空间和其它函数的工作空间。这样的工作原理保证了不同的工作空间中的变量相互,不会相互影响,这些变量都被称作局部变量。

在默认的情况下,如果没有特别声明,函数运行过程中使用的变量都是局部变量。如果想要减少变量传递,可以使用全局变量[40]。在Matlab中,定义全局变量需要使用命令global,其调用格式如下:

global Var1 Var2

通过以上命令,Matlab就可以允许几个不同的函数空间以及基本的工作空间共享同一个变量。每个要共享全局变量的函数或者Matlab基本工作空间的用户必须逐个对具体变量进行专门的定义。如果某个函数在运行过程中修改了全局变量的数值,则其它函数空间以及基本工作空间内的同名变量数值也会随之变化。 目标函数的M文件:

function f = S_fun(x) global A; global XL; global f;

25

f =2.4674*A*1e-6*(x(3)+XL)*x(1)^2*x(2); 约束条件的M文件:

function [c,cep] = S_con(x) 强度条件

c(1)=2.5465*B*x(2)*x(1)^(-3)*((4*x(2)-x(1))/(4*x(2)-4*x(1))+0.615*x(1)/x(2))-C; 刚度条件

c(2)= D-78500/8*x(1)^4*x(2)^(-3)*x(3)^(-1) 稳定条件 H(0)/D<=B(0),

c(3)=(x(3)+1)*x(1)+1.2*E-F*x(2); 共振条件

两端固定弹簧的一阶固有频率f=3.556*10^5*d/(n*D^2) 无共振条件 f>=5f(0);

c(4)=5*J-3.56*10^5*x(1)*x(2)^(-2)*x(3)^(-1); 旋绕比条件

c(5)=G-x(2)/x(1); 不并圈条件

c(6)=(x(3)+1.5)*x(1)-(H-I); cep=0;

3.4.2 建立MATLAB用户界面

在进行优化计算时,需要在优化程序里输入很多设计参数,有些优化问题需要反复进行优化计算。如果在Matlab相应的M文件中重复输入这些设计参数,那将是十分繁琐的,优化设计计算的效率也会随之降低。这就需要我们开发一个图形用户界面(GUI),这个图形用户界面可以使用户更方便地输入设计参数,优化结果更直观的显示,并且可以使用户更方便地使用应用程序,而且不需要用户了解应用程序怎样执行各种命令,只用了解图形界面组件的使用方法;也不需要了解各种命令是如何被执行的,只要通过用户交互界面进行交互操作就可以正确执行程序。

为此,本文通过Matlab提供的用户界面开发环境开发圆柱螺旋弹簧优化设计界面,当用户激活相应的图形用户界面时,就能执行相应的弹簧优化设计功能。

在Matlab中,所有的对象都可以使用M文件进行编写,GUI也是一种Matlab

26

对象,因此可以用M文件创建GUI图形界面[[36]。如果使用其他方法创建,需要编写相应的程序代码才能实现图形控件的各种功能。

除了以上方法,Matlab还提供了另一个即方便有效率高的用户图形界面开发环境:Matlab图形用户界面开发环境,简称GUIDE。它主要是一个界面设计工具集,将所有GUI所支持的用户控件都集成起来,同时提供界面外观、属性、和行为响应方法的设置方法。

应用GUIDE创建用户界面,程序执行效率高,不仅可以进行交互式地组件布局,还可以生成、保存和发布GUI的对应文件。

开发的优化设计用户界面如图3-1所示。

图3-1 弹簧计算机辅助设计系统

点击“enter”按钮,进入弹簧选择界面,如图3-2所示。

图3-2 弹簧设计选择界面

选择“螺旋压缩弹簧”,弹出“螺旋压缩弹簧设计”用户输入对话框,如图3-3

27

所示。

图3-3 弹簧参数输入界面

3.4.3 优化结果分析

利用MATLAB进行优化设计时,关键在于建立正确的目标函数和约束条件,合理的约束条件可使优化问题得到可行解,不合理的约束条件无可行解。这就需要设计人员对要优化的结构非常熟悉,当出现无可行解的时候,根据实际情况在允许的范围内修改约束条件,使优化问题得到可行解。

对弹簧进行优化设计,在如图3-3所示界面中输入各个约束参数,点击“确定”按钮,程序开始运算,然后输出优化设计结果,输出的结果如图3-4所示。所以当弹簧簧丝的直径d、弹簧中径D和有效圈数n分别取6.80044、27.2177和4时,弹簧的质量最小,为0.12127kg,考虑到实际情况,各参数分别取7、27和4。

如果问题无可行解,MATLAB将给出一个对约束条件破坏影响最小的解。

28

图3-4 优化设计结果显示

3.5 本章小结

本章内容是螺旋弹簧优化设计部分的实现。介绍了优化设计技术、Matlab及其优化工具箱。详述了螺旋弹簧的优化设计方法,建立了螺旋弹簧优化设计数学模型,利用Matlab提供的用户界面开发环境GUIDE开发了圆柱螺旋弹簧优化设计系统,实现了圆柱螺旋弹簧的优化设计。

29

第4章 基于Pro/E的弹簧参数化设计

4.1 Pro/E 简介

Pro/E是大型通用CAD/CAE/CAM系统软件。它提供了一套完整的机械产品解决方案,包括机械设计、工业设计、模具设计、有限元分析、加工制造、功能仿真和产品数据库管理等。目前,Pro/E被广泛应用于汽车制造、航天航空、模具制造、服装、化工、建筑等行业[41]。

Pro/E于1988年由美国PTC公司开发,它提出的单一数据库、参数化、基于特征、全相关以及工程数据再利用等设计理念改变了传统的MDA设计观念,并迅速为广大用户所接受。

Pro/E的发展历程可以分为两个阶段:一是Pro/E9x阶段,这个阶段主要是完善参数化实体设计技术的应用,对软件的智能化方面改进较小;二是Pro/E 200i以后的阶段,这一阶段主要是改进软件系统的界面和提高软件的智能化程度。在该系列产品中,PTC公公司又引进了新的建模技术—行为建模技术,大大提高了软件系统的智能化程度[42]。

经过二十多年的发展,Pro/E已成为一个全方位的3D产品开发软件,集合了众多的功能,Pro/E目前共有70多个专用模块,为用户提供了一套从设计到制造的完整的解决方案。Pro/E与1993年正式进入我国,并在相关领域迅速普及。发展至今,已拥有相当大的用户群,目前许多大型企业都选用Pro/E。

Pro/E的技术特点主要由以下几点[42,43]:

(1)采用基于特征的实体建模。特征取代了底层的几何图形,使得设计人员处于一个高层的设计平台,不必考虑软件使用的几何图形的细节;

(2)具有参数化设计思想。参数化技术使得零件的设计修改变得方便易行,通过编辑尺寸数值来驱动几何形状的改变;

(3)具有数据全相关性。全相关性允许在开发周期的任一阶段对产品进行修改,避免重复返工并保证了各个环节数据的一致性,减小了出错的可能;

(4)采用行为建模技术。主要体现在3个方面:智能模型、目标驱动式设计和一个开放式可扩展环境;

(5)能进行数据管理和装配管理;

30

(6)具有良好的用户开发环境。Pro/E为用户提供了多种二次开发工具。常用的有族表、用户定义特征UDF、Pro/program、J-link、Pro/Toolkit等,可以满足不同层次用户的专有化定制需要;

(7)具有丰富的外部接口。Pro/E具有与大多数CAD软件的接口,易于实现数据共享和交换。同时,它还可以将模型输出到ANSYS、PATRAN等CAE软件,进行工程分析和优化。

4.2 Pro/TOOKIT概述

Pro/Toolkit是美国PTC公司为Pro/E提供的用户化工具箱。其主要的用途的是让第三方或用户通过C程序代码对Pro/E软件系统的功能进行扩充,开发基于Pro/E系统的应用程序模块。而且,还可以应用Pro/Toolkit自身提供的菜单、UI对话框、以及VC++的可视化界面技术,设计出既美观又实用的人机交互界面,使得系统的使用效率得到显著提高[44]。

Pro/Toolkit工具包提供了开发Pro/E所需要的函数库文件和头文件,使用户编写的应用程序能够安全地控制和访问Pro/E,并可以实现应用程序模块与Pro/E系统的无缝连接。

Pro/Toolkit中,每个对象都由一个标示符来标识,利用标示符就可以调用所对应的对象,这个标示符就是对象句柄[45]。句柄是Windows用来标识被应用程序所建立或使用的对象的唯一整数,是稳定不变的。句柄可以看成是一个指向指针的指针。

Pro/Toolkit函数命名约定为:<基本对象>+<操作对象>+动作,动作是指对待定的Pro/Toolkit对象执行的某种操作。常见的动作有以下几种[46]12:

Get获得,Get用来获取对象的某个数据。这类函数的输入就是基本的数据对象,输出是基本数据对象的某一信息。

Set设置,Set用来设置对象的数据值。它也是以基本数据对象作为输入,并输入需要设置的变量的值。

Visit访问,Visit函数用来访问数据对象内的一组数据集合,如访问Pro/E零件模型的特征。

4.3 Pro/TOOLKIT程序开发步骤

应用Pro/Toolkit工具对Pro/E进行二次开发,其程序开发步骤如图4-1所示。

31

开始环境设置Pro/Toolkit 界面设计应用程序设计编译正确注册运行结束图4-1 Pro/toolkit二次开发流程图

4.3.1 确定运行模式

Pro/Toolkit应用程序有两种工作模式,同步模式和异步模式[47]21。 (1)同步模式。

同步模式下,Pro/Toolkit应用程序必须与Pro/E系统同步运行。同步的含义是指

Pro/Toolkit应用程序集成到了Pro/E系统中,如果Pro/E没有启动,不能运行Pro/Toolkit。

同步模式还可分为两类模式,即:多进程模式(Multiprocess Mode)和动态连接库模式(DLL模式)[46,47]。

采用多进程模式,通过编译和链接C语言代码,Pro/Toolkit生成一个可执行程序,这个程序可在Pro/E启动时一起启动,也可在Pro/E启动时根据使用者的需要启动,启动后的程序可作为Pro/E工作任务的一个子进程来执行。

动态连接库模式是将用户C程序编译成一个DLL文件,这样Pro/Toolkit应用程序和Pro/E能够在同一进程下进程运行,通过调用函数实现两者间的信息交换。

根据设计者需要来选择使用何种模式。通常程序开发阶段多采用多进程模式,以便与程序的调试,但由于DLL模式的运行时速度比较快,开发完程序之后,最好

32

转成DLL模式。

(2)异步模式。

无需启动Pro/E,就能够单独运行Pro/Toolkit应用程序的方式叫做异步模式。异步模式实现了两个程序的并行运行(两个程序是可运行的),可以只在程序需要调用Pro/E功能时,才启动Pro/E。但由于异步模式具有代码复杂、执行速度慢等特点,因此一般不采用异步模式。本文所采用的是同步模式中的DLL模式。

动态链接库(DLL)提供了一种在Windows环境下共享代码和应用程序之间进行通信的方法[47]22。在DLL中,包含了多个应用程序共用的函数。动态链接库本身有很多的优点,如内存占用少、可实现模块化、利于共享、方便通信和支持多语言等等。在DLL模式下,Pro/Toolkit应用程序和Pro/E的信息交换是通过直接函数调用实现的,包括Pro/Toolkit应程序的启动、退出以及用户与系统的交互等各种功能,所以具有执行速度快的的优点。其接口方案如图4-2所示。

图4-2 接口实现方案

4.3.2 设计菜单并编写信息文件

程序运行模式确定后,就可进行程序框架的设计。对Pro/Toolkit应用程序来说,程序框架的设计就是指根据功能要求设计菜单,然后给每个菜单设计动作函数。

一个零件建模系统其功能要求通过定义零件主驱动参数、零件内部关系式来完成零件建模,定义主驱动参数、关系式、模型的存放位置等信息加入到数据库,要使数据库记录这些信息,就需要一个提交模型的菜单[47,48]。

菜单设计完之后,就应该编写菜单的信息资源文件。信息资源文件是一种文本文件,用于定义菜单项、菜单项提示等信息,提供菜单的标签文本(包括其他语言版本的标签)和帮助信息,可以用记事本软件建立并保存。向Pro/E中添加菜单,一定要使用信息资源文件,否则Pro/E界面中不会出现要添加的菜单。信息资源文件有固定的格式,在信息文件中以4行为一组,其含义如下。

第1行:关键字,该关键字必须与使用该信息文件函数的相关字符串相同。 第2行:在菜单项或菜单提示项上显示的英语文本。 第3行:中文文本。

33

第4行:为空。

信息资源文件文本必须位于text文件夹下,语言版本不同的资源应存放在不同的文件夹下。一般只需两个文件夹,即:chinese_cn文件夹和usascii文件夹,分别存放中文与英文版本的的资源。这样,若Pro/E的界面是英文版,Pro/Toolkit程序会读取usascii里的英文版的资源,若是中文界面,则读取chinese_cn中的资源[49-53]。同样可以不分版本,直接把资源放在text文件夹下面,这就要求Pro/Toolkit程序中的文本与信息资源文件要一致,否则菜单或帮助信息就不能正确显示。

4.3.3 新建项目和设置开发开发环境

(1)运行VS.NET 2005,新建一个工程文件。在[应用程序设置]对话框的[DLL类型]选项区中选择[使用共享MFC DLL的规则DLL]。

(2)设置包含文件和库文件。

包含文件和库文件的设置主要是为了VC编译连接程序时,可以找到Pro/Toolkit头文件和库文件的所在位置。

添加包含文件:C:\\Program Files\\proeWildfire 4.0\\prodevelop\\includes

C:\\Program Files\\proeWildfire 4.0\\protoolkit\\includes

添加库文件:C:\\Program Files\\proeWildfire 4.0\\protoolkit\\i486_nt\\obj

C:\\Program Files\\proeWildfire 4.0\\prodevelop\\i486_nt\\obj

设置项目属性,如图4-3所示。

图4-3 项目属性设置

项目属性设置:在[属性页]对话框中[附加依赖项]中添加wsock32.lib mpr.lib

34

protk_dllmd.lib prodev_dllmd.lib psapi.lib,在[忽略特定库]中添加libcmtd。

4.3.4 添加头文件和源程序代码

在新建工程文件中添加Pro/Toolkit应用程序,应用程序包括:头文件部分、用户初始化函数部分和用户终止函数部分。Pro/Toolkit程序中常用的头文件如下:

Protoolkit.h、ProUtil.h、ProMenu.h、ProMenuBar.h 、ProMdl.h、ProSolid.h、 ProDimension.h、ProParameter.h、ProParamval.h 、ProRelSet.h、ProModelitem.h 、ProFeature.h。

在同步模式的应用程序中一定要包含初始化函数user_initialize()和终止函数

user_terminate()函数[46]35。

user_initialize()用来对Pro/Toolkit应用程序进行初始化。任何同步模式的应用程序要在Pro/E软件中加载都必须包含user_initialize()。在user_initialize()中可以设置用户的交互接口,比如设置菜单,对话框调用,初始化窗口信息,还可以调用需要的函数,它包含了Pro/Toolkit中应用程序所有初始化进程。在Pro/E环境加载时,首先要调用user_initialize()函数。若此函数的返回值为0,则表明应用程序初始化成功,若其返回值不为0,说明程序存在着错误,系统给出错误的代码加以说明。

在文件中添加函数exten”C”int user_initialize()如下所示。

exten”C”int user_initialize() {

ProError status; // 用户接口程序 return status; }

函数返回PRO_TK_NO_ERROR表示初始化成功。

user_terminate()函数是在Pro/E终止同步模式的Pro/Toolkit应用程序时被调用,该函数由用户定义,也可以不执行任何动作。添加函数exten”C”void user_terminate()如下所示:

exten”C”void user_terminate() {

// 结束代码

35

}

在项目设置完毕以及添加初始化函数和终止函数后,应用VS.NET 提供的所有类和函数来开发源程序。在编写程序时添加相应的头文件即可直接调用Pro/Toolkit函数。

4.3.5 注册文件及程序运行

程序在VS.NET中编译链接成功即可生成可执行文件,在Pro/E中运行

Pro/Toolkit应用程序,必须先进行注册。注册文件的作用是向Pro/E传递应用程序信息。注册文件的各字段名及其含义如下。

NAME Pro/Toolkit应用程序标识名 EXEC_FILE 可执行程序名 TEXT_DIR Text目录路径

STARTUP 启动应用模式,可为spawn、dll(动态链接库) ALLOW_STOP 如果设置为TRUE,在Pro/E工作时可以终止应

用程序,否则不能终止应用程序

DELAY_START 如果设置为TRUE,在Pro/E启动时不调用

Pro/Toolkit应用程序,否则将自动启动

REVISION Pro/Toolkit版本号 END 结束标志

用记事本编写注册文件,一个注册文件可写入多条注册信息,其文件名必须以.dat作为扩展名。

注册方式可以采用自动注册和手动注册两种方式[47]28。自动注册是将注册文本存放在Pro/E工作目录下,将会随着Pro/E系统启动自动运行。如果将注册文本存放在其它目录下只能采用手动注册,利用Pro/E辅助应用程序菜单,通过导入注册文件实现应用程序的注册。本文采用的手动注册。

注册文件手动注册方法:Pro/E 主菜单>工具>辅助应用程序>注册>注册文件所在目录>选择注册文件>启动。注册完成图4-4所示。

36

图4-4 注册注册文件

4.4 三维参数化建模程序设计

通常,在设计三维零件的时候,都要涉及到基准、草图、实体和曲面等特征,如果想要编写程序直接生成三维模型是十分困难的,设计的参数化程序会非常复杂和繁琐。所以,采用这种方式来创建三维模型是非常不合理的。这里我们采用与二维参数化程序设计完全不相同的另一种适合三维参数化程序设计的方法。

4.4.1 基本原理

三维模型参数化程序设计的基本原理是采用三维模型与Pro/Toolkit应用程序控制相结合的方式。具体做法为三维模型利用交互方式生成,完成模型创建之后,利用Pro/E的参数功能创建一组可以完全控制三维模型形状和大小的设计参数,然后利用参数化语言程序对这些参数进行编程,进而能够实现检索、修改设计参数,根据输入的参数值重新生成的三维模型。这种设计方式是根据已有三维模型,通过修改设计参数重新生成三维模型,因此,称之为基于三维模型的参数化设计[54-56]。三维模型的参数化设计过程如图4-5所示。

4-5 三维模型的参数化设计过程

4.4.2 三维模型样板的建立

在三维模型参数化设计中,把程序要用到的三维模型称之为三维模型样板。三维模型样板的创建方法与一般的模型相同,但应该注意下面几点。

(1)创建三维模型样板时,应该对几何图形进行全约束。

37

(2)正确设置控制三维模型形状和大小的设计参数。设计参数可分为参数;和非参数。参数主要控制三维模型的几何尺寸,非参数可用参数关系式表示。

(3)建立正确的设计参数与模型尺寸变量关联关系。为了使用户设计参数能够控制三维模型,必须使用户建立的参数与Pro/E自动创建的约束参数名相关联。这里采用Pro/E提供的关系式功能创建新的关系式,使Pro/E系统创建的约束参数名与用户设计参数关联。

4.4.3 Pro/TOOLKIT界面设计

Pro/Toolkit界面设计主要包括Pro/E菜单设计和对话框的调用,是实现用户交互设计的关键。

Pro/E菜单包括菜单栏、菜单、菜单项、复选按钮、单选按钮等等,编写Pro/Toolkit程序可以向Pro/E菜单中添加以上类型菜单。添加菜单的步骤如下:先编写信息资源文件(用于提供菜单的标签文本和帮助信息),再编写Pro/Toolkit程序,设置菜单按钮调用函数,最后注册程序运行。

对话框的调用使得Pro/E系统与设计人员交互设计更加方便实用。开发的对话框,界面清晰直观,用户可以很方便的输入设计参数。于此同时,对话框还可以输出显示系统信息,帮助或提醒用户进行后面的操作。

对话框设计有两种方式:用户界面对话框(简称UI对话框)和MFC对话框[47]68。

UI对话框采用资源文件的形式定义和描述界面组成元件、属性及布局。其优点是设计出的交互界面与Pro/E界面风格相一致。缺点是用文本文件的形式定义对话框不能直观的反映界面的布局,设计、修改和调试难度较大。

MFC对话框是VC++程序很重要的软件资源。为开发Windows应用程序提供了强大的支持。MFC对话框的界面开发可以直接利用VC++可视化对话框创建技术实现,执行程序时,Pro/Toolkit通过创建的用户对话框来获取新的参数值,然后调用模型参数操作函数实现修改模型参数和更新旧的模型。比之UI对话框,使用MFC的对话框界面布局上更为容易,修改和调试更为方便。本文选取MFC对话框技术进行开发[57-59]。

利用Pro/Toolkit函数实现对模型参数的检索和修改。通过已先前定义参数对象指针,调用ProParameterValueGet()函数得到ProParamvalue结构体对象,直接访问

38

ProParamvalue对象的下级成员就能参数数值并进行修改。

4.5 弹簧三维模型参数化设计

4.5.1 建立三维模型样板

建立弹簧三维模型样板,定义用户参数,并建立用户参数与三维模型尺寸变量之间的关联关系。如图4-6所示。

图4-6 弹簧三维模型样板模型

在Pro/E中建立结构参数关系如下:

d0=l-(0.5-mp)*dia*2 d14=l/2 d1=D d2=zn*dia d12=dia d3=0.5 d4=dia d5=dia d6=dia d7=dia

d8=(d0-2*d2-2*d3)/cn d9=d8

39

式中 dia——簧丝直径(mm);

D——弹簧中径(mm); l——弹簧自由长度(mm); cn——弹簧有效圈数; zn——弹簧支撑圈数; mp——弹簧磨平圈数。

4.5.2 编写资源文件和注册文件

资源文件如下:

SPRING SPRING

弹簧设计辅助建模

# Springy Springy 压缩弹簧1

#

Design parameter Design parameter 端部并紧

# Springl Springl 压缩弹簧2

#

Drawing spring Drawing spring 端部磨平

# Springp

40

Springp 压缩弹簧3

# Putong Putong 普通弹簧

#

Springnonstand Springnonstand 异形弹簧

# Yixing Yixing 异形弹簧设计

#

注册文件如下:

NAME spring3

EXEC_FILE E:\\vs2005\\spring3\\debug\\spring3.dll TEXT_DIR E:\\vs2005\\spring3\ext STARTUP dll ALLOW_STOP TRUE DELAY_START TRUE REVISION Wildfire4.0 END

4.5.3 弹簧参数化建模的实现

4.5.3.1 普通圆柱螺旋弹簧参数化建模

首先,在VS.NET 2005编译环境下编译向Pro/E菜单栏添加“弹簧设计辅助建模”按钮。完成添加按钮,如图4-7所示。

41

图4-7 添加的弹簧设计辅助建模菜单

添加菜单部分关键程序。

#include \"ProToolkit.h\" #include \"ProMenu.h\" #include \"ProUtil.h\" #include \"ProMenubar.h\" #include \"ProUICmd.h #endif

static uiCmdAccessState AccessDefault(uiCmdAccessMode); extern \"C\" int user_initialize() {

ProError status;

ProFileName message_file;

uiCmdCmdId cmd_id1,cmd_id2,cmd_id3,cmd_id4; ProFileName MsgFile;

ProStringToWstring(MsgFile,\"message5.txt\");

Status=ProMenubarMenuAdd(\"SPRING\

=ProCmdActionAdd(\"MyTest1\AccessDefault,PRO_B_TRUE,PRO_B_TRUE,&cmd_id1);

status=ProMenubarmenuPushbuttonAdd(\"SPRING\parameter\.txt\")); return status; }

extern \"C\" void user_terminate()

42

{ }

int MyTest1() {

AFX_MANAGE_STATE(AfxGetStaticModuleState()); sprdlg1 dlg; dlg.DoModal(); return (0); }

程序编译完成之后,启动Pro/E系统,调用已完成建模的弹簧三维模型样板,注册注册文件,结果如图4-8所示。

图4-8 添加的弹簧设计辅助建模按钮

点击下拉菜单中的“压缩弹簧2”,将弹出弹簧参数对话框,如图4-9所示。在参数输入对话框中输入新的设计参数值。

43

图4-9 添加的弹簧设计辅助建模按钮

单击“确定”,生成新的弹簧三维模型。如图4-10所示。

图4-10 新生成的弹簧模型

4.5.3.2 弹簧端部参数化建模

弹簧的端部有不同的样式,因此也可以对弹簧端部样式进行参数化建模。在如图4-9界面中所示的参数输入对话框中,通过下端两个对话框对端部样式进行控制。端部样式如图4-11所示。

44

a) 端部并紧不磨平,支承圈为1

b) 端部并紧不磨平,支承圈

为0.75圈

c) 端部并紧磨平,支承圈为1

d) 端部并紧磨平,支承圈为1.25圈 e) 端部不并紧不磨平,无支撑圈

图4-11 弹簧端部样式

4.5.3.3 异形弹簧的参数化建模

利用Pro/Toolkit二次开发技术还可以对一些异形弹簧进行参数化建模。点击图

4-8下拉菜单中“异形弹簧”,即可弹出异形弹簧参数对话框,输入新的参数值,生成新的弹簧模型。

本文针对鼓形螺旋弹簧和截锥螺旋弹簧进行了二次开发。 (1)鼓形螺旋弹簧。如图4-12所示为鼓形螺旋弹簧样板模型。

图4-12 鼓形螺旋弹簧模型

45

在鼓形螺旋弹簧参数对话框中输入新的结构参数。如图4-13所示。 点击“确定”,生成新的鼓形螺旋弹簧。如图4-14所示。

图4-13 鼓形螺旋弹簧参数对话框

图4-14 新生成的鼓形螺旋弹簧模型

重新在鼓形螺旋弹簧参数对话框中输入另一组结构参数。如图4-15所示。 点击“确定”,生成另一个的鼓形螺旋弹簧。如图4-16所示。

图4-15鼓形螺旋弹簧参数对话框

图4-16 新生成的鼓形螺旋弹簧模型

(2) 截锥螺旋弹簧。如图4-17所示为截锥螺旋弹簧样板模型。

46

图4-17截锥螺旋弹簧样板模型

在截锥螺旋弹簧参数对话框中输入新的结构参数。如图4-18所示。

图4-18截锥螺旋弹簧参数对话框

点击“确定”,生成新的截锥螺旋弹簧。如图4-19所示。

图4-19 新生成的截锥螺旋弹簧模型

47

4.6 本章小结

本章内容是弹簧参数化建模部分的实现。对Pro/E及Pro/E二次开发工具

Pro/Toolkit参数化建模技术进行了简单介绍,详述了Pro/Toolkit程序二次开发步骤、用VC++开发Pro/Toolkit应用程序时的环境设置及调试方法。研究了Pro/Toolkit界面设计,包括菜单设计和对话框调用技术,利用参数建模方法建立弹簧模型样板,并结合参数化程序,实现了弹簧参数化建模。

48

第5章 基于APDL的弹簧有限元分析

5.1 ANSYS软件简介

5.1.1 ANSYS概述

ANSYS软件是融结构、热、流体、电磁学和声学于一体的大型CAE通用有限元分析软件,可广泛用于核工业、铁道、石油化工、机械制造、航空航天、能源、汽车交通、电子、土木工程、造船、生物医学、国防军工、水利、轻工及日用家电等一般工业及科学研究。由世界最大的有限元分析软件公司之一的美国ANSYS开发,它能与多数CAD软件接口,实现数据的共享和交换,如Pro/Engineer、UG、

NASTRAN、I-DEAS, AutoCAD等, 是现代产品设计中的高级CAE工具之一。该软件可在大多数计算机及操作系统中运行,在PC机、工作站、大型机和巨型机的所有硬件平台上,ANSYS数据文件均可兼容[60]。

ANSYS软件有限元分析功能强大,包含了从简单静态分析到复杂的非线性动态分析。与其他有限元分析软件的分析过程相类似,ANSYS软件的标准分析过程可分为三个步骤:建立分析模型、施加边界条件与求解计算、结果分析。

ANSYS的基本组成部分包括:前处理模块、求解模块、后处理模块[61]。 (1)前处理模块(PRE7)。

前处理用于定义求解所需的数据。用户可以选择坐标系统、单元类型、定义实常数和材料特性、建立实体模型并对其进行网格划分、控制节点和单元以及定义耦合和约束方程。

(2)求解模块(SOLUTION)。

分析计算模块包括结构分析(可进行线性分析、非线性分析和高度非线性分析)、流体动力学分析、电磁场分析、声场分析、压电分析以及多物理场的耦合分析,在该阶段用户可以定义分析类型、分析选项、载荷数据和载荷步选项,随后进行计算。

(3)后处理模块(POST1和POST26)

ANSYS软件的后处理过程包括两个部分:通用后处理模块POSTl和时间历程后通过友好的用户界面,可以很容易获得求解过程的计算结果并处理模块POST26[62]。

对其进行显示。这些结果可能包括位移、温度、应力、应变、速度及热流等,计算

49

结果以彩色等值线显示、梯度显示、矢量显示、粒子流迹显示、立体切片显示、透明及半透明显示(可看到结构内部)等图形方式显示出来,也可将计算结果以图表、曲线形式显示或输出。

5.1.2 ANSYS二次开发的必要性

长期以来,弹簧的设计计算过程周期长,反复多,精确度低。随着计算机技术的不断发展,大量的有限元软件逐渐被采用,弹簧的设计计算主要运用大型有限元软件进行。相对于以往的手工计算,大型有限元软件可以节省大量的人力和时间,但对于同等类型不同结构尺寸的模型,分析计算过程重复性工作大,分析周期长,难以适应现代投标快速制定方案的要求[63]。本文论述的是基于大型有限元分析软件

ANSYS的参数化分析计算方法,克服了上述缺点。

ANSYS软件虽然具有很强大的求解和前后处理功能,在实际工程项目中能够解决很多既复杂又庞大的设计分析问题,但对于实际工作中某些特定行业的有限元分析没有针对性。而且,虽然ANSYS的功能模块很多、很强大,但对于使用者的素质和能力要求也很高,必须具有很丰富的分析经验和有限元知识,在模型结构简化和力学建模等问题上都需要投入大量的经历和时间。若分析一个复杂模型,按照

ANSYS的基本分析步骤逐步的进行分析计算,如果还需要修改后重新计算,过程将会十分费时和费力的。

基于以上不利因素,作者认为,为ANSYS系统开发弹簧的静态分析系统模块具有非常重要的意义。考虑到产品在设计研发过程中,需要对比不同结构尺寸产品在工作时的力学性能,所以仅是提供个别参数的弹簧性能是远远不够的,这就需要开发友好的参数定义界面,以避免重复定义和输入。也可使得一些设计人员在不需要完全掌握有限元分析方法和技巧的情况下,就可以利用ANSYS软件进行弹簧产品设计和分析。相应系统模块的开发,能够有效提高弹簧设计的效率和质量,充分体现其专业化、便捷化的特点。

5.1.3 APDL简介

APDL是ANSYS提供的参数化设计语言,它的功能是以命令流方式进行有限元模型进行分析。当第一次分析完成之后,用户可以利用APDL修改其LOG文本文件

50

的内容来完成任意类似的多次的分析,从而大大地减少修改模型后重新分析时所需要的时间[]。

参数化设计语言(APDL)实质上由类似于FORTRAN的程序设计语言部分和1000多条ANSYS命令组成。从功能上讲,这些命令分别对应ANSYS分析过程中的定义几何模型、单元网格划分、材料定义、添加载荷和边界条件、控制和执行求解和后处理计算结果等指令。

APDL语言可以实现对程序的二次开发,用户能够用APDL语言将ANSYS各种命令串联起来,编写出参数化的用户程序,实现有限元分析的全过程,即建立参数化的模型、网格划分与控制、材料定义、边界条件和载荷定义、分析求解以及后处理。

APDL的宏指的是具有某些特殊功能的一系列命令的组合, 它可以被当做ANSYS命令来处理[65]。在APDL中可以有参数的输入,也可以不需要输入参数。缩略语在APDL中可以替代宏或某条命令,它在ANSYS中与被替代宏或命令是等价的关系,但缩写更符合用户习惯,使用更加方便快捷,更易于记忆。ANSYS工具条就是一个很好的缩写例子。用户可以通过定义缩略语的方法将一些频繁使用的

ANSYS功能和宏指令添加到工具条上。

利用APDL的程序语言与宏技术组织管理ANSYS的有限元分析命令,就可以实现参数化建模、参数化载荷加载与求解以及参数化后处理结果的显示,从而实现在参数化参数化有限元分析的全过程,同时这也是ANSYS批处理分析的高级技术。的分析过程中,可以很方便的修改所定义的参数,达到反复分析相同结构不同尺寸、不同载荷的多种设计方案,很大提高设计分析效率,极大减少人力和时间成本。同时,用户根据设计需求还可以开发专用的有限元分析程序。另外,APDL也是ANSYS设计优化的基础,只有创建了参数化的分析流程,才能对其中的设计参数执行优化改进,达到最优的设计目标。

5.2 基于APDL的弹簧参数化建模

本课题研究的弹簧结构设计与分析,为此需要对弹簧采取整体分析方法。参数化建模主要针对不同的外型尺寸进行。

建立几何模型是进行有限元分析的基础,ANSYS软件为用户提供了3种生成几

51

何模型以及有限元模型的方法:①直接生成;②导入在其他CAD系统创建的模型,

ANSYS提供针对CAD产品的专用图形接口;③在ANSYS中创建几何模型[66]。

本文采用在ANSYS中创建几何模型和导入其他CAD系统创建的模型两种方法实现弹簧的参数化建模。

5.2.1 建模原理

对于圆柱螺旋弹簧实体模型的建立,在ANSYS中不能直接利用已有的命令直接生成。应用APDL语言,利用其相应的数学表达式设计实体模型的生成程序,便能自动完成建模。

利用ANSYS所提供的拖拉命令(VDRAG),可将其封闭的图形按照指定轨迹拉伸成实体模型[67]。圆柱螺旋弹簧参数化建模的主要是生成一条符合圆柱螺旋弹簧设计参数要求的螺旋线(即拉伸轨迹)。由于ANSYS中并没有提供绘制螺旋线的命令,可采用APDL语言编程来建立螺旋线,再通过VDRAG命令沿螺旋线拖拉特定的截面圆,最后形成三维圆柱螺旋弹簧的实体模型。弹簧两端有与弹簧底座相接触的支承圈,支承圈部分不参与弹簧变形,故其端面应该垂直于弹簧轴线。因此程序应分3部分对弹簧的初始支承圈部分、弹簧有效圈部分、末端支承圈部分进行编程。拉伸后的三维弹簧模型不是十分光滑,可以通过ANSYS中的SPLIN命令将程序生成的关键点拟合生成螺旋线,再采用拉伸命令拉伸出的弹簧为一个整体模型。创建弹簧参数输入对话框,实现弹簧的交互输入。

主要设计参数:弹簧中径Da,簧丝直径D,弹簧总圈数N,弹簧支撑圈数Ns,弹簧总高度H,弹簧旋向Fx( Fx=-1 为左旋,Fx=1 为右旋)。

5.2.2 参数化建模APDL程序开发

采用APDL语言编写程序,实现圆柱螺旋弹簧的建模过程。参数化建模程序如下。

/pmacro finish /clear !/BATCH

52

/filname, Spring

/title, The Process of creating the spring parametric modeling

!/VIEW, 1, 0.5, 0.81 ! 调整模型显示的方位和角度 !/ang,1, 4

multipro, 'start', 6 ! ! 交互输入弹簧的尺寸参数

*cset,1,3,N,'Valid Turns Number of the spring:',10 ! 弹簧的总圈数 *cset,4,6,H,'height of the spring(mm):',50 ! 弹簧的总高度 *cset,7,9,Da,'Average Diadius of the spring(mm):',32 ! 弹簧的中径 *cset,10,12,D,'Diadius of the spring(mm):',1 ! 弹簧的簧丝直径 *cset,13,15,Ns,'Support Turns Number of the spring:',2.5 ! 弹簧的支撑圈数 *cset,16,18,Fx,'Rotation direction of the spring:',1 ! 弹簧旋向 multipro, 'end' !

/prep7 ! 创建螺旋线 Ds=151

Ds1=NINT(Ds*(Ns/2)/N) Ds2=NINT(Ds*(N-Ns)/N) *DIM,x,,Ds *DIM,y,,Ds *DIM,z,,Ds *AFUN,DEG delta=Fx*360*N/Ds ang=0 Zj=0 !

*DO,i,1,Ds1,1 ! 创建弹簧的下端支撑圈 J1=D/Ds1 x(i)=Da/2*cos(ang)

53

y(i)=Da/2*sin(ang) z(i)=J1*Zj ang=ang+Delta Zj=Zj+1 Z1=J1*Zj *enddo

! ! 创建弹簧的有效圈 Zj=0

*DO,i,Ds1+1,(Ds2+Ds1),1 j2=(H-Ns*D)/Ds2 x(i)=Da/2*cos(ang) y(i)=Da/2*sin(ang) z(i)=J2*Zj+Z1 ang=ang+Delta Zj=Zj+1 Z2=J2*Zj+Z1 *enddo

Zj=0 ! 创建弹簧的上端支撑圈 *DO,i,(Ds1+Ds2+1),Ds,1 j3=D/Ds1 x(i)=Da/2*cos(ang) y(i)=Da/2*sin(ang) z(i)=J3*Zj+Z2 ang=ang+Delta Zj=Zj+1 *enddo

*DO,i,1,Ds ! 利用参数创建几何模型 K,i,x(i),y(i),z(i) ! 生成螺旋线上的关键点 *enddo

54

*GET,ZEND,KZ,Ds,LOC,Z ! 获得关键点坐标值 *Do,j,1,Ds-5,5

SPLIN,j,j+1,j+2,j+3,j+4,j+5 ! 样条拟合生成螺旋线 *enddo

CM,Comline,LINE LCOMB,Comline,,0

/VIEW,1,1,1,1 ! 创建螺旋弹簧实体 /ANG,1 CSYS,1 wprot,,90 ASEL,NONE CYL4,Da/2,,D/2

CM,ComAreal,AREA! ! 成的截面生成簧丝 VDRAG,ComAreal,,,,,,ComLine VPLOT

可以以文本文件的格式保存,通过菜单形式加载,加载后弹出弹簧设计参数输入对话框。弹出的弹簧参数输入对话框如图5-1所示。

图5-1 弹簧设计参数输入对话框

通过参数输入对话框对控制参数进行赋值。也可以在系统的文本编辑器中编辑,

55

以扩展名.mac格式保存。本文将其另存为spring.mac,在ANSYS中以命令spring方式调用该宏文件。

单击ok后,程序自动生成相应的圆柱螺旋弹簧模型,如图5-2所示。

图5-2 生成的实体模型

改变参数输入对话框中的参数输入值,即可生成相应的弹簧实体模型,如图5-3所示。

图5-3 重新生成的实体模型

由于ANSYS建模功能不是十分强大,对于大型复杂结构通常采用导入其他CAD系统创建的模型的方法,本文异型弹簧的建模采用在Pro/e平台建模,然后将模型导

56

入ANSYS中,对其进行参数化分析。

5.3 弹簧参数化模块的建立

在工程实际中产品的设计都需要反复进行“设计-建模-分析-修改设计-再建模-再分析”的过程,当模型复杂或者是需要修改较多时,上述过程将变得非常繁琐和复杂,直接影响设计分析的效率[68]。

针对以上问题,ANSYS所提供的APDL语言可对ANSYS软件进行封装,建立智能分析的手段,为用户提供了自动完成上述循环的功能。使用APDL语言可以更有效地进行分析计算,使用户对设计或分析属性有控制权,如尺寸、材料、载荷、约束条件和网格密度等,实现参数化网格划分、参数化定义材料、参数化定义载荷和边界条件定义、分参数化析控制和求解以及参数化后处理。编辑定义用户宏的缩写,将宏和添加的用户工具条建立相对应的关系[69]。在调用宏文件的时候,只要单击相应的快捷键即可完成相应宏的功能。

螺旋弹簧有限元静态分析系统的框架图如图5-4所示。前处理程序宏、求解运算程序宏和后处理程序宏分别在ANSYS的前置处理器、求解运算器和后置处理器中运行,后处理查看宏在POSTl通用后处理器中运行。本文程序用APDL语言编写宏文件分别实现上述功能。

图5-4 螺旋弹簧有限元静态分析系统框架图

Model.mac:导入螺旋弹簧三维实体模型,实现选择材料类型、单元类型和网格划分的功能,存储有限元模型spring.db文件。

Force.mac:定义接触对,施加必要的边界条件,约束载荷、力、对称条件等。

57

Deformed.mac:绘制螺旋弹簧总变形图。 Stress.mac:绘制螺旋弹簧等效应力图。 Avi.mac:动画显示螺旋弹簧的等效应力图。

然后,在ANSYS软件的操作界面的工具条上添加宏文件的快捷键。修改ANSYS系统文件“start110.ans”,该文件一般位于ANSYS软件安装目录下,打开D:\\Program

Files\\Ansys Inc\\v110\\Ansys\\apdl\\start110.ans,在该文件的最后添加程序命令,用/PSEARCH命令设置弹簧静力分析系统专用宏文件的存放路径,这里把上述5个宏利用APDL语言命令*ABBR文件存放在C:\\Documents and Settings\\Administrator中,

定义宏文件的缩略语快捷键,分别调用相应宏文件,以实现其功能。在start110.ans文件最后添加如下命令,然后覆盖原有的D:\\Program Files\\Ansys

Inc\\v110\\Ansys\\\\apdl\\start110.ans文件:

/PSEARCH, C:\\Documents and Settings\\Administrator *ABBR,Model,Model.mac *ABBR,Force, Force.mac *ABBR,Deformed,Deformed.mac *ABBR,Stress,Stress.mac *ABBR,Avi,Avi.mac

添加完快捷键之后,重新启动ANSYS程序,进入ANSYS的操作界面,缺省状态下在工具条上已经添加相应的快捷键,如图5-5所示。点击相应快捷键,可分别运行对应的宏文件。

图5-5 添加的系统工具栏按钮

58

5.4 弹簧的参数化分析过程

5.4.1 前处理

根据设计分析要求,在选取设计模型的参数时,可以将所要定义的参数进行分为以下几类,即模型参数、材料特性和实常数参数,边界条件和荷载参数[70]。

(1)模型参数。模型参数就是指描述模型的结构尺寸。几何模型反映的是力学模型,它必须便于有限元的分析计算。因此,几何模型应在充分反映实际机构的几何特征和受载的前提下进行合理简化。

(2)材料特性和实常数参数。材料特性参数主要包括材料密度、泊松比、弹性模量等,选取的材料不同,密度和弹性模量的取值也不同,泊松比的取值范围一般在

0.25-0.3之间,关于实常数的选取,对于不同的单元类型有不同的选择。

(3)位移约束和载荷参数。将约束和载荷参数化要根据实际情况采用不同的设置,如果载荷是随着时间或位置变化的,就要考虑通过数学函数关系来表达它们之间的关系,从而将其参数化[71-73]。本章螺旋弹簧主要是以压下位移的形式施加载荷的,不随时间和位置的变化而变化,只需要改变载荷值得大小即可。

螺旋弹簧在压下过程中,首先会发生弹簧支撑圈与弹簧座之间的接触,随着进一步的压缩还会发圈与圈之间的自接触,这就涉及到了接触问题。所以将弹簧和底座定义为接触体,把弹簧一接触的部分定义为自接触体。本文采用实体单元对弹簧进行网格划分,采用接触单元对上下底座进行网格划分。

单击如图5-5工具条中按钮“MODEL”,导入创建的弹簧模型,弹出如图5-6、

5-7所示,材料弹性模量和泊松比输入对话框,分别输入弹性模量和泊松比,单击ok继续执行下一步操作。

图5-6 弹性模量输入对话框

59

图5-7 泊松比输入对话框

点击ok,接着弹出如图5-8所示的网格划分大小输入对话框,根据情况分别输入弹簧的网格大小和底座的网格大小。单击ok按钮继续执行下一步操作。

图5-8 网格划分输入对话框

点击ok后,接着就生成了划分完网格后的弹簧有限元模型,如图5-9所示。

图5-9 网格划分后的有限元模型

5.4.2 载荷和约束处理

本文以螺旋弹簧为对象分析其承受轴向时的变形与应力作用,添加的边界条件包括约束和载荷。在进行边界条件设定时,将下端弹簧底座定义为刚体,在底座中心处添加固定约束,弹簧的固定端约束其五个自由度,可沿Z轴转动,同时要保证弹簧的上下两端相对于上下底座的径向位移为0。在弹簧设计计算中,接触问题尤其重要,将弹簧的两端易发生接触的部分定义为自接触体,把底座与弹簧支撑圈定义为接触体。

60

施加载荷:在实际工况中,弹簧主要以位移的形式施加载荷。所以,在进行分析计算时采用强制位移的的方式施加载荷。

对于不同载荷的添加,本文采用APDL的方式,创建交互式输入对话框,实现载荷的参数化加载。单击如图5-5工具条中按钮“FORCE”按钮,弹出图5-10所示的弹簧所受载荷输入对话框,输入位移载荷,单击ok键继续执行下一步操作。

图 5-10 载荷输入对话框

点击ok后,程序开始计算,施加载荷和约束图5-11所示。

图5-11 弹簧的载荷状态

输出弹簧垂直方向刚度特性线,如图5-12所示。

图5-12 弹簧垂直刚度特性线

61

5.4.3 后处理

ANSYS提供了两种类型的后处理器,即通用后处理器(POST1)和时间历程后处理器(POST26)[74]。通用后处理器主要用来查看和检查整个模型在某一载荷步和子步

(或某一特定时间点或频率)的结果。时间历程后处理器用于查看模型中指定点的分析结果随时间、频率的的变化关系。本文只在通用后处理器中查看结果分析。

采用APDL语言对弹簧进行后处理。首先查看弹簧受力后的变形情况。单击如图5-5工具条中按钮“DEFORMED”按钮,显示如图5-13所示的变形图。

图5-13 弹簧的变形图

查看弹簧加载后等效应力情况。Deformed.mac宏文件包含该宏命令流。点击如图5-5工具条中“STRESS”按钮,显示如图5-14所示的变形图。

图5-14 弹簧的应力云图

62

查看弹簧加载后的动画情况。Avi.mac宏文件包含该令流。单击如图5-5工具条中按钮“AVI”按钮,显示如图5-15所示的动画截图。

图5-15 弹簧的动画截图

5.5 参数化分析实例

应用以上参数化分析方法,采用APDL语言编写参数化的用户模块程序,将用户程序编写成一个个宏文件,实现悬架弹簧的参数化分析。

本文分五个程序模块实现悬架弹簧参数化分析,即参数化建模网格划分模块、参数化定义载荷模求解块、查看变形模块、查看等效应力模块和动画显示模块。最后给出水平刚度特性线和垂直刚度特性线,实现过程如下所示。

首先,导入弹簧三维模型,然后进行网格划分,如图5-16所示。

图5-16 悬架弹簧有限元模型

其次,定义约束,施加载荷,进行求解,如图5-17所示。

63

图5-17 弹簧载荷状态

最后,查看分析结果。通过后处理模块查看弹簧的变形、位移和等效应力分布图。如图5-18、图5-19、图5-20、图5-21所示。

图5-18 弹簧总变形

图5-19 弹簧等效应力分布云图

图5-20 弹簧Y向位移分布图

图5-21 弹簧Z向位移分布图

通过动画显示模块可以查看等效应力变化过程,如图5-22所示。

图5-22 动画截图

此弹簧形状不规则,不仅受到竖直方向的压力,还要受水平方向的侧向力。对于这种弹簧的刚度特性线不容易得到。但利用有限元可以算出它的垂直刚度特性线和水平刚度特性线。如图5-23和图5-24所示。

8000030000

60000垂直压力25000水平力垂直压力/牛40000水平力/牛20000 150001000020000500000

050100150200250300051015

垂直位移/毫米

水平位移/毫米

图5-23 垂直刚度特性线 图5-24 水平刚度特性线

5.6 弹簧模态分析

弹簧一般工作在交变载荷下,其动态性能是弹簧的重要特性,为此对弹簧进行模态分析。由模态分析理论可知,对弹簧进行模态分析求解的是弹簧的固有特性(固有频率和主振型)。因为固有特性与载荷无关,所以忽略外部载荷的作用。

就弹簧的动态特性而言,对弹簧的有限元模型进行分析,施加实际边界条件约

65

束,能更精确地反映出弹簧在工作时的动态性能。本文根据弹簧实际工况添加边界条件如下:弹簧低端固定,顶端添加X、Y方向约束。提取弹簧的前10阶模态,其固有频率计算结果如表5-1所示。

表5-1 前十阶固有频率

阶次 固有频率 阶次 固有频率

1 2 3 4 5

22.696 24.351 36.22 37.408 66.9 6 7 8 9 10 74.277 87.819 .298 105.587 119.32

图5-25到5-34为提取的弹簧的前10阶模态振型。弹簧的第一阶模态振型为沿

Z轴压缩;弹簧的第二阶模态振型为弹簧绕Z轴扭转;弹簧的第三阶模态振型为绕Y轴弯曲;弹簧的第四阶模态振型为沿Z轴压缩并绕X轴弯曲;弹簧的第五阶模态振型为沿Z轴的二阶压缩;弹簧的第六阶模态振型为绕Z轴的二阶扭转;弹簧的第七阶模态振型为绕X轴的S形弯曲;弹簧的第八阶模态振型为绕Y轴的S形弯曲;弹簧的第九阶模态振型为沿Z轴的三阶压缩;弹簧的第十阶模态振型为绕Y轴弯曲。

图5-25 第一阶模态振型 图5-26第二阶模态振型

66

图5-27第三阶模态振型 图5-28第四阶模态振型

图5-29第五阶模态振型 图5-30第六阶模态振型

图5-31第七阶模态振型

图5-32第八阶模态振型

67

图5-33第九阶模态振型

图5-34第十阶模态振型

5.7本章小结

本章内容是弹簧参数化有限元分析模块的实现。对ANSYS软件进行了简单地介绍,讲述了ANSYS二次开发的必要性,详细叙述了APDL语言,阐述了采用APDL进行弹簧参数化有限元分析的实现过程。利用APDL创建了弹簧的有限元静动态分析系统,通过编写宏程序实现有限元建模的参数化,将宏和创建的专用的工具条建立起相互对应的关系,并且创建了友好的用户交互界面,使得设计人员可以很方便的利用有限元分析软件对弹簧进行分析设计。

68

结 论

本文基于Matlab研究了弹簧优化设计方法,研究了Pro/E和ANSYS二次开发的通用方法,实现了弹簧优化设计、参数化建模和有限元分析。使企业的设计人员在不需要完全掌握优化理论、有限元分析方法和技巧的情况下,就可以对圆柱螺旋弹簧进行分析和设计,避免了重复性操作,提高了设计的效率和质量。本文的主要研究成果如下:

(1)建立了圆柱螺旋弹簧优化设计数学模型,利用MATLAB的优化工具箱和图形得到圆柱螺旋弹簧用户界面开发环境GUIDE创建了圆柱螺旋弹簧的优化设计系统,结构参数优化结果。

(2)采用Pro/TOOLKIT工具进行Pro/E二次开发,创建了圆柱螺旋弹簧参数化建模模块,所开发的模块能够根据用户输入的参数精确而快速地生成弹簧的三维模型。

(3)将ANSYS二次开发技术应用于圆柱螺旋弹簧有限元结构分析过程,并开发出正确、实用的程序模块,嵌入ANSYS软件中并作为ANSYS程序的一部分。参数化技术、有限元计算有机的结合在一起,使得结构设计的智能化程度得到了较大的提高。

由于时间和能力所限,本课题完成了如上内容的研究和开发工作,但还存在一些相关问题有待于进一步完善,对今后在该问题的继续研究提出几点意见,仅供参考:

(1)本文只对圆柱螺旋弹簧进行了优化设计和参数化设计,其他类型弹簧的优化设计和参数化设计还有待开发,弹簧标准件库有待扩充;

(2)本文对于圆柱螺旋弹簧的有限元分析系统的定制和二次开发主要是通过APDL程序工具来实现的,在功能和通用性方面还有待进一步提高;

(3)界面美观、友好以及操作人性化等方面值得进一步优化。

69

参考文献

[1] 张英会,刘辉航,王德成.2. 弹簧手册[M].北京:机械工业出版社,2008:1-310. [2] 成大先.机械设计手册[M].北京:化学工业出版社,2004:1-10. [3] 刘波.汽车悬架弹簧及其发展趋势[J].现代零部件,2007,(12):56-59. [4] 汪琪.机械零件设计问题解析[M].北京:中国致公出版社,1993:390. [5] 吴宗泽.机械设计师手册[M].北京:机械工业出版社,2009:3105.

[6] 张伟社,杨小安.圆柱螺旋弹簧的简化设计[J]. 机械设计,1996,(8):24-32.

[7] 冯守卫,罗宁.圆柱螺旋弹簧设计的中的几个问题[J]. 西安公路交通大学学报,1996,

(3):105-108.

[8] 赵菊初.再谈圆柱螺旋弹簧设计方法的改进[J]. 现代零部件,2003,(4):18-22. [9] 郭维强,军陈,连克难.圆柱螺旋弹簧的可靠性设计[J].机械,2002,(5):63-.

[10] 范俊,米彩盈.基于子模型技术的螺旋弹簧应力分布的有限元分析[J].机械,2010,(9):

22-24.

[11] 张策,马力,王皎.非线性螺旋弹簧弹性特性的有限元分析[J].机械设计与制造,2005,

(9):3-5.

[12] 楼乐明,孙蔚,刘宪民.基于ANSYS的悬架弹簧快速开发[J].装备制造技术,2009,(11):

63-.

[13] 李建霞,黄阳.弹簧计算机辅助设计系统的研究与开发[J].机电产品开发与创新,2005,

(2):58-59.

[14] 谈梅兰.疏圈螺旋弹簧压缩时的强度、刚度、和稳定性[J].华东船舶工业学院学报,2000,

(2):66-69.

[15] 韩晓娟.拉压螺旋弹簧的疲劳强度设计[J].机械设计与制造,2005,(2):-65. [16] 罗辉.圆柱螺旋弹簧防断裂破坏设计与计算[J].中国机械工程,2005,(3):55-57. [17] E. Zahavi. The Finite Element Method in Machine Design. Prentice Hall, 1992:305.

[18] 张静,刘永均,李柏林.圆柱螺旋压缩弹簧的多学科协同优化设计[J].机械设计与制造,

2010,(3):46-48.

[19] 甘永利,张福兴.弹簧的优化设计[J].光电技术应用,2003,18(4):67-70. [20] 龚讯.汽车悬架弹簧向高强度方向发展[J].机电新产品导报,2003,18(3):67-70.

70

[21] 孙云秋.汽车悬架弹簧的生产与技术发展[J]. 弹簧工程,2003,(2):34-37.

[22] L. Lindkvist.Three-Dimensional Load-Deformation Relationships of Arbitrarily Loaded Coiled

Springs[J].Machine and Vehicle Design,1995,(5):363-371.

[23] Y. Prawoto, M. Ikeda, S.K. Manville, A Nishikawa.Design and failure modes of automotive

suspension springs[J].Engineering Failure Analysis,2008.

[24] 王桢,付仁钰.汽车弹簧用钢的弹性减退行为的实验评估[J].特殊钢,2002,(2):26-28. [25] 张开运,田怀文.基于UG的产品级三维参数化设计研究[J].机械,2011,(2):45-47. [26] 沈立峰.SolidWorks的二次开发及参数化设计[J].机电信息,2010,(2):23-25.

[27] 陈桦,范晓斌.基于Pro/E二次开发的零件参数化设计系统的研究[J].机械设计与制造,

2009,(11):52-55.

[28] 张峰,李兆前.参数化设计的研究现状与发展趋势[J].机械工程师,2002,(1):13-15. [29] V. I. Klejn, A. Avdeeno.Modernization of the Sintering Machines[J].Stal', 2003, (1): 11-12. C. R.

Mischke, J. E. Shigley.Mechanical Engineering Design[J].McGraw HILL,2001:1248. [30] 龚纯,王正林.精通MATLAB 最优化计算[M].北京:电子工业出版社,2009:26-72. [31] 李建霞.弹簧计算机辅助设计系统与研发[D].武汉:华中科技大学水利工程学科硕士学位论

文.2005:1-16.

[32] Kalicka Renata, Pietrenko Dabrowska Anna.Improving Full-Scale Transmission Tower Design

through Topology and Shape Optimization[J].Journal of Structural Egineering. 2006,13(5):781-790.

[33] Mahmood M. Shokrieh, Davood.Analysis and Optimization of a composite leaf

spring[J].Composite Rezaei. 2003,(60):317-325.

[34] 曹坤,苏桂生.基于MATLAB的圆柱螺旋弹簧优化设计[J].机械工程与自动化,2007,(5):

39-42.

[35] 崔志全,赖一楠,赵韩涛.MATLAB2009从入门到精通[M].北京:中国铁道出版社,2001:

1-12.

[36] 李南南,吴清,曹辉林.MATLAB7简明教程[M].北京:清华大学出版社,2006:26-56. [37] 侯顺强,张丽丽.螺旋圆柱压缩弹簧优化设计[J].煤矿机械,2006,27(2):201-204. [38] 王中鲜.MATLAB 建模与仿真应用[M].北京:机械工业出版社,2011.8:8~30. [39] 杨高波.精通MATLAB 混合编程[M].北京:电子工业出版社,2006:20-28.

71

[40] 文熙.Pro/ENGINEER野火版4.0宝典[M].北京:电子工业出版社,2008:5-6.

[41] 杜平安,廖伟智,黄浩.现代CAD方法与技术[M].北京:清华大学出版社,2008:220-238. [42] 博创设计坊.Pro/ENGINEER Wildfire4.0零件设计[M].北京:清华大学出版社,2008:

220-238.

[43] 李世国. Pro/TOOLKIT程序设计[M].北京:机械工业出版社,2003:20-320.

[44] 张继春.Pro/ENGINEER二次开发实用教程[M].北京:北京大学出版社,2003:36-85. [45] 李素若.C++面向对象程序设计[M].北京:化学工业出版社,2008:20-23.

[46] 吴立军, 陈波.Pro/ENGINEER二次开发技术基础[M].北京:电子工业出版社,2006:5-135. [47] 王文波,肖承翔,王云锋.Pro/E Wildfire 4.0二次开发实例解析[M].北京:清华大学出版

社,2010:1-118.

[48] Wheeldon, David Bringing.The benefits of CAD to the plant[J].Process Engineering

(London),1992,73(5):129-131.

[49] J.H.Dong.Research on CAD/PDM integration[J].Mechanical Science and Technology,

2001,20(2):288-290.

[50] Chu Chih-Hsing, Song Mu- Chi, Luo Vincent C S.Computer aided parametric design for 3D tire

mold production[J].Computers in Industry, 2006, 57(1): 11-25.

[51] M. B. Norton, P. J. Leonard.An Object Oriented Approach to Parameterized Electrical Machine

Design[J].Transactions on Magnetics, 2000, 36(4): 1686-1691.

[52] Xiangxu M.A.Survey of the Research Works on Parametric Design[J].JOURNAL OF

COMPUTER AIDED DESIGN AND COMPUTER GRAPHICS,2002,(14): 1086-1090. [53] 狄子健.基于Pro/E的减速器产品参数化设计[D].大连:大连理工大学机械电子工程学科硕

士学位论文.2008: 1-35.

[54] 朱琦琦.基于Pro/TOOLKIT的回转体零件三维自动建模技术研究[D].昆明:昆明理工大学

机械制造及自动化学科硕士学位论文.2005: 11-18.

[55] 刘斌,储伟俊.基于Pro/E的圆柱螺旋弹簧仿真[J].机械工程师,2007,(9): 115-117. [56] 王剑松.基于岸桥的大型设备参数化设计系统研究[D].大连:大连理工大学工业工程学科硕

士学位论文.2007: 23-26.

[57] 崔华伟.龙门起重机门架结构的参数化设计[D].武汉:武汉理工大学机械设计及理论学科硕

士学位论文.2009: 37-38.

72

[58] 孙丽.基于Pro/E二次开发的曲轴设计系统[D].哈尔滨:东北林业大学载运工具运用工程学

科硕士学位论文.2005: 12-15.

[59] 胡国良,任继文.ANSYS有限元分析入门与提高[M].北京:国防工业出版社,2009: 158-170. [60] 陈精一,蔡国忠.电脑辅助工程分析ANSYS使用指南[M].北京:中国铁道出版社,2001:

57-60.

[61] 刘国庆,杨庆东.ANSYS工程应用教程机械篇[M].北京:中国铁道出版社, 2003: 52-55. [62] 周宁.ANSYS-APDL高级工程应用实例与二次开发[M].北京:中国水利水电出版社,2007:

45-47.

[63] 龚曙光,谢桂兰,黄云清.ANSYS 参数化编程与命令手册[M].北京:机械工业出版社,2009:

6-9.

[] 施琴,彭国勋,贺炜.参数化技术在开发机械系列产品中的应用[J].西北轻工业学院学

报.2001.5: 46.

[65] 丁志友.悬架螺旋弹簧的优化设计研究及应用[D].上海:同济大学车辆工程学科硕士学位论

文.2009: 45-47.

[66] 赵九峰.基于APDL的船用起重机吊臂参数化设计及优化[D].大连:大连理工大学工业工程

学科硕士学位论文.2008: 32-43.

[67] 谭珂.非线性弹簧汽车悬架设计理论研究[D].上海:同济大学车辆工程学科博士学位论

文,2003,1-63.

[68] 商跃进.基于ANSYS的圆柱螺旋弹簧优化设计[J].铁道机车车辆,2007,(1): 15-17. [69] 段志东,张克华.ANSYS图形用户界面二次开发[J].兰州铁道学院学报,2002,(4): 36-38. [70] J.H.Dong.Research on CAD/PDM integration[J].Mechanical Science and Technology,

2001,20(2): 288-290.

[71] W. G. Jiang, J. L. Henshall.A Concise Finite Element Model for Simple Wire Rope

Strand[J].Int.J.Mech.Sci, 1999,41(2): 143-161.

[72] R. L. Mott.Maachine Elements in Mechanical Design[J].Design. Prentice Haall,1999,(6):16-21. [73] 博弈创作室.APDL参数化有限元分析及应用实例[M].北京:中国水利水电出版社,2004:

-92.

73

74

致 谢

本论文是在导师黄文教授悉心指导下完成的。黄老师渊博的专业知识,诲人不倦的高尚师德,平易近人的人格魅力对我影响深远。本论文从选题到完成,几易其稿,每一步都是在导师的指导下完成的,倾注了导师大量的心血,在此我向导师表示崇高的敬意和衷心的感谢!

在此要特别感谢课题组同门所给予的宝贵意见和帮助!两年多来,与课题组同门的共同相处,让我学到了不少东西,也带给我很多快乐,在此向他们表示深深的谢意!

感谢我的父母对我继续攻读研究生的支持,还要感谢我的室友在这两年来对我生活和学习上的帮助。

回想整个论文的写作过程,虽有不易,却让我除却浮躁,经历了思考和启示,也更加深切地体会了学习的精髓和意义,因此倍感珍惜。在此谨向所有关心、帮助我的人致以由衷的感谢!

最后,感谢各位评审和答辩老师。

75

作者简介

张涛,男,汉族,河北省保定市人,1984年生。2007年毕业于河北省华北电力大学大学机械工程学院机械工程及其自动化专业,获得工学学士学位。2009年考入燕山大学机械工程学院机械设计设计及理论专业攻读硕士学位。

76

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务