南北彤
(中煤北京煤矿机械有限责任公司,北京 102400)
MATLAB 是“Matrix Laboratory”2 个单词前3 个字母的组合,意为“矩阵实验室”,是一个包含众多科学、工程计算的庞大系统。
MATLAB 语言的产生与数学计算紧密联系在一起。1980 年,美国新墨西哥州大学计算机系主任Cleve Moler为了减少学生在高级语言编程上花费的时间而编写了该程序,随后成立了软件开发公司,从1984 年推出商业版本以来,经过30 余年的补充与完善以及不断升级换代,软件的功能已非常之强大,成为国际上最流行的科学计算与工程计算软件工具之一,被称为“第四代”计算机语言。
MATLAB 以其友好的工作平台和编程环境,简单易用的编程语言,应用广泛的模块集合工具箱、强大的科学计算和数据处理能力等优点,在研究单位和工程界也成为工程师们必须掌握的一种工具,是公认的进行高效研究与开发的首选软件工具[1]。
在机械设计工作过程中,常常遇到优化问题,传统设计方法常在调查分析的基础上,参照同类产品,通过估算、经验类比或试验来确定初始设计方案,如不能满足指标要求,则反复进行“分析计算——性能检验——参数修改”的循环过程,直到满足设计指标要求为止。整个传统设计过程就是人工凑试和定性分析比较的过程,是被动地重复分析产品性能,不是主动地设计产品参数。按照传统设计方法做出的设计方案,有改进余地,但不是最佳设计方案。目前较为先进的做法还可以用三维绘图软件模拟、估算。绘图软件并不能完全解决很多实际问题,且一般必须从绘图开始,再利用绘图软件内置插件进行计算,然后再回到绘图,工作量大,还容易造成设计的裕度过大而增加生产成本。
而现代化的机械产品参数设计工作可以借助专门的计算软件,应用精确度较高的力学数值分析方法,进行优化分析计算,找到最优设计方案,实现理论设计代替经验设计,用精确计算代替近似计算,用优化设计代替一般的安全寿命可行性设计。
液压缸是液压系统的执行元件之一,是将液体的压力能转换为机械能,实现往复直线运动的能量转换装置,也是液压系统中应用最多的执行元件。矿用液压支架中,立柱可以说是最重要的液压执行元件,也是支架最重要的动力部件和支撑件。立柱的性能和可靠性直接影响着支架的性能和可靠性,进而影响着采煤工作面的安全和生产效率。每根立柱承载数千千牛的顶板压力,长期处于高压受力状态,除应具有合理的工作阻力和可靠的工作特性之外,还必须有足够的抗压和抗弯强度,良好的密封,结构简单且能适应液压支架工作的要求。液压支架上广泛采用的是双作用活塞式立柱,该文所研究的是双伸缩立柱。
立柱大缸的缸管选用关系到支架立柱的抗弯曲、抗高压能力,直接影响立柱整体的使用效果。而有时由于受到运输、使用条件的限制,要求在满足使用条件的前提下,降低总体产品重量,所以必须在有限条件下将产品的每一部分重量尽可能降至最低,这样也使材料成本更加节约。
现在需要设计一种立柱,已知选用的钢管材料为30CrMnSi,工作压强为31.5 MPa,最大工作载荷根据支架产品整体设计的需要定为Pmax=1 960 kN,最小工作载荷可以近似为0,缸管壁厚δ 的取值范围为20 mm~38 mm,缸管内径D 的取值范围为200 mm~300 mm,所需钢管材料长度为1 500 mm。查得,30CrMnSi 合金结构钢的密度为7.85×103kg/m3。该文所涉及的主要尺寸参数含义如图1 所示。
图1 主要尺寸参数示意图
忽略缸口连接部分切削掉的质量和底部焊接坡口加工时去掉的质量,则大缸管质量计算公式为:
式中:M—大缸管质量(kg),ρ—大缸管材料密度(kg/m3),D—大缸管内径(m),δ—大缸管壁厚(m)。
变量设计,即主要尺寸参数D 与x1、δ 与x2一一对应,便于MATLAB 软件进行计算:
式中:x1—大缸管内径,x2—壁厚。
整理后,目标函数为:
为方便计算,以下数据均按国际单位制给出。
液压缸设计中,计算公式有很多,但不是所有的公式形成函数后都能起到约束作用,不能起到约束作用的函数,应在选择时不予考虑,以减少工作量。该题目必要的约束条件有2 个。
1.3.1 根据负载大小选定系统压力表计算D
式中:F—液压缸的推力(kN),P—选定的工作压力(MPa),计算的时候经常是用试验压力,低于16 MPa时,取实际工作压力的1.5 倍,高于16 MPa 时,取实际工作压力的1.25 倍。所以该题中应选31.5×1.25=39.375 MPa。
将变量设计值和已知量代入公式(4),并将式(4)转换为不等式,则得到约束函数为:
式中:g1(x)为约束条件函数符号,下文中的g2(x)、g3(x)同理。
1.3.2 缸壁厚度δ
当D/δ 比值不同时,所用公式也不同。
1.3.2.1 当D/δ ≥16时,按薄壁筒计算
式中:δ—缸壁厚度(m),Py—试验压力(MPa),当工作压力≥16 MPa 时,Py=1.25Pa,[σ]—缸体材料的许用应力(MPa)。
按g1(x)代换和转换方式可得:
1.3.2.2 按中等壁厚
当3.2 ≤D/δ <16 时
式中:ψ—强度系数,对无缝管ψ=1,C—计入壁厚公差及腐蚀的附加厚度,通常圆整到标准厚度值,在工作中常取2 mm。
同理可得:
1.3.2.3 按厚壁筒计算
对中、高压D/δ <3.2 时,常用第二或第四强度理论,该题中不需要考虑。
形状限制:
0.20 ≤x1≤0.30
0.02 ≤x2≤0.038
经过上面的分析步骤,可以把上述问题抽象为数学模型。
2.1.1 目标函数子程序
暂且命名为“gangguan1.m”,即“缸管1”:
function f=gangguan1(x)
f=37*10^3*(x(1)*x=(2)+x(2)^2);
2.1.2 约束函数子程序
命名为“gangguan2.m”,即“缸管2”:
function [c,ceq]=gangguan2(x)
c(1)=0.0634-x(1)^2;c(2)=0.11581*x(1)-x(2);c(3)=0.11198*x(1)-x(2)+0.002;c(4)=x(1)-0.30;c(5)=0.20-x(1);c(6)=x(2)-0.038;c(7)=0.02-x(2);
ceq=[];
2.1.3 主程序
命名为“gangguanyouhua.m”,即“缸管优化”:
x0=[1,1];lbnd=[0,0];ubnd=[];options=[];
[c,ceq]=fmincon('gangguan1',x0,[],[],[],[],lbnd,ubnd,'ganggu an2',options)
该题为求解非线性多变量约束最优化问题,所以使用的MATLAB 函数是fmincon[2]。
在命令栏输入主程序名后运行,得以下结果,c 后显示的是x1、x2的计算结果,ceq 后显示的是质量优化后的最小值:
c=
0.2518 0.0302
ceq=
315.0516
根据计算机输出结果,当大缸管内径x1=0.2518m,壁厚x2=0.0302m 时,代入质量公式之后得到最小质量等于315.0516 kg。
当然,优化设计结果可以经过验算证明其数值的可靠性。例如,如求得缸管壁厚δ,可以做一下几方面的验算,保证立柱可以安全有效工作。
2.2.1 立柱额定压力必须低于一定的极限值
式中:Pn—立柱额定压力(内部压强,MPa),D1—液压缸大缸管外径(m),也就是D+2δ,σs—材料的屈服强度(MPa)。
经过计算可知,大缸管完全满足该极限验证要求。
2.2.2 其他验证方式
此外还有很多验证方式,如通过Pn与塑性变形关系的验证,大缸管径向变形ΔD 允许范围的验证,费帕尔(Faupel)计算大缸管爆裂压力的验证,根据梅拉公式与第四强度理论验证过载强度,进行计算机仿真模拟等[3]。
当然,按照常用液压缸缸径序列,必须选择比所求数值稍大的内径和壁厚的常用缸径规格,当内径和壁厚有相应变化时,质量也会随之变化。上述各值与日常工作中所接触的立柱参数相吻合,而且更加精确,达到了最优化设计的效果。
该例中虽然是将质量引入优化设计中,但是影响产品安全性和可靠性的重点参数也在该过程中得以确定,不但可以对选择常用规格系列中的已有规格有所帮助,而且能够对未来进一步优化规格系列,改进设计提供重要参考。
在设计参数的过程中,如果添加了更多的约束条件,运算仍然可以得到结果,但运算结果不符合形状约束条件,而且会出现如下警告:"Warning:Trust-region-reflective method does not currently solve this type of problem,using active-set(line search)instead."提示的“active-set”为有效集运算,此时则需要改变所用函数的类型,或者修改约束条件。
此外,还会出现持续运算,而不出现运算结果的可能,这是由于所写程序出现死循环运算,即一直持续运算,但不能得出最优化结果。此时则需要重新检查所设的目标函数和约束条件。
综合所做的其他优化题目的过程和经验,总结出了求解时的7 个步骤。1)判断优化问题的类型(区分单目标与多目标问题;线性与非线性问题;是否为线性规划问题等几种情况)。2)根据优化问题的类型来选定优化函数。例如,该题目属于单目标多变量非线性约束优化问题, 所以选定fmincon 优化函数。此外,常用函数还有fminsearch、fminbnd、fminmax、linprog 等很多种,可以满足各种类型的优化问题求解需要。3)优化函数输入参数。比如初值、等式约束、不等式约束、变量的上下限,编制目标函数的程序,对于含有非线性约束的问题,需要编制非线性约束的函数。4)根据目标函数的性态,预设优化设置。5)在所有的输入参数定义后,调用优化函数进行优化程序调试。6)根据优化过程的具体提示信息,修改优化选项的设置,直到达到满足优化函数所需的优化条件为止。7) 对所得优化数据结果进行分析和评价[4]。
应用MATLAB 的fmincon 等函数,不仅可以很好地解决单目标多变量约束非线性优化等优化问题,而且大大提高了设计的准确度和可靠性,并且使设计效率比以往有很大提高。在液压支架设计过程中,我们可以引入MATLAB软件,运用其函数,当然还可以直接调用其强大的计算模块和图形模拟功能。由于MATLAB 软件具有强大的图形、数值计算功能及较高的编程效率,具有以往采用的其他编程方法或手段来解决优化问题时所不能比拟的优点。因此,它是一种能够用来解决机械优化设计和工程优化问题的十分强大而有效的工具。相信该软件的运用将会把我们的设计工作提升到新的水平。