收藏 分销(赏)

码头吊车机构的设计及分析.doc

上传人:pc****0 文档编号:7455238 上传时间:2025-01-05 格式:DOC 页数:21 大小:1.76MB 下载积分:10 金币
下载 相关 举报
码头吊车机构的设计及分析.doc_第1页
第1页 / 共21页
码头吊车机构的设计及分析.doc_第2页
第2页 / 共21页


点击查看更多>>
资源描述
东北大学机械原理课程设计 码头吊车机构的设计及分析 目录 目录 0 一.题目说明 1 二.求连架杆O3C的摆动范围 2 三.分析K点的运动状态 2 1.拆分杆组 3 2.列出形参和实参的表格 3 3.编写主程序并运行 3 四.设计曲柄摇杆机构O1ABO3 6 五.求K点水平方向的位移、速度和加速度线图 7 1.拆分杆组 7 2.列出形参和实参的表格 7 3.编写主程序并运行 8 六.对机构进行动态静力分析 11 1.拆分杆组 11 2.列出形参和实参的表格 12 3.编写主程序并运行 13 七.主要收获和建议 18 八.主要参考文献 19 一.题目说明     图示为某码头吊车机构简图,它是由曲柄摇杆机构与双摇杆机构串联成的。 已知:lo1x=2.86m, lo1y=4m, lo4x=5.6m, lo4y=8.1m, l3=4m, l3'=28.525m, a3'=25°, l3´´=8.5m, a3´´=7°, l4=3.625m, l4´=8.35m, a4'=184°, l4´´=1m, a4´´=95°, l5=25.15m, l5'=2.5m, a5'=24°。图中S3、S4、S5为构件3、4、5的质心,构件质量分别为:m3=3500kg, m4=3600kg, m5=5500kg,其余构件质量不计。K点向左运动时载重Q为50kN,向右运动时载重为零,曲柄01A的转速n1=1.06r/min. 机构运动简图: 二.求连架杆O3C的摆动范围 对四杆机构O3CDO4进行分析,可得O3C的摆动范围为92.57°到136.88°。 三.分析K点的运动状态 对双摇杆机构O3CDO4进行运动分析,以O3C为主动件,取步长为1°计算K点位置,根据K点的近似水平运动要求,依据其纵坐标值决定O3C的实际摆动范围。 1.拆分杆组 2.列出形参和实参的表格 ⑴.对主动件①进行运动分析。 形式参数 n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 4 5 0 3 r45 0.0 0.0 t w e p vp ap ⑵.对由②、③构件组成的RRR杆组进行运动分析。 形式参数 m n1 n2 n3 k1 k2 r1 r2 t w e p vp ap 实值 1 5 7 6 4 5 r56 r67 t w e p vp ap ⑶.调用bark函数,求10点的竖直运动参数。 形式参数 n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 5 0 10 5 0.0 r510 gam1 t w e p vp ap 3.编写主程序并运行 ⑴主程序: #include "subk.c" #include "draw.c" main() { static double p[20][2],vp[20][2],ap[20][2],del; static double t[10],w[10],e[10],pdraw[370],vpdraw[370],apdraw[370]; static int ic; double r45,r56,r67,r510,gam1; double pi ,dr; double r2,vr2,ar2; int i; FILE*fp; char *m[]={"p","vp","ap"}; r45=28.525,r56=3.625,r67=25.15,gam1=176.0,r510=8.35;w[3]=15.0;del=1.0;pi=4.0*atan(1.0);dr=pi/180.0; p[4][1]=0.0; p[4][2]=0.0; p[7][1]=5.6; p[7][2]=8.1; gam1=gam1*dr; printf("\n The Kinematic Parameters of Point 5\n"); printf("No THETA1 s10 v10 a10\n"); printf(" deg m m/s m/s/s\n"); if((fp=fopen("filel20092170.txt","w"))==NULL) { printf("Can't open this file.\n"); exit(0); } fprintf(fp,"\n The kinematic parameters of point 10\n"); fprintf(fp,"No THETA1 S10 V10 A10\n"); fprintf(fp," deg m m/s m/s/s"); ic=(int)(360.0/del); for(i=0;i<=ic;i++) { t[3]=(i)*del*dr; bark(4,5,0,3,r45,0.0,0.0,t,w,e,p,vp,ap); rrrk(1,5,7,6,4,5,r56,r67,t,w,e,p,vp,ap); bark(5,0,10,4,0.0,r510,gam1,t,w,e,p,vp,ap); printf("\n%2d %12.3f %12.3f %12.3f %12.3f",i+1,t[3]/dr,p[10][1],p[10][2],vp[10][1],vp[10][2],ap[10][1],ap[10][2]); fprintf(fp,"\n%2d%12.3f%12.3f%12.3f%12.3f",i+1,t[3]/dr,p[10][1],p[10][2],vp[10][1],vp[10][2],ap[10][1],ap[10][2]); pdraw[i]=p[10][2]; vpdraw[i]=vp[10][2]; apdraw[i]=ap[10][2]; if((i%16)==0){getch();}; } fclose(fp); getch(); draw1(del,pdraw,vpdraw,apdraw,ic,m); } ⑵运行结果: 程序运行结果会在屏幕上显示10点铅直方向的位置、速度、加速度数值如下: The kinematic parameters of point 10 No THETA1 S10 V10 A10 deg m m/s m/s/s 1 0.000 30.580 8.093 -464.378 2 15.000 20.847 12.357 -584.674 3 30.000 17.997 19.237 -687.870 4 45.000 13.464 25.145 -776.485 5 60.000 7.556 29.678 -844.483 6 75.000 0.676 32.528 -887.228 7 90.000 -6.706 33.500 -901.807 8 105.000 -12.172 20.713 -600.278 9 120.000 -21.464 20.478 -476.328 10 135.000 -28.467 21.109 -229.348 11 150.000 -33.000 15.201 -140.732 12 165.000 -35.850 8.322 -37.537 13 180.000 -36.822 0.939 73.205 14 195.000 -35.850 -6.444 183.947 15 210.000 -33.000 -13.324 287.143 16 225.000 -28.467 -19.231 375.758 17 240.000 -22.560 -23.764 443.756 18 255.000 -15.680 -26.614 486.501 19 270.000 -8.297 -27.586 501.080 20 285.000 -0.914 -26.614 486.501 21 300.000 5.965 -23.764 443.756 22 315.000 11.873 -19.231 375.758 23 330.000 16.406 -13.324 287.143 24 345.000 35.442 -4.646 -51.894 25 360.000 30.580 8.093 -464.378 ⑶K点纵坐标位置图线 四.设计曲柄摇杆机构O1ABO3 根据K点的近似水平运动要求,依据其纵坐标值确定O3C的实际摆动范围。由数据分析可知,O3C在95°至135°之间摆动时为K点近似水平运动,所以O3C的摆角范围是95°至135°,所以O3B的摆角范围为70°至110°. 按O3C的摆动范围设计曲柄摇杆机构O1ABO3,使摇杆O3B的两个极限位置对应于选定是K点轨迹范围。如图: 由已知条件, , ; ∴ , ; ∴ ; ; ; ∴ , 五.求K点水平方向的位移、速度和加速度线图 1.拆分杆组 2.列出形参和实参的表格 ⑴对主动件①进行运动分析。 形式参数 n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 1 2 0 1 r12 0.0 0.0 t w e p vp ap ⑵对②③组成的RRR杆组进行运动分析。 形式参数 m n1 n2 n3 k1 k2 r1 r2 t w e p vp ap 实值 1 4 2 3 3 2 r34 r23 t w e p vp ap ⑶调用bark函数,求5点运动参数。 形式参数 n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 4 0 5 3 0.0 r45 25.0*dr t w e p vp ap ⑷对④⑤组成的RRR杆组进行运动分析。 形式参数 m n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 1 5 7 6 4 5 r56 r67 t w e p vp ap ⑸调用bark函数,求8,9,10,11。 形式参数 n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 5 0 10 4 0.0 r510 176.0*dr t w e p vp ap 实值 4 0 11 3 0.0 r411 18.0*dr t w e p vp ap 实值 5 0 9 4 0.0 r59 95.0*dr t w e p vp ap 实值 7 0 8 5 0.0 r78 -156.0*dr t w e p vp ap 3.编写主程序并运行 ⑴主程序: #include "subk.c" #include "draw.c" main() { static double p[20][2],vp[20][2],ap[20][2],del; static double t[10],w[10],e[10],pdraw[370],vpdraw[370],apdraw[370]; static int ic; double r56,r67,r510,gam1,gam2,r12,r34,r45,r23,r710,r59,r48; double pi ,dr; double r2,vr2,ar2; int i; FILE*fp; char *m[]={"p","vp","ap"}; r56=3.625,r67=25.15,gam1=176.0,r510=8.35,gam2=25.0,r12=1.36,r34=4.0,r23=2.78,r45=28.525; w[1]=0.1;del=1.0;pi=4.0*atan(1.0);dr=pi/180.0;e[1]=0.0,r48=8.5,r59=1.0,r710=2.5; p[1][1]=2.86; p[1][2]=4.0; p[4][1]=0.0; p[4][2]=0.0; p[7][1]=5.6; p[7][2]=8.1; gam1=gam1*dr; gam2=gam2*dr; printf("\n The Kinematic Parameters of Point 10\n"); printf("No THETA1 s10 v10 a10\n"); printf(" deg m m/s m/s/s\n"); if((fp=fopen("20092170.txt","w"))==NULL) { printf("Can't open this file.\n"); exit(0); } fprintf(fp,"\n The kinematic parameters of point 10\n"); fprintf(fp,"No THETA1 S10 V10 A10\n"); fprintf(fp," deg m m/s m/s/s\n"); ic=(int)(360.0/del); for(i=0;i<=ic;i++) { t[1]=i*del*dr; bark(1,2,0,1,r12,0.0,0.0,t,w,e,p,vp,ap); rrrk(1,4,2,3,3,2,r34,r23,t,w,e,p,vp,ap); bark(4,0,5,3,0.0,r45,25.0*dr,t,w,e,p,vp,ap); rrrk(1,5,7,6,4,5,r56,r67,t,w,e,p,vp,ap); bark(5,0,10,4,0.0,r510,176.0*dr,t,w,e,p,vp,ap); bark(4,0,11,3,0.0,r411,18.0*dr,t,w,e,p,vp,ap); bark(5,0,9,4,0.0,r59,95.0*dr,t,w,e,p,vp,ap); bark(7,0,8,5,0.0,r78,-156.0*dr,t,w,e,p,vp,ap); printf("\n%2d %12.3f %12.3f %12.3f %12.3f",i+1,t[1]/dr,p[10][2],vp[10][2],ap[10][2]); fprintf(fp,"\n%2d%12.3f%12.3f%12.3f%12.3f",i+1,t[1]/dr,p[10][2],vp[10][2],ap[10][2]); pdraw[i]=p[10][1]; vpdraw[i]=vp[10][1]; apdraw[i]=ap[10][1]; if((i%16)==0){getch();}; } fclose(fp); getch(); draw1(del,pdraw,vpdraw,apdraw,ic,m); } ⑵运行结果: The kinematic parameters of point 10 No THETA1 S10 V10 A10 deg m m/s m/s/s 1 0.000 20.122 -0.001 0.005 16 15.000 20.123 -0.001 -0.001 31 30.000 20.133 0.017 0.016 46 45.000 20.241 0.065 0.017 61 60.000 20.453 0.090 0.000 76 75.000 20.665 0.064 -0.019 91 90.000 20.756 0.003 -0.026 106 105.000 20.680 -0.057 -0.018 121 120.000 20.487 -0.081 0.001 136 135.000 20.305 -0.048 0.024 151 150.000 20.279 0.034 0.035 166 165.000 20.473 0.102 0.007 181 180.000 20.688 0.031 -0.059 195 194.000 20.587 -0.10 -0.028 211 210.000 20.312 -0.065 0.041 226 225.000 20.288 0.044 0.033 241 240.000 20.480 0.087 -0.000 256 255.000 20.680 0.057 -0.020 271 270.000 20.756 0.002 -0.020 286 285.000 20.701 -0.040 -0.012 301 300.000 20.564 -0.061 -0.004 316 315.000 20.398 -0.062 0.003 331 330.000 20.250 -0.049 0.008 346 345.000 20.152 -0.024 0.010 361 360.000 20.122 -0.001 0.005 ⑶K点水平方向的位移、速度和加速度线图 六.对机构进行动态静力分析 1.拆分杆组 2.列出形参和实参的表格 ⑴对主动件①进行运动分析。 形式参数 n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 1 2 0 1 r12 0.0 0.0 t w e p vp ap ⑵对②③组成的RRR杆组进行运动分析。 形式参数 m n1 n2 n3 k1 k2 r1 r2 t w e p vp ap 实值 1 4 2 3 3 2 r34 r23 t w e p vp ap ⑶调用bark函数,求5点运动参数。 形式参数 n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 4 0 5 3 0.0 r45 25.0*dr t w e p vp ap ⑷对④⑤组成的RRR杆组进行运动分析。 形式参数 m n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 1 5 7 6 4 5 r56 r67 t w e p vp ap ⑸调用bark函数,求8,9,10,11点的运动参数。 形式参数 n1 n2 n3 k r1 r2 gam t w e p vp ap 实值 4 0 11 3 0.0 r411 18.0*dr t w e p vp ap 实值 5 0 9 4 0.0 r59 95.0*dr t w e p vp ap 实值 7 0 8 5 0.0 r78 -156.0*dr t w e p vp ap 实值 5 0 10 4 0.0 r510 176.0*dr t w e p vp ap ⑹对④⑤组成的RRR杆组调用rrrf进行动态静力分析。 形式参数 n1 n2 n3 ns1 ns2 nn1 nn2 nexf k1 k2 p vp ap 实值 5 7 6 9 8 10 0 10 4 5 p vp ap ⑺②③组成的RRR杆组动态静力分析。 形式参数 n1 n2 n3 ns1 ns2 nn1 nn2 nexf k1 k2 p vp ap 实值 4 2 3 11 0 5 0 0 3 2 p vp ap ⑻调用barf函数,求1点的运动副反力和平衡力矩。 形式参数 n1 ns1 nn1 k1 p vp ap e fr tb 实值 1 0 2 1 p vp ap e fr tb 3.编写主程序并运行 ⑴主程序: #include"stdio.h" #include "graphics.h" #include"subk.c" #include"subf.c" #include"draw.c" main() { static double p[20][2],vp[20][2],ap[20][2],del; static double t[10],w[10],e[10],tbdraw[370],tb1draw[370]; static double sita1[370],fr1draw[370],sita2[370],fr2draw[370],sita3[370],fr3draw[370]; static double fr[20][2],fe[20][2],tb,tb1,fr1,bt1,fr4,bt4,fr7,bt7,we1,we2,we3,we4,we5; static int ic; double r12,r23,r34,r45,r56,r67,r59,r78,r510,r411; double pi,dr; int i; FILE *fp; char *m[]={"tb","tb1","fr1","fr4","fr7"}; sm[1]=0.0;sm[2]=0.0;sm[3]=3500;sm[4]=3600;sm[5]=5500; sj[1]=0.0;sj[2]=0.0;sj[3]=0.0;sj[4]=0.0;sj[5]=0.0; r12=1.36;r23=2.87;r34=4.0;r45=28.525;r56=3.625;r67=25.15;r510=8.35;r78=2.5;r59=1.0;r411=8.5; w[1]=0.11;e[1]=0.0;del=15.0; pi=4.0*atan(1.0); dr=pi/180.0; p[1][1]=2.86; p[1][2]=4.0; p[4][1]=0.0; p[4][2]=0.00; p[7][1]=5.6; p[7][2]=8.1; printf("\n The Kinet0-static Analysis of a six-bar Linkase.\n"); printf("No HETA1 fr1 sita1 fr4 sita4 fr7 sita7 tb tb1\n"); printf(" deg N radian N radian N radian N.m N.m\n"); if((fp=fopen("20092170.txt","w"))==NULL) { printf("Can't open this file.\n"); exit(0); } fprintf(fp,"\n The Kinet0-static Analysis of a six-bar Linkase.\n"); fprintf(fp,"No HETA1 fr1 sita1 fr4 sita2 fr7 sita3 tb tb1\n"); fprintf(fp," deg N radian N radian N radian N.m N.m\n"); ic=(int)(360.0/del); for(i=0;i<=ic;i++) { t[1]=(i*del)*dr; bark(1,2,0,1,r12,0.0,0.0,t,w,e,p,vp,ap); rrrk(1,4,2,3,3,2,r34,r23,t,w,e,p,vp,ap); bark(4,0,5,3,0.0,r45,25.0*dr,t,w,e,p,vp,ap); rrrk(1,5,7,6,4,5,r56,r67,t,w,e,p,vp,ap); bark(5,0,10,4,0.0,r510,176.0*dr,t,w,e,p,vp,ap); bark(4,0,11,3,0.0,r411,18.0*dr,t,w,e,p,vp,ap); bark(5,0,9,4,0.0,r59,95.0*dr,t,w,e,p,vp,ap); bark(7,0,8,5,0.0,r78,-156.0*dr,t,w,e,p,vp,ap); rrrf(5,7,6,9,8,10,0,10,4,5,p,vp,ap,t,w,e,fr); rrrf(4,2,3,11,0,5,0,0,3,2,p,vp,ap,t,w,e,fr); barf(1,0,2,1,p,ap,e,fr,&tb); fr1=sqrt(fr[1][1]*fr[1][1]+fr[1][2]*fr[1][2]); bt1=atan2(fr[1][2],fr[1][1]); fr4=sqrt(fr[4][1]*fr[4][1]+fr[4][2]*fr[4][2]); bt4=atan2(fr[4][2],fr[4][1]); fr7=sqrt(fr[7][1]*fr[7][1]+fr[7][2]*fr[7][2]); bt7=atan2(fr[7][2],fr[7][1]); we3=-(ap[11][1]*vp[11][1]+(ap[11][2]+9.81)*vp[11][2])*sm[3]-e[3]*w[3]*sj[3]; we5=-(ap[8][1]*vp[8][1]+(ap[8][2]+9.81)*vp[8][2])*sm[5]-e[5]*w[5]*sj[5]; extf(p,vp,ap,t,w,e,11,fe); we4=-(ap[9][1]*vp[9][1]+(ap[9][2]+9.81)*vp[9][2])*sm[4]+fe[10][2]*vp[10][2]; tb1=-(we3+we4+we5)/w[1]; printf("\n%2d %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f",i+1,t[1]/dr,fr1,bt1/dr,fr4,bt4/dr,fr7/dr,bt7/dr,tb,tb1); fprintf(fp,"\n%2d %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f",i+1,t[1]/dr,fr1,bt1/dr,fr4,bt4/dr,fr7/dr,bt7/dr,tb,tb1); tbdraw[i]=tb; tb1draw[i]=tb1; fr1draw[i]=fr1; sita1[i]=bt1; fr2draw[i]=fr4; sita2[i]=bt4; fr3draw[i]=fr7; sita3[i]=bt7; if((i%10)==0){getch();} } fclose(fp); getch(); draw2(del,tbdraw,tb1draw,ic,m); draw3(del,sita1,fr1draw,sita2,fr2draw,sita3,fr3draw,ic,m); } extf(p,vp,ap,t,w,e,nexf,fe) double p[20][2],vp[20][2],ap[20][2],t[10],w[10],e[10],fe[20][2]; int nexf; { fe[nexf][1]=0.0; if(vp[nexf][1]<0){ fe[nexf][2]=-50000.0;} else{ fe[nexf][2]=0.0;} } ⑵运行结果: The Kinet0-static Analysis of a six-bar Linkase. No HETA1 fr1 sita1 fr4 sita2 fr7 sita3 tb tb1 deg N radian N radian N radian N.m N.m 1 0.000 35180.939 -175.238 90588.841 73.045 2335780.649 78.160 -3972.137 -3972.137 2 15.000 91927.224 -168.091 209160.870 71.472 1365857.212 -13.861 6740.749 6740.749 3 30.000 95695.822 -161.689 224377.434 73.183 1594981.757 -23.497 26367.791 26367.791 4 45.000 80262.215 -156.543 226968.505 78.916 1959572.048 -30.235 40082.960 40082.960 5 60.000 37385.670 -153.065 211008.830 90.522 2318920.780 -30.563 27740.475 27740.475 6 75.000 22153.927 28.604 19435
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服