机械原理课程设计任务书(二)姓名柳柏魁专业液压传动与控制班级液压09-1学号0907240110一、设计题目:牛头刨床凸轮机构设计二、系统简图:棘轮工作台电动机ABCDFEOO45671138O'OO214O91910工件z'zz1z212n234567891011128'1'127'CBA123456h/2n2三、工作条件已知:摆杆9为等加速等减速运动规律,其推程运动角,远休止角s,回程运动角',摆杆长度Dl09,最大摆角max,许用压力角(参见表2-1);凸轮与曲柄共轴。四、原始数据凸轮机构设计°mm°max9ODlS1513542751070五、要求:1)计算从动件位移、速度、加速度并绘制线图。2)确定凸轮机构的基本尺寸,选取滚子半径,画出凸轮实际廓线,并按比例绘出机构运动简图。以上内容作在A2或A3图纸上。3)编写出计算说明书。指导教师:开始日期:2011年6月26日完成日期:2011年7月1日目录1.设计任务及要求------------------------------2.数学模型的建立------------------------------3.程序框图---------------------------------------4.程序清单及运行结果------------------------5.设计总结---------------------------------------6.参考文献--------------------------------------1设计任务与要求已知摆杆9为等加速等减速运动规律,其推程运动角φ=75,远休止角φs=10,回程运动角φ΄=70,摆杆长度l09D=135,最大摆角φmax=15,许用压力角[α]=42,凸轮与曲线共轴。要求:(1)计算从动件位移、速度、加速度并绘制线图(用方格纸绘制),也可做动态显示。(2)确定凸轮的基本尺寸,选取滚子半径,画出凸轮的实际廓线,并按比例绘出机构运动简图。(3)编写计算说明书。2数学模型(1)推程等加速区当2/0时22max/21m(角位移)2max/4(角速度)2max/4(角加速度)(2)推程等减速区当2/时22maxmax/)(21m(角位移)2max/)(4(角速度)2max/4(角加速度)(3)远休止区当s时max1m(角位移)0(角速度)0(角加速度)(4)回程等加速区当2/ss时22maxmax/)(21sm(角位移)2max/)(4s(角速度)2max/4(角加速度)(5)回程等减速区当ss2/时22max/)(21sm(角位移)2max/)(4s(角速度)2max/4(角加速度)(6)近休止区01m(角位移)0(角速度)0(角加速度)一、如图选取xOy坐标系,B1点为凸轮轮廓线起始点。开始时推杆轮子中心处于B1点处,当凸轮转过角度时,摆动推杆角位移为,由反转法作图可看出,此时滚子中心应处于B点,其直角坐标为:00coscossinsinlaylax因为实际轮廓线与理论轮廓线为等距离,即法向距离处处相等,都为滚半径rT.故将理论廓线上的点沿其法向向内测移动距离rT即得实际廓线上的点B(x1,y1).由高等数学知,理论廓线B点处法线nn的斜率应为cos/sin////ddyddxdydxtg根据上式有:ddladdyddladdx/1sinsin//1coscos/00可得2222////cos////sinddyddxddyddyddxddx实际轮廓线上对应的点B(x,y)的坐标为sin1cos1TTryyrxx此即为凸轮工作的实际廓线方程,式中“-”用于内等距线,“+”于外等距线。3程序框图程序清单及运行结果开始定义主函数输入:远休止,近休止,摆长判断中心距范围初始角调用子函数1,带出数值取压力角理论廓线曲率半径判断压力角,曲率半径符合调用子函数1,对凸轮分段调用子函数2,画圆心及实际包络线轨迹清屏磙子圆心坐标值画摆杆清屏画坐标系调用子函数3,画线图输出数据,结束程序4程序清单及运行结果#includemath.h#includedos.h#includegraphics.h#includeconio.h#includestdio.h#definel135.0#defineAa42#definer_b40#definerr8#defineK(3.1415926/180)#definedt0.25floatQ_max,Q_t,Q_s,Q_h;floatQ_a;doubleL,pr;floate[1500],f[1500],g[1500];voidCal(floatQ,doubleQ_Q[3]){Q_max=15,Q_t=75,Q_s=10,Q_h=70;if(Q=0&&Q=Q_t/2){Q_Q[0]=K*(2*Q_max*Q*Q/(Q_t*Q_t));Q_Q[1]=4*Q_max*Q/(Q_t*Q_t);Q_Q[2]=4*Q_max/(Q_t*Q_t);}if(QQ_t/2&&Q=Q_t){Q_Q[0]=K*(Q_max-2*Q_max*(Q-Q_t)*(Q-Q_t)/(Q_t*Q_t));Q_Q[1]=4*Q_max*(Q_t-Q)/(Q_t*Q_t);Q_Q[2]=-4*Q_max/(Q_t*Q_t);}if(QQ_t&&Q=Q_t+Q_s){Q_Q[0]=K*Q_max;Q_Q[1]=0;Q_Q[2]=0;}if(QQ_t+Q_s&&Q=Q_t+Q_s+Q_h/2){Q_Q[0]=K*(Q_max-2*Q_max*(Q-Q_t-Q_s)*(Q-Q_t-Q_s)/(Q_h*Q_h));Q_Q[1]=-4*Q_max*(Q-Q_t-Q_s)/(Q_h*Q_h);Q_Q[2]=-4*Q_max/(Q_h*Q_h);}if(QQ_t+Q_s+Q_h/2&&Q=Q_t+Q_s+Q_h){Q_Q[0]=K*(2*Q_max*(Q_h-Q+Q_t+Q_s)*(Q_h-Q+Q_t+Q_s)/(Q_h*Q_h));Q_Q[1]=-4*Q_max*(Q_h-Q+Q_t+Q_s)/(Q_h*Q_h);Q_Q[2]=4*Q_max/(Q_h*Q_h);}if(QQ_t+Q_s+Q_h&&Q=360){Q_Q[0]=K*0;Q_Q[1]=0;Q_Q[2]=0;}}voidDraw(floatQ_m){floattt,x,y,x1,y1,x2,y2,x3,y3,x4,y4,dx,dy;doubleQQ[3];circle(240,240,3);circle(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K),3);moveto(240,240);lineto(240+20*cos(240*K),240-20*sin(240*K));lineto(260+20*cos(240*K),240-20*sin(240*K));lineto(240,240);moveto(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K));lineto(240+L*sin(50*K)+20*cos(240*K),240+L*cos(50*K)-20*sin(240*K));lineto(255+L*sin(50*K)+20*cos(240*K),240+L*cos(50*K)-20*sin(240*K));lineto(240+L*sin(50*K)+4*cos(240*K),240+L*cos(50*K)-4*sin(240*K));for(tt=0;tt=720;tt=tt+2){Cal(tt,QQ);x1=L*cos(tt*K)-l*cos(Q_a+QQ[0]-tt*K);y1=l*sin(Q_a+QQ[0]-tt*K)+L*sin(tt*K);x2=x1*cos(Q_m*K+40*K)+y1*sin(Q_m*K+40*K);y2=-x1*sin(Q_m*K+40*K)+y1*cos(Q_m*K+40*K);putpixel(x2+240,240-y2,2);dx=(QQ[1]-1)*l*sin(Q_a+QQ[0]-tt*K)-L*sin(tt*K);dy=(QQ[1]-1)*l*cos(Q_a+QQ[0]-tt*K)+L*cos(tt*K);x3=x1-rr*dy/sqrt(dx*dx+dy*dy);y3=y1+rr*dx/sqrt(dx*dx+dy*dy);x4=x3*cos(Q_m*K+40*K)+y3*sin(Q_m*K+40*K);y4=-x3*sin(Q_m*K+40*K)+y3*cos(Q_m*K+40*K);putpixel(x4+240,240-y4,YELLOW);}}voidCurvel(){intt;floaty1,y2,y3,a=0;for(t=0;t=360/dt;t++){delay(300);a=t*dt;if((a=0)&&(a=Q_t/2)){y1=(2*Q_max*pow(a,2)/pow(Q_t,2))*10;y2=(4*Q_max*(dt*K)*a/pow(Q_t,2))*pow(10,4.8);y3=(4*Q_max*pow((dt*K),2)/pow(Q_t,2))*pow(10,8.5);putpixel(100+a,300-y1,1);putpixel(100+a,300-y2,2);putpixel(100+a,300-y3,4);line(100+Q_t/2,300-y3,100+Q_t/2,300);}if((aQ_t/2)&&(a=Q_t)){y1=(Q_max-2*Q_max*pow((Q_t-a),2)/pow(Q_t,2))*10;y2=(4*Q_max*(dt*K)*(Q_t-a)/pow(Q_t,2))*pow(10,4.8);y3=((-4)*Q_max*pow((dt*K),2)/pow(Q_t,2))*pow(10,8.5);putpixel(100+a,300-y1,1);putpixel(100+a,300-y2,2);putpixel(100+a,300-y3,4);line(100+Q_t,300-y3,100+Q_t,300);line(100+Q_t/2,300,100+Q_t/2,300-y3);}if((aQ_t)&&(a=Q_t+Q_s)){y1=Q_max*10;y2=0;y3=0;putpixel(100+a,300-y1,1);putpixel(100+a,300-y2,2);putpixel(100+a,300-y3,4);line((100+Q_t+Q_s),300,(100+Q_t+Q_s),300-y3);}if((aQ_t+Q_s)&&(a=Q_t+Q_s+Q_h/2)){y1=(Q_max-2*Q_max*pow((a-Q_t-Q_s),2)/pow(Q_h,2))*10;y2=((-4)*Q_max*(dt*K)*(a-Q_t-Q_s)/pow(Q_h,2))*pow(10,4.8);y3=((-4)*Q_max*pow((dt*K),2)/pow(Q_h,2))*pow(10,8.5);putpixel(100+a,300-