机械原理基本杆组分析法.docx
《机械原理基本杆组分析法.docx》由会员分享,可在线阅读,更多相关《机械原理基本杆组分析法.docx(21页珍藏版)》请在冰豆网上搜索。
机械原理基本杆组分析法
机械原理
机构运动分析基本杆组法
上
机
指
导
书
Ⅱ级机构的杆组分析法通用子程序设计
随着计算机的普及,用解析法对机构进行运动分析得到越来越广泛的应用。
解析法中有矢量方程解析、复数矢量、杆组分析、矩阵运算等方法。
本文采用杆组分析的方法,设计通用的Ⅱ级杆组子程序,可对一般的Ⅱ级机构进行运动分析。
1.单杆运动分析子程序
单杆的运动分析,通常是已知构件三角形△P1P2P3的边长l、r夹角α以及构件上某基点P1的运动参数x1,y1,x’1,y’1,x’’1,y’’1和构件绕基点转动的运动参数θ,θ’,θ’’,要求确定构件上点P2和P3的运动参数。
显然,由图1可得下列关系式:
x2=x1+lcosθ,y2=y1+lsinθ
x’2=x’1-lsinθθ’,y’2=y’1+lcosθθ’
x’’2=x’’1-lsinθθ’’-lcosθθ’2,y’’2=y’’1+lcosθθ’’-lsinθθ’2
x3=x1+rcos(θ+α),y3=y1+rsin(θ+α)
x’3=x’1-(y3-y1)θ’,y’3=y’1+(x3-x1)θ’
x’’3=x’’1-(y3-y1)θ’’-(x3-x1)θ’2,y’’3=y’’1+(x3-x1)θ’’-(y3-y1)θ’2
由以上各式可设计出单杆运动分析子程序(见程序单)。
图1
2.RRR杆组运动分析子程序
图2所示RRRⅡ级杆组中,杆长l1,l2及两外接转动副中心P1,P2的坐标、速度、加速度分量为x1,x’1,x’’1,y1,y’1,y’’1,x2,x’2,x’’2,y2,y’2,y’’2,要求确定两杆的角度、角速度和角加速度θ1,θ’1,θ’’1,θ2,θ’2,θ’’2。
1)位置分析
将已知P1P2两点的坐标差表示为:
u=x2-x1,v=y2-y1
(1)
杆l1及l2投影方程式为:
l1cosθ1-l2cosθ2=u
l1sinθ1-l2sinθ2=v
(2)
消去θ1得:
vsinθ2+ucosθ2+c=0(3)
其中:
c=(u2+v2+l22-l12)/2l2
解式(3)可得:
tan(θ2/2)=(v±
)/(u-c)(4)
式中+号和-号分别对应图2中m=+1和m=-1两位置。
图2
由式
(2)可得:
tanθ1=(v+l2sinθ2)/(u+l2cosθ2)(5)
2)速度分析
对式
(2)求导一次得:
A1θ’1+A3θ’2=u’,A2θ’1+A4θ’2=v’ (6)
其中:
A1=-l1sinθ1,A2=l1cosθ1,A3=l3sinθ2,A4=-l2cosθ2
解式(6)可得:
ω1=θ’1=(A4u’-A3v’)/D,ω2=θ’2=(A1v’-A2u’)/D (7)
其中:
D=A1A4-A2A3=l1l2sin(θ1-θ2)
3)加速度分析
对式(6)求导一次得:
A1θ’’1+A3θ’’2=E,A2θ’’1+A4θ’’2=F (8)
其中:
E=u’’+A2θ’12+A4θ’22,F=v’’-A1θ’12-A3θ’22
解式(8)可得:
α1=θ’’1=(A4E-A3F)/D,α2=θ’’2=(A1F-A2E)/D (9)
由上述式子可设计出RRR杆组运动分析子程序(见程序单)。
3.RRP杆组运动分析子程序
图3所示RRPⅡ级杆组中,已知杆长l1及两外接点P1,P2的运动和移动副轴线P2P3的方向角变量(θ2,θ’2,θ’’2),P2点为以移动副与构件2相连的构件上运动已知的牵连点,要求确定运动变量l2,θ1,l’2,θ’1,l’’2,θ’’1。
1)位置分析
由于θ2已知,l2待求,将式
(2)消去θ1可得:
l22+2(ucosθ2+vsinθ2)l2+(u2+v2-l12)=0
由此解得:
l2=-(ucosθ2+vsinθ2)±
(10)
式中+号用于转动副中心P3处在P2H线段之外(
图3中m=+1的位置),-号用于P3处在P2H线段
之内(图3中m=-1的位置)。
θ1由式(5)而定。
2)速度分析
对式
(2)求导一次得:
图3
A1θ’1+A5l’2=G,A2θ’1+A6l’2=H(11)
其中:
A1,A2同前,A5=-cosθ2,A6=-sinθ2,G=u’+l2A6θ’2,H=v’-l2A5θ’2
解式(11)可得:
ω1=θ’1=(A6G-A5H)/D8,l’2=(A1H-A2G)/D8 (12)
其中:
D8=A1A6-A2A5=l1cos(θ1-θ2)
3)加速度分析
对式(11)求导一次得:
A1θ’’1+A5l’’2=E1,A2θ’’1+A6l’’2=F1 (13)
其中:
E1=u’’+A2θ’12+2A6l’2θ’2+l2A5θ’22+l2A6θ’’2
F1=v’’-A1θ’12-2A5l’2θ’2+l2A6θ’22-l2A5θ’’2
解式(13)可得:
α1=θ’’1=(A6E1-A5F1)/D8,l’’2=(A1F1-A2E1)/D8 (14)
由上述式子可设计出RRP杆组运动分析子程序(见程序单)。
4.RPR杆组运动分析子程序
图4所示RPRⅡ级杆组中,已知杆长l1及两外接点P1,P2的运动,l1为P1点至导路的垂直距离,P2为过P2'与导路垂直延伸点,延伸距离为w(当P2与P1在导路同侧时,w取正,在异侧时,w取负),要求确定运动变量l2,θ1,θ2,l’2,θ’1,θ’2,l’’2,θ’’1,θ’’2。
1)位置分析
θ1与θ2的关系为:
θ2=θ1±π/2(15)
式中+号和-号分别对应图4中m=+1和m=-1两
位置。
l1与l2有如下关系:
(16)
由式(4)和式(16)可得:
tan(θ2/2)=[v±(l1-w)]/(u-l2)(17)
2)速度分析
由于θ’1=θ’2,引进符号θ’i(i=1,2),对
式
(2)求导一次得:
A7θ’i+A5l’2=u’,A8θ’i+A6l’2=v’(18)
其中:
A7=-(l1-w)sinθ1+l2sinθ2
A8=(l1-w)cosθ1-l2cosθ2图4
解式(18)可得:
ωi=θi=(A6u’-A5v’)/(-l2),l’2=(A7v’-A8u’)/(-12) (19)
3)加速度分析
对式(18)求导一次得:
A7θ’’i+A5l’’2=E2,A8θ’’i+A6l’’2=F2 (20)
其中:
E2=u’’+A8θ’i2+2A6l’2θ’i,F2=v’’-A7θ’i2-2A5l’2θ’i
解式(20)可得:
αi=θ’’i=(A6E2-A5F2)/(-l2),l’’2=(A7F2-A8E2)/(-l2) (21)
由上述式子可设计出RPR杆组运动分析子程序(见程序单),在子程序中,以+m代替前面各式中出现的±计算符。
m称之为型参数,在设计主程序时,应根据各类Ⅱ级杆组不同的布置型式,确定m的取值(m可取+1,-1和0)。
5.PRP杆组运动分析子程序
图5所示PRPⅡ级杆组中,已知导路1,2两外接点P1,P2的运动,h1,h2分别为未知运动点P3至导路1,2的垂直距离,导路1,2的方位角、角速度、角加速度(θ1,θ’1,θ’’1,θ2,θ’2,θ’’2)均已知,要求确定导路1,2移动的位移、速度及加速度(l1,l2,l’1,l’2,l’’1,l’’2)以及P3点的运动(x3,x’3,x’’3,y3,y’3,y’’3)。
1)位置分析
推导l1,及l2的方程式:
x1+l1cosθ1+h1sinθ1=x2+l2cosθ2-h2sinθ2
y1+l1sinθ1-h1cosθ1=y2+l2sinθ2+h2cosθ2
整理得:
l1cosθ1-l2cosθ2=E1
l1sinθ1-l2sinθ2=F1(22)
其中:
E1=u-A3h1-A4l2,F1=v+A1h1+A2h2,
A1=cosθ1,A2=cosθ2,A3=sinθ1,A4=sinθ2。
由于θ1,θ2均已知,由此解得:
l1=(F1cosθ2-E1sinθ2)/D8
l2=(F1cosθ1-E1sinθ1)/D8(23)
其中:
D8=A2A3-A1A4=sin(θ1-θ2)
P3点的位置为:
x3=x1+l1cosθ1+h1sinθ1
y3=y1+l1sinθ1-h1cosθ1(24)
2)速度分析
对式(22)求导一次,整理得:
l’1cosθ1-l’2cosθ2=E2图5
l’1sinθ1-l’2sinθ2=F2(25)
其中:
E2=u’+A6θ’1–A8θ’2,F2=v’-A5θ’1–A7θ’2,A5=l1cosθ1+h1sinθ1,
A6=l1sinθ1-h1cosθ1,A7=l2cosθ2-h2sinθ2,A8=l2sinθ2+h2cosθ2。
由(25)解得:
l’1=(F2cosθ2-E2sinθ2)/D8
l’2=(F2cosθ1-E2sinθ1)/D8(26)
P3点的速度为对式(24)求导得:
x’3=x’1+l’1cosθ1+A6θ’1
y’3=y’1+l’1sinθ1-A5θ’1(27)
3)加速度分析
对式(25)求导一次,整理得:
l’’1cosθ1-l’’2cosθ2=E3
l’’1sinθ1-l’’2sinθ2=F3(28)
其中:
E3=u’’+2A3l’1θ’1+A5θ’12+A6θ’’1–2A4l’2θ’2–A7θ’22–A8θ’’2,
F3=v’’-2A1l’1θ’1+A6θ’12-A5θ’’1+2A2l’2θ’2–A8θ’22+A7θ’’2。
解(28)式得:
l’’1=(F3cosθ2–E3sinθ2)/D8
l’’2=(F3cosθ1–E3sinθ1)/D8(29)
P3点的加速度为对式(27)求导得:
x’’3=x’’1+A1l’’1-2A3l’1θ’1-A5θ’12-A6θ’’1
y’’3=y’’1+A3l’’1-2A1l’1θ’1-A6θ’12-A5θ’’1(30)
由上述式子可设计出PRP杆组运动分析子程序(见程序单)。
6.RPP杆组运动分析子程序
图6所示RPPⅡ级杆组中,已知导路1参考点P1和外转动副P2的运动,h为外副P2至导路2的垂直距离,导路1的方位角、角速度、角加速度(θ1,θ’1,θ’’1)已知,导路1与导路2间的夹角为。
要求确定导路1,2移动的位移、速度及加速度(l1,l2,l’1,l’2,l’’1,l’’2)以及导路中心P3,P4点的运动(x3,x4,x’3,x’4,x’’3,x’’4,y3,y4,y’3,y’4,y’’3,y’’4)。
1)位置分析
推导l1,及l2的方程式:
x1+l1cosθ1+l2cos(θ1+)=x2+hsin(θ1+)
y1+l1sinθ1+l2sin(θ1+)=y2-hcos(θ1+)
整理得:
l1cosθ1+l2cos(θ1+)=E1
l1sinθ1+l2sin(θ1+)=F1(31)
其中:
E1=u+A1h,F1=v–A2h,
A1=sin(θ1+),A2=cos(θ1+)。
由于θ1,均已知,由此解得:
l1=(E1sin(θ1+)-F1cos(θ1+))/D8
l2=(F1cosθ1-E1sinθ1)/D8(32)
其中:
D8=A1A4-A2A3=sin,A3=sinθ1,A4=cosθ1图6
P3、P4点的位置为:
x3=x1+l1cosθ1,y3=y1+l1sinθ1
x4=x2+hsin(θ1+),y4=y2-hcos(θ1+)(33)
当给定P1、P2点的位置,杆长h的大小和导路的方向角θ1、后,RPP杆组可能有两种形式,即图6中的实线和虚线两种形式,这可用h为“+”(实线机构)和h为“-”(虚线机构)来确定。
此外,从式(32)可以看出,为保证机构能够正常运动,两导路之间的夹角不能为0,再考虑到加工和装配等因素以及摩擦的存在,工程实际中,一般要求sin0.1。
2)速度分析
对式(31)求导一次,整理得:
l’1cosθ1+l’2cos(θ1+)=E2
l’1sinθ1+l’2sin(θ1+)=F2(34)
其中:
E2=u’+θ’1(A2h+A3l1+A1l2),F2=v’-θ’1(A1h-A4l1-A2l2)。
由式(34)解得:
l’1=(E2sin(θ1+)-F2cos(θ1+))/D8
l’2=(F2cosθ1-E2sinθ1)/D8(35)
P3、P4点的速度为对式(33)求导得:
x’3=x’1+A4l’1–A3l1θ’1,y’3=y’1+A3l’1+A4l1θ’1
x’4=x’2+A2hθ’1,y’4=y’2+A1hθ’1(36)
3)加速度分析
对式(34)求导一次,整理得:
l’’1cosθ1+l’’2cosθ2=E3
l’’1sinθ1+l’’2sinθ2=F3(37)
其中:
E3=u’’+θ’’1(A2h+A3l1+A1l2)-θ’12(A1h-A4l1-A2l2)+2θ’1(A3l’1+A1l’2)
F3=v’’+θ’’1(A1h-A4l1-A2l2)+θ’12(A2h–A3l1–A1l2)-2θ’1(A4l’1+A2l’2)
解(37)式得:
l’’1=(E3sin(θ1+)-F3cos(θ1+))/D8
l’’2=(F3cosθ1–E3sinθ1)/D8(38)
P3、P4点的加速度为对式(36)求导得:
x’’3=x’’1+A4l’’1-A3l1θ’’1-2A3l’1θ’1–A4l1θ’12
y’’3=y’’1+A3l’’1+A4l1θ’’1+2A4l’1θ’1–A3l1θ’12
x’’4=x’’2+A2hθ’’1–A1hθ’12
y’’4=y’’2+A1hθ’’1+A2hθ’12(39)
由上述式子可设计出RPP杆组运动分析子程序(见程序单)。
/*机械原理平面机构运动分析子程序*/
/*(含单杆,RRR,RRP,RPR,PRP,RPP杆组)*/
#definePI3.1415926
#include
#include
doublel,l1,l2,lv1,lv2,la1,la2,r,af,ct,cv,ca,ct1,cv1,ca1,ct2,cv2,ca2;
doubleu,v,u1,v1,u2,v2,x1,y11,xv1,yv1,xa1,ya1,x2,y2,xv2,yv2,xa2,ya2;
doublex3,y3,xv3,yv3,xa3,ya3,x4,y4,xv4,yv4,xa4,ya4,a1,a2,a3,a4,a5,a6,a7,a8;
doublec,d,d7,d8,dt,e,e1,e2,e3,f,f1,f2,f3,g,h,h1,h2,i1,k,k1,k2,n,n7,w;
intm;
/*各公共子程序*/
/*单杆运动分析子程序*/
voidSSL()
{
x2=x1+l*cos(ct);
y2=y11+l*sin(ct);
x3=x1+r*cos(ct+af);
y3=y11+r*cos(ct+af);
xv2=xv1-l*sin(ct)*cv;
yv2=yv1+l*cos(ct)*cv;
xa2=xa1-l*sin(ct)*ca-l*cos(ct)*cv*cv;
ya2=ya1+l*cos(ct)*ca-l*sin(ct)*cv*cv;
xv3=xv1-(y3-y1)*cv;
yv3=yv1+(x3-x1)*cv;
xa3=xa1-(y3-y11)*ca-(x3-x1)*cv*cv;
ya3=ya1+(x3-x1)*ca-(y3-y11)*cv*cv;
}
/*RRR杆组运动分析子程序*/
voidRRR()
{
u=x2-x1;
v=y2-y11;
u1=xv2-xv1;
v1=yv2-yv1;
u2=xa2-xa1;
v2=ya2-ya1;
c=(u*u+v*v+l2*l2–l1*l1)/2/l2;
k=v*v+u*u-c*c;
if(k<0)
Cout<<("DYDACANNOTBEASSEMBLED\n");
else
{n7=v+m*sqrt(k);
d7=u–c;
ct2=2*atan(n7/d7);
if(d7<0&&n7>0)ct2+=2*PI;
elseif(d7<0&&n7<0)ct2-=2*PI;
{n=v+l2*sin(ct2);
d=u+l2*cos(ct2);
ct1=atan(n/d);
}
if(d<0&&n>0)ct1+=PI;
elseif(d<0&&n<0)ct1-=PI;
a1=-l1*sin(ct1);
a2=l1*cos(ct1);
a3=l2*sin(ct2);
a4=-l2*cos(ct2);
d=a1*a4-a2*a3;
if(fabs(d)<1e-9)
cout<<("DYADISINUNCERTAINTY\n");
else
{cv1=(a4*u1-a3*v1)/d;
cv2=(a1*v1-a2*u1)/d;
e=u2+a2*cv1*cv1+a4*cv2*cv2;
f=v2-a1*cv1*cv1-a3*cv2*cv2;
ca1=(a4*e-a3*f)/d;
ca2=(a1*f-a2*e)/d;
}
}
}
/*RRP杆组运动分析子程序*/
voidRRP()
{
u=x2-x1;
v=y2-y11;
u1=xv2-xv1;
v1=yv2-yv1;
u2=xa2-xa1;
v2=ya2-ya1;
k1=l1*l1-pow((u*sin(ct2)-v*cos(ct2)),2);
if(k1<0)
cout<<("DYADCANNOTBEASSEMBLED\n");
else
{k2=u*cos(ct2)+v*sin(ct2);
l2=-k2+m*sqrt(k1);
n=v+l2*sin(ct2);
d=u+l2*cos(ct2);
ct1=atan(n/d);
if(d<0&&n>0)ct1+=PI;
elseif(d<0&&n<0)ct1-=PI;
a1=-l1*sin(ct1);
a2=l1*cos(ct1);
a5=-cos(ct2);
a6=-sin(ct2);
g=u1+l2*a6*cv2;
h=v1–l2*a5*cv2;
d8=a1*a6-a2*a5;
If(fabs(d8)<=1e-9)
cout<<("DYADISINUNCERTAINTY\n");
else
{cv1=(a6*g-a5*h)/d8;
lv2=(a1*h-a2*g)/d8;
e1=u2+a2*cv1*cv1+2*a6*lv2*cv2+l2*a5*cv2*cv2+l2*a6*ca2;
f1=v2-a1*cv1*cv1-2*a5*lv2*cv2+l2*a6*cv2*cv2–l2*a5*ca2;
ca1=(a6*e1-a5*f1)/d8;
la2=(a1*f1-a2*e1)/d8;
}
}
}
/*RPR杆组运动分析子程序*/
VoidRPR()
{
u=x2-x1;
v=y2-y11;
u1=xv2-xv1;
v1=yv2-yv1;
u2=xa2-xa1;
v2=ya2-ya1;
i1=u*u+v*v-(l1-w)*(l1-w);
if(i1<0)
cout<<("DYADCANNOTBEASSEMBLED\n");
else
{l2=sqrt(i1);
n=v+m*(l1-w);
d=u–l2;
ct2=2*atan(n/d);
if(d<0&&n>0