1基于MATLAB软件的凸轮轮廓曲线设计摘要:以偏置移动从动件盘形凸轮为例,基于MATLAB软件对凸轮轮廓曲线进行了解析法设计.绘制出轮廓曲线。运行结果表明:在从动件运动规律确定的情况下,利用MATLAB软件以很方便、快捷地得到凸轮的轮廓曲线。关键词:凸轮机构;凸轮轮廓曲线;MATLAB;解析法前言凸轮轮廓曲线的设计,一般可分为图解法和解析法.利用图解法能比较方便地绘制出各种平面凸轮的轮廓曲线.但这种方法仅适用于比较简单的结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能满足设计要求。解析法可以根据设计要求,通过推导机构中各部分之间的几何关系,建立相应的方程,精确地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精确地绘制出来.但是,当从动件运动规律比较复杂时,利用解析法获得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了强大的矩阵处理和绘图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路[1]。因此,基于MATLAB软件进行凸轮机构的解析法设计,可以解决设计工作量大的问题。本文基于MATLAB软件进行凸轮轮廓曲线的解析法设计,利用《机械原理》课程的计算机辅助教学,及常用机构的计算机辅助设计.其具体方法为首先精确地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线。21设计的意义与已知条件1.1意义凸轮机构是由具有曲线轮廓或凹槽的构件,通过高副接触带动从动件实现预期运动规律的一种高副机构,它广泛地应用于各种机械,特别是自动机械、自动控制装置和装配生产线中,是工程实际中用于实现机械化和自动化的一种常用机构。所以,在凸轮的加工中,精确的确定凸轮的轮廓,这对于保证凸轮所带动从动件的运动规律是尤为重要的。1.2已知条件偏置移动从动件盘形凸轮设计已知条件(图1):凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径rb=40mm,滚子半径rt=10mm,推杆偏距e=15mm,推程升程h=50mm,推程运动角ft=100度,远休止角fs=60度回程运动角fh=90度,推程许用压力角alp=35度。3图1偏移动从动件盘形凸轮机构2.利用解析法设计凸轮轮廓线所谓的用解析法设计凸轮轮廓线,就是根据工作要求的从动件的运动规律和已知的机构参数,求出凸轮轮廓线的方程式,并精确地计算出凸轮轮廓线上各点的坐标值。随着机械不断朝着高速、精密、自动化方向发展,以及计算机和各种数控加工机床在生产中的广泛应用,用解析法设计凸轮轮廓线具有了更大的现实意义,并且正在越来越广泛地用于生产。查阅文献[1],得到偏置移动滚子从动件盘形凸轮机构确定凸轮轮廓相关的方程式。3利用MATLAB软件编程并运行程序3.1MATLAB程序disp'********偏置移动从动件盘形凸轮设计********'disp'已知条件:'disp'凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边'disp'从动件在推程作等加速/等减速运动,在回程作余弦加速度运动'rb=40;rt=10;e=15;h=50;ft=100;fs=60;fh=90;alp=35;fprintf(1,'基圆半径rb=%3.4fmm\n',rb)fprintf(1,'滚子半径rt=%3.4fmm\n',rt)fprintf(1,'推杆偏距e=%3.4fmm\n',e)fprintf(1,'推程升程h=%3.4fmm\n',h)fprintf(1,'推程运动角ft=%3.4f度\n',ft)fprintf(1,'远休止角fs=%3.4f度\n',fs)fprintf(1,'回程运动角fh=%3.4f度\n',fh)fprintf(1,'推程许用压力角alp=%3.4f度\n',alp)hd=pi/180;du=180/pi;se=sqrt(rb^2-e^2);4d1=ft+fs;d2=ft+fs+fh;disp''disp'计算过程和输出结果:'disp'1-计算凸轮理论轮廓的压力角和曲率半径'disp'1-1推程(等加速/等减速运动)'s=zeros(ft);ds=zeros(ft);d2s=zeros(ft);at=zeros(ft);atd=zeros(ft);forf=1:ftiff=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);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);endat(f)=atan(abs(ds-e)/(se+s));atd(f)=at(f)*du;enddisp'1-2回程(余弦加速度运动)'s=zeros(fh);ds=zeros(fh);d2s=zeros(fh);ah=zeros(fh);ahd=zeros(fh);ph=zeros(fh);forf=d1:d2k=f-d1;s(f)=.5*h*(1+cos(pi*k/fh));s=s(f);ds(f)=-.5*pi*h*sin(pi*k/fh)/(fh*hd);ds=ds(f);d2s(f)=-.5*pi^2*h*cos(pi*k/fh)/(fh*hd)^2;d2s=d2s(f);5ah(f)=atan(abs(ds+e)/(se+s));ahd(f)=ah(f)*du;p1=((se+s)^2+(ds-e)^2)^1.5;p2=abs((se+s)*(d2s-se-s)-(ds-e)*(2*ds-e));ph(f)=p1/p2;p=ph(f);enddisp'2-计算凸轮理论廓线与实际廓线的直角坐标'n=360;s=zeros(n);ds=zeros(n);x=zeros(n);y=zeros(n);dx=zeros(n);dy=zeros(n);xx=zeros(n);yy=zeros(n);xp=zeros(n);yp=zeros(n);xxp=zeros(n);yyp=zeros(n);forf=1:niff=ft/2s(f)=2*h*f^2/ft^2;s=s(f);ds(f)=4*h*f*hd/(ft*hd)^2;ds=ds(f);elseiffft/2&f=fts(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);elseiffft&f=d1s=h;ds=0;elseiffd1&f=d2k=f-d1;s(f)=.5*h*(1+cos(pi*k/fh));s=s(f);ds(f)=-.5*pi*h*sin(pi*k/fh)/(fh*hd);ds=ds(f);elseiffd2&f=ns=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);6dx(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'2-1推程(等加速/等减速运动)'disp'凸轮转角理论x理论y实际x实际y'forf=10:10:ftnu=[fxx(f)yy(f)xp(f)yp(f)];disp(nu)enddisp'2-2回程(余弦加速度运动)'disp'凸轮转角理论x理论y实际x实际y'forf=d1:10:d2nu=[fxx(f)yy(f)xp(f)yp(f)];disp(nu)enddisp'绘制凸轮的理论轮廓和实际轮廓:'plot(xx,yy,'r-.')%理论轮廓(红色,点划线)axis([-(rb+h-10)(rb+h+10)-(rb+h+10)(rb+rt+10)])%横轴和纵轴的下限和上限axisequal%横轴和纵轴的尺度比例相同text(rb+h+3,0,'X')%标注横轴text(0,rb+rt+3,'Y')%标注纵轴text(-5,5,'O')%标注直角坐标系原点title('偏置移动从动件盘形凸轮设计')%标注图形标题holdon;%保持图形7plot([-(rb+h)(rb+h)],[00],'k')%横轴(黑色)plot([00],[-(rb+h)(rb+rt)],'k')%纵轴(黑色)plot([ee],[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')%实际轮廓(蓝色)text(3,-68,'实际轮廓线')%标注实际轮廓线text(61,32,'理想轮廓线')%标注理想轮廓线text(22,50,'滚子轮廓线')%标注滚子轮廓线text(-18,-22,'偏心距圆轮廓线')%标注偏心距圆轮廓线text(6,-46,'基圆轮廓线')%标注基圆轮廓线3.2运行的结果********偏置移动从动件盘形凸轮设计********已知条件:凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径rb=40.0000mm滚子半径rt=10.0000mm推杆偏距e=15.0000mm推程升程h=50.0000mm推程运动角ft=100.0000度远休止角fs=60.0000度回程运动角fh=90.0000度推程许用压力角alp=35.0000度计算过程和输出结果:81-计算凸轮理论轮廓的压力角和曲率半径1-1推程(等加速/等减速运动)1-2回程(余弦加速度运动)2-计算凸轮理论廓线与实际廓线的直角坐标2-1推程(等加速/等减速运动)凸轮转角理论x理论y实际x实际y10.000021.384834.897718.744025.252720.000028.145933.473226.566023.598830.000036.030932.407334.778822.486040.000045.610531.020643.900421.167950.000057.198628.414254.487018.788960.000069.057922.550163.103014.516570.000078.502412.609970.20607.027080.000084.4235-0.345374.7846-3.008390.000086.0810-15.000076.0894-14.5890100.000083.1533-29.893673.7429-26.51052-2回程(余弦加速度运动)凸轮转角理论x理论y实际x实际y160.000015.6881-86.959713.9127-77.11859170.00000.0875-86.87801.9206-77.0474180.0000-15.0000-81.2321-9.9808-72