C语言机械原理编程,连杆运动分析图线
- 格式:docx
- 大小:123.14 KB
- 文档页数:19
机械原理课程设计平面连杆机构运动分析(VC++语言版)第一章机构运动分析的目的和方法一、 运动分析的目的当设计新的机械时,或是分析现有机械的工作性能时,都必须先计算其机构的运动参数,也就是进行机构的运动分析。
通过位移或轨迹分析,可以确定机构的外廓、某些构件运动所需的空间或判断它们运动时是否相互干涉;可以考察某构件能否实现预定位置变化的要求,或某构件上某点能否实现预定轨迹变化的要求。
通过速度分析,可以确定机构中从动件的速度变化规律能否满足工作要求。
进行生产能力和功率的计算;还能对进一步做机构的加速度分析和受力分析提供必要的数据,也是机构运动方程求解的基础。
通过加速度分析,可以确定机构各构件及构件上某些点的加速度,了解机构加速度的变化规律;是计算惯性力进行动力分析、考察机构动力平衡、防止振动和噪音的基础。
二、 基于直角坐标法的运动分析直角坐标法的要点是以点的运动为基础贯穿整个分析过程。
作运动分析时先求机构中某些特殊点的运动,再根据点的运动计算机构的角运动。
第二章 连杆机构运动分析的直角坐标法原理一、平面机构的组成原理我们知道,机构具有确定运动的条件是其原动件的数目应等于其所具有的自由度的数目。
因此,如将机构及和机架相联的原动件与其余构件拆分开,则有其余构件构成的构件组必然是一个自由度为零的构件组。
而这个自由度为零的构件组,有时还可以再拆成更简单的自由度为零的构件组。
我们把最后不能再拆的最简单的自由度为零的构件组称为组成机构的基本杆组。
含有高副的平面机构,可以按一定条件用低副替代高副而化成平面低副机构。
这样,任何机构都可以看成是有若干个基本杆组依次联结于原动件和机架上而构成的。
最简单的基本杆组是有两个构件和三个低副构成,称为Ⅱ级组,是应用最多的基本杆组,我们把同一构件上两点的运动分析及常见的Ⅱ级组的运动分析分别编写成独立的子程序,对机构进行运动分析时,仅需调用相应的子程序即可。
二、连杆机构运动分析的直角坐标法原理将机构放在直角坐标系中,选择其上的某些特殊点如铰链点、几何关节、机构质心等作为考察对象。
#include<iostream.h>#include<math.h>#define PI 3.1415926double n1=420, a=0.18, b=0.09,L1=0.1,L2=0.38, L3=0.42, L4=0.38, Lce=0.21,Lde=L3-Lce, m3=11, m4=10, m5=11, Lds3=0.07, Les4=0.19, Js3=0.02, Js4=2.8;double a1,a2,a3,a4;//各杆的位置角度double t1,t2,t3,t4;//各杆的角速度double s1,s2,s3,s4;/^杆的角加速度double *£丫£/£//滑块的位移,速度,加速度double A,B,C,D,E;double g=9.81;double Pr;double Func_360(double z)(if(z<0)return z=z+360;elsereturn z;)double Func_2PI(double z)(if(z<0)return z=z+2*PI;elsereturn z;)double Angle_To_Radian(double z)//角度转弧度(z=PI*z/180;return z;)double Radian_To_Angle(double z)//弧度转角度(z=180*z/PI;return z;void YunDongFenXi()/运动分析(B=2*L1*L3*sin(a1)-2*L3*b;A=2*L1*L3*cos(a1)-2*a*L3;C=a*a+b*b+L1*L1+L3*L3-L2*L2-2*a*L1*cos(a1)-2*b*L1*sin(a1);a3=2*atan((B-sqrt(A*A+B*B-C*C))/(A-C));a2=atan((b-L3*sin(a3)-L1*sin(a1))/(a-L3*cos(a3)-L1*cos(a1)));a4=asin((L1*sin(a1)+L2*sin(a2)+Lce*sin(a3))/(-L4));xf=a-Lde*cos(a3)+L4*cos(a4);double a22=Func_360(Radian_To_Angle(a2));double a33=Func_360(Radian_To_Angle(a3));double a44=Func_360(Radian_To_Angle(a4));t1=-2*PI*n1/60;//原动件的角速度t3=(t1*L1*sin(a1-a2))/(L3*sin(a2-a3));//3 杆的角速度t2=(-t1*L1*sin(a1+a3))/(L2*sin(a3+a2));//3 杆的角速度t4=(L2*t2*cos(a2)+Lce*t3*cos(a3)+L1*t1*cos(a1))/(-L4*cos(a4));//4 杆的角速度vf=t3*Lde*sin(a3)-t4*L4*sin(a4);//滑块的速度s1=0;//原动件的角加速度s3=(t1*t1*L1*cos(a1-a2)+t3*t3*cos(a2-a3)+t2*t2*L2)/(L3*sin(a2-a3));//3 杆的角加速度s2=(-t1*t1*L1*cos(a1-a3)-t2*t2*L2*cos(a2-a3)-t3*t3*L3)/(L2*sin(a2-a3));//2 杆的角加速度s4=(t2*t2*L2*sin(a2)-s2*L2*cos(a2)+Lce*t3*t3*sin(a3)-Lce*s3*cos(a3)+L4*t4*t4*sin(a4) +L1*t1*t1*sin(a1))/(L4*cos(a4));//4 杆的角加速度af=Lde*s3*sin(a3)+Lde*t3*t3*cos(a3)-L4*s4*sin(a4)-L4*t4*t4*cos(a4);//骨块加速度cout<<"原动件位置角度:"<<Radian_To_Angle(a1)<<"角速度:"<<t1<<"角加速度:"<<s1<<endl;cout<<"2 杆的位置角度:"<<a22<<"角速度:"<<t2<<"角加速度:"<<s2<<endl;cout<<"3 杆的位置角度:"<<a33<<"角速度:"<<t3<<"角加速度:"<<s3<<endl;cout<<"4 杆的位置角度:"<<a44<<"角速度:"<<t4<<"角加速度:"<<s4<<endl; cout<<"滑块的位移:"<<xf<<"滑块的速度:"<<vf<<"加速度:"<<af<<endl;)void JingLiFenXi1()//动态静力分析(if(a1>=1.146681319&& a1<=5.340707511)Pr=2100;elsePr=0;double as3x=t3*t3*Lds3*cos(a3)+s3*Lds3*sin(a3);double as3y=t3*t3*Lds3*sin(a3)-Lds3*s3*cos(a3);double as4x=Lde*t3*t3*cos(a3)+Lde*s3*sin(a3)-Les4*t4*t4*cos(a4)-Les4*s4*sin(a4);double as4y=Lde*t3*t3*sin(a3)-Lde*s3*cos(a3)+Les4*t4*t4*sin(a4)-Les4*s4*cos(a4);double xa=0, xb=L1*cos(a1);double ya=0, yb=L1*sin(a1);double xc=L1*cos(a1)+L2*cos(a2), yc=L1*sin(a1)+L2*sin(a2);double xd=a, yd=b;double xe=a-Lde*cos(a3), ye=b-Lde*sin(a3);double xf=a-Lde*cos(a3)+L4*cos(a4), yf=0;double xs3=a-Lds3*cos(a3), ys3=b-Lds3*sin(a3);double xs4=Les4*cos(a4)+xe, ys4=Les4*sin(a4)+ye;double F3x=-m3*as3x, F3y=-m3*as3y;double F4x=-m4*as4x, F4y=-m4*as4y;double F5=-m5*af;double M3=-Js3*s3, M4=-Js4*s4;double G3=m3*g, G4=m4*g, G5=m5*g;double F45x=Pr+F5;double F54x=-F45x;doubleF54y=(F54x*sin(a4)-M4+Les4*F4y*cos(a4)-Les4*F4x*sin(a4)-G4*Les4*cos(a4))/(L4*cos(a4));double F45y=-F54y;double F34x=F54x+F4x;double F34y=F54y-F4y;double F43y=-F34y,F43x=-F34x;doubleF23=(F3y*Lds3*cos(a3)-F3x*Lds3*sin(a3)+F43x*Lde*sin(a3)-F43y*Lde*cos(a3)+M3-G3*Lds3*cos(a3))/(L4*sin(a2+a3));double F32=-F23;double F63x=F43x-F23*cos(a2)-F3x;double F63y=F43y-F23*sin(a3)+G3-F3y;double F12x=F32*cos(a2);double F12y=F32*sin(a2);double F21x=-F12x;double F21y=-F12y;double M1=-F21x*L1*cos(a1)+F21y*L1*sin(a1);double F61x=F21y,F61y=F21y;double F65y=G5-F45y;cout<<"1 杆的转矩为:"<<M1<<endl;cout<<"1杆对2杆在X方向上的力为:"<<F12x<<endl;cout<<"1杆对2杆在丫方向上的力为:"<<F12y<<endl;cout<<”3 杆对 2 杆的力为:"<<F32<<endl;cout<<"4杆对3杆在X方向上的力为:"<<F43x<<endl;cout<<"4杆对3杆在丫方向上的力为:"<<F43y<<endl;cout<<"5杆对4杆在X方向上的力为:"<<F54x<<endl;cout<<"5杆对4杆在Y方向上的力为:"<<F54y<<endl;cout<<"6杆对1杆在X方向上的力为:"<<F61x<<endl;cout<<"6杆对1杆在Y方向上的力为:"<<F61y<<endl;cout<<"6杆对3杆在X方向上的力为:"<<F63x<<endl;cout<<"6杆对3杆在Y方向上的力为:"<<F63y<<endl;cout<<"6杆对5杆在Y方向上的力为:"<<F65y<<endl;)void JingLiFenXi2()//动态静力分析 2(if(a1>=1&& a1<=5)Pr=2100;elsePr=0;double as3x=t3*t3*Lds3*cos(a3)+s3*Lds3*sin(a3);double as3y=t3*t3*Lds3*sin(a3)-Lds3*s3*cos(a3);double as4x=Lde*t3*t3*cos(a3)+Lde*s3*sin(a3)-Les4*t4*t4*cos(a4)-Les4*s4*sin(a4);double as4y=Lde*t3*t3*sin(a3)-Lde*s3*cos(a3)+Les4*t4*t4*sin(a4)-Les4*s4*cos(a4);double xa=0, xb=L1*cos(a1);double ya=0, yb=L1*sin(a1);double xc=L1*cos(a1)+L2*cos(a2), yc=L1*sin(a1)+L2*sin(a2);double xd=a, yd=b;double xe=a-Lde*cos(a3), ye=b-Lde*sin(a3);double xf=a-Lde*cos(a3)+L4*cos(a4), yf=0;double xs3=a-Lds3*cos(a3), ys3=b-Lds3*sin(a3);double xs4=Les4*cos(a4)+xe, ys4=Les4*sin(a4)+ye;double F3x=-m3*as3x, F3y=-m3*as3y;double F4x=-m4*as4x, F4y=-m4*as4y;double F5=-m5*af;double M3=-Js3*s3, M4=-Js4*s4;double G3=m3*g, G4=m4*g, G5=m5*g;double F45x=Pr+F5;double F54x=-F45x; doubleF54y=(F54x*sin(a4)-M4+Les4*F4y*cos(a4)-Les4*F4x*sin(a4)-G4*Les4*cos(a4))/(L4*cos(a4));double F45y=-F54y;double F34x=F54x+F4x;double F34y=F54y-F4y;double F43y=-F34y,F43x=-F34x;doubleF23=(F3y*Lds3*cos(a3)-F3x*Lds3*sin(a3)+F43x*Lde*sin(a3)-F43y*Lde*cos(a3)+M3-G3*Lds3*cos(a3))/(L4*sin(a2+a3));double F32二F23;double F63x=F43x-F23 *cos(a2)-F3x;double F63y=F43y-F23*sin(a3)+G3-F3y;double F12x=F32*cos(a2);double F12y=F32*sin(a2);double F21x=-F12x;double F21y=-F12y;double M1=-F2lx*Ll*cos(al)+F21 y*L 1 *sin(a 1);double F61 x=F21 y ,F61 y=F21 y;double F65y=G5-F45y;cout«"l 杆的转矩为:"vvMkvendl;cout«"l杆对2杆在X方向上的力为:"vvF12xvvendl;cout«"l杆对2杆在丫方向上的力为:"vvF12yvvendl;cout«"3 杆对 2 杆的力为:"vvF32vvendl;cout«"4杆对3杆在X方向上的力为:"vvF43xvvendl;cout«"4杆对3杆在丫方向上的力为:"vvF43yvvendl;cout«"5杆对4杆在X方向上的力为:"vvF54xvvendl;cout«"5杆对4杆在丫方向上的力为:"vvF54yvvendl;cout«"6杆对1杆在X方向上的力为:"vvF61xvvendl;cout«"6杆对1杆在丫方向上的力为:"vvF61yvvendl;cout«"6杆对3杆在X方向上的力为:"vvF63xvvendl;cout«"6杆对3杆在丫方向上的力为:"vvF63yvvendl;cout«"6杆对5杆在丫方向上的力为:"vvF65yvvendl; }void main() (al=85.7;a 1 =Angle_T o_Radian(a 1);for(int i=l;i<=6;i++)(Y unDongFenXi();JingLiFenXil();cout«endl«"----------------------------------- al+=PI/3;a 1 =Func_2PI(a 1);}al=326;a 1 =Angle_T o_Radian(a 1);Y unDongFenXi();JingLiFenXil();"«endl«endl; "«endl«endl;cout«endl«" ---------------------------------------al=65.7;a1=Angle_To_Radian(a1);YunDongFenXi();JingLiFenXi1();cout<<endl<<" ---------------------------------------- "<<endl<<endl;a1=306; a1=Angle_To_Radian(a1);YunDongFenXi();JingLiFenXi1(); cout<<endl<<" ------------------------ "<<endl<<endl;a1=65.7;a1=Angle_To_Radian(a1);YunDongFenXi();JingLiFenXi2();cout<<endl<<" ---------------------------------------- "<<endl<<endl;a1=306; a1=Angle_To_Radian(a1);YunDongFenXi();JingLiFenXi2(); cout<<endl<<" ------------------------ "<<endl<<endl; )。
机械原理课程设计编程说明书设计题目:压床连杆机构的设计及运动分析(方案三)指导教师:郝志勇席本强设计者:满桐学号:**********班级:液压09-1班2011年7月1日辽宁工程技术大学DE,各构件重心S 的位置,曲柄每分钟转数1n 。
四、原始数据五、要求:1)设计连杆机构,作机构运动简图(选择适当的比例尺)、机构两个位置的速度多边形和加速度多边形、滑块的运动线图(位移、速度和加速度曲线)。
2) 用C 语言编写程序对机构进行运动分析,并打印出程序及计算结果。
3)编写出设计计算说明书。
指导教师:郝志勇 席本强开始日期: 2011 年 6 月 26 日 完成日期: 2011 年 7 月 1 日目录一设计任务------------------------------二设计过程------------------------------2.1数学模型------------------------------2.2程序框图------------------------------2.3程序设计--------------------------------三设计结果-------------------------------3.1 连杆运动示意图-----------------------3.2 连杆参数的计算结果-------------------3.3 位移、角速度、加速度曲线绘制--------- 四课程设计总结------------------------五参考文献----------------------------一设计任务任务:连杆机构的设计及运动分析已知:中心距X1=70mm,X2=200mm,Y=310mm。
构件3的上、下极限Φ=60、Φ/=120,滑块的冲程H=210mm,比值CE/CD=1/2,EF/DE=1/4,各构件S重心的位置,曲柄每分钟转速N1=90r/min。
项目设计设计过程1.根据市场需求选题2.调研论证3.确定目标,规格4.技术参数5.构思,创新设计6.分析比较7.确定方案8.详细设计9.制作模型和试验10.投产设计题目•自选创新设计题目•对生活环境中机构的巧妙应用的分析与研究•对机构动分析编制比较通用性的程序•提供一种机构的运动仿真程序选作,三人一组,自愿组合,每人在组中的人物,提交详细的报告,学期末展示,成绩加5分参考题目•窗户开关机构,包括立式窗,前后推式,上下推式,蓬式窗•公共汽车车门控制机构•健身器•自行车变速机构,刹车机构•窗帘控制机构对问题描述,设计问题,实现的功能,解决方案等,性能分析,力作用点,机械增益等优缺点,改进建议等。
平面连杆机构及其设计§1 连杆机构的应用与分类含有不与机架构成运动副的构件的机构该构件称为连杆与机架构成运动副的构件为连架杆什么是连杆机构?曲柄摇杆机构曲柄导杆机构曲柄滑块机构连杆机构的特点1.低副机构,结构简单(低副机构:面接触,便于润滑,易于加工)2.可以实现多种功能(位置、函数、轨迹)3.动力学特性需要改善(平面复合运动)4.设计复杂简单问题设计可试凑复杂问题尚无成熟设计方法本章介绍连杆机构的性质及简单的设计问题1.连杆机构的基本型式曲柄摇杆机构曲柄:能整周回转的连架杆摇杆:不能整周回转的连架杆周转副:两构件能整周回转相对运动的转动副摆转副:两构件不能整周回转的转动副曲柄存在条件?曲柄存在条件:能整周回转的连架杆在△BCD 中(d-a)+b>c a+c<b+d(d-a)+c>b a+b<c+d在下图中a+d<b+c a+d<b+c所以(1)a为最短杆(构件)与机架相邻(2)最短杆加最长杆小于另外两杆之和grashof运动链当满足最短杆加最长杆小于等于另外两杆之和时固定最短杆为机架得到双曲柄机构固定最短杆相邻杆为机架得到曲柄摇杆机构固定最短杆对面杆为机架得到双摇杆机构变机架演示当最短杆加最长杆大于另外两杆之和时只能得到双摇杆机构曲柄滑块机构存在曲柄的几何条件AB 杆到达AB 1位置直角三角形B 1DC 1a ≤b-eAB 杆到达AB 2位置,同理:b ≥a+eb ≥a-e曲柄滑块机构存在曲柄的几何条件为:2 .平面四杆机构的演化(1)改变尺寸的演化过程曲柄滑块机构正弦机构曲柄摇杆机构(Grashof)曲柄摇杆机构(Grashof)双摇杆机构(non-Grashof)曲柄摇杆机构(2)改变机架(全铰链四杆机构)变机架演示雷达天线操纵机构鄂式破碎机变机架演示双曲柄机构刮板泵惯性筛传动机构平行四杆机构机车车轮联动机构铲斗提升机构双摇杆机构鹤式起重机摇头扇(3)改变机架(含移动副的四杆机构)曲柄滑块机构曲柄滑块变机架演示曲柄滑块变机架演示冲床演示小型刨床主体机构摆动导杆机构牛头刨床主体机构曲柄滑块变机架演示曲柄摇块机构移动导杆机构(4)运动副形状与尺寸的变异曲柄与偏心轮动画曲柄与双偏心轮动画§2平面四杆机构的基本特性1 急回运动与行程速比系数曲柄摇杆机构工作行程(正行程):K= ϕ1/ ϕ2=(π+θ)/(π-θ)θ极位夹角ω1= constant主动件转过ϕ1,从动件转过ψ回程(反行程):主动件转过ϕ2,从动件转过ψ从动件正行程与反行程ψ相同行程速比系数K例1:对心曲柄滑块机构θ极位夹角:曲柄与连杆共线的两个位置夹的锐角例2:偏置曲柄滑块机构例2:曲柄导杆机构改变原动件运动方向可使机构快进幔回。
机械原理连杆
连杆是机械原理中的一个重要组成部分,它通常是由两个或多个杆件组成的。
连杆可以将旋转运动转化为直线运动,或者将直线运动转化为旋转运动。
它在许多机械装置中被广泛应用,如发动机、发电机、汽车零部件等。
连杆的工作原理是基于杆件的运动约束,其运动能够满足特定的几何关系。
一般来说,连杆可以分为滑动连杆和转动连杆两种类型。
滑动连杆是指其中至少有一个杆件进行直线滑动运动的连杆。
在滑动连杆中,一端通常是固定的,而另一端可以在轴承的支持下做直线滑动。
通过改变杆件的长度或角度,可以实现连杆的运动控制。
转动连杆是指其中所有杆件都进行旋转运动的连杆。
在转动连杆中,两个杆件通过一个固定的转轴连接,从而实现转动运动。
通过改变杆件的长度或角度,可以实现连杆的运动控制。
连杆具有很多的应用,其中最常见的是作为曲柄连杆机构。
曲柄连杆机构是一种将旋转运动转化为直线运动的装置,广泛应用于发动机、泵、压缩机等领域。
在曲柄连杆机构中,连杆的长度和角度决定了输入转动运动的幅度和速度。
此外,连杆还可以用于构建机械传动系统,如齿轮传动、皮带传动等。
连杆在这些传动系统中起到了传递运动和力量的作用,实现了机械装置的正常工作。
总而言之,连杆是机械装置中非常重要的一个部件,它可以将旋转运动转化为直线运动,或者将直线运动转化为旋转运动。
通过改变连杆的长度和角度,可以实现连杆的运动控制,从而实现机械装置的正常工作。
杆组法运动分析模型 及C 语言程序接口一、平面运动构件(单杆)的运动分析已知构件K 上的1N 点的位置1x P ,1y P ,速度为1x v ,1Y v ,加速度为1 x a ,1y a 及过点的1N 点的线段12N N 的位置角θ,构件的角速度ω,角加速度ε,求构件上点2N 和任意指定点3N (位置参数13N N =2R ,213N N N ∠=γ)的位置、速度、加速度。
1N ,3N 点的位置为:211cos x x P P R θ=+211sin y y P P R θ=+312cos()x x P P R θγ=++312sin()y y P P R θγ=++1N ,3N 点的速度,加速度为:211211sin ()x x x y y v v R v P P ωθω=-=--211121sin (-) y y y x x v v R v P P ωθω=-=-312131sin() () x x x y y v v R v P P ωθγω=-+=--312131cos()()y y y x x v v R v P P ωθγω=-+=--2212121()()x x y y x x a a P P P P εω=----2212121()()y y x x y y a a P P P P εω=+---2313131()()x x y y x x a a P P P P εω=----23133(1)(1)y y x x y y a a P P P Pεω=+--- 二、RRR 杆组运动分析的数学模型1.位置分析设两个构件长度1R ,2R 及外运动副1N ,2N 的位置已知,求两个构件的位置角1θ,2θ及内运动副3N 的位置。
选定坐标系及相应的标号如下图,构件的位置角i θ约定从响应构件的外运动副i N 引x 轴的方向线,按逆时针量取。
设外运动副1N ,2N 的位置坐标分别为1N (1x P ,1y P ),2N (2x P ,2y P ),则 12221212[( -)( -)]x x y y d P P P P =+222121cos ()/(2 )d R R R d α=++ 212 1arctan(( )/( )y y x x P P P P ϕ=--1θϕα=±内运动副3N 点坐标为:3111 cos x x P P R θ=+3111 sin y y P P R θ=+构件2K 的位置角:23232arctan[()/( )]y y x x P P P P θ=--位置分析过程中应注意两个问题:(1) 因为1N ,2N 的位置及杆长1R ,2R 都是给定的,这就可能出现d >12R R +或12d R R <-的情况。
曲柄滑块机构c语言编程曲柄滑块机构是机械工程中常见的一种重要机构,它由曲柄、滑块和连杆组成,通过曲柄的旋转和滑块的往复运动完成工作任务。
在实际的机械设计中,我们常常需要使用C语言进行编程来模拟和控制曲柄滑块机构的运动。
首先,我们需要定义曲柄滑块机构的各个部件的参数。
曲柄的长度、滑块的质量和惯性矩、连杆的长度和角度等都是需要考虑的参数。
这些参数将直接影响到机构的运动规律和性能。
接下来,我们需要使用C语言来编写程序,模拟曲柄滑块机构的运动。
可以利用数值计算的方法,通过不断更新滑块的位置和速度,来模拟机构的运动过程。
可以使用欧拉法或者改进的欧拉法等数值积分方法来进行模拟计算。
在编程过程中,我们需要考虑到曲柄滑块机构的运动学和动力学特性。
通过分析机构的运动学关系,我们可以得到滑块的位置、速度和加速度随时间变化的数学表达式。
基于这些表达式,我们可以编写相应的代码来计算和显示曲柄滑块机构的运动轨迹和性能参数。
此外,在编程过程中还需要注意边界条件和误差控制。
对于一些特殊的情况,比如当曲柄和连杆重合时,滑块的位置和速度会发生突变,这需要额外处理。
同时,在数值计算中存在一定的误差,我们需要采取合适的方法来控制误差,并保证计算结果的准确性。
最后,我们可以通过调整参数和改变编程代码,来研究曲柄滑块机构的运动特性。
通过改变曲柄的角速度、连杆的长度等参数,我们可以探究机构的运动规律和性能,为机械设计提供参考和优化方案。
总之,通过C语言编程来模拟和控制曲柄滑块机构的运动,是一项具有挑战性和实用价值的任务。
通过合理设置参数、编写准确的代码和有效控制误差,我们可以准确地模拟和控制机构的运动过程,为机械设计和工程实践提供有力支持。
计算机程序训练任务书指导教师:*****姓名:*****学号:*********日期:*********目录一设计题目 (3)二设计思路 (3)三函数说明 (4)四数据流程图 (4)五输入数据类型 (5)六图形标注 (7)七结束语 (7)八源程序代码 (8)计算机程序训练任务书学生姓名 ****** 班级 ******** 学号 ***********设计题目绘制机械图具体内容一、题目绘制机械图要求:1.完成绘制右面机械图(包括主视图、左视图、俯视图,参数自拟)。
2.机械图为参数化设计,主视图完全根据键盘输入的尺寸参数绘制,左视图和俯视图根据主视图坐标变换获得,主视图未表达的信息再次输入尺寸参数在相应的左视图和俯视图中予以完善。
3.画出边框和标题栏。
二、设计思路1、通过报告要求和查阅资料,了解并掌握C语言程序绘制机械图的基本方法及操作步骤,仔细研究题目所设计的机械图,大体绘画出其三视图,照显示适配器的显示范围画出图形,标出图形各点坐标。
最后查阅选用到的参数,为写出程序做铺垫。
2、编写程序。
编制绘图程序,开始调用图形函数库,用#include<graphics.h>,接着写出主函数。
然后写出各视图的自定义函数,用于主函数调用。
3、绘画三视图。
先设定图形线颜色及类型。
并用printf,scanf等语言绘制出三个视图,在绘制三个视图之前先设定的颜色,在设定图形中心线颜色、类型及线宽,画出中心线。
最后,画出边框和标题栏。
定义图形适配器,屏显模式,并储存。
4、屏幕图形初始化。
这是通过函数initgraph()来完成的。
其调用格式是;initgraph(&gdriver,&gmode," ")。
Driver:是一个整型值,用来指定要装入的图形驱动程序;Mode:是一个整型值,用来设计图形显示模式。
图形方式的初始化是通过从磁盘上装入一个图形驱动程序来出事华图形系统,并将设置为图形方式。
VC++凸轮机构运动仿真编程示例一. 机构运动原理1. 推杆从动件的运动规律(仅列出常用的四种运动规律)表1-1 从动件的运动方程式2. 偏置直动尖顶推杆盘形凸轮机构如图所示,凸轮逆时针方向转动,导路偏置于凸轮转动中心A ,导路距转轴A 的垂直距离为偏距e 。
以偏距e 为半径作的圆为偏距圆。
当凸轮转动时,凸轮上的偏距圆也随之转动,但其始终与导路轴线相切。
凸轮转动时不便求解其上的廓线方程,故采用反转法。
反转法是建立在推杆与凸轮的相对运动与参考系无关这一原理上的。
所谓反转法,即给整个机构一个与凸轮转向相反的角速度-ω1,则凸轮静止不动,而从动件随机架反转且沿凸轮廓线相对运动,导路的反转角ϕ即凸轮的转角。
如图所示,此时导路由B K 00转到BK 。
由于AK B K 000⊥,AK BK ⊥,所以∠=K AK 0ϕ,此时导路BK 与基圆和凸轮廓线的交点''B B 间的长度,即从动件的位移s BB =''。
由几何关系知∆∆B K A B KA 00='',所以s 0=''=B K )(r eb 2212-。
选取坐标系xAy ,B 0点为凸轮廓线起始点。
当凸轮转过ϕ角,由反转法知此时从动件位于BK 。
则B 点的坐标为)()(X s s e Y s s e =++=+-⎧⎨⎪⎩⎪00sin cos cos sin ϕϕϕϕ(1-1)式(1-1)即为尖顶推杆凸轮廓线的方程式,也称为理论廓线方程。
3. 偏置直动滚子推杆盘形凸轮机构大多数推杆在尖顶B 处装有滚子,以提高推杆的使用寿命。
显然,只要使滚子中心B 沿理论廓线曲线上运动,即可保证推杆预期的运动规律。
如图所示,此时凸轮的轮廓曲线不是理论廓线,而是处处与滚子相切的另一条曲线,这条曲线称为凸轮的实际廓线。
因为实际廓线与理论廓线在法线方向的距离处处相等,且等于滚子半径r r ,故当已知廓线上任一点B )(x y ,时,只要沿理论廓线在该点法线方向取距离为r r ,即得实际廓线上的相应点)('''B x y ,。