广东工业大学数控课程设计报告书.docx

上传人:牧羊曲112 文档编号:3501609 上传时间:2023-03-13 格式:DOCX 页数:23 大小:46.12KB
返回 下载 相关 举报
广东工业大学数控课程设计报告书.docx_第1页
第1页 / 共23页
广东工业大学数控课程设计报告书.docx_第2页
第2页 / 共23页
广东工业大学数控课程设计报告书.docx_第3页
第3页 / 共23页
广东工业大学数控课程设计报告书.docx_第4页
第4页 / 共23页
广东工业大学数控课程设计报告书.docx_第5页
第5页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《广东工业大学数控课程设计报告书.docx》由会员分享,可在线阅读,更多相关《广东工业大学数控课程设计报告书.docx(23页珍藏版)》请在三一办公上搜索。

1、广东工业大学数控课程设计报告书机电工程学院 广东工业大学“数控技术”课程设计任务书 题目名称 学生学院 专业班级 姓 名 学 号 针对非圆曲线的CAM软件开发 机电工程学院 机械设计制造及其自动化/微电子 一、课程设计的内容 用计算机高级编程语言来实现非圆曲线的计算机辅助制造(CAM)软件的开发,针对不同的非圆曲线,可任选直线逼近、或圆弧逼近的方法产生节点。要求在满足允许误差的前提下,使得逼近的直线段或圆弧段的数量最少, 根据加工曲线轮廓自动生成刀具中心轨迹,自动生成加工NC代码,并能模拟实际加工走刀过程。 二、课程设计的要求与数据 具体的要求如下: 列出一般的直线或圆弧逼近的算法。 列出改进

2、的直线或圆弧逼近的算法即优化算法。比较改进前与改进后的两种算法结果。 针对给定的某一由非圆曲线所构成的平面轮廓,根据指定的走刀方向、起刀点,自动生成CNC代码。 (4)有刀具自动补偿功能,根据给定的补偿量和进给方向自动计算刀具中心轨迹,有过切报警功能。 在屏幕上显示该非圆曲线所构成的平面轮廓。根据给定的进给速度能模拟加工过程,并在屏幕上留下刀具所走中心轨迹。 目 录 一、 概述2 二、凸轮机构的发展概况3 三、课程设计任务 3 广东工业大学 机电工程学院 1 机电工程学院 四、软件设计7 1、 程序设计语言的选择7 2、 程序算法的简述7 3、设计的流程图7 4、设计过程 7 5、调试结果和界

3、面15 五、总结16 附:参考资料17 一、概述: 首先介绍了凸轮机构的特点和在国内外目前的应用发展情况,介绍了凸轮仿真设计的系统的主要设计任务,包括在编程时所采用的曲线的类型及对函数式的分析情况。接着,介绍软件程序设计的各个过广东工业大学 机电工程学院 2 机电工程学院 程,包括算法说明、流程图介绍。还介绍了软件测试结果。最后,对这次设计过程的心得体会。 Summary of the Contents: Introduce cam organization present development at home and abroad at first , introduce cam main

4、 design task of system that emulation design, including the types of the curves adopted and situation of analysis on function type while programming. Then , introduce each course that the software designs program , including the algorithm is stated , flow chart introduction. Have also introduced the

5、 test result of the software. Finally, the gains in depth of comprehension to this design process. 二、凸轮机构的发展概况 凸轮机构是一个具有曲线轮廓或凹槽的构件.凸轮通常作等速转动,但也有做往复摆动或移动的.被凸轮直接推动的构件称为推杆.凸轮机构就是又凸轮,推杆和机架三个主要构件所组成的高副机构.凸轮的最大优点是:只要适当地设计出凸轮的轮廓曲线,就可以使推杆得到各种预期的运动规律,而且机构简单紧凑. 广东工业大学 机电工程学院 3 机电工程学院 凸轮机构是间歇运动的常用机构之一,广泛用于轻工机械

6、、纺织机械、包装机械、印刷机械、内燃机等各种自动机械中。 凸轮机构之所以能在各种自动机械中获得广泛的应用,除了它的最大优点外,还因为它兼有传动、导引及控制机构的各种功能。当凸轮机构用于传动机构时,可以产生复杂的运动规律,包括变速范围较大的非等速运动,以及暂时停留或各种步进运动;凸轮机构也适宜于用作导引机构,使工作部件产生复杂的轨迹或平面运动;当凸轮机构用作控制机构时,可以控制执行机构的自动工作循环。 人类对凸轮机构的认识由来已久,但直到十九世纪末,对凸轮机构还未曾有过系统地研究。随着工业化的发展,对高效的自动机械的需求大大增加,需要改善内燃机配气机构的工作性能,所以直到二十世纪初,凸轮机构的研

7、究才开始受到重视。在二十世纪四十年代以后,由于内燃机转速增加,引起故障增多,才开始对配气凸轮机构进行深入研究,并从经验设计过渡到有理论根据的运动学与动力学分析。 现代机械日益向高速发展,凸轮机构的运动速度也愈来愈高。因此,高速凸轮的设计及其动力学问题的研究已引起普通重视,提出了许多适于在高速条件下采用的推杆运动规律,以及一些新型的凸轮机构。另一方面,随着计算机的发展,凸轮机构的计算机辅助设计和制造已获得普遍地应用,从而提高了设计和加工的速度及质量,这也为凸轮机构的更广泛应用创造了条件。 三、课程设计任务 平面凸轮的数控加工程序的编制 设有凸轮如图1所示。凸轮转角t与 从动件位移s的关系即凸轮轮

8、廓的展成平面 图如图2所示。 要求分析凸轮的曲线规律,设计一个软件 图1 能够用于平面凸轮的参数化绘图和生成数控加工的代码。 即: 广东工业大学 机电工程学院 4 机电工程学院 1.有一个凸轮设计的友好界面; 图1 2.能够按照用户要求生成凸轮的曲线 轮廓,对于非圆几何形状可采用直线或圆 弧逼近的方法生成曲线; 3.能够生成数控代码; 图2 凸轮设计中涉及的有关参数可自行设定,或参考图2中的参数。 曲线的类型及函数式的分析 所谓推杆的运动规律,是指推杆在运动时,其位移s 速度v和加速度a随时间t的变化的规律.又因为凸轮一般为等速运动,即其转角&与与时间成正比,所以推杆的运动规律更常表示为推杆的

9、运动参数随凸轮转角&变化的规律.例如图2就是推杆位移随凸轮转角变化的运动线图. 下面分析各种设计凸轮的数学表达式: 首先,采用机械原理中的一般凸轮设计的几种运动方程式,并对此作了修改: 1、多项式运动规律 s=C0+C1d+C2d2+.+Cndn (1-1) 式中d为凸轮的转角;s为凸轮从动件位移;C0、C1、C2、为待定系数,可以利用边界条件等来确定。而常用的有以下几种多项式运动规律。 (1) 一次多项式运动规律(速度为常数) 广东工业大学 机电工程学院 5 机电工程学院 s=C0+C1d v=dsdv=wC1 a=0 dtdt设取边界条件为 在起点处 d=0,s=0. 在终点处 d=d0,

10、s=h. 则由式(1-2)可得C0=0,C1=hd/d0,故从动件推程的运动方程为 s=hd/d0,回程时h取负值。 (2) 二次多项式运动规律(加速度为常数) 等加速运动方程:s=2hd2/d02 等减速运动方程:s=h-2h(d0-d)2/d02 由于等加速等减速的曲线图形都是由两部分组成,而为方便曲线的分类,固对其进行修改。其中原等加等减加速度函数为:“s=2hd2/d02” 和“s=h-2h(d0-d)2/d02”。两段曲线的范围分别为h/2, o/2,,以h/2, o/2,代入原式中,即可得到求出单独等加速或等减速的函数式。由于采用的h值是相对的,所以回程时,只把h取负值即可。 2、

11、三角函数运动规律 余弦加速度运动规律(简谐运动规律) 从动件的加速度 广东工业大学 机电工程学院 6 机电工程学院 余弦规律变化,其运动方程为s=h1-cos(pd/d0)/2 正弦加速度运动规律(摆线运动规律) 从动件的加速度按正弦规律变化,其运动方程为s=h(d/d0)-sin(2pd/d0)/2p 其中,等速运动:极大的冲击;等加速、等减速:冲击较大;余弦加速度运动:冲击力较小;正弦加速度运动:没冲击。 由于凸轮的曲线函数还有很多,如五项式、高次方、谐波等,而且由于凸轮的具体运用场合不同,如对心直推,偏置直动推杆盘状凸轮机构,摆动推杆,平底推杆等。这些情况不在考虑的范围内,同时也忽略了对

12、设计完成的凸轮的冲击广东工业大学 机电工程学院 7 机电工程学院 力。 二、 软件设计 1、 程序设计语言的选择 目前流行的开发工具有C+Builder、VC、VB和Delphi,每一种开发语言都其特点。在这次程序设计中,我选择了Visual Basic(VB)程序开发工具。因为其设计语言简单易用,在编程系统中引入了面向对象的机制,提供了一种可视界面的设计方法。用户可直接使用窗体和控件设计应用程序界面,极大地提高了应用程序开发的效率。 在程序中,我采用了多个应用窗口依次询问的方法,逐步完成凸轮的仿真设计。每个窗体按照不同的功能而划分为:登陆界面,基本参数选择界面,主窗体,NC加工窗体,还有帮助

13、界面。 2、 程序算法的简述 数控系统一般只有直线和圆弧插补的功能,对于非圆曲线轮廓,只有用直线和圆弧去逼近它,“节点”就是逼近线段与非圆曲线的交点。一个已知曲线方程的节点数主要取决于所用逼近线段形状、曲线方程的特征以及允许的逼近误差。 在本程序中,由于时间的关系,我采用的逼近方法是直线逼近方法,简单易编程,容易检查出错误。虽然会在某些线段中会产生较大的误差,但由于每段逼近线段的长度较小,因此,产生的误差都在允许的范围之内。但是,也由于这个原因,使节点过多,这是无法避免的。 3、设计的流程图 初步构想 界面确定 确定逼近算法 模块编写 程序调制 4、设计过程 广东工业大学 机电工程学院 8 机

14、电工程学院 程序流程图 开 始 文件标志符* 输入参数 Y N 文件无效 N=1;R0;H=0 Y 生成坐标系 N 范围出错,重输 Y N=1或H=0 N 选择曲线类型,输入参数 超出范围 N 画半径为R的圆弧 范围出错,重输 h0 Y 画凸轮轮廓线 画半径为R+h的圆 在list框生成该圆弧的相对和绝对NC代码 在list框生成该曲线段相对和绝对NC代码,保存相应的参数值 NC加工代码浏览 N 是否满意 Y 清空曲线数据,恢复初始值 广东工业大学 机电工程学院 9 机电工程学院 结束 主要程序分析 1、初始坐标系绘制 Private Sub cmdOK_Click 坐标初始化 Dim c1

15、As Double, c2 As Double, c As Double, a As Integer If IsNumeric(TxtRise1.Text) And IsNumeric(Txtr.Text) And IsNumeric(TxtNum.Text) Then 判断输入的R,H,N是否是数字 m1 = TxtNum.Text: m2 = Txtr.Text: m3 = TxtRise1.Text TxtNum.Enabled = False: Txtr.Enabled = False: TxtRise1.Enabled = False Form1.Labfun.Caption = I

16、f m1 = 1 And m2 0 And m3 = 0 Then a = Val(TxtNum): c1 = Val(Txtr): c2 = Val(TxtRise1) c = 1.2 * (c1 + c2) Form1.Label15.Caption = Y: Form1.Label12.Caption = 0: Form1.Lbls.Caption = c2 Form1.Label13.Caption = s: Form1.Label14.Caption = : Form1.Label11.Caption = X Form1.Label3.Caption = 90: Form1.Labe

17、l4.Caption = 0: Form1.Label8.Caption = 180 Form1.Label9.Caption = 270: Form1.Label10.Caption = 360 绘制PicView的坐标 Form1.PicView.Scale (-c, c)-(c, -c) Form1.PicView.Line (0, -1.2 * (c1 + c2)-(0, 1.2 * (c1 + c2), RGB(0, 0, 255) Form1.PicView.Line (-1.2 * (c1 + c2), 0)-(1.2 * (c1 + c2), 0), RGB(0, 0, 255

18、) For i = 1 To 10 Form1.PicView.Line (0 + i * (c1 + c2) / 10), 0)-(0 + i * (c1 + c2) / 10), c / 50), RGB(0, 0, 255) Form1.PicView.Line (0 - i * (c1 + c2) / 10), 0)-(0 - i * (c1 + c2) / 10), c / 50), RGB(0, 0, 255) Form1.PicView.Line (0, 0 + i * (c1 + c2) / 10)-(c / 30, 0 + i * (c1 + c2) / 10), RGB(0

19、, 0, 255) Form1.PicView.Line (0, 0 - i * (c1 + c2) / 10)-(c / 30, 0 - i * (c1 + c2) / 10), RGB(0, 0, 255) Next i 考虑升程和曲线段数的输入值的两种情况 一,当升程为0和曲线段数为1时 If c2 0 And a 1 Then Form1.Cmbsel.Enabled = True 广东工业大学 机电工程学院 10 机电工程学院 Form1.PicView1.ScaleHeight = -1.2 * c2 Form1.PicView1.ScaleTop = c2 绘制PicView1的

20、坐标 Form1.PicView1.Line (0, 0)-(360, 0), RGB(0, 0, 0) For i = 1 To 4 Form1.PicView1.Line (0, 0 + i * (c2 / 4)-(5, 0 + i * (c2 / 4), RGB(0, 0, 0) Next i Form1.PicView1.Line (0, 0)-(0, c2), RGB(0, 0, 0) For i = 1 To 8 Form1.PicView1.Line (0 + i * (360 / 8), 0)-(0 + i * (360 / 8), c2 / 24), RGB(0, 0, 0)

21、 Next i Else 二,当升程为0或曲线段数为 Val(Numstr) And Val(Numend) = 360 And Val(Numstr) 360 Then 检查终止角度(end1)是否大于初 If Val(Dialog1.TxtRise1) = 0 Or Val(Dialog1.TxtNum) = 1 Then 如果升程H=0或曲线段数N=1 Call forend: Call case0: CmdOK.Enabled = False 广东工业大学 机电工程学院 12 机电工程学院 Else If Val(Numh) = 0 And cn = 1 And _ Val(Numen

22、d) 360 Then Call caseall ElseIf high + h = 0 And cn 1 And _ Val(Numend) = 1 Then If Option1.Value = True Then 绝对坐标编程 deep = Val(Txt7) Call NCStr j = 110 For M = 1 To Val(Txt8) List.AddItem N & j & & Z- & Format$(deep, #0.#) j = j + 5 For i = 0 To Form1.List2.ListCount - 1 List.AddItem N & j & & Form

23、1.List2.List(i) j = j + 5 Next i deep = deep + Val(Txt7) Next M Call NCEd ElseIf Option2.Value = True Then 相对坐标编程 Call NCStr j = 110 For M = 1 To Val(Txt8) List.AddItem N & j & & Z- & Format$(Val(Txt7), #0.#) j = j + 5 For i = 0 To Form1.List3.ListCount - 1 List.AddItem N & j & & Form1.List3.List(i)

24、 j = j + 5 Next i Next M Call NCEd End If Else MsgBox 有非法字符或其它错误,请检查 End If End Sub 广东工业大学 机电工程学院 16 机电工程学院 5 调试过程 一、运行时欢迎界面: 二、主程序运行界面: 广东工业大学机电工程学院17 机电工程学院 三、 测试各个输入参数后,运行结果如下: 广东工业大学 机电工程学院 18 机电工程学院 三、 NC加工界面: 广东工业大学 机电工程学院 19 机电工程学院 其中,测试的结果还令人满意。不过,令人遗憾的是由于加工的路线,只能实现刀具半径左补偿指令,没办法实现右补偿。 其它功能详见

25、软件,这里略过了。 广东工业大学 机电工程学院 20 机电工程学院 五、总结 在这次课程设计中,我学到了很多书本上的知识。尽管以前学过VB6.0,但是由于时间的关系及以前所学的知识是基本原理,因此,现在不得不再次重新从头开始学起,为此花费了很多时间。但这是值的,因为我学到了很多东西。不仅加深了对数控的加工的认识,还提高自己的编程水平,达到了学以致用的目的。 “凸轮轮廓曲线的计算机辅助设计”是一个新兴的项目,将设计中的“CAD”和“CAM”两者结合起来。这对于我来说,是一个极大的挑战,也是一个极大的尝试。在这次设计中,遇到的主要问题是:如何确定凸轮的轮廓曲线的各个点的坐标值以及在数控系统中采用何

26、种方法去加工曲线,还有一个NC代码的接口程序的编制。 因为在VB中只提供了直线和圆弧的绘制方法,这一点有点象数控系统只提供直线和圆弧的加工代码。对此,我采用了数控加工中的程序编制的逼近方法,用一小段直线逐步逼近非圆曲线。这样做是无法避免误差的产生,但由于所采用的逼近线段长度够短,尽量减小误差。还有一点是做推杆远休或近休时采取逼近的做法,尽管所得的曲线非圆弧,但是由于推程为零,所得的曲线与圆弧比较误差小,可满足精度.曲线上的各个坐标值,我采用了listbox通过AddItem的方法不断将各个坐标值依次添加到listbox中,并且同时生成NC的加工代码,因此也解决了NC代码的接口程序的编制。 总的来说,这次课程设计收获还比较多,锻炼了能力,增进了自学. 六 参考资料 机械原理 主编:孙桓

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号