哈工大机械原理大作业1
[键入公司名称]
机械原理课程设计
[键入文档副标题]
p
[选取日期]
设计题目 连杆机构运动分析 机电工程学院1008103班H100811109学号
设计者 王鹏
[在此处键入文档的摘要。摘要通常是对文档内容的简短总结。在此处键入文档的摘要。摘要通常是对文档内容的简短总结。]
1、运动分析题目(12)
如图所示的六杆机构中,各构件的尺寸分别为:lAB=200mm ,lBC=500mm ,lCD=800mm ,xF=400mm ,xD=350mm ,yD=350mm ,ω=100rad s ,求构件5上点F的位移,速度和加速度。
2、建立坐标系
建立以点A为原点的固定平面直角系A−x,y
3、对机构进行结构分析
该机构由I级杆组RR(原动件1)、II级杆组RRR(杆2、杆3)和II级杆组PRP(滑块4及滑块
5)组成。I级杆组RR,如图2所示;II级杆组RRR,如图2所示;II级杆组PRP,如图3所示。
4、确定已知参数和求解流程
图1所示,规定当φ=10° 时,F点纵坐标为0
(1)如图2所示,已知原动件杆1的转角,
φ=0~360°
x=lAB×cosφ B yB=lAB×sinφ
(2)如图3所示,已知B,D两点坐标分别为(xB,yB)(xD,yD)和 lBC lCD
(x−xB)+(y−yB)2=lBC2
利用方程组 可以求解出C点坐标 222(x−xD)+(y−yD)=lCD
(3)如图4所示,已知C点坐标、xF 、xD 、yD
利用几何关系可以求解出E点坐标
同时,当φ=10° 时,可以求出杆EF长,记为 lEF
进而,可以求出F点坐标,即F点位移
(4)利用导数的定义与其物理意义 2
sn+h−sn−h s−2sn+sn−han=n+hvn=
利用上述公式,选取适当的步长h,利用F点位移就可以得出速度与加速度
5、用VC编程
#include
#include
#define pi 3.[***********]46
//定义全局变量
double Lab,Lbc,Lcd,Xf,Xd,Yd;//定义已知位置量
double Wab;//定义角速度量
//定义被调用函数
void Ccorner (double *a,double *b,double c);//声明C点坐标函数求解函数
void Pcorner (double *a,double *b,double c,double d,double e);//声明P点坐标函数求解函数 double Kcd (double a,double b);//声明CD直线倾斜角求解函数
//主函数
main ()
{
Lab=0.200;Lbc=0.500;Lcd=0.800;Xf=0.400;Xd=0.350;Yd=0.350;//赋位置量值
Wab=100;//赋角速度值
//未知几何与位置参量
double Xb,Yb;//定义B点坐标
double Xc,Yc;//定义C点坐标
double Ye;//定义E点纵坐标
double Xp,Yp;//定义瞬心p点坐标
double Lef;//定义bp,cp,ef,bd杆长
double Yf[720];//定义F点纵坐标
//未知速度参量
double Vf[720];//定义EF杆速度
//未知加速度参量
double Af[720];//定义加速度
//其余参量
double o=10*pi/180,k,k1;//主动杆角度变量与CD杆倾斜角
double t=1*pi/180/100;//时间参量,用定义法求速度与加速度
int i;//循环控制变量
//主函数主体
#include #include
#define pi 3.[***********]46 //定义全局变量
double Lab,Lbc,Lcd,Xf,Xd,Yd;//定义已知位置量 double Wab;//定义角速度量
//定义被调用函数
void Ccorner (double *a,double *b,double c);//声明C点坐标函数求解函数
void Pcorner (double *a,double *b,double c,double d,double e);//声明P点坐标函数求解函数 double Kcd (double a,double b);//声明CD直线倾斜角求解函数
//主函数 main () {
Lab=0.200;Lbc=0.500;Lcd=0.800;Xf=0.400;Xd=0.350;Yd=0.350;//赋位置量值 Wab=100;//赋角速度值
//未知几何与位置参量 double Xb,Yb;//定义B点坐标 double Xc,Yc;//定义C点坐标 double Ye;//定义E点纵坐标 double Xp,Yp;//定义瞬心p点坐标 double Lef;//定义bp,cp,ef,bd杆长 double Yf[720];//定义F点纵坐标
//未知速度参量
double Vf[720];//定义EF杆速度
//未知加速度参量
double Af[720];//定义加速度
//其余参量
double o=10*pi/180,k,k1;//主动杆角度变量与CD杆倾斜角 double t=1*pi/180/100;//时间参量,用定义法求速度与加速度 int i;//循环控制变量
//主函数主体
//求位移量
for (i=0;i
//准备几何量
Xb=Lab*cos(o), Yb=Lab*sin(o); Ccorner (&Xc,&Yc,o);//求C点坐标
Pcorner (&Xp,&Yp,Xc,Yc,o);//求瞬心P点坐标 k=Kcd (Xp,Yp);//求CD杆倾斜角
//求解位移量(规定主动杆10度为Yf零点) if (i==0) {
k1=k; }
Lef=tan(k1)*Xd+Yd;//ef杆长 Ye=tan(k)*Xd+Yd; Yf[i]=Ye-Lef; o=o+1*pi/180; }
//用定义求速度 for (i=1;i
Vf[i]=(Yf[i+1]-Yf[i-1])/(2*t); }
//用定义求加速度 for (i=1;i
Af[i]=(Yf[i+1]-2*Yf[i]+Yf[i-1])/pow(t,2); }
//输出语句
for (i=1;i
printf ("%d,%lf,%lf,%lf,\t",i+10,Yf[i]*1000,Vf[i],Af[i]);
printf ("%d,%lf,%lf,%lf\n",i+190,Yf[i+180]*1000,Vf[i+180],Af[i+180]); }
}
//C点坐标值函数
void Ccorner(double *a,double *b,double c)//&Xc,&Yc,o {
double i,j,x,y,z;//中间参数
i=(pow(Lcd,2)-pow(Lbc,2)+pow(Lab*sin(c),2)-pow(Yd,2)+pow(Lab*cos(c),2)-pow((Xd+Xf),2))/(2*(Lab*cos(c)-Xd-Xf));
j=(Lab*sin(c)-Yd)/(Lab*cos(c)-Xf-Xd); x=pow(j,2)+1;
y=2*(Xf+Xd)*j-2*i*j-2*Yd;
z=pow(i,2)-2*(Xf+Xd)*i+pow((Xf+Xd),2)+pow(Yd,2)-pow(Lcd,2); *b=(-y+sqrt(pow(y,2)-4*x*z))/(2*x); *a=i-j*(*b); }
//求瞬心P点坐标函数
void Pcorner(double *a,double *b,double c,double d,double e)//&Xp,&Yp,Xc,Xp,o {
double a1,b1,c1,a2,b2,c2,i,j,k;//中间参量 a1=tan(e),a2=(d-Yd)/(c-Xd-Xf); b1=b2=-1;
c1=0,c2=(c*(d-Yd)/(c-Xd-Xf))-d; i=a1*b2-b1*a2; j=c1*b2-b1*c2; k=a1*c2-c1*a2; *a=j/i; *b=k/i; }
//CD杆倾斜角
double Kcd(double a,double b)//Xp,Yp {
double k1;//中间参量
k1=-atan ((b-Yd)/(a-Xd-Xf)); return k1; }
6、计算结果(程序计算结果附在图像之后)
6.1位移、速度、加速度的图像
−s(mm)) 点F的位移线图如图5所示。(φ ° −v(m/s)) 点F的速度线图如图6所示。(φ ° −a(m/s2)) 点F的加速度线图如图7所示。(φ °
6.2程序计算结果