1、第四章、插补、刀具补偿及速度控制第四章、插补、刀具补偿及速度控制1 插补原理与插补算法 脉冲增量法、数字增量法2 刀具半径补偿算法特点 B功能、C功能刀补3 进给速度与加减速控制方法 与插补算法有关:改变插补周期、改变速度指令4.1 插补原理与程序设计插补原理与程序设计l点位控制:点位控制:使工作台(或刀具)精确地移动到某一个位置点。控制装置只控制终点位置精度,而忽略对路径的控制。控制方法简单,只需控制驱动装置的起停。l轮廓控制:轮廓控制:使工作台(或刀具)精确地沿要求的轨迹移动。控制装置需控制起点至终点间每一个点的速度和位置精度。实现的方法:将轮廓控制看成是由足够多点的点位控制,这样就需要计
2、算这些中间点的位置值。l插补:插补:在轮廓的起点和终点之间,按照轮廓的数学特征计算所有的中间点的坐标值。为与伺服系统匹配,坐标值以增量形式表示。插补与脉冲指令插补与脉冲指令1、数字化进给脉冲指令伺服系统进给轴 一个脉冲所产生的坐标轴位移量称为脉冲当量,脉冲当量值取决于伺服电机与位置检测装置的分辨力。(0.110m)2、插补运算,输出脉冲指令 CNC装置根据零件的加工轨迹,计算刀具轨迹上的每一个中间点的坐标值,该坐标值经伺服驱动装置的脉冲当量量化,所以其个数是有限的;该坐标值以增量形式表示,以脉冲形式输出的。中间点的计算精度将影响零件的加工精度。3、插补程序是CNC装置控制软件的核心插补与轮廓控
3、制插补与轮廓控制插补脉冲:进给速度插补输出:运动合成插插补补算算法法与与插插补补效效果果脉冲增量插补法行程标量插补每次插补结束只产生一个行程增量,以一个个脉冲的方式输出给步进电机。方法简单,易用硬件实现,运算速度很快。适用于步进电机驱动的开环CNC系统。采用脉冲增量插补算法的CNC系统,坐标轴进给速度主要受插补程序运算时间的限制,一般为 13m/min。此类算法通常需要20多条指令,如果计算一个脉冲当量的时间为40s,当脉冲当量为0.001mm时,可以达到的极限速度为1.5mmin,如果要控制两个或两个以上的坐标时速度还将进一步降低。脉冲增量插补算法主要有:逐点比较法和数字积分法。数字增量插补
4、法时间标量插补 适用于交直流伺服电机驱动的闭环(半闭环)位置采样控制系统。进给速度取决于弦线误差要求和伺服系统。插补运算分两步完成:l 粗插补,即在给定起点和终点的曲线之间插入若干个点,用若干条微小直线段来逼近给定曲线,每一微小直线段的长度l相等,且与给定的进给速度有关。粗插补在每个插补运算周期中计算一次。因此每一微小直线段的长度l与进给速度F和插补周期T(约10ms)有关,即l FT。l 精插补,它是在粗插补时算出的每一条微小直线段上再做“数据点的密化”工作,这一步相当于对直线的脉冲增量插补。脉冲增量插补之逐点比较法 算法原理:计算机在控制加工轨迹过程中,逐点计算和判别加工偏差以控制坐标进给
5、方向,从而按规定的图形加工出合格工件。算法流程:偏差判别 进给 偏差计算 终点判别(确定方向)逐点比较法流程图逐点比较法流程图逐点比较法直线逐点比较法直线插补算法(第插补算法(第1象限)象限)1、偏差判别:F=02、坐标进给:F=0 则 X+3、偏差修正:+X:Fi+1=XeYi-(Xi+1)Ye=F-Ye +Y:Fi+1=Xe(Yi+1)-XiYe=F+Xe4、终点判别终点:Xe、Ye,初始偏差F0=XeY0-X0Ye逐点比较法直线逐点比较法直线插补算法算例插补算法算例F X Y Xe=8 Ye=10 Fi+10 1 0 -Ye -10-10 0 1 +Xe -2-2 0 1 +Xe 66
6、1 0 -Ye -4-4 0 1 +Xe 44 1 0 -Ye -6-6 0 1 +Xe 2 2 1 0 -Ye -8-8 0 1 +Xe 0坐标 4 5 终点判别:X,Y向的总脉冲数与终点坐标一致 象限与脉冲分配规律象限与脉冲分配规律线型偏差象限1234G01F=0+X+Y-X-YF0+Y-X-Y+X逐点比较法逐点比较法插补的改进插补的改进l八个进给方向将四个象限分为八个区域。在各个区域中的直线的进给方向如图。l如在1区的直线进给方向为X+Y、+X,在2区的直线进给方向为X+Y或+Y。即对于某一区域的直线,进给方向也只有两种可能,要么两坐标同时进给,要么单坐标进给。逐点比较法直线插补的改进算
7、例逐点比较法直线插补的改进算例逐点比较法圆弧逐点比较法圆弧插补算法(第插补算法(第1象限象限逆圆)逆圆)0、偏差计算:F=(XiXi+YiYi)-(XeXe+YeYe)=(XiXi+YiYi)-R*R1、偏差判别;2、分配进给脉冲 F=0 则 X-向进给(“向圆内走”)3、终点判别:按两方向坐标应走总步数之和判别终点4、偏差修正计算 -X后:Fi+1=F-2Xi+1;+Y后:Fi+1=F+2Yi+1逐点比较法圆弧逐点比较法圆弧插补算法算例插补算法算例1、终点时应发脉冲202、F Xi Yi X Y Fi+1 0 10 0 -1 -19 -19 9 0 1 -18 -18 9 1 1 -15 -
8、15 9 2 1 -10 -10 9 3 1 -3 -3 9 4 1 6 6 9 5 -1 -11 -11 8 5 1 0 例 设欲加工第一象限逆时针圆弧AB,起点为A(10,0),终点为B(0,10)。xy1。请写出其插补计算过程。逐点比较法的进给速度逐点比较法的进给速度lX或Y向直线时,每次插补,均向一个坐标轴输出一个进给脉冲;进给速度V0与插补频率正比。l走45度直线时,每两次插补,均向X、Y坐标轴输出一个进给脉冲;X、Y向的进给速度均与插补频率的1/2正比,合成速度V1=0.707V0。l插补频率不变,进给速度受直线的斜率影响变化,但这样的变化(0.7071)在加工过程中是允许的。脉冲
9、增量插补数字积分法数字积分法l算法原理:利用速度合成轨迹,使动点沿速度矢量的方向前进。l算法设计:(速度位移进给脉冲?)用数字积分器DDA对速度分量进行积分,即对各轴的速度分量值进行累加求和,累加器溢出频率正比与各轴的速度分量,溢出脉冲使刀具沿各坐标轴的移动。准确保证各动点处的速度比,即可生成要求的轨迹。所以其中的一个速度分量可以是任意的。该方法利用累加器溢出输出进给脉冲的,所以应使其中的一个速度分值充分利用寄存器容量。数字积分法特点数字积分法特点l在一次插补中会输出两个进给脉冲;l对曲线的数字积分运算中会出现误差,需采取措施。数字积分法直线数字积分法直线插补流程图插补流程图x为Y向积分结果的
10、溢出(进位),y为X向积分结果的溢出(进位)。数字积分法直线数字积分法直线插补算法(第插补算法(第1象限)象限)1、X、Y方向的被积函数寄存器初值存入X0、Y0;2、一次插补,累加一次;3、X向的积分累加器溢出时,向X坐标发进给脉冲;4、Y向的积分累加器溢出时,向Y坐标发进给脉冲;5、X、Y向的积分累加器,存放X、Y向积分结果的余数;6、累加次数2n。数字积分法直线数字积分法直线插补算法算例插补算法算例 直线OA,起点为圆点0,终点A(8,10),累加器和寄存器的位数为4位,其最大容量为2416,用DDA插补及绘制轨迹。运算参数:X速度分量1000(8)Y速度分量1010(10)基值16,即累
11、加器数值超过16溢出一次,输出一个进给脉冲。数字积分法直线数字积分法直线插补法计算步骤插补法计算步骤0、Vx=1000 CX Vy=1010 CY 1、Lx=1000 0 Ly=1010 02、Lx=0000 1 Ly=0100 13、Lx=1000 0 Ly=1110 04、Lx=0000 1 Ly=1000 15、Lx=1000 0 Ly=0010 16、Lx=0000 1 Ly=1100 07、Lx=1000 0 Ly=0110 18、Lx=0000 1 Ly=0000 19、Lx=1000 0 Ly=1010 0 Vx CX Vy CY10、Lx=0000 1 Ly=0100 111、
12、Lx=1000 0 Ly=1110 012、Lx=0000 1 Ly=1000 113、Lx=1000 0 Ly=0010 114、Lx=0000 1 Ly=1100 015、Lx=1000 0 Ly=0110 116、Lx=0000 1 Ly=0000 1数字积分法圆弧数字积分法圆弧插补流程图(第插补流程图(第1象限逆圆)象限逆圆)Jvx、Jvy为X、Y方向的被积函数寄存器(动点X+、Y-),JRx、JRy是X、Y向的积分累加器,存放X、Y向积分结果的余数。miimiitKXYtKYX11数字积分法圆弧数字积分法圆弧插补算法特征插补算法特征1、速度值为变量;2、X被积寄存器存入Y动点坐标值;
13、Y被积寄存器存入X动点坐标值;3、每次输出进给脉冲后,动点坐标变化,被积寄存器内容需随即修改;4、以数字化速度取代模拟量速度,会造成积算误差,产生输出误差,需做处理。数字积分法圆弧数字积分法圆弧插补算法(第插补算法(第1象限逆圆)象限逆圆)1、X、Y方向的被积函数寄存器初值存入起点Y0、X0;2、一次插补,累加一次;3、X向的积分累加器溢出时,向X坐标发进给脉冲,且Y方向的被积函数寄存器的数值减1;4、Y向的积分累加器溢出时,向Y坐标发进给脉冲,且X方向的被积函数寄存器的数值加1;5、X、Y向的积分累加器,存放X、Y向积分结果的余数;6、进给脉冲计数判断终点。数字积分法圆弧插补算法数字积分法圆
14、弧插补算法算例算例 第一象限圆弧AB,起点为(5,0),终点B(0,5),累加器和寄存器的位数为4位,其最大容量为2416,用DDA插补及绘制轨迹。1、初值:初值累加器Jx=0、Jy=0 被积寄存器Rx=0、Ry=52、积算:在有些情况下,由于算法存在误差,需作一些处理:插补过程中判别是否有一个坐标方向到达终点,若已到达终点,在积分运算时该方向就不再累加计算,只在另一方向进行累加计算。数字积分法圆弧数字积分法圆弧插补法计算步骤插补法计算步骤0、Jx=0 Jy=0 Rx=0 Ry=5 1、0 5 0 52、0 103、0 154、0 4+1 55、1 96、2 147、3 3+2 5 8、5 8
15、 9、7 1310、9 2+3 511、12 712、15 12 3 5 13、2-1+4 414、6 515、10 916、14 1317、2-1+5 319、12 720、1-10 5 222、11 1423、0-0+6 126、15 327、4-4 6 0数字积分法圆弧插补算法数字积分法圆弧插补算法算例结果算例结果线段行程与进给速度线段行程与进给速度l在插补频率不变的情况下进给速度稳定?情况1:累加器容量4位,完成直线插补(0,0)-(1,1)速度分量X=0001(1),Y=0001(1)累积运算16次后完成插补输出 进给速度:V=(1.414/16Tclk)情况2:累加器容量4位,完成
16、直线插补(0,0)-(15,15)速度分量X=1111(15),Y=1111(15)累积运算16次后完成插补输出 进给速度:V=(15*1.414/16Tclk)*插补频率固定,坐标轴进给的速度差距很大插补频率固定,坐标轴进给的速度差距很大!进给速度的均匀化进给速度的均匀化左移规格化左移规格化比如:直线插补(0,0)-(1,3),累加器容量4位 速度分量1)X=0001(1),Y=0011(3)2)X=0101(5),Y=1111(15)*在插补脉冲驱动下累加,溢出频率比一致,插补轨迹正确。但参数1)下累积运算次数为16次;参数2)下累积运算次数为4次,进给脉冲输出频率提高。左移规格化:直线:
17、使其中一个被积函数寄存器最高位为1;圆弧:使其中一个被积函数寄存器次高位为1,且被积函数寄存器的容量大于圆弧半径的2倍。减少插补误差的方法减少插补误差的方法l增加积分器的位数,但进给速度降低。l累加器预置数:累加器预置数:“半加载”(被积函数较小的余数寄存器+1/2的最大容量)四舍五入。比如:直线插补(0,0)-(10,1),累加器容量4位 速度分量:X=1010(10),Y=0001(1)改进:X=1010(10),Y=1000+0001(9)半加载在圆弧插补中应用效果半加载在圆弧插补中应用效果0、Jx=8 Jy=8 Rx=0 Ry=5 1、8 2+1 52、11 1+2 53、1+0+3
18、44、13 0+4 45、1+4 4 36、1+0+5 26、0+6 5 1 7、4+10 5 0 圆弧象限与积算规律圆弧象限与积算规律NR(逆圆)SR(顺圆)12341234X坐标进给方向-+-Y坐标进给方向+-+-+-X坐标被积函数修正+1-1+1-1-1+1-1+1X坐标被积函数修正-1+1-1+1+1-1+1-1硬件累加器与软件累加器的基值硬件累加器与软件累加器的基值1、硬件数字积分溢出 累加器的最大容量为基值,基值是固定的,这种情况下,行程长度不同,坐标轴进给的速度不同。2、软件数字积分比较 预设一个基值(根据程序自动变化),每次插补(累加)后与基值比较确定是否输出进给脉冲。1)直线
19、:长轴坐标值为基值,并作为终点判别值;短轴作半加载处理。2)圆弧:圆弧半径值为基值,X、Y终点坐标为终点判别值;累加器预置(R-1)处理。数字增量插补法法时间标量插时间标量插补补原理原理数字增量插补原理:数字增量插补原理:l圆弧或其他曲线的插补运算太“麻烦”,直线插补运算“简单”;l以直线逼近的方法拟合曲线(粗插补),即将曲线近似分解若干段直线。l依次对各直线段进行直线插补(精插补)。l*减少了CNC系统约3040的时间。数字增量插补的条件:数字增量插补的条件:伺服驱动配置有位置反馈装置,即闭环或半闭环位置采样控制系统,以实现精插补的伺服驱动。数字增量插补的实现过程数字增量插补的实现过程1 1
20、、选择一个合适的插补周期,计算出插补周期内各坐标轴的移动增量(粗插补)直线逼近;以进给步长l(l FT)相等的微小直线段逼近给定曲线,计算一个插补周期T内各坐标轴位置的增量值x、y。在进给速度F不变的情况下:l对于直线插补:各个插补周期内坐标增量x、y固定。l对于曲线插补:各个插补周期只有进给步长L不变。2、精插补(反馈控制)精插补(反馈控制):按采样周期采样实际反馈位置,与插补输出的指令位置增量值比较,计算跟随误差,得到速度控制指令,驱动坐标轴运动。这一步相当于对直线的脉冲增量插补。插补周期与插补运算时间的关系插补周期与插补运算时间的关系 插补算法选定后,完成该算法所需的最大指令条数即确定。
21、根据最大指令条数可确定插补运算占用CPU的时间。插补周期必须大于插补运算所占用的CPU的时间以及完成其它实时任务(显示、监控、甚至精插补)所需的时间。插补周期与位置反馈采样周期的关系插补周期与位置反馈采样周期的关系 插补周期与位置反馈采样周期可以相同,也可以不同。如果不同,则应是采样周期的整数倍。FANUC 7M系统采用8ms的插补周期和4ms的位置反馈采样周期。此时,插补程序每8ms被调用一次,为下一个周期算出各坐标轴应该行进的增量长度;位置反馈采样程序每4ms调用一次,将插补程序算好的坐标位置增量值除2后再进行直线段的精插补。对于7M系统,设F为程序编制中给定的速度指令(单位 mm/min
22、),则一个插补周期的进给量L(单位m):插补周期与精度、速度的关系插补周期与精度、速度的关系 用弦线迫近圆弧,会产生逼近误差:er r2/8=(TF)2/8rl数控机床允许的插补误差要求小于其分辨率,即一个脉冲当量。l插补周期短,则在小半径圆弧插补时允许较大的进给速度。l即在进给速度、圆弧半径一定的条件下,插补周期越短,逼近误差就越小。l插补周期是固定的,误差取决于插补周期是固定的,误差取决于进给速度和圆弧半径。进给速度和圆弧半径。=l/r=TF/r降低进给速度,可以减少弦线误差。直线(粗插补)算法直线(粗插补)算法l直接函数法:记:L=FT;K=L/L算法准备:X=KXe;插补计算:Y=(X
23、/Xe)Ye Xi=Xi-1+X;Yi=Yi-1+Yl一次计算法(X、Y向的增量值是恒定的)记:L=FT;K=L/L算法准备:X=KXe;Y=KYe插补计算:Xi=Xi-1+X;Yi=Yi-1+Y该算法好吗?圆弧(粗插补)算法圆弧(粗插补)算法(直接函数)直接函数)已知动点A坐标,插补长度L,求下一节点B相对与A点的增量坐标值。22222)()(RYXYYXX222LYXYXYYXXXY)(212122/YXYLX0222YYYXXX0222YYYXXXY牺牲步长精度、简化运算圆弧(粗插补)算法圆弧(粗插补)算法(二阶近似二阶近似DDA)iiiXXX1iiiYYY1RLRFTK/21KK co
24、s)cos(RRX1112121sin)2(sin2*sinsin)1(coscosiiiiKYXKYXRRXsin)sin(RRY1112121sin)2(sin2*sincos)1(cossiniiiiKXYKXYRRY1336iRRRFT4.2 刀具补偿的概念刀具补偿的概念 在轮廓加工过程中,由于刀具总有一定的半径(如铣刀半径或线切割机的铜丝半径),刀具中心的运动轨迹与工件轮廓是不一致的。若不考虑刀具半径,直接按照工件轮廓编程是比较方便的,但这时刀具中心运动轨迹是工件轮廓,而加工出来的零件尺寸比图纸要求小了一圈(外轮廓加工)或大了一圈(内轮廓加工)。所以必须使刀具沿工件轮廓的法向偏移一个
25、刀具半径r。这种偏移习惯上称为刀具半径补偿,也就是要求数控系统具有半径偏移的计算功能。具有这种刀具半径补偿功能的数控系统,能够根据按照工件轮廓编制的加工程序和输入系统的刀具半径值进行刀具偏移计算,自动地加工出符合图纸要求的工件。刀具半径补偿功能的主要用途l实现根据编程轨迹对刀具中心轨迹的控制。可避免在加工中由于刀具半径的变化(如由于刀具损坏而换刀等原因)而重新编程的麻烦。l刀具半径误差补偿,由于刀具的磨损或因换刀引起的刀具半径的变化,也不必重新编程,只须修改相应的偏置参数即可。l减少粗、精加工程序编制的工作量。由于轮廓加工往往不是一道工序能完成的,在粗加工时,均要为精加工工序预留加工余量。加工
26、余量的预留可通过修改偏置参数实现,而不必为粗、精加工各编制一个程序。刀具半径补偿的执行过程刀具半径补偿的执行过程1、在G00、G01程序段中,由G41、G42建立刀补;刀补值在D存储器或H存储器设定。2、刀补期间,CNC根据指令自动进行刀具中心轨迹计算;3、在G00、G01程序段中,由G40注销刀补。B功能刀具半径补偿功能刀具半径补偿lB功能刀具半径补偿:根据零件轮廓尺寸和刀具半径值,求刀具中心运动轨迹的计算。lB功能刀具半径补偿要求编程轮廓的过渡为圆角过渡,所谓圆角过渡是指轮廓线之间以圆弧连接,并且连接处轮廓线必须相切相切。切削内角时,过镀圆弧的半径应大于刀具半径。编程时将外尖角看成半径为编
27、程时将外尖角看成半径为0 0的圆角、内尖的圆角、内尖角处理成圆弧半径大于刀具半径的圆弧。角处理成圆弧半径大于刀具半径的圆弧。l编程轮廓圆角过渡,则前一段程序刀具中心软迹终点即为后一段程序刀具中心的起点,系统不需要计算段与段之间刀具轨迹交点。其对编程限制的主要原因是在确定刀具中心轨迹时,都采用了读一段,算一段,再走一段的控制方法。B刀补计算方法刀补计算方法直线:平行偏移一个刀具半径;圆弧:圆心不变,半径增加一个刀具半径。线段间的过渡:人为圆弧过渡。C功能刀具半径补偿功能刀具半径补偿lC功能刀具半径补偿:解决在刀具半径补偿后,相邻两程序段的刀具中心轨迹之间可能出现的间断点或交叉点,对于这种情况,使
28、用B功能刀补的CNC装置编程需要人工干预。C功能刀补的CNC装置可以自动处理这种情况,计算出刀具中心轨迹之间的过渡圆弧(或其他方法)。l本段刀程序的刀具中心轨迹,需根据本段程序与下段程序的具体转接情况来确定。这样C功能刀补的CNC装置应设置多个数据寄存器。C功能刀补的转接方式功能刀补的转接方式伸长/缩短型转接插入型转接插入型转接过渡圆弧的行程最短,为什么不采用过渡圆弧转接?C功能刀补流程功能刀补流程l刀补流程中的四个寄存器:缓冲寄存器BS:i+2段编程轨迹刀补缓冲区CS:i+1段编程轨迹工作寄存区AS:i段刀具中心轨迹数据输出寄存区OS:插补计算lCNC装置内总是同时存在有三个程序段的参数,程
29、序参数在寄存器间同步传送。4.3 进给速度和加减速度控制进给速度和加减速度控制数控机床速度目的:1)加工精度、表面粗糙度、生产率要求进给速度稳定、可调;2)启动快而不失步要求加速度控制;3)停止位置精确、不超程要求减速度控制。开环开环CNC装置的进给速度控制装置的进给速度控制 开环CNC装置一般采用脉冲增量插补,控制输出脉冲的频率即可实现对进给速度的控制。l程序延时法:在插补、输出、显示等相关处理时间段后插入延时程序。(简单灵活)l时钟中断法:利用变频震荡器输出中断请求信号,在中断服务程序中完成插补、输出、显示等相关处理。l加减速度控制:(使频率变化符合)线性、指数、抛物线升降速控制。步进电机
30、的矩频特性、加减速时间 变速曲线按一定的时间间隔离散;以时间常数(延时子程序的次数)表示速度值,以步长表示改变速度的时间间隔。闭环闭环CNC装置的进给速度控制装置的进给速度控制l闭环CNC装置具有速度环,可通过软件方法实现速度控制,有两种方法:l(在粗插补前进行的)前加减速控制:通过控制编程指令 F(合成速度)实现速度控制。位置精度高,需计算确定减速点。l(在粗插补后进行的)后加减速控制:通过分别对各个运动轴的独立加减速控制。在加减速过程中合成位置可能不准确,不需计算减速点。前加减速控制方法前加减速控制方法1)按线性加减速度处理速度指令F;2)每次插补改变一次进给速度每次插补改变一次进给速度F
31、;3)每次插补均瞬时点与终点的剩余距离;4)设置减速区以进行减速处理。后加减速控制方法后加减速控制方法1)按线性或指数加减速度处理各运动轴速度控制;2)每个采样周期比较输入速度指令与输出速度,并增加输出速度至设定指令;3)恒速运行至插补结束;4)加速少走位移量作为 减速位移量。*减速段在无插补输出,所以不需设置减速点。作业作业1、用逐点比较算法完成 1)直线(0,0)-(3,8);2)逆园弧(10,0)-(0,10)的插补计算并根据计算结果绘制加工轨迹。2、用4位DDA完成1)直线(0,0)-(3,8);2)逆圆弧(10,0)-(0,10);3)逆园弧(6,4)-(0,10)的插补计算并根据计算结果绘制加工轨迹。3、阐述脉冲增量圆弧插补自动过象限的工作原理。4、软件数字积分插补是如何稳定进给速度和提高插补精度的?5、简述数字增量插补算法的原理及其特点。6、刀具半径4,第1段直线插补(0,0)(10,3),第二段直线插补(10,3)(15,0),计算左刀补转接点,画出刀具中心轨迹。7、简述数控机床刀补的执行过程。8、C功能刀补中,伸长型转接与插入型转接各用于什么场合?9、开环CNC装置是如何实现进给速度和加减速度控制的?10、什么是前加减速度控制和后加减速度控制?各有什么特点?