数控滚齿加工自动编程技术的研究
2018-7-27 来源: 河南工学院 机械工程系 作者:刁修慧 李进波
摘要 为了提高齿轮加工的工作效率,提出了一种数控滚齿加工自动编程系统。首先,建立了数控滚齿 - 轴向滚切法的数学模型; 然后,建立数控滚齿加工自动编程系统的硬件平台,对系统进行了功能模块划分和软件页面集设计; 最后,对系统开发中的面向对象软件编程技术、通信技术、多线程技术、译码技术等做了分析。该技术为今后齿轮滚齿数控加工的便利提供了一些参考和经验。
关键词 滚齿 自动编程 数控
0 引言
数控滚齿加工是齿轮制造业中应用最为广泛的齿轮加工方法。齿轮加工数控机床大多采用手工编程的方法,其弊端是: 需要编程人员具备一定的专业知识和职业技能,花费大量时间编程; 另外,编程环节一旦出错,会影响加工质量,造成生产周期延长、工作效率低下。
自动编程是利用计算机编写成机床可以识别的加工代码,大部分工作由计算机完成,这样做将大大缩短生产周期,对操作人员的技能也没有太高的要求。因此,数控滚齿加工自动编程技术的研究对齿轮数控加工的发展具有现实意义。
1 、数控滚齿加工自动编程系统的数学模型
1. 1 确定对刀点
对刀时要遵循使 NC 代码简单、使加工精度高和方便在滚齿机上找正的原则,为了确保滚刀与齿坯之间有正确的位置关系,须保证滚刀和齿坯刚好接触,并使滚刀的外径和吃刀深度线 AP 相切。
1. 2 确定滚刀加工轨迹和计算关键坐标点
以轴向滚切一次循环逆滚为例,如图 1 所示,滚刀的运动轨迹是 1→2→3→4。
滚刀由参考零点位置快速进刀到位置 1; 接下来,滚刀径向进给到位置 2; 工件开始加工,当滚刀轴向运动至位置 3,一次进给加工完毕,然后,滚刀退刀至位置 4,再退回位置 1。由此可见,1、2、3 和 4 这 4 个关键点非常重要。
各个关键点坐标值如图 1 所示,关键点 1 的位置为
图 1 轴向滚切法滚刀的轨迹图
式中,r 为滚刀半径; 3 为空行程; δ1为切入行程,是滚刀开始和齿坯接触时滚刀中心与齿坯上端面的间距。关键点 2 的位置为
1. 3 滚刀和齿坯的运动关系
2 、数控滚齿加工自动编程系统
2. 1 数控滚齿加工系统的硬件平台
嵌入式系统是一种专用的计算机系统,常用于对其他设备的控制和管理。本自动编程系统是一个基于ARM + DSP + FPGA 的嵌入式平台,是基于 WindowsCE 6. 0 开发的,采用 VC + + 模块作为开发工具[2]。
ARM9 主要负责用户信息的输入、存储和显示,是自动编程系统的人机接口; 另外,基于 WindowsCE 6. 0 操作系统,负责将工作信息通过网络传送到远程服务器。DSP( DSP6713) 负责处理自动编程系统的复杂运算和实时控制,同时,为了充分发挥 ARM、DSP 的优势和得到更快的处理速度、更优控制性能和更高的加工精度,也为了软件开发的方便和灵活,把系统的人机交互界面和运动控制分割开,由 ARM负责人机交互,DSP 负责运动控制。ARM 和 DSP是通过 HPI 总线进行数据交接的,由 CPLD 负责完成HPI 接口逻辑以协调两者之间的通信。FPGA 是现场总线的接口层,实现了 DSP 和从机节点间的信息传输和接收。
2. 2 数控滚齿加工自动编程系统的软件设计
2. 2. 1 自动编程系统架构和模块划分
根据数控滚齿加工自动编程系统的功能需求,对本系统进行了模块划分[4],包括自动编程模块、位置模块、设置模块、系统模块、图形仿真模块以及一些子模块。滚齿加工自动编程系统是一个复杂的多任务系统,根据繁多的任务划分出如图 2 所示的功能模块。
从时间上来讲,各个模块有着时序配合问题; 从逻辑上讲,虽然每个模块都承担着不同的任务,但是各个模块之间存在耦合关系。因此,本系统采取并行处理多任务调度机制。
图 2 自动编程系统模块划分图
2. 2. 2 自动编程系统软件页面集设计
在对自动编程系统进行页面集设计的时候,可以参考模块划分的方法,共设计了 6 个主页面,分别是: 自动编程主页面、图形主页面、位置主页面、信息主页面、系统主页面和设置主页面,这 6 个主页面既相对独立又相互联系。
另外,根据功能设计的要求,把系统需求的各项功能合理地分布到这 6个主页面上,所以这 6 个主页面中的每一个页面都包含一个或者多个子页面,子页面的个数要根据该
主页面所需实现的功能而设置。如图 3 所示,以位置主页面为例来进行说明[5]
图 3 自动编程系统页面集
3 、数控滚齿加工自动编程系统开发的关键技术
3. 1 面向对象软件编程技术
本数控滚齿加工自动编程系统采用了面向对象的设计思想和方法,面向对象编程技术是一种分析问题、解决问题的新方法,其是以对象和类为基础的。在面向对象编程方法中,齿轮的重要参数,比如齿数、模数、压力角等就是齿轮对象的属性集合,当齿轮拥有了自身的属性后,同时也具有了操作这些属性的方法,然后对其进行封装,此时,齿轮才成为面向对象中的一个具体对象。
本系统应用了 VS 2005 中的 VC ++ 模块,该模块集成了 MFC 类库,包含了大量的 C ++ 类库,应用MFC 开发应用程序非常符合面向对象的设计思想。
3. 2 通信技术
通信模块负责将上层 ARM 的数据通过 HPI 通道准确又迅速的发送到底层 DSP,以供程序调用; 还负责接收 DSP 的各种信息。首先,要在驱动层定义读与写操作代码,在应用层,仅需打开驱动调用通道,就可以直接对 HPI 读写。上层向下层发送数据的原理如图 4 所示。
图 4 上层向下层发送数据原理图
3. 3 多线程技术
为了确保系统可以实时多任务管理,须采用多任务并行处理的方式,即多线程技术。在本滚齿自动编程系统中采用了三线程并行处理方式,分别是用户界面主线程、数据发送线程、数据接收线程。有了此三线程处理方式,既保证了实时发送数据控制机床运动,又保证了实时接收数据以显示机床运行状况,同时也实现了界面管理功能。
3. 4 译码技术
在自动编程模块,有两种途径能够生产 NC 代码。其一,在人机交互界面输入齿轮参数、工艺参数和刀具参数,然后通过自动编程模块处理生成 NC代码; 其二,在人机交互界面,用户输入 NC 代码,然后系统对 NC 代码进行检查无误后,对其进行保存。
以上两种方式生成 NC 代码,接下来经过编译模块,对其进行坐标处理和数据处理,生成规定的数据结构,此数据结构将存储在刀补处理模块的刀补缓冲区,经由通信模块传送给下层 DSP,最后,DSP根据接收到的数据内容执行插补和位控等处理。
4 、结束语
在研究了数控滚齿加工自动编程算法后,建立了自动编程系统的数学模型,在基于 ARM + DSP + FPGA的嵌入式平台上,在基于 Windows CE 6. 0 开发系统上,采用 VC ++
模块作为开发工具。对自动编程系统进行了架构设计、模块划分和页面集设计并对本系统开发的关键技术做了详细分析,开发了滚齿加工自动编程系统,最终能够实现只需输入齿轮、刀具、工艺参数就可以生成 NC 代码,大大缩短了齿轮的生成周期,降低了操作难度,提高了工作效率。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com