1、 5.1.1 逐点比较法圆弧插补原理及运算过程 4 5.1.2 流程图设计 6 5.1.3 变量说明及简单的程序实现 8 5.2 DDA法直线插补 9 5.2.1 DDA法直线插补原理及运算过程 9 5.2.2 流程图设计 11 5.2.3 变量说明及简单的程序实现 12 六、设计总结 14 附录A 程序运行结果 15附录B 源程序代码 18参考文献 33一、简要说明 插补 (Interpolation) 在数控机床中,刀具不能严格地按照要求加工的曲线运动,只能用折线轨迹逼近所要加工的曲线。 插补(interpolation)定义:机床数控系统依照一定方法确定刀具运动轨迹的过程。也可以说,已知
2、曲线上的某些数据,按照某种算法计算已知点之间的中间点的方法,也称为“数据点的密化”。数控装置根据输入的零件程序的信息,将程序段所描述的曲线的起点、终点之间的空间进行数据密化,从而形成要求的轮廓轨迹,这种“数据密化”机能就称为“插补”。 插补计算就是数控装置根据输入的基本数据,通过计算,把工件轮廓的形状描述出来,边计算边根据计算结果向各坐标发出进给脉冲,对应每个脉冲,机床在响应的坐标方向上移动一个脉冲当量的距离,从而将工件加工出所需要轮廓的形状。 插补的原理和算法很多,根据数控系统输出到伺服驱动装置的信号的不同,插补方法可归纳为基准脉冲插补和数据采样插补两种类型。二、设计目的(1)了解连续轨迹控
3、制数控系统的组成原理。(2)了解逐点比较法和DDA法插补直线和圆弧的基本原理。(3)掌握逐点比较法和DDA法插补的软件实现基础。三、设计要求(1)具有数据输入界面,如起点、终点、圆心、半径及插补步长等;(2)具有插补过程的动态显示功能,如单步插补、连续插补;(3)适当的编程语言,详细的程序设计流程图,变量说明、源程序;(4)插补的步长可调。四、设计任务 PC41 逐点比较法插补第4-1象限逆圆弧 DL3 DDA法插补第三象限直线五、设计过程5.1 逐点比较法圆弧插补5.1.1 逐点比较法圆弧插补原理及运算过程 逐点比较法的基本原理是被控对象在按要求的轨迹运动时,每走一步都要与规定的轨迹进行比较
4、,由此结果决定下一步移动的方向。每进给一步都要完成四个工作节拍:偏差判断、坐标进给,偏差计算、终点判别。 设要加工图3-1所示的第一象限逆时针走向的圆弧AB,半径为R,以圆点为圆心,起点坐标为A(,),在xy坐标平面第一象限中,点的加工偏差有以下3种情况。若加工点正好落在圆弧上,则下式成立,即 若加工点落在圆弧外侧,则,即 若加工点落在圆弧内侧,则,即将上面各式分别改写为下列形式,即 (在圆弧上) (在圆弧外侧) (在圆弧内侧)取加工偏差判别函数为 若点在圆弧外侧或圆弧上,则满足的条件时,向轴发出一负向运动的进给脉冲;若点在圆弧内测,即满足条件的条件时,则向轴发出一正向运动的进给脉冲。为了简化
5、偏差判别式的运算,仍用递推法来推算下一步新的加工偏差。设加工点在圆弧外侧或圆弧上,则加工偏差为故轴必须向负方向进给一步,移动到新的加工点,其加工偏差为 (5-1)设加工点在圆弧的内测,则。那么y轴须向正向进给一步,移到新的加工点,其加工偏差为 (5-2)同理,插补第一象限顺时针圆弧时,偏差判别函数为 (5-3)当(5-4) 而插补其他象限的圆弧时,可采用坐标变换法统一于第一象限的逆圆弧插补公式,都按第一象限逆圆弧进行插补计算,而进给脉冲的方向则由实际象限决定。插补四个象限的顺、逆圆弧时偏差符号和进给方向可用下面简图表示。插补四个象限的顺、逆圆弧时偏差符号和进给方向如下图。F0 Y X 图5-2
6、 逐点比较法插补不同象限顺、逆圆弧的偏差符号和进给方向图5-3 圆弧过象限 另外,逐点比较法插补圆弧时,相邻圆弧插补方法不同,计算方法也不同。要完成过象限的功能,首先应判别何时过象限。过象限有一显著特点,就是过象限时刻正好是圆弧与坐标轴相交的时刻,因此在两个坐标值中必有一个为零,判断是否过象限只要检查是否有坐标值为零即可。通过该点后,变换插补运算再进行计算。5.1.2 流程图设计综上所述,逐点比较法圆弧插补的全过程,每走一步都要进行以下四个节拍:第一节拍偏差判别:判断刀具当前位置相对于给定的轮廓的偏差情况,以此决定刀具移动的方向;第二节拍坐标进给:根据偏差判断结果,控制刀具相对于工件轮廓进给一
7、步,即向给定的轮廓靠拢,减小偏差;第三节拍偏差计算:由于刀具进给已经改变了位置,因此应计算出刀具当前位置的新偏差,为下次判别做准备;第四节拍终点判别:判别刀具是否已到达被加工轮廓的终点。若已经到达终点,则停止插补;若还未到达终点则继续插补。如此不断重复上述四个节拍就可以加工出所要加工的轮廓。 由此便可设计出第4-1象限逆圆弧逐点比较法插补流程图。 运算中F寄存偏差值为;x和y分别寄存x和y动点的坐标值,开始分别存放和;E为寄存终点判别值:。起始YN 初始化 x0x,y0y 0F,NE F0 ?+Y向走一步X向走一步+X向走一步F+2y+1F y+1yF2x+1F x1xF+2x+1F x+1x
8、E1E E=0 ?Y0 ?结束5.1.3 变量说明及简单的程序实现 根据上面的分析及设计流程图的基本思想,现采用VC+语言对其进行具体的程序实现。最终设计的界面如下图: 该程序运行时首先要输入插补圆弧插补方向,然后再选择适当的象限,输入起点和终点X、Y坐标,圆心对终点的增量坐标以及插补步长,再点击“实际轮廓”按钮显示原始的加工轮廓,点击“插补轨迹”按钮,显示插补拟合的轨迹,若需要继续进行下一次模拟,则可以点击“重新开始”按钮,继续输入下一组数据进行模拟,点击“退出程序”则退出界面。有关控件设置及相关变量说明如下表所示。 程序界面控件设置以及相关变量说明: 控件ID 对应变量 相关说明 IDC_
9、RADIO1 插补方向为顺时针 IDC_RADIO2 插补方向为逆时针 IDC_COMBO1 选择插补起始点象限 IDC_COMBO2 选择插补结束点象限 IDC_EDIT1 x0 起点横坐标 IDC_EDIT2 y0 起点纵坐标 IDC_EDIT3 xe 终点横坐标 IDC_EDIT4 ye 终点纵坐标 IDC_EDIT5 dx 圆心对终点横坐标增量 IDC_EDIT6 b “插补步长” IDC_BUTTON1 “实际轮廓” IDC_BUTTON2 “重新开始” IDC_BUTTON3 “连续插补” IDC_BUTTON4 “单步插补” IDCANCEL 退出程序 IDC_STATIC_DR
10、AW 显示图形的窗口 注:软件运行情况及源程序见附录5.2 DDA法直线插补5.2.1 DDA法直线插补原理及运算过程在X-Y平面上对直线OA进行插补,如图5-4所示,直线的起点在原点O(0,0),终点为A(xe, ye),设进给速度V是均匀的,直线OA的长度为L,则有 其中Vx、Vy表示动点在X和Y方向的移动速度,k为比例系数。由式可得 在时间内,X和Y方向上的移动距离微小增量、应为将式代入得因此,懂点从原点走向终点的过程,可以看作是各坐标每经过一个单位时间间隔分别以增量、同时累加的结果。设经过m次累加后,X和Y方向分别都到达终点,则取,则有式变为由式可知,即 因为累加次数m必须是整数,所有
11、比例系数k一定为小数。选取k时主要考虑、应不大于1,以保证坐标轴上每次分配的进给脉冲不超过一个单位步距,即由式得另外,、的最大容许值受寄存器位数n的限制,最大值为,所以由式得 ,即一般取则有上式说明DDA法直线插补的整个过程要经过次累加才能到达直线的终点。以上仅讨论了DDA法插补第一象限直线的原理和计算公式,插补其它象限的直线时,一般将终点坐标取绝对值,这样,它们的插补计算公式与第一象限时一样,而脉冲进给方向总是直线终点坐标绝对值增加的方向。5.2.2 流程图设计采用DDA法插补时,累计器清零,被积函数寄存器分别寄存和;插补开始后,每来一个累加脉冲,被积函数寄存器里的坐标值在相应的累加器中累加
12、一次,累加后的溢出作为驱动相应坐标轴的进给脉冲和,而余数仍寄存在累加器中。当累加脉冲数等于以脉冲当量为最小单位的终点坐标,表明刀具运行到终点,停止插补运算。用软件实现DDA法直线插补时,在内存中设立几个存储单元,分别存放及其累加值和及其累加值,在每次插补运算循环过程中进行以下求和运算: 。用运算结果溢出的脉冲和来控制机床进给,就可走出所需的直线轨迹。根据以上讨论便可设计出DDA法插补第三象限直线的程序流程图。Ye有溢出吗?Y向走一步 图5-5 DDA法插补第三象限直线的程序流程图5.2.3 变量说明及简单的程序实现采用VC+设计界面如下图。程序运行时首先输入象限,输入起点和终点X、Y坐标以及插补步长,再点击“连续”“单步”按钮显示原始的加工轮廓和插补轨迹,点击“重设”按钮,继续输入下一组数据进行模拟,点击“取消”则退出界面。 有关控件设置及相关变量说明如下表所示。 IDC_RADIO 选择插补象限 ID
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1