当前位置:文档之家› 基于MATLAB软件的凸轮轮廓曲线设计_

基于MATLAB软件的凸轮轮廓曲线设计_

基于MATLAB软件的凸轮轮廓曲线设计摘要:以偏置移动从动件盘形凸轮为例,基于MATLAB软件对凸轮轮廓曲线进行了解析法设计.绘制出轮廓曲线。

运行结果表明:在从动件运动规律确定的情况下,利用MATLAB软件以很方便、快捷地得到凸轮的轮廓曲线。

关键词:凸轮机构;凸轮轮廓曲线;MATLAB;解析法前言凸轮轮廓曲线的设计,一般可分为图解法和解析法.利用图解法能比较方便地绘制出各种平面凸轮的轮廓曲线.但这种方法仅适用于比较简单的结构,用它对复杂结构进行设计则比较困难,而且利用图解法进行结构设计,作图误差较大,对一些精度要求高的结构不能满足设计要求。

解析法可以根据设计要求,通过推导机构中各部分之间的几何关系,建立相应的方程,精确地计算出轮廓线上各点的坐标,然后把凸轮的轮廓曲线精确地绘制出来.但是,当从动件运动规律比较复杂时,利用解析法获得凸轮的轮廓曲线的工作量比较大.而MATLAB软件提供了强大的矩阵处理和绘图功能,具有核心函数和工具箱.其编程代码接近数学推导公式,简洁直观,操作简易,人机交互性能好,且可以方便迅速地用三维图形、图像、声音、动画等表达计算结果、拓展思路[1]。

因此,基于MATLAB软件进行凸轮机构的解析法设计,可以解决设计工作量大的问题。

本文基于MATLAB软件进行凸轮轮廓曲线的解析法设计,利用《机械原理》课程的计算机辅助教学,及常用机构的计算机辅助设计.其具体方法为首先精确地计算出轮廓线上各点的坐标,然后运用MATLAB绘制比较精确的凸轮轮廓曲线。

1 设计的意义与已知条件1.1意义凸轮机构是由具有曲线轮廓或凹槽的构件,通过高副接触带动从动件实现预期运动规律的一种高副机构,它广泛地应用于各种机械,特别是自动机械、自动控制装置和装配生产线中,是工程实际中用于实现机械化和自动化的一种常用机构。

所以,在凸轮的加工中,精确的确定凸轮的轮廓,这对于保证凸轮所带动从动件的运动规律是尤为重要的。

1.2已知条件偏置移动从动件盘形凸轮设计已知条件(图1):凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径rb = 40 mm,滚子半径rt = 10mm,推杆偏距e = 15 mm,推程升程h = 50 mm,推程运动角ft = 100度,远休止角fs = 60度回程运动角fh = 90度,推程许用压力角alp = 35度。

图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.4f mm \n',rb)fprintf (1,' 滚子半径rt = %3.4f mm \n',rt)fprintf (1,' 推杆偏距 e = %3.4f mm \n',e)fprintf (1,' 推程升程h = %3.4f mm \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 );d1 = 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);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);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);for f = 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);ah(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);for f = 1 : nif 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);elseif f > ft/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);elseif f > ft & f <= d1s = h;ds = 0;elseif f > d1 & 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);elseif f > d2 & 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);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 ' 2-1 推程(等加速/等减速运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y'for f = 10 : 10 :ftnu = [f xx(f) yy(f) xp(f) yp(f)];disp(nu)enddisp ' 2-2 回程(余弦加速度运动)'disp ' 凸轮转角理论x 理论y 实际x 实际y'for f = d1 : 10 : d2nu = [f xx(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)]) % 横轴和纵轴的下限和上限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') % 实际轮廓(蓝色)text(3,-68,'实际轮廓线') % 标注实际轮廓线text(61,32,'理想轮廓线') % 标注理想轮廓线text(22,50,'滚子轮廓线') % 标注滚子轮廓线text(-18,-22,'偏心距圆轮廓线') % 标注偏心距圆轮廓线text(6,-46,'基圆轮廓线') % 标注基圆轮廓线3.2运行的结果******** 偏置移动从动件盘形凸轮设计********已知条件:凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边从动件在推程作等加速/等减速运动,在回程作余弦加速度运动基圆半径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 度推程许用压力角alp = 35.0000 度计算过程和输出结果:1- 计算凸轮理论轮廓的压力角和曲率半径1-1 推程(等加速/等减速运动)1-2 回程(余弦加速度运动)2- 计算凸轮理论廓线与实际廓线的直角坐标2-1 推程(等加速/等减速运动)凸轮转角理论x 理论y 实际x 实际y 10.0000 21.3848 34.8977 18.7440 25.252720.0000 28.1459 33.4732 26.5660 23.598830.0000 36.0309 32.4073 34.7788 22.486040.0000 45.6105 31.0206 43.9004 21.167950.0000 57.1986 28.4142 54.4870 18.788960.0000 69.0579 22.5501 63.1030 14.516570.0000 78.5024 12.6099 70.2060 7.027080.0000 84.4235 -0.3453 74.7846 -3.008390.0000 86.0810 -15.0000 76.0894 -14.5890100.0000 83.1533 -29.8936 73.7429 -26.51052-2 回程(余弦加速度运动)凸轮转角理论x 理论y 实际x 实际y 160.0000 15.6881 -86.9597 13.9127 -77.1185170.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绘制凸轮的理论轮廓和实际轮廓(见图2):图2 用MATLAB绘制凸轮的轮廓图4设计总结通过编程的结果的分析可以得知,利用MATLAB的强大计算功能能够很好地实现凸轮机构的设计计算、廓线绘制。

相关主题