曲柄摇杆机构优化设计说明Word格式文档下载.docx
《曲柄摇杆机构优化设计说明Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《曲柄摇杆机构优化设计说明Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
![曲柄摇杆机构优化设计说明Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/26/53d6f3e7-f314-4784-8cab-75a8befb0e57/53d6f3e7-f314-4784-8cab-75a8befb0e571.gif)
在曲柄输入角从到的过程中,使摇杆输出角尽量满足一个给定的函数即公式
(1)。
对此我将到等分为m分,当然输出角也将对应的分为m分,然后我将输出角对应的数值与期望函数进行拟合,如果误差降到最小,那么得到的结果将会是优化的解,这是将连续型函数转化为离散型的问题,利用matalab编程计算,从而求解。
运动模型如图
(1)所示
图
(1)曲柄摇杆机构运动模型图
3.数学模型的建立
3.1设计变量的确定
定义:
设计变量是除设计常数之外的基本参数,在优化设计过程中不断地进行修改、调整、一直处于变化的状态,这些基本参数都叫做设计变量。
对于本课题,设计常量为长度,分别为1和5。
决定机构部分杆长尺寸,以及摇杆按照已知运动规律开始运动时曲柄所处的位置角应该列为设计变量即为
X==
由于整个机构的杆长都是按比例来设计的,他们都是1的倍数,按照题目要求曲柄的初始位置为极位角,即。
则可以根据曲柄摇杆机构各杆长度关系得到和相应的摇杆位置角的函数,关系式为
(2)
(3)
由已知条件可知长度分别为1和5,而根据公式
(2)(3)可知,
是由的长度来决定,所以为独立变量,则可以确定本课题的设计变量
X=,这是一个二维优化问题。
3.2约束条件的建立
如果一个设计满足所有对它提出的要求,成为可行设计;
一个可行设计必须满足某些设计限制条件,这些限制条件做为约束条件。
对本题分析可知机构要满足两个约束条件即
杆长条件满足曲柄摇杆机构存在条件传动角满足最小传动角大于45度
(1)杆长条件满足曲柄摇杆机构存在条件则有
a.最短杆与最长杆长度之和应小于或等于其余两杆之和
b.连架杆与机架中至少有一杆是最短杆
当最短杆为曲柄时即满足曲柄摇杆存在条件,得到以下约束条件
(4)
(5)
(6)
(7)
(8)
(1)传动角满足最小传动角大于45度(注:
以本机构为例,传动角为之间所夹的锐角;
机械原理,西工大版)
当曲柄在时,如图
(2)所示
图
(2)左极限最小传动角示意图
相应的传动角约束条件为
(9)
当曲柄在区间上运动时,相应的传动角约束条件为,如图(3)
图(3)右极限最小传动角示意图
(10)
这是一个具有2个设计变量,7个不等式约束条件的优化设计问题,可以选用约束优化方程成语来计算。
3.3目标函数的建立
满足所有约束条件的设计方案是可行设计方案,优化设计的任务就是要对各个设计方案进行比较,从而找出那个最佳的设计方案。
而对设计方案进行优劣比较的标准就是目标函数,或称为评价指标、评价函数。
针对本课题,目标函数可根据已知的运动规律和机构实际运动规律之间的偏差最小作为指标来建立,即取机构的期望输出角和实际输出角的平方误差积分最小作为目标函数,表达式为,而这时一个连续型函数,为了方便计算,我们将这个问题转化为离散型的问题。
把输入角度取m个点进行数值计算,它可以化约(4)表达式最小来求解。
(11)
--------期望输出角,=;
m--------输入角的等分数;
-------实际输出角,由公式
(1)可知;
由曲柄的运动情况,可以分成三种运动模型,一种是在曲柄在机架之上运动,另一种是曲柄在机架下面运动,最后一种是二者都满足。
我将分别对此讨论,写出相应的目标函数并分析前两种结果对最终结果的影响。
(1)当时,如图(4)
图(4)曲柄在区间模型图
实际输出角为
(12)(13)
(14)
(15)
由于我们将等分为m分,则实际的输入角可以用函数表示出来为
这里我将输出角的等分数设置成30,则可以表示出实际输入角的函数为
(16)
(2)当时,如图(5)
图(5)曲柄在区间运动模型图
(17)
表达式如(13)(14)(15)(16)所示。
(3)当
(1)
(2)两种情况都综合考虑进去时,则应该表示为
(18)
4.数学模型的建立
通过上面的分析后,将输入角分成30等分(m=30),经过转化为标准形式得到曲柄摇杆机构优化设计标准数学模型为
目标函数:
设计变量:
约束条件:
见公式(4)(5)(6)(7)(8)(9)(10)
机械优化设计中的问题,大多数属于约束优化问题,此为非线性约束优化问题,运用MATLAB优化工具箱的命令函数fmincon来处理有约束的非线性多元函数最小化优化问题。
5.用matlab优化计算程序及分析讨论
5.1讨论及结果分析
(1)当曲柄在运动时
猜想1.由于曲柄的实际输出角的范围不完整,会使结果拉长到整个区间,从而产生较大偏差。
连杆机构实现函数优化设计最优解
连杆相对长度a=4.1286
摇杆相对长度b=2.3226
输出角平方误差之和f*=0.0076
最优点的性能约束函数值
最小BCD夹角约束函数值g1*=-7.1214
最大BCD夹角约束函数值g2*=-0.0000
图(6)当时迭代拟合图
结论:
通过对比第三种情况,发现二者结果相同,猜想不成立。
(2)当曲柄运动时
猜想2.由于第一种情况下得到的结论对第三种没有影响,可以猜测在区间不存在,或者和第三种结果一样。
Matlab显示结果运行错误。
则可以说,第二种情况是不存在的,对结果不产生影响。
(3)当
(1)
(2)两种情况都综合考虑进去时
图(7)时迭代你拟合图
将连杆长度带入计算,则可以得到传动角的变化规律
图(8)传动角随输入角变化的规律图
经过matlab优化的曲线跟期望曲线存在细微的差别,输出角平方误差之和f*=0.0076,传动角波动范围符合要求,所以此优化方程的解符合要求。
5.2.程序代码过程
(1)优化设计主程序M文件
clc;
clear;
%铰链四杆机构实现函数的优化设计的主程序
%调用目标函数optimfun和非线性约束函数confun
x0=[6;
4];
%设计变量的初始值
qb=1;
jj=5;
%设计变量的下界与上界
lb=[1;
1];
ub=[];
a=[-1-1;
1-1;
-11];
b=[-6;
4;
%使用多维约束优化命令fmincon
[x,fn]=fmincon(@optimfun,x0,a,b,[],[],lb,ub,@confun);
disp'
连杆机构实现函数优化设计最优解'
fprintf('
连杆相对长度a=%3.4f\n'
x
(1))
摇杆相对长度b=%3.4f\n'
x
(2))
输出角平方误差之和f*=%3.4f\n'
fn)
%计算最优点x*的性能约束函数值
g=confun(x);
最优点的性能约束函数值'
最小BCD夹角约束函数值g1*=%3.4f\n'
g
(1))
%fprintf('
最大BCD夹角约束函数值g2*=%3.4f\n'
g
(2))
(2)调用目标函数及画图
functionf=optimfun(x)
s=30;
qb=1;
jj=5;
fx=0;
fa0=acos(((qb+x
(1))^2-x
(2)^2+jj^2)/(2*(qb+x
(1))*jj));
%曲柄初始角
pu0=acos(((qb+x
(1))^2-x
(2)^2-jj^2)/(2*x
(2)*jj));
%摇杆初始角
fori=1:
s
fai=fa0+0.5*pi*i/s;
pu(i)=pu0+2*(fai-fa0)^2/(3*pi);
%摇杆期望角
ri=sqrt(qb^2+jj^2-2*qb*jj*cos(fai));
alfi=acos((ri^2+x
(2)^2-x
(1)^2)/(2*ri*x
(2)));
bati=acos((ri^2+jj^2-qb^2)/(2*ri*jj));
iffai>
0&
fai<
=pi
ps(i)=pi-alfi-bati;
%elseiffai>
pi&
=2pi
%ps(i)=pi-alfi+bati;
end
fx=fx+(pu(i)-ps(i))^2;
i=1:
30;
f=fx;
%输出角平分误差之和
plot(i,ps(i),'
r-.'
i,pu(i),'
b-*'
);
legend('
期望曲线'
'
实际曲线'
gridon
(3)调用约束条件
function[c,ceq]=confun(x)
m=45*pi/180;
n=135*pi/180;
%c
(1)=x
(1)^2+x
(2)^2-(jj-qb)^2-2*x
(1)*x
(2)*cos(m);
%最小BCD夹角传动角约束
c
(2)=-x
(1)^2-x
(2)^2+(jj+qb)^2+2*x
(1)*x
(2)*cos(n);
%最大BCD夹角约束
ceq=[];
(4)传动角与输入角关系代码
%曲柄摇杆机构运动过程中传动角变化曲线图源代码
l2=4.0483;
l3=2.6550;
l4=5;
a1=acos(((1+l2)^2+l4^2-l3^2)/(2*l4*(1+l2)));
a2=pi-acos((l3^2+l4^2-(1+l2)^2)/(2*l4*l3));
360;
fai(i)=a1+(pi/2)*(i/360);
rou(i)=sqrt(1+l4^2-2*l4*cos(fai(i)));
ifrad2deg(acos((l2^2+l3^2-rou(i)^2)/(2*l2*l3)))<
=90
CDJ(i)=acos((l2^2+l3^2-rou(i)^2)/(2*l2*l3));
else
CDJ(i)=pi-acos((l2^2+l3^2-rou(i)^2)/(2*l2*l3));
x=fai;
y=CDJ;
plot(x,y)
xlabel('
曲柄输入角/rad'
fontsize'
12,'
fontname'
宋体'
ylabel('
传动角/rad'
title('
给定区间内的传动角变化曲线图'
6.参考文献
【1】机械原理第七版;
西北工业大学机械原理及机械零件教研室编;
主编孙桓陈做模葛文杰
【2】机械优化设计;
哈尔滨工业大学孙靖民主编
7.小结
通过对《工程优化与matlab实现》的学习,我初步了解了matlab软件的的使用方法,接触了相关的规范准则