% ******** 偏置移动从动件盘形凸轮设计绘图和运动分析******** 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:ftif f<=ft/2s(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; % 等加速-速度方程elses(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; % 等减速-速度方程endalpha_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;endalpha_tm=max(alpha_td);fprintf(' 推程最大压力角alpha_tm = %3.4f 度\n',alpha_tm)for f=1:ftif alpha_td(f)==alpha_tm;ftm=f;break;endendfprintf (' 对应的位置角ftm = %3.4f 度\n',ftm)if alpha_tm>alpha_pfprintf(' * 凸轮推程压力角超过许用值,需要增大基圆!\n')endrho_tn = min(rho_t);fprintf (' 最小曲率半径rho_tn = %3.4f mm\n',rho_tn)for f=1:ftif rho_t(f)==rho_tn;ftn=f;break;endendfprintf(' 对应的位置角ftn = %3.4f 度\n',ftn)if rho_tn<rt+5fprintf(' * 凸轮推程轮廓曲率半径小于许用值,需要增大基圆或减小滚子!\n') enddisp ' 2 回程(余弦加速度运动-简谐运动)'d1=ft+fs;d2=ft+fs+fh; % 回程运动角范围for f=d1:d2k=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; % 简谐运动-加速度方程endalpha_hm = max(alpha_hd(d1:d2));fprintf(' 回程最大压力角alpha_hm = %3.4f 度\n',alpha_hm)for f=d1:d2if alpha_hd(f)==alpha_hm;fhm=f;break;endendfprintf(' 对应的位置角fhm = %3.4f 度\n',fhm)rho_hn=min(rho_h(d1:d2));fprintf(' 最小曲率半径rho_hn = %3.4f mm\n',rho_hn)for f=d1:d2if rho_h(f)==rho_hn;fhn=f;break;endendfprintf(' 对应的位置角fhn = %3.4f 度\n',fhn)if rho_hn<rt+5fprintf(' * 凸轮回程轮廓曲率半径小于许用值,需要增大基圆或减小滚子!\n') enddisp ' '% (2)---计算凸轮机构的从动件运动参数'disp ' *** 计算凸轮机构从动件的运动参数***'disp ' 1 推程(等加速/等减速运动)'disp ' 凸轮转角位移s(mm) 速度v(mm/s)'for f=10:10:ftydcs_t=[f st(f) vt(f)];disp(ydcs_t)endat_1=4*h*omega^2/ft^2;at_2=-4*h*omega^2/ft^2;fprintf(' 等加速上升的加速度at_1 = %3.4f (mm/s^2) \n',at_1)fprintf(' 等减速上升的加速度at_2 = %3.4f (mm/s^2) \n',at_2)disp ' 2 回程(余弦加速度运动-简谐运动)'disp ' 凸轮转角位移s(mm) 速度v(mm/s) 加速度a(mm/s^2)'for f=d1:10:d2ydcs_h=[f sh(f) vh(f) ah(f)];disp(ydcs_h)end% (3)---绘制凸轮机构的从动件运动线图figure(1);subplot(3,2,1) % 推程位移线图f=1:ft;plot(f,st);xlabel ('凸轮转角\it \phi / \rm( °)')ylabel ('\it s / \rm(mm)')title('从动件推程位移线图');subplot(3,2,2) % 回程位移线图f=d1:d2;plot(f,sh(d1:d2));xlabel ('凸轮转角\it \phi / \rm( °)')ylabel ('\it s / \rm(mm)')title('从动件回程位移线图');subplot(3,2,3) % 推程速度线图f=1:ft;plot(f,vt);xlabel ('凸轮转角\it \phi / \rm( °)')ylabel ('\it v / \rm(mm/s)')title('从动件推程速度线图');subplot(3,2,4) % 回程速度线图f=d1:d2;plot(f,-vh(d1:d2));xlabel ('凸轮转角\it \phi / \rm( °)')ylabel ('\it v / \rm(mm/s)')title('从动件回程速度线图');subplot(3,2,5) % 推程加速度线图line([0,ft/2],[at_1,at_1]);line([ft/2,ft/2],[at_1,at_2]); % 等加速等减速之间的突变垂线line([ft/2,ft],[at_2,at_2]);xlabel ('凸轮转角\it \phi / \rm( °)')ylabel ('\it a / \rm(mm/s^2)')title('从动件推程加速度线图');subplot(3,2,6) % 回程加速度线图f=d1:d2;plot(f,-ah(d1:d2));xlabel ('凸轮转角\it \phi / \rm( °)')ylabel ('\it a / \rm(mm/s^2)')title('从动件回程加速度线图');disp ' '% (4)---计算凸轮理论廓线与实际廓线的直角坐标和向径'disp ' ****** 凸轮理论轮廓与实际轮廓的直角坐标******'nd=360;for f=1:ndif 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);elseif f>ft/2 & f<=ft % 等减速运动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);elseif f>ft & f<=d1 % 远休止角s=h;ds=0;elseif f>d1 & f<=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);elseif f>d2 & f<=nds=0;ds=0;endxx(f)=(se+s)*sin(f*hd)+e*cos(f*hd);x=xx(f); % 理论轮廓横坐标yy(f)=(se+s)*cos(f*hd)-e*sin(f*hd);y=yy(f); % 理论轮廓纵坐标dx(f)=(ds-e)*sin(f*hd)+(se+s)*cos(f*hd);dx=dx(f);dy(f)=(ds-e)*cos(f*hd)-(se+s)*sin(f*hd);dy=dy(f);xp(f)=x+rt*dy/sqrt(dx^2+dy^2);xxp=xp(f); % 实际轮廓横坐标yp(f)=y-rt*dx/sqrt(dx^2+dy^2);yyp=yp(f); % 实际轮廓纵坐标r(f)=sqrt(x^2+y^2); % 理论轮廓向径rp(f)=sqrt(xxp^2+yyp^2); % 实际轮廓向径enddisp ' 1 推程(等加速/等减速运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y'for f=10:10:ftnu=[f xx(f) yy(f) xp(f) yp(f)];disp(nu)enddisp ' 2 回程(余弦加速度运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y'for f=d1:10:d2nu=[f xx(f) yy(f) xp(f) yp(f)];disp(nu)enddisp '*** 凸轮理论轮廓与实际轮廓的向径***'disp ' 1 推程(等加速/等减速运动)'disp ' 凸轮转角理论r 实际r'for f=10:10:ftnu=[f r(f) rp(f)];disp(nu)enddisp ' 'disp ' 2 回程(余弦加速度运动)'for f=d1:10:d2nu=[f r(f) rp(f)];disp(nu)end% (5)---绘制凸轮的理论轮廓和实际轮廓figure(2);plot(xx,yy,'r-.') % 理论轮廓(红色,点划线)axis ([-(rb+h-10) (rb+h+10) -(rb+h+10) (rb+rt+10)]) % 横轴和纵轴的下限和上限axis equal % 横轴和纵轴的尺度比例相同text(rb+h+3,0,'X') % 标注横轴text(0,rb+rt+3,'Y') % 标注纵轴text(-5,5,'O') % 标注直角坐标系原点title('偏置移动从动件盘形凸轮轮廓') % 标注图形标题hold on; % 保持图形plot([-(rb+h) (rb+h)],[0 0],'k') % 横轴(黑色)plot([0 0],[-(rb+h) (rb+rt)],'k') % 纵轴(黑色)plot([e e],[0 (rb+rt)],'k--') % 初始偏置位置(黑色,虚线)ct=linspace(0,2*pi); % 画圆的极角变化范围plot(rb*cos(ct),rb*sin(ct),'g') % 基圆(绿色)plot(e*cos(ct),e*sin(ct),'c--') % 偏距圆(青色,虚线)plot(e + rt*cos(ct),se + rt*sin(ct),'m') % 滚子圆(品红色)plot(xp,yp,'b') % 实际轮廓(蓝色)******** 偏置移动从动件盘形凸轮设计绘图和运动分析********######## 已知条件########凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径rb = 40.0000 mm滚子半径rt = 10.0000 mm推杆偏距 e = 15.0000 mm推程升程h = 50.0000 mm推程运动角ft = 100.0000 度远休止角fs = 60.0000 度回程运动角fh = 90.0000 度推程许用压力角alpha_p = 35.0000 度凸轮转速n = 200.0000 r/min凸轮角速度(弧度) w = 20.9440 rad/s凸轮角速度(度) omega = 1200.0000 度/s@@@@@@ 计算过程和输出结果@@@@@@*** 计算凸轮理论轮廓的压力角和曲率半径***1 推程(等加速/等减速运动)推程最大压力角alpha_tm = 34.2666 度对应的位置角ftm = 50.0000 度最小曲率半径rho_tn = 35.2303 mm对应的位置角ftn = 51.0000 度2 回程(余弦加速度运动-简谐运动)回程最大压力角alpha_hm = 30.9248 度对应的位置角fhm = 213.0000 度最小曲率半径rho_hn = 30.3591 mm对应的位置角fhn = 250.0000 度*** 计算凸轮机构从动件的运动参数***1 推程(等加速/等减速运动)凸轮转角位移s(mm) 速度v(mm/s)10 1 24020 4 48030 9 72040 16 96050 25 120060 34 96070 41 72080 46 48090 49 240100 50 0等加速上升的加速度at_1 = 28800.0000 (mm/s^2)等减速上升的加速度at_2 = -28800.0000 (mm/s^2)2 回程(余弦加速度运动-简谐运动)凸轮转角位移s(mm) 速度v(mm/s) 加速度a(mm/s^2) 160 50 673 -33602170 48 358 -41220180 44 0 -43865190 37 -358 -41220200 29 -673 -33602210 21 -907 -21932220 12.5 -1031.3 -7617.1230 5.8 -1031.3 7617.1240 2 -907 21932250 0 -673 33602****** 凸轮理论轮廓与实际轮廓的直角坐标******1 推程(等加速/等减速运动)凸轮转角理论x 理论y 实际x 实际y 10.0000 21.3848 34.8977 18.7440 25.2527 20.0000 28.1459 33.4732 26.5660 23.5988 30.0000 36.0309 32.4073 34.7788 22.4860 40.0000 45.6105 31.0206 43.9004 21.1679 50.0000 57.1986 28.4142 54.4870 18.7889 60.0000 69.0579 22.5501 63.1030 14.5165 70.0000 78.5024 12.6099 70.2060 7.0270 80.0000 84.4235 -0.3453 74.7846 -3.008390.0000 86.0810 -15.0000 76.0894 -14.5890 100.0000 83.1533 -29.8936 73.7429 -26.51052 回程(余弦加速度运动)凸轮转角理论x 理论y 实际x 实际y 160.0000 15.6881 -86.9597 13.9127 -77.1185 170.0000 0.0875 -86.8780 1.9206 -77.0474 180.0000 -15.0000 -81.2321 -9.9808 -72.5829 190.0000 -27.7230 -70.8432 -20.2897 -64.1539 200.0000 -36.8131 -57.2861 -27.8219 -52.9092 210.0000 -41.8603 -42.5041 -32.0770 -40.4336 220.0000 -43.3607 -28.3394 -33.3609 -28.2733 230.0000 -42.5280 -16.1041 -32.6176 -17.4398 240.0000 -40.9188 -6.3040 -31.0634 -7.9985 250.0000 -39.9750 1.4129 -29.9813 1.0597*** 凸轮理论轮廓与实际轮廓的向径***1 推程(等加速/等减速运动)凸轮转角理论r 实际r10.0000 40.9287 31.449020.0000 43.7338 35.533930.0000 48.4609 41.414840.0000 55.1597 48.737350.0000 63.8674 57.635560.0000 72.6465 64.751270.0000 79.5088 70.556880.0000 84.4242 74.845190.0000 87.3781 77.4754100.0000 88.3634 78.36342 回程(余弦加速度运动)160.0000 88.3634 78.3634170.0000 86.8780 77.0714180.0000 82.6054 73.2660190.0000 76.0745 67.2859200.0000 68.0948 59.7783210.0000 59.6564 51.6121220.0000 51.8003 43.7302230.0000 45.4750 36.9872240.0000 41.4015 32.0766250.0000 40.0000 30.0000。