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

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

基于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 : 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);

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);

end

at(f)= atan(abs(ds - e) / (se + s));atd(f) = at(f) * du;

end

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

s = zeros(fh);ds = zeros(fh);d2s = zeros(fh);

ah = zeros(fh);ahd = zeros(fh);ph = zeros(fh);

for f = d1 : d2

k = 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);

end

disp ' 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 : n

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);

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) = .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 <= n

s = 0;ds = 0;

end

xx(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 );

end

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

disp ' 凸轮转角理论x 理论y 实际x 实际y'

for f = 10 : 10 :ft

nu = [f xx(f) yy(f) xp(f) yp(f)];

disp(nu)

end

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

disp ' 凸轮转角理论x 理论y 实际x 实际y'

for f = d1 : 10 : d2

nu = [f xx(f) yy(f) xp(f) yp(f)];

disp(nu)

end

disp '绘制凸轮的理论轮廓和实际轮廓:'

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.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.0083

90.0000 86.0810 -15.0000 76.0894 -14.5890

100.0000 83.1533 -29.8936 73.7429 -26.5105

2-2 回程(余弦加速度运动)

凸轮转角理论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

绘制凸轮的理论轮廓和实际轮廓(见图2):

图2 用MATLAB绘制凸轮的轮廓图

4设计总结

通过编程的结果的分析可以得知,利用MATLAB的强大计算功能能够很好地实现凸轮机构的设计计算、廓线绘制。再者,在绘制完凸轮轮廓之后,还可以编制MATLAB程序对凸轮进行运动学仿真,这样更能体现出能否很好地达到所以设计的凸轮机构预期的运动规律。最后,通过程序的设计和运行的结果可知,只要改变输入的参数就可以得到与之对应的轮廓线,这样实现了参数化设计,具有着高效和便利和快捷的优点。

参考文献

[1] 申永胜. 机械原理教程[M]. 北京:清华大学出版社,2005.12. 103~104

[2]原思聪. MATLAB语言及机械工程应用[M]. 北京:机械工业出版社,2008.

[3]李燕. 用MATLAB实现平动从动件凸轮机构的设计和运动仿真[J]. 武汉理工大学学报,2003. 27(4)

[4] 李霞,刘本学,张三川.基于MATLAB软件的凸轮轮廓曲线设计及从动件运动学仿真[J]. 中原工学院学报,2012. 23(1)

[5] 吴晓明,雷亚勇.基于MATLAB和EXCEL设计凸轮轮廓曲线[J]. 现代制造工程,2007. 1(1)

[6] 邬文杰.基于MATLAB的凸轮轮廓曲线计算机辅助设计[J]. 机电工程技术,2002,3 1(1): 38-38

[7] 王建卫,曲中水,凌滨. MATLAB7.X程序设计[M]. 北京:中国水利水电出版社,2007

滚子摆动从动件凸轮设计matlab程序

} disp ' ******** 滚子摆动从动件凸轮设计 ********' disp '已知条件:' disp ' 凸轮作顺时针方向转动,从动件做摆动' disp ' 从动件在推程作等加速/等减速运动,在回程作等加速等减速运动' rb =52;rt = 10;qm=15;ft = 60;fs = 10;fh = 60;alp = 35;a=140;l=122;q0=asin(rb/a)*180/pi; fprintf (1,' 基圆半径 rb = % mm \n',rb) fprintf (1,' 滚子半径 rt = % mm \n',rt) fprintf (1,' 起始角度 q0= % mm \n',q0) ; fprintf (1,' 最大摆动角度 qm = % mm \n',qm) fprintf (1,' 推程运动角 ft = % 度 \n',ft) fprintf (1,' 远休止角 fs = % 度 \n',fs) fprintf (1,' 回程运动角 fh = % 度 \n',fh) fprintf (1,' 推程许用压力角 alp = % 度 \n',alp) hd= pi / 180;du = 180 / pi; %角度弧度互换 d1 = ft + fs;d2 = ft + fs + fh; disp ' ' . disp '计算过程和输出结果:' disp ' 1- 计算凸轮理论轮廓的压力角和曲率半径' disp ' 1-1 推程(等加速/等减速运动)' s = zeros(ft);ds = zeros(ft);d2s = zeros(ft);vt=zeros(ft);st1=zeros(ft);at=zeros(ft); at = zeros(ft);atd = zeros(ft);pt = zeros(ft); for f = 1 : ft if f <= ft / 2 s(f)=2*(qm/ft^2)*f^2;st1(f)=s(f);s = s(f); %推程加速方程式 ( ds(f)=(qm/ft^2)*f;vt(f)=ds(f);ds = ds(f); d2s(f)=4*qm/ft;at(f)=d2s(f);d2s = d2s(f); else s(f)=qm-2*qm*(ft-f)^2/ft^2;st1(f)=s(f); s = s(f); %推程减速方程式 ds(f)=4*qm*(ft-f)/ft^2;vt(f)=ds(f);ds = ds(f); d2s(f)=-4 *qm/ft^2;at(f)=d2s(f);d2s = d2s(f);

凸轮轮廓线绘制程序

凸轮轮廓线绘制程序 j=0:1:360; s=rand(1,361); v=rand(1,361); a=rand(1,361); jj=31; w=1; j1=80; j2=20; j3=80; j4=180; j5=360; t=pi/180; for i=1:361 if j(i)<=j1 %升程,余弦加速度运动规律,转过的角度是j1。 s(i)=jj*[1-cos(pi*j(i)/j1)]/2; v(i)=36*(pi*jj*w*sin(pi*j(i)/j1)/(2*j1)); a(i)=36*pi^2*jj*t*w^2*cos(pi*j(i)/j1)/(2*(j1*t)^2); elseif j(i)<=j1+j2 %远休。 s(i)=31; v(i)=0; a(i)=0; elseif j(i)<=j1+j2+j3 %回程,余弦加速度运动规律,转过的角度是j3。 s(i)=jj-jj*[1-cos(pi*(j(i)-90)/j3)]/2; v(i)=-36*(pi*jj*w*sin(pi*(j(i)-90)/j3)/(2*j3)); a(i)=-36*pi^2*jj*t*w^2*cos(pi*(j(i)-90)/j3)/(2*(j3*t)^2); else %推程,余弦加速度运动规律,转过的角度是45。 s(i)=0; v(i)=0; a(i)=0; end end %绘制凸轮理论廓线、实际廓线 r0=39; rr=9; l=36; loa=70;

jj0=23; X=rand(1,361); Y=rand(1,361); Xa=rand(1,361); Ya=rand(1,361); Xaa=rand(1,361); Yaa=rand(1,361); dr=rand(1,361); A=rand(1,361); B=rand(1,361); for i=1:361 %if j(i)<=j1 X(i)=-l*sin((j(i)+s(i)+jj0)*t)+loa *sin(j(i)*t); Y(i)=-l*cos((j(i)+s(i)+jj0)*t)+loa*cos(j(i)*t); dx=loa*cos(j(i)*t)-l*(1+v(i)/10)*cos((j(i)+s(i)+jj0)*t); dy=-loa*sin(j(i)*t)+l*(1+v(i)/10)*sin((j(i)+s(i)+jj0)*t); st=dx/sqrt(dy^2+dx^2); ct=-dy/sqrt(dy^2+dx^2); Xa(i)=X(i)+rr*ct; Ya(i)=Y(i)+rr*st; Xaa(i)=X(i)-rr*ct; Yaa(i)=Y(i)-rr*st; %X(i)=l*sin((j(i)-s(i)-jj0)*t)-loa*sin(j(i)*t); %Y(i)=-l*cos((j(i)-s(i)+jj0)*t)+loa*cos(j(i)*t); %dx=-loa*cos(j(i)*t)-l*(-1+v(i)/10)*cos((-j(i)+s(i)+jj0)*t); %dy=-loa*sin(j(i)*t)+l*(-1+v(i)/10)*sin((-j(i)+s(i)+jj0)*t); %st=dx/sqrt(dy^2+dx^2); %ct=-dy/sqrt(dy^2+dx^2); %Xa(i)=X(i)+rr*ct; %Ya(i)=Y(i)+rr*st; %Xaa(i)=X(i)-rr*ct; %Yaa(i)=Y(i)-rr*st; % else %X(i)=l*sin((j(i)-s(i)-jj0)*t)-loa*sin(j(i)*t); %Y(i)=-l*cos((j(i)-s(i)+jj0)*t)+loa*cos(j(i)*t); %dx=-loa*cos(j(i)*t)-l*(-1-v(i)/10)*cos((-j(i)-s(i)-jj0)*t); %dy=-loa*sin(j(i)*t)+l*(-1-v(i)/10)*sin((-j(i)-s(i)-jj0)*t); %st=dx/sqrt(dy^2+dx^2); %ct=-dy/sqrt(dy^2+dx^2); %Xa(i)=X(i)+rr*ct; %Ya(i)=Y(i)+rr*st; %Xaa(i)=X(i)-rr*ct;

偏置直动滚子推杆盘形凸轮matlab编程(程序)

机械原理大作业 学院:机械与电子信息学院 授课老师:曾小慧 姓名:张京 学号:547 日期:2015-5-23

目录 1.求轮廓曲线 ○1推程阶段 ○2远休止阶段 ○3回程阶段 ○4近休止阶段 ○5Matlab程序设计 ○6轮廓图形 2.求工作廓线 ○1推程阶段 ○2远休止阶段 ○3回程阶段 ○4近休止阶段 ○5Matlab程序设计 ○6轮廓图形 3.求解最大压力角 ○1压力角公式 ○2MATLAB程序设计 ○3根据MATLAB程序作图可得出其压力角与角度的关系并分析○4失真情况分析 4.附录 Matlab程序

凸轮轮廓 9-14试设计偏置直动滚子推杆盘形凸轮机构的理论轮廓曲线和工作廓线。已知凸轮轴置于推杆轴线右侧,偏距e=20mm ,基圆半径r。=50mm ,滚子半径rr=10mm 。凸轮以等角速度沿顺时针方向回转,在凸轮转过角d1=120o的过程中,推杆按正弦加速度运动规律上升h=50mm ;凸轮继续转过d2=30o时,推杆保持不动;其后,凸轮再回转角度d3=60o时,推杆又按余弦加速度运动规律下降至起始位置;凸轮转过一周的其余角度时,推杆又静止不动。 解: 1.求理论廓线 对于偏置直动滚子推杆盘形凸轮机构,凸轮理论廓线上B 点(即滚子中心)的直角坐标为 ]cos sin )[(0δδe s s x ++-= δδsin cos )(0e s s y -+= (a ) 式中mm mm e r s 826.4520502222 00=-=-= ① 推程阶段 3212001π δ=?= )] 2/()3sin()2/3[()]2/()/2sin()/[(110110111πδπδπδπδδδ-=-=h h s (?? ????=32, 01πδ) ② 远休止阶段 63002π δ=?= 502=s ?? ????=6,02πδ

滚子摆动从动件凸轮设计matlab程序

disp ' ******** 滚子摆动从动件凸轮设计 ********' disp '已知条件:' disp ' 凸轮作顺时针方向转动,从动件做摆动' disp ' 从动件在推程作等加速/等减速运动,在回程作等加速等减速运动' rb =52;rt = 10;qm=15;ft = 60;fs = 10;fh = 60;alp = 35;a=140;l=122;q0=asin(rb/a)*180/pi; fprintf (1,' 基圆半径 rb = %3.4f mm \n',rb) fprintf (1,' 滚子半径 rt = %3.4f mm \n',rt) fprintf (1,' 起始角度 q0= %3.4f mm \n',q0) fprintf (1,' 最大摆动角度 qm = %3.4f mm \n',qm) 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; %角度弧度互换 d1 = ft + fs;d2 = ft + fs + fh; disp ' ' disp '计算过程和输出结果:' disp ' 1- 计算凸轮理论轮廓的压力角和曲率半径' disp ' 1-1 推程(等加速/等减速运动)' s = zeros(ft);ds = zeros(ft);d2s = zeros(ft);vt=zeros(ft);st1=zeros(ft);at=zeros(ft); at = zeros(ft);atd = zeros(ft);pt = zeros(ft); for f = 1 : ft if f <= ft / 2 s(f)=2*(qm/ft^2)*f^2;st1(f)=s(f);s = s(f); %推程加速方程式 ds(f)=(qm/ft^2)*f;vt(f)=ds(f);ds = ds(f); d2s(f)=4*qm/ft;at(f)=d2s(f);d2s = d2s(f); else s(f)=qm-2*qm*(ft-f)^2/ft^2;st1(f)=s(f); s = s(f); %推程减速方程式 ds(f)=4*qm*(ft-f)/ft^2;vt(f)=ds(f);ds = ds(f); d2s(f)=-4 *qm/ft^2;at(f)=d2s(f);d2s = d2s(f); end at(f)= atan((-l*(1-ds))/(a*sin((s+q0)*hd))-(-1)*cos((s+q0)*hd)/sin((s+q0)*hd));atd(f) = at(f) * du; %推程压力角的角度和弧度表达式 p1= -a*sin(f*hd)+l*sin((s+q0-f)*hd)*(ds-1); p2= a*cos(f*hd)+l*cos((s+q0-f)*hd)*(ds-1); p3=-a*cos(f*hd)+l*(ds-1)^2*cos((s+q0-f)*hd)+l*d2s*sin((s+q0-f)*hd); p4=-a*sin(f*hd)-l*(ds-1)^2*sin((s+q0-f)*hd)+l*ds*cos((s+q0-f)*hd); pt(f)= (p1^2+p2^2)^1.5/(p1*p4-p2*p3) ;p = pt(f);

第九章凸轮机构及其设计

第九章凸轮机构及其设计 第一节凸轮机构的应用、特点及分类 1.凸轮机构的应用 在各种机械,特别是自动机械和自动控制装置中,广泛地应用着各种形式的凸轮机构。 例1内燃机的配气机构 当凸轮回转时,其轮廓将迫使推杆作往复摆动,从而使气阀开启或关闭(关闭是借弹簧的作用),以控制可燃物质在适当的时间进入气缸或排出废气。至于气阀开启和关闭时间的长短及其速度和加速度的变化规律,则取决于凸轮轮廓曲线的形状。 例2自动机床的进刀机构 当具有凹槽的圆柱凸轮回转时,其凹槽的侧面通过嵌于凹槽中的滚子迫使推杆绕其轴作往复摆动,从而控制刀架的进刀和退刀运动。至于进刀和退刀的运动规律如何,则决定于凹槽曲线的形状。 2.凸轮机构及其特点 (1)凸轮机构的组成 凸轮是一个具有曲线轮廓或凹槽的构件。凸轮通常作等速转动,但也有作往复摆动或移动的。推杆是被凸轮直接推动的构件。因为在凸轮机构中推杆多是从动件,故又常称其为从动件。凸轮机构就是由凸轮、推杆和机架三个主要构件所组成的高副机构。 (2)凸轮机构的特点

1)优点:只要适当地设计出凸轮的轮廓曲线,就可以使推杆得到各种预期的运动规律,而且机构简单紧凑。 2)缺点:凸轮廓线与推杆之间为点、线接触,易磨损,所以凸轮机构多用在传力不大的场合。 3.凸轮机构的分类 凸轮机构的类型很多,常就凸轮和推杆的形状及其运动形式的不同来分类。 (1)按凸轮的形状分 1)盘形凸轮(移动凸轮) 2)圆柱凸轮 盘形凸轮是一个具有变化向径的盘形构件绕固定轴线回转。移动 凸轮可看作是转轴在无穷远处的盘形凸轮的一部分,它作往复直线移动。圆柱凸轮是一个在圆柱面上开有曲线凹槽,或是在圆柱端面上作 出曲线轮廓的构件,它可看作是将移动凸轮卷于圆柱体上形成的。盘形凸轮机构和移动凸轮机构为平面凸轮机构,而圆柱凸轮机构是一种 空间凸轮机构。盘形凸轮机构的结构比较简单,应用也最广泛,但其推杆的行程不能太大,否则将使凸轮的尺寸过大。 (2)按推杆的形状分 1)尖顶推杆。这种推杆的构造最简单,但易磨损,所以只适用于作用力不大和速度较低的场合(如用于仪表等机构中)。 2)滚子推杆。滚子推杆由于滚子与凸轮轮廓之间为滚动摩擦,所以磨损较小,故可用来传递较大的动力,因而应用较广。

基于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度。

Matlab编程五次凸轮

附录11、用解析法设计凸轮2的实际轮廓曲线。 1、建立凸轮轮廓的数学模型。 图l 为往复式偏心从动件盘形凸轮的机构运动简图,B 为 理论轮廓线上的任意一点,在图示的直角坐标系中,B 的坐 标,即凸轮理论廓线上的直角坐标参数方程为: X=OE+EF=(S0+S )*Sin (J )+e*Cos (J ) Y=BD – FD=(S0+S )*Cos (J ) – e*Sin (J ) 式中: X ,Y :凸轮理论廓线上的某一点坐标 (mm) e :从动件的偏心距(mm),OC R :凸轮的基圆半径(mm),OA S 0:220E R S -=(mm),CK J :凸轮的转角 S :S =f(J)从动件运动方程,KB BC =CK 十KB =S 0十S 因为工作廓线在法线方向的距离处处相等,且等于滚子半径r ’,故当已知理论廓线上的任意一点B(X,Y)时,只要沿理论廓线在该点的法线的方向取距离为r ’,即得到工作廓线上的相应点B ’(X ’,Y ’).由高等数学可知,理论廓线B 点处的法线n-n 的斜率(与切线斜率互为负倒数)应为 Tan a=-dx/dy=(dx/dJ)/(dx/dJ)/(-dy/dJ)=sina/cosa 注: a 为理论廓线B 点处的法线和X 轴的夹角。 根据(1)(2)两式有 dx/dJ=(ds/dJ-e)sin(J)+(s0+s)cos(J) (3) dy/dJ=(ds/dJ-e)cos(J)-(s0+s)sin(J) (4) 可得 Sin a=(dx/dJ)/((dx/dJ)^2+(dy/dJ)^2)^0.5 (5) Cos a=-(dy/dJ)/((dx/dJ)^2+(dy/dJ)^2)^0.5 (6) 工作廓线上对应的点B ’(x ’,y ’)坐标为: x ’=x-r ’cos a y ’=y- r ’sin a 2、 从动件运行规律:五次多项式运行规律 从动件运动形式为:升—停—降—停型 图1

凸轮运动Matlab仿真-Matlab课程设计

Matlab 课程设计 李俊机自091 设计题目一:凸轮机构设计 已知轮廓为圆形的凸轮(圆的半径为100mm、偏心距为20mm),推杆与凸轮运动中心的距离20mm,滚子半径为10mm,请利用matlab仿真出凸轮推杆的运动轨迹和运动特性(速度,加速度),并利用动画演示出相关轨迹和运动特性。 %总程序代码 clc; clf; clear; p=figure('position',[100 100 1200 600]); for i=1:360 %画圆形凸轮 R=100; %圆形凸轮半径 A=0:0.006:2*pi; B=i*pi/180; e=20; %偏心距 a=e*cos(B);

b=e*sin(B); x=R*cos(A)+a; y=R*sin(A)+b; subplot(1,2,1) plot(x,y,'b','LineWidth',3); %填充 fill(x,y,'y') axis([-R-e,R+e,-R-e,R+e+100]); set(gca,'Xlim',[-R-e,R+e]) set(gca,'Ylim',[-R-e,R+e+100]) axis equal; axis manual; axis off; hold on; plot(a,b,'og') plot(e,0,'or') plot(0,0,'or','LineWidth',3)

%画滚子 gcx=0; %滚子中心X坐标r=10; %滚子半径 gcy=sqrt((R+r)^2-a^2)+b; %滚子中心Y坐标 gx=r*cos(A)+gcx; %滚子X坐标 gy=r*sin(A)+gcy; %滚子Y坐标 plot(gx,gy,'b','LineWidth',2); %画其它部分 plot([0 a],[0 b],'k','LineWidth',4) plot([3 3],[170 190],'m','LineWidth',4) plot([-3 -3],[170 190],'m','LineWidth',4) %画顶杆 gc=120; dgx=[0 0]; dgy=[gcy gcy+gc]; plot(dgx,dgy,'LineWidth',4); hold off

凸轮轮廓线的绘制(MATLAB)

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程名称:精密机械学基础 设计题目:直动从动件盘形凸轮的设计 院系:航天学院控制科学与工程系 班级: 0904102班 设计者:陈学坤 学号: 1090410229 设计时间: 2011年10月

直动从动件盘形凸轮机构的计算机辅助设计 说明: 凸轮轮阔曲线的设计,一般可分为图解法和解析法,尽管应用图解法比较简便,能简单地绘制出各种平面凸轮的轮廓曲线,但由于作图误差比较大,故对一些精度要求高的凸轮已不能满足设计要求。此次应用MATLAB 软件结合轮廓线方程用计算机辅助设计。首先,精确地计算出轮廓线上各点的坐标,然后运用MATLAB 绘制 比较精确的凸轮轮廓曲线以及其S-α曲线、v-t 曲线、a-t 曲线。 。 1 凸轮轮廓方程 *()()*() ()*()*() X OE EF E Cos J So S Sin J Y BD FD So S Cos J E Sin J =+=++=-=+- (X,Y):凸轮轮廓线上的任意一点的坐标。 E :从动件的偏心距,OC 。 R :凸轮的基园半径,OA 。 J :凸轮的转角。 S :S=f(J)为从动件的方程。 So :22O S R E =-。 H 为从动件的最大位移(mm )。 J1、J2、J3、J4为从动件的四个转角的区域。 S1、S2、S3、S4为与J1、J2、J3、J4对应的从动件的运动规律。 2 实例 R=40,E=10,H=50,J1=J2=J3=J4=900。 3 MATLAB 程序设计 用角度值计算,对于给定的J1、J2、J3、J4,把相应的公式代入其中,求出位移S 和轮廓线上的各点的坐标X 、Y ,最终求出描述凸轮的数组: J=[J1,J2,J3,J4]; S=[S1,S2,S3,S4]; X=[X1,X2,X3,X4]; Y=[Y1,Y2,Y3,Y4]; 用函数plot (X,,Y )画出凸轮的轮廓曲线; 用plot (J,S )函数位移S 的曲线; 对于速度曲线V-t 和加速度曲线a-t ,

matlab程序设计与应用(第二版)第三章部分课后答案

第三章1. (1)A=eye(3) (2)A=100+100*rand(5,6) (3)A=1+sqrt(0.2)*randn(10,50) (4)B=ones(size(A)) (5)A+30*eye(size(A)) (6)B=diag(diag(A)) 2. B=rot90(A) C=rot90(A,-1) 3. B=inv(A) ;A的逆矩阵 C=det(A) ;A的行列式的值 D=A*B E=B*A D=E 因此A与A-1是互逆的。 4. A=[4 2 -1;3 -1 2;12 3 0]; b=[2;10;8]; x=inv(A)*b x = -6.0000 26.6667 27.3333 5. (1) diag(A) ;主对角线元素 ans = 1 1 5 9 triu(A) ;上三角阵

ans = 1 -1 2 3 0 1 -4 2 0 0 5 2 0 0 0 9 tril(A) ;下三角阵 ans = 1 0 0 0 5 1 0 0 3 0 5 0 11 15 0 9 rank(A) ;秩 ans = 4 norm(A) ;范数 ans = 21.3005 cond(A) ;条件数 ans = 11.1739 trace(A) ;迹 ans = 16 (2)略 6. A=[1 1 0.5;1 1 0.25;0.5 0.25 2] A = 1.0000 1.0000 0.5000 1.0000 1.0000 0.2500 0.5000 0.2500 2.0000

[V,D]=eig(A) V = 0.7212 0.4443 0.5315 -0.6863 0.5621 0.4615 -0.0937 -0.6976 0.7103 D = -0.0166 0 0 0 1.4801 0 0 0 2.5365

MATLAB程序设计基础

第三章MATLAB程序设计基础 chapter 3: Foundation of MATLAB program design 一、数据及数据文件(Data and Data file) 1. 数据类型:(Data mode)为适应各种不同计算和处理的需求,MATLAB提供了多种数据类型,主要有: 数值数组(Numeric array)— 包括整形(int8,uint8,int16,uint16,int32,uint32)单精度 (signal), 双精度(duble)(MATLAB最常用的变量类型), 稀疏(sparce)数组。按维数分有一维、二维和多维数 组。 Int---Integrate. Uint---Unsigned Integer data 字符数组(Character array):由字符串组成的数组 单元数组(Cell array):用不同类型和大小的数组组成的数组,同 一个元胞数组中各元胞的内容可以不同。 结构数组(Structure array):与单元数组类似,但其数据的组织能 力更强,更富于变化。 Java类(Java class):由JavaAPI或第三方定义的类函数。 函数句柄(Function handle):可以在一个参数列表中传递,并使 用feval运行. 在工作空间浏览器中不同的数据类型有着不同的图标标识。2. 数据文件(Data file) MATLAB支持的各种数据文件(Readable file formats of MATLAB)的主要类型及其存取方法如下述: (1)二进制数据文件:(Binary date file)以.mat为扩展名。是标准的MATLAB数据文件,以二进制编码形式存储。.mat文件可以由MATLAB提供的save和load命令直接存取。 (2)ASCⅡ码数据文件:(ASCⅡcode data file)扩展名为.txt, .dat

凸轮的matlab绘制

附2:习题4-3解答 (1)凸轮的理论廓线方程: 0022 00()sin cos ()cos sin x s s e y s s e s r e ????=++?? =+-?=-式中 (2)从动件在不同阶段的位移方程: 2sin()[0,120]230[120,150][150,300]'0 [300,360] h h s h h π???φπφ???φ??-∈????∈???=? ?-∈????∈???推程阶段远休止阶段回程阶段近休止阶段 (3)求解凸轮的实际廓线: 2222 a r a r 00x =x-r cos y =y-r sin sin cos ()cos sin sin ()sin cos cos dx d dx dy d d dy d dx dy d d dx ds s s e d d dy ds s s e d d θθ ?θ???θ????????????++?? ?? ?=??????? ? ? ?????? ? ?- ?=?????? ? ?? ?????? ?=++-?? ? ?=++-?? 式中而

同样,由于位移s 与从动件所处的运动阶段有关,所以有: 2cos()[0,120]0[120,150]s [150,300]'0 [300,360] h h d h d π??φφφ???φ??-∈????∈???=??∈????∈???推程阶段远休止阶段回程阶段近休止阶段 (4)代入已知条件,并用Matlab 语言编程求解,编程代码如下: disp ' ******** 偏置直动滚子从动件盘形凸轮设计 ********' disp '已知条件:' disp ' 凸轮作逆时针方向转动,从动件偏置在凸轮轴心的右边' disp ' 从动件在推程作摆线运动规律运动,在回程作等速运动规律运动' ro = 50;rr = 10;e = 12;h = 30;ft = 120;fs = 30;fh = 150; fprintf (1,' 基圆半径 ro = %3.4f mm \n',ro) fprintf (1,' 滚子半径 rr = %3.4f mm \n',rr) 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) hd = pi / 180;du = 180 / pi; so = sqrt( ro^2 - e^2 ); d1 = ft + fs;d2 = ft + fs + fh; disp ' ' disp '计算过程和输出结果:' disp ' 1-1 推程(摆线运动规律运动)' s = zeros(ft);ds = zeros(ft);d2s = zeros(ft); for f = 1 : ft s(f) = h * f / ft - h * sin(2 * pi * f / ft) / (2 * pi);s = s(f); ds(f) = h / (ft * hd) - h / (ft * hd) * cos(2 * pi * f / ft);ds = ds(f); d2s(f) = 2 * pi * h / (ft * hd) ^ 2 * sin(2 * pi * f / ft);d2s = d2s(f); end disp ' 1-2 回程(等速运动规律运动)' s = zeros(fh);ds = zeros(fh);d2s = zeros(fh); for f = d1 : d2 s(f) = h - h * (f-150) / fh; s = s(f); ds(f) = - h / (fh * hd);ds = ds(f); d2s(f) = 0;d2s = d2s(f); end disp ' 2- 计算凸轮理论廓线与实际廓线的直角坐标'

按给定运动轨迹反求凸轮轮廓机构

第7章 按给定运动轨迹反求凸轮轮廓机构 按给定运动轨迹反求零件模型,是机构设计的一种常用方法,采用SolidWorks 完成设计,相对于传统计算方法,简单实用,并且可以模拟再现轨迹的实现。本章以应用广泛的凸轮连杆组合机构为例,根据连杆一端点预定轨迹,利用反求法得到凸轮的理论廓线及实际轮廓,并通过运动仿真验证了凸轮连杆组合机构的实际运动轨迹与预定轨迹相符。 7.1工作原理 凸轮连杆组合机构简图如图7.1所示,凸轮1固定,原动件曲柄2匀速转动,带动连杆3运动,此时固定凸轮约束着与连杆端点B 通过铰链结合的滚子4,使连杆的端点C 沿着给定的运动轨迹5运动,从而达到该机构的工作要求。 设计参数: 预定轨迹:长为400mm ,宽为300mm 的长方形,经半径R=100mm 的边角倒圆;各杆长度:OA l =150mm, AB l =80mm, AC l =150mm ;∠BAC=120°,滚子半径Rg =10mm ,曲柄OA 转速n=60r/min 。 图 7.1 凸轮连杆组合机构简图 7.2 零件造型 启动SolidWorks2012,选择【文件】/【新建】/【零件】命令,创建新的零件文件。选择【插入】/【草图绘制】命令,选择一基准面为草绘平面。 根据图7.2~7.5所示,分别绘制机架、曲柄、连杆和滚子的轮廓草图。然后选择【插入】

/【凸台/基体】/【拉伸】命令,分别以距离10mm拉伸机架、曲柄和连杆轮廓草图分别得到其实体零件。选择【插入】/【凸台/基体】/【旋转】命令,以滚子轴线为旋转轴,以360°为旋转角度,旋转后得到滚子实体零件。零件的材质均设置为“普通碳钢”,分别以文件名“机架”、“曲柄”、“连杆”和“滚子”保存。 图7.2 机架草图图7.3 曲柄草图 图7.4 连杆草图图7.5 滚子草图 为了满足装配时的“路径配合”要求,在连杆零件图中,选择【插入】/【参考几何体】/【点】命令,在图7.1所示连杆中的端点C处创建一个参考点。如图7.6所示,在弹出的属 性管理器【选择】栏中,点击【圆弧中心】按钮,然后点击【参考实体】按钮,在视图区选择连杆C端的圆孔边线,点击确定按钮,完成连杆参考点的创建。

滚子摆动从动件凸轮设计matlab程序

disp’******** 滚子摆动从动件凸轮设计********'disp '已知条件:’ disp ’凸轮作顺时针方向转动,从动件做摆动’ disp’从动件在推程作等加速/等减速运动,在回程作等加速等减速运动’rb=52;rt= 10;qm=15;ft= 60;fs=10;fh = 60;alp = 35;a=140;l=122;q0=asin(rb/a)*180/pi; fprintf (1,’基圆半径 rb =%3、4f mm\n',rb) fprintf(1,’滚子半径 rt =%3、4fmm \n’,rt) fprintf (1,' 起始角度q0= %3、4f mm \n’,q0) fprintf (1,'最大摆动角度 qm =%3、4fmm \n',qm) 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; %角度弧度互换 d1 = ft+fs;d2=ft + fs+fh; disp ' ' disp '计算过程与输出结果:’ disp ’1-计算凸轮理论轮廓得压力角与曲率半径' disp '1-1 推程(等加速/等减速运动)' s=zeros(ft);ds = zeros(ft);d2s =zeros(ft);vt=zeros(ft);st1=zeros(ft);at=zeros(ft); at = zeros(ft);atd=zeros(ft);pt = zeros(ft); for f= 1: ft if f <=ft/ 2 s(f)=2*(qm/ft^2)*f^2;st1(f)=s(f);s=s (f);%推程加速方程式 ds(f)=(qm/ft^2)*f;vt(f)=ds(f);ds= ds(f); d2s(f)=4*qm/ft;at(f)=d2s(f);d2s=d2s(f); else s(f)=qm-2*qm*(ft-f)^2/ft^2;st1(f)=s(f);s=s(f);%推程减速方程式 ds(f)=4*qm*(ft-f)/ft^2;vt(f)=ds(f);ds= ds(f); d2s(f)=-4*qm/ft^2;at(f)=d2s(f);d2s = d2s(f); end at(f)=atan((-l*(1-ds))/(a*sin((s+q0)*hd))—(-1)*cos((s+q0)*hd)/sin((s+q0)*hd));atd(f)= at(f) * du; %推程压力角得角度与弧度表达式

cad制作凸轮轮廓曲线

具体作图步骤如下: 1.使用工具栏Circle(圆)命令,绘制直径为200的凸轮基圆。 2.使用工具栏Line(直线)命令,捕捉圆心作凸轮基圆铅垂方向的直线B1B7。注意保持提示直线角度及其前的距离数值(定B1点时应为OB1的长度值,定B7点时应为OB7的长度值)。 3.重复使用Line命令,利用每隔30°呈现的角度提示,保证所绘制直线沿圆周分布每30°一条;利用提示中角度之前的距离数值分别确定样条拟合数据点:OB1、OB2、OB3……、OB11;B0和B12是凸轮轮廓的起讫,也是基圆上的同一点,提示中显示的“交点”即为B0/B12点。 4.使用工具栏中Spline(样条曲线绘制)命令。系统提示输入初始点:用鼠标捕捉B0点;系统要求输入第二点:用鼠标捕捉B1点;如此,系统不停要求输入数据点,用鼠标依次捕捉B2、B3、…、B11、B12(B0)。在完成最后一个数据点的输入时,单击鼠标右键确定即可。 5.使用工具栏中Circle命令,绘制凸轮内小圆,与基圆同心,半径为40。该圆表示凸轮与轴配合的轮廓线。 6.使用工具栏橡皮擦命令,擦除基圆轮廓线和直线段。 7.使用工具栏中ARC(弧线绘制)命令。圆整凸轮轮廓曲线。系统提示弧线起点或中心,即:Specify start point of are or [Center]:c(表示给出圆心)。 Specify center point of are:用鼠标捕捉圆心。 Specify start point of are:鼠标捕捉样条曲线(凸轮轮廓曲线)的起点B0点。 Specify end point of are:鼠标捕捉样条曲线的终点B12点。 8.在下拉菜单中选择Modify→Properties(修改→对象特性)命令。选择所绘制的全部图线,改线宽(Line weight)为0.70mm,打开命令下方开关LWT(打开显示线宽)。 9.凸轮平面绘制完毕。其绘图速度快、图形效果好

机械原理课程设计matlab程序 凸轮机构

clear h=70;w=2*pi*300/60; %行程h(单位mm),凸轮角转速(rad/s)d1=pi/2; d2=10/180*pi; d3=pi/2; d4=170/180*pi;%算出凸轮的推程角,远休止角,回程角,近休止角(弧度) d=1:1:360; d0=d/180*pi; %定义向量 %推程 for i=1:45 %等加速运动 s(i)=2*h*d0(i)^2/d1^2; v(i)=4*h*w*d0(i)/d1^2; a(i)=4*h*w^2/d1^2; end for i=46:90 %等减速运动 s(i)=h-2*h*(d1-d0(i))^2/d1^2; v(i)=4*h*w*(d1-d0(i))/d1^2; a(i)=-4*h*w^2/d1^2; end for i=91:101 s(i)=s(i-1); v(i)=0; a(i)=0; end %回程 for i=102:146 %等加速运动 s(i)=h-2*h*d0(i-100)^2/d3^2; v(i)=-4*h*w*d0(i-100)/d3^2; a(i)=-4*h*w^2/d3^2; end for i=147:192 %等减速运动 s(i)=2*h*(d3-d0(i-100))^2/d3^2; v(i)=-4*h*w*(d3-d0(i-100))/d3^2; a(i)=4*h*w^2/d3^2; end for i=193:360 s(i)=s(i-1); v(i)=0; a(i)=0; end r0=61;e0=39; s0=sqrt(r0^2-e0^2); for i=1:1:360 x(i)=(s0+s(i))*sin(d0(i))+e0*cos(d0(i));

凸轮轮廓曲线

姓名:雷小舟班级:机制04班学号:1103010411 利用VB绘制凸轮轮廓曲线及计算相关直角坐标和压力角VB程序语言如下: Private Sub Command1_Click() '参数初始化 Dim r0%, r1%, h%, e% Dim a1%, a01%, a2%, a02% r0 = Val(InputBox("请输入基圆半径")) r1 = Val(InputBox("请输入滚子半径")) h = Val(InputBox("请输入升程")) e = Val(InputBox("请输入偏距")) a1 = V al(InputBox("请输入推程运动角")) a01 = Val(InputBox("请输入远休止角")) a2 = V al(InputBox("请输入回程运动角")) a02 = Val(InputBox("请输入近休止角")) Text1.Text = r0 Text2.Text = r1 Text3.Text = h Text4.Text = e Text5.Text = a1 Text6.Text = a01 Text7.Text = a2 Text8.Text = a02 Picture1.Scale (-75, 55)-(75, -55) '建立坐标系 Picture1.Line (0, 50)-(0, -50) Picture1.Line (-55, 0)-(55, 0) '初始化参数 Dim i!, j!, k!, m!, n!, l! Dim a!, b!, c!, d!, f! Const pi = 3.141592653 Dim s#(360), s1#(360) Dim ds#(360), ds1#(360) Dim dx#(360), dy#(360) a = a1 b = a1 + a01 c = a1 + a01 + a2 / 2 d = a1 + a01 + a2 f = 360 j = 0 For i = 0 To a '推程段 s(j) = h * (1 - Cos(pi * i / a1)) / 2

凸轮廓线的MATLAB画法

凸轮廓线的MATLAB 画法 1 凸轮轮廓方程 *()()*()()*()*() X OE EF E Cos J So S Sin J Y BD FD So S Cos J E Sin J =+=++=-=+- (X,Y):凸轮轮廓线上的任意一点的坐标。 E :从动件的偏心距。 R :凸轮的基园半径。 J :凸轮的转角。 S :S=f(J)为从动件的方程。 So :22O S R E =-。 H 为从动件的最大位移(mm )。 J1、J2、J3、J4为从动件的四个转角的区域。 S1、S2、S3、S4为与J1、J2、J3、J4对应的从动件的运动规律。 2 实例 R=40,E=10,H=50,J1=J2=J3=J4=900。

3 MATLAB 程序设计 用角度值计算,对于给定的J1、J2、J3、J4,把相应的公式代入其中,求出位移S 和轮廓线上的各点的坐标X 、Y ,最终求出描述凸轮的数组: J=[J1,J2,J3,J4]; S=[S1,S2,S3,S4]; X=[X1,X2,X3,X4]; Y=[Y1,Y2,Y3,Y4]; 用函数plot (X,,Y )画出凸轮的轮廓曲线; 用plot (J,S )函数位移S 的曲线; 对于速度曲线V-t 和加速度曲线a-t , ds ds ds dt dt V dJ dJ dt ω === 在算例中已假设凸轮匀速转动的角速度为1wad/s ,所以 ds ds ds ds dt dt V dJ dt dJ dt ω==== 速度 同理可得: dJ ds dt dv a 2 2= =加速度 4 程序运行结果 图一:余弦速运动规律下的凸轮轮廓曲线

相关主题
文本预览
相关文档 最新文档