摘要:利用c语言对平面机构运动分析实验进行动态的参数分析,一方面加深了学生们对该实验的原理认识,另一方面熟悉了c语言对实验性能的改进,其激发的兴趣和竞争以及个性的张扬都会成为学生尝试创新教学的动力。为机械类实验课程改革与建设做出了一份贡献。
关键词:c语言;运动分析;创新
平面机构运动分析实验是机类专业重要的实验之一,尤其是大学生在进行理论分析平面机构运动线图时更显得非常突出。我国大学生在这方面还存在着较大缺陷[1]。该实验常用的求解方法有图解法和解析法。图解法形象直观但精度不高 ,解析法计算精度高 ,但运算工作量大。所以 ,不能通过实验使学生探求未知、培养创新能力 ,其结果是具有创新设计的课程失去应有的效果。因此,开设机构创意实验,对于培养具有创新能力的机械类专业学生变得尤为重要,更为迫切。
基于这种现状,为了满足创新人才培养和大众教育背景下精英教育的需要,我校利用机械方案创意设计模拟实施实验仪,并利用c语言的优势,使平面机构运动分析实验更加完善。
一、语言的选择:
C程序不仅具有强大的运算功能,同时也具有很好的图像处理功能。在我校C语言是工科学生的必修课,普及率高。
二、平面机构的组成原理
机构原动件的数目应等于其所具有的自由度的数目是其具有确定运动的条件[2]。因此,如将机构及和机架相联的原动件与其余构件拆分开,则有其余构件构成的构件组必然是一个自由度为零的构件组。当这个自由度为零的构件组不可再拆成更简单的自由度为零的构件组时,我们称它为基本杆组。这样,任何机构都可以看成有若干个基本杆组依次联结于原动件和机架上而构成的[3]。Ⅱ级杆组是最简单且应用最多的基本杆组,在此我们把同一构件上两点的运动分析及常见的Ⅱ级组的运动分析分别用c语言编写成独立的子程序,对机构进行运动分析时,仅需调用相应的子程序即可。
三、连杆机构运动分析的数学模型
平面机构中点与点之间的位置约束关系主要有两种:一种以杆长为约束条件;另一种以转角为约束条件。
如图1以杆长为约束条件所建立的约束方程式为:
(1)
基金项目:国家特色专业建设点机械设计制造及其自动化(TS10310)项目资助
安徽工程科技学院青年基金资助项目(2008yq034)
作者简介:王静平(1970- ),男(汉),陕西人,硕士研究生。
式中xG, 、yG 及xJ、yJ分别为G、J两点的坐标,q代表G与J
两点间的距离,也称杆长。上式可用来描述两种情况:
一种为:杆长不变,为常见的二铰链杆
另一种为:G与J分别在以移动副相联结的两个构件上,只有其间距离及变
化率间距离及变化率为已知
时,才可将它们合并看作一
个具有变长度的构件进行运
动分析,这时q表示两点间
的距离,称为变杆长。这样
处理机构将使分析过程简化。 图 1
以转角为约束条件所建立的位置方程式为:
(2)
其中点J为基点,β为JG杆的角位置,是指JG标线与x轴的夹角。其符号为自x轴量至JG线逆时针方向为正,顺时针为负。无论杆长是否变化均可适用。
位置方程对时间求导得速度方程,速度方程对时间求导得加速度方程。
四、运动分析中数据量的定义
运动分析包括对构件及其上点的分析,那么,数据量的定义也分为对点和构件的定义。
4.1点的定义:
包括点的位置、速度、加速度等运动参数:
Struct Point {
double x ; 点的x坐标分量
double y; 点的y坐标分量
double vx ; 点的x坐标速度分量
double vy; 点的y坐标速度分量
double ax ; 点的x坐标加速度分量
double ay; 点的y坐标加速度分量
};
4.2构件的定义
包括构件的角位置、角速度、角加速度等运动参数;有的还要计算杆长、杆长变化速度及加速度。
struct Component {
double beta; 构件的角位置(单位r)
double vb; 构件的角速度(单位r/s)
double ab; 构件的角加速度 (单位r/s/s)
double q; 构件的杆长
double vq; 杆长变化速度
double aq; 杆长变化加速度
};
五、机构运动子模块数学模型及部分子程序代码
5.1角运动已知的构件分析
给定构件的角位置、角速度、角加速度,构件上的已知点J,构件M,点G到点J的距离r,取图1的J点为参考基点,计算G点的运动:
(3)
函数调用形式:
struct Point Bar( struct Point J, struct Component M, Double r);
5.2可变杆长的二杆组的分析
如图2,构件M1上的已知点J,构件M2上的已知点K,构件M1,构件M2,J-G-K三点的位置关系m(顺时针为+1,逆时
针为-1)两参考
基点J,K的运
动是已知的,并
给定两杆长度及
其一、二 次变化
率,要求计算连
接点G的运动。 图2
G点的位置:二杆组的运动方程表示;
(4)
b. G点的速度 将式(4)式对时间求导,得到速度方程:
(5)
当GJ和GK斜率相同,J,G,K在一直线上.
c. G点的加速度 将式(5)对时间求导,得到加速度方程式:
(6)
子程序
struct Point Dyad(struct Point J, struct Point K, struct Component Mj, struct Component Mk, int m)
{
struct Point G;
double A, B, C, D, B1, B11, B2, B22, Delta; G.x= 0; G.y= 0; G.vx= 0; G.vy= 0; G.ax= 0; G.ay= 0;
A= (J.x-K.x)*(J.x-K.x)+(J.y-K.y)*(J.y-K.y);
B= (Mj.q*Mj.q-Mk.q*Mk.q)/(2*A)+0.5;
D= (Mj.q*Mj.q)/A-B*B;
if (D < 0)
{;
……
B22=(G.x-K.x)*K.ax+(G.y-K.y)*K.ay-(G.vx-K.vx)*(G.vx-K.vx)- (G.vy-K.vy)*(G.vy-K.vy)+Mk.q*Mk.aq+Mk.vq*Mk.vq;
G.ax= (B11*(G.y-K.y)-B22*(G.y-J.y))/Delta;
G.ay= (B22*(G.x-J.x)-B11*(G.x-K.x))/Delta;
return(G);
}
}
5.3. 运动曲线
最后通过运行,可以得到该机构的运动曲线如图3:
从图中,我们可以很直观的看到该机构的角位移、角速度和角加速度的参数的变化情况,进而可以以此来调整该机构的相应参数,以达到对本实验更加深刻地认
图3
识。
六、结论
与前述的实验一样,我们又演示了输入导杆、偏置导杆机构和凸轮机构的的运动情况,通过随时调整构件尺寸、运动副、驱动方式等。大大地提升了该实验的直观性和趣味性。而且亲自对自行设计组装的机构进行动力驱动、电气和计算机程序控制以及运动测试分析。看到定量测试运动效果,这种鲜活的、名符其实的“模拟实施”带给学生的成就感远远大于单纯绘图,所激发的兴趣和竞争以及个性的张扬都会成为学生尝试创新的动力。通过实践 ,使学生的观察能力、综合设计与创新能力、实践动手能力及分析和解决问题的能力得到明显改进和提高 ,为培养综合实用型人才打下坚实基础。