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

上传人:最**** 文档编号:115574015 上传时间:2019-11-14 格式:DOC 页数:24 大小:891KB
返回 下载 相关 举报
机 构 运 动 分 析 基 本 杆 组 法程序设计综述_第1页
第1页 / 共24页
机 构 运 动 分 析 基 本 杆 组 法程序设计综述_第2页
第2页 / 共24页
机 构 运 动 分 析 基 本 杆 组 法程序设计综述_第3页
第3页 / 共24页
机 构 运 动 分 析 基 本 杆 组 法程序设计综述_第4页
第4页 / 共24页
机 构 运 动 分 析 基 本 杆 组 法程序设计综述_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《机 构 运 动 分 析 基 本 杆 组 法程序设计综述》由会员分享,可在线阅读,更多相关《机 构 运 动 分 析 基 本 杆 组 法程序设计综述(24页珍藏版)》请在金锄头文库上搜索。

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

2、基本杆组分析法”。基于C+编程的解析法采用杆组分析的方法,设计通用的级杆组子程序,可对一般的级机构进行运动分析。指导书中给出了6种分析基本杆组的子程序,对于确定的机构,给出初始条件,然后调用相应的子程序即可得到结果,大大简化了工作量。以下是几种基本杆组分析的图解: 单杆运动分析 RRR杆组运动分析 RRP杆组运动分析RPR杆组运动分析 PRP杆组运动分析 RPP杆组运动分析 编程过程中变量较多易出现错误,因而要求我们在编程过程中务必做到认真细心,完全掌握解析机构运动的方法,准确分析构件的杆组组成,确定坐标点。本次上机不仅仅加深了我们对于机械构件运动的理解,还提供机会让我们第一次使用C+编程的方

3、法解决实际问题,使得大家对于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 (!o

4、utfile) cerrerror: can not open 1.txt for outputn; exit(-1); 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; coutn; cout例题3-1n; cout包含RPR和SLL杆组n; coutProgrammer 曹旭n; coutn; cout输入数据: n; coutl1=d1,l3=d3n; cout xa=xa, ya=ya, xd=xd, yd=ydn; coutn; coutdfn;

5、 df *= PI/180; c1 *= PI/180; coutn; cout计算结果: n; outfile计算结果: n; cout -#- n; kp=1; for ( i=1; i=n; i+ ) if(i=7) cout CTi-6=floor(c1*180/PI*10+0.5)/10) n; outfile CTi-6=floor(c1*180/PI*10+0.5)/10) n; l=r=d1;af=0;ct=c1;cv=dv;ca=0; x1=xa;y11=ya;xv1=0;yv1=0;xa1=0;ya1=0; SSL(); l1=d3*sin(80*PI/180);m=-1;

6、w=0; x1=xd;y11=yd;xv1=0;yv1=0;xa1=0;ya1=0; x2=x2;y2=y2;xv2=xv2;yv2=yv2;xa2=xa2;ya2=ya2; RPR(); cout构件2的角速度:cv1 构件2的角加速度:ca2endl; cout构件3的角速度:cv2 构件3的角加速度:ca2endl; cout -#- n; outfile构件2的角速度:cv1 构件2的角加速度:ca2endl; outfile构件3的角速度:cv2 构件3的角加速度:ca2endl; outfile -#- n; c1 += df; 输出结果:例3-6 图3-12所示为牛头刨床的机构运

7、动简图。设已知各构件的尺寸为: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,

8、n; coutn; coutProgrammer 曹旭n; cout例题3-6 牛头刨床六杆机构的运动分析n; cout (具有RPR和RRP杆组)n; coutn; cout 输入数据: n; cout l1=d1,l3=d3,l4=d4,l6=fabs(yc)n; cout xa=xa, ya=ya, xc=xc, yc=ycn; cout xg=xg, yg=ygn; coutn; coutdfn; df *= PI/180; c1 *= PI/180; kp=1; coutn; cout 计算结果: n; cout -#- n; for (i=1;i=n;i+) cout CT(i)=

9、floor(c1*180/PI*10+0.5)/10)n; 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=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 0 ) ct

10、2 += 2*PI; ct2 *= 180/PI; cout CT3=ct2 CV3=cv2 CA3=ca2n; 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 0 ) ct1 += 2*PI; ct1 *= 180/PI; cout CT4=ct1 CV4=cv1 CA4=ca1n; cout Xe=l2 Vxe=lv2 Axe=la2n; cout -#- n; c1 += df; coutdf;输出结果: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 /* 输入输出头文件 */v

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号