机 构 运 动 分 析 基 本 杆 组 法程序设计.docx
- 文档编号:28497128
- 上传时间:2023-07-15
- 格式:DOCX
- 页数:16
- 大小:17.23KB
机 构 运 动 分 析 基 本 杆 组 法程序设计.docx
《机 构 运 动 分 析 基 本 杆 组 法程序设计.docx》由会员分享,可在线阅读,更多相关《机 构 运 动 分 析 基 本 杆 组 法程序设计.docx(16页珍藏版)》请在冰豆网上搜索。
机构运动分析基本杆组法程序设计
机构运动分析基本杆组法程序设计
机械原理实验报告
实验名称班级学号姓名日期成绩指导教师
(签字)
机构运动分析基本杆组法
程序编写说明
机构运动分析的方法很多,主要有图解法和解析法。
图解法最为基本,简单明了,易于观察各部分间运动的相互关系、大小、方向,缺点是不精确,对于复杂运动关系分析起来较为困难,另外对于多个位置要重复作图,很麻烦;解析法精确可靠,对于一个确定的机构可列写出最终表达式,当原动件角度变化时可直接得出结果,但缺点是解析式的求解很麻烦,易出错,对于每个机构都要单独列写表达式,通用性较差。
所以,能否找到一种既为精确又具有通用性的分析方法呢?
对于平面机构,采用“基于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/*输入输出头文件*/#includeusingnamespacestd;
voidmain()/*主程序*/
{ofstreamoutfile("1.txt",ios_base:
:
out);if(!
outfile)
{cerr
doubled1=0.024,d3=0.048,xa=0,ya=0,xd=0.078,yd=0;doubledv=10,da=0,df=0,c1=0;inti,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/*输入输出头文件*/voidmain()/*主程序*/{
doubled1=0.125,d3=0.6,d4=0.15,xa=0,ya=0,xc=0,yc=-0.275,xg=0,yg=0.3;doubledv=1,da=0,df=0,c1=0;inti,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/*输入输出头文件*/voidmain()/*主程序*/{
doubled2=0.06,d3=0.12,d4=0.09,xa=0,ya=0,xd=0.12,yd=0;
doubledv=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/*输入输出头文件*/
voidmain()/*主程序*/
{
doubled2=0.06,d3=0.12,d4=0.09,xa=0,ya=0,xd=0.12,yd=0;
doubledv=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/*输入输出头文件*/
voidmain()/*主程序*/
{
doubled1=0.03,d4=0.1,xa=0,ya=0;
doubledv=-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
usingnamespacestd;
voidmain()
{
ofstreamoutfile("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;
doubledt=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/*输入输出头文件*/
voidmain()/*主程序*/
{
doubled1=15,d2=25,d4=50,xa=0,ya=0,xd=-50,yd=0;
doublew1=10,c1=0;
intw2,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/*输入输出头文件*/
voidmain()/*主程序*/
{
doubled1=45,d2=225,d3=180,xa=0,ya=0;
doubledv=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/*输入输出头文件*/
voidmain()/*主程序*/
{
doubled1=100,d2=200,d3=40,xa=0,ya=0,xc=0,yc=-200;
doublew1=10,c1=0;
intw2,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
}
输出结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 法程序设计 程序设计