版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、机电工程学院 广东工业大学“数控技术”课程设计任务书题目名称针对非圆曲线的CAM软件开发学生学院机电工程学院专业班级机械设计制造及其自动化/微电子姓 名学 号一、课程设计的内容用计算机高级编程语言(如VB,VC+等)来实现非圆曲线的计算机辅助制造(CAM)软件的开发,针对不同的非圆曲线,可任选(1)直线逼近(如等间距法、等弦长法、等误差法等)、或(2)圆弧逼近的方法产生节点。要求在满足允许误差的前提下,使得逼近的直线段或圆弧段的数量最少(即最优解), 根据加工曲线轮廓自动生成刀具中心轨迹,自动生成加工NC代码,并能模拟实际加工走刀过程。二、课程设计的要求与数据具体的要求如下:(1)列出一般的直
2、线或圆弧逼近的算法(流程图)。(2)列出改进的直线或圆弧逼近的算法(流程图)即优化算法。比较改进前与改进后的两种算法结果。(3)针对给定的某一由非圆曲线所构成的平面轮廓,根据指定的走刀方向、起刀点,自动生成CNC代码。(4)有刀具自动补偿功能,根据给定的补偿量和进给方向自动计算刀具中心轨迹,有过切报警功能。(5)在屏幕上显示该非圆曲线所构成的平面轮廓。根据给定的进给速度能模拟加工过程,并在屏幕上留下刀具所走中心轨迹。目 录一、 概述2二、凸轮机构的发展概况3三、课程设计任务 3四、软件设计71、 程序设计语言的选择72、 程序算法的简述73、设计的流程图74、设计过程 75、调试结果和界面15
3、五、总结16附:参考资料17一、概述:首先介绍了凸轮机构的特点和在国内外目前的应用发展情况,介绍了凸轮仿真设计的系统的主要设计任务,包括在编程时所采用的曲线的类型及对函数式的分析情况。接着,介绍软件程序设计的各个过程,包括算法说明、流程图介绍。还介绍了软件测试结果。最后,对这次设计过程的心得体会。 Summary of the Contents:Introduce cam organization present development at home and abroad at first , introduce cam main design task of system that emu
4、lation 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 test result of the software. F
5、inally, the gains in depth of comprehension to this design process.二、凸轮机构的发展概况 凸轮机构是一个具有曲线轮廓或凹槽的构件.凸轮通常作等速转动,但也有做往复摆动或移动的.被凸轮直接推动的构件称为推杆.凸轮机构就是又凸轮,推杆和机架三个主要构件所组成的高副机构.凸轮的最大优点是:只要适当地设计出凸轮的轮廓曲线,就可以使推杆得到各种预期的运动规律,而且机构简单紧凑.凸轮机构是间歇运动的常用机构之一,广泛用于轻工机械、纺织机械、包装机械、印刷机械、内燃机等各种自动机械中。凸轮机构之所以能在各种自动机械中获得广泛的应用,除了它的
6、最大优点外,还因为它兼有传动、导引及控制机构的各种功能。当凸轮机构用于传动机构时,可以产生复杂的运动规律,包括变速范围较大的非等速运动,以及暂时停留或各种步进运动;凸轮机构也适宜于用作导引机构,使工作部件产生复杂的轨迹或平面运动;当凸轮机构用作控制机构时,可以控制执行机构的自动工作循环。人类对凸轮机构的认识由来已久,但直到十九世纪末,对凸轮机构还未曾有过系统地研究。随着工业化的发展,对高效的自动机械的需求大大增加,需要改善内燃机配气机构的工作性能,所以直到二十世纪初,凸轮机构的研究才开始受到重视。在二十世纪四十年代以后,由于内燃机转速增加,引起故障增多,才开始对配气凸轮机构进行深入研究,并从经
7、验设计过渡到有理论根据的运动学与动力学分析。现代机械日益向高速发展,凸轮机构的运动速度也愈来愈高。因此,高速凸轮的设计及其动力学问题的研究已引起普通重视,提出了许多适于在高速条件下采用的推杆运动规律,以及一些新型的凸轮机构。另一方面,随着计算机的发展,凸轮机构的计算机辅助设计和制造已获得普遍地应用,从而提高了设计和加工的速度及质量,这也为凸轮机构的更广泛应用创造了条件。三、课程设计任务(1)平面凸轮的数控加工程序的编制设有凸轮如图1所示。凸轮转角t与从动件位移s的关系即凸轮轮廓的展成平面图如图2所示。要求分析凸轮的曲线规律,设计一个软件 图1能够用于平面凸轮的参数化绘图和生成数控加工的代码。即
8、: 1.有一个凸轮设计的友好界面; 图12.能够按照用户要求生成凸轮的曲线轮廓,对于非圆几何形状可采用直线或圆弧逼近的方法生成曲线;3.能够生成数控代码; 图2凸轮设计中涉及的有关参数可自行设定,或参考图2中的参数。(2)曲线的类型及函数式的分析所谓推杆的运动规律,是指推杆在运动时,其位移s 速度v和加速度a随时间t的变化的规律.又因为凸轮一般为等速运动,即其转角&与与时间成正比,所以推杆的运动规律更常表示为推杆的运动参数随凸轮转角&变化的规律.例如图2就是推杆位移随凸轮转角变化的运动线图.下面分析各种设计凸轮的数学表达式:首先,采用机械原理中的一般凸轮设计的几种运动方程式,并对此作了修改:1
9、、多项式运动规律 (1-1)式中为凸轮的转角;s为凸轮从动件位移;、为待定系数,可以利用边界条件等来确定。而常用的有以下几种多项式运动规律。(1) 一次多项式运动规律(速度为常数) 设取边界条件为在起点处 ,.在终点处 ,.则由式(1-2)可得,故从动件推程的运动方程为 ,回程时h取负值。(2) 二次多项式运动规律(加速度为常数) 等加速运动方程:等减速运动方程:由于等加速等减速的曲线图形都是由两部分组成,而为方便曲线的分类,固对其进行修改。其中原等加等减加速度函数为:“” 和“”。两段曲线的范围分别为h/2, o/2,,以h/2, o/2,代入原式中,即可得到求出单独等加速或等减速的函数式。
10、由于采用的h值是相对的,所以回程时,只把h取负值即可。2、三角函数运动规律(1) 余弦加速度运动规律(简谐运动规律) 从动件的加速度余弦规律变化,其运动方程为 (2) 正弦加速度运动规律(摆线运动规律) 从动件的加速度按正弦规律变化,其运动方程为 其中,等速运动:极大的冲击;等加速、等减速:冲击较大;余弦加速度运动:冲击力较小;正弦加速度运动:没冲击。由于凸轮的曲线函数还有很多,如五项式、高次方、谐波等,而且由于凸轮的具体运用场合不同,如对心直推,偏置直动推杆盘状凸轮机构,摆动推杆,平底推杆等。这些情况不在考虑的范围内,同时也忽略了对设计完成的凸轮的冲击力。二、 软件设计1、 程序设计语言的选
11、择目前流行的开发工具有C+Builder、VC、VB和Delphi,每一种开发语言都其特点。在这次程序设计中,我选择了Visual Basic(VB)程序开发工具。因为其设计语言简单易用,在编程系统中引入了面向对象的机制,提供了一种可视界面的设计方法。用户可直接使用窗体和控件设计应用程序界面,极大地提高了应用程序开发的效率。在程序中,我采用了多个应用窗口依次询问的方法,逐步完成凸轮的仿真设计。每个窗体按照不同的功能而划分为:登陆界面,基本参数选择界面,主窗体,NC加工窗体,还有帮助界面。2、 程序算法的简述数控系统一般只有直线和圆弧插补的功能,对于非圆曲线轮廓,只有用直线和圆弧去逼近它,“节点
12、”就是逼近线段与非圆曲线的交点。一个已知曲线方程的节点数主要取决于所用逼近线段形状、曲线方程的特征以及允许的逼近误差。在本程序中,由于时间的关系,我采用的逼近方法是直线逼近方法,简单易编程,容易检查出错误。虽然会在某些线段中会产生较大的误差,但由于每段逼近线段的长度较小,因此,产生的误差都在允许的范围之内。但是,也由于这个原因,使节点过多,这是无法避免的。3、设计的流程图初步构想 界面确定 确定逼近算法 模块编写 程序调制4、设计过程(1) 程序流程图文件标志符*开 始画半径为R+h的圆在list框生成该圆弧的相对和绝对NC代码N=1;R0;H=0输入参数NY文件无效N范围出错,重输Y生成坐标
13、系画半径为R的圆弧YN=1或H=0N选择曲线类型,输入参数超出范围范围出错,重输Nh0Y画凸轮轮廓线在list框生成该曲线段相对和绝对NC代码,保存相应的参数值NC加工代码浏览N是否满意清空曲线数据,恢复初始值Y结束 (2) 主要程序分析1、初始坐标系绘制 Private Sub cmdOK_Click() 坐标初始化Dim c1 As Double, c2 As Double, c As Double, a As IntegerIf IsNumeric(TxtRise1.Text) And IsNumeric(Txtr.Text) And IsNumeric(TxtNum.Text) The
14、n 判断输入的R,H,N是否是数字 m1 = TxtNum.Text: m2 = Txtr.Text: m3 = TxtRise1.Text TxtNum.Enabled = False: Txtr.Enabled = False: TxtRise1.Enabled = False Form1.Labfun.Caption = If 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: F
15、orm1.Label12.Caption = 0: Form1.Lbls.Caption = c2 Form1.Label13.Caption = s: Form1.Label14.Caption = : Form1.Label11.Caption = X Form1.Label3.Caption = 90: Form1.Label4.Caption = 0: Form1.Label8.Caption = 180 Form1.Label9.Caption = 270: Form1.Label10.Caption = 360 绘制PicView的坐标 Form1.PicView.Scale (-
16、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) 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
17、 (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, 0, 255) Form1.PicView.Line (0, 0 - i * (c1 + c2) / 10)-(c / 30, 0 - i * (c1 + c2) / 10), RGB(0, 0, 255) Next i 考虑升程和曲线段数的输入值的两种情况 一,
18、当升程为0和曲线段数为1时If c2 0 And a 1 Then Form1.Cmbsel.Enabled = True Form1.PicView1.ScaleHeight = -1.2 * c2 Form1.PicView1.ScaleTop = c2 绘制PicView1的坐标 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.Pi
19、cView1.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) Next iElse 二,当升程为0或曲线段数为 Val(Numstr) And Val(Numend) = 360 And Val(Numstr) 360 Then 检查终止角度(end1)是否大于初If Val(Dialog1.TxtRise1) = 0 Or Val(Dialog1.TxtNum) = 1 T
20、hen 如果升程H=0或曲线段数N=1 Call forend: Call case0: CmdOK.Enabled = False ElseIf Val(Numh) = 0 And cn = 1 And _ Val(Numend) 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.AddIt
21、em N & j & & Z- & Format$(deep, #0.#) j = j + 5 For i = 0 To Form1.List2.ListCount - 1 List.AddItem N & j & & Form1.List2.List(i) j = j + 5 Next i deep = deep + Val(Txt7) Next M Call NCEd ElseIf Option2.Value = True Then 相对坐标编程 Call NCStrj = 110For 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) j = j + 5 Next iNext MCall NCEdEnd IfElseMsgBox 有非法字符或其它错误,请检查End IfEnd Sub5 调试过程一、 运行时欢迎界面:二、 主程序运行界面:三、 测试各个输入参数后,运行结果如下:三、 NC加工界面:其中,测试的结果还令人满意。不过,令人遗憾的是由于加工的路线,只能实现刀具半径左补偿指令,没办
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省阳江市(2024年-2025年小学五年级语文)人教版期中考试(下学期)试卷及答案
- 2024年有机硅、有机硅橡胶项目资金申请报告代可行性研究报告
- 2024年抗肝片吸虫病药项目投资申请报告代可行性研究报告
- 2024年多导生理记录仪(8导以上)投资申请报告
- 2024-2025学年重庆市涪陵五中高三上学期开学考政治试题及答案
- 上海市市辖区(2024年-2025年小学五年级语文)人教版摸底考试(上学期)试卷及答案
- 新课标人教版五年级语文下册教案全册
- 电气火灾监控系统技术规格书
- 亚麻籽油膳食补充剂市场发展预测和趋势分析
- 去除体毛用蜡条产业运行及前景预测报告
- 软件使用的培训课件
- 博弈论中机制设计
- 铁路专用线设计规范(试行)(TB 10638-2019)
- SH200型呼吸机操作(1)教学课件
- 老年延续护理
- 2024年水泥行业风险分析报告
- 保持内心的冷静与淡定
- 第九届全国大学生物流仿真设计大赛赛题高职
- 知识产权保护宣传讲解培训
- 焊接作业中的人体工程学设计
- 吉林大学2022年648无机化学与物理化学物理化学部分考研真题(含答案)
评论
0/150
提交评论