液压缓冲器仿真与优化设计
大连理工大学
硕士学位论文
多孔式液压缓冲器仿真与优化设计
姓名:孙爽
申请学位级别:硕士
专业:机械设计及理论
指导教师:苗明
20061201
大连理工大学硕士学位论文
摘要
作为在运行过程中减缓刚性碰撞的安全保护装置,缓冲器被广泛地应用于起重运
输、冶金、港口机械、铁道车辆等各个领域,其性能好坏直接影响到操作人员安全、机器使用寿命等许多因素,因此在生产中具有非常重要的地位。
缓冲类产品的种类很多,本文的研究对象为多孔式液压缓冲器,主要依靠设计在油
缸壁上的一系列特殊排列的阻尼小孔来实现缓冲。其特点是结构紧凑,吸能量大,且无反弹。但目前国内对该类缓冲器阻尼孔的设计大多凭经验,以等孔径、等间距排布,很难达到最佳的缓冲效果。
针对这一问题,本文对多孔式液压缓冲器进行深入研究,首先以LQH-HY型液压
缓冲器为基础建立了缓冲过程的数学模型,应用MATLAB软件将数学模型转化为仿真模型并在计算机上求解,得到一系列仿真曲线,以此为依据对影响其动态性能的各参数进行分析,找到其中最重要的因素——阻尼孔参数。接下来,对关键构造阻尼孔进行优化设计。选择孔径和孔间距参数作为设计变量,实际缓冲效率与理想值的差作为目标函数,采用粒子群算法作为优化方法,经过一系列寻优迭代,找到相对合适的参数组合,使缓冲性能得到改善。优化后的缓冲器较优化前的相比,缓冲力峰值大大降低,缓冲效率和吸能量都提高了20%左右。
文中在优化求解时所采用的粒子群优化算法,能够较好的克服传统算法搜索效率
低、速度慢、易陷入局部最优解的弊端。由于粒子群算法产生较晚,目前在工程上应用还不多。本文将基本粒子群算法应用于工程实际,并得到较好的优化效果。
最后,应用MATLAB与VisualBasic6.0混合编程的方式设计了阻尼孔优化软件,
用简洁友好的界面将结果显示出来。并通过具体实例介绍了软件使用方法,验证了软件的实用价值。关键词:液压缓冲器;仿真;粒子群优化算法;混合编程
多孔式液压缓冲器仿真与优化设计
SimulationandOptimumDesigntotheMulti-orificeHydraulicBuffer
Abstract
Assafeguardforpreventingrigidcrashwhilemoving,bufferisappliedto
offieldssuch髂liftingawiderangeequipment,metallurgy,portmachinen,,rail
ontruckete.Sinceoperatorsafety,maintenanceandmachinelifetimedependitsperformancedirectly,bufferplays
importantrolesinindustryproduction.
oneThemulti-porehydraulicbufferwhichis
thispaper.Ittakeseffectbysome
accordingtotypeofcushioningproductsisstudiedinporesonthewallofpressurechamberwhicharrangedlowerspecialrules.Crampedstructure,highpower-absorbingability,and
arereboundforcethemainadvantages.However,itmostlyreliesonexperience
oncurrentlywhendesigninghydraulicbuffer.Dampedorificesareotbllarrangedsimplyequantend
equidistant.Soit’Sdifficulttoacquirethebestcushioningeffect.
onTosolvethisproblem,someresearchesmulti—orificehydraulicbufferarefinished
here.Firstofall,amathematicalmodelofcushioningprocessbuffer
inbasedONLQH・HYDhydraulicisestablished.AfterbeingtransformedintosimulationmodelbyMATLABandsolvedcomputer,severalimportantsimulationgllrvesarecreated.Thenaceordingtothesimuiationresult,influenceofsomeparameters
diametertothecushioningperformanceisdiscussed.Tooptimizeorifice,themost
PSOarithmeticis
variables,error
isimportantthevaluefactorforcushioning,antheoptimizedmethodofcalleddesignadopted.Withandspacingintervalorificeasbetweenactualandidealvalue∞object
appliedhereforfunctioIl,aseriesofproperdatafinally.toattainedafteriteratedmanytimes.BettercushioningeffectisachievedParticleSwarmOptimizer口SO)isoptimization.ComparedclaSsical
methods,itisanewmethodinengineeringfield诵tlllessapplication.Nevertheless。ithasbetterperformancewhen
Intheend,based
user-interfaceisavoidingtrappinginlocaloptimum.Asatisfyingresultisonobtained.VB-and-MATLAB.orifice-optimizing
andthesoftwarementionedabove.soRwarewith衔endlycasesdevelopedbymixed-programmingmethod.Severalspecificareprovidedtoveilfythemethod
KeyWords:Hydraulicbuffer:Simulation;PSOarithmetic:Mixed-programming
独创性说明
作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工
作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。
作者签名::匕蠡日期:卫D,、t2
大连理工大学硕士研究生学位论文
大连理工大学学位论文版权使用授权书
本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。
作者签名:导师签名:.出.:k!丞
型!』年』生月鱼L日
大连理工大学硕士学位论文
1绪论
1.1缓冲器概述
缓冲器系用于起重运输、冶金、港口机械、铁道车辆等机械设备,在运行过程中减缓刚性碰撞的安全保护装置,它能够延长冲击载荷的作用时间,吸收并转化冲击载荷的作用能量,从而起到保护设备的作用。随着现代化生产中应用缓冲器的各种机械(尤其是起重机运输设备)迅速地向大型化、自动化、高速化发展,因各种误操作而发生碰撞事故的机会有所增加,碰撞强度和产生的破坏性大大增强,因此,对缓冲器的性能要求也越来越耐”。
图1.1缓冲器在工业上的应用
Fi91.1ApplicationofbufferOnindustry
1.1.1缓冲器的分类
缓冲器的类型多种多样。按结构可分为:全橡胶类、橡胶一金属组合类、金属弹簧类等。按采用的减振材料可分为:橡胶缓冲器、聚氨脂缓冲器、弹簧缓冲器、液压缓冲器等。
(1)橡胶缓冲器
橡胶缓冲器结构简单,制造方便,成本较低。它可以制成各种形状和各种不同硬度的制品。并具有良好的弹性,足够的强度;无论在拉、压、剪切和扭转等应力状态下,变形都很大;在交变应力下不易出现疲劳现象;可使隔振系统的自振频率做的很低。因弹性变形小,所以吸收动能有限。允许的环境温度为.30--,+55"(2,橡胶体不应与酸、碱性及其他有害化学物品接触。橡胶缓冲器适用于运动速度不超过O.83m/s的机械上,图
1.2为橡胶缓冲器结构简图。
多孔式液压缓冲器仿真与优化设计
』==
I『
名鹱
。—汐}
图1.2橡胶缓冲器结构简图
Fig.1.2Structuresketchofrubberbuffer
陀)聚氨酯缓冲器
聚氨酯发泡塑料是一种轻质多孔弹性材料,除了能耐油、耐热、耐老化、耐化学试剂、密度小、强度大、隔音、隔热等特性外,同时还有优赵的吸振性能。由于聚氨酯泡沫塑料是一个闭式多孔的弹性体结构,在外力作用下,能吸收外部的碰撞功能,发泡塑料内部产生的反力足以使运动体产生大的减速度。随着动能的减少,塑料体内反力也减少。当反力与运动体的外摩擦力相当时,两者便静止不动。当运动体反向运行脱离缓冲器时,泡沫塑料就恢复到初始自由状态,图13为聚氨酯缓冲器的结构筒图。
图1.3聚氨酯缓冲器结构简图
Fi91.3Structuresketchofpolyurethanebuffer
该缓冲器的特点是:
①寿命长。当压缩量为60%时,其冲击寿命达20万次以上。在这个寿命期内,缓冲器的特性维持不变。②构造简单,维修方便。如要调换,只要拆装四个螺栓即可。
大连理工大学硕士学位论文
⑧适用于--20℃~+70"C,短时间可用于130℃,具有耐酸、耐油和耐水性能,不易老化,可在室内外工作。
④体积小,重量轻而缓冲容量大,它的自重为弹簧缓冲器的1/15(相同容量情况下)。⑤能经受大的轴向载荷,但横向载荷作用易使塑料体剪断。
(3)弹簧缓冲器
钢弹簧缓冲器具有材质均匀、性能稳定、承载能力高、耐久性好、计算可靠等优点。如图1.4,弹簧缓冲器结构简单、维修方便、吸收能量大,几乎不受温度影响。当其发生碰撞后,内部的弹簧被压缩,并将动能的大部分转变成压缩势能,继而获得缓冲效果。但在使用中发现,由于势能释放作用,将会产生强烈的回弹力。而其缓冲行程与阻抗力又呈线性规律,这就决定了弹簧缓冲器不适用于运行速度大于2m/s的场合。而且金属弹簧的阻尼小,须另加阻尼较大的材料配合使用,才能达到较好的效果。
o黎
图1.4弹簧缓冲器结构简图
Fig.1.4Slraeturesketchofspringbuffer
(4)液压缓冲器
液压缓冲器主要由撞头、复位弹簧、活塞杆、活塞、缸套及缸体等构成,通过缝隙或阻尼小孔的液阻作用将冲击动能转化为热能耗散于空气中,从而达到缓冲和减速作用。其显著特点是抗力均衡、缓冲能量大。在压缩量和最大作用力都相同时,液压缓冲器比弹簧缓冲器几乎能多吸收1倍的能量,所以在高速运行的起重机上,一般都采用液压缓冲器。按节流方式不同,液压缓冲器可分为芯棒式、阀式、多孔式(如图1.5(a)、∞、(c)).本课题研究对象为多孔式液压缓冲器。
一3一
多孔式液压缓冲器仿真与优化设计
l一塞头{2一加速弹簧{3一壳体:4一复位弹簧;5一芯轴;6一括塞
(a)芯棒式液压缓冲器
(8)Mandrelhydraulicbuffer
1——撞头2—嚣l杆3——嚣■4——Ⅱ■5——一蕊6——一靡7一+雎
(b)阀式液气缓冲器
(b)Valvehydraulicbuffer
(c)多孔式液压缓冲器
(c)Multi-orificehydraulicbuffer
图1.5几种常见的液压缓冲器结构简图
Fig.I.5StrucUn'esketchofcommonhydraulicbuffer一4
大连理工大学硕士学位论文
1.1.2缓冲器基本原理与性能评价
(1)基本原理
缓冲器一般为筒形结构,它主要由承压件、缓冲件(介质)、复位件及壳体等四部分构成。其基本工作原理如下:冲击载荷作用于承压件时,缓冲件(介质)吸收冲击动能并将其转换为热能耗散掉或转换成弹性能储存于复位件中;待冲击物移去时,复位件的弹性能(恢复能)使承压件恢复至冲击前的初始位置。通常要求在无反冲击情况下,复位时间尽量短。
(2)性能评价
衡量缓冲器性能优劣的主要指标是容量和缓冲效率。容量是指缓冲器所能吸收的冲击物的动能,从缓冲特性曲线上看是缓冲力.行程曲线与坐标轴所包围的面积。缓冲效率是指实际的缓冲力.行程曲线所包围的面积与最大缓冲力和缓冲行程所构成的长方形面积之比。
显而易见,缓冲效率越高,相同体积的缓冲器吸收的能量就越多,缓冲性能越好。理想的缓冲特性曲线为矩形,如图1.6(a)所示,此时缓冲效率为100%。但实际上,缓冲力的建立和消失都要有一个过程,因此,实际的缓冲特性曲线如能达到如图1.6Co)历示的梯形曲线即认为缓冲效果令人满意,将此梯形缓冲力曲线称为缓冲器的理论曲线【2】。
嘏十力
BuPgerlng
“mf矿cf
傩Diffi'tarw-f(m,傩DIshnce(m)
(a)理想的缓冲特性曲线(”理论的缓冲特性曲线
(a)PerfectcushioningperformanccCIII'VCCo)Theorycushioningperformancecurve
图1.6缓冲特性曲线
Fig.1.6Cushioningperformancecurve,
不同类型缓冲器的F-s曲线如图1.7所示。显而易见,以液压油为缓冲介质的缓冲器,其缓冲效率远大于另两种缓冲器的缓冲效率。以机构弹簧或橡胶作为缓冲件的缓冲器,弹簧或橡胶兼作复位件,缓冲器接受的冲击能大部分转换为弹性能储存于介质中构成恢复能;而以液压油为缓冲介质的液压缓冲器,复位件为机械弹簧、橡胶、惰性气体之一或它们的组合,缓冲器接受的冲击能大部分通过节流小孔或缝隙的液阻作用转换成
多孔式液压缓冲器仿真与优化设计
热能耗散于空气中,仅有一少部分冲击能变成弹性能储存于复位件中。
裳
七
蜒
漉压
0123
行崔
(1)行程一是时(2)缓冲力一定时
图1.7不同类型缓冲器的F.S曲线
Fig.1.7F-Scurveofdifferentbuffers
1.2缓冲器的现代设计方法
对于缓冲器的研究,传统的方法是依据个人经验累积而成的,即以经验做出初步设计,由此初步设计去做出原始模型,再做出成品。成品完成以后,进行实验以确保产品的可靠性,此种方法基本称为试误法,当初级成品经测试不能满足工程或品质上的需求时,回去修改原设计图,做出试品重新测试。显而易见,此方法费时且成本相当高。
随着科技工业的进步,计算机科技突飞猛进,将计算机应用于产品的开发设计全过程,已成为近代工业提升竞争力的主要方法。计算机辅助设计(CAD)技术也因此而迅速发展起来。CAD技术是分析和综合相结合的复杂过程,包括大量的数值计算、参数查找和绘图等繁琐工作,也包括创造性思维、经验运用和判断评价等智能行为。计算机的应用,能充分发挥其强大逻辑运算功能和大容量信息存储与快速信息查找能力,完成信息管理、数值计算、分析模拟、优化设计和绘图等多项任务,而设计人员则可对计算、处理的中间结果做出判断、修改,集中精力进行有效的创造性思维。设计人员与计算机紧密结合,发挥各自特长,将人的创造能力和计算机的高速运算能力、巨大存储能力和逻辑判断能力很好地结合起来,更好地完成从设计方案的提出、评价、分析模拟与修改到具体设计实现的设计全过程。为了克服传统设计方法的缺点,减少缓冲器样机试验费用,并缩短开发周期,利用CAD技术进行缓j中器的设计开发已经成为必然趋势。
大连理工大学硕士学位论文
其基本过程是:基于缓冲器的结构建立模型,经模拟分析得到其动态特性,在此基础上对缓冲器的特性和结构进行优化设计。该过程的核心问题是:在设计阶段准确预测缓冲器特性;关键是如何建立符合缓冲器实际结构、流体性质参数的分析模型,并进行缓冲器内部工作特性的数值模拟和优化。
1.3国内外发展情况
国外缓冲器的研究和发展速度很快,目前已形成了一个专门的缓冲器行业。美国、日本及欧洲一些工业发达国家缓冲器的制造厂商和公司不胜枚举,如美国的ACE公司、德国的FESTO公司、英国的OLEO公司等。
缓冲器工业的发展趋势之一是计算机化,国外的生产商们在缓冲器生产的各个阶段,采用不同的计算机辅助设计及仿真方法,不但提高了生产效率和产品质量,并且在很大程度上降低了生产成本,缩短了开发周期。例如,ACE公司在液压缓冲器的设计阶段与ADINA公司合作,利用其CFD软件对缓冲过程建立仿真模型进行分析计算,从而得到缓冲器的缓冲特性曲线、结构应力、变形等重要数据(如图1.8)。FESTO公司开发了面向用户的缓冲器选型软件,遥过这些软件,用户可以根据自己的实际应用要求,在输入一些简单的数据后从公司的产品目录中选到合适的缓冲器。软件界面如图1.9所示【3】。
图1.8ACE公司利用ADINA软件对缓冲器进行仿真分析
Fig.1.8ACEcompanytilal【easimulatedanalysisusmgADINAsottware
多孔式液压缓冲器仿真与优化设计
图1.9FESTO公司的缓冲器选型软件界面
Fig.1.9InterfaceofbufferchoosingsoftwarefromFESTOcompany
在中国,随着制造业的不断发展,对缓冲器的需求日益增多,但国内缓冲器的专门制造厂商及可提供的产品还极少,在缓冲器的设计上大多数仍停留在传统设计阶段。虽然最近几年,许多高校和研究机构开始致力于将计算机仿真技术应用于缓冲器的设计中,在理论研究方面也取得了很多成果,但这些研究成果如何与生产实际结合,并在缓冲器的生产企业中得到应用和推广,仍是有待解决的重要问题[31。
1.4课题的主要工作
本课题以多孔式液压缓冲器为研究对象,对其缓冲过程进行仿真,得到缓冲特性曲线,通过对仿真曲线的分析,得出各参数对系统动态特性的影响规律,以此为依据对关键构造阻尼孔的相关参数进行优化,从而达到最佳的缓冲效果。具体实施步骤如下:
(1)应用液压流体力学、工程结构力学的基本原理,根据液压缓冲器的结构建立缓冲过程的数学模型。
(2)用MATLAB软件将数学模型转化为仿真模型,对系统的动态特性进行仿真,
输出仿真曲线。
大连理工大学硕士学位论文
(3)在确保仿真结果真实可靠的基础上,对仿真曲线进行分析,得出各参数对整个系统运动规律的影响。
(4)采用粒子群优化算法对阻尼孔参数进行优化,选择孔直径和孔间距为设计变量,以缓冲效率与理想值的接近程度为目标函数,通过迭代找到合适的组合,使缓冲性能达到预期的效果。
(5)作为研究工作的总结与归纳,采用MATLAB与VB混合编程的方式设计并编写多孔式液压缓冲器优化设计软件,将研究成果通过友好的窗口界面形式进行演示。--9——
多孔式液压缓冲器仿真与优化设计
2多孔式液压缓冲器
多孔式液压缓冲器是依靠分布在油缸壁上的一系列特殊排列的节流小孔实现缓冲的。节流小孔数目随缓冲位移加大而减少,从而达到匀减速缓冲。该类型缓冲器结构紧凑,吸能量大,且无反弹,多用于速度高于2m/s或运动质量较大的起重机上。
2.1结构特征和工作原理
l—籀头;2—话塞杆;3—弹簧;4-—缸盖
5—活塞;6一回流孔;7一缸套i8—缸体
9—阳尼孔;lO—底板;1l一海绵誓压嚣;
图2.1多孔式液压缓冲器结构简图
Fig.2.1SlzucturesketchofMulti-orificehydraulicbuffer
图2.1中缓冲器由撞头、活塞杆、弹簧、缸盖、活塞、缸套、底板等组成。当相对运动着的物体碰撞撞头l时,撞头通过活塞杆2,使活塞5向右移动,此时工作腔A室内油压急剧升高,油液在活塞作用下,从特殊排列的阻尼孔9向非工作腔B室流动(B室通过回流孔6与A室有杆腔相通,由于回流孔截面积远大于阻尼小孔总面积,认为B室与A室有杆腔具有相同的压强),活塞杆所占部分空间通过压缩海绵蓄压器来补偿,由于阻尼孔处流量限制,活塞的速度也受到限制,冲击物的动能大部分转化为油液的热能,并在空气中散发掉,从而达到缓冲的目的。外力消除后,在油压力和复位弹簧3的作用下,活塞恢复到原始位置141。
大连理工大学硕士学位论文
2.2缓冲参数计算
传统的缓冲器设计方法中,一些主要的缓冲参数是通过冲击工况来确定的。已知初始冲击速度vo、运动体质量肌冲击动力B,即可计算出所需缓冲器的缓冲行程、缓冲容量、缓冲时间、活塞有效面积、缓冲过程中活塞运动速度等参数18,12]。
(1)缓冲行程S
踮南2・【口埋】(研)、7(2.1)
式中[%】——容许的平均缓冲减速度(m/s2)。根据起重机设计规范中的要求,k。。】:掣4m/s2,c值取l厶1.5113】o
Ⅶ——碰撞瞬时的运动体的速度(m/s)5
(2)运动体作用在缓冲器上的动能%
%=_G.V02+兄.s二g(Ⅳ.m)(2.2)
式中G——运动体全部(不计挠性悬挂部分重量)自重(kgb
昂——冲击动力;
(3)缓冲过程中的活塞速度b
匕=vo(_to-t。)=△%(m/s)‘0(2.3)
这里的△数是个变量,当攻由初速度’协变到零(即&由零到to),则△由1变到零。
(4)缓冲时间to,活塞移动距离x
fo2南。)(2.4)当活塞速度由Ⅶ变到h,所经过的时间为&,可得
t,=to一△“=to(1一△)(s)(2.5)当在&时的活塞已移动的距离x:
川以一扣c2=rotx--监2to=Z-手-(1“郴(1“)(所)
(5)活塞有效面积彳油液对活塞的最大阻力(2.6)
多孔式液压缓冲器仿真与优化设计
y。=k彳=孓口缓卜∑矿(Ⅳ)(2.7)4=互—i一∽2),}吲一∑矽
^m“(2.8)
式中厶。——油腔的最大工作压强。
(6)小孔截流面积啦
由于该缓冲器是利用小孔的阻尼来达到缓冲作用的,根据水力学原理,可得如下关系式:
肚警(Ⅳ/∥)
式中,——液体工作压强,常取6-.-12Mpa;
K——考虑液压力的耗损及液流收缩系数的综合修正系数;
丫——油液的比重[N^。m3】;
巩——活塞移至X处的小孔截面积;
由2.9式可得:(2.9)
”舢,√芳c∥,
(7)碰撞瞬时缓冲器内的液体压力
显然,此时液体压强达到最大值,由式可得(2.10)
‰=警(Ⅳ/一)
(8)缓冲容量既㈣
(2.12)形一=!≥艺产G
2.3缓冲器的数值仿真(Ⅳ・历)缓冲器的缓冲容量%应满足下既≥%(2.13)
了解了多孔式液压缓冲的工作原理和主要缓冲参数后,下面应用流体力学及工程结构学理论建立该缓冲器的数学模型,对其工作的动态物理过程进行抽象的数字化描述,希望找到其中规律。
大连理工大学硕士学位论文
2.3.1前提假设
液压缓冲器的内部结构比较复杂,影响缓冲特性的因素很多,在不影响整体仿真结果的前提下可以对部分条件作以假设。
(1)假定缓冲器工作过程为绝热过程,在液压动力学中,充油和放油的时间在3分钟以下认为是等温过程。充油和放油的时间在1分钟以下可认为是绝热过程【51。而该液压缓冲器的缓冲过程一般不超过lOs,所以为绝热过程。
(2)因缓冲器内工作油的重力势能远小于其动能及压力势能,故不计工作油的重力。(3)假定活塞与缸筒、活塞杆与导套之间泄漏为零,如果活塞杆与导套之间配合适当,则按流体动力润滑理论建立的油膜压力可足以实现密封。
(4)不计压力及温度变化而引起系统刚性构件的弹性变形。由于液压缓冲器的工作腔内的压力很大,且在不断交化,系统刚性构件的弹性交形情况极为复杂,因此在仿真过程中忽略这些变形状况。
(5)因为活塞杆的质量较冲击物体质量小很多,认为活塞杆的初速度与冲击物体初速度相同。
2.3.2数学模型的建立
(1)活塞杆受力
K
].墨
%p4。
图2.2活塞受力分析图
Fi92.2Pistonforceanalysisdlart
由于上文假设(5)中已做说明,此处可将活塞杆与冲击物体当作整体考虑,故活塞杆受力分析如图2.2所示.
活塞端头右侧受油腔A室高压油作用,受力为plAl,端头左侧受油腔B室油液作用,受力为p2A2,活塞撞头右侧受到回复弹簧力日,左侧与冲击物体共同受冲击动力凡及初速度vo。另外,还有活塞端头与油腔内壁的摩擦力毋。根据牛顿第二定律列等式如下:
多孔式液压缓冲器仿真与优化设计
mbidv=P2如一p14+死一只一乃
式中:it/6——冲击物体质量7(2.14)
v——活塞杆运动速度;
p广一油腔A室油液压强;
见——油腔B室油液压强;
4l——油腔A室有效横截面积;
42——油腔B室有效横截面积;
乃——初始冲击动力;
F厂一活塞端头与油腔壁之间的摩擦力;砖一回复弹簧力。
(2)阻尼小孔流量方程
小孔流动根据孔的长度与直径的比值分三种,当小孔长径比L/d。<0.5时称为薄壁孔,L/d>4时称为细长孔,O.5<L/d≤4时称为短孔16】。
对于薄壁孔和短孔,流量方程均为:
q=Cd・A・(2.15)式中q——通过阻尼小孔的流量
p——液压油密度△r阻尼孔两侧压力差
Q——流量系数
A——小孔通流面积
而细长孔流动属于层流流动,其流量方程与圆管层流的流量方程相同,为:
1g:磐晰3,s
128r/Z(2.16)一…
式中fI——油液动力粘度
l——阻尼孔长度
d——阻尼孔直径
上述公式可综合成小孔流量综合表达式:
Q=K・A・肇”咖3/s)(2.17)一14
大连理工大学硕士学位论文
式中Ⅳ——系数,对于细长孔,K=南;对于薄壁孔和短孔,ji:=。J吾
历——指数,对于细长孔凹=1,薄壁孔廊=0.5,短孔0.5<廖<1
(3)工作腔流量连续性方程
在时间△t内,油腔A的流体体积变化主要来自以下二部分,
a.自阻尼孔流出的油液体积(忽略活塞与缸筒之间的泄漏):一q・At
b.油液被压缩的体积:一堕善虹
而油腔A的容积变化为:一Ai・Ax,则工作腔流量连续性方程如下:AI.缸:g.出+华
工——活塞杆的行程(2t18)式中K——液压油体积弹性模量
K——压缩过程中高压腔油液的体积,K=x・4
(4)由以上分析得状态方程组为:(2.19)
瓦dv=i1(一M+p:爿:+兄一乃+E)
等训。妄刊篑
dx(2.20)
dt
补充方程P2-Po=1(Mpa)
Vl=X。Al(2.21)(2.22)
(2.23)(m/s)F=聊6-石dv(Ⅳ)
2.3.3数学模型转化为仿真模型
在数字仿真研究过程中,当所研究对象的数学模型确定之后,就要以相应的数值计算方法对数学模型进行求解计算,以获取系统的动态响应。通常仿真求解是通过计算机程序的运行来实现的,即将数字模型转化为计算机能够处理的仿真模型,再选择合适的算法来求解。
上述状态方程是以常微分方程组形式存在的,目前用于求解微分方程的数值方法主要有:欧拉法和改进欧拉法、阿达姆斯法、预报~校正法、龙格一库塔法等,其中以四阶龙格—库塔法应用最广泛“四。因此,本文采用四阶龙格—库塔方法作为仿真计算方法,利用其公式转化后的仿真模型如下:
・P。I=,。+譬@II+2k”+2k”+t14)o
毛1=^(P。,%,b)
毛z=石(岛+等‘l’v+等%∥。+詈岛。)
毛,=石(以+譬%,V+旦2-。,%+旦2-:)
k14=^(p。+Ilkl3,V十Hk23。,z。+日毛3)
・‰。~。+詈眠+2k。+2”k)
七2l=厶(以,Vn,工。)
铲胁。+知”鲁t21n,Xn"l-一H2k31)
k=厶(p。+等k,V+等%。,h+导岛:)
后24=厶(p。+觑13,V+/-/k23。,Xn+Ilk33)
●苫。+1=工。+H(k,。+2k32+2k33+_i}34)
后3l=V月
%:v。+要%
j}。:v。+}Ji}。
.|}34=V^+Hk∞
‰——当t=n时刻缓冲柱塞的位移;
v。——当t=n时刻缓冲柱塞的速度5
厅——麴信积分的彤长。@㈣QQ㈣㈣仫绷卿亿泣卿鲫锄蚴㈣鲫㈣鳓鲫锄亿泣眨包眨泣像眨∽式中,岛——当t=n时刻矗腔的压力,
大连理工大学硕士学位论文
在计算时,选择合适的积分步长日是一项十分重要的步骤,因为四阶龙格—库塔法是一种近似的计算方法,如果日取得过大,则会使计算精度降低,严重时甚至会使结论相反,计算值不收敛;但若H取得过小,则会使计算时间成倍增加,影响仿真的效率。
在本文中,由于存在非线性因素及缓冲元件数量级上的差别,加之系统响应较快,状态变量值随时间作较大幅度的急剧变化,因此,从数值稳定性和计算精度两方面考虑,取计算步长H=0.0001。
根据以上算法,在计算机上使用MATLAB语言编写仿真程序,可以得出多孔式液压缓冲器的位移(时间)一缓冲力曲线、位移(时间)—速度曲线、位移(时间)一油压曲线、位移(时间)一加速度等各种仿真特性曲线。
将仿真所得特性曲线与理论曲线对照,形状和变化趋势都比较相符,证明数值仿真的计算方法是正确的。
2.4仿真结果分析
缓冲器的动态仿真结果——响应曲线,是缓冲器系统各主要变量在其动态过程中随行程和时间的变化曲线。对响应曲线进行分析,可以看出系统在其动态过程中的特性表现及各参数对系统特性的影响,从而为缓冲器系统的设计和改进提供必要的理论依据。2.4.1各主要仿真参数对系统的影响分析
(1)冲击工况的影响
图2.3冲击物质量影响曲线
Fig.2.3Theinfluencecurveofquality
多孔式液压缓冲器仿真与优化设计
图2.4初速度影响曲线
Fig.2.4Theinfluencecurveofinitialvelocity
冲击物质量坍6及初速度Ⅶ对缓冲特性的影响如图2.3、2.4所示,当冲击物质量一定时,以不同的初速度撞击缓冲器,随着初速度的增大,缓冲力峰值逐渐增大,缓冲行程有所增加;当初速度一定,以不同质量的物体撞击缓冲器时,随着质量增大,缓冲力峰值逐渐增大,缓冲行程有所增加,曲线形状与参数变化成正比,两者在一定范围内对缓冲特性曲线形状均无太大影响。
(2)结构特性参数的影响
①体积弹性模量
体积弹性模量是油液的一个重要的物理参数,表示油液可压缩性的大小,由下式定
AD
义:
式中K=矿。专告△yK——初始状态的油液体积
△矿——油液体积的改变量△P——与AV对应的油液压力的改变量(2.39)
大连理工大学硕士学位论文
图2.4体积弹性模量对仿真曲线的影响
Fig.2.4Theinfluenceofbulkmodulustosimulatiollcurvo
如图2.4所示,当K值较大时,油液的可压缩性降低,缓冲力对阻尼孔流量变化较为敏感,在碰撞瞬间,迅速达到峰值,并且当活塞头每次经过小孔所在位置时,都会引起缓冲力值的突变,整条曲线波动幅度较大;当K较小时,油液的可压缩性提高,缓冲力初期上升缓慢,中间过程波动幅度小,曲线较为平缓。
通常建模与仿真过程中将油液的体积弹性模量作为常数对待,根据文献推荐,纯油的体积弹性模量K=1400一2000MPa,但如果油中混入气体,压缩性将显著增加,当油中混入1%的空气时,K值下降到原来的5%左右,混入5%的空气时,K值将降到原来的1%左右【5】,因此,应控制油液中气泡的含量,避免因K值过小而发生撞缸现象。
②阻尼孔参数
由缓冲器的结构原理可知,阻尼孔部分是整个系统中最重要的部分,对缓冲特性影响最大,它决定了缓冲曲线的形状。图2.5为阻尼孔总面积爿c取不同值时的缓冲特性曲线,当加偏小时,缓冲力上升较快,前期峰值过高,缓冲行程短,减速过程在瞬间完成,起不到应有的缓冲保护作用;当彳c偏大时,初始阶段缓冲力小,速度降低缓慢,随着活塞推进,阻尼孔逐渐被遮蔽,活塞前方的小孔面积减小,后期缓冲力峰值过大,甚至可能在额定缓冲行程内无法将冲击物的动能完全吸收而导致撞缸。因此确定合理的阻尼孔参数,使位移一缓冲力曲线接近于理论曲线是设计的关键。
多孔式液压缓冲器仿真与优化设计
。加5
3行程——缓冲力曲线
2.5
2
々
±1.5
芷
1
05
a、阻尼孔总面积Ac
可由以下公式近似估算:
在碰撞瞬时g=巳・4・J至寺’垦=%・以伽3/J)(2.40)则铲警√老(矿)
其中,尸。。——油腔工作压力
也——活塞有效截面积
b、活塞前方小孔面积㈣
设以为缓冲过程中活塞前方小孔面积之和,小孔间距远大于小孔直径。根据阻尼孔流量公式有
小岂√茜c∥,
式中:G一阻尼孔流量系数,根据参考文献【5】可取0.7,-,0.8;P——是油的密度;
Q,——是活塞前方所有小孔的瞬时流量,Q,=A・v,(所3/s)㈤(2.43)
大连理工大学硕士学位论文
V,一是活塞的li舜间速度’由减速躲弹。压(眺)㈣)
(2.45)%=厩c研埘vo——是缓冲活塞的初速度,可用下式近似求得:
于是:彳,=A。hv。o.。/-。-pp'。-(1_XJ)。(掰2)(2.46)由上式显见,以在工等于0时最大,为所有小孔面积之和,即AT-Ae;x等于S时为0,中间是x的连续函数。这样在制造上很难实现。工程上只能用有限个小孔排布,来近似实现以。小孔的排布形式由孔径和孔间距两个参数决定,本文将在下一章对阻尼小孔参数进行优化设计,以获得高效、稳定的缓冲性能。
多孔式液压缓冲器仿真与优化设计
3阻尼孔参数优化设计
3.1最优化问题及其数学模型的建立
所谓最优化问题,就是在满足一定的约束条件下,寻找一组参数值,以使某些最优性度量得到满足,即使系统的某些性能指标达到最大或最小。
最优化问题根据其目标函数、约束函数的性质以及优化变量的取值等可以分成许多类型,每一种类型的最优化问题根据其性质不同都有其特定的求解方法【14】。
本章根据阻尼孔参数优化问题的特点,建立优化问题的数学模型,选择适当的优化方法求出最优解,并对优化结果进行了分析和比较。
3.1.1优化变量的确定
阻尼孔参数包括孔的横截面积和分布位置,为方便优化过程中计算取值,选择优化设计变量为孔径和孔间距组合而成的一维向量,即:
I,=【研,畋,…,以,厶,厶,…,k。】=队,Y2,…,%,%,…,呢一-】
式中:(3.1)n——阻尼孔个数,通过在仿真模型上多次试算确定;
三,——当i=1时,为第一个孔轴线与起始位置之间的距离;当i=2—w时,
为第f-1个孔与第i个孔轴线问的距离,如图3.1。
图3.1孔间距示意图
Fig.3.1Sketchofspacebetwc,gflorifices
说明:之所以孔距参数为n-1个,主要是为了避免缓冲过程未结束小孔就全部封闭,导致末期缓冲力突然增大,特将距活塞头最远的阻尼小孔位置设在缓冲行程S末端,即
∑L,=S
f=1(3.2)
大连理工大学硕士学位论文
在此线性方程约束下,孔间距变量个数可减少一个,降低问题的复杂程度。3.1.2目标函数的建立
作为缓冲器性能的一个评价指标,缓冲效率刀是被普遍关心的。叩:淼:紫
1最大缓冲力x行程‰・‰∞,p。’,(f)、x(i)为调用仿真程序、采用四阶龙格-库塔法求解微分方程组得到的一系列数值解;k为迭代步(只D、x(O的求解步骤及推导方程见第二章)。
缓冲效率高,则表明在相同的缓冲力作用下,吸收的能量多,缓冲性能好。本文以理想状态下缓冲效率与实际缓冲效率的差值作为优化问题的目标函数,则该优化问题转化为求解目标函数取得最小值时y的解,即
MinG(y)=I-叩21一且—Fi一∑F(力‘(x(力一x(i—1))
(3.4)
3.1.3约束条件的设计
观察仿真曲线发现,当阻尼孔径取值偏小时,缓冲力很大,冲击物速度瞬间减小为零,能量的吸收率也很大,缓冲效率较高,在优化迭代过程中,很可能将这种情况下的解作为最优解予以保留,但此时缓冲器并没有起到缓冲作用。因此,应适当限制缓冲减速度大小。根据起重机设计规范,缓冲过程中允许的最大减速度不应超过4m/s2,以此作为一个约束条件即,
am≤4(3.5)另外,对于高压腔来说,内部液体的工作压强不能过大,通常取6~12Mpa,因此将高压腔内最大工作压强小于12Mpa也作为一个约束条件,即,
‰≤12
不满足约束的解使用惩罚函数法进行处理。(3.6)
另外,作为一个实际优化问题,每个优化变量都有各自的取值范围,这在优化计算时也作为约束条件,以保证所求最优解的可行性。
3.1.4优化方法的选择
分析上述阻尼孔参数优化问题:设计变量与目标函数的关系是通过数值迭代的方法求解微分方程组得到的,没有直接的解析表达式,具有高度非线性和不确定性的特点,
多孔式液压缓冲器仿真与优化设计
用传统的优化方法很难求得最优解,对于此类问题,通常采用无可微性和连续性要求的随机型算法来求解。
粒子群优化算法(Pso)是一种基于群体的具有全局寻优能力的优化工具,初始化为一组随机解(随机粒子),通过迭代搜寻最优者,但是并没有像遗传算法那样用交叉和变异,而是利用粒子在解空间追随最优的粒子进行搜索,故而其程序实现异常简洁,需要调整的参数少,适用于求解大量非线性、不可微和多峰值的复杂优化问题。因此本文采用PSO算法实现阻尼孔的优化设计。
3.2粒子群算法介绍
3.2.1概述
20世纪90年代,群体智能算法(SwarmIntelligenceAlgorithm,StA)的研究受到众多学者的广泛关注,其基本思想是模拟自然界生物的群体行为来构造随机优化算法,通常单个自然界的生物并不是智能的,但是整个生物群体却表现出处理复杂问题的能力,群体智能算法就是模仿这些生物的团体行为并把它应用在人工智能问题中。
粒子群优化算法(ParticleSwarmOptimization,PSO)是群体智能算法的一种,它是由美国社会心理学家JamesKennedy和电气工程师RussellEberhart在1995年提出的,其基本思想是对鸟群、鱼群的觅食过程中的迁徙和聚集的行为模拟,设想有这样一个场景:一群鸟在随机搜索食物,在这块区域里只有一块食物,所有的鸟都不知道食物r的具体位置,但是它们知道当前的位置离食物有多远,找到食物的最简单有效的方法是搜索当前离食物最近的鸟的周围区域。PSO从这种模型中得到了启示并用于解决优化闯题【…。3.2.2算法原理
在PSO中,每个优化问题的解都是搜索空间中的一只鸟,称之为“粒子”。所有的粒子都有一个被优化的函数决定的适应值(fimessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们追随当前的最优粒子在解空间中搜索。PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每次迭代中,粒子通过跟踪两个“极值”更新自己:一个是粒子本身所找到的最优解,称为个体极值(pBes't);另一个是整个种群目前找到的最优解,称为全局极值(gBest):另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中找到的最优解就是局部极值。在找到这两个极值后,粒子根据一定的进化公式来更新自己的速度和新的位置【15】。设X,=(确,工。…,x。)为粒子i的当前位置;K=(vn,v。…,v埘)为粒子f的当前飞行速度;24—
大连理工大学硕士学位论文
只=(只。,p。…,P。)为粒子i所经历的个体最好位置;
最好位置。以为群体中所有粒子所经历的
则标准粒子群算法的进化方程可描述为:
吃“=∞吃+c11(PⅡ一x:)+C2r2(PF—x。t)
x?1=x:+y:(f=l,…,所;s=1,…,1)、…7式中。为非负数,称为惯性权重,控制着前一速度对当前速度的影响。。较大时,前一速度影响较大,全局搜索能力较强;。较小时,前一速度影响较小,局部搜索能力较强。可以通过调整。的大小来跳出局部极小值。c1和也是学习因子,为非负常数,取(O ̄2):,1和r2为伪随机数,服从【O,1】上的均匀分布;v。∈【.矿。。,矿。羽,矿—为常数,决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度。
式(3.7)中第一部分可理解为粒子先前的速度或惯性;第二部分可理解为粒子的“认知”行为,表示粒子本身的思考能力;第三部分可理解为粒子的“社会”行为,表示粒子之间的信息共享与相互合作。
3.2.3算法实施步骤
全局粒子群优化算法步骤如下:
(1)随机给出n维空间初始化粒子向量的粒子xoi和速度Ⅶ,设定迭代次数;
(2)计算每个粒子在当前状态下的适应函数值Pi:
(3)将(2)中计算的适应函数值Pi与自身的优化解pBest。进行比较,如果pi<pBesti,则用新的适应函数值取代前一轮的优化解,用新的粒子取代前一轮粒子。即pBesti=PI,xBesci--xI;
(4)将每个粒子的最好适应函数值pBest。与所有粒子最好适应函数值gBest,进行比较,如果pBest,<gBesti,则用每个粒子的最好适应值取代原所有粒子的适应函数值,同时保存粒子的当前状态。即gBesti=pBesti,xBest-=xBesti;
(5)完成以上的计算后,再进行新一轮的计算,按式(3.7)将粒子进行移动,从而产生新的粒子(即新解),返回步骤(2)。直至完成设定的迭代次数或满足事先给定的精度要求为止116’173。粒子群算法流程图如3.2图所示。
多孔式液压缓冲器仿真与优化设计
图3.2粒子群算法流程图
Fig.3.2PSOflowchart
3.2.4算法的特点
(11与传统优化算法比较
传统的优化算法有解析法、梯度法、枚举法和随机法等。这些方法有各自的使用范围。解析方法通常是通过求解使目标函数梯度为零的一组非线性方程来进行搜索的。一般而言,如目标函数连续可微、解的空间方程比较简单,解析法还是可以用的。但是当方程的变量有几十个或几百个时,它就无能为力了。梯度法是常用的搜索方法,它和解析法一样都是属于寻找局部最优解的方法。对于梯度法而言,只有对具有单峰分布性质的解空间才能进行有效的搜索,并得到最优解。枚举法简单易行,即在一个连续有限搜索空间或离散有限搜索空间中,计算空间中每个点的目标函数值,且每次计算一个。显然,这种方法的效率太低,许多实际问题的搜索空间都很大,不允许一点一点的求解。随机搜索方法比枚举方法有所改进,是一种常用的搜索方法,但它的效率依然不高。一
大连理工大学硕士学位论文
般而言,只有当解在搜索空间中形成紧密分布时,它的搜索才有效。但这一条在实际应用中难于满足。
同以上传统方法相比,粒子群算法具有如下特点:
①粒子群算法不受函数约束条件(如连续、可微、单极值等)的限制。
②在解空间中采取群体搜索策略,同时处理群体中的多个个体,即从多点寻找问题解。这样使得粒子群算法具有极好的全局优化性能,减少了陷入局部解的风险。
③粒子群算法直接应用目标函数值信息(即适应度值),而非函数的导数或其它辅助信息,因此粒子群算法几乎可以处理任何问题。
④虽然粒子群算法使用随机操作,但并不意味着盲目的随机搜索,它靠当前最优粒子的位置来控制搜索方向,在当前最优点附近搜索朝着最优解的方向靠近。
(2)与其他进化算法比较
粒子群算法与其他进化算法有许多共同之处。首先,它们均使用“群体”概念,用于表示一组解空间中的个体集合。如果将粒子所经历的最好位置yi看作是群体的组成部分,则粒子群的每一步进化呈现出“选择”机制。在(u+^)进化策略算法中,子代与父代竞争,若子代具有更好的适应值,则用来替换父代,而PSO算法的进化方程式(3.7)具有与此相类似的机制,其唯一的差别在于,只有当粒子的当前位置与所经历的最好位置yt相比具有更好的适应值时,其粒子所经历的最好位置(父代)才会唯一地被该粒子的当前位置(子代)所替换。总之,PSO算法隐喻着一定形式的“选择”机制。
其次,式(3.7)所描述的速度进化方程与实数编码遗传算法的算术交叉算子相类似,通常,算术交叉算子由两个父代个体的线性组合产生两个子代个体,而在PSO算法的速度进化方程中,假如先不考虑viI(t)项,就可以将该方程理解为由两项的情况下,速度进化方程也可以看作是一个变异算子,其变异的强度(大小)取决于两个父代粒子间的距离,即代表个体最好位置和全局最好位置的两个粒子的距离。至于vi.(t)项,也可以理解为一种变异的形式,其变异的大小与粒子在前代进化中的位置相关。
通常在迸化类算法的分析中,人们习惯于将每一步进化迭代理解为用新个体(即子代)代替旧个体(即父代)的过程。这里,如果我们将PSO算法的进化迭代理解为一个自适应过程,则粒子的位置xi就不是被新的粒子所代替,而是根据速度向量v。进行自适应变化。这样,PSO算法与其他进化类算法的最大不同点在于:PSO算法在进化过程中同时保留和利用位置与速度(即位置的变化程度)信息,而其他进化类算法仅保留和利用位置的信息。
另外,如果将式(3.7)看作一个变异算子,则PSO算法与进化规划很相似。所不同之处在于,在每一代,PSO算法中的每个粒子只朝一些根据群体的经验认为是好的方
多孔式液压缓冲器仿真与优化设计
向飞行,而在进化规划中可通过一个随机函数变异到任何方向。也就是说,PSO算法执行种有“意识(Conscious)”的变异。从理论上讲,进化规划具有更多的机会向优化点附近开发,而PSO则有更多的机会更快地飞到更好解的区域,如果“意识”能提供有用的信息。
从以上分析可以看出,基本PSO算法也呈现出一些其他进化类算法所不具有的特性,特别是,PSO算法同时将微粒的位置与速度模型化,给出一组显式的进化方程,是其不同于其他进化类算法的最显著之处,也是该算法所呈现出许多优良特性的关键【14,18,191。
3.2.5粒子群算法在本课题中的应用
将粒子群算法应用于本章第一节中所确定的阻尼孔优化问题,具体步骤及参数设置如下:
(1)首先根据优化变量的特点和约束条件,初步确定搜索空间及每个粒子的初始位置。
(2)设定粒子群算法中的各主要参数。取种群大小,即初始粒子数为20~50;设定粒子维数为2n-1;最大迭代次数为300~500;C1=C2=2rl,r2通过计算机伪随机数自动生成;v。。取粒子中各维变量宽度的最小值;w取值在O.95加.4之间成线性变化。
(3)将目标函数设定为适应函数,但考虑到约束条件(式3.5、3.6)的影响,在编写适应函数时加入惩罚项,即
…rrn:1一—————————堕——————一1+(口嘣一口^啪耐)+(p嘣一,6删甜)
{酆当a—max≤<g:=三艺,菱:嚣,a仇t,o耐删=:412}兰移一≤p幻埘时,岛。d=p一,兰劬一>p如州时,仇。d=
法优化程序见附录A)∞,……H)按照图3.2中的粒子群算法流程图,编写优化程序,求出最优解。(粒予群算
3.3优化结果
以LQH—HY型液压缓冲器为例,设冲击物质量为30000kg,初速度为1.8m/s,无初始动力,应用粒子群算法对阻尼孔参数进行优化。
分析本文所涉及的优化问题的解向量,孔的位置参数与孔径参数是相互对应的,即孔位置发生改变,该孔直径也要相应地发生变化,不同的孔位置排布对应不同的孔径大小,因此,满足要求的优化结果不是唯一的,可以有多种参数组合。取阻尼孔个数为16,优化后的结果数据列表如下:
大连理工大学硕士学位论文
表3.11:"30优化设计结果
Tab.3.1OrificeparameterafterPSOoptimize
图3.3阻尼孔直径对比
Fig.3.3.Comparisonofporediameter
一29
多孔式液压缓冲器仿真与优化设计
图3.4阻尼孔间距对比
Fig.3.4ComparisonofspacebetwP∞npores
图3.5阻尼孔位置对比
Fig.3.5Comparisonofporelocation
将优化后的阻尼孔参数代入仿真程序中,得到缓冲力、吸能量、缓冲效率等缓冲效
果参数,如表3.2所示。
大连理工大学硕士学位论文
表3.2优化后的缓冲特性
Tab.3.2CushioningeffortaReroptimize
图3.6缓冲特性对比
Fig.3.6Comparisonofcushioningperformance
图3.7、3.8为优化前后的速度、缓冲力曲线对比图,在相同的冲击工况下,优化后结构的缓冲特性曲线接近矩形,缓冲力峰值大大降低,减速过程更加缓慢、平稳,缓冲效率显著提高。另有优化后缓冲器的完整缓冲特性曲线图,包括缓冲过程和回弹过程(见
附录B)。
多孔式液压缓冲器仿真与优化设计
行程—遵度曲线
々o山,^
S/m--’
图3.7优化前后速度曲线对比
Fig.3.7Optimizedvelocitycurvecomparewithbefore
xI{35行程——缓冲力瞳线
2
15
A
●
Z
O5
0
0D.10.2
S,m..>0.30.40.5
图3.8优化前后缓冲力曲线对比
Fig.3.7Optimizedforcecllrvecomparewithbefore
一32一
大连理工大学硕士学位论文
4优化软件的开发设计
4.1软件开发工具介绍
MicrosoftVisualBasic是由微软公司开发的在windows操作平台上的主力编程语言之一,由于它避开了C++编程过分繁锁和抽象的缺点,因而一经推出就风靡全球,目前全世界大约有几百万程序员在使用VB编程,是一种十分强大和有生命力的Windows编程语言。VisualBasic程序的开发思想是面向对象编程,对象是程序中的主角,既是过程的载体,也是被处理的实体。一个Windows应用程序中的窗体和窗体中的控件都是对象,这些对象不需要编写大量的代码来描述其界面元素的外观和位置,而只要在设计程序时把VB预先建立好的对象拖放到窗体中即可,并且这些对象具有VB提供的属性、方法和事件,开发者所要做的就是为对象编写事件驱动代码1301。
虽然VB语言容易上手,界面容易设计,但是对于数值计算方面其能力欠佳。与之相比,MATLAB是新近发展起来的一种深受广大编程人员喜爱的数学工具软件。MATLAB语言可以提供与矩阵有关的强大的数据处理和图形显示功能,为软件开发人员在程序编制过程中实现数值计算和图形显示新添了又一行之有效的开发平台。但是,MATLAB也有一些缺点:它是一种解释性语言,运行效率差;使用M语言编写的程序文件无法脱离MATLAB环境运行;并且作为一种命令行式的交互系统,开发的程序代码不能保密。另外,界面功能比较弱,给友好界面的开发应用带来不便m】,【32】。
为了提高工程计算软件的开发效率和质量。可采取把VB可视化编程语言和MATLAB工具相结合的办法,充分利用MATLAB的运算功能和VB的开发界面方便的特点进行混合编程,即用VB来设计界面作为主程序,调用MATLAB写的子程序,以此开发出高质量、高性能的优化软件系统[30,331。
VB与MATLAB混合编程方法主要有以下几种:
(1)动态数据交换(DDE)技术。DDE(DynamicDataExchange)允许MicrosoftWindows应用程序通过交换数据实现彼此间的通信。因此可将MATLAB作为服务器端,VB作为客户端进行数据交换实现接口编程。但这种方法不能脱离MATLAB工作环境。
(2)AcfiveX技术。即AutomationServer技术。在VB下通过ActiveX自动化接口可将MATLAB作为VisualBasic语言的一个ActiveX部件调用。同样这种方法还是不能脱离MATLAB工作环境。(3)可执行文件技术。也就是将MATLAB运算模块做成可执行文件形式,然后在
多孔式液压缓冲器仿真与优化设计
VB中进行调用。但这种方法需要单独开发可执行文件。
(4)利用MatrixVB。’MatrixVB是MathWorks针对VB提供的一个Mallab库,它提供了许多函数,包括基本的数学运算和功能强大的信号处理、线性代数、串运算及图形图像处理功能等。MatrixVB虽然能很容易实现VB和MATLAB接口编程,但需要额外安装MatrixVB,而且函数有限。
(5)COM组件技术。它是利用MATLAB的一个工具MATLABCOMBuilder将M函数文件转换成COM组件,然后在VB集成开发环境中直接调用该组件。生成的COM组件是进程内组件,是以DLL的形式存在的。这样编制的VB应用程序可以脱离MATLAB环境,有机成为一个整体【33期
本文采用COM组件技术进行优化软件设计。
4.2MATLABBu;IderforCoM概述
MATLABBuilderforCOM(简称为COMBuilder)是MATLABCompiler的扩展,它提供了一个简单易用的图形化用户界面,帮助用户把用M语言开发的算法自动而快速地转换为独立的COM组件对象。生成的COM组件对象可以在任何支持COM对象的应用中使用,例如VisualBasic、MicrosoftExcel、C/c++语言等等。通过COM组件,可以同其他的用户共享算法,并且MATLAB算法可以免费地随同COM应用程序发布。
其特点为:
(1)图形用户界面。COMBuilder的开发过程是在图形化用户界面内完成的。图形用户界面方便易用,帮助用户生成独立的COM组件对象。其中包含了详尽的帮助信息、工程项目管理,可以利用VisualC+斗威VisualBasic进行调试,还能够提供生成组件的详细过程。
(2)易于使用。通过MATLABBuilderforCOM创建的对象可以在各种支持COM的环境中使用,创建的COM对象能够节约大量的开发时间。
(3)免费发布。使用COMBuilder转化MATLAB算法得到的COM对象可以免费发布f34J。
4.3C08组件的制作
本节将结合课题实例介绍如何利用COMBuilder实现应用程序算法集成与发布。要打包的文件包括缓冲器仿真程序和PSO优化程序等13个M文件,大体步骤如下:
(1)利用图形用户界面工具创建新的项目
在MATLAB命令行窗口中键入指令:>>eomtool
大连理工大学硕士学位论文
打开COMBuilder的图形用户界面。该界面窗体大致分三个部分:菜单条、项目文件(ProjectFiles)和编译状态(BuildStatus)。创建COM组件的工作都将在这个图形界面中实现。创建新项目是通过File菜单下的NewProject命令来完成的。在此对话框中可以设置项目名称、路径及编译属性等。如图4.1所示
图4.1MATLABBuilder的图形用户界面及新项目对话框
Fig.4.1GUIandnewitemdialogboxofMATLABBuilder
(2)添加必要的M文件或MEX文件
完成新项目创建后,接下来的工作就是增加必要的M函数文件或者MEX文件。方法为;单击COMBuilder工具图形界面上的AddFile按钮,在弹出的文件选择对话框中选择要添加的M函数文件或MEX文件。添加的M文件如需修改,可以选择该文件后单击Edit按钮:如果想从COM组件中删除已添加的M函数文件,则可以通过单击
Remove按钮来完成。图4.2所示为向COM添加M函数文件界面图。
多孔式液压缓冲器仿真与优化设计
图4.2向COM组件添加M函数文件
Fig.4.2FillMfiletoCOMgroupware
(3)创建COM文件
创建的方法为使用Build菜单下的COMObjm命令,此时COMBuilder将通过MATLABCompiler来实现编译,详细的编译过程将显示在编译状态信息栏(BuildStatus)中,如图4.3所示。该信息被保存到了log文件中,在用户设置的项目路径下能能够找到build.109文件,该文件为纯文本文件,记录了编译生成COM组件的完整过程。
图4.3COMBuilder状态栏的编译信息
Fig.4.3EditedinformationjIlCOMBuilderstalus
bar
大连理工大学硕士学位论文
完成编译后,在用户设置的项目路径下,生成两个新的子目录——src和distrib,src路径下为COM组件的源代码——C源代码,distrib路径下则是供用户测试。发布使用的是最终COM组件——name_l-o.dll文件和name.ctf文件,以及指导用户在使用已发布COM组件时如何在自己的计算机系统中安装C0lJ组件的批处理文件一一一install.bat。此外,还要通过MATLAB自带的工具nnrregsvr.exe向当前的计算机系统注册生成的COM组件,只有成功地注册,才能够在后续的步骤中对COM组件进行测试。
(4)测试组件
测试COM组件是利用MATLABBuilderforCOM进行应用程序集成与发布的关键步骤,只有通过测试的COM组件,才能够保证最终用户能够正确使用自己开发出来的COM组件。一般地,测试COM组件可以使用各种支持COM标准的开发工具,例如Visualc++、VisualBasic、Excel等等,甚至也可以用MATLAB、WindowsScript等工具直接测试COM组件。通常最好选择与最终用户使用相同的或者兼容的开发工具来测试自己的COM组件。
(5)打包并发布。
将COM组件发布给最终用户时,可
以通过COMBuilder的打包发布功能来
实现。
执行Component菜单下的Package
Component命令,弹出PackageFiles对话
框,如图4.3所示,在该对话框中显示了
即将被打包并发布的文件列表。用户可以
通过AddFiles按钮将额外的文件增加到
发布包中,例如,项目或者COM组件的
说明文件、测试COM组件的应用程序源
代码等等。
4.3PackageFiles对话框
Fig.4.3PackageFilesdialogbox
由于MATLABCompiler4使用MCR作为最终可执行应用程序的MATLAB运行环境,因此若最终用户没有MCR,则需要应用程序COM组件的开发人员将MCR发布给最终用户,即在PackageFiles对话框中选中Include
MCR复选框。
多孔式液压缓冲器仿真与优化设计
COMBuilder将自动创建可自解压缩的文件name.exe,它位于/disUib路径下。需要使用COM组件的最终用户只要得到这个可执行文件,在自己的计算机中运行,就能够从压缩文件中解压出CTF文件和DLL文件,同时还将尝试安装MCR,注册COM组件等,此时用户就可以利用发布的COM组件实现自己的应用程序开发T[34]。
4.4软件开发设计
4.4.1主程序计算步骤与流程框图
主程序流程框图如下:
图4.4主程序流程框图
Fig.4.4Mainprogramflowchart
大连理工大学硕士学位论文
本软件主程序计算步骤进行简述如下:
Stepl:获取基本设计参数;
Step2:调用PSO程序进行优化计算;
Step3:将优化结果显示到计算结果界面;
Step,;:调用仿真程序,输出优化后的结果曲线;
Step5:将优化前后曲线进行比较分析。
上述计算步骤对应的具体算法在前面各章已有介绍,这里不再赘述。
4.4.2界面设计
本软件由三个窗体组成,分别用来显示启动欢迎界面、主程序界面、结果显示界面。图4.4是本软件的启动欢迎界面。
图4.4软件启动欢迎界面
Fig.4.4Welcomeinterfaceasstartup
为了使设计过程充分可视化,软件人机界面没有采用菜单等常见形式,而是采用标签和文本框等控件来输入参数、显示计算过程中的数据与结果,使用对话框来进行人机交互,通过图形框来动态显示优化曲线和仿真响应曲线。这种设计使软件的各种功能一目了然,即易学易用,又简洁大方。
Windows应用程序的基本载体是窗口,但如果一个应用程序中窗口过多,将使用户
感到繁琐不便。因此本软件主程序采用一个窗体。为了区分不同的功能,程序中使用了
多孔式液压缓冲器仿真与优化设计
VB的SSTab控件。通过点击SSTab控件的不同标签,可以在同一个窗体中显示不同的内容,实现不同的功能。主程序共有四个标签,分别为参数输入标签、优化计算标签、缓冲过程曲线标签、优化前后对比标签,不同的标签对应不同界面。如图4.5~4。8所示。
图4.5参数输入界面
Fig.4.5Parmeterinputinterface
图4.6优化计算界面
Fig.4.6Optimizecalculation
interface
大连理工大学硕士学位论文
图4.7曲线输出界面
Fig.4.7Curveoutputinterface
图4.8优化前后曲线对比界面
Fig.4.8Interfaceofoptimizegurvecontrastbetweenfore-and-aft
—・41—-
多孔式液压缓冲器仿真与优化设计
4.4.3功能介绍及实例应用
该优化软件具备五种基本功能,本节将结合实例来一一进行介绍,检验其可用性。下面以HYD型多孔式液压缓冲器为例进行设计。
(1)阻尼孔参数优化设计功能
该功能主要通过“参数输入”和“优化计算”两个界面来实现。在“参数输入”界面,使用者需要输入初始的工况参数,程序可以根据这些工况参数计算出所需缓冲器的缓冲参数和主要结构参数;在“优化计算”界面,使用者需要输入优化参数,运用粒子群算法进行优化计算,求出阻尼孔的位置和直径。主要参数如图4.9、4.10所示
图4.9主要输入参数
Fig.4.9Mainparametersinputted
图4.10计算所得参数
Fig.4.10Parametersgainedbycomputed
(2)优化结果显示功能
该功能也在“优化计算”界面中实现。优化计算完成后,软件可以显示最优解变化曲线、整个优化过程所用时间及优化后的阻尼孔位置和孔径参数值。(如图4.11所示)
大连理工大学硕士学位论文
图4.11优化后的结果显示
Fig.4.11Resultshowafteroptimize
(3)仿真曲线输出功能
该功能通过“缓冲过程曲线”界面来实现。用来显示经过结构优化后的缓冲器的各种缓冲特性曲线,包括位移-速度曲线、位移.缓冲力曲线、位移一油压曲线、位移.力Ⅱ速度曲线、时间.速度曲线、时间缓冲力曲线六个选项。每种曲线分别以有回弹和无回弹两种输出形式。另外,该模块还可以显示最大缓冲力、缓冲行程、缓冲容量、缓冲效率、最大加速度等手工难以计算的缓冲过程相关的统计量。
图4.12仿真曲线输出及缓冲参数列表
Fig.4.12Simulationcurveoutputandlistcushioning
parameters
多孔式液压缓冲器仿真与优化设计
(4)优化前后曲线对比功能
该功能通过“优化前后对比”界面来实现。与“缓冲过程曲线”界面类似,该模块也具有六种缓冲曲线的显示框,所不同的是此处将优化前后的两组阻尼孔参数同时输入仿真程序,在同一坐标轴中显示两条曲线。方便使用者将两者进行对比,对优化结果形成更直观的印象。此外,该模块还会将对比的结果进行数据统计并在界面上显示出来。
绷中效率增加了21.锻.
缓冲窖置攫焉了2嚣:缓冲力峰值下盯24.“
图4.13优化前后曲线对比
Fig.4.13ContractoptimizeClffVefore-and・aft
(5)计算结果保存、打印功能
如图4.14所示,该软件可以将优化计算所得数据及曲线图保存到文件中,并可以通过打印机将结果打印出来。
堡堡|.!婴l堕枣|
图4.14保存和打印
Fig.4.14Saveandp—nt
此外,该软件还设计了合理化检验及人性化的提示等辅助功能。
合理化检验功能包括:
(1)当油腔内的气体压强超过30MPa时弹出警告;
(2)缓冲行程超过油腔长度的90%,有触底危险时弹出警告;
(3)设置了一些判断语句,使得当使用者发生误操作时,有警告框弹出,而不致使程序意外退出。
大连理工大学硕士学位论文
图4.15合理化检验警告框
Fig.4.15Rationalizationtestwarningbox
人性化提示功能包括:
(1)在优化模块中,根据前一步所输入的结构、工况参数粗略估算出优化参数,并作为推荐值供使用者参考。
(2)利用VB中的ProgressBar控件,设计了进度条,在优化程序运行过程中,用来显示优化进度。
图4.16人性化功能
Fig.4.16hmnanizafion
function