凸轮机构的设计计算和运动分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

% ******** 偏置移动从动件盘形凸轮设计绘图和运动分析******** disp ' ######## 已知条件########'

disp ' 凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边'

disp ' 从动件在推程作等加速/等减速运动,在回程作余弦加速度运动' % 基圆半径;滚子半径;从动件偏距;从动件升程

rb=40;rt=10;e=15;h=50;

% 推程运动角;远休止角;回程运动角;推程许用压力角;凸轮转速

ft=100;fs=60;fh=90;alpha_p=35;n=200;

% 角度和弧度转换系数;机构尺度

hd=pi/180;du=180/pi;se=sqrt(rb^2-e^2);

w=n*pi/30; omega=w*du; % 凸轮角速度(°/s)

fprintf(' 基圆半径rb = %3.4f mm \n',rb)

fprintf(' 滚子半径rt = %3.4f mm \n',rt)

fprintf(' 推杆偏距 e = %3.4f mm \n',e)

fprintf(' 推程升程h = %3.4f mm \n',h)

fprintf(' 推程运动角ft = %3.4f 度\n',ft)

fprintf(' 远休止角fs = %3.4f 度\n',fs)

fprintf(' 回程运动角fh = %3.4f 度\n',fh)

fprintf(' 推程许用压力角alpha_p = %3.4f 度\n',alpha_p) fprintf(' 凸轮转速n = %3.4f r/min \n',n) fprintf(' 凸轮角速度(弧度) w = %3.4f rad/s \n',w)

fprintf(' 凸轮角速度(度) omega = %3.4f 度/s \n',omega) disp ' '

disp ' @@@@@@ 计算过程和输出结果@@@@@@' disp ' '

% (1)---校核凸轮机构的压力角和轮廓曲率半径'

disp ' *** 计算凸轮理论轮廓的压力角和曲率半径***'

disp ' 1 推程(等加速/等减速运动)'

for f=1:ft

if f<=ft/2

s(f)=2*h*f^2/ft^2;s=s(f); % 等加速-位移方程

ds(f)=4*h*f*hd/(ft*hd)^2;ds=ds(f);

d2s(f)=4*h/(ft*hd)^2;d2s=d2s(f);

vt(f)=4*h*omega*f/ft^2; % 等加速-速度方程else

s(f)=h-2*h*(ft-f)^2/ft^2;s=s(f); % 等减速-位移方程

ds(f)=4*h*(ft-f)*hd/(ft*hd)^2;ds=ds(f);

d2s(f)=-4*h/(ft*hd)^2;d2s=d2s(f);

vt(f)=4*h*omega*(ft-f)/ft^2; % 等减速-速度方程end

alpha_t(f)=atan(abs(ds-e)/(se+s)); % 推程压力角(弧度)

alpha_td(f)=alpha_t(f)*du; % 推程压力角(度)

pt1=((se+s)^2+(ds-e)^2)^1.5;

pt2=abs((se+s)*(d2s-se-s)-(ds-e)*(2*ds-e));

rho_t(f)=pt1/pt2; % 推程曲率半径

st(f)=s;

end

alpha_tm=max(alpha_td);

fprintf(' 推程最大压力角alpha_tm = %3.4f 度\n',alpha_tm)

for f=1:ft

if alpha_td(f)==alpha_tm;ftm=f;break;end

end

fprintf (' 对应的位置角ftm = %3.4f 度\n',ftm)

if alpha_tm>alpha_p

fprintf(' * 凸轮推程压力角超过许用值,需要增大基圆!\n')

end

rho_tn = min(rho_t);

fprintf (' 最小曲率半径rho_tn = %3.4f mm\n',rho_tn)

for f=1:ft

if rho_t(f)==rho_tn;ftn=f;break;end

end

fprintf(' 对应的位置角ftn = %3.4f 度\n',ftn)

if rho_tn

fprintf(' * 凸轮推程轮廓曲率半径小于许用值,需要增大基圆或减小滚子!\n') end

disp ' 2 回程(余弦加速度运动-简谐运动)'

d1=ft+fs;d2=ft+fs+fh; % 回程运动角范围

for f=d1:d2

k=f-d1;

s(f)=0.5*h*(1+cos(pi*k/fh));s=s(f); % 简谐运动-位移方程

ds(f)=-0.5*pi*h*sin(pi*k/fh)/(fh*hd);ds=ds(f);

d2s(f)=-0.5*pi^2*h*cos(pi*k/fh)/(fh*hd)^2;d2s=d2s(f);

alpha_h(f)=atan(abs(ds+e)/(se+s)); % 回程压力角(弧度)

alpha_hd(f)=alpha_h(f)*du; % 回程压力角(度)

ph1=((se+s)^2+(ds-e)^2)^1.5;

ph2=abs((se+s)*(d2s-se-s)-(ds-e)*(2*ds-e));

rho_h(f)=ph1/ph2; % 回程曲率半径

sh(f)=s;

vh(f)=-0.5*pi*h*omega*sin(pi*f/fh)/fh; % 简谐运动-速度方程

ah(f)=-0.5*pi^2*h*omega^2*cos(pi*f/fh)/fh^2; % 简谐运动-加速度方程

end

alpha_hm = max(alpha_hd(d1:d2));

fprintf(' 回程最大压力角alpha_hm = %3.4f 度\n',alpha_hm)

for f=d1:d2

if alpha_hd(f)==alpha_hm;fhm=f;break;end

end

fprintf(' 对应的位置角fhm = %3.4f 度\n',fhm)

rho_hn=min(rho_h(d1:d2));

相关文档
最新文档