机械原理课程设计编程说明书设计题目:牛头刨床导杆机构的设计及运动分析指导教师:*******设计者:**学号:04班级:机电07-1班2009年7月09日************大学目录一、计任务及要求……………………………………………………二、数学模型的建立………………………………………………三、程序框……………………………………………………四、程序中符号说明…………………………………………五、程序清单及运行结果………………………………………六、课程设计总结………………………………………………七、参考文献………………………………………………牛头刨床导杆机构运动分析一、设计任务及要求:已知:牛头刨床的导杆机构的曲柄每分钟转速n2,各构件尺寸及重心位置,且报头导路x-x位于导杆端点B所作圆弧的平分线上。数据如下表所示:设计内容导杆机构运动分析单位r/minmm符号n1LO2O4LO2ALO4BLBELO4S4数据7040095800256400要求:1、用c语言编写计算程序,对机构进行动态分析和动态显示。2、上机调试程序并打印结果。3、画出导杆4的角位移,角速度,角加速度的曲线。4、编写设计计算说明书。二、数学模型的建立:该牛头刨床导杆机构为六杆机构,拆分成两个四杆机构:1)摆动导杆机构;2)曲柄滑块机构。求导杆4的角位移,角速度,角加速度,分析摆动导杆机构。如图所示建立坐标。三个向量构成封闭图形,所以可得:ABCXabdZ2Z1Z3βαY按复数形式可以写成:上式可以简化为,900)sin(cos)sin(cos)sin(cos333idibia,求解得)式对时间求二阶导数将(得)对时间求一阶导数,将(联立解得)()(相等得)式中实部、虚部分别根据()(。。2)8)(sin()7)(cos(.2)6(sin2)5(cossin)4(),3(40sinsin30coscos220)sin(cos)sin(cos)sin(cos2242233abvaddabaadarctgdbabaidibiaAba)9](2)sin()cos([142224Avaab。。即为导杆的角加速度,即导杆的角速度,44因为曲柄可看作匀角速转动,则2=0。三、刨头刨床导杆机构运动分析设计程序框图:开始↓读入lo2o4,lo2A,lo4B,lBE,l61,ω2及一个运动循环曲柄转过角度1↓1=5↓求导杆3的角位移3,角速度ω3,角加速度α3;求A点的位移S3,速度V3↓求杆4的角位移4,角速度ω4;求刨头E点位移SE速度Ve及加速度αE↓1≤360↓输出E点位移SE速度VE加速度αE1=1+5画出位移速度加速度随1变化曲线图↓结束四、程序中符号说明:Q2:曲柄2转过的角度(与x正半轴的夹角);w2:曲柄2的角速度Q4:杆4转过的角度(与x正半轴的夹角)w3:摆块3的转动角速度a3:摆块的加速度Q5:杆5转过的角度(与x正半轴的夹角)sA:A点的位移;sE:E点的位移。w4:杆4转动的角速度a4:杆4的角加速度。五、程序清单及运行结果:1、数学建模程序#includegraphics.h#includemath.h#includeconio.h#includestdio.h#definePI3.1415926#defineMPI/180#defineC2*PI*70/60#definel195#definel2400#definel4800#definel5(0.32*l4)#defineYs622.88996918#definel7l4-Ys6voiddtmn();voidpist(floatx0,floaty0,floatl,floath,floattheta);voidslide(floatx0,floaty0,floatx1,floath);voidpirot(floatx0,floaty0,floatl);voidsgd();voidcur();/****************************主函数****************************/main(){intQ2,i=0,j=0,Q_2[72];floatQ4,Q41,Q411,w3,a3,Q5,Q51;floatQ511,sA,sA1,sA11,Se,w4,Ve,Se1,a4,Se11;floatS_e[72],S_e1[72],S_e11[72],Q_511[72];FILE*fl;if((fl=fopen(mydata.txt,w))==NULL){printf(mydata.txtcannotopen!\n);exit(0);}/*intgd=DETECT,gm;initgraph(&gd,&gm,c:\\turboc2);cleardevice();*/clrscr();printf(角位移位移速度角加速度加速度\n);for(Q2=0;Q2=360;Q2+=5){i++;if(i%12==0){getch();printf(角位移位移速度角加速度加速度\n);}if(Q2=0&&Q290||Q2270&&Q2=360){Q4=atan((l2+l1*sin(Q2*M))/(l1*cos(Q2*M)));Q4/=M;}elseif(Q2==90||Q2==270){Q4=90;}elseif(Q290&&Q2180){Q4=PI-atan((l2+l1*sin(Q2*M))/(-l1*cos(Q2*M)));Q4/=M;}elseif(Q2=180&&Q2270){Q4=PI-atan((l2+l1*sin(Q2*M))/(-l1*cos(Q2*M)));Q4/=M;}if(Q4==90)sA=l2+l1;elseif(Q4==270)sA=l2-l1;elsesA=l1*cos(Q2*M)/cos(Q4*M);sA1=-l1*C*sin((Q2-Q4)*M);Q41=-l1*C*cos((Q2-Q4)*M)/sA;w3=Q41;Q411=(C*C*l1*sin((Q4-Q2)*M)-w3*sA1)/sA;a3=Q411;if(((l7-l4*sin(Q4*M))/l5)=0&&((l7-l4*sin(Q4*M))/l5)=1)Q5=180-asin(l7-(l4*sin(Q4*M))/l5)/M;elseif(((l7-l4*sin(Q4*M))/l5)=-1&&((l7-l4*sin(Q4*M))/l5)=0)Q5=180+asin((l7-l4*sin(Q4*M))/l5)/M;Se=l4*cos(Q4*M)+l5*cos(Q5*M);Q51=-w3*l4*cos(Q4*M)/(l5*cos(Q5*M));w4=Q51;Se1=-w3*l4*sin((Q4-Q5)*M)/cos(Q5*M);Q511=(Q41*Q41*l4*sin(Q4*M)+Q51*Q51*l5*sin(Q5*M)-Q411*l4*cos(Q4*M))/(l5*cos(Q5*M));Se11=-(a3*l4*sin((Q4-Q5)*M)+w3*w3*l4*cos((Q4-Q5)*M)-w4*w4*l5)/cos(Q5*M);S_e[j]=Se;S_e1[j]=Se1;Q_511[j]=Q511;S_e11[j]=Se11;Q_2[j]=Q2;printf(%7d%-7.3f%-7.3f%-7.3f%-7.3f\n,Q_2[j],S_e[j],S_e1[j],Q_511[j],S_e11[j]);fprintf(fl,%7d%-7.3f%-7.3f%-7.3f%-7.3f\n,Q_2[j],S_e[j],S_e1[j],Q_511[j],S_e11[j]);}j++;fclose(fl);cur();dtmn();sgd();}/**********************sudu,jiasudu,weiyi,quxiantuhanshu*************************/voidcur(){/*floatw1=2*PI,L1=110,L4=135,L61=490,L3=540,L6=380;*/floatQ4,Q2,sA,w3,sA1,sA11,Se,Se1,Se11,a3,a4,Q411,Q5,Q51,w4;intgd=DETECT,gmode,i;initgraph(&gd,&gmode,c:\\turboc2);clrscr();for(Q2=0;Q2=2*PI;Q2+=1.0*PI/1000){if(Q2=0&&Q2PI/2||Q2PI*1.5&&Q2=2*PI)Q4=atan((l2+l1*sin(Q2))/(l1*cos(Q2)));elseif(Q2==PI/2.0||Q2==1.5*PI)Q4=PI/2;elseif(Q2PI/2&&Q2PI)Q4=PI-atan((l2+l1*sin(Q2))/(-l1*cos(Q2)));elseQ4=PI-atan((l2+l1*sin(Q2))/(-l1*cos(Q2)));if(Q2!=PI/2&&Q2!=1.5*PI)sA=l1*cos(Q2)/cos(Q4);elseif(Q2==PI/2)sA=l1+l2;elsesA=l2-l1;/*sA1=-l1*w1*sin(Q2-Q4);*/w3=l1*C*cos(Q2-Q4)/sA;Q411=(C*C*l1*sin(Q4-Q2)-2*w3*sA)/sA;a3=Q411;if(((l7-l4*sin(Q4))/l5)=0&&((l7-l4*sin(Q4))/l5)=1)Q5=PI-asin((l7-l4*sin(Q4))/l5);elseif(((l7-l4*sin(Q4))/l5)=-1&&((l7-l4*sin(Q4))/l5)0)Q5=PI+asin((l7-l4*sin(Q4))/l5);Se=l4*cos(Q4)+l5*cos(Q5);Q51=-w3*l4*cos(Q4)/(l5*cos(Q5));w4=Q51;Se1=-w3*l4*sin(Q4-Q5)/cos(Q5);/*Q511=(Q41*Q41*l4*sin(Q4)+Q51*Q51*l5*sin(Q5)-Q411*Q411*l4*cos(Q4))/(l5*cos(Q5));*/Se11=-(a3*l4*sin(Q4-Q5)+w3*w3*l4*cos(Q4-Q5)-w4*w4*l5)/cos(Q5);line(100,200,500,200);setcolor(5);line(492,201,500,200);line(492,199,500,200);line(100,10,100,350);setcolor(5);line(99,18,100,10);line(101,18,100,10);putpixel(100+Q2*180/PI,200-Se/5,1);/*绘制位移曲线*/putpixel(100+Q2*180/PI,200-Se1/100,2);/*绘制速度曲线*/putpixel(100+Q2*180/PI,200-Se11/100,4);}/*绘制加速度曲线*/setcolor(10);settextjustify(CENTER_TEXT,0);outtextxy(300,300,RED___JIASUDU);outtextxy(300,330,GREEN___SUDU);outtextxy(300,360,BLUE___WEIYI);/*outtextxy(300,50,SUDUJIASUDUWEIYIGUANXIQUXIANTU);*/outtextxy(300,50,SUDUJIASUDUWEIYIGUANXIQUXIANTU);g