旋转变换的直动推杆凸轮机构图解法教学软件开发
2019-10-08武照云张毓兰朱红瑜马晓录申会鹏
武照云,张毓兰,朱红瑜,马晓录,申会鹏
旋转变换的直动推杆凸轮机构图解法教学软件开发
武照云,张毓兰,朱红瑜,马晓录,申会鹏
(河南工业大学 机电工程学院,河南 郑州 450001)
以偏置直动尖顶推杆凸轮机构为对象,运用C#设计了一个直动推杆凸轮机构图解法教学软件。介绍了凸轮廓线图解法设计的反转法原理和基于旋转变换的软件实现原理,包括点的坐标旋转变换理论、推杆位移函数C#类库设计方法等。详细给出了凸轮机构图解法教学软件的设计步骤与运行过程。通过4个不同设计参数的应用案例说明该软件在展示凸轮廓线图解法设计原理与步骤方面的灵活性与有效性。
凸轮机构;机械原理;图解法教学;软件开发
凸轮机构是机械中常用的机构类型,应用非常广泛[1]。在“机械原理”课程教学中,要求学生能够根据给定的运动规律,运用图解法设计凸轮廓线。与解析法相比,图解法具有不依赖数学方程、几何元素丰富、清晰直观等优点,但是需要学生熟练掌握凸轮机构的相对运动原理和几何作图方法[2]。在凸轮机构的教学资源中,纸质教材无法呈现动态信息,以Flash为主的演示动画不能更改设计参数。现有的计算机辅助设计软件ADAMS[3]、UG NX[4]、SolidWorks[5]、Pro/E[6]、MATLAB[7]、AutoCAD[8]、虚拟样机技术[9]、参数化设计技术[10]、反求设计方法[11]、智能设计技 术[12]等可以进行凸轮机构的设计与分析,但这些都不是专为教学开发的,因此不太适用于课程教学。
本文以C#为开发工具,设计了一个凸轮机构图解法教学软件,可以灵活、分步骤地展示凸轮廓线图解法设计过程,演示步骤形象清晰、直观感受性强,有利于学生更好地理解图解法基本原理,为该课程的教学增添一个实用的辅助工具。
1 凸轮廓线图解法设计
根据推杆的运动形式,凸轮机构可分为直动推杆凸轮机构和摆动推杆凸轮机构;根据推杆的结构形状,凸轮机构又可分为尖顶推杆凸轮机构、滚子推杆凸轮机构和平底推杆凸轮机构。其中,偏置直动尖顶推杆凸轮机构是最基本的类型,其凸轮廓线设计原理是其他类型凸轮廓线设计的基础,因此,本文以偏置直动尖顶推杆凸轮机构为对象,研究其凸轮廓线图解法教学软件的设计方法。
运用图解法设计偏置直动尖顶推杆凸轮廓线的基本原理是反转法,其基本思想是:按照凸轮与推杆的相对运动关系,令凸轮静止不动,让推杆相对凸轮进行反转,然后通过几何作图和计算推杆位移等方法确定推杆末端在反转过程中的位置,这样所得推杆的反转运动轨迹即为凸轮的轮廓曲线[13]。
2 基于旋转变换的软件实现原理
2.1 坐标旋转变换
根据计算机图形学理论可知,平面内任意一点(,)绕原点逆时针旋转角,得到点¢(¢,¢),点与¢点之间可通过旋转变换矩阵完成坐标换算[14-15]:
若点绕原点顺时针旋转角,则只需将式(1)中的换为-即可,即
凸轮廓线的图解法设计涉及大量的几何元素旋转操作,而通过式(1)与式(2)可快速得到几何元素的旋转变换结果。因此,本文将坐标旋转变换原理作为开发凸轮廓线图解法教学软件的理论基础。
2.2 推杆位移函数C#类库
常用的推杆运动规律包括等速运动规律、等加速/等减速运动规律、五次多项式运动规律、正弦加速度运动规律和余弦加速度运动规律等。为了能够方便地调用这些推杆运动规律中的位移计算函数,运用C#设计了推杆位移函数类库,并发布为DLL库文件。该推杆位移函数类库中包括的主要位移函数如表1所示。
表1 推杆位移函数类库
2.3 凸轮机构图解法教学软件的设计步骤
以Visual Studio 2012作为开发环境,以C#作为程序设计语言,选取Windows应用程序开发模式,对偏置直动尖顶推杆凸轮机构图解法教学软件进行设计与开发,分为11个主要步骤。
步骤1——定义机构设计参数。对于偏置直动尖顶推杆凸轮机构而言,主要设计参数包括基圆半径、偏距、推杆行程、凸轮回转方向、推程角、远休止角、回程角、近休止角、推程段的推杆运动规律和回程段的推杆运动规律。在WinForm界面的左侧区域中,分别设置若干个textBox控件和radioButton控件,用于接收输入参数值;在右侧区域设置空白的绘图区域,用于显示凸轮廓线的绘制过程。
步骤2——变换坐标系。在C#的GDI+中,默认的坐标系是以左上角点为原点,轴正向为向右,轴正向为向下。为了与常规的坐标系设置情况保持一致,需要对绘图区域的坐标系进行变换,即将坐标原点平移到绘图区域中心;变换轴的正方向;设置绘图区域的背景色。相关C#代码如下:
Graphics g = pictureBox1.CreateGraphics();
g.TranslateTransform(Convert.ToSingle(0.5*pictureBox1.Width),Convert.ToSingle(0.5*pictureBox1.Height));
g.ScaleTransform(1f, -1f);
g.Clear(Color.White);
步骤3——绘图区域初始化。分别绘制轴和轴;根据基圆半径和偏距圆半径,画出基圆和偏距圆;根据推杆初始位置的几何关系,计算推杆末端点的坐标;定义PointF类型的关键点:Point_O(坐标原点)、Point_A(推杆末端点)、Point_P(推杆位置线与横轴交点点)、Point_Q(推杆最高点点);画出推杆的初始位置,如图1所示。
步骤4——划分凸轮运动周期的4个阶段。以推杆顺时针反转为例,从点开始,依次顺时针转过angle1(推程角)、angle2(远休止角)和angle3(回程角),可分别得到点、点和点,按照式(2)计算、和点的坐标,并定义PointF类型的Point_B、Point_C和Point_D,调用DrawLine方法逐一连接、、和,即完成凸轮运动周期的4个阶段划分,如图2所示。
步骤5——划分推程段。设置一个间隔角度(如15°),然后将点绕原点依次顺时针旋转15°、30°、…,按式(2)计算得到各分割点(1,2,…,8)的坐标,以此对推程段区域进行等间距划分,如图3所示。相关C#代码如下:
for (int i = 15; i <= angle1; i = i + 15)
{g.DrawLine(graypen, Point_O, new PointF (Point_A.X * Math.Cos(i * Math.PI / 180) + Point_A.Y * Math.Sin(i * Math.PI / 180), -Point_A.X * Math.Sin(i * Math.PI / 180) + Point_A.Y * Math.Cos(i * Math.PI / 180))); }
图1 绘图区域初始化
图2 凸轮运动阶段划分
步骤6——绘制推杆在推程段的各初始位置线。根据机械原理知识可知,推杆在反转过程中应始终与偏距圆相切,因此在1,2,…,8各分割点处分别作偏距圆的切线即可。在计算机程序中进行切线运算是比较复杂的。根据相对运动原理可知,推杆在点处的初始位置线,顺时针旋转15°之后就是推杆在1点处的初始位置线11,再旋转15°即得22,…。因此,只需将决定推杆位置的点和点依次顺时针旋转相应角度并再逐一连线即可,如图4所示。
步骤7——标注推杆尖顶末端的实际位置点。推杆在反转过程中,还要在机架导轨内作预期的直线移动,因此要根据推程运动规律计算并标注出推杆尖顶末端的实际位置点,如图5所示。具体做法包括:
图4 绘制推杆各初始位置线
图5 标注推杆的实际位置点
(1)按照推程运动规律(以等速运动规律为例)调用位移函数类库,计算对应的推杆实际位移;
(2)计算推杆尖顶末端在推程起始位置(推杆在点的位置线)上的坐标,将该点记为1;
(3)将点1顺时针旋转15°,得到点1,该点即为推杆在1位置线上发生相应位移后的实际位置点;
(4)在1点处填充一个小圆点,以突出显示 效果;
(5)按上述步骤,以15°为一个增量进行循环递进,直到覆盖整个推程段区域为止。
相关C#代码如下:
for (int i = 15; i <= angle1; i = i + 15)
{ float s = S_DS_T (i);
PointF AS = new PointF(Point_A.X, Point_A.Y + s);
PointF AK = new PointF(AS.X * Math.Cos(i * Math.PI / 180) + AS.Y * Math.Sin(i * Math.PI / 180), -AS.X * Math.Sin(i * Math.PI / 180) + AS.Y * Math.Cos(i * Math.PI / 180));
g.FillEllipse(redbrush, AK.X - 3, AK.Y - 3, 6, 6);
}
步骤8——画推程段的凸轮廓线。在步骤7中,只得到了1—7这7个点,描点作图的精度还不够。为了提高作图精度,按照步骤7的方法,重新对推程段每隔1°计算一个推杆实际位置点,这样就一共可得到angle1个点,再依次连接这angle1个点,便得到了推程段的凸轮廓线,如图6所示。
图6 画推程段的凸轮廓线
步骤9——画远休止段的凸轮廓线。远休止段的凸轮廓线为圆弧,因此在远休止角范围内直接绘制圆弧曲线即可。
步骤10——画回程段的凸轮廓线。回程段的凸轮廓线绘制方法与推程段完全相同,不再赘述。
步骤11——画近休止段的凸轮廓线。近休止段的凸轮廓线也为圆弧,且为基圆的一部分,因此只需在基圆上按照近休止角的范围重绘圆弧即可,如图7所示。
至此,全部凸轮廓线已绘制完毕。
图7 画近休止段的凸轮廓线
3 软件应用效果
为了更好地说明该软件的实际运行效果,针对不同设计参数的4个案例进行了验证与对比。4个案例的设计参数如表2所示,其基圆半径、偏距等结构参数以及推杆的运动规律各不相同,经该软件图解法设计之后,各案例的凸轮廓线设计结果如图8所示。
表2 应用案例参数表
图8 4个案例的凸轮廓线设计结果
由设计结果可见,该软件能够适应不同的初始条件与设计参数,所得的凸轮廓线形状精度较高,演示过程清晰直观,能够充分反映出图解法的设计步骤与原理,有利于提高学生的感性认识与学习效率,实现了对“机械原理”课程辅助教学的有力支撑。
4 结语
根据凸轮机构反转法设计原理开发的直动推杆凸轮机构图解法教学软件,允许学生对凸轮机构的设计参数进行灵活设置,能够分步骤、清晰地展示凸轮廓线的图解法设计过程,有利于学生更好地掌握凸轮机构的图解法设计原理。进一步的研究工作是:在软件生成凸轮廓线之后,结合速度曲线与加速度曲线对凸轮机构运动进行仿真,更加完善该软件的功能。
[1] 武照云,李丽,朱红瑜,等.机械原理与设计虚拟仿真实验教学平台的设计[J].实验技术与管理,2017, 34(8): 121–124.
[2] 李丽,武照云.汽车类专业机械原理课程教学改革与探索[J].教育现代化,2018(44): 90–91.
[3] 张燚,黄松和.基于ADAMS的凸轮连杆系统中凸轮的CAD系统开发及机构仿真分析[J].包装工程,2018, 39(9): 171– 176.
[4] 刘倩婧,成义森.基于UG NX的复杂盘形凸轮设计[J].机械工程师,2017(5): 67–68.
[5] 肖思伟,张晋西,陈江洪,等.基于SolidWorks和Excel的凸轮设计与运动仿真[J].重庆理工大学学报(自然科学),2017, 31(8): 73–75, 92.
[6] 刘善林.基于Pro/E的凸轮廓线精确设计及仿真研究[J].机械与电子,2009(1): 65–68.
[7] 蔡玉强,赵长庆.基于MATLAB和SolidWorks的平行分度凸轮设计[J].机械工程与自动化,2018(2): 70–72.
[8] 郑彬,尧遥.基于AutoCAD与Excel的凸轮轮廓曲线设计[J].机械管理开发,2018, 33(11): 17–19.
[9] 李彦启,赵西莉,郭军伯,等.基于虚拟样机技术的内平动分度凸轮机构动力学分析[J].机械传动,2018, 42(4): 119–124.
[10] 苏超.通用凸轮参数化设计系统开发及应用研究[D].成都:西南交通大学,2018.
[11] 葛正浩,张凯,张双琳.共轭凸轮开口机构的反求设计及动力学研究[J].机械设计,2017, 34(12): 65–68.
[12] 李艳.平面盘形凸轮机构CAD系统的智能设计[J].台州学院学报,2018, 40(3): 45–50.
[13] 孙桓.机械原理[M].北京:高等教育出版社,2013.
[14] 刁彦飞,王艳飞,李立全.应用反转法及坐标旋转变换设计凸轮廓线及Matlab仿真[J].应用科技,2006(5): 1–3.
[15] 何援军.计算机图形学[M].北京:机械工业出版社,2016.
Development of teaching software of graphic method for direct push-rod cam mechanism based on rotational transformation
WU Zhaoyun, ZHANG Yulan, ZHU Hongyu, MA Xiaolu, SHEN Huipeng
(School of Mechanical and Electrical Engineering, Henan University of Technology, Zhengzhou 450001, China)
By taking the offset straight-moving pointed push-rod cam mechanism as the object of study, a graphic teaching software for the direct-push-rod cam mechanism is designed by using C#. This paper introduces the principle of inversion method for graphic design of cam contour and the principle of software realization based on rotational transformation, including the theory of coordinate rotation transformation of points, the design method of C# class library of push-rod displacement function, etc. The design steps and operation process of the teaching software of the graphic method for cam mechanism are described in detail. The flexibility and validity of the software in displaying the design principle and steps of the cam contour graphic method are illustrated by four application cases with different design parameters.
cam mechanism; mechanical principle; graphic teaching; software development
G434
A
1002-4956(2019)07-0147-04
10.16791/j.cnki.sjg.2019.07.035
2019-01-03
河南省高等教育教学改革研究与实践重点项目(2017SJGLX057);河南省教育科学"十三五"规划2018年度一般课题(〔2018〕-JKGHYB-0078);河南省高等教育教学改革研究与实践一般项目(2017SJGLX302);河南工业大学本科教育教学改革研究与实践招标项目(GJYJ-ZB06)
武照云(1981—),男,辽宁铁岭,博士,副教授,主要研究方向为数字化设计.E-mail: wzhaoyun@163.com