中国地质大学(武汉)1.凸轮要求设计一对心直动滚子推杆盘形凸轮机构,滚子半径rr=10mm,凸轮以等角速度逆时针回转。凸轮转角δ=0~120时,推杆等速上升20mm;δ=120~180时,推杆远休止;δ=180~270时,推杆等加速等减速下降20mm;δ=270~360时,推杆近休止。要求推程的最大压力角α=30,试选取合适的基圆半径,并绘制凸轮的廓线。问此凸轮是否有缺陷,应如何补救。2.列出凸轮运动方程{𝑆=30𝜋∗δ𝑉=30𝜋𝑎=00δ2/3π{𝑆=20𝑉=0𝑎=02/3πδπ{𝑆=−140+320𝜋∗δ−160π2∗δ^2𝑉=320𝜋−320𝜋2∗δ𝑎=−320/𝜋^2π𝛿54π{𝑆=360−480𝜋∗δ+160π2∗δ^2𝑉=−480𝜋−320𝜋2∗δ𝑎=−320/𝜋^25/4π𝛿32π{𝑆=0𝑉=0𝑎=02/3πδ2π3.由方程写MATLAB源程序%1.已知参数clear;r0=50;%基圆半径rr=10;%滚子半径h=20;%行程delta01=120;%推程运动角delta02=60;%远休角delta03=90;%回程运动角hd=pi/180;du=180/pi;n1=delta01+delta02;n2=delta01+delta02+delta03;%2凸轮曲线设计n=360;fori=1:360%计算推杆运动规律ifi=delta01s(i)=30/pi*(i*hd);ds(i)=30/pi;ds=ds(i);elseifidelta01&&i=n1;s(i)=h;ds(i)=0;ds=ds(i);elseifin1&&i=(n1+delta03/2)s(i)=-140+320/pi*(i*hd)-160/pi^2*(i*hd)^2;ds(i)=320/pi-320/pi^2*(i*hd);ds=ds(i);elseifi(n1+delta03/2)&&i=n2s(i)=360-480/pi*(i*hd)+160/pi^2*(i*hd)^2;ds(i)=-480/pi+320/pi^2*(i*hd);ds=ds(i);elseifin2&&i=ns(i)=0;ds=0;end%计算凸轮轨迹曲线xx(i)=(r0+s(i))*sin(i*hd);%计算理论轮廓曲线yy(i)=(r0+s(i))*cos(i*hd);dx(i)=ds*sin(i*hd)+(r0+s(i))*cos(i*hd);%计算导数dy(i)=ds*cos(i*hd)-(r0+s(i))*sin(i*hd);xp(i)=xx(i)+rr*dy(i)/sqrt(dx(i)^2+dy(i)^2);yp(i)=yy(i)-rr*dx(i)/sqrt(dx(i)^2+dy(i)^2);end%3.输出凸轮轮廓曲线figure(1);holdon;gridon;axisequal;axis([-(r0+h-30)(r0+h+10)-(r0+h+10)(r0+rr+10)]);text(r0+h+3,4,'X');text(3,r0+rr+3,'Y');text(-6,4,'O');title('对心直动滚子推杆盘形凸轮设计');xlabel('x/mm');ylabel('y/mm');plot([-(r0+h-40)(r0+h)],[00],'k');plot([00],[-(r0+h)(r0+rr)],'k');plot(xx,yy,'r--');%»绘凸轮实际轮廓曲线ct=linspace(0,2*pi);plot(r0*cos(ct),r0*sin(ct),'g');%绘凸轮基圆plot(rr*cos(ct),r0+rr*sin(ct),'k');%绘滚子圆plot(0,r0,'o');%滚子圆中心plot([00],[r0r0+30],'k');plot(xp,yp,'b');%绘凸轮实际轮廓曲线%4.凸轮机构运动仿真%计算凸轮滚子转角xp0=0;yp0=r0-rr;dss=sqrt(diff(xp).^2+diff(yp).^2);%对轮廓曲线进行差分计算ss(1)=sqrt((xp(1)-xp0)^2+(xp(1)-yp0)^2);%轮廓曲线第一点长度fori=1:359ss(i+1)=ss(i)+dss(i);%计算实际廓曲线长度endphi=ss/rr;%计算滚子转角%运动仿真开始figure(2);m=moviein(20);j=0;fori=1:360j=j+1;delta(i)=i*hd;%凸轮转角xy=[xp',yp'];%凸轮实际轮廓曲线坐标A1=[cos(delta(i)),sin(delta(i));%凸轮坐标旋转矩阵-sin(delta(i)),cos(delta(i))];xy=xy*A1;%旋转后实际凸轮曲线坐标clf;%绘凸轮plot(xy(:,1),xy(:,2));holdon;axisequal;axis([-(120)(470)-(100)(140)]);plot([-(r0+h-40)(r0+h)],[0],'k');%绘凸轮水平轴plot([00],[-(r0+h)(r0+rr)],'k');%绘凸轮垂直轴plot(r0*cos(ct),r0*sin(ct),'g');%绘基圆plot(rr*cos(ct),r0+s(i)+rr*sin(ct),'k');绘滚子圆plot([0rr*cos(-phi(i))],[r0+s(i)r0+s(i)+rr*sin(-phi(i))],'k');%绘滚子圆标线plot([00],[r0+s(i)r0+s(i)+40],'k');%绘推杆%绘推杆曲线plot([1:360]+r0+h,s+r0);plot([(r0+h)(r0+h+360)],[r0r0],'k');plot([(r0+h)(r0+h)],[r0r0+h],'k');plot(i+r0+h,s(i)+r0,'*');title('对心直动滚子推杆盘形凸轮设计');xlabel('x/mm');ylable('y/mm');m(j)=getframe;endmovie(m);4.运动仿真结果在MATLAB中可以看出轮廓曲线有一处缺口。应用圆弧连接起来。5.计算结果由于数据太多,只等间隔取了三十六组数据Xx8.971818.241127.500036.424644.685951.961557.947762.371265.000065.653964.212360.621853.623144.995135.000023.941412.15540.0000-12.0696-23.2658-32.7778-39.9163-44.3549-47.1503-48.8408-49.7267-50.0000-49.2404-46.9846-43.3013-38.3022-32.1394-25.0000-17.1010-8.6824-0.0000Yy50.881750.116947.631443.409237.495930.000021.091210.99770.0000-11.5765-23.3714-35.0000-44.9951-53.6231-60.6218-65.7785-68.9365-70.0000-68.4502-63.9223-56.7728-47.5704-37.2182-27.2222-17.7766-8.7682-0.00008.682417.101025.000032.139438.302243.301346.984649.240450.0000Dx52.540053.383052.406049.547444.811138.269930.064620.40199.5493-2.1723-14.3980-26.7301-44.9951-53.6231-60.6218-65.7785-68.9365-70.0000-67.4676-60.0514-48.2845-33.0207-19.8785-12.5201-7.1415-3.19530.00008.682417.101025.000032.139438.302243.301346.984649.240450.0000Dy0.4324-9.2677-19.2301-29.1094-38.5478-47.1869-54.6817-60.7129-65.0000-67.3121-67.4784-65.3964-53.6231-44.9951-35.0000-23.9414-12.1554-0.000017.642533.901047.479957.256058.904755.638552.711750.709450.000049.240446.984643.301338.302232.139425.000017.10108.68240.0000