第一章绪论
带传动结构简单、传动平稳、造价低廉、缓冲吸震,是一种常见的机械传动,其常规设计是以保证带传动不发生打滑又有足够疲劳寿命为设计准则进行的选择设计,经验性强,设计结果很难达到最优。
1问题的提出
1.1.1 V带传动设计中存在形成多方案的可能性
V带传动在中小功率动力传动中应用十分广泛。在设计V带传动的过程中,需先根据己知的功率、转速、原动机和工作机类型、传动位置要求及工作条件来确定。
在传统的普通v带设计时,一般都按照以下几个步骤进行:①计算设计功率Pc;②初选普通V带的型号;③选取小带轮的基准直径及大带轮基准直径;④验算带速;⑤初选中心距和带的基准长度;⑥验算小带轮包角;⑦确定v带的根数;
⑧计算初拉力;⑨计算带轮轴上的压力。
上述步骤中,在小带轮基准直径选取、带的长度和确定中心距时。都存在形成多方案的可能性。其主要依据是:在小带轮基准直径选取时,传统设计要求小带轮基准直径要不小于给定的该类带型的最小直径。而带轮基准直径的选取通常应考虑系列值,不应只考虑单个值。因为直径越小,单根带允许传递的功率越小,带的根数越多。对不同的传递功率要求的带的根数也不同,并且在设计时还对使用带的最多根数有所限制。
在V带长度的选取时,常规设计采用由初选的中心距根据公式计算出带长。而在设计手册上带的长度有其系列,一般各带带型有12~17种之多。并且带长是影响带的寿命的因素之一。常规设计步骤中有关带长的选取有一定的局限性。
1.1.2V带传动的带速应合理选择
带速对传动能力、传动带寿命及轴与轴承所受压力都有较人影响,因而有必要确定较合理的带速,对小带轮基准直径选择亦有一定指导意义。选定小带轮基准直径后,即可算出最大应力点处最小应力对应的带速。由于传动带在循环变应力下工作,最大应力越小带的寿命越长;循环次数达到一定数值时,传动带发生疲劳破坏。初拉力是保证带传动正常工作的重要因素。传动带工作时的初拉力即在克服离心力作用的情况下使带传递有效圆周力。充分发挥其传动能力。初拉力过小易出现打滑,传动能力不能充分发挥;过大则带的寿命降低,而且轴和轴承受力增大。传递一定功率时,带速越高则有效圆周力越小,所需带的根数越少,带传动尺寸也越小;带速过大,带在单位时间内绕过带轮次数就增加,使其疲劳
寿命降低,同时使离心力显著增大,带与带轮间接触压力降低,传递有效圆周力便减少。
1.1.3设计时考虑中心距可调节的方案
确定中心距在常规设计过程中起着重要的作用,它决定着带的长度和小带轮的包角。在选取带传动的中心距时,一般跟据经验公式预估,而此经验公式给出的取值范围是比较大的。此时不同的设计者就有可能设计出不同的方案出来。 对于将v 带传动放在高速级上的装置。由电机直接带动主动带轮,在安装和工作中电机的位置是可以调整的,即中心距a 可调。对这类V 带传动的设计,据据传动的结构需要初步确定中心距0a ,其取值范围为:120120.7()2()d d d d d d a d d +≤≤+,0a 确定后,根据带传动的几何关系,按下式计
算出带的计算长度L d0:2
2100120()2()24d d d d d d d L a d d a π
-≈+++ 根据计算长度L d0,从机械设计手册查V 带长度表中,选取和L d0相近的基准长
度L d ,再根据L 来计算实际的中心距0a 。由于这类V 带传动的中心距是可以调整的,故可以采用下式作近似计算,即002
d d L L a a -≈+,考虑到安装调整和补偿初拉力的需要,中心距的变动范围为a min =a –0.015L d ;max 0.03d a a L =+。对于中心距可调的V 带传动装置,当安装的空间尺寸给定时,初选中心距可不按范围值进行选取,而直接由空间尺寸决定。在这种情况下,带传动的张紧装置采用定期张紧和自动张紧装置。
1.1.4设计中v 带传动的寿命应予以充分考虑
常规的V 带设计中没有将带传动的设计寿命作为设计的主要指标。而在实际使用中带的使用寿命是必须考虑的问题。而带的寿命和带传动的带轮直径、传动比、带速、带长以及应力循环次数等有关。传统设计中,在考虑上述因素或变量取值时没有明确V 带传动寿命的问题,造成有些V 带设计使用寿命较低。
1.2优化的提出
1.2.1优化的定义
优化是科学、工程技术和经济管理等领域的重要研究工具。它所研究的问题是讨论在众多的方案中寻找最优方案。例如,工程设计中怎样选择设计参数,使
设计方案既满足设计要求又能降低成本;资源分配中,怎样分配有限资源,使分配方案既能满足各方面的基本要求,又能获得好的经济效益;在人类活动的各个领域中,诸如此类,不胜枚举。优化这一技术,正是为这些问题的解决,提供理论基础和求解方法,它是一门应用广泛、实用性很强的科学。
1.2.2常见V带传动的几种优化方法
●基于Kisssoft的V带传动设计
●基于Visual Basic的V型带传动计算机辅助设计
●用EXCEL 2000实现普通v带传动设计的辅助计算方法
●模糊数学理论确定V带传动的应用
●基于MFC的普通V带传动设计
●基于遗传算法的普通V带传动的优化设计
●基于MATLAB关于V带传动的优化设计
1.2.3优化方法的确定
通过比较发现,常见的V带传动优化设计方法中,Kisssoft.是专业机械设计软件平时接触较少;而使用EXCEL 2000进行设计的方法是一种新颖但是仍然计算繁琐,而且优化效果一般的方法;模糊数学理论确定V带传动的应用方法是利用模糊数学理论,采用加权平均法确定中心距,提高确定中心距的科学性的方法,这种方法与MATLAB多目标优化法有异曲同工之妙,但是没用借助计算机的辅助计算,计算量大;基于MFC的设计方法,程序编写复杂,相比之下没有VB 和MATLAB使用方便;通过比较发现使用MATLAB和VB是相对更为方便和高效的方法,在本次设计中选用MATLAB进行V带传动的优化设计,关于选择MATLAB 进的突出优点在下一节进行设计的说明。
1.3MATLAB的语言特点
1.3.1编程效率高
它是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比Basic、Fortran和C等语言更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题。因此,Matlab语言也可通俗地称为演算纸式科学算法语言由于它编写简单,所以编程效率高,易学易懂。
1.3.2用户使用方便
MATLAB语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编写程序和调试程序一般都要经过四个步骤:编辑、编译、连接以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在它们之间作瀑布型的循环。MATLAB语言与其它语言相比,较好地解决了上述问题,把编辑、编译、连接和执行融为一体。它能在同一画面上进行灵活操作快速排除输入程序中的书写错误、语法错误以至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。
1.3.3扩充能力强
高版本的MATLAB语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且MATLAB的库函数同用户文件在形成上一样,所以用户文件也可作为MATLAB的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高Matlab使用效率和扩充它的功能。另外,为了充分利用Fortran、C等语言的资源,包括用户已编好的Fortran,C语言程序,通过建立Me调文件的形式,混合编程,方便地调用有关的Fortran,C语言的子程序。
1.3.4语句简单,内涵丰富
MATLAB语言中最基本最重要的成分是函数,其一般形式为「a,6,c……] = fun(d,e,f,……),即一个函数由函数名,输入变量d,e,f,……和输出变量a,b,c……组成,同一函数名F,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义(有点像面向对象中的多态性。这不仅使Matlab的库函数功能更丰富,而大大减少了需要的磁盘空间,使得Matlab 编写的M文件简单、短小而高效。
1.3.5高效方便的矩阵和数组运算
MATLAB语言象Basic、Fortran和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,有些如算术运算符只要增加“·”就可用于数组间的运算,另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。在此基础上,高版本的Matlab已逐步扩展到科学及工程计算的其它领域。
1.3.6方便的绘图功能
MATLAB的绘图是十分方便的,它有一系列绘图函数,例如线性坐标、对数坐标,均只需调用不同的绘图函数,在图上标出图题、XY轴标注,格绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不及的。总之,MATLAB语言的设计思想可以说代表了当前计算机高级语言的发展方向。
1.4设计的主要内容
带传动结构简单、传动平稳、造价低廉、缓冲吸震,是一种常见的机械传动,其常规设计是以保证带传动不发生打滑又有足够疲劳寿命为设计准则进行的选择设计,经验性强,设计结果很难达到最优。
随着各种优化方法的发展和成熟,人们纷纷提出了对这种传动的优化设计。但用C语言等一般的算法语言需要对所用优化方法理解的基础上,编写复杂而较长的优化算法程序和调试,使许多人望而却步。而MATLAB软件的优化工具箱可以使大家从复杂的编程中解脱出来,设计人员只需给出设计参数,编写几个简单的M文件,再调用相应的优化函数就可完成,非常简单方便。
本文以V带传动没计为例,分析建立了V带传动多目标优化设计数学模型,提出了应用MATLAB实现的方法和过程,并以小带轮直径和带轮中心距为优化目标的举例说明。
第一章绪论。主要阐述了本课题的背景、研究目的和意义等,概括了V带传动优化设计的几种方法并通过比较选择MATLAB进行优化、MATLAB的语言特点,并对研究内容做了概述。
第二章MATLAB技术研究。对于MATLAB优化设计的所需要用到的主要内容和功能——M文件、曲线拟合和优化工具箱——进行研究。
第三章基于MATLAB的V带传动优化设计。主要由实际案例出发,先通过常规方法进行设计,然后基于MATLAB进行V带传动多目标优化设计——先建立以带轮直径和中心距最小为综合目标的优化数学模型,并运用权重因子将多目标转化成
单目标优化问题——最后与传统设计结果比较,效果明显。
第四章总结与展望。在最后评价了该设计的结果,归纳了MATLAB优化设计的优点,并对本次提供帮助的老师表示感谢。
第二章MATLABD技术研究
2.1M文件的研究
用MATLAB语言编写的程序,称为M文件。
M文件有两种形式:脚本文件(Script File);函数文件(Function File )。这两种文件的扩展名,均为“. m”。
2.1.1脚本文件和函数文件
M脚本文件(Script File)——实际上是一串MATLAB指令集合。
对于比较简单的问题,在命令窗口中直接输入指令。
对于复杂计算,采用脚本文件(Script file)最为合适。
MATLAB只是按文件所写的指令执行。与在命令窗口逐行执行文件中的所有指令,其结果是一样的。没有输入参数,也不返回输出参数
M脚本文件的特点:脚本文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集。脚本文件运行后,所产生的变量都驻留在MATLAB基本工作空间(Base workspace)中。只要用户不使用清除指令(clear),MATLAB指令窗不关闭,这些变量将一直保存在基本工作空间中。
M函数文件(Function File )与脚本文件不同,函数文件犹如一个“黑箱”,把一些数据送进并经加工处理,再把结果送出来。
MATLAB提供的函数指令大部分都是由函数文件定义的.用户可以根据需要编辑自己的m函数,它们可以像库函数一样方便的调用,从而极大地扩展了MATLAB的能力。可以输入参数,也可返回输出参数。
例:编写一个函数文件,实现直角坐标(x,y)与极坐标(r,θ)之间的转换。
tran.m
function [r,theta] = tran(x,y)
r =sqrt(x*x+y*y);
theta =atan(y/x);
调用tran函数
>> x0=3;y0=4;
>> [r,t]=tran(x0,y0)
M函数文件的特点:从形式上看,与脚本文件不同,函数文件的笫一行
总是以“function”引导的“函数申明行”。从运行上看,与脚本文件运行不同,M函数中使用的变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的工作空间中清除掉。
2.1.2M函数文件格式
M函数文件必须由function作为引导词,必须遵循如下形式:
function 输出形参表= 函数名(输入形参表)%注释说明部分函数体。
例:编写函数,求半径为r的圆的面积和周长
fcircle.m文件代码如下:
function [s, p]= fcircle (r)
% CIRCLE calculate the area and perimeter of a circle
% of radial r
s=pi*r*r;
p=2*pi*r;
规则和属性:
①. 函数名和文件名必须相同。
②函数可以有零个或更多个输入参量,也可以有零个或更多个输出参量。当有一个以上输出变量时,输出变量包含在括号内。例如,[V,D]=eig(A)
③函数中的变量均为局部变量,不保存在工作空间中。其变量只在函数运行期间有效。函数内变量与MATLAB工作空间之间唯一的联系是函数的参数。
2.1.3函数调用
函数调用的一般格式是:[输出实参表]=函数名(输入实参表)
函数定义示例:
function [s, p]= fcircle (r)
% CIRCLE calculate the area and perimeter of a
% circle of radial r
s=pi*r*r;
p=2*pi*r;
函数调用
>>[area, l]=fcircle(1)
函数调用可以嵌套,一个函数可以调用别的函数,甚至调用它自己(递归调用)。
2.1.4局部变量和全局变量
局部(Local)变量:它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身。
全局(Global)变量:通过global 指令,MATLAB也允许几个不同的函数空间以及基本工作空间共享同一个变量,这种被共享的变量称为全局变量。全局变量用global命令定义,格式为:global 变量名
全局变量应用示例:
先建立函数文件wadd.m,该函数将输入的参数加权相加。
function f=wadd(x,y)
%add two variable
global ALPHA BETA
f=ALPHA*x+BETA*y;
在命令窗口中输入:
global ALPHA BETA
ALPHA=1;
BETA=2;
s=wadd(1,2)
输出为:
s =
5
全局变量的作用域是整个MATLAB工作空间,所有的函数都可以对它进行存取和修改。因此,定义全局变量是函数间传递信息的一种手段。
2.2曲线拟合工具箱的列表曲线拟合研究
在许多场合, 产品或工件的轮廓形状往往很难找到个具体的数学表达式把它描述出来, 通常只能通过实验或数学计算得到一系列互不相同的离散点一上的函数值,即得到一张与自变量对应的数据表。这种以列表坐标点来确定零件轮廓形状的曲线称为列表曲线。
列表曲线的数控加工程序编制非常复杂, 传统手工编程的计算量大、精度低, 使得生产效率低。利用MATLAB软件的曲线拟合工具箱,可以方便快捷地进行列表曲线拟合。
2.2.1MATLAB曲线拟合工具箱简介
MATLAB是一个功能十分强大,使用非常简便的工程计算语言,以矩阵运算为基础,把计算、可视化和程序设计融合到一个交互的环境。在此环境中,利用其强大的数值计算与图形功能,可高效求解各种复杂的工程问题及实现计算结果的可视化。
MATLAB的曲线拟合工具箱闭版本是随MATLAB6.5一起发行的, 是用户图形界面和MATLAB内部M函数的集成。此工具箱有如下功能:
①可对数据进行分段、平滑等预处理。
②可使用MATLAB内部库函数或用户自定义的方程对参变量进行多项式、指数、有理数等形式的数据拟合亦可使用样条法等插值法对非参变量进行数据拟合还可以进行外推、微分和积分等拟合。
③用残差和置信区间可视化估计拟合结果的好坏。
④可视化与数值化相结合的开发和分析数据及拟合结果的能力, 且结果可保存为多种形式M文件、二进制代码及工作空间变量。
可以通过命令打开曲线拟合工具箱界面, 工具箱中主要有5个命令按钮:Data(输人、察看和平滑数据);Fitting(拟合数据、比较拟合曲线和数据集); Exclude(从拟合曲线中排除特殊的数点);Ploting(可以显示拟合曲线和数据集);Analysis(可以进行内插法、外推法、微分或积分拟合)。
2.2.2MATLAB曲线拟合工具箱的使用方法
在曲线拟合之前必须对数据进行预处理, 以减少人为误差, 提高拟合的精度。数据预处理方法是通过对全部数据的查看来观察数据的分布趋势, 确定采用何种拟合方法, 从而提供拟合的准确性另一种方法是对数据中的异常值进行排除, 以减少由于系统误差对拟合精度的影响。
进行曲线拟合时, 需要首先应用Data对话框指定要分析的数据, 然后在Curve Fitting Tool对话框中单击Fitting按钮,打开对话框。在该对话框中进行设置, 可以实现曲线拟合, 并可以根据误差平方和SSE、相关系数平方R一S和根的均方差RMSE等参数来显示拟合效果的好坏。
曲线拟合有2种方法由于存在测量误差, 致使测试点相当分散, 如果要求所求曲线通过所有测试点, 就会使曲线保留着所有测量误差, 这并不是我们希望的结果。曲线拟合并不需要曲线通过所有的点, 而是用一些方法画出一条近似的光滑曲线, 并能反映测试数据的一般趋势, 尽量使曲线没有波动, 让曲线通过所有给定点, 这种方法称为多项式近似法, 适用于没有测量误差的近似曲线拟合, 它可以用插值法近似求解。
曲线拟合包括参数拟合和非参数拟合2种类型, 在“Type of fit”中可以选择多项式拟合、指数拟合、平滑样条拟合和有理数拟合等参数拟合以及内插法非参数拟合。拟合的形式、置信区间大于时的相关系数和显示拟合效果好坏的各种参数可以在"Results”对话框中观察到。
应用举例。拟合表格内数据: