···························································· 第3 章 chapter3 数字控制技术 数字控制(简称数控)也称数值控制(NumericalControl,NC),是利用数字化信息对 机械运动及加工过程进行控制的一种方法。装有数字控制系统的机床称为数控机床。 数控机床具有能加工形状复杂的零件、加工精度高、生产效率高、便于改变加工零件品种 等许多特点,是实现机床自动化的重要发展方向。典型的数控机床有铣床、车床、加工中 心、线切割机和焊接机等。数控技术和数控机床是实现柔性制造系统(Flexible ManufacturingSystem,FMS)和计算机集成制造系统(CIMS)最重要的基础技术之一。 另外,顺序控制是开环数字控制和自动化技术的重要应用领域。顺序控制是使生产 过程按照规定的时序或事序工作的自动控制。由于工业控制机、第2章的数字量(开关 量)输入输出接口与过程通道已具有与、或、非等逻辑运算和记忆、判断、定时、延时等功 能,并能实现有触点的继电器逻辑控制、无触点的集成电路和晶体管逻辑控制,因此本章 对这些内容不再赘述。 本章主要介绍数字控制基础、运动轨迹插补原理、进给速度与加减速控制、电机驱动 控制与位置伺服系统和多轴运动控制技术。 3.1 数字控制基础 所谓数字控制,就是生产机械(如各种加工机床)根据数字计算机输出的数字信号, 按规定的工作顺序、运动轨迹、运动距离和运动速度等规律自动地完成工作的控制方式。 3.1.1 数控技术发展概况 世界上第一台数控机床是1952年美国麻省理工学院(MIT)伺服机构实验室开发 的,当时的主要动机是为了满足高精度和高效率加工复杂零件的需要。众所周知,二维 和三维轮廓零件的加工是很困难的,而数控机床则很容易实现二维和三维轮廓零件的加 工。早期的数控是以数字电路技术为基础实现的。随着小型和微型计算机的发展,20世纪 70年代初期在数控系统中用计算机代替了控制装置,从而诞生了计算机数控(Computer NumericalControl,CNC)。表3-1给出了数控技术的发展概况。 数控系统一般由数控装置、驱动装置、可编程控制器和检测装置等构成。 第3章PPT 9 6 ◆微型计算机控制技术(第4 版) 表3-1 数控技术的发展概况 特征阶段典型应用工艺方法数控功能驱动特点 研究开发 (1952—1969年) 数控车床、钻床、铣床简单工艺传统数控 三轴以下步进、液压 电机驱动 推广应用 (1970—1985年) 加工中心、电加工、锻压 多种工艺 方法 计算机数控、刀具自 动交换、五轴联动、较 好的人机界面 直流伺服电机驱动 系统化(1982年) 柔性制造单元(FMU)、 柔性制造系统(FMS) 复合设计 加工 友好的人机界面交流伺服电机驱动 高性能集成化 (1990年至今) 计算机集成制造系统 (CIMS)、无人化工厂 复合设计 加工 多过程、多任务调度、 模板化和复合化、智 能化 高性能直线伺服电机 驱动 数控装置能接收零件图纸加工要求的信息,进行插补运算,实时地向各坐标轴发出 速度控制指令。驱动装置能快速响应数控装置发出的指令,驱动机床各坐标轴运动,同 时能提供足够的功率和扭矩。可编程控制器发出运动的指令信号,驱动装置快速响应跟 踪指令信号。检测装置检测坐标的实际值,反馈给数控装置的调节电路中的比较器,有 差值就发出运动控制信号,从而实现偏差控制。数控装置包括输入装置、输出装置、控制 器和插补器4部分,这些功能都由计算机完成。 3.1.2 数字控制原理 首先分析如何用计算机在绘图仪或数控机床上重现图3-1所示的平面图形,以此简 图3-1 曲线分段 要说明数字控制的基本原理。 (1)将图3-1所示的曲线分割成若干段,可以是 直线段,也可以是曲线段。图3-1中分割成3段,即 ab、bc和cd︵,然后把a、b、c、d 这4个点的坐标记下来 并送给计算机。图形分割的原则是应保证线段所连 的曲线(或折线)与原图形的误差在允许范围之内。 由图3-1可见,显然采用ab、bc和cd︵比ab、bc和cd要精 确得多。 (2)当给定a、b、c、d 各点坐标x 和y 值之后,如 何确定各坐标值之间的中间值? 求得这些中间值的数值计算方法称为插补或插值。插 补计算的宗旨是:通过给定的基点坐标,以一定的速度连续定出一系列中间点,而这些中 间点的坐标值以一定的精度逼近给定的线段。从理论上讲,插补可用任意函数形式,但 为了简化插补运算过程和加快插补速度,常用的是直线插补和二次曲线插补两种形式。 所谓直线插补是指在给定的两个基点之间用一条近似直线逼近,也就是由此定出的中间 点连接起来的折线近似一条直线,并不是真正的直线。所谓二次曲线插补是指在给定的 第◆3 章 数字控制技术9 7 两个基点之间用一条近似曲线逼近,也就是实际的中间点的连线是一条近似曲线的折线 弧。常用的二次曲线有圆弧、抛物线和双曲线等。对于图3-1所示的曲线,显然ab 和bc 段用直线插补,cd 段用圆弧插补是合理的。 (3)根据插补运算过程中定出的各中间点,以脉冲信号的形式控制x、y 方向上的步 图3-2 用折线逼近直线段 进电机,带动绘图笔、刀具等,从而绘出图形或加工 出要求的轮廓。这里的每一个脉冲信号代表步进电 机走一步,即绘图笔或刀具在x 或y 方向移动一个 位置。每个脉冲信号控制移动的距离称为脉冲当 量,又称为步长,常用Δx 和Δy 表示,并且总是取 Δx=Δy。 图3-2是一段用折线逼近直线的直线插补线段, 其中(x0,y0)代表该线段的起点坐标值,(xe,ye)代 表终点坐标值,则x 方向和y 方向应移动的总步数 Nx 和Ny 分别为 Nx =(xe -x0)/Δx,Ny =(ye -y0)/Δy 如果把Δx 和Δy 定义为坐标增量值,即x0、y0、xe、ye均是以脉冲当量定义的坐标值,则 Nx =xe -x0,Ny =ye -y0 所以,插补运算就是如何分配x 和y 方向上的脉冲数,使实际的中间点轨迹尽可能地逼 近理想轨迹。实际的中间点连接线是一条由Δx 和Δy 的增量值组成的折线,只是由于 实际的Δx 和Δy 的值很小,眼睛分辨不出来,看起来似乎和直线一样而已。显然,Δx 和 Δy 的增量值越小,就越逼近理想的直线段,图3-2中以→代表Δx 或Δy 的长度和方向。 实现直线插补和二次曲线插补的方法有很多,常见的有逐点比较法(又称富士通法 或醉步法)、数字积分法(又称数字微分分析器法)、数字脉冲乘法器(又称MIT 法,由麻 省理工学院首先使用)等,其中又以逐点比较法使用最广。 3.1.3 数字控制方式 数控系统按控制方式可以分为点位控制、直线切削控制和轮廓切削控制,这3种控 制方式都是运动的轨迹控制。 1.点位控制 在一个点位控制系统中,只要求控制刀具行程终点的坐标值,即工件加工点准确定 位,至于刀具从一个加工点移到下一个加工点走什么路径、移动的速度、沿哪个方向趋近 都无须规定,并且在移动过程中不做任何加工,只是在准确到达指定位置后才开始加工。 在机床加工业中,采用这类控制的主要是孔加工机床,如钻床、镗床、冲床等。 2.直线切削控制 直线切削控制也主要是控制行程的终点坐标值,不过还要求刀具相对于工件平行某 一直角坐标轴做直线运动,且在运动过程中进行切削加工。采用这类控制的有铣床、车 9 8 ◆微型计算机控制技术(第4 版) 床、磨床、加工中心等。 3.轮廓切削控制 轮廓切削控制的特点是能够控制刀具沿工件轮廓曲线不断地运动,并在运动过程中 将工件加工成某一形状。这种方式是借助于插补器进行的,插补器根据加工的工件轮廓 向每一坐标轴分配速度指令,以获得图纸坐标点之间的中间点。这类控制用于铣床、车 床、磨床、齿轮加工机床等。 在上述3种控制方式中以点位控制最简单,因为它的运动轨迹没有特殊要求,运动 时又不加工,所以它的控制电路只要具有记忆(记下刀具应走的移动量和已走过的移动 量)和比较(将所记忆的两个移动量进行比较,当两个数值的差为0时,刀具立即停止)的 功能即可,根本不需要插补计算。和点位控制相比,由于直线切削控制进行直线加工,其 控制电路要复杂一些。轮廓切削控制要控制刀具准确地完成复杂的曲线运动,所以控制 电路更复杂,且需要进行一系列插补计算和判断。 3.1.4 数字控制系统 计算机数控系统主要分为开环数字控制和闭环数字控制两大类,由于它们的控制原 理不同,因此其系统结构差异很大。 1.开环数字控制 随着计算机技术的发展,开环数字控制得到了广泛的应用,例如各类数控机床、线 切割机、低速小型数字绘图仪等,它们都是利用开环数字控制原理实现控制的机械加 工设备或绘图设备。开环数字控制的结构如图3-3所示,这种控制结构没有反馈检测 元件,工作台由步进电机驱动。步进电机接收步进电机驱动电路发来的指令脉冲,进 行相应的旋转,把刀具移动到与指令脉冲相当的位置,至于刀具是否到达了指令脉冲 规定的位置,则不受任何检查,因此这种控制的可靠性和精度基本上由步进电机和传 动装置决定。 图3-3 开环数字控制的结构 开环数字控制结构简单,具有可靠性高、成本低、易于调整和维护等特点,在经济型 数控系统中应用最为广泛。由于采用了步进电机作为驱动元件,使得系统的可控性变得 更加灵活,更易于实现各种插补运算和运动轨迹控制。本章主要讨论开环数字控制 技术。 2.闭环数字控制 图3-4(a)给出了闭环数字控制的结构。这种结构的执行机构多采用直流电机(小惯 第◆3 章 数字控制技术9 9 量伺服电机和宽调速力矩电机)作为驱动元件,反馈测量元件采用光电编码器(码盘)、光 栅、感应同步器等。该控制方式主要用于大型精密加工机床,但其结构复杂,难于调整和 维护,常规的数控系统很少采用。 将测量元件从工作台移动到伺服电机的轴端,就构成了半闭环控制系统,如图3-4(b) 所示。这样构成的系统,工作台不在控制环内,克服了由于工作台的某些机械环节的特 性引起的参数变动,容易获得稳定的控制特性,因此这种控制方式广泛应用于连续控制 的数控机床上。 图3-4 闭环/半闭环数字控制的结构 3.1.5 数控系统的分类 1.传统数控系统 传统数控系统又称为硬件式数控系统,零件程序的输入、运算、插补及控制功能均由 专用硬件完成,这是一种专用的封闭体系结构,其功能简单,柔性和通用性差,设计研发 周期长。 2.开放式数控系统 1)PC嵌入数控系统结构的开放式数控系统 PC嵌入数控系统结构的开放式数控系统是基于传统数控系统的半开放式数控系 统。这类数控系统是在不改变原数控系统基本结构的基础上,在传统的非开放式的数控 系统中插入一块专门开发的个人计算机模板,使得传统的数控系统带有计算机的特点。 该系统借助了PC丰富的软硬件资源和多媒体部件,把PC和数控系统联系在一起,它既 具有原数控系统工作可靠的特点,同时它的界面又比原来的数控系统开放,极大地增强 了人机界面的功能,使数控系统的功能得以更好地体现,而且使用更加方便。 1 00 ◆微型计算机控制技术(第4 版) 2)数控系统嵌入PC结构的开放式数控系统 数控系统嵌入PC结构的开放式数控系统以PC作为系统的核心,由PC和开放式运 动控制卡构成。所谓的开放式运动控制卡,就是一个可以单独使用的数控系统,具有很 强的运动控制和PLC能力,它还具有开放的函数库可供用户进行自主开发,以构造自己 所需要的数控系统。这类数控系统具有可靠性高、功能强、性能好、操作简单方便、开发 周期短、成本低等优点,而且适合各种类型数控系统的开发,因而这种数控系统目前被广 泛应用于制造业自动化控制各个领域。 3)Soft型开放式数控系统 Soft型开放式数控系统提供给用户最大的选择空间和灵活性。它的CNC软件全部装 在计算机中,而硬件部分仅是计算机与伺服驱动和外部I/O之间的标准化通用接口。用户 可以在Windows平台上利用开放的CNC内核开发所需要的各种功能,构成各种类型的高 性能数控系统。Soft型开放式数控系统具有较高的性能价格比,因而更具有生命力。 3.网络化数控系统 网络化数控系统是近两年数控技术发展的一个新亮点。随着计算机技术、网络技术 日益普遍运用,数控机床走向网络化、集成化已成为必然的趋势,互联网进入制造工厂的 车间也只是时间的问题了。对于面临日益全球化竞争的现代制造工厂来说,不仅要提高 数控机床的拥有率,而且拥有的数控机床必须具有联网通信功能,以保证信息流在工厂、 车间的底层之间及底层与上层之间的通信。数控系统生产厂商已经推出了具有网络功 能的数控系统。在这些数控系统中,除了传统的RS-232接口外,还备有以太网接口,为 数控机床联网提供了基本条件。目前数控的网络化主要采用以太网以及现场总线的方 式。随着无线技术的发展,数控系统网络在不久的将来可能会无处不在。 3.2 运动轨迹插补原理 在数控机床上,各种曲线轮廓加工都是通过插补计算实现的,插补计算的任务就是 在轮廓线的起点到终点之间再密集地计算出有限个坐标点,刀具沿着这些坐标点移动, 用折线逼近要加工的曲线。进而获得理论轮廓。而确定刀具坐标的过程就称为插补。 插补方法可以分为两大类:脉冲增量插补和数据采样插补。 脉冲增量插补是控制单个脉冲输出规律的插补方法,每输出一个脉冲,移动部件都 要相应地移动一定距离,这个距离就是脉冲当量,因此,脉冲增量插补也称为行程标量插 补,如逐点比较法、数字积分法。该插补方法通常用于步进电机控制系统。 数据采样插补也称为数字增量插补,是在规定的时间内计算出各坐标方向的增量 值、刀具所在的坐标及其他一些需要的值。这些数据严格地限制在一个插补时间内计算 完毕,送给伺服系统,再由伺服系统控制移动部件运动,移动部件也必须在下一个插补时 间内走完插补计算给出的行程,因此数据采样插补也称为时间标量插补。数据采样插补 采用数值量控制机床运动,机床各坐标方向的运动速度与插补运算给出的数值量和插补 时间有关。该插补方法用于直流伺服电机和交流伺服电机的闭环或半闭环控制系统。 第◆3 章 数字控制技术1 01 数控系统中完成插补工作的装置称为插补器。下面主要介绍脉冲增量插补中的逐 点比较法插补原理。 3.2.1 逐点比较法的直线插补 所谓逐点比较法插补,就是刀具每走一步都要和给定轨迹上的坐标值进行比较,看 这一点在给定轨迹的上方或下方(或给定轨迹的里面或外面),从而决定下一步的进给方 向。如果原来在给定轨迹的下方,下一步就向给定轨迹的上方走;如果原来在给定轨迹 的里面,下一步就向给定轨迹的外面走。如此走一步比较一次,决定下一步的走向,以便 逼近给定轨迹,即形成逐点比较插补。 逐点比较法是以阶梯折线逼近直线或圆弧等曲线的,它与规定的加工直线或圆弧之 间的最大误差为一个脉冲当量,因此只要把脉冲当量(每走一步的距离,即步长)设置得 足够小,就可达到加工精度的要求。 1.第一象限内的直线插补 1)偏差计算公式 根据逐点比较法插补原理,必须把每一插值点(动点)的实际位置与给定轨迹的理想 图3-5 第一象限直线 位置间的误差,即偏差计算出来,根据偏差的正、负决定 下一步的走向,以逼近给定轨迹,因此偏差计算是逐点比 较法关键的一步。 要在第一象限加工出直线段OA,取直线段的起点为 坐标原点,直线段终点坐标(xe,ye)是已知的,如图3-5所 示。点m (xm ,ym )为加工点(动点),若点m 在直线段 OA 上,则有 ym/xm =ye/xe (3-1) 即 ym/xm -ye/xe =0 (3-2) 现定义直线插补的偏差判别式为 Fm =ymxe -xmye (3-3) 若Fm =0,表明点m 在OA 直线段上;若Fm >0,表明点m 在OA 直线段的上方,即点 m'处;若Fm <0,表明点m 在OA 直线段的下方,即点m″处。Fm 也称为偏差符号。 由此可得第一象限直线逐点比较法插补的原理:从直线的起点(即坐标原点)出发, 当Fm ≥0时沿+x 方向走一步,当Fm <0时沿+y 方向走一步;当两个方向所走的步数 与终点坐标(xe,ye)相等时,发出终点到信号,停止插补。 按式(3-3)计算偏差,要做两次乘法和一次减法,比较麻烦,因此需要进一步简化。 下面推导简化的偏差计算公式。 (1)设加工点正处于m 点,当Fm ≥0时,表明m 点在OA 上或OA 的上方,应沿+x 方向进给一步至m +1点,该点的坐标值为 ◆ 102 微型计算机控制技术(第 4 版) xm+1=xm +1 (3-4) ym+1=ym 该点的偏差为 ym+1xe=xexm +1)=-ye 35) Fm+1=-xm+1yeym-(yeFm ( (2)设加工点正处于 m 点,当Fm <0 时,表明 m 点在OA 的下方,应向+ y 方向进给 一步至m+1 点,该点的坐标值为 ym+1=ym +1 (3-6)xm+1=xm 该点的偏差为 Fm+1=-xm+1yeym +1)-xm=(37) ym+1xe=(xeyeFm +xe 式(3-5)和式(3-7)是简化后的偏差计算公式,在两式中只有一次加法或减法运算,新的 加工点的偏差Fm +1 都可以由前一点偏差Fm 和终点坐标相加或相减得到。特别要注意, 加工的起点是坐标原点,起点的偏差是已知的,即F0=0。 2)终点判断方 法 逐点比较法的终点判断有多种方法,下面介绍两种方法 : (1)设置Nx 和Ny 两个减法计数器,在加工开始前,在Nx 和Ny 计数器中分别存入 终点坐标值xe和ye,在 x 坐标(或 y 坐标)进给一步时,就在Nx 计数器(或Ny 计数器)中 减去1,直到这两个计数器中的数都减到0时,表明到达终点。 (2)用一个终点计数器保存 x 和 y 两个坐标进给的总步数Nxy , x 或 y 坐标进给一 步,Nx就减1,若Nxy =0,就表明到达终点。3)(y) 插补计算过程 插补计算时,每走一步,都要进行以下插补计算过程:偏差判别、坐标进给、偏差计 算、终点判断。 2.4个象限的直线插补 4个象限直线插补的偏差符号及坐标进给方向如图3-6所示。 图3- 6 4 个象限直线插补的偏差符号及坐标进给方向 ◆ 第 3 章 数字控制技术103 由图3-6可以推导出4个象限直线插补的偏差计算公式和坐标进给方向,详见表3-2, 其中4个象限的终点坐标值取绝对值代入计算式中的xe和ye。 表3- 2 直线插补的进给方向及偏差计算公式 Fm ≥ 0 Fm < 0 所在象限进给方向偏差计算公式所在象限进给方向偏差计算公式 一、四+ x Fm +1= 一、二+ y Fm +1=Fm +xe 二、三- x yeFm 三、四- y 3. 直线插补计算的程序实现 1)数据的输入及存放 在计算机的内存中开辟6个单元XE 、YE 、NXY 、FM 、XOY 和ZF,分别存放终点横 坐标xe、终点纵坐标ye、总步数Nx、加工点偏差Fm 、直线所在象限值和步进方向标志。 这里Nxy =Nx +Ny ,XOY 单元里的(y) 值1、2、3、4分别表示第一、第二、第三、第四象限, XOY 单元的值可由终点坐标(xe,ye)的正负号确定,Fm 的初值为F0=0,ZF=1,2,3,4 分别代表+x、-、+y、- y 步进的方向。 2)直线插补计(x) 算的程序 图3-7为直线插补计算的程序流程图。该程序按照插补计算过程的4个步骤(即偏 图3- 7 直线插补计算的程序流程图 1 04 ◆微型计算机控制技术(第4 版) 差判别、坐标进给、偏差计算、终点判断)实现插补计算。偏差判别、偏差计算、终点判断 是逻辑运算和算术运算,容易编写程序,而坐标进给通常是给步进电机发送走步脉冲,通 过步进电机带动机床工作台或刀具移动。 【例3-1】 设要加工第一象限直线OA ,起点为O(0,0),终点为A (6,4),试进行插补 计算并作出走步轨迹图。 【解】 坐标进给的总步数Nxy =|6-0|+|4-0|=10,xe=6,ye=4,F0=0,XOY=1。 插补计算过程如表3-3所示。 表3-3 插补计算过程 步数偏差判别坐标进给偏差计算终点判断 0(起点) F0=0 Nxy =10 1 F0=0 +x F1=F0-ye=-4 Nxy =9 2 F1<0 +y F2=F1+xe=2 Nxy =8 3 F2>0 +x F3=F2-ye=-2 Nxy =7 4 F3<0 +y F4=F3+xe=4 Nxy =6 5 F4>0 +x F5=F4-ye=0 Nxy =5 6 F5=0 +x F6=F5-ye=-4 Nxy =4 7 F6<0 +y F7=F6+xe=2 Nxy =3 8 F7>0 +x F8=F7-ye=-2 Nxy =2 9 F8<0 +y F9=F8+xe=4 Nxy =1 10 F9>0 +x F10=F9-ye=0 Nxy =0 直线插补的走步轨迹图如图3-8所示。 图3-8 直线插补的走步轨迹图 3.2.2 逐点比较法的圆弧插补 1.第一象限内的圆弧插补 1)偏差计算公式 设要加工逆圆弧A︵B,如图3-9所示,圆弧的圆心在坐标原点,并已知圆弧的起点为 ◆ 第 3 章 数字控制技术105 y0), xe, 加工点为m(xm ,), 显然,可 A(x0,终点为B(ye), 圆弧半径为R。令瞬时 ym 它与圆心的距离为Rm , 以比较Rm 和 R 来反映加工偏差。比较Rm 和R,实际上 是比较它们的平方值。 ︵ 由第一象限逆圆弧AB 可知 22 R2 x2,R2x2(3-8) m=m+ym 0=0+y0 因此,可定义偏差判别式为图3- 9 第一象限逆圆弧 2 R2 -R2x2 -R2 (9) Fm= m =m+ym 3 若Fm =0,表明加工点 m 在圆弧上;若Fm >0,表明加工点在圆弧外;若Fm <0,表明加 工点在圆弧内。 由此可得第一象限逆圆弧逐点比较插补的原理:从圆弧的起点出发,当Fm ≥0,为了 逼近圆弧,下一步向- x 方向进给一步,并计算新的偏差;若Fm <0,为了逼近圆弧,下一 步向+ y 方向进给一步,并计算新的偏差。如此一步步计算和一步步进给,并在到达终 点后停止计算,就可插补出图3-9所示的第一象限逆圆弧。 为了简化偏差判别式(3-9)的计算,下面推导出简化的偏差计算的递推公式。 (1)设加工点正处于m(xm ,ym )点,当Fm ≥0 时,应沿- x 方向进给一步至 m +1 点,其坐标值为 xm+1=xm -1 (3-10)ym+1=ym 新的加工点的偏差为 x22 -R22 -R2 Fm+1=m+1xm 2+y m+1+y=(-1) m =Fm -2xm +1 (3-11) (2)设加工点正处于 m (xm ,ym )点,当Fm <0 时,应沿+ y 方向进给一步至 m +1 点,其坐标值为 xm+1=xm ym+1=ym +1 (3-12) 新的加工点偏差为 x22 x22 ym +1) Fm+1=m+1+ym+1-R2=m+ (-R2 =Fm +2ym +1 (3-13) 由式(3-11)和式(3-13)可知,只要知道前一点的偏差和坐标值,就可求出新的一点 的偏差。因为加工点从圆弧的起点开始,故起点的偏差F0=0。 2)终点判断方法 圆弧插补的终点判断方法和直线插补相同。可将 x 方向的走步步数Nx =|xe-x0| 和 y 方向的走步步数Ny =|ye-y0|的总和Nxy 作为一个计数器,每走一步,从Nxy 中减 1,当Nxy =0时发出终点到信号。 3)插补计算过程 圆弧插补计算过程比直线插补计算过程多一个环节,即要计算加工点瞬时坐标(动 ◆ 106 微型计算机控制技术(第 4 版) 点坐标)值,其计算公式为式(3-10)和式(3-12 )。因此圆弧插补计算过程分为5个步骤, 即偏差判别、坐标进给、偏差计算、坐标计算、终点判断。 2.4个象限的圆弧插补 其他各象限中逆、顺圆弧都可以参照第一象限得出各自的偏差计算公式及进给方 向。前面介绍了第一象限逆圆弧的插补计算,为了导出其他各象限的插补计算,下面先 来推导第一象限顺圆弧的偏差计算公式。 1)第一象限顺圆弧的插补计 算 ︵ 设第一象限顺圆弧CD ,圆弧的圆心在坐标原点,并已知起点C(x0,y0), 终点D(xe, ye), 如图3-10 所示。设加工点现处于 m (xm ,ym )点,若Fm ≥0,则沿- y 方向进给一 步,到m+1 点,新加工点坐标将是(xm ,1), 可求出新的偏差为 ym 图3-10 第一象限顺圆弧 Fm+1=Fm -2ym +1 (3-14) 若Fm <0,则沿+ x 方向进给一步至m+1 点,新加工点的坐标将是(xm +1,), 同样可 ym 求出新的偏差为 2)4个象限的圆弧插补 Fm+1=Fm +2xm +1 (3-15) 式(3-11 )、式(3-13)~式(3-15)给出了第一象限逆、顺圆弧的插补计算公式,其他象 限的圆弧插补可与第一象限的情况相比较而得出,因为其他象限的所有圆弧总是与第一 象限中的逆圆弧或顺圆弧互为对称,如图3-11 所示。在图3-11 中,用SR 和NR 分别表 示顺圆弧和逆圆弧,所以可用SR1、SR2、SR3、SR4和NR1、NR2、NR3、NR48种圆弧分别 表示第一至第四象限的顺圆弧和逆圆弧。 如图3-11 所示,SR1与NR2对称于+ y 轴,SR3与NR4对称于- y 轴,NR1与SR4对称 于+ x 轴,NR3与SR2对称于- x 轴,SR1与NR4对称于+ x 轴,SR3与NR2对称于 轴,SR2与NR1对称于+ y 轴,SR4与NR3对称于- y 轴。4个象限中的圆弧插补的进给(x) 方向、偏差计算公式及坐标计算公式如表3-4所示。这里,同图3-6所示的直线插补一 样,将4个象限的起点坐标值、终点坐标值和加工点坐标值取绝对值后,再代入偏差计算 和坐标计算公式。 ◆ 第 3 章 数字控制技术107 图3-11 4 个象限圆弧插补的对称关系 表3- 4 圆弧插补的进给方向、偏差计算公式及坐标计算公式 偏差圆弧种类进给方向偏差计算公式坐标计算公式 SR1,NR2 - y Fm+1=Fm 2ym +1 xm+1=xm ym+1=ym 1 Fm ≥0 SR3,NR4 + y NR1,SR4 - x Fm+1=Fm 2xm +1 xm+1=xm 1 ym+1=ymNR3,SR2 + x SR1,NR4 + x Fm+1=Fm +2xm +1 xm+1=xm +1 ym+1=ym Fm <0 SR3,NR2 - x NR1,SR2 + y Fm+1=Fm +2ym +1 xm+1=xm ym+1=ym +1 NR3,SR4 - y 3. 圆弧插补计算的程序实现 1)数据的输入及存放 在计算机的内存中开辟8个单元X0 、Y0 、NXY 、FM 、RNS 、XM 、YM 和ZF,分别存放 起点的横坐标x0、起点的纵坐标y0、总步数Nxy 、加工点偏差Fm 、圆弧种类值RNS 、xm 、 ym 和走步方向标志。这里Nxy =|xe-x0|+|ye-y0|,RNS 等于1,2,3,4和5,6,7,8, 分别代表SR1、SR2、SR3、SR4和NR1、NR2、NR3、NR4,RNS 的值可由起点和终点的坐标 的正负符号确定,Fm 的初值为F0=0,xm 和ym 的初值为x0和y0,ZF=1,2,3,4分别表 示+x、-、+y、- y 走步方向。 2)圆弧(x) 插补计算的程序 图3-12 为圆弧插补计算的程序流程图,该程序按照插补计算的5个步骤(即偏差判 ◆ 108 微型计算机控制技术(第 4 版) 别、坐标进给、偏差计算、坐标计算、终点判断)实现插补计算。 图3-12 4 象限圆弧插补程序流程图 ︵ 【例3-2】设要加工第一象限逆圆弧AB ,已知起点为A(4,0), 终点为B(0,4), 试进 行插补计算并作出走步轨迹图。 【解】圆弧插补计算过程如表3-5所示。 表3- 5 圆弧插补计算过程 步数偏差判别坐标进给偏差计算坐标计算终点判断 0(起点) F0=0 x0=4,y0=0 Nxy =8 1 F0=0 - x F1=F02x0+1=7x1=x01=3,y1=0 Nxy =7 2 F1<0 + y F2=F1+2y1+1=6x2=3,y2=y1+1=1 Nxy =6 续表 第◆3 章 数字控制技术1 09 步数偏差判别坐标进给偏差计算坐标计算终点判断 3 F2<0 +y F3=F2+2y2+1=-3x3=3,y3=y2+1=2 Nxy =5 4 F3<0 +y F4=F3+2y3+1=2 x4=3,y4=y3+1=3 Nxy =4 5 F4>0 -x F5=F4-2x4+1=-3x5=x4-1=2,y5=3 Nxy =3 6 F5<0 +y F6=F5+2y5+1=4 x6=2,y6=y5+1=4 Nxy =2 7 F6>0 -x F7=F6-2x6+1=1 x7=x6-1=1,y7=4 Nxy =1 8 F7>0 -x F8=F7-2x7+1=0 x8=x7-1=0,y8=4 Nxy =0 根据表3-5绘制出的走步轨迹图如图3-13所示。 图3-13 圆弧插补走步轨迹图 3.2.3 数字积分法插补 数字积分法也称数字微分分析器(DigitalDifferentialAnalyzer,DDA)法,是根据数 学中的积分几何概念,将函数的积分运算变成变量的求和运算,求积分的过程是用数的 累加近似的,如果脉冲当量足够小,则用求和运算代替积分运算,由此引起的误差可以控 制在容许的范围内。用数字积分法可以实现一次、二次及高次曲线插补,脉冲分配均匀, 容易实现多坐标联动控制,因此应用广泛。 1.数字积分法原理 设函数曲线y=f(t),t0≤t≤tn ,曲线y、横轴t 在区间[t0,tn]上所包围的面积为 S =∫tn t0 ydt (3-16) 当将t0~tn 划分成n 个间隔Δt 的区间时,可用数的累加求此面积: S =lim n→∞Σn i=1 yiΔt (3-17) 于是,求此面积的近似矩形公式为 1 10 ◆微型计算机控制技术(第4 版) S ≈ Σn i=1 yiΔt (3-18) 当Δt 取得足够小时,就可求出符合所需精度的面积。数字积分法就是基于此原理 而实现的一种插补算法。 对于一个脉冲当量,若Δt 取为一个最小单位时间(一个脉冲周期时间),即 Δt=1 (3-19) 则 S ≈ Σn i=1 yi (3-20) 2.数字积分法的直线插补 数字积分法的工作原理可用加工图3-14所示的第一象限中的线段AB 加以说明, 图3-14 数字积分法直线插补 起点为A(x0,y0),终点为B(xe,ye)。 线段AB 的方程为 y = ye -y0 xe -x0(x -x0)+y0 (3-21) 对式(3-21)微分得 dy dx =dy/dt dx/dt= ye -y0 xe -x0 (3-22) 将x、y 化为对时间t 的参数方程,则有 dx dt =K (xe -x0) dy dt =K (ye -y0) ì . í .. .. (3-23) 式(3-23)中,K 为比例系数。 对式(3-23)中每个方程的两边进行积分,得 x(t)=∫t t0 K (xe -x0)dt+x0 y(t)=∫t t0 K (ye -y0)dt+y0 ì . í .. .. (3-24) 式(3-24)中,t0 为线段起点A 的时间,tn 为线段终点B 的时间,t0≤t≤tn 。于是,有 x(t0)=x0 y(t0)=y0 { , x(tn)=xe y(tn)=ye { (3-25) 因为积分是从线段起点A 开始的,所以坐标增量就是线段终点坐标B,即 ∫tn t0 K (xe -x0)dt=xe -x0 ∫tn t0 K (ye -y0)dt=ye -y0 ì . í .. .. (3-26) 若将t0~tn 平均分成n 份,每一份为一个插补周期Δt,则当Δt 足够小(dt≈Δt)时,在 t=tk =k·Δt(k=1,2,…,n)时式(3-24)的积分可用累加代替,即 第◆3 章 数字控制技术1 11 x(tk)=Σk i=1 K (xe -x0)Δt+x0 y(tk)=Σk i=1 K (ye -y0)Δt+y0 ì . í .. .. (3-27) 式(3-27)表明,若数字积分用一个累加器进行,且累加器的溢出脉冲由计数器计数,则积 分完成后计数器中所存的数就是坐标差(xe-x0)和(ye-y0)。 从式(3-27)可以看出,可以用两个累加器完成直线的插补计算,它们分别对(xe-x0) 或(ye-y0)进行累加,累加器每溢出一个脉冲,就表明相应的坐标值变化了一个脉冲当量, 即Δt=1。若将累加器的溢出脉冲送到数控系统进给部分的执行机构,每当累加器溢出一 个脉冲就在相应的坐标进给一步,数控系统进给运动的轨迹就是接近AB 的一条直线。当 积分到终点B 时,x 轴和y 轴所走的总步数就恰好等于坐标差(xe-x0)和(ye-y0)。 当累加n 次后,加工动点就到达了终点,插补结束,此时 x(tn)=Σn i=1 K (xe -x0)Δt+x0 =nK (xe -x0)+x0 =xe y(tn)=Σn i=1 K (ye -y0)Δt+y0 =nK (ye -y0)+y0 =ye ì . í .. .. (3-28) 使式(3-28)成立的条件为 n =1K (3-29) K 的数值与累加器的容量有关,它的值应为 K = 1 2N (3-30) 式(3-30)中,N 为累加器的位数。于是,累加次数为 n =2N (3-31) 式(3-31)表明,若累加器的位数为N ,则整个插补过程要进行2N 次累加才能到达线段的 终点B。 图3-15是数字积分直线插补器框图,它由被积函数寄存器Jx 、Jy ,累加器JRx 、JRy 及 全加器JΣ 组成。 图3-15 数字积分直线插补器框图 ◆ 112 微型计算机控制技术(第 4 版) 首先把(xe-x0)、(ye-y0)的值初始化,即把以毫米为单位的数值除以脉冲当量,变 成脉冲数字量。然后把(xe-x0)的值输入Jx 寄存器,把(ye-y0)的值输入Jy 寄存器。 每出现一个时钟脉冲, x R累加器中累加, y 中的内容要进Ry 累加 J中的内容要进入Jx J入J 器中累加,在从 A 点到 B 点的加工过程中,要给出 n 个时钟脉冲,、累加器要进行 n 次累加,在JRx 溢出端要溢出(xe-x0)个脉冲,在JRy 溢出端要溢出(y(R) e-y0)个脉冲。对 每一个时钟脉冲,全加器JΣ都要做加1运算,当JΣ= n 时,加工结束。 由于累加器的累加过程类似于积分过程,因此称这种插补方法为数字积分法,Jx 、Jy 中的数也称被积函数。 从上述数字积分直线插补器的工作过程可以看出,数字积分直线插补器必须满足下 述要求才能正确工作: Jx JRy (1)输入的 n 个时钟脉冲必须使JRx 端溢出(xe-x0)个脉冲,使JRy 溢出(ye-y0)个 (x0)/(y0), 能保证加工轨迹与线段AB 吻合。 上述的 n 值是累加器Jx 、JRy 和寄存器Jx 、J有效位的最大值。若寄存器为16 位, 脉冲。 2)JRx 溢出脉冲的速度与JRy 溢出脉冲的速度之比必须等于(xe-ye-才 (x0)的数值(二进制)的字(R) 长为8位,有效位是(y) 8位,(的字长为6位,有效位 也是8位,则n=28。有效位的位长是两个坐标方向的坐标值大者的二进制位长,且各寄 存器都相同。寄存器J、J的位长通常与累加器J、JRy 的位长相等,它所用的有效位也与累加器的有效位相等。(x) 由(y) 于被加工线段AB的长(R) 短(x) 不同,所以累加器的有效位长也随 之变化。加工线段的最大长度是它在各坐标轴上投影值中的大者,等于寄存器的最大容 量。例如,对16 位的累加器和寄存器,它的最大容量是216-1,最多能输出65535 个脉 冲,若脉冲当量为0.则(x0) 中的大者不能大于65. xe-ye-y0) 或(535mm 。 若(xe-x0)=101B 、(ye-y0)=10B,则它们占用寄存器和累加器中的3位,有效 位为3位,23=当累加器作8次累加后, 端必定溢出5个脉冲,Ry 端溢出 001mm, xe-ye-y0) n=8, 在J在J2个脉冲。若3位初始值都为0的二进制数每次都(R) 作(x) 加1计算,则加到第8次时,必然 进位到第4位,而前3位仍然是0。由于101B 是1的5倍,010B 是1的2倍,它们分 别与初始值为0的数累加8次后必然从第4位分别溢出5个1和2个1,因此,对于 (xe-x0)和(ye-y0)的任何数值,在经过 n 次累加后,从高位溢出1的数量必然等于 它们本身的数值。 x 方向溢出的频率fx 等于时钟脉冲频率fc 与 n 之积 : xe-x0 fx= fcn (3-32)xe-x0 y 方向的溢出频率fy 等于时钟脉冲频率fc 与 n 之积: ye-y0 n fy= fc(3-33) 、 x =fx , ye-y0, xy 方向的溢出速度分别为v1/vy =1/fy 则 第◆3 章 数字控制技术1 13 vy vx = ye -y0 xe -x0 (3-34) 由式(3-34)可以看出,累加器溢出脉冲的速度与其中的数值成正比。 在累加器累加之前,需把Jx 、Jy 中的被积函数(xe-x0)、(ye-y0)左移,进行规格化 处理,由于被积函数的位长常常小于Jx 、Jy 寄存器的位长,只有有效位处于累加器的最左 端(高位)时,才能及时溢出脉冲,n 次累加后才能完成插补工作。例如,若Jx 、Jy 、JRx 、JRy 是8位,(xe-x0)=101B,(ye-y0)=10B,JRx 、JRy 中的有效位为3位,若没有作左移规格 化处理,则Jx 、Jy 中的数据情况如图3-16(a)所示,这样的数据需进行2N (N 为寄存器位 数)累加才能溢出正确的脉冲数。若N =8,需累加28 =256次。在这256次累加中, (28-23)=248次累加溢出为0,只有最后的23 次累加才能溢出需要的脉冲,这显然是不 行的。左移规格化处理是把有效位移到被积函数寄存器的最左端,使它们占据高位。如 图3-16(b)所示,由于被积函数处在高位端,因而累加n 次后就能完成积分插补计算。左 移的位数M 等于寄存器位数N 减去被积函数有效位数N1,即M =N -N1。对其他象 限的直线加工,可通过对电动机转向的控制实现。 图3-16 左移规格化处理前后Jx 、Jy 中的数据 3.数字积分法的圆弧插补 假设在xy 平面内加工第一象限逆圆弧A︵B,如图3-17所示,圆心为O',A 点相对于 圆心O'的坐标为IA 、JA 。Pi 点为圆上任意一点,相对于O'的坐标为Ii、Ji,t 为Pi 点相 对于横坐标轴的旋转角度。圆的方程为 I2 +J2 =R2 (3-35) 参数方程为 Ii =Rcost Ji =Rsint { (3-36) 在Pi 点刀具沿各坐标方向的速度分量为 vx =dIi dt =-Rsint=-Ji vy =dJi dt =Rcost=Ii (3-37) 由式(3-37)可以看出:圆弧上任意一点在x 方向的速度分量的绝对值|vx|等于该点在y 方向的瞬时坐标值Ji,在y 方向的速度分量vy 等于该点在x 方向的瞬时坐标值Ii,vx 、 vy 是随Pi 点的位置变化而变化的。 114 ◆ 微型计算机控制技术(第 4 版) dIi=-Jidt 用累加和代替积分,得 dJi=Iidt (3-38) Ii=Σ(m) -JiΔt i=1 Ji=Σ(m) IiΔt (3-39) = 式(3-39)中, m 为从 A 点到Pi 点的累加次(i) 数。(1) 图3-17 数字积分法圆弧插补 图3-18 是圆弧插补器原理。在插补运算开始前,在Jx 寄存器中装入圆弧起点 A 相 对于圆心O'的 y 向增量值JA ,而在Jy 寄存器中装入IA 值。JRx 、JRy 中清零。插补开始 时,使时钟脉冲有效,对应每一个时钟脉冲,Jx 、J中的被积函数都要对应进入JRx 、JRy 中 累加。当累加器Jx 有脉冲溢出时,要在J寄存器(y) 中减1;而当累加器JRy 中有脉冲溢出 时,需在寄存器Jx 中(R) 加1。这是因为x 方向(y) 溢出脉冲使 x 方向步进电机反转一步,在 x 方向减小一个脉冲当量值,使I比I1小1,因而,中的值要减1。同理,当 y 方向的步 进电机正向走一步时,应使Jy i 加1。 i-Jx 图3-18 圆弧插补器原理