凸轮廓线设计MATLAB程序.doc

上传人:M****1 文档编号:542968394 上传时间:2023-02-18 格式:DOC 页数:8 大小:262KB
返回 下载 相关 举报
凸轮廓线设计MATLAB程序.doc_第1页
第1页 / 共8页
凸轮廓线设计MATLAB程序.doc_第2页
第2页 / 共8页
凸轮廓线设计MATLAB程序.doc_第3页
第3页 / 共8页
凸轮廓线设计MATLAB程序.doc_第4页
第4页 / 共8页
凸轮廓线设计MATLAB程序.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《凸轮廓线设计MATLAB程序.doc》由会员分享,可在线阅读,更多相关《凸轮廓线设计MATLAB程序.doc(8页珍藏版)》请在金锄头文库上搜索。

1、凸轮轮廓及其综合1. 凸轮机构从动件的位移凸轮是把一种运动转化为另一种运动的装置。凸轮的廓线和从动件一起实现运动形式的转换。凸轮通常是为定轴转动,凸轮旋转运动可被转化成摆动、直线运动或是两者的结合。凸轮机构设计的内容之一是凸轮廓线的设计。定义一个凸轮基圆rb作为最小的圆周半径。从动件的运动方程如下:L()=rb+s()设凸轮的推程运动角和回程运动角均为,从动件的运动规律均为正弦加速度运动规律,则有:s()h(-sin(2/)s()hh(-sin(2(-/)2s()0 22上式是从动件的位移,h是从动件的最大位移,并且0。如果假设凸轮的旋转速度ddt是个常量,则速度、加速度a和瞬时加速度j(加速

2、度对时间求异)分别如下:速度:()(1-cos(2/)) 0()(1-cos(2(-)/)2()0 22加速度:a()sin(2/)) 0a()-sin(2(-)/)2a()0 22瞬时加速度:j()cos(2/)) 0j()-cos(2(-)/)2j()0 22定义无量纲位移S=s/h、无量纲速度V=/h、无量纲加速度A=a/h3和无量纲瞬时加速度J=j/h3。若60,则如下程序可以对以上各个量进行计算。beta=60*pi/180;phi=linspace(0,beta,40);phi2=beta+phi;ph=phi phi2*180/pi;arg=2*pi*phi/beta;arg2=

3、2*pi*(phi2-beta)/beta;s=phi/beta-sin(arg)/2/pi 1-(arg2-sin(arg2)/2/pi;v=(1-cos(arg)/beta-(1-cos(arg2)/beta;a=2*pi/beta2*sin(arg)2*pi/beta2*sin(arg2);j=4*pi2/beta3*cos(arg)4*pi2/beta3*cos(arg2):subplot(2,2,1)plot(ph,s,K)xlabel(Cam angle(degrees)ylabel(Displacement(S)g=axis; g(2)=120; axis(g)subplot(2

4、,2,2)plot(ph,v,k,0 120,0 0,k-)xlabel(Cam angle(degrees)ylabel(Velocity(V)g=axis; g(2)=120; axis(g)subplot(2,2,3)plot(ph,a,k,0 120,0 0,k-)xlabel(Cam angle(degrees)ylabel(Acceleration(A)g=axis;g(2)=120;axis(g)subplot(2,2,4)plot(ph,j,k,0 120,0 0,k-)xlabel(Cam angle(degrees)ylabel(Jerk(J)g=axis;g(2)=120

5、;axis(g)2平底盘形从动作参考下图得到如下关系:在(x,y)坐标系中,凸轮轮廓的坐标为x和y,刀具的坐标为x和y:xcos( +) ysin( +)CxCcos( +) CyCcos( +)其中,R= =arctanc= =arctanrc是刀具的半径,且dL/d()/。为了画出凸轮的轮廓曲线,创建函数CarmProfile,用来计算()和dL/d,创建函数ContourFlat,用来计算Rx,Ry,Cx,Cy。functionL,dLdphi= CarmProfile(phi,rb,h,beta)arg=2*pi*phi/beta;L=rb+h*(phi/beta-sin(arg)/2

6、/pi);dLdphi=(h/beta)*(1-cos(arg);L=L fliplr(L);dLdphi= dLdphi- dLdphi;函数ContourFlat是functionRx,Ry,Cx,Cy=ContourFlat(phi,rb,h,beta,rc)L,dLdphi=Camprofile(phi,rb,h,beta);theta=atan2(dLdphi,L);R=L./cos(theta);ph=phi beta+phi;Ry=R.*sin(theta+ph);Rx=R.*cos(theta+ph);gama=atan(dLdphi./(L+rc);C=(L+rc)/cos(

7、gama);Cy=C.*sin(gama+ph);Cx=C.*cos(gama+ph);若令60,rb=3.0和h=0.5,则程序清单是:beta=60*pi/180;rb=3;h=0.5;rc=0.5;n=23;phi=linspace(0,beta,n);ph=phi beta+phi;Rx,Ry,Cx,Cy=ContourFlat(phi,rb,h,beta,rc);ang=linspace(2*beta,2*pi,40);plot(Rx,Ry,k,rb*cos(ang),rb*sin(ang),k,0,0,k+,Cx(1:5:2*n),Cy(1:5:2*n),k+)axis equal

8、phd=linspace(0,2*pi,50);x,phx=meshgrid(Cx(1:5:2*n),phd);y=meshgrid(Cy(1:5:2*n),phd);hold onplot(x+rc.*cos(phx),y+rc.*sin(phx),k-)title(Cam contour for cycloidal motion of flat-face follower)3.偏置滚子从动件由图可得到如下关系。凸轮轮廓在(x,y)的坐标是Rx和Ry,刀具的坐标是x和Cy;x=Rcos( +) y=Rcos( +)Cx=Ccos( +) Cy=Ccos( + )其中,R2=(F-rfcos)

9、2+rf2cos2 =arctan(m/L)C2=cx2+cy2 =arctancx=F+(rc-rf)cos = arctancy=(rc-rf)sin =arctan(cy/cx)F2=m2+L2凸轮的基圆半径是:L(0)=rb=从=2+开始,其中,=arctan为了显示这些结果,首先创建函数ContourRoller来计算x,y,Cx,Cy:functionRx,Ry,Cx,Cy=ContourRoller(phi,rb,h,beta,rc,m,rf)L,dLdphi=CamProfile(phi,rb,h,beta);F2=m2+L.2;F=sqrt(f2);psi=atan2(m,L

10、);alpha=atan2(L.*dLdphi,F2-m*dLdphi);gamma=atan2(rf*sin(alpha),F-rf*cos(alpha);ph=phi beta+phi;R=sqrt(F-rf*cos(alpha).2+(rf*sin(alpha).2);Ry=R.*sin(psi+gamma+ph);Rx=R.*cos(psi+gamma+ph);cx=F+(rc-rf)*cos(alpha);cy=(rc-rf)*sin(alpha);delta=atan2(cy,cx);c=sqrt(cx.2+cy.2);Cy=C.*sin(psi+delta+ph);Cx=C.*c

11、os(psi+delta+ph);若令=60,rb=3.0,h=0.5,rc=0.5,rf=0.375,m=0.375,则程序清单是:beta=60*pi/180;rb=3;h=0.5;rc=0.5;rf=0.375;m=.375;n=23;phi=linspace(0,beta,n);ph=phi beta+phi;Rx,Ry,Rx,Ry=ContourRoller(o,rb,h,beta,rc,m,rf);rb=sqrt(Rx(1)2+Ry(1)2);delta=atan2(Ry(1),Rx(1);Rx,Ry,Cx,Cy=ContourRoller(phi,rb,h,beta,rc,m,r

12、f);ang=linspace(2*beta+delta,2*pi+delta,40);plot(Rx,Ry,k,Rx(1)*cos(ang),Rx(1)*sin(ang),k,0,0,k+,Cx(1:5:2*n),y(1:5:2*n),k+)axis equalphd=linspace(0,2*pi,50);x,phx=meshgrid(Cx(1:5:2*n),phd);y=meshgrid(Cy(1:5:2*n),phd);hold onplot(x+rc.*cos(phx),y+rc.*sin(phx),k-)title(Cam contour for cycloidal motion

13、of an offset roller follower)4.凸轮的曲率半径凸轮轮廓的曲率半径如下给出:=凸轮轮廓应该是这样的:从动件的曲率半径总是大于凸轮轮廓的最小曲率半径,有意义的是最小曲率半径。使用第1节中对无量纲位移、速度、加速度和瞬时加速度的定义,曲率半径可表示如下:/h=为了确定最小的曲率半径(无量纲的),利用曲率半径与的对称关系创建函数CamCurvature。在区间是有效的。function RadiusCurve=CamCurvature(phi,beta,rbh)arg=2*pi*phi/beta;S=phi/beta-sin(arg)/2/pi;V=(1-cos(arg)

14、 /beta;A=2*pi/beta2*sin(arg);RadiusCurve=(rbh+S)2+V2)1.5/(rbh+S)2+2*V2-(rbh+S)*A);那么对于rb/h和的任意值,程序清单是:rbh=input(Enter ratio rb/h:);beta=input(Enter angle beta(degrees):)*pi/180);options=optimset(display,off);phimin=fminbnd(CamCurvature,0,beta,options,beta,rbh);rmin=CamCurvature(phimin,beta,rbh);disp(When beta=num2s

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号