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

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

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

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

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

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

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

1设计题目及参数……………………………………………

2数学模型……………………………………………………

3程序框图………………………………………………………

4程序清单及运行结果…………………………………………

5设计总结……………………………………………………

6参考文献……………………………………………………

设计题目及参数

已知:

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

构件3的上、下极限Φ’=60、Φ’’=120,滑块的冲程H=210mm,比值CE/CD(取1/2),EF/DE(取1/4),各构件S重心的位置,曲柄每分钟转速N1=90r/min。

要求:

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

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

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

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

数学模型

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

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

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

即按复数式可以写成

实部相等

(1)

虚部相等

(2)

(1)

(2)式联立消去

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

实部虚部分别相等

联立得方程

可得

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

参数的定义

theta-------转角    

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

程序框图

输入X1,X2,Y,

Hn1

作循环,For(i=0;i

 

依次计算

计算的

结果分别存入数组或文件中

按格式输出所有计算结果

初始化图形系统

绘制直角坐标系

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

绘制出机构动画

 

 

序设计源程

#include

#include

#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_A  125

#define VPY_A  400

#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

#define AccelateCoorY380

float Lab;

float Lbc;

float Lde;

float Lef;

float Lcd;

float Lce;

float Lad;

float Pax,Pbx,Pcx,Pdx,Pex,Pfx,Pay,Pby,Pcy,Pdy,Pey,Pfy;

float Vax,Vbx,Vcx,Vdx,Vex,Vfx,Vay,Vby,Vcy,Vdy,Vey,Vfy;

float Aax,Abx,Acx,Adx,Aex,Afx,Aay,Aby,Acy,Ady,Aey,Afy;

float k1,k2,k3,k11,k21,k31,k12,k22,k32;

float Omig;

float FaiAngle_Degree;

float FaiAngle_Rad;

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

void Init();

void InitView();

void DrawCoor();

void DrawPic();

void DrawMoveCoor();

void GetLength();

void GetpointPos(floatFaiAngle);

void GetPointSpeed(floatFaiAngle);

void GetPointAccelate(floatFaiAngle);

void main()

{ 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);

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()

{

int i;

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);

}

void DrawMoveCoor()

{ 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,BROWN);

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

}

设计结果

i=1

…….

…….

……...

i=47

sita1[i]=29.530972  ,sita2[i]=0.244314   ,sita3[i]=1.756857 ,omigar2[i]=0.983844  ,omigar3[i]=-3.810642 ,epsl2[i]=-23.53977epsl3[i]=-19.458128

i=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.256150

i=49

sita1[i]=30.787609  ,sita2[i]=0.311739   ,sita3[i]=1.258883 ,omigar2[i]=-2.397500 ,omigar3[i]=-4.462730 ,epsl2[i]=-14.459468  epsl3[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