alexqxp 发表于 2010-4-9 15:16:02

机械原理相关-连杆、凸轮等

本帖最后由 alexqxp 于 2010-4-9 15:23 编辑

学会用数值方法解决作业题,是一种比较好的练习方式。毕竟暂时还没有什么很现实的问题需要学生来解决。很多题目都可以用图解法和解析法,一般图解法比较容易做点,解析法的思路都比较好懂,但是如何具体实现还是有点问题,一方面是程序相关命令不熟悉,另外是人的思维和机器编程的思维在某些地方是不同的。下面是点小程序,作为结合课程学习上手还是可以的。
%杨可帧,机械设计基础,作业,第五版,计算机图解,
%凸轮简谐运动
h=30;faiyuan=pi/6;faijin=pi/3;fhuicheng=120*pi/180;
ftuicheng=2*pi-faiyuan-faijin-fhuicheng;%计算推程角
fai1=0:pi/180:ftuicheng;
%绘制凸轮轮廓
%推程
fai1=0:pi/180:ftuicheng;
s1=h*0.5*(1-cos(pi*fai1/ftuicheng));
x1=(10+s1).*cos(fai1);
y1=(10+s1).*sin(fai1);
plot(x1,y1,'linewidth',2)
hold on;
%远休止
fai2=ftuicheng:pi/180:(ftuicheng+faiyuan);
s2=max(s1);
x2=(10+s2).*cos(fai2);
y2=(10+s2).*sin(fai2);
plot(x2,y2,'linewidth',2)
hold on;
%回程
fai3=(ftuicheng+faiyuan):pi/180:(ftuicheng+faiyuan+fhuicheng);
s3=h*0.5*(1+cos(pi*(fai3-ftuicheng-faiyuan)/fhuicheng));
x3=(10+s3).*cos(fai3);
y3=(10+s3).*sin(fai3);
plot(x3,y3,'linewidth',2)
%近休止
fai4=(ftuicheng+faiyuan+fhuicheng):pi/180:2*pi;
s4=min(s3);
x4=(10+s4).*cos(fai4);
y4=(10+s4).*sin(fai4);
plot(x4,y4,'linewidth',2)
title('凸轮轮廓')
xlabel('mm')
ylabel('mm')
axis equal

%绘制位移曲线
%推程
figure;
s1=h*0.5*(1-cos(pi*fai1/ftuicheng));
plot(fai1*180/pi,s1,'linewidth',2)
hold on;
%远休止
fai2=ftuicheng:pi/180:(ftuicheng+faiyuan);
s2=max(s1);
plot(fai2*180/pi,s2,'r:x')
hold on;
%回程
fai3=(ftuicheng+faiyuan):pi/180:(ftuicheng+faiyuan+fhuicheng);
s3=h*0.5*(1+cos(pi*(fai3-ftuicheng-faiyuan)/fhuicheng));
plot(fai3*180/pi,s3,'linewidth',2)
%近休止
fai4=(ftuicheng+faiyuan+fhuicheng):pi/180:2*pi;
s4=min(s3);
plot(fai4*180/pi,s4,'r:x')
title('凸轮从动件简谐运动位移曲线')
xlabel('凸轮转角')
ylabel('顶杆位移/mm')




%绘制速度曲线
figure;
w=10;
fai1=0:pi/180:ftuicheng;
%推程
v1=h*pi*w*sin(pi*fai1/ftuicheng)/(2*ftuicheng);
plot(fai1*180/pi,v1,'linewidth',2)
hold on;
%远休止
fai2=ftuicheng:pi/180:(ftuicheng+faiyuan);
v2=0;
plot(fai2*180/pi,v2,'r:x')
hold on;
%回程
fai3=(ftuicheng+faiyuan):pi/180:(ftuicheng+faiyuan+fhuicheng);
v3=-h*pi*w*sin(pi*(fai3-ftuicheng-faiyuan)/fhuicheng)/(2*fhuicheng^2);
plot(fai3*180/pi,v3,'linewidth',2)
%近休止
fai4=(ftuicheng+faiyuan+fhuicheng):pi/180:2*pi;
v4=0;
plot(fai4*180/pi,v4,'r:x')
title('凸轮从动件简谐运动速度曲线')
xlabel('凸轮转角')
ylabel('顶杆速度')

alexqxp 发表于 2010-4-9 15:18:40

%机械原理,孙恒, 8-6,判断四杆机构是否有曲柄存在
a=240;
b=600;
c=400;
d=500;
l=
lmax=max(l)
lmin=min(l)
if(lmax+lmin<=(a+b+c+d-lmax-lmin))
    '有曲柄存在'
end
'd的范围'

alexqxp 发表于 2010-4-9 15:19:42

%机械原理,孙恒,8-8
l1=28;
l2=52;
l3=50;
l4=72;
r1=acos((l2^2+l3^2-(l4-l1)^2)/(2*l2*l3));
r2=acos((l2^2+l3^2-(l4+l1)^2)/(2*l2*l3))
r1=r1*180/pi;
r2=r2*180/pi;
if r2>90
    r2=180-r2;
end
rmin=min(r1,r2)%最小传动角
theta=acos(((l1+l2)^2+l4^2-l3^2)/(2*l4*(l1+l2)))-acos(((l2-l1)^2+l4^2-l3^2)/(2*l4*(l2-

l1)));
theta=theta*180/pi%极位夹角
fai=acos((l3^2+l4^2-(l1+l2)^2)/(2*l3*l4))-acos((l3^2+l4^2-(l2-l1)^2)/(2*l3*l4));
fai=fai*180/pi%摆角
k=(180+theta)/(180-theta)%行程速比系数

鸿钧盗 发表于 2011-4-7 17:28:05

前几天刚学的,恰好用的上:victory:
页: [1]
查看完整版本: 机械原理相关-连杆、凸轮等