机床数控技术及应用
上QQ阅读APP看书,第一时间看更新

2.2 计算机数控系统基本原理

2.2.1 译码

译码程序的主要功能是:将文本格式(通常用ASCII码)表达的零件加工程序,以程序段为单位换算成后续程序所要求的数据结构(格式)。该数据结构用来描述一个程序段解释后的数据信息,它主要包括XYZ等坐标值、主轴转速、G代码、M代码、刀具号、子程序处理和循环调用处理等数据或标志的存放顺序和格式。在译码过程中,还要完成对程序段的语法检查等工作,如发现语法错误,便显示报警。

2.2.2 刀具半径补偿原理

数控机床在加工过程中,它控制的是刀具中心的运动轨迹。用户总是按零件的轮廓编制加工程序,因而为了加工所需的零件轮廓,在进行内轮廓加工时,刀具必须向零件的内侧偏移一个偏移量r;在进行外轮廓加工时,刀具中心必须向零件的外侧偏移一个偏移量,如图2-2所示。这种根据零件轮廓编制的程序和预先设定的偏移参数,数控装置能实时自动生成刀具中心轨迹的功能称为刀具半径补偿功能。

在图2-2中,实线为所需加工的零件轮廓,虚线为刀具中心轨迹。根据ISO标准,当刀具中心轨迹在编程轨迹前进方向的右边时,称为右刀补,用G42指令实现;反之称为左刀补,用G41指令来实现。

图2-2 刀具半径补偿示意图

在数控加工过程中,采用刀具半径补偿功能可大大简化编程的工作量。因刀具的磨损或因换刀引起的刀具半径的变化时不必重新编写加工程序,只需修改相应的偏置参数即可;由于加工不是一道工序完成的,在粗加工时,要为精加工预留加工余量,加工余量的预留可通过修改偏置参数实现,不必为粗精加工各编一个加工程序。

数控系统的刀具半径补偿方法有B刀具半径补偿和C刀具半径补偿。

(1)B刀具半径补偿

这种方法的特点是:刀具中心轨迹的段间连接都是以圆弧进行的,其算法简单,容易实现,如图2-2所示,但由于段间连接采用圆弧,这就产生一些无法避免的缺点:首先,当加工外轮廓尖角时,由于刀具中心通过连接圆弧轮廓尖角处时,始终处于切削状态,要求的尖角往往被加工成圆角。其次,在加工内轮廓时,要由程序员人为地编制一个辅助加工的过渡圆弧,如图2-2所示中的AB圆弧,并且要求这个过渡圆弧的半径必须大于刀具半径,这就给编程工作带来了麻烦,一旦疏忽,使过渡圆弧的半径小于刀具半径时,就会因为刀具干涉而产生过切削现象,使加工零件报废。因此,这些缺点限制了该方法的应用。

(2)C刀具半径补偿

这种方法的特点是:刀具中心轨迹的段间都以直线进行连接,由数控系统根据工件轮廓的编程轨迹和刀具偏置量直接算出刀具中心轨迹的转接点CC'点,如图2-2所示。然后再对刀具中心轨迹进行伸长和缩短的修正。这就是所谓的C机能刀具半径补偿功能(简称C刀补)。它的主要特点是采用直线作为轮廓之间的过渡,因此,该刀补的尖角工艺性较B刀补好,其次在内轮廓加工时,它实现过切自动预报,从而避免过切的发生。

(3)两种刀补的处理方法的区别

B刀补法在确定刀具轨迹时,采用的是“读一段、算一段,再走一段”的处理方法。这就无法预计到由于刀具半径所造成的下一段加工轨迹对本段轨迹的影响。于是,对于给定的零件轮廓轨迹来说,当加工内轮廓时,为了避免刀具的干涉,合理选择刀具的半径,以及在相邻加工轨迹转接处选用恰当的过渡圆弧等问题,就不得不靠程序员来处理。为了解决下一段加工轨迹对本段加工轨迹的影响问题,C刀补采用的方法是一次对两段进行处理,即先读第一段、算第一段,再读第二段、算第二段,然后根据计算结果来确定第一段、第二段之间刀具中心轨迹的段间过渡状态,分析第二段对第一段有无影响,如果有,对第一段进行处理,然后再走处理后的第一段;如果没有影响,直接走第一段。以后按这种方法依次进行下去,直到程序结束为止。

(4)刀具半径补偿的执行过程

刀具半径补偿的执行过程一般分为三步,如图2-3所示。

图2-3 刀补过程

①刀补的建立 刀具从起刀点接近工件,并在原来的编程轨迹基础上,刀具中心向左(G41)或向右(G42)偏移一个偏移量(图2-3中的粗虚线)。在该过程中不进行零件加工,由于计算的问题,该过程只能走直线(用G00或G01)。

②刀补的进行 刀具中心轨迹(图2-3中的虚线)与编程轨迹(图2-3中的实线)始终偏离一个刀具半径的距离。

③刀补的撤销 刀具撤离工件,使刀具中心轨迹终点与程序轨迹的终点重合(图2-3中的粗虚线)。它是刀补建立的逆过程。同样,在该过程中不能进行零件加工。该过程只能走直线(用G00或G01)。

(5)C机能刀具半径补偿的转接形式和过渡方式

①转接形式 由于C机能刀具半径补偿采用直线过渡,因而在实际加工过程中,随着前后两段编程轨迹线形的不同,相应的刀具中心轨迹也会有不同的转接形式,在CNC系统中都有圆弧插补和直线插补两种功能,对由这两种线型组成的编程轨迹有四种转接形式,即直线与直线转接、直线与圆弧转接、圆弧与直线转接、圆弧与圆弧转接等形式。

②过渡方式 为了讨论C机能刀具半径补偿的过渡方式,有必要先说明矢量夹角的含义,矢量夹角α是指两编程轨迹在交点处非加工侧的夹角α,如图2-4所示。

图2-4 矢量夹角的定义

根据两段编程轨迹的矢量夹角和刀补方向的不同,刀具中心从一编程段到另一个编程段的段间连接方式(即过渡方式)有缩短型、伸长型和插入型三种。

如图2-5(a)所示,ABAD为刀具半径矢量。对应于编程轨迹OAAF,刀具中心轨迹JBDK将在C点相交。这样,相对于OAAF而言,将缩短一个CBDC的长度。这种转接称为缩短型转接,其矢量夹角α>180°

图2-5 刀具中心轨迹的过渡方式

如图2-5(b)所示,C点将处于JBDK的延长线上,因此,称为伸长型转接,其矢量夹角90°<α<180°。

如图2-5(c)所示,若仍采用伸长型转接,则刀具非切削的空行程时间长。为了解决这个问题,令BC等于CD且等于刀具半径矢量的长度ABAD,同时,在之间插入过渡直线CC',等于插入一个程序段。这种过渡方式称为插入型转接,其矢量夹角α<90°。

(6)刀具中心轨迹的计算

刀具中心轨迹的计算的任务是求算其组成线段各交点的坐标值,计算的依据是编程轨迹和刀具中心偏移量(即刀具半径矢量)。如图2-5所示就是计算JCC'K点的坐标值。图中OJFKABAD为刀具半径矢量,OAAF为编程矢量,都是已知量,矢量夹角α也是已知的。图2-5是直线与直线的转接形式,其他三种转接形式的计算也是相似的。

图2-5中,J点和K点坐标可以根据刀具半径矢量OJFK的模量和方向(垂直于编程矢量OAAF)来计算。C点和C'点的坐标可由已知矢量的几何关系求出,因为编程轨迹的组合方式、刀具中心轨迹的转接形式以及刀补方向(G41/G42)的不同,C点和C'点坐标的计算公式繁多,这里不予推算。

(7)刀具半径补偿的实例

下面以一个实例来说明刀具半径补偿的工作过程,如图2-6所示,数控系统完成从O点到点E的编程轨迹的加工步骤如下。

图2-6 刀具半径补偿实例

①读入OA,判断出是刀补的建立,继续读下一段。

②读入AB,因为矢量夹角α<90°,且又是右刀补,由图2-5可知,此时段间转接的方式是插入型。则计算出abc三点的坐标值,并输出直线段Oaabbc,供插补程序运行。

③读入BC,因为矢量夹角α<90°,同理,由图2-5可知,该段间转接的过渡方式也是插入型。则计算出de点的坐标值,并输出直线段cdde

④读入CD,因为矢量夹角α>180°,同理,由图2-5可知,该段间转接的过渡方式是缩短型。则计算出f点的坐标值,由于是内侧加工,需进行过切判别,若过切则报警,并停止输出。若不过切,继续加工。

⑤读入DE(假定有撤销刀补的指令G40),因为矢量夹角α>180°,尽管是刀补撤销段,由图2-5可知,该段间转接的过渡方式是伸长型。则计算出gh点的坐标值,然后输出直线段fgghhe

⑥刀具半径补偿处理结束。刀具半径补偿计算时,首先要判断矢量夹角α的大小,然后决定过渡方式和求算交点的坐标值。矢量夹角α可以根据两相邻编程矢量(即轨迹)的矢量角来决定。

2.2.3 速度计算原理

进给速度的计算因系统的不同,其方法有很大的差别。在开环系统中,坐标轴运动速度是通过控制向步进电动机输出脉冲的频率来实现的。速度计算的方法是根据编程的F值来确定该频率值。在闭环和半闭环系统中,采用数据采样方法进行插补加工,速度计算是根据编程的F值,将轮廓曲线分割为采样周期的轮廓步长。

(1)开环系统进给速度的计算

开环系统,每输出一个脉冲,步进电动机就转过一个角度,驱动坐标轴进给一个脉冲对应的距离(称为脉冲当量δ),插补程序根据零件轮廓尺寸和编程进给速度的要求,向各坐标轴分配脉冲,脉冲的频率决定了进给速度。

从工艺要求看,两轴联动时各坐标轴的速度为:

vx=Fcosα  (2-1)

vy=Fsinα  (2-2)

式中 F——进给速度;

vxvy——X轴、Y轴方向的进给速度;

α——FX轴之间的夹角。

从控制看,两轴联动时,各坐标轴的速度为:

vx=60fxδ  (2-3)

vy=60fyδ  (2-4)

式中 fxfy——X轴、Y轴方向的进给脉冲频率。

由于进给速度要求稳定,故要选择合适的插补算法以及采取稳速措施。

(2)闭环、半闭环系统的速度计算

在闭环、半闭环系统中,速度计算的任务是确定一个采样周期的轮廓补偿和各坐标轴的进给步长。

直线插补时,首先要求出一个直线段在XY坐标上的投影LxLy,如图2-7所示。

图2-7 直线插补速度处理

式中 ——刀补后直线段终点坐标值;

——刀补后直线段起点坐标值。

接着计算直线段的方向余弦:

一个插补周期的步长为:

式中 F——编程给出的合成速度,mm/min;

Δt——插补周期,ms;

ΔL——每个插补周期小直线段的长度,μm。

各坐标轴在一个采样周期中的运动步长为:

ΔxLcosα=FcosαΔt/60  (2-12)

ΔyLcosβ=FcosβΔt/60  (2-13)

圆弧插补时,由于采用插补原理不同,插补算法不同,将算法步骤分配在速度计算中还是插补计算中也不相同。图2-8所示是一种速度算法,坐标轴在一个采样周期内的步长为:

图2-8 圆弧插补速度处理

式中 Ii-1Ji-1——圆心相对于第i-1点的坐标;

αi——第i点和第i-1点连线与X轴的夹角。

αi指圆弧上某点切线方向,即进给速度方向与X轴夹角。

2.2.4 位置控制原理

位置控制数据流程如图2-9所示,位置控制处理主要进行各进给轴跟随误差的计算,并进行调节处理,其输出为位移速度控制指令。

图2-9 位置控制转换流程

位置控制完成以下几步计算。

①计算新的位置指令坐标值:

x1新=x1旧x1  (2-16)

y1新=y1旧y1  (2-17)

②计算新的位置实际坐标值:

x2新=x2旧x2  (2-18)

y2新=y2旧y2  (2-19)

③计算跟随误差(指令位置值-实际位置值):

Δx3=x1新-x2新  (2-20)

Δy3=y1新-y2新  (2-21)

④计算速度指令值:

vx=f(Δx3)  (2-22)

vy=f(Δy3)  (2-23)

这里f(·)是位置环的调节控制算法,具体的算法视具体系统而定。这一步在有些系统中是采用硬件来实现的。vxvy送给伺服驱动单元,控制电动机驱动两执行部件以某一速度移动一个距离,以实现CNC装置的轨迹控制。

2.2.5 误差补偿原理

数控机床在加工时,指令的输入、译码、计算以及控制电动机的运动都是由数控系统统一控制完成的,从而避免了人为误差。但是,由于整个加工过程都是自动进行的,人工几乎不能干预,操作者不能对误差加以补偿,这就需要数控系统提供各种补偿功能,以便在加工过程中自动地补偿一些有规律的误差,提高加工零件的精度。

(1)反转间隙补偿

在进给传动链中,齿轮传动、滚珠丝杠螺母副等均存在反转误差,这种反转间隙会造成在工作台反向运动时,电动机空走而工作台不运动,从而造成半闭环系统的误差和全闭环系统的位置环震荡不稳定。

解决方法:采用预紧和调整的方法,减小间隙。对剩余间隙,在半闭环系统中可将其参数测出,作为参数输入数控系统,那么,此后每当数控机床反向运动时,数控系统会控制电动机多走一段距离,这段距离等于间隙值,从而补偿了间隙误差。需要注意的是对全闭环系统不能采用以上补偿方法(通常数控系统要求将间隙值设置为零),因此,必须从机械上减小或消除间隙。有些系统具有全闭环反向间隙附加脉冲补偿,以减小其对全闭环稳定性的影响。也就是说,当工作台反向运动时,对伺服系统施加一个一定脉宽的脉冲电压(可由参数设定),以补偿间隙误差。

(2)螺距误差补偿

在半闭环系统中,定位精度很大程度上受滚珠丝杠精度的影响,尽管采用了高精度的滚珠丝杠,但误差总是存在的。要得到超过滚珠丝杠精度的运动精度,则必须采用螺距误差补偿功能,利用数控系统对误差进行补偿和修正。采用该功能的另一个原因是:数控机床长时间使用后,由于磨损,精度可能下降。这样,采用该功能定期测量与补偿可在保持精度的前提下,延长机床的使用寿命。

螺距误差补偿的基本原理是:将数控机床某轴的指令位置与位置测量系统所测得的实际位置相比较,计算出在全行程上的误差分布曲线,将误差以表格的形式输入数控系统中。以后数控系统在控制该轴运动的时候,会自动考虑到该差值并加以补偿,其实施步骤如下。

①安装高精度位移测量装置。

②编制简单程序,在整个行程上,顺序定位在一些位置点上。所选点的数目及距离受数控系统限制。

③记录运动到这些点的实际精确位置。

④将各点处的误差标出,形成在不同的指令位置处误差表。

⑤测量多次,取平均值。

⑥将该表输入数控系统,按此表进行补偿。

例如,图2-10为输入至数控系统的螺距误差补偿表,图2-11所示为X轴七点的误差曲线。

图2-10 螺距误差补偿表

图2-11 X轴七点的误差曲线

使用螺距误差补偿功能时,应注意如下几点。

①重复定位精度较差的轴,因为无法准确确定其误差曲线,螺距误差补偿功能无法使用。该功能无法补偿重复定位误差。

②只有建立机床坐标系后,螺距误差补偿才有意义。

③由于机床坐标系是靠返回参考点来建立的,因此,在误差表中参考点的误差为零。

④需要采用比滚珠丝杠高一个数量级的检测装置来测量误差分布曲线,否则没有意义。一般常用激光干涉仪来测量。

(3)其他因素引起的误差及其补偿

①摩擦力与切削力所产生的弹性间隙 由于机械传动链具有有限的刚度,因此由摩擦力与切削力可能引起传动链的弹性变性,从而形成弹性间隙。由于这种间隙与外部载荷有关,因此无法进行补偿,只有靠增大传动链的刚度,减小摩擦力来解决。

因此,补充功能不是万能的,机械安装中造成的重复定位误差无法补偿,加上丝杠的螺距误差与环境温度有关,并不断的磨损,故无法进行补偿。因此,要进一步提高机床的精度,只有采用全闭环系统。在全闭环系统中,上述误差均在闭环之内,可以得到闭环修正,所以,全闭环可以达到较高的定位精度和重复定位精度。

②位置环跟随误差 解决位置环所形成的误差,可采取选用动态特性好的驱动装置、减少负载惯量、提高位置开环增益、使各轴位置开环放大倍数相等的方法。

③伺服刚度 不仅机械传动有刚度问题,实际上伺服系统也有刚度问题。伺服刚度描述了在电动机外部施加一个转矩负载可使位置环产生多大的位置误差,即:

式中 ks——伺服刚度,μm/N;

M——外加载荷,N;

E——位置误差,μm。

显然,伺服刚度越高,表示抗负载能力越强。换句话说,加工时切削力对位置控制精度的影响就越小,因此,伺服刚度也是衡量位置控制性能的重要标志。

2.2.6 插补计算原理

2.2.6.1 插补的概念

众所周知,零件的轮廓形状是由各种线型(如直线、圆弧、螺旋线、抛物线、自由曲线等)构成的。其中最主要的是直线与圆弧。用户在零件加工程序中,一般仅提供描述该线型所必需的相关参数,如对直线,提供起点和终点;对圆弧,提供起点、终点、顺圆或逆圆以及圆心相对起点的位置。因此,为了实现轨迹控制,必须在运动过程中实时计算出满足线型和进给速度要求的若干中间点(在起点和终点之间)。这就是数控技术中插补的概念。据此对插补定义如下:所谓插补,就是根据进给速度和给定轮廓曲线的要求,在轮廓的已知点之间,确定一些中间点的方法,这种方法称为插补方法或插补原理。而对于每一种原理(方法)又可能用不同的计算方法来实现,这种具体的计算方法称为插补算法。

对轮廓控制系统来说,最主要的功能便是插补功能,这是由于插补计算是在机床运动过程中实时进行的,即在有限的时间内,必须对各坐标轴实时地分配相应的位置控制信息和速度控制信息。轮廓控制系统正是因为有了插补功能,才能加工出各种形状复杂的零件。可以说插补功能是轮廓控制系统的本质特征。因此,插补算法的优劣,将直接影响CNC系统的性能指标。

2.2.6.2 插补方法的分类

由于插补方法的重要性,不少学者都致力于插补方法的研究,使之不断有新的、更有效的插补方法应用于CNC系统中。目前常用的插补算法大致分为脉冲增量插补和数字增量插补两大类。

2.2.6.3 脉冲增量插补(行程标量插补)

这类插补算法的特点如下。

①每次插补的结果仅产生一个单位的行程增量(一个脉冲当量)。以一个脉冲的形式输出给驱动电动机。其基本思想是用折线来逼近曲线(包括直线)。

②插补速度与进给速度密切相关。而且还受到步进电动机最高运行频率的限制,如当脉冲当量(单位脉冲下工作台或刀具移动的距离)是10μm时,采用该插补算法所获得的最高进给速度是5m/mim。

③脉冲增量插补的实现方法较简单,通常用加法和位移运算的方法就可完成插补。因此,它比较容易由硬件来实现,而且,用硬件实现这类算法的速度是很快的。但也有用软件来实现这类算法的。

这类插补算法有逐点比较法、最小偏差法、数字积分法、目标点跟踪法、单步追踪法等,它们主要用于采用步进电动机驱动的数控系统。下面以逐点比较法和数字积分法为例来做一说明。

(1)逐点比较法

逐点比较法是脉冲增量插补的最典型的代表,它是一种最早的插补算法,该法的原理是:CNC系统在控制过程中,能逐点地计算和判别运动轨迹与给定轨迹的偏差,并根据偏差控制进给轴向给定轮廓靠近,缩小偏差,使加工轮廓逼近给定轮廓。

逐点比较法是以折线来逼近直线和圆弧曲线的,它给定的直线或圆弧之间的最大误差是不超过一个脉冲当量,因此,只要将脉冲当量取得足够小,就可以达到加工精度的要求。

①直线插补计算原理

a.偏差计算公式。假定加工如图2-12(a)所示的第一象限的直线OA。取直线起点为坐标原点,直线终点坐标(XeYe)是已知的。MXmYm)为加工点(动点),若MOA直线上,则根据相似三角形的关系可得:

图2-12 逐点比较法插补

Fm=ymxe-xmye作为直线插补的偏差判别式。

M在直线OA上,,则Fm=0;

M在直线OA上方的M',,则Fm>0;

M在直线OA下方的M″,,则Fm<0。

设在某加工点处,有Fm>0时,为了逼近给定轨迹,应沿+X方向进给一步,走一步后新的坐标值为:

xi+1=xi+1

yi+1=yi

新的偏差为:Fi+1=yi+1xe-xi+1ye=Fi-ye

Fm<0时,为了逼近给定的轨迹,应向+Y方向进给一步,走一步后新的坐标值为:

xi+1=xi

yi+1=yi+1

新的偏差值为:Fi+1=yi+1xe-xi+1ye=Fi+xe

b.终点判别法。逐点比较法的终点判别有多种方法,下面介绍两种。

第一种方法:设置XY两个减法计数器,计算前,在XY计数器中分别存入终点坐标(xeye),在X坐标(或Y坐标)进给一步时,就在X计数器(或Y计数器)中减去1,直到这两个计数器中的数都减到零时,便到达终点。

第二种方法:用一终点计数器,寄存XY两个坐标,从而计算从起点到终点的总步数∑;XY每走一步,∑减去1,直到∑为零,就到达终点。

c.插补计算过程。插补计算时,每走一步,都要进行四个步骤(又称为四个节拍)的逻辑运算和算术运算,即偏差判别、坐标计算和进给、偏差计算、终点判别。

d.不同象限的直线插补计算。上面讨论的是第一象限的直线插补方法,其他三个象限的插补方法,可以用相同的原理获得,表2-1中列出四个象限的直线插补时的偏差计算公式和进给脉冲方向,计算时,公式中xeye均用绝对值。

表2-1 四象限插补偏差计算公式

例2-1 欲加工第一象限直线OA,起点在原点,终点坐标值(6,4),试写出插补计算过程,并绘制插补轨迹。

其插补过程如表2-2所示,插补轨迹如图2-13所示。

表2-2 逐点比较法直线插补

图2-13 逐点比较法直线插补轨迹

②圆弧插补计算原理

a.偏差计算方式。下面以第一象限逆圆为例讨论偏差计算公式。如图2-12(b)所示,设需要加工圆弧,圆弧的圆心在坐标原点,已知圆弧的起点为Ax0y0),终点为Bxeye),圆弧半径为R,令瞬时加工点为Mxiyi),它与圆心的距离为Ri。比较RRi反映加工误差。

因此,可得圆弧偏差判别式如下:

若 Fi=0,表明加工点M在圆弧上;

Fi>0,表明加工点在M圆弧外;

Fi<0,表明加工点在M圆弧内。

设加工点正处于Mxiyi)点,若Fi≥0,对于第一象限逆圆,为了逼近圆弧,应沿-X方向进一步,到i+1点,其坐标值为:

xi+1=xi-1

yi+1=yi

新的加工点的偏差为:

Fi<0,对于第一象限逆圆,为了逼近圆弧,应沿+Y方向进一步,到i+1点,其坐标值为:

xi+1=xi

yi+1=yi+1

新的加工点的偏差为:

b.终点判别法。圆弧插补的终点判别与直线插补相同。可将从起点到达终点XY轴所走步数的总和∑存入一个计数器中,每走一步,∑减去1,直到∑为零,就到达终点。

c.插补计算过程。圆弧插补计算过程与直线插补计算过程相同,但是偏差计算公式不同。

d.四个象限圆弧插补计算公式。圆弧所在的象限不同、顺逆不同,则插补计算公式不同,进给方向也不同。归纳起来有8种情况的进给脉冲方向与偏差计算公式,如表2-3所示。表中xiyixi+1yi+1都是动点坐标的绝对值。

表2-3 四象限圆弧插补公式

例2-2 设欲加工第一象限逆时针圆弧AB,起点A(5,0),终点B(0,5),如图2-14所示。试写出插补计算过程,并绘制插补轨迹。

其插补计算过程如表2-4所示,插补轨迹如图2-14所示。

表2-4 逐点比较法圆弧插补过程

图2-14 逐点比较法圆弧插补轨迹

(2)数字积分法

数字积分法又称数字微分分析器(简称DDA)法,采用DDA法进行插补,具有运算速度快、逻辑能力强、脉冲分配均匀等特点,可以实现一次、二次甚至高次曲线的插补,适合于多坐标联动控制。只要输入很少的数据,就能加工出直线、圆弧等比较复杂的曲线轨迹,进度也能满足要求。一般CNC系统常用这种插补方法,因此DDA算法在数控系统中获得相当广泛的应用。

①数字积分法的基本原理 如图2-15所示,从微分的几何概念来看,t=0时刻到t,求函数曲线x=ft)所包围的面积S时,可用积分公式为:

图2-15 数字积分原理

若将0~t的时间划分成时间间隔为Δt的有限区间,当Δt足够小时,可得近似公式:

式中 xi——t=ti时的ft)值。

式(2-27)说明,求积分的过程就是用数的累加来近似代替,其几何意义就是用一系列微小的矩形面积之和近似表示函数ft)以下的面积。在数学运算时,若Δt一般取最小的单位“1”,式(2-27)则称为矩形公式,可简化为:

如果将Δt取得足够小,就能满足精度要求。

②DDA法直线插补 对于平面直线进行插补,如图2-16所示的直线OA,起点在原点,终点坐标为(xeye),令v表示动点移动速度,vxvy分别表示动点在X轴和Y轴方向的分速度,根据积分公式,在XY轴上的微小位移量Δx,Δy应为:

图2-16 数字积分法直线插补原理

Δx=vxΔt  (2-29)

Δy=vyΔt  (2-30)

因而有:

vx=Kxe  (2-34)

vy=Kye  (2-35)

坐标轴的位移增量为:

Δx=KxeΔt  (2-37)

Δy=KyeΔt  (2-38)

各坐标轴的位移量为:

式(2-39)、式(2-40)中,取Δt=1,由此可作直线插补器,如图2-17所示。直线插补器由两个数字积分器组成,其被积函数寄存器中存放终点坐标值xeye,Δt相当于插补控制源发出的控制信号。每发出一个插补脉冲Δt,控制被积函数xeye向各自的积分累加器相加一次。设累加器为n位,容量为2n(最大存为2n-1),取,当xy计数满2n时,必然发生溢出。如果将xe累加m次以后,X的积分值应为:

图2-17 直线插补数字积分器

该数的整数部分表示溢出的脉冲数,余数部分存放在累加器中。这种关系还可以表示为:

积分值=溢出脉冲数+余数

当两个坐标方向XY同时插补时,用溢出脉冲控制机床进给就可以加工出所需要的直线。当插补迭代次数m=2n时,两个坐标xy同时到达终点xeye

DDA直线插补时,不论坐标值xeye多大,都必须累加求和m=2n次插补才能结束。终点判别通常采用累加次数的减法计数。插补前,在n位计数器中,预先设置入2n的运算次数,插补时,每经过一个Δt时间,累加器累加运算一次,同时,计数器进行一次减1,当计数器减到0时,表示插补结束,进给达到加工直线的终点。

③DDA法圆弧插补 对于如图2-18所示的第一象限圆弧AB,圆心在原点,半径为R,圆弧端点为AxAyA)、BxByB),加工动点Pxiyi),若逆时针进给,则有:

图2-18 数字积分圆弧插补原理

则:

vx=Kyi  (2-43)

vy=Kxi  (2-44)

Δx=vxΔt=KyiΔt  (2-45)

Δy=vyΔt=KxiΔt  (2-46)

设Δt=1,则有:

用DDA算法进行圆弧插补时,是对加工动点的坐标xiyi的值分别进行累加,若积分累加器有溢出,则相应坐标轴进一步,由此可以构成圆弧积分插补器,如图2-19所示。

图2-19 圆弧插补数字积分器

DDA算法圆弧插补的终点判别不像直线插补那样,根据插补的次数来判别。一般采用分别判断每个坐标轴方向进给步数的方法,即Nx=|xA-xB|,Ny=|yA-yB|。

2.2.6.4 数字增量插补(时间标量插补)

这类插补算法的特点如下。

①插补程序以一定的时间间隔(插补周期)定时运行,在每个周期内根据进给速度计算出各坐标轴在下一插补周期内的位移增量(数字量)。其基本思想是:用直线段(内接弦线、内接均差弦线、切线等)来逼近曲线(包括直线)。

②插补速度与进给速度无严格的关系。因而采用这种插补算法时,可以达到较高的进给速度。

③数字增量插补的实现算法较脉冲增量插补复杂,它对计算机的运行速度有一定的要求,不过现在的计算机均能满足其一般要求。

这类插补方法有扩展数字积分法、二阶近似插补法、双DDA插补法、角度逼近法、时间分割法等。其中,以时间分割法最为常见。下面就以时间分割法为例来介绍数字增量插补法。

这类插补算法主要用于以交、直流伺服电动机为驱动系统的闭环、半闭环数控系统,也可以用于以步进电动机为伺服驱动系统的开环数控系统,而且,目前所使用的CNC系统中,大多数都采用这种方法。

(1)插补周期与速度、精度的关系

在直线插补时,这类插补算法是用小直线段逼近直线,它不会产生逼近误差。在曲线插补(如圆弧)中(图2-20),当用内接弦线逼近曲线时,其逼近误差为ek,插补周期为T,进给速度为F,该曲线在该处的曲率半径R的关系为:

图2-20 用内接弦线逼进圆弧

由于δ很小,则:

ΔL=FT  (2-52)

由此可知,插补周期T与进给速度F、逼近误差ek以及曲率半径R有关。当FR一定时,T越小,ek也越小;当Rek一定时,T越小,容许的进给速度越大。从这个意义上讲,T越小越好,但是T的选择将受到插补运算时间、位置控制周期以及系统CPU等的限制。在实际CNC系统中,T是固定的,而FR是用户给定的,所以编程时要根据最大容许误差ek以及圆弧半径R来选择进给速度F

(2)直线插补算法

在设计直线插补程序时,为了简化程序的设计,通常将插补计算坐标系的原点选在被插补直线的起点,如图2-21所示。设有一直线OPO(0,0)为起点,Pxeye)为终点,要求以速度F(mm/min),沿着OP进给,设系统插补周期为T(ms),则在T内的合成进给值ΔL(μm)为:

图2-21 时间分割法直线插补

T=8ms则:

设为Pixiyi)某一插补点,Pi+1xi+1yi+1)为下一插补点,则由图可知:

ΔxiLcosα  (2-55)

xi+1=xixi  (2-56)

yi+1=xi+1tanα  (2-57)

Δyi=yi+1-yi  (2-58)

式(2-55)~式(2-60)算法是先求Δxi,后计算Δyi,同样,还可以先计算Δyi后,计算Δxi,即:

ΔyiLcosβ  (2-61)

yi+1=yiyi  (2-62)

xi+1=yi+1tanβ  (2-63)

Δxi=xi-1-xi  (2-64)

上述哪种算法比较好?可对它们进行如下分析。

由第一种算法可得:

Δyi=(xixi)tanα-yi  (2-67)

由第二种算法可得:

Δxi=(yiyi)tanβ-xi  (2-68)

对式(2-67)、式(2-68)分别求微分,并取绝对值得:

由此可知,当|xe|>|ye|时:

对式(2-69)有:  |d(Δyi)|<|d(Δxi)|  该算法对误差有收敛作用;

对式(2-70)有:  |d(Δxi)|>|d(Δyi)|  该算法对误差有放大作用。

通过上面的分析,可得出如下结论。

当|xe|≥|ye|时,采用先算Δx的方法。

当|xe|<|ye|时,采用先算Δy的方法。

该结论的实质是:在插补计算时,总是先算大的坐标增量,后算小的坐标增量。若再考虑不同的象限,则插补公式将有8组。为了程序设计的方便,可引入引导坐标的概念,即在采样周期内,将进给增量值较大的坐标定义为引导坐标G,进给增量值较小的坐标定义为非引导坐标N。由于引入引导坐标的概念,便将插补计算公式归纳为一组。

ΔGiLcosβ  (2-71)

Gi+1=GiGi  (2-72)

Ni+1=Gi+1tanβ  (2-73)

ΔNi=Ni-1-Ni  (2-74)

在程序设计时,将式(2-71)~式(2-76)设计成子程序,并在其输入输出部分进行引导坐标与实际坐标的相互转换,这样可大大简化程序的设计。

(3)圆弧插补算法

采用时间分割法进行圆弧插补的基本方法是用内接弦线逼近圆弧。只要在插补过程中根据半径合理选用进给速度F,就可以使逼近精度满足要求。

同直线插补一样,在设计圆弧插补程序时,为了简化程序设计,通常将插补计算坐标系的原点选在被插补圆弧的圆心上,如图2-22所示,以第一象限顺圆插补(G02)为例讨论圆弧插补原理。图中Pixiyi)为圆上某一插补点APi+1xi+1yi+1)为下一插补点C,直线段ACACL)为本次的合成进给量,DAC的中点,δ为本次插补的逼近误差。由图的几何关系可得:

图2-22 时间分割法圆弧插补

ΔABC∝ΔODym

则有:

由于Δyiδ都为未知数,故对式(2-78)进行如下近似处理:

由于ΔL很小,可用Δyi-1代替Δyi

由于Rδ,可用RR-δ

由此有:cosγi≈(yiyi-1/2)/R  (2-79)

式中 Δyi-1——由上一次插补运算中自动生成的。

但是,在开始时是没有Δy0,可采用如下算法求取该值。

Δx0Ly0/R  (2-80)

Δy0Lx0/R  (2-81)

式中 x0y0——插补圆弧的起点。

则:

ΔxiLcosγiLyiyi-1/2)/R  (2-82)

整理得:

ΔxiLyiyi-1/2)/R  (2-84)

xi+1=xixi  (2-85)

Δyi=yi-yi+1  (2-87)

同直线插补一样,除上述算法外,还可以用下面的算法,即:

ΔyiLxixi-1/2)/R  (2-88)

yi+1=yiyi  (2-89)

Δxi=xi+1-xi  (2-91)

由式(2-84)~式(2-87)、式(2-88)~式(2-91)中第一个增量求得第二个增量的算法是:

分别对式(2-92)、式(2-93)两边微分得:

由此可得,当|xi+1|>|yi+1|时:

对式(2-94)有:  |d(Δyi)|<|d(Δxi)|  该算法对误差有收敛作用;

对式(2-95)有:  |d(Δxi)|>|d(Δyi)|  该算法对误差有放大作用。

通过上面的分析,可得出如下结论:

当|xi|≥|yi|时,采用先算Δx的方法;

当|xi|<|yi|时,采用先算Δy的方法。

该结论的实质是:在插补计算时,总是先算大的坐标增量,后算小的坐标增量。若再考虑不同的象限、不同插补方向(G02/G03),则插补公式将有16组。为了程序设计的方便,可引入引导坐标的概念,即在采样周期内,将进给增量值较大的坐标定义为引导坐标G,进给增量值较小的坐标定义为非引导坐标N。由于引入引导坐标的概念,便将插补计算公式归纳为2组。

第一组(A):

ΔGiLNiNi-1/2)/R

Gi+1=GiGi

ΔNi=Ni-Ni+1

第二组(B):

ΔGiLNiNi-1/2)/R

Gi+1=GiGi

ΔNi=Ni+1-Ni

顺圆插补(G02)和逆圆插补(G03)在各象限采用公式的情况如图2-23所示。

图2-23 圆弧插补各象限采用公式情况

在程序设计中,将A、B两组公式设计成子程序,并在其输入输出部分进行引导坐标与实际坐标的相互转换(包括进给方向)处理,这样可大大简化程序的设计。

在圆弧插补公式推导中,采用了近似计算,cosγi值必然产生偏差,这样求得的插补值也会有误差,但是由于在算法中采用了公式,则所求的插补点的坐标(xi+1yi+1)总可保持在圆上,因此对算法的稳定性和轨迹精度没有影响。

2.2.7 加减速控制原理

在CNC装置中,为了保证机床在启动或停止时不产生冲击、失步、超程或震荡,必须对送到进给电动机的进给脉冲频率或电压进行加减速控制。即在机床加速启动时,保证加在伺服电动机上的进给脉冲频率或电压逐渐增大;而当机床减速停止时,保证加在伺服电动机上的进给脉冲频率或电压逐渐减小。

在CNC装置中,加减速控制多数都采用软件来实现,这样给系统带来了较大的灵活性。这种用软件实现的加减速控制可以放在插补前进行,也可以放在插补后进行。放在插补前的加减速控制称为前加减速控制,放在插补后的加减速控制称为后加减速控制,如图2-24所示。

图2-24 前后加减速控制

前加减速控制的优点是仅对合成速度——编程指令速度F进行控制,所以它不会影响实际插补输出的位置精度。前加减速控制的缺点是需要预测减速点,这个减速点要根据实际刀具位置与程序段终点之间的距离来确定,因此这种预测工作需要完成的计算量较大。

后加减速控制与前加减速控制相反,它是对各运动轴分别进行加减速控制,这种加减速控制不需专门预测减速点,而是在插补输出为零时开始减速,并通过一定的时间延迟逐渐靠近程序段终点。后加减速的缺点是:由于它对各运动坐标轴分别进行控制,所以在加减速控制以后,实际的各坐标轴的合成位置就可能不准确。但是,这种影响仅在加速或减速过程中才会有,当系统进入匀速状态,这种影响就不存在了。

2.2.7.1 前加减速控制

(1)稳定速度和瞬时速度

所谓稳定速度,就是系统处于稳定状态时,每次插补一次(一个插补周期)的进给量。在CNC装置中,零件程序段的速度指令命令或快速进给(手动或自动)时所设定的快速指令进给速度F(mm/min),需要转换成每个插补周期的进给量。另外,为了调速方便,设置了快速进给倍率开关、切削进给倍率开关等。这样,在计算稳定速度时,还需要将这些因素考虑在内。稳定速度的计算公式如下:

式中 fs——稳定速度,mm;

T——插补周期,ms;

F——指令进给速度,mm/min;

K——速度系数,包括快速倍率、切削进给倍率等。

除此之外,稳定速度的计算完成以后,进行速度限制的检查,如果稳定速度超过由参数设定的最大速度,则取限制的最大速度为稳定速度。

所谓瞬时速度,即系统在每个插补周期的进给量。当系统处于稳定状态时,瞬时速度fi等于稳定速度fs,当系统处于加速(或减速)状态时,fi<fs

(2)线性加减速处理

当机床启动、停止或在切削加工过程中改变进给速度时,系统自动进行线性加/减速处理。加/减速速率分别为进给和切削进给两种,它们必须作为机床的参数预先设置好。设指令进给速度为F(mm/min),加速到F所需要的时间为t(ms),则加/减速度a[μm/(ms)2]可按下式计算:

①加速处理 系统每插补一次都要进行稳定速度、瞬时速度和加/减速处理。当计算的瞬时速度小于原来的稳定速度fs时,则要加速。每加速一次,瞬时速度为:

fi+1=fi+at  (2-98)

新的瞬时速度fi+1参加插补计算,对各坐标轴进行分配。这样,一直到稳定速度为止。

②减速处理 系统每进行一次插补运算,都要进行终点判别,计算出离开终点的瞬时距离Si,并根据本程序段的减速标志,检查是否已到达减速区域,若已到达,则开始减速。当稳定速度fs和设定的加减速度a确定后,减速区域S可由下式求得:

若本段程序段要减速,且SiS,则设置减速状态标志,开始减速处理。每减速一次,瞬时速度为:

fi+1=fi-at  (2-100)

新的瞬时速度fi+1参加插补运算,对各坐标轴进行分配,一直到新的瞬时速度减到零。若要提前一段距离开始减速,则可根据需要,将提前量ΔS作为参数预先设定好,由下式计算:

(3)终点判别处理

在每次插补运算结束后,系统都要根据求出的各轴的插补进给量,来计算刀具中心离开本程序段终点的距离,然后进行终点判别。在即将到达终点时,设置相应的标志。若本段程序要减速,则还需要检查是否已达到减速区域并开始减速。

终点判别处理可分为直线和圆弧两种情况。

①直线插补时Si的计算 在图2-25中,设刀具沿着OP作直线运动,P为程序段终点,A为某一瞬时点。在插补计算中,已求得XY的插补进给量Δx和Δy。因此,A点的瞬时坐标值可求得:

图2-25 直线插补终点判别

X为长轴,其增量值为已知,则刀具在X方向上离终点的距离为x-xi。因为长轴与刀具移动方向的夹角是定值,且cosα的值已计算好。因此,瞬时点A离终点P的距离为:

②圆弧插补时Si的计算

a.当圆弧所对应的圆心角大于π时,瞬时点离圆弧终点的直线距离越来越小,如图2-26(a)所示。Axiyi)为顺圆插补时圆弧上的某一瞬时点,Pxy)为圆弧的终点,AMA点在X方向离终点的距离,|AM|=|x-xi|;MPP点在Y方向离终点的距离,|MP|=|y-yi|;AP=Si。以MP为基准,则A点离终点的距离为:

b.当圆弧弧长的对应圆心角大于π时,设A点为圆弧AP的起点的弧长所对应的圆心角等于π时的分界点,C点为插补到终点的弧长所对应的圆心角小于π的某一瞬时点,如图2-26(b)所示。显然。此时瞬时点离圆弧终点的距离Si的变化规律是,当从圆弧起点A开始插补到B点时,Si越来越大,直到Si等于直径;当插补越过分界点B后,Si越来越小,与图2-26(a)相同。对于该种情况,计算Si时首先要判断Si的变化趋势。Si若是变大,则不进行终点判别处理,直到越过分界点;若Si变小,再进行终点判别处理,如图2-26所示。

图2-26 圆弧插补终点判别

2.2.7.2 后加减速控制

(1)指数加减速控制算法

进行指数加减速控制的目的是将启动或停止时的速度随着时间按指数规律上升或下降,如图2-27所示。

图2-27 指数加减速

指数加减速控制速度与时间的关系如下。

匀速时:  Vt)=Vc  (2-105)

式中 T——时间常数;

Vc——稳定速度。

图2-28是指数加减速控制算法的原理,在图中Δt表示采样周期,它在算法中的作用是对加减速运算进行控制,即每个采样周期进行一次加减速运算。误差寄存器E的作用是:对每个采样周期的输入速度Vc与输出速度V之差进行累加,累加结果一方面保存在误差寄存器中,另一方面与相乘,乘积作为当前采样周期加减速控制的输出V。同时V又反馈到输入端,准备下一个采样周期,重复以上过程。

图2-28 指数加减速控制原理图

上述过程可以用迭代公式来实现。

式中 EiVi——第i个采样周期误差寄存器E中的值和输出速度值,且迭代初值V0E0为零。

只要Δt取得足够小,则上述公式可近似为:

加速时:  V(0)=0  (2-116)

匀速时,t→∞,得:

Vt)=Vc  (2-118)

减速时输入为零,V(0)=Vc,则得:

令 

则ΔSc实际上为每个采样周期加减速的输入位置增量值,即每个周期粗插补运算输出的坐标值数字增量值。而ΔSi则为第i个插补周期加减速输出的位置增量值。

将ΔSi和ΔSc代入前面的EiVi公式可得(取Δt=1):

式(2-122)就是实用的数字增量值指数加减速迭代公式。

(2)直线加减速控制算法

直线加减速控制使机床启动时,速度沿一定斜率的直线上升。而停止时,速度沿一定斜率的直线下降。如图2-29所示,速度变化曲线是OABC

图2-29 直线加减速

直线加减速控制分以下5个过程。

①加速过程 如果输入速度Vc与输出速度Vi-1之差大于一个常值KL,即Vc-Vi-1>KL,则使输出速度增加KL值,即:

Vi=Vi-1+KL  (2-123)

式中 KL——加减速的速度阶跃因子。

显然,在加速过程中,输出速度沿斜率K'=直线上升,这里Δt为采样周期。

②加速过渡过程 如果输入速度Vc大于输出速度Vi-1,但其差值小于KL,即:

0<Vc-Vi-1<KL

改变输出速度,使其与输入相等,即Vi=Vc

经过这个过程后,系统进入稳定状态。

③匀速过程 在这个过程中,保持输出速度不变,即:

Vi=Vi-1

但此时的输出速度Vi不一定等于输入速度Vc

④减速过渡过程 如果输入速度Vc小于输出速度Vi-1,但其差值不足KL时,即:

0<Vi-1-Vc<KL

改变输出速度,使其减小到与输入速度相等,即Vi=Vc

⑤减速过程 如果输入速度Vc小于输出速度Vi-1,其差值大于KL,即:

Vi-1-Vc>KL

改变输出速度,使其减小KL值,即:

Vi=Vi-1-KL

显然,在减速过程中,输出速度沿斜率直线下降。

无论是直线加减速控制算法还是指数加减速控制算法,都必须保证系统不产生失步和超程,即在系统的整个加速和减速过程中,输入到加减速控制器的总位移之和必须等于该加减速控制器实际输出的位移之和,这是设计后加减速控制算法的关键。要做到这一点,对于指数加减速来说,必须使图2-29中区域OPA的面积等于区域DBC的面积;对直线加减速而言,同样应需使图中区域OPA的面积也等于DBC的面积。

为了保证这两部分面积相等,以上的两种加减速度算法都采用位置误差累加器来解决。在加速过程中,用位置误差累加器记住由于加速延迟失去的位置增量之和;在减速过程中,又将位置误差累加器的位置值按一定的规律(指数或直线)逐渐放出,以保证在加减速过程全部结束时,机床到达指定的位置。