- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
平面连杆机构大作业
大作业()
平面连杆机构的运动分析
(题号:5-C)
一.题目及原始数据;
计算程序框图;计算源程序;计算结果;运动线图
七.参考书;
题目及原始数据;
图b所示的为一牛头刨床(Ⅲ级机构)。假设已知各构件的尺寸如表2所示,原动件1以等角速度ω1=1rad/s沿着逆时针方向回转,试求各从动件的角位移、角速度和角加速度以及刨头C点的位移、速度和加速度的变化情况。
b)
表2 牛头刨床机构的尺寸参数(单位:mm)
题 号 lAB lCD lDE h h1 h2 A B C 900 460 120 lCD =950 lCD =1020 lCD =980 要求:每三人一组,每人一个题目,每组中至少打印出一份源程序,每人计算出原动件从0゜~360゜时(N=36) 各运动变量的大小,并绘出各组对应的运动线图以及E点的轨迹曲线。
二、牛头刨床机构的运动分析方程
1)位置分析
建立封闭矢量多边形
由图可知=,故未知量有、、、。利用两个封闭图形ABDEA和EDCGE,建立两个封闭矢量方程,由此可得:
把(式Ⅰ)写成投影方程得:(式Ⅱ)
由以上各式用型转化法可求得,
解:
高斯消去法求解
2.速度分析
对(式Ⅱ)求一次导数得:
(式Ⅲ)
矩阵式:
= (Ⅳ)
采用高斯消去法可求解(式Ⅳ)可解得角速度ω3,ω4;
3.加速度分析
把式Ⅳ对时间求导数得矩阵式:
=
+
(式Ⅴ)
采用高斯消去法可求解(式Ⅴ)可得角加速度
三.程序流程图
四、计算源程序
#includestdio.h
#includestdlib.h
#includemath.h
#define PI 3.1415926
#define N 4
#define E 0.0001
#define T 1000
double l1=200,l3=980,l4=180,h=900,h1=460,h2=120,as1=1.0;
//主函数
void main()
{
int i,j;
FILE *fp;
double shuju[36][12];
double psvalue[12],a[N][N],da[N][N],b[N],db[N],ang1;
//建立文件,并制表头
if((fp=fopen(shuju,w))==NULL)
{
printf(Cannt open this file.\n);
exit(0);
}
fprintf(fp,\n L1 =%lf,l1);
fprintf(fp,\n s3 ang3 ang4 s5 );
fprintf(fp, s3 as3 as4 s5 );
fprintf(fp, s3 aas3 aas4 s5 \n);
//计算数据并写入文件
psvalue[0]=480;psvalue[1]=65*PI/180;psvalue[2]=10*PI/180;psvalue[3]=500;
for(i=0;i36;i++)
{
ang1=i*PI/18;
Solutionangle(psvalue,ang1);
FoundmatrixB(psvalue,ang1,b);
FoundmatrixA(psvalue,a);
Solutionspeed(a,b,psvalue,ang1);
FoundmatrixDA(psvalue,da);
FoundmatrixDB(psvalue,ang1,db);
Solutionacceleration(a,da,db,psvalue);
for(j=1;j3;j++)
psvalue[j]=psvalue[j]*180/PI;
for(j=0;j12;j++)
{shuju[i][j]=psvalue[j];}
fprintf(fp,\n);
for(j=0;j12;j++)
fprintf(fp,%12.3f ,shuju[i][j]);
for(j=1;j3;j++)
psvalue[j]=psvalue[j]*PI/180;
for(j=0;j4;j++)
psvalue[j]+=psvalue[j+4];
}
fclose(fp);
//输出数据
for(i=0;i36;i++)
{
ang1=i*PI/18;
printf(\n输出ang1=%d时的求解\n,i*10);
printf(angle
文档评论(0)