附录11、用解析法设计凸轮2的实际轮廓曲线。
1、建立凸轮轮廓的数学模型。
X=OE+EF=(S0+S)*Sin(J)+e*Cos(J)
Y=BD – FD=(S0+S)*Cos(J) – e*Sin(J)
式中:
X,Y:凸轮理论廓线上的某一点坐标 (mm)
e:从动件的偏心距(mm),OC
R:凸轮的基圆半径(mm),OA
S0:(mm),CK
J:凸轮的转角
S:S=f(J)从动件运动方程,KB
BC=CK十KB=S0十S
因为工作廓线在法线方向的距离处处相等,且等于滚子半径r’,故当已知理论廓线上的任意一点B(X,Y)时,只要沿理论廓线在该点的法线的方向取距离为r’,即得到工作廓线上的相应点B’(X’,Y’).由高等数学可知,理论廓线B点处的法线n-n的斜率(与切线斜率互为负倒数)应为
Tan a=-dx/dy=(dx/dJ)/(dx/dJ)/(-dy/dJ)=sina/cosa
注: a为理论廓线B点处的法线和X轴的夹角。
根据(1)(2)两式有
dx/dJ=(ds/dJ-e)sin(J)+(s0+s)cos(J) (3)
dy/dJ=(ds/dJ-e)cos(J)-(s0+s)sin(J) (4)
可得
Sin a=(dx/dJ)/((dx/dJ)^2+(dy/dJ)^2)^0.5 (5)
Cos a=-(dy/dJ)/((dx/dJ)^2+(dy/dJ)^2)^0.5 (6)
工作廓线上对应的点B’(x’,y’)坐标为:
x’=x-r’cos a
y’=y- r’sin a
2、从动件运行规律:五次多项式运行规律
从动件运动形式为:升—停—降—停型
推程(升)δ1 | 远休止(停)δ2 | 回程(降)δ3 | 近休止(停)δ4 |
等加速等减速 S1=10h(δ/δ1)^3-15h (δ/δ1)^4+6h(δ/δ1)^5); | S2=h | 等减速等加速 S1=h-h(10(δ/δ3)^3-15(δ/δ3)^4+6(δ/δ3)^5) | S4=0 |
3、绘制凸轮曲线的程序框图
(1)升回程运动函数的子程序框图
(2)ds/dδ运动函数的子程序框图
(3)绘制凸轮轮廓的主程序框图
(4)绘制S-δ曲线的程序框图
4、程序编写(以下程序在Matlab7.0上运行通过)
(1)升回程运动函数的子程序
function y = s(x) %申明从动件运行规律函数
deg=pi/180; %转化为弧度制的参数
h=10; %从动件行程
if (x<0)|(x>2*pi)
error('Input Range error(0~2*pi)');
else
if x<(60*deg)&(x>=0)
y=h*(10*(x/(60*deg))^3-15*(x/(60*deg))^4+6*(x/(60*deg))^5); %升程运动规律
else
if(x>=60*deg)&(x<70*deg)
y=h; %远休运动规律
else
if(x>=70*deg)&(x<130*deg)
y=h-h*(10*((x-70*deg)/(60*deg))^3-15*((x-70*deg)/(60*deg))^4+6*((x-70*deg)/(60*deg))^5); %回程运动规律
else
y=0; %近休运动规律
matlab求导 end
end
end
end
(2)绘制ds/dδ运动函数的子程序
function d=ds(x) %申明ds/dδ运行规律函数
h=10; %凸轮2行程
deg=pi/180;
if (x<0)|(x>2*pi)
error('Input Range error(0~2*pi)');
else
if x<(60*deg)&(x>=0)
d=h/(60*deg)*((30*(x/(60*deg))^2-60*(x/(60*deg))^3+30*(x/(60*deg))^4)); %对S求导
else
if(x>=60*deg)&(x<70*deg)
d=0; %对S求导
else
if(x>=70*deg)&(x<130*deg)
d=-h/(60*deg)*((30*((x-70*deg)/(60*deg))^2-60*((x-70*deg)/(60*deg))^3+30*((x-70*deg)/(60*deg))^4)); %对S求导
else
d=0; %对S求导
end
end
end
end
(3)绘制凸轮轮廓的主程序
clear;
i=1;
r0=60; %基圆半径
rr=4; %滚子圆半径
e=0; %偏距
eta=1; %凸轮顺时钉转向
s0=(r0^2-e^2)^0.5;
deg=pi/180;
st=0.05*deg; %步长
a=0;
if a<2*pi
x(i)=(s(a)+s0)*sin(eta*a)-e*cos(eta*a); %定义理论轮廓线的X座标
y(i)=(s(a)+s0)*cos(eta*a)+e*sin(eta*a); %定义理论轮廓线的Y座标
dx=ds(a)*sin(eta*a)-eta*(s(a)+s0)*cos(eta*a)-e*eta*sin(eta*a);
dy=ds(a)*cos(eta*a)+eta*(s(a)+s0)*sin(eta*a)-e*eta*cos(eta*a);
sino=dx/(dx^2+dy^2)^0.5;
coso=dy/(dx^2+dy^2)^0.5;
X(i)=x(i)-rr*coso; %定义实际轮廓线的X座标
Y(i)=y(i)+rr*sino; %定义实际轮廓线的Y座标
i=i+1;
a=a+st;
end
plot(x,y,X,Y); %绘制理论和实际轮廓线
axis('square','equal');
grid on
主程序运行的结果为凸轮轮廓曲线:
(4)绘制S-δ曲线的程序为:
h=10;
t1=linspace(0,60*pi/180); %定义升程角范围
y1=h*(10*(t1/(60*deg)).^3-15*(t1/(60*deg)).^4+6*(t1/(60*deg)).^5); %升程运动规律
t2=linspace(60*pi/180,70*pi/180); %定义远休角范围
y2=h; %远休运动规律
t3=linspace(70*pi/180,130*pi/180); %定义回程角范围
y3=h-h*(10*((t3-70*deg)/(60*deg)).^3-15*((t3-70*deg)/(60*deg)).^4+6*((t3-70*deg)/(60*deg)).^5); %回程运动规律
发布评论