机 构 运 动 分 析 基 本 杆 组 法程序设计

机械原理实验报告

实验名称 班 级 学 号 姓 名 日 期 成 绩 指导教师

(签字)

机 构 运 动 分 析 基 本 杆 组 法

程序编写说明

机构运动分析的方法很多,主要有图解法和解析法。 图解法最为基本,简单明了,易于观察各部分间运动的相互关系、大小、方向,缺点是不精确,对于复杂运动关系分析起来较为困难,另外对于多个位置要重复作图,很麻烦;解析法精确可靠,对于一个确定的机构可列写出最终表达式,当原动件角度变化时可直接得出结果,但缺点是解析式的求解很麻烦,易出错,对于每个机构都要单独列写表达式,通用性较差。所以,能否找到一种既为精确又具有通用性的分析方法呢?对于平面机构,采用“基于C++编程的基本杆组分析法”。

基于C++编程的解析法采用杆组分析的方法,设计通用的Ⅱ级杆组子程序,可对一般的Ⅱ级机构进行运动分析。指导书中给出了6种分析基本杆组的子程序,对于确定的机构,给出初始条件,然后调用相应的子程序即可得到结果,大大简化了工作量。以下是几种基本杆组分析的图解:

单杆运动分析 RRR 杆组运动分析 RRP 杆组运动分析

RPR 杆组运动分析 PRP 杆组运动分析 RPP 杆组运动分析

编程过程中变量较多易出现错误,因而要求我们在编程过程中务必做到认真细心,完全掌握解析机构运动的方法,准确分析构件的杆组组成,确定坐标点。本次上机不仅仅加深了我们对于机械构件运动的理解,还提供机会让我们第一次使用C++编程的方法解决实际问题,使得大家对于C++有了更为深入的理解。

例3-1 图示平面四杆机构中,已知各构件尺寸:lAB=24mm,lAD=78mm,lCD=48mm,Ƴ=100 º, 并知原动件角速度为10rad/s沿逆时针方向回转。试求转角为60 º时构件2和3的角速度和角加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */ #include

#include /* 输入输出头文件 */ #include using namespace std;

void main() /* 主程序 */

{ofstream outfile("1.txt", ios_base::out); if (!outfile)

{cerr

double d1=0.024, d3=0.048, xa=0,ya=0, xd=0.078, yd=0; double dv=10, da=0, df=0, c1=0; int i,n;

cout

cout

cout

cout

cout

cout

cout>df>>n; df *= PI/180; c1 *= PI/180; cout

cout

cout

for ( i=1; i

{ cout

outfile

输出结果:

例3-6 图3-12所示为牛头刨床的机构运动简图。设已知各构件的尺寸为:l1=125mm,l3=600mm,l4=150mm,原动件1的方位角θ1=0-360和等角速度w1=1rad/s。求出该机构中各从动件的方位角、角速度和角加速度以及E 点的位移、速度和加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */ #include /* 输入输出头文件 */ void main() /* 主程序 */ {

double d1=0.125,d3=0.6,d4=0.15,xa=0,ya=0,xc=0,yc=-0.275,xg=0,yg=0.3; double dv=1,da=0,df=0,c1=0; int i,n; cout

cout

cout

cout

cout

cout

cout>df>>n;

df *= PI/180; c1 *= PI/180; kp=1; cout

cout

cout

cout

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0; SSL();

l1=w=m=0;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2; x2=xc;y2=yc;xv2=0;yv2=0;xa2=0;ya2=0; RPR();

l=r=d3;af=0;ct=ct2;cv=cv2;ca=ca2;

x1=xc;y11=yc;xv1=0;yv1=0;xa1=0;ya1=0; SSL();

if ( ct2

cout

l1=d4;m=-1;

ct2=0;cv2=ca2=0;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2; x2=xg;y2=yg;xv2=0;yv2=0;xa2=0;ya2=0; RRP();

if ( ct1

cout

cout>df; }

输出结果:

3-6图示四杆机构中,lAB=60mm,lCD=90mm,lAD=lBC=120mm,w2=10rad/s.试用瞬心法求: (1)当φ=165°时,C 点的速度Vc.

(2)当φ=165°时,构件三的BC 线上(或其延长线上)速度最小的E 点的位置及其速度的大小。

(3)当Vc=0时,φ角之值。(有两个解)

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */ #include /* 输入输出头文件 */ void main() /* 主程序 */ {

double d2=0.06,d3=0.12,d4=0.09,xa=0,ya=0,xd=0.12,yd=0;

double dv=10,da=0,c1=0;

kp=1;

cout

cout

cout

cout

cout

cout

cout

l2="

cv="

cout

cin>>c1;

c1 *= PI/180;

cout

cout

cout

cout

af=0;l=r=d2;ct=c1;cv=dv;ca=da;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

m=1;l1=d3;l2=d4;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

x2=xd;y2=yd;xv2=0;yv2=0;xa2=0;ya2=0;

RRR();

af=0;l=r=d4;ct=ct2;cv=cv2;ca=ca2;

x1=xd;y11=yd;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

if ( ct2

ct2 *= 180/PI;

cout

cout

cout

cout

cout

cin>>CT;

}

输出结果:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d2=0.06,d3=0.12,d4=0.09,xa=0,ya=0,xd=0.12,yd=0;

double dv=10,da=0,c1=0;

kp=1;

cout

cout

cout

cout

cout

l2="

cv="

cout

cin>>c1;

c1 *= PI/180;

cout

cout

cout

cout

af=0;l=r=d2;ct=c1;cv=dv;ca=da;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

m=1;l1=d3;l2=d4;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

x2=xd;y2=yd;xv2=0;yv2=0;xa2=0;ya2=0;

RRR();

af=0;l=r=0.189;ct=ct1;cv=cv1;ca=ca1;

SSL();

if ( ct1

ct1 *= 180/PI;

cout

cout

cout

cout

cout

cin>>CT;

}

输出结果:

3-14.图示曲柄滑块机构中,已知lAB=30mm,lAC=100mm,lBD=50mm,lDE=40mm,曲柄以等角速度w1=10rad/s回转。试确定Ψ1=45º 时,D 点和E 点的速度和加速度,以及构件2的角速度和角加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d1=0.03,d4=0.1,xa=0,ya=0;

double dv=-10,da=0,c1=0;

kp=1;

cout

cout

cout

cout

cout

cout

cout

cout

cout

cin>>c1;

c1 *= PI/180;

cout

cout

cout

cout

l=r=d1;af=0;ct=c1;cv=dv;ca=da;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

l1=w=m=0;

x1=-d4;y11=0;xv1=0;yv1=0;xa1=0;ya1=0;

RPR();

l=0.05;r=sqrt(0.05*0.05+0.04*0.04);af=atan(0.04/0.05);

ct=ct2;cv=cv2;ca=ca2;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

SSL();

if ( ct2

ct2 *= 180/PI;

cout

cout

cout

cout

cout

cout

cout

cin>>c1;

}

输出结果:

3-15. 图示机构中,lAE=70mm,lAB=40mm,lEF=60mm,lDE=35mm,lCD=75mm,lBC=50mm,原动

件以等角速度w1=10rad/s回转。试确定当 Ψ1=50º 时,C 点的速度和加速度。

基本杆组:

主程序:

#include"机构运动分析子程序.h" /* 运动分析子程序 */

#include

#include /* 输入输出头文件 */

#include

using namespace std;

void main()

{

ofstream outfile("1.txt", ios_base::out);

if (!outfile)

{

cerr

exit(-1);}

double

d1=0.04,d2=0.06,d3=0.035,d4=0.075,d5=0.05,xa=0,ya=0,xe=0.07,ye=0,xx=0,yy=0,xxv=0,xxa=0,yyv=0,yya=0;

double dt=50,dv=10,da=0;

cout

cout

cout

cout

cout

"

cout

dt=(PI/180)*dt;

kp=1;

l1=d2;m=1;

x1=xe;xv1=0;xa1=0;y11=0;yv1=0;ya1=0;

x2=xa;xv2=0;xa2=0;y2=0;yv2=0;ya2=0;

ct2=dt;cv2=dv;ca2=da;

RRP();

l=r=d3;af=0;ct=ct1+PI;cv=cv1;ca=ca1;

x1=xe;xv1=0;xa2=0;y11=0;yv1=0;ya2=0;

SSL();

xx=x2;xxv=xv2;xxa=xa2;yy=y2;yyv=yv2;yya=ya2;

l=r=d1;af=0;ct=dt+PI;cv=dv;ca=da;

x1=xa;xv1=0;xa2=0;y11=ya;yv1=0;ya2=0;

SSL();

l1=d5;l2=d4;m=1;

x1=x2;xv1=xv2;xa1=xa2;y11=y2;yv1=yv2;ya1=ya2;

x2=xx;xv2=xxv;xa2=xxa;y2=yy;yv2=yyv;ya2=yya;

RRR();

l=r=d4;

af=0;ct=ct2;cv=cv2;ca=ca2;

x1=x2;xv1=xv2;xa1=xa2;y11=y2;yv1=yv2;ya1=ya2;

SSL();

cout

cout

outfile

cout

outfile

cout

outfile

}

输出结果:

3-16. 图示凸轮机构中,已知凸轮1以等角速度w1=10rad/s转动,凸轮为一偏心圆,其半径R=25mm,lAB=15mm,lAD=50mm,Ψ1=90º。试求构件2的角速度和角加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d1=15,d2=25,d4=50,xa=0,ya=0,xd=-50,yd=0;

double w1=10,c1=0;

int w2,af2;

cout

cout

cout

cout

cout

cout

cout

cout

cin>>c1;

c1 *= PI/180; kp=1;

cout

cout

l=r=d1;af=0;ct=c1;cv=w1;ca=0;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

l1=d2;

w=0;

m=-1;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

x2=xd;y2=yd;xv2=0;yv2=0;xa2=0;ya2=0;

RPR();

cout

cout

cout

}

输出结果:

3-25. 图示机构中,已知原动件1以等角速度w1=10rad/s逆时针方向转动,lAB=100mm,lBC=300mm,e=30mm.当Ψ1=60º时,求构件2的转角、角速度和角加速度,构件3速度和加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d1=45,d2=225,d3=180,xa=0,ya=0;

double dv=10,da=0,c1=0;

kp=1;

cout

cout

cout

cout

cout

cout

cout

l1="

cout

cout

cin>>c1;

c1 *= PI/180;

cout

cout

cout

cout

af=0;l=r=d1;ct=c1;cv=dv;ca=da;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

m=1;l1=d2;ct2=0;cv2=0;ca2=0;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

x2=0;y2=0;xv2=0;yv2=0;xa2=0;ya2=0;

RRP();

af=30*PI/180;l=d2;r=d3;ct=ct1;cv=cv1;ca=ca1;

SSL();

if ( ct

ct *= 180/PI;

cout

cout

cout

cout

cout

}

输出结果:

3-26. 图示摆动导杆机构中,已知曲柄AB 以等角速度w1=10rad/s转动,

lAB=100mm,lAC=200mm,lCK=40mm.当Ψ1=30º时,求构件3的角速度和角加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d1=100,d2=200,d3=40,xa=0,ya=0,xc=0,yc=-200;

double w1=10,c1=0;

int w2,af2;

cout

cout

cout

cout

cout

cout

cout

cout

cin>>c1;

c1 *= PI/180; kp=1;

cout

cout

l=r=d1;af=0;ct=c1;cv=w1;ca=0;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0; SSL();

l1=0;

w=d3;

m=0;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2; x2=xc;y2=yc;xv2=0;yv2=0;xa2=0;ya2=0; RPR();

cout

cout

cout

}

输出结果:

机械原理实验报告

实验名称 班 级 学 号 姓 名 日 期 成 绩 指导教师

(签字)

机 构 运 动 分 析 基 本 杆 组 法

程序编写说明

机构运动分析的方法很多,主要有图解法和解析法。 图解法最为基本,简单明了,易于观察各部分间运动的相互关系、大小、方向,缺点是不精确,对于复杂运动关系分析起来较为困难,另外对于多个位置要重复作图,很麻烦;解析法精确可靠,对于一个确定的机构可列写出最终表达式,当原动件角度变化时可直接得出结果,但缺点是解析式的求解很麻烦,易出错,对于每个机构都要单独列写表达式,通用性较差。所以,能否找到一种既为精确又具有通用性的分析方法呢?对于平面机构,采用“基于C++编程的基本杆组分析法”。

基于C++编程的解析法采用杆组分析的方法,设计通用的Ⅱ级杆组子程序,可对一般的Ⅱ级机构进行运动分析。指导书中给出了6种分析基本杆组的子程序,对于确定的机构,给出初始条件,然后调用相应的子程序即可得到结果,大大简化了工作量。以下是几种基本杆组分析的图解:

单杆运动分析 RRR 杆组运动分析 RRP 杆组运动分析

RPR 杆组运动分析 PRP 杆组运动分析 RPP 杆组运动分析

编程过程中变量较多易出现错误,因而要求我们在编程过程中务必做到认真细心,完全掌握解析机构运动的方法,准确分析构件的杆组组成,确定坐标点。本次上机不仅仅加深了我们对于机械构件运动的理解,还提供机会让我们第一次使用C++编程的方法解决实际问题,使得大家对于C++有了更为深入的理解。

例3-1 图示平面四杆机构中,已知各构件尺寸:lAB=24mm,lAD=78mm,lCD=48mm,Ƴ=100 º, 并知原动件角速度为10rad/s沿逆时针方向回转。试求转角为60 º时构件2和3的角速度和角加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */ #include

#include /* 输入输出头文件 */ #include using namespace std;

void main() /* 主程序 */

{ofstream outfile("1.txt", ios_base::out); if (!outfile)

{cerr

double d1=0.024, d3=0.048, xa=0,ya=0, xd=0.078, yd=0; double dv=10, da=0, df=0, c1=0; int i,n;

cout

cout

cout

cout

cout

cout

cout>df>>n; df *= PI/180; c1 *= PI/180; cout

cout

cout

for ( i=1; i

{ cout

outfile

输出结果:

例3-6 图3-12所示为牛头刨床的机构运动简图。设已知各构件的尺寸为:l1=125mm,l3=600mm,l4=150mm,原动件1的方位角θ1=0-360和等角速度w1=1rad/s。求出该机构中各从动件的方位角、角速度和角加速度以及E 点的位移、速度和加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */ #include /* 输入输出头文件 */ void main() /* 主程序 */ {

double d1=0.125,d3=0.6,d4=0.15,xa=0,ya=0,xc=0,yc=-0.275,xg=0,yg=0.3; double dv=1,da=0,df=0,c1=0; int i,n; cout

cout

cout

cout

cout

cout

cout>df>>n;

df *= PI/180; c1 *= PI/180; kp=1; cout

cout

cout

cout

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0; SSL();

l1=w=m=0;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2; x2=xc;y2=yc;xv2=0;yv2=0;xa2=0;ya2=0; RPR();

l=r=d3;af=0;ct=ct2;cv=cv2;ca=ca2;

x1=xc;y11=yc;xv1=0;yv1=0;xa1=0;ya1=0; SSL();

if ( ct2

cout

l1=d4;m=-1;

ct2=0;cv2=ca2=0;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2; x2=xg;y2=yg;xv2=0;yv2=0;xa2=0;ya2=0; RRP();

if ( ct1

cout

cout>df; }

输出结果:

3-6图示四杆机构中,lAB=60mm,lCD=90mm,lAD=lBC=120mm,w2=10rad/s.试用瞬心法求: (1)当φ=165°时,C 点的速度Vc.

(2)当φ=165°时,构件三的BC 线上(或其延长线上)速度最小的E 点的位置及其速度的大小。

(3)当Vc=0时,φ角之值。(有两个解)

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */ #include /* 输入输出头文件 */ void main() /* 主程序 */ {

double d2=0.06,d3=0.12,d4=0.09,xa=0,ya=0,xd=0.12,yd=0;

double dv=10,da=0,c1=0;

kp=1;

cout

cout

cout

cout

cout

cout

cout

l2="

cv="

cout

cin>>c1;

c1 *= PI/180;

cout

cout

cout

cout

af=0;l=r=d2;ct=c1;cv=dv;ca=da;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

m=1;l1=d3;l2=d4;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

x2=xd;y2=yd;xv2=0;yv2=0;xa2=0;ya2=0;

RRR();

af=0;l=r=d4;ct=ct2;cv=cv2;ca=ca2;

x1=xd;y11=yd;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

if ( ct2

ct2 *= 180/PI;

cout

cout

cout

cout

cout

cin>>CT;

}

输出结果:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d2=0.06,d3=0.12,d4=0.09,xa=0,ya=0,xd=0.12,yd=0;

double dv=10,da=0,c1=0;

kp=1;

cout

cout

cout

cout

cout

l2="

cv="

cout

cin>>c1;

c1 *= PI/180;

cout

cout

cout

cout

af=0;l=r=d2;ct=c1;cv=dv;ca=da;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

m=1;l1=d3;l2=d4;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

x2=xd;y2=yd;xv2=0;yv2=0;xa2=0;ya2=0;

RRR();

af=0;l=r=0.189;ct=ct1;cv=cv1;ca=ca1;

SSL();

if ( ct1

ct1 *= 180/PI;

cout

cout

cout

cout

cout

cin>>CT;

}

输出结果:

3-14.图示曲柄滑块机构中,已知lAB=30mm,lAC=100mm,lBD=50mm,lDE=40mm,曲柄以等角速度w1=10rad/s回转。试确定Ψ1=45º 时,D 点和E 点的速度和加速度,以及构件2的角速度和角加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d1=0.03,d4=0.1,xa=0,ya=0;

double dv=-10,da=0,c1=0;

kp=1;

cout

cout

cout

cout

cout

cout

cout

cout

cout

cin>>c1;

c1 *= PI/180;

cout

cout

cout

cout

l=r=d1;af=0;ct=c1;cv=dv;ca=da;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

l1=w=m=0;

x1=-d4;y11=0;xv1=0;yv1=0;xa1=0;ya1=0;

RPR();

l=0.05;r=sqrt(0.05*0.05+0.04*0.04);af=atan(0.04/0.05);

ct=ct2;cv=cv2;ca=ca2;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

SSL();

if ( ct2

ct2 *= 180/PI;

cout

cout

cout

cout

cout

cout

cout

cin>>c1;

}

输出结果:

3-15. 图示机构中,lAE=70mm,lAB=40mm,lEF=60mm,lDE=35mm,lCD=75mm,lBC=50mm,原动

件以等角速度w1=10rad/s回转。试确定当 Ψ1=50º 时,C 点的速度和加速度。

基本杆组:

主程序:

#include"机构运动分析子程序.h" /* 运动分析子程序 */

#include

#include /* 输入输出头文件 */

#include

using namespace std;

void main()

{

ofstream outfile("1.txt", ios_base::out);

if (!outfile)

{

cerr

exit(-1);}

double

d1=0.04,d2=0.06,d3=0.035,d4=0.075,d5=0.05,xa=0,ya=0,xe=0.07,ye=0,xx=0,yy=0,xxv=0,xxa=0,yyv=0,yya=0;

double dt=50,dv=10,da=0;

cout

cout

cout

cout

cout

"

cout

dt=(PI/180)*dt;

kp=1;

l1=d2;m=1;

x1=xe;xv1=0;xa1=0;y11=0;yv1=0;ya1=0;

x2=xa;xv2=0;xa2=0;y2=0;yv2=0;ya2=0;

ct2=dt;cv2=dv;ca2=da;

RRP();

l=r=d3;af=0;ct=ct1+PI;cv=cv1;ca=ca1;

x1=xe;xv1=0;xa2=0;y11=0;yv1=0;ya2=0;

SSL();

xx=x2;xxv=xv2;xxa=xa2;yy=y2;yyv=yv2;yya=ya2;

l=r=d1;af=0;ct=dt+PI;cv=dv;ca=da;

x1=xa;xv1=0;xa2=0;y11=ya;yv1=0;ya2=0;

SSL();

l1=d5;l2=d4;m=1;

x1=x2;xv1=xv2;xa1=xa2;y11=y2;yv1=yv2;ya1=ya2;

x2=xx;xv2=xxv;xa2=xxa;y2=yy;yv2=yyv;ya2=yya;

RRR();

l=r=d4;

af=0;ct=ct2;cv=cv2;ca=ca2;

x1=x2;xv1=xv2;xa1=xa2;y11=y2;yv1=yv2;ya1=ya2;

SSL();

cout

cout

outfile

cout

outfile

cout

outfile

}

输出结果:

3-16. 图示凸轮机构中,已知凸轮1以等角速度w1=10rad/s转动,凸轮为一偏心圆,其半径R=25mm,lAB=15mm,lAD=50mm,Ψ1=90º。试求构件2的角速度和角加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d1=15,d2=25,d4=50,xa=0,ya=0,xd=-50,yd=0;

double w1=10,c1=0;

int w2,af2;

cout

cout

cout

cout

cout

cout

cout

cout

cin>>c1;

c1 *= PI/180; kp=1;

cout

cout

l=r=d1;af=0;ct=c1;cv=w1;ca=0;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

l1=d2;

w=0;

m=-1;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

x2=xd;y2=yd;xv2=0;yv2=0;xa2=0;ya2=0;

RPR();

cout

cout

cout

}

输出结果:

3-25. 图示机构中,已知原动件1以等角速度w1=10rad/s逆时针方向转动,lAB=100mm,lBC=300mm,e=30mm.当Ψ1=60º时,求构件2的转角、角速度和角加速度,构件3速度和加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d1=45,d2=225,d3=180,xa=0,ya=0;

double dv=10,da=0,c1=0;

kp=1;

cout

cout

cout

cout

cout

cout

cout

l1="

cout

cout

cin>>c1;

c1 *= PI/180;

cout

cout

cout

cout

af=0;l=r=d1;ct=c1;cv=dv;ca=da;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0;

SSL();

m=1;l1=d2;ct2=0;cv2=0;ca2=0;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2;

x2=0;y2=0;xv2=0;yv2=0;xa2=0;ya2=0;

RRP();

af=30*PI/180;l=d2;r=d3;ct=ct1;cv=cv1;ca=ca1;

SSL();

if ( ct

ct *= 180/PI;

cout

cout

cout

cout

cout

}

输出结果:

3-26. 图示摆动导杆机构中,已知曲柄AB 以等角速度w1=10rad/s转动,

lAB=100mm,lAC=200mm,lCK=40mm.当Ψ1=30º时,求构件3的角速度和角加速度。

基本杆组:

主程序:

#include "机构运动分析子程序.h" /* 运动分析子程序 */

#include /* 输入输出头文件 */

void main() /* 主程序 */

{

double d1=100,d2=200,d3=40,xa=0,ya=0,xc=0,yc=-200;

double w1=10,c1=0;

int w2,af2;

cout

cout

cout

cout

cout

cout

cout

cout

cin>>c1;

c1 *= PI/180; kp=1;

cout

cout

l=r=d1;af=0;ct=c1;cv=w1;ca=0;

x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0; SSL();

l1=0;

w=d3;

m=0;

x1=x2;y11=y2;xv1=xv2;yv1=yv2;xa1=xa2;ya1=ya2; x2=xc;y2=yc;xv2=0;yv2=0;xa2=0;ya2=0; RPR();

cout

cout

cout

}

输出结果:


相关内容

  • 最优化方法
  • 中北大学 实验报告 课 程 名: 最优化方法 任课教师: 李卉 专 业: 信息与计算科学 学 号: 姓 名: 杨晓帅 2015/2016学年 第2学期 中北大学 理学院 一.实验内容及基本要求 实验项目名称:黄金分割法程序设计 实验类型:设计型 每组人数:1 实验内容及要求: 内容:能够应用MATL ...

  • 浅论如何加强安全执法队伍建设
  • 浅论何如强加全安法队伍执设 建 孝刘 军黑 河爱辉市 区安生全产督管监局 理1 6 43 0 0 [要摘] 随着我 经国济的速飞发展 ,我国现 在 经已步 入 面全 设建康 上学小历的只 占6 1.7 2 %, 完全无 适法应 安全执法工 的作实际需 .求 与此 同社会 的 阶段, 解 决 温 饱问 ...

  • 有限元程序设计教学大纲
  • <有限元程序设计>教学大纲 课程编码:08241019 课程名称:有限元程序设计 英文名称:Program Design of Finite Element 开课学期:第7学期 学时/学分: 40/2(其中实验学时:20 ) 课程类型:专业必修课 开课专业:机械科学与工程学院 工程力学专 ...

  • 段太尉逸事状练习
  • <段太尉逸事状>同步练习 柳宗元是唐代___ ____家,唐代___ ____运动的倡导者,唐宋八大家之 一. 柳宗元与_____ __齐名,并称"韩.柳" . 二.正音 泾( )州 汾( )阳王 邠( )州 蒲( ) 椎( ) ..... 恬( )然 槊( )上 恣 ...

  • 邶阅读答案
  • 诗集传序(节选) [宋]朱熹 曰:"然则其所以教者,何也?" 曰:"诗者,人心之感物而形于言之余也.心之所感有邪正,故言之所行有是非.惟圣人在上,则其所感者无不正,而其言皆足以为教.其或感之之杂,而所发不能无可择者,则上之人必思所以自反,而因有以劝惩之,是亦所以为教也. ...

  • 清代理学的特点
  • 清代理学沿承宋.元.明,但有着自己的特点. 一.无主峰可指,无大脉络可寻 关于清代理学,钱穆在<序>中曾说:"至论清儒,其情势又与宋.明不同:宋.明学术易寻其脉络筋节,而清学之脉络筋节则难寻.清学之脉络筋节之易寻者在汉学考据,而不在宋学义理."又说:"清儒理 ...

  • 二叉树深度的递归算法
  • 维普资讯 http://www.cqvip.com 20 0 5年 1 1月 吉林 师 范大学 学报 ( 自然 科学版 ) No 4 . 第 4期 Jun l f inN r l i ri N trl c neE io ) o ra l oma Unv s y( aua S i c dt n o J ...

  • 上海市2010年度全国一级建造师
  • 上海市0102度全国一级建造年师tx.老t公果你如能在活只一天我愿用,我的生命延来你续的生,你要快乐的生活在命提分出的时候请不手要说还我.爱 本 文由傲叶寒贡霜献 doc文档可在能WP端A浏览体验不佳.议您建优选择先TT,或X下源文件到载本机查看 .海上 市2100 年全国度一级造建 师业执格考试资 ...

  • 一般违法与严重违法的区别与联系
  • 轻重程度 行为种类 民事违法 定义 指违反民事法 律法规行为 指违反行政管 理法律法规的 行为 危害性 情节较轻微, 对社会的危 害性较小 责任 民事 责任 行政 制裁 严重违法 指 违 反 刑 事 法 情节恶劣,严 刑事 行 为 刑事违法 律法规的行为 重危害社会 责任 (犯罪) 一般违法行为与严 ...