课程设计--函数机构的设计.doc_第1页
课程设计--函数机构的设计.doc_第2页
课程设计--函数机构的设计.doc_第3页
课程设计--函数机构的设计.doc_第4页
课程设计--函数机构的设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机械电子工程专业课程设计课程名称 机械原理、 机械设计课题名称 函数机构的设计一、课程设计的任务设计的铰链四杆机构两连架杆对应角位移关系近似实现函数: y=lg(x) (1x2)要求:设计计算对应三个结点(三对角位移、)的铰链四杆机构。绘表、统计同组同学的计算结果,并计算对应每个主动角时的从动角的实际角位移,计算拟合误差SUM。分析如何利用拟合误差法确定同一组同学中的最佳设计方案。编制用计算机设计计算和优化时的程序框图。设计数据分配:组数(r/min)()()()()结点数目n24580201951109(序号:0-8)二、课程设计的内容1、求、对应关系:设计铰链四杆机构来实现给定函数时,首要的问题是要按一定的比例关系,把给定函数y=f(x)转化成两连架杆对应的角位移关系函数=(),其中主动杆角位移;从动杆角位移。设给定函数y=f(x)的自变量变化范围为x,对应函数y=f(x)的变化范围为y。并假定对应自变量x的指定区间,主动构件和从动构件的转角区间分别为,。则由上可知:=1,=2 对应函数y=f(x)的变化范围为:0ylg2,则=0,=lg2计算自变量x与主动角比例因子,得:=()/()=(19580)/(21)=115计算函数值y与从动角的比例因子,得:=()/()=(11020)/lg2=90/lg2自变量x值可按下式选取:=(+)/2+()/2cos(2i1)/2n180 i=1,2,3nn为要求精确实现的结点数目。(因为已知,这里取:n=8,求解)将计算得的代入函数y=f(x)可求得函数值f()。计算结果如下:=1.0096 f()=4.149=1.0843 f()=0.0351=1.2222 f()=0.0871=1.4025 f()=0.1469=1.5975 f()=0.2034=1.7778 f()=0.2499=1.9157 f()=0.2823=1.9904 f()=0.2989因而对应(,),可求得 =+() =+f()f() i=1,2,3n(这里取:n=8) 计算结果如下:81.10 21.2489.70 30.49105.55 46.04126.29 63.92148.71 80.81169.45 94.71185.31 104.40193.90 109.362、根据两连架杆的对应角位移设计四杆机构: 如果,给定,则铰链四杆机构最多能精确实现两连架杆三组对应角位置,得 cos=cos+cos()+ cos()=cos()+cos()+ cos()=cos()+cos()+由以上三个线性方程组可解出,。由,即可得各构件的相对长度m,n,p。其中,=n,=n/p,=(+1)/2p再根据实际需要选定构件AB的长度a后,其他构件的长度便可确定。将上述方程组变成如下的形式: cos+cos()+1cos=0 cos()+cos()+1cos()=0 cos()+cos()+1cos()=0令cos=A1,cos()=A2,cos()=A3,cos()=B1,cos()=B2,cos()=B3,1=C1,1=C2,1=C3,cos=D1,cos()=D2,cos()=D3,则计算,的程序如下所示:程序1:#include#includefloat fun_x(float a1,float a2,float a3,float b1,float b2,float b3,int c1,int c2,int c3,float d1,float d2,float d3)float x;x=-(b1*c2*d3-b1*c3*d2-b2*c1*d3+b2*c3*d1+b3*c1*d2-b3*c2*d1)/(a1*b2*c3-a1*b3*c2-a2*b1*c3+a2*b3*c1+a3*b1*c2-a3*b2*c1);return (x);void main()float A1;float A2;float A3;float B1;float B2;float B3;int C1;int C2;int C3;float D1;float D2;float D3;float X;printf(input A1 A2 A3 B1 B2 B3 C1 C2 C3 D1 D2 D3 : );scanf(%f%f%f%f%f%f%d%d%d%f%f%f,&A1,&A2,&A3,&B1,&B2,&B3,&C1,&C2,&C3,&D1,&D2,&D3);X=fun_x(A1,A2,A3,B1,B2,B3,C1,C2,C3,D1,D2,D3);printf(the X=%fn,X);其中,程序运行的结果X=程序2:#include#includefloat fun_y(float a1,float a2,float a3,float b1,float b2,float b3,int c1,int c2,int c3,float d1,float d2,float d3)float y;y=(a1*c2*d3-a1*c3*d2-a2*c1*d3+a2*c3*d1+a3*c1*d2-a3*c2*d1)/(a1*b2*c3-a1*b3*c2-a2*b1*c3+a2*b3*c1+a3*b1*c2-a3*b2*c1);return (y);void main()float A1;float A2;float A3;float B1;float B2;float B3;int C1;int C2;int C3;float D1;float D2;float D3;float Y;printf(input A1 A2 A3 B1 B2 B3 C1 C2 C3 D1 D2 D3 : );scanf(%f%f%f%f%f%f%d%d%d%f%f%f,&A1,&A2,&A3,&B1,&B2,&B3,&C1,&C2,&C3,&D1,&D2,&D3);Y=fun_y(A1,A2,A3,B1,B2,B3,C1,C2,C3,D1,D2,D3);printf(the Y=%fn,Y);其中,程序运行的结果Y=程序3:#include#includefloat fun_z(float a1,float a2,float a3,float b1,float b2,float b3,int c1,int c2,int c3,float d1,float d2,float d3)float z;z=-(a1*b2*d3-a1*b3*d2-a2*b1*d3+a2*b3*d1+a3*b1*d2-a3*b2*d1)/(a1*b2*c3-a1*b3*c2-a2*b1*c3+a2*b3*c1+a3*b1*c2-a3*b2*c1);return (z);void main()float A1;float A2;float A3;float B1;float B2;float B3;int C1;int C2;int C3;float D1;float D2;float D3;float Z;printf(input A1 A2 A3 B1 B2 B3 C1 C2 C3 D1 D2 D3 : );scanf(%f%f%f%f%f%f%d%d%d%f%f%f,&A1,&A2,&A3,&B1,&B2,&B3,&C1,&C2,&C3,&D1,&D2,&D3);Z=fun_z(A1,A2,A3,B1,B2,B3,C1,C2,C3,D1,D2,D3);printf(the Z=%fn,Z);其中,程序运行的结果Z= 9对角位移,任取其中3对角位移,就能列出一个关于,的线性方程组,就能得到一个对应的机构尺寸方案。利用以上程序,可以分别计算出,的具体数值。其中,A1是第一个方程中前的系数,A2是第二个方程中前的系数,A3是第三个方程中前的系数;B1D3的含义可由上面的例子仿照得出。现将计算结果统计如下:第一位同学的计算结果:拟合误差sum计算参数,从动角主动角学号0.0000401.7537021041138-2.6531-0.14780.0011561.7150-2.7934-0.04130.0004101.7292-2.7420-0.08030.0000381.7445-2.6866-0.12240.0000181.7500-2.6666-0.13760.0000201.7507-2.6643-0.13940.0000181.7497-2.6678-0.13670.0028831.7107-2.93520.03360.0006191.7327-2.7909-0.05920.0000481.7466-2.6999-0.11770.0000191.7510-2.6710-0.13630.0000211.7516-2.6674-0.13860.0000191.7509-2.6716-0.13590.0000681.7203-2.6187-0.13360.0000161.7224-2.5474-0.17120.0000161.7224-2.5475-0.17120.0000061.7219-2.5643-0.16230.0000091.7214-2.5791-0.15450.0000881.7090-2.4628-0.20090.0000301.7118-2.5017 -0.18410.0000091.7144021041138-2.5384-0.1682第二位同学的计算结果:拟合误差sum计算参数,从动角主动角学号0.0191761.711021041123-2.9580.044710.0011091.728-2.838-0.030990.0000491.747-2.702-0.11710.0091831.594-2.672-0.13610.0000211.752-2.668-0.13850.0000201.751-2.672-0.13600.0003911.717-2.694-0.093450.0000191.721-2.540-0.17370.0000231.721-2.542-0.17460.0000191.720-2.560-0.16350.0002941.748-2.575-0.15560.0002191.693-2.372-0.23270.0010101.699-2.450-0.23270.0001511.703-2.500-0.17730.0000251.705-2.528-0.16500.0001471.722-2.546-0.15700.0000051.728-2.588-0.15700.0000811.733-2.591-0.14740.0000131.744-2.642-0.14440.0001711.752-2.673-0.14840.0000481.770021041123-2.729-0.1244第三位同学的计算结果:拟合误差sum计算参数,从动角主动角学号0.0000461.7736021041128-2.7365-0.12220.0002391.6749-2.3540-0.23640.0000591.6909-2.4474-0.20010.0000161.7015-2.5093-0.17610.0000161.7075-2.5444-0.16240.0000161.7225-2.5477-0.17110.0000101.7357-2.6015-0.15300.0000161.7438-2.6348-0.14180.0000381.7603-2.6679-0.13640.0000581.7715-2.7037-0.12600.0001231.7973-2.7677-0.11140.0001511.7621-2.6325-0.14560.0002181.7760-2.6770-0.13100.0002731.7857-2.7080-0.12090.0003881.7997-2.7303-0.11670.0004931.8133-2.7660-0.10630.0008061.8433-2.8284-0.09040.0009251.8309-2.7797-0.10120.0012251.8493-2.8192-0.08930.0021251.8894-2.8891-0.06930.0048121.9529021041128-2.9730-0.0403第四位同学的计算结果:拟合误差sum计算参数,从动角主动角学号0.0000131.7162021041133-2.5625-0.15780.0000151.7224-2.5477-0.17110.0000051.7290-2.5890-0.15660.0000061.7334-2.6165-0.14700.0000131.7445-2.6429-0.14430.0000201.7518-2.6744-0.13540.0000531.7701-2.7320-0.12380.0000221.6989-2.4938-0.18210.0000891.6976-2.4463-0.20530.0000441.6982-2.4707-0.19340.0000191.6991-2.5028-0.17770.0000251.6997-2.5249-0.16690.0001631.6875-2.3942-0.22330.0000501.6947-2.4572-0.19720.0000181.7003-2.5066-0.17680.0000211.7037-2.5365-0.16440.0000221.7135-2.5284-0.17690.0000091.7230-2.5778-0.15990.0000091.7290-2.6088-0.14920.0000151.7430-2.6405-0.14500.0000201.7520021041133-2.6747-0.13533、计算实际角位移 根据计算所得,将主动角位移代入下式cos=cos+cos()+ 即可求得实际角位移。令 f()=cos+cos+cos()+ 求,使得f()=0(参考牛顿切线法)。计算实际角位移的程序如下所示:程序0:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(80*PI/180)+*cos(x)+ *cos(x-80*PI/180)+ )/(-*sin(x)- *sin(x-80*PI/180); x+=d; while(fabs(d)EPS);printf(x=%fn,x);程序0的功能是求,其中=80;注意:在程序计算之前,需要将,的具体数值代入程序对应的位置,否则运行时程序会报错!程序1:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(81.10*PI/180)+ *cos(x)+ *cos(x-81.10*PI/180)+ )/(-*sin(x)- *sin(x-81.10*PI/180);x+=d; while(fabs(d)EPS);printf(x=%fn,x);程序1的功能是求,其中=81.10;注意:在程序计算之前,需要将,的具体数值代入程序对应的位置。程序2:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(89.70*PI/180)+ *cos(x)+ *cos(x-89.70*PI/180)+ )/(-*sin(x)- *sin(x-89.70*PI/180);x+=d; while(fabs(d)EPS);printf(x=%fn,x);程序2的功能是求,其中=89.70;注意:在程序计算之前,需要将,的具体数值代入程序对应的位置。程序3:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(105.55*PI/180)+ *cos(x)+ *cos(x-105.55*PI/180)+ )/(-*sin(x)- *sin(x-105.55*PI/180);x+=d; while(fabs(d)EPS);printf(x=%fn,x);程序3的功能是求,其中=105.55;注意:在程序计算之前,需要将,的具体数值代入程序对应的位置。程序4:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(126.29*PI/180)+ *cos(x)+ *cos(x-126.29*PI/180)+ )/(-*sin(x)- *sin(x-126.29*PI/180);x+=d; while(fabs(d)EPS);printf(x=%fn,x);程序4的功能是求,其中=126.29;注意:在程序计算之前,需要将,的具体数值代入程序对应的位置。程序5:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(148.71*PI/180)+ *cos(x)+ *cos(x-148.71*PI/180)+ )/(-*sin(x)- *sin(x-148.71*PI/180);x+=d; while(fabs(d)EPS);printf(x=%fn,x);程序5的功能是求,其中=148.71;注意:在程序计算之前,需要将,的具体数值代入程序对应的位置。程序6:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(169.45*PI/180)+ *cos(x)+ *cos(x-169.45*PI/180)+ )/(-*sin(x)- *sin(x-169.45*PI/180);x+=d; while(fabs(d)EPS);printf(x=%fn,x);程序6的功能是求,其中=169.45;注意:在程序计算之前,需要将,的具体数值代入程序对应的位置。程序7:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(185.31*PI/180)+ *cos(x)+ *cos(x-185.31*PI/180)+ )/(-*sin(x)- *sin(x-185.31*PI/180);x+=d; while(fabs(d)EPS);printf(x=%fn,x);程序7的功能是求,其中=185.31;注意:在程序计算之前,需要将,的具体数值代入程序对应的位置。程序8:#include#include#define EPS 1e-3#define PI 3.1415926void main()double x,d;printf(input initial root:n);scanf(%lf,&x);dod=-(-cos(193.90*PI/180)+ *cos(x)+ *cos(x-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论