李 伟,赵玉刚,张来宾,李科展,张 辉
LI Wei1,ZHAO Yu-gang1,ZHANG Lai-bin2,LI Ke-zhan3,ZHANG Hui4
(1. 山东理工大学 机械工程学院,淄博 255049;2.滕州市产品质量监督检验所,滕州 277500;3. 中国重汽集团 济南桥箱有限公司,济南 250116;4. 中国石化齐鲁石油化工公司 热电厂,淄博,255400)
插补是数据密化的过程。在数控系统明确起点和终点后,系统根据线段的特征(直线、圆弧、渐开线等),运用一定的算法,在起终点之间计算出一系列的数据,从而自动地对各坐标轴进行分配,使机床加工出所要求的轮廓曲线[1]。
文献[1]提出了一种最小偏差法,改进的算法虽然精度有所提高,但只能用于要求不高的开环控制系统中。文献[2]和文献[3]只是基于数控插朴特征原理,提供了数控加工椭圆曲线的有益方案,没有具体实现数控加工及仿真;文献[4]介绍了脉冲增量式插补算法的特点,基于vHDL语言编程实现了多种常用脉冲增量式插补算法的硬件插补器。
本文运用矢量法解决了起点、终点、半径确定圆心的问题,简化了计算过程,使计算值有了明确的取舍;基于脉冲增量插补原理推导出了椭圆的逐点比较法的判别函数,并在C++ Builder开发环境下,编制出椭圆的插补计算程序,实现了椭圆的数控加工仿真。
逐点比较法是脉冲增量插补方法的一种,其特点是每经过一个插补周期仅产生一个行程增量,在插补计算过程中不断向各个坐标发出相互协调的进给脉冲,驱动各个坐标的电动机运动。
1)若点P正好在椭圆弧上,则:
2)若P在椭圆弧外侧,则:
3)若P在椭圆弧内侧,则:
取加工偏差判别式:
当P在椭圆弧外侧或椭圆弧上时Fi,j≥0,需向X轴负方向进给一个脉冲当量,到新的加工点上P(xi+1,yj);其加工偏差为:
若P在椭圆弧内侧时Fi,j<0,需向Y轴正方向进给一个脉冲当量;其加工偏差为:
由此可看出,新一点的偏差值可以用前一点的偏差值递推出来,计算简单,可实现高速插补。在椭圆插补过程中,动点坐标的绝对值总是一个增大,另一个减小。如第一象限逆插补时,x减小,y增大。
偏差判别公式是基于圆心在原点的基础上推导出的,因此在进行插补前要对输入的数据进行预处理。预处理的工作包括:起点终点的处理,圆心的确定,优劣弧的判断,判别函数的确定等。
已知圆弧起点 A(x1,y1),终点 B(x2,y2),半径为R,求圆心坐标(x,y)。
图1 插补程序框图
联立方程组
得到的圆心坐标有两个,圆心的取舍与起点、终点所在的象限、优劣弧有关。
矢量法确定圆心的思想:先任意选定计算出的一个圆心O1,设O1A是圆心到起点的向量,AB是起点到终点的向量,然后把这两个向量做叉乘,若 O1A×AB>0,则 O1是 A到 B逆圆弧劣弧的圆心,同时也是A到B顺圆弧优弧的圆心;若O1A×AB<0, 则 O1是 A 到B顺圆弧劣弧的圆心,同时也是A到B逆圆弧优弧的圆心。程序框图如图1右预处理部分。其中,R代表是劣弧,-R代表优弧。
根据以上算法,在C++Builder环境中编写代码实现了椭圆插补。插补程序框图如1所示,输入参数,就可以插补计算,并且可以实现动画效果。
图2 插补仿真图
本文在C++ Builder开发环境下,编制出椭圆的插补计算程序。推导出了椭圆的插补判别公式,可以有效的实现椭圆的逼近,并进行了模拟。在牵扯到圆心坐标的取舍的问题上,本文采取一种矢量法,使简化了计算过程,使计算值有了明确的取舍,使繁琐过程变得简单,简化了计算量,具有较高的使用价值。
[1] 栾芝芸,孙雷,等. 一种新型的插补方法——自动过象限卡诺图最小偏差法[J]. 测控技术,2000,(11):51-52.
[2] 逄启寿,杨杰,等.数控加工中两种插补原理及对应算法[J].机械工程师,2007,(2): 121-122.
[3] 李卫京,李文斌.椭圆曲线插补算法研究[J].山西机械,20033,(1): 18-19.
[4] 朱昊,刘化君,等. 基于VHDL的脉冲增量式多功能插补器的设计与实现[J]. 中国制造业信息化,2007,10,(19): 38-42.
[5] 赵玉刚,宋现春. 数控技术[M]. 北京: 机械工业出版社,2003.