一.Matlab程序
⑴求悬点的位移,速度和加速度表达式的程序:
syms a b c d a1 w1
A=d-a*cos(a1);B=-a*sin(a1);C=(A^2+B^2+c^2-b^2)/(2*c);
a3=2*atan((B+sqrt(A^2+B^2-C^2))/(A-C));
a2=atan((B+c*sin(a3))/(A+c*cos(a3)));
w3=w1*a*sin(a1-a2)/(c*sin(a3-a2));
w2=-w1*a*sin(a1-a3)/(b*sin(a2-a3));
s=1.35*c*(a3+acos((c^2-a^2-a*b)/(d*c))-pi)
v=1.35*c*w3
ac=1.35*c*(b*w2^2+a*w1^2*cos(a1-a2)-c*w3^2*cos(a3-a2))/(c*sin(a3-a2))
⑵机构优化设计程序:
function myyouhua
F=45:0.1:55;
YH=[inf,0,0,0,0];
for i=1:length(F)
q=F(i)*pi/180;
c=1.4/(1.35*q);a=c*sin(q/2);
K=1.1*c:0.001:1.6*c;
for j=1:length(K)
b=K(j);
d=sqrt(b^2+c^2-a^2);
P=0:0.5:180;m=0;
for t=1:length(P)
a1=P(t)*pi/180;
a1=a1+acos(b/d);
w1=11*pi/30;
A=d-a*cos(a1);B=-a*sin(a1);C=(A^2+B^2+c^2-b^2)/(2*c);
if A~=C
a3=2*atan((B+sqrt(A^2+B^2-C^2))/(A-C));
else a3=2*atan(-A/B);
end;
a2=atan((B+c*sin(a3))/(A+c*cos(a3)));
w3=w1*a*sin(a1-a2)/(c*sin(a3-a2));
w2=-w1*a*sin(a1-a3)/(b*sin(a2-a3));
ac=1.35*c*(b*w2^2+a*w1^2*cos(a1-a2)-c*w3^2*cos(a3-a2))/(c*sin(a3-a2));
z=abs(ac);
if m<z
m=z;
end
end;
if m<YH(1)
YH=[m,a,b,c,d]
end;
end;
end
⑶求悬点位移的程序:
function s=mys(a1)
a=0.505;b=2.112;c=1.320;d=2.439;w1=11*pi/30;
a1=a1+acos(b/d);
A=d-a*cos(a1);B=-a*sin(a1);C=(A^2+B^2+c^2-b^2)/(2*c);
if A~=C
a3=2*atan((B+sqrt(A^2+B^2-C^2))/(A-C));
else a3=2*atan(-A/B);
end;
s=1.35*c*(a3+acos((c^2-a^2-a*b)/(d*c))-pi);
⑷求悬点速度的程序:
function v=myv(a1)
a=0.505;b=2.112;c=1.320;d=2.439;w1=11*pi/30;
a1=a1+acos(b/d);
A=d-a*cos(a1);B=-a*sin(a1);C=(A^2+B^2+c^2-b^2)/(2*c);
if A~=C
a3=2*atan((B+sqrt(A^2+B^2-C^2))/(A-C));
else a3=2*atan(-A/B);
end;
a2=atan((B+c*sin(a3))/(A+c*cos(a3)));
w3=w1*a*sin(a1-a2)/(c*sin(a3-a2));
v=1.35*c*w3;
⑸求悬点加速度的程序:
function ac=myac(a1)
a=0.505;b=2.112;c=1.320;d=2.439;w1=11*pi/30;
a1=a1+acos(b/d);
A=d-a*cos(a1);B=-a*sin(a1);C=(A^2+B^2+c^2-b^2)/(2*c);
if A~=C
a3=2*atan((B+sqrt(A^2+B^2-C^2))/(A-C));
else a3=2*atan(-A/B);
end;
a2=atan((B+c*sin(a3))/(A+c*cos(a3)));
w3=w1*a*sin(a1-a2)/(c*sin(a3-a2));
w2=-w1*a*sin(a1-a3)/(b*sin(a2-a3));
ac=1.35*c*(b*w2^2+a*w1^2*cos(a1-a2)-c*w3^2*cos(a3-a2))/(c*sin(a3-a2));
⑹求悬点位移,速度和加速度数据的程序:
function smaoyan
J=0:5*pi/180:2*pi;t=length(J);
S=[1,t];V=[1,t];AC=[1,t];
a=0.505;b=2.112;c=1.320;d=2.439;w1=11*pi/30;
for i=1:t
M=J(i)+acos(b/d);
a1=M;
A=d-a*cos(a1);B=-a*sin(a1);C=(A^2+B^2+c^2-b^2)/(2*c);
if A~=C
a3=2*atan((B+sqrt(A^2+B^2-C^2))/(A-C));
else a3=2*atan(-A/B);
end;
a2=atan((B+c*sin(a3))/(A+c*cos(a3)));
w3=w1*a*sin(a1-a2)/(c*sin(a3-a2));
w2=-w1*a*sin(a1-a3)/(b*sin(a2-a3));
s=1.35*c*(a3+acos((c^2-a^2-a*b)/(d*c))-pi);
v=1.35*c*w3;
ac=1.35*c*(b*w2^2+a*w1^2*cos(a1-a2)-c*w3^2*cos(a3-a2))/(c*sin(a3-a2));
S(i)=s;
V(i)=v;
AC(i)=ac;
end
J,S,V,AC
⑺求悬点上冲程中最大速度的程序:
function zuidasudu
J=0:0.5*pi/180:pi;t=length(J);
V=[1,t];
a=0.505;b=2.112;c=1.320;d=2.439;w1=11*pi/30;
for i=1:t
M=J(i)+acos(b/d);
a1=M;
A=d-a*cos(a1);B=-a*sin(a1);C=(A^2+B^2+c^2-b^2)/(2*c);
if A~=C
a3=2*atan((B+sqrt(A^2+B^2-C^2))/(A-C));
else a3=2*atan(-A/B);
end;
a2=atan((B+c*sin(a3))/(A+c*cos(a3)));
w3=w1*a*sin(a1-a2)/(c*sin(a3-a2));
v=1.35*c*w3;
V(i)=v;
end
Vmax=max(V)
⑻悬点位移,速度和加速度曲线图的程序:
fplot(@mys,[0,2*pi]),xlabel('曲柄转角φ(rad)'),ylabel('悬点位移s(m)'),title('位移曲线图')
fplot(@myv,[0,2*pi]),xlabel('曲柄转角φ(rad)'),ylabel('悬点速度v(m/s)'),title('速度曲线图')
fplot(@myac,[0,2*pi]),xlabel('曲柄转角φ(rad)'),ylabel('悬点加速度(m/s^2)'),title('加速度曲线图')
二.悬点位移,速度和加速度曲线图
三.悬点位移,速度和加速度与对应曲柄转角的数据表
参考书目:
1、 机械设计课程设计 卢颂峰 王大康 主编 北京工业大学出版社 1993年第一版
2、 机械设计 吴克坚 于晓红 钱瑞明 主编 高等教育出版社 2003年3月第一版
3、 机械设计课程设计(修订版) 鄂中凯 王金 田世新 刘孔钧 主编 东北工业大学出版社 1990年5月第一版
4、 机械设计课程设计指导书 龚溎义 罗圣国 李平林 张力乃 黄少颜 编 龚溎义 主编高等教育出版社 1990年4月第二版
5、 机械设计课程设计图册 龚溎义 潘沛霖 陈秀 严国良 编 龚溎义 主编 (哈尔滨工业大学)高等教育出版社 1989年5月第三版