压床连杆机构的运动及分析.docx

上传人:b****8 文档编号:9584196 上传时间:2023-02-05 格式:DOCX 页数:15 大小:32.47KB
下载 相关 举报
压床连杆机构的运动及分析.docx_第1页
第1页 / 共15页
压床连杆机构的运动及分析.docx_第2页
第2页 / 共15页
压床连杆机构的运动及分析.docx_第3页
第3页 / 共15页
压床连杆机构的运动及分析.docx_第4页
第4页 / 共15页
压床连杆机构的运动及分析.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

压床连杆机构的运动及分析.docx

《压床连杆机构的运动及分析.docx》由会员分享,可在线阅读,更多相关《压床连杆机构的运动及分析.docx(15页珍藏版)》请在冰豆网上搜索。

压床连杆机构的运动及分析.docx

压床连杆机构的运动及分析

压床连杆机构的运动及分析(3)

1设计题目及参数

2数学模型

3程序框图

4程序清单及运行结果

5设计总结

6参考文献

设计题目及参数

已知:

中心距X1=70mm,X2=200mm,Y=310mm。

构件3的上、下极限①=60、①''=1滑块的冲程

H=210mm,比值CE/CD(取1/2),EF/DE(取1/4),

各构件S重心的位置,曲柄每分钟转速N1=90r/min。

要求:

1)设计连杆机构,作机构运动简图(选择适当的比例尺)。

机构两个位置的速度多边形和加速度多边形,滑块的运动线简图(位移,速度和加速度曲线)。

2)用C语言编写程序对机构进行运动分析,并打印程序及计算结果。

3)编写出设计计算说明书。

数学模型

压床连杆机构数学模型具体推导过程:

将此六杆机构等效为四杆机构与曲柄滑块机构的

组合.

如图,四个向量组成的封闭四边行,于是有

Z1Z2Z3Z4一Z厂0

即按复数式可以写成

Li(cos1isin1)L(cos2isin2)Ls(cos3isinjL4(cos4isin)—L^cosisin5)=0

-4=90°,v-0

实部相等

L1cost1■L2cost2L3cost3-Xj=0

(1)

虚部相等

L1sin^rL2sin^2L3sin^3Y=0

(1)⑵式联立消去二2得

222RLiLsCOSr-2XiL3)com3(2YL2LiLaSinjjsi"九二化?

-L|-L3

2X1-2YLsni+2XiLiC0S1)

22

P1-2L1L3COSyir-2X1L3,M1=2L1L3sinT11C2YL3'N1=L2-L3

22

-L1X1-2YL.Sin-12X1L1cos^1,

P1C0Sr3M1sin=3二N1得

N1P1

2

P1M1

—-arcsinf22

\'P^M1

再对曲柄滑块机构进行分析

l3

S(cos)1isinn1)X2(cosv2isinv2)-(cos3isinv3)

4

-Ljcosn4isin^J=0

实部虚部分别相等

l3/

-Scosr3-L3cost4=0

434

L

3sinr3-l3sin二4X2=0

4

联立得方程

L

S22SL3COS—X;-2X2L3sin亠一(3)2二0

4

L?

sin耳

L2

令s/=0可得

2L3cos日4(X2-L?

sin日4)

4(L3)2cos=-4X;8X2L3si”4(L3)2

i4

组合四杆机构的分析便得到

=0

Xisini-YcosrL3Sin^cos^-LsSin二2cosy

sin^cos/i-sin^cos^

XjSin^L3cos^sin屯-L3sin片cos)3-Ycos^

sin齐cosr2-sinr2cosj

L4

 

寸3=360。

_十3_90°

参数的定义

theta转角

omga-----角速度epsl角加速度

程序框图

输入Xi,X2,Y,0;Hni

作循环,For(i=O;i

依次计算B2日3国2⑷3呂25

计算的日2日3国2国35J结果分别存

入数组或文件中

按格式输出所有计算结果初始化图形系统

绘制直角坐标系

直角坐标系下分别绘出角位移、角速度、角加速度图象

绘制出机构动画

序设计源程

#inelude

#ineludevgraphics.h>

#include

#define

X1

(70.0*0.001)

#define

X2

(200.0*0.001)

#define

Y

(310.0*0.001)

#define

PHI3_1

60

#define

PHI3_2

120

#define

H

(210.0*0.001)

#define

Lce_Lcd

0.5

#define

Lef_Lde

0.25

#define

N1

90.0

#define

Pi

3.1415926

#define

Vs

900

#define

DelayTime

1000

#define

FaiAngleScale30

#define

PosScale

100

#define

SpeedScale

10

#define

AccelateScale0.02

#define

VPX_A125

#define

VPY_A400

#define

VX1

15

#define

VY1

100

#define

VX2

250

#define

VY2

460

#define

PosCoorX

300

#define

PosCoorY

180

#define

SpeedCoorX

300

#define

SpeedCoorY

280

#define

AccelateCoorX300

#defineAccelateCoorY380floatLab;floatLbc;floatLde;floatLef;floatLcd;floatLce;floatLad;floatPax,Pbx,Pcx,Pdx,Pex,Pfx,Pay,Pby,Pcy,Pdy,Pey,Pfy;floatVax,Vbx,Vcx,Vdx,Vex,Vfx,Vay,Vby,Vcy,Vdy,Vey,Vfy;floatAax,Abx,Acx,Adx,Aex,Afx,Aay,Aby,Acy,Ady,Aey,Afy;floatk1,k2,k3,k11,k21,k31,k12,k22,k32;floatOmig;

floatFaiAngle_Degree;

floatFaiAngle_Rad;

int

VPX_B,VPY_B,VPX_C,VPY_C,VPX_D,VPY_D,VPX_E,VPY_E,VPX_F,VPY_F;

voidInit();

voidInitView();

voidDrawCoor();

voidDrawPic();

voidDrawMoveCoor();

voidGetLength();

voidGetpointPos(floatFaiAngle);

voidGetPointSpeed(floatFaiAngle);

voidGetPointAccelate(floatFaiAngle);

voidmain()

{inti,t;

Omig=N1*2*Pi/60;

Init();

InitView();

GetLength();

for(FaiAngle_Degree=0;!

kbhit();FaiAngle_Degree++)

{

FaiAngle_Degree=((int)FaiAngle_Degree)%360;FaiAngle_Rad=FaiAngle_Degree*Pi/180.0;

Pax=0;

Pay=0;

Pdx=X1;

Pdy=Y;

Pbx=Lab*cos(FaiAngle_Rad);

Pby=Lab*sin(FaiAngle_Rad);

Vbx=-Lab*Omig*sin(FaiAngle_Rad);

Vby=Lab*Omig*cos(FaiAngle_Rad);

Abx=-Lab*pow(Omig,2)*cos(FaiAngle_Rad);

Aby=-Lab*pow(Omig,2)*sin(FaiAngle_Rad);k1=sqrt(pow(Pdx-Pbx,2)+pow(Pdy-Pby,2));

k2=(pow(k1,2)+pow(Lbc,2)-pow(Lcd,2))/2.0/pow(k1,2)

5

k3=sqrt(pow((Lbc*1.0/k1),2)-pow(k2,2));

Pcx=Pbx+k2*(Pdx-Pbx)-k3*(Pdy-Pby);

Pcy=Pby+k2*(Pdy-Pby)-k3*(Pdx-Pbx);

Vcx=(Pdx-Pbx)*k21+Vbx-k2*Vbx-k31*(Pdy-Pby)+k3*Vby;

Vcy=(Pdy-Pby)*k21+Vby-k2*Vby-k31*(Pdx-Pbx)+k3*Vbx;

k11=(Vbx*(Pbx-Pdx)+Vby*(Pby-Pdy))/k1;k21=(pow(Lcd,2)-pow(Lbc,2))*k11/pow(k1,3);k31=-(Lbc*k11/pow(k1,3)+k2*k21)/k3;

k12=(k1*pow(Vbx,2)+Abx*(Pbx-Pdx)+pow(Vby,2)+Aby*(Pby-Pdy)-k11*((Pbx-Pdx)*Vbx+Vby+(Pby-Pdy)))/pow(k1,2);

k22=(pow(Lcd,2)-pow(Lbc,2))*(k12/pow(k1,2)-3*pow(k11,2))/pow(k1,3);

k32=(k31*(Lbc*k11+k2*pow(k1,4))-k3*(Lbc*(k12*k1-3*pow(k11,2))+pow(k21,2)*pow(k1,3)+k2*k21*pow(k1,3)))/pow(k3,2)/pow(k1,3);

Acx=(Pdx-Pbx)*k22-k21*Vbx+Abx-k2*Abx-k21*Vbx-k32*(Pdy-Pby)+2*k31*Vby+k3*Aby;

Acy=(Pdy-Pby)*k22-k21*Vby+Aby-k2*Aby-k21*Vby

+k32*(Pdx-Pbx)-2*k31*Vbx-k3*Abx;

Pex=Lce_Lcd*(Pcx-Pdx)+Pcx;Pey=Lce_Lcd*(Pcy-Pdy)+Pcy;Vex=Vcx*Lde/Lcd;Vey=Vcy*Lde/Lcd;Aex=Acx*Lde/Lcd;Aey=Acy*Lde/Lcd;

Pfx=X1-X2;

Pfy=Pey-sqrt(pow(Lef,2)-pow(Pfx-Pex,2));Vfx=0;

Vfy=Vey+((Pex-Pfx)*Vex)/(Pey-Pfy);

Afx=0;

Afy=Aey+((Pey-Pfy)*((Pex-Pfx)*Aex+pow(Vex,2))-(Pex-Pfx)*Vex*(Vey-Vfy))/pow(Pey-Pfy,2);

DrawPic();DrawMoveCoor();delay(DelayTime);

}closegraph();}voidGetLength()

{

floattemp1,temp2;Lad=sqrt(X1*X1+Y*Y);

Lde=H/(cos(PHI3_1*Pi/180)-cos(PHI3_2*Pi/180));

Lce=Lde/(1.0+1.0/Lce_Lcd);Lcd=Lde-Lce;temp1=sqrt(pow(Lad,2)+pow(Lcd,2)

-2*Lad*Lcd*cos(PHI3_1*Pi/180-atan(X1/Y)));

temp2=sqrt(pow(Lad,2)+pow(Lcd,2)

-2*Lad*Lcd*cos(PHI3_2*Pi/180-atan(X1/Y)));

Lbc=(temp2+temp1)/2.0;

Lab=(temp2-temp1)/2.0;

Lef=Lde*Lef_Lde;

}

voidInit()

{

intgd=VGA,gm=VGAHI,errorcode;initgraph(&gd,&gm,"c:

\\turboc2");

}

voidInitView()

{

VPX_D=VPX_A+X1*Vs;

VPY_D=VPY_A-Y*Vs;

VPX_F=VPX_A+(X1-X2)*Vs;

cleardevice();setfillstyle(SOLID_FILL,BLUE);bar(0,0,639,479);setcolor(GREEN);settextstyle(1,HORIZ_DIR,4);outtextxy(65,25,"LIANGANJIGOU");setfillstyle(SOLID_FILL,RED);bar(0,82,700,84);bar(0,88,700,90);

setfillstyle(SOLID_FILL,GREEN);

bar(VX1,VY1,VX2,VY2);

DrawCoor();

setcolor(YELLOW);

outtextxy(290,430,"Y");

outtextxy(550,430,"X");

}

voidDrawCoor()

{

inti;

setcolor(YELLOW);

line(300,180,550,180);

line(300,280,550,280);

line(300,380,550,380);

line(300,140,300,220);

line(300,240,300,320);

line(300,340,300,420);

line(300,140,300-3,140+5);

line(300,240,300-3,240+5);

line(300,340,300-3,340+5);

line(300,140,300+3,140+5);

line(300,240,300+3,240+5);

line(300,340,300+3,340+5);

line(550,180,550-5,180+3);

line(550,280,550-5,280+3);

line(550,380,550-5,380+3);

line(550,180,550-5,180-3);

line(550,280,550-5,280-3);

line(550,380,550-5,380-3);

setcolor(YELLOW);

settextstyle(0,HORIZ_DIR,1);

outtextxy(280,140,"Pf");

outtextxy(280,240,"Vf");

outtextxy(280,340,"Af");

}

voidDrawPic()

{

inti;

VPX_B=VPX_A+Vs*(Pbx-Pax);

VPY_B=VPY_A-Vs*(Pby-Pay);

VPX_C=VPX_A+Vs*(Pcx-Pax);

VPY_C=VPY_A-Vs*(Pcy-Pay);

VPX_E=VPX_A+Vs*(Pex-Pax);

VPY_E=VPY_A-Vs*(Pey-Pay);

VPX_F=VPX_A+Vs*(Pfx-Pax);

VPY_F=VPY_A-Vs*(Pfy-Pay);

setbkcolor(BLACK);

setfillstyle(SOLID_FILL,BLUE);

bar(VX1,VY1,VX2,VY2);

setfillstyle(SOLID_FILL,BLACK);

setlinestyle(SOLID_LINE,0,NORM_WIDTH);

pieslice(VPX_A,VPY_A,0,360,3);line(VPX_A,VPY_A,VPX_A-10,VPY_A+10);line(VPX_A,VPY_A,VPX_A+10,VPY_A+10);

line(VPX_A-15,VPY_A+10,VPX_A+15,VPY_A+10);

for(i=0;i<30;i+=4)line(VPX_A-15+i,VPY_A+10,VPX_A-10+i,VPY_A+15);

pieslice(VPX_D,VPY_D,0,360,3);

line(VPX_D,VPY_D,VPX_D-10,VPY_D+10);line(VPX_D,VPY_D,VPX_D+10,VPY_D+10);

line(VPX_D-15,VPY_D+10,VPX_D+15,VPY_D+10);outtextxy(VPX_D,VPY_D-15,"D");outtextxy(VPX_A,VPY_A-15,"A");outtextxy(VPX_F+10,VPY_F,"F");

for(i=0;i<30;i+=4)line(VPX_D-15+i,VPY_D+10,VPX_D-10+i,VPY_D+15);

line(VPX_F,130,VPX_F,420);for(i=130;i<150;i+=6)

line(VPX_F,i,VPX_F-10,i+4);rectangle(VPX_F-5,VPY_F-10,VPX_F+5,VPY_F+10);

pieslice(VPX_B,VPY_B,0,360,2);pieslice(VPX_C,VPY_C,0,360,2);

pieslice(VPX_E,VPY_E,0,360,2);pieslice(VPX_F,VPY_F,0,360,2);circle(VPX_A,VPY_A,Lab*Vs);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);line(VPX_A,VPY_A,VPX_B,VPY_B);

line(VPX_B,VPY_B,VPX_C,VPY_C);

line(VPX_D,VPY_D,VPX_E,VPY_E);

line(VPX_E,VPY_E,VPX_F,VPY_F);

}

voidDrawMoveCoor()

{floatf,x,y;

f=FaiAngle_Rad*FaiAngleScale;

x=Pfx*PosScale;

y=Pfy*PosScale;

putpixel(PosCoorX+f,PosCoorY-x,BROWN);

putpixel(PosCoorX+f,PosCoorY-y,RED);

x=Vfx*SpeedScale;

y=Vfy*SpeedScale;

putpixel(SpeedCoorX+f,SpeedCoorY-x,BROWN);putpixel(SpeedCoorX+f,SpeedCoorY-y,RED);x=Afx*AccelateScale;

y=Afy*AccelateScale;

putpixel(AccelateCoorX+f,AccelateCoorY-x,BROW

N);

putpixel(AccelateCoorX+f,AccelateCoorY-y,RED);

}

设计结果

i=1

3[i]=1.756857,omigar2[i]=0.983844,omigar3[i]=-3.810642,epsl2[i]=-23.53977epsl3[i]=-19.458128i=48

sita1[i]=30.159290,sita2[i]=0.249768,sita3[i]=1.464203,omigar2[i]=-0.892504,omigar3[i]=-4.776515,epsl2[i]=-29.605782epsl3[i]=13.256150i=49

sita1[i]=30.787609,sita2[i]=0.311739,sita3

[i]=1.258883,omigar2[i]=-2.397500,omigar3[i]=-4.462730,epsl2[i]=-14.459468epsl3[i]=60.537876

i=50

sita1[i]=0.000000,sita2[i]=0.000000,sita3[i]=0.000000,omigar2[i]=0.000000,omigar3[i]=0.000000,epsl2[i]=0.000000,epsl3[i]=0.000000

位移、加速度、角速度曲线的绘制

总结

这门课程设计是机械原理课程设计,真对的是我们这学期所学的《机械原理》这门课程的,不但是对所学知识的检验,更是对实践能力的考察。

在连杆机构中,构件间的相对运动是平面运动或平行平面运动的成为平面连杆机构。

通常由四个组件组成的连杆机构成为丝杆机构,有五个构件组成的连杆机构成为五杆机构,以此类推。

五杆以上的连杆机构又称为多杆机构。

因三个构件不能组成平面闭式链机构,故平面闭式连机构至少是四杆机构。

四杆机构既是构成和研究平面多杆机构的基础,又是应用最广泛的连杆机构。

平面连杆机构的有点:

1)运动副一般为转动负荷移动副,由于低副是面接触,所以压强小、便于润滑,磨损

2)运动副元素为圆柱面或平面,故制造容易。

3)平面连杆机构结构简单、工作可靠,而能实现多种运动规律和运动轨迹要求。

4)相对于空间连杆机构,其设计也较容易。

因此,他在机床、农业机械、矿业机械、轻工机械、汽车及各种仪表中得到了广泛的应用。

其主要缺点:

1)惯性力和惯性力距不易平衡,因而,不适用于高速传动。

2)对多机构而言,随着构件和运动副的增多,运动运动累积误差增大,从而影响传动精度。

平面连杆机构的类型:

1)祛病摇杆机构

2)双曲柄机构

3)双摇杆机构

参考文献

《机械原理课程设计指导书》徐萃萍冷兴聚

《机械原理电算课程设计指导书》冷兴聚

《机械原理》孙恒陈作模

《C程序设计》谭浩强

《计算机图形学》罗笑南王若梅

《机械原理课程设计》,辽宁工程技术大学机械设计基础教研室

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1