凸轮机构大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大作业(二)

凸轮机构设计

(题号:4—B)

班级:机制02班

学号:2010012407(8)同组人员:杭程光高源

完成日期:2011-11-15

凸轮机构大作业题目

利用计算机辅助设计完成下列偏置式直动滚子推杆盘形凸轮机构(推杆的移动副导路位于凸轮盘回转中心的右侧)或摆动滚子推杆盘形凸轮机构的设计,设计已知数据如下表所示,机构中凸轮沿着逆时针方向做匀速转动。

表1 两种凸轮机构的从动件运动规律

表2 两种凸轮机构的推杆在近休、推程、远休及回程阶段的凸轮转角

表3 偏置直动滚子推杆盘形凸轮机构的已知参数

表4 摆动滚子推杆盘形凸轮机构的已知参数

要求:每两人一组,每组中至少打印出一份源程序。每人都要打印:原始数据;凸轮理论轮廓曲线和实际轮廓曲线的坐标值;推程和回程的最大压力角,以及出现最大压力角时凸轮相应的转角,凸轮实际轮廓曲线的最小曲率半径,以及相应的凸轮转角;凸轮的基圆半径。整个设计过程所选取的计算点数N=72~120。利用计算机绘出凸轮的理论轮廓曲线和实际轮廓。

注:滚子摆动推杆盘形凸轮机构的压力角α计算公式为:

)

sin(])cos([tan 00ϕϕϕϕδ

ϕ

α+-+=

OA AB OA AB L l l d d l μ

且当摆动推杆的角速度ω2与ω1异向时,上式方括号前取减号;当ω2与ω1同向时,取加号。φ0为推杆初位角,可有以下公式计算获得:

AB

OA AB OA l l r l l 2cos 2

0220++=

ϕ

一、作业数据

二、动规律及凸轮廓线方程 推程 等加速

20

2

/2δ

δh s =

等减速

2

020/)(2δδδ--=h h s

回程 理论轮廓廓线方程

x=(s 0+s)sin δ+ecos δ y= (s 0+s)cos δ-esin δ

工作廓线方程

x '=x-t r cos δ y '=y-t r sin δ

叮叮小文库

实际廓线方程:

()

2

2/)/(/)/(sin δδδθd dy d dx d dx += ()

2

2

/)/(/)/(cos δδδθd dy d dx d dy +-=

θcos '

r r x x -=

θsin '

r r y y -=

三、计算程序

#include #include using namespace std; #define N 120

#define pi 3.1415926 double oro=0.5;

double rt=12,h=30,e=10,a_max1=30*pi/180,a_max2=75*pi/180,p_min=3.6; double change_angel(int d) { return d*pi/180; }

double f_s0(double r0,double e) { return pow(pow(r0,2)-pow(e,2),0.5); }

double f_s(double a) { double s; if(a>=0&&a<=45) s=0; else if(a<=112.5) s=2*h*pow(a-45,2)/pow(135,2); else if(a<=180)s=h-2*h*pow(180-a,2)/pow(135,2); else if(a<=270)s=h; else s=h*(4-a/90+sin(change_angel(4*a-3*360))/2/pi); return s; }

double f_x(double s,double s0,double a) {

double x;

x=(s0+s)*sin(change_angel(a))+e*cos(change_angel(a));

return x;

}

double f_y(double s,double s0,double a)

{

double y;

y=(s0+s)*cos(change_angel(a))-e*sin(change_angel(a));

return y;

}

double f_s1(double a)

{

double s1;

if(a>=0&&a<=45) s1=0;

else if(a<=112.5) s1=64*h*(change_angel(a)-(pi/4))/9/pow(pi,2);

else if(a<=180) s1=64*h*(pi-change_angel(a))/9/pow(pi,2);

else if(a<=270) s1=0;

else s1=h*(-2/pi+2*cos(change_angel(4*a-3*360))/pi);

return s1;

}

double f_x1(double s0,double a,double s,double s1)

{

double x1;

x1=(s0+s)*cos(change_angel(a))+s1*sin(change_angel(a))-e*sin(change_angel(a));

return x1;

}

double f_y1(double s0,double a,double s,double s1)

{

double y1;

y1=-(s0+s)*sin(change_angel(a))+s1*cos(change_angel(a))-e*cos(change_angel(a));

return y1;

}

double f_xx(double x,double x1,double y1)

{

double xx;

xx=x+rt*y1/pow(pow(x1,2)+pow(y1,2),0.5);

return xx;

}

double f_yy(double y,double x1,double y1)

{

double yy;

yy=y-rt*x1/pow(pow(x1,2)+pow(y1,2),0.5);

return yy;

}

相关文档
最新文档