直线逐点比较插补原理的实现.doc_第1页
直线逐点比较插补原理的实现.doc_第2页
直线逐点比较插补原理的实现.doc_第3页
直线逐点比较插补原理的实现.doc_第4页
直线逐点比较插补原理的实现.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

逐点比较插补原理的实现1 数字程序控制基础数字程序控制,就是计算机根据输入的指令和信息,控制生产机械按规定的工作程序、运动轨迹、运动距离和运动速度等规律自动地完成工作的自动控制。世界上第一台数控机床是1992年由MIT伺服机构实验室开发出来的,主要的目的是为了满足高精度和高效率加工复杂零件的需要一般来说,三维轮廓零件,即使二维轮廓零件的的加工也是很困难的 ,而数控机床则很容易实现早期的数控(NC)以数字电路技术为基础,现在的数控(CNC)以计算机技术为基础。数控系统由输入装置、输出装置、控制器、插补器等四部分组成。随着计算机技术的发展,开环数字程序控制得到了广泛的应用,如各类数控机床、线切割机低速小型数字绘图仪等,它们都是利用开环数字程序控制原理实现控制的设备。开环数字程序控制的结构如图1.1所示。计算机步进电机驱动电路步进电机工作台图1.1 开环数字程序控制的结构图这种结构没有反馈检测元件,工作台由步进电机驱动。步进电机接收驱动电路发来的指令作相应的运动,把刀具移动到与指令脉冲相当的位置,至于刀具是否到达了指令脉冲规定的位置,它不作任何检查,因此这种控制的可靠性和精度基本上由步进电机和传动装置来决定。开环控制结构简单、可靠性高、成本低、易于调整和维护等,应用最为广泛。2 步进电机控制技术步进电机又叫脉冲电机,它是一种将电脉冲信号转换为角位移的机电式数模转换器。在开环数字程序控制系统中,输出部分常采用它作为驱动元件。步进电机接收计算机发来的指令脉冲,控制步进电机作相应的转动,步进电机驱动数控系统的工作台或刀具。显然,指令脉冲的总数就决定了数控系统的工作台或刀具的总移动量,指令脉冲的频率就决定了移动的速度。因此,指令脉冲能否被可靠地执行,基本上取决于步进电机的性能。2.1 步进电机的工作原理步进电机的工作就是步进转动。在一般的步进电机工作中,电源都是采用单极性的直流电源。要使步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。步进电机的工作原理从本质上讲,与我们已经学习过的直流、交流电动机的工作原理没什么区别。也需要建立一个旋转磁场,而步进电机的旋转原理在于其定子的齿数与转子的齿数不相等,在某一时刻只要通电的顺序不同,即可存在磁偏角,从而使步进电机旋转。步进电机的工作就是步进转动。在一般的步进电机工作中,电源都是采用单极性的直流电源。要使步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。 步进电机的工作原理从本质上讲,与直流、交流电机的工作原理没什么区别。也需要建立一个旋转磁场,而步进电机的旋转原理在于其定子的齿数与转子的齿数不相等,在某一时刻只要通电的顺序不同,即可存在磁偏角,从而使步进电机旋转。2.2 步进电机的工作方式步进电机有三相、四相、五相、六相等多种,为了分析方便,我们以三相步进电机为例,步进电机可单相通电,也可双相通电及单、双相交叉通电。因此有单三拍、双三拍、三相六拍三种工作方式。1. 单三拍工作方式 AB C A 2. 双三拍工作方式 ABBC CA AB 3. 三相六拍工作方式 AABBBCCCAA2.3 步进电机控制接口及输出字表常规的步进电机控制电路主要由脉冲分配器和驱动电路组成,采用计算机控制主要是取代脉冲分配器并对走步数、转向及速度进行控制,而驱动电路不可省略。2.3.1 步进电机控制接口 设计算机同时控制x、y轴两台三相步进电机,并用8255A作为输出接口,用PA0,PA1,PA2控制X轴的三相,用PB0,PB1,PB2控制Y轴的三相,只要确定了步进电机的工作方式,就可实现步进电机正转或反转。图2.1所示为两台三相步进电机控制接口示意图。微型计算机驱动电路驱动电路PA0PA1PA2PB0PB1PB2X轴步进电机Y轴步进电机 图2.1 两台三相步进电机控制接口示意图2.3.2 步进电机的输出字表设输出数据为“1”时,相应的绕组通电;输出数据为“0”时,相应的绕组断电。下面以三相六拍控制方式为例确定步进电机的输出字。表2.1 三相六拍控制方式输出字表X轴步进电机输出字表Y轴步进电机输出字表存储地址标号PA口输出字表存储地址标号PB口输出字表ADX1ADX2ADX3ADX4ADX5ADX600000001=01H00000011=03H00000010=02H00000110=06H00000100=04H00000101=05HADY1ADY2ADY3ADY4ADY5ADY600000001=01H00000011=03H00000010=02H00000110=06H00000100=04H00000101=05H2.4 步进电机控制程序若用ADX和ADY分别表示X轴和Y轴步进电机输出字表的取数地址指针,且仍用ZF=1、2、3、4分别表示+X、-X、+Y、-Y走步方向,则可表示步进电机走步控制程序流程。若将走步控制程序和插补计算程序结合起来,并修改程序的初始化和循环控制判断等内容,便可很好地实现XOY坐标平面的数字程序控制,为机床的自动控制提供有力的手段。3 逐点比较法插补原理逐点比较法是我国数控机床中广泛采用的一种插补方法,它能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。逐点比较法插补就是刀具或绘图笔每走一步都要和给定轨迹上的坐标比较,判断该点在轨迹的上(外) 或下(内),从而决定下步的进给方向。若该点在给定点上(外),下一步就向下(内)走,若该点在给给定点下(内),下一步就向上(外)走。如此走一步,比较一次,决定进给方向,逐步逼近给定轨迹。逐点比较法是以阶梯折线来逼近直线或圆弧等曲线的,它与规定的加工直线或圆弧之间的最大误差,为一个脉冲当量,因此只要把脉冲当量取得足够小,就可达到加工精度的要求在逐点比较法中,每进给一步都须要进行偏差判别、坐标进给、偏差计算和终点判断四个节拍。下面分别介绍逐点比较法直线插补的原理。 3.1 逐点比较法直线插补如上所述,偏差计算是逐点比较法关键的一步。下面以第II象限直线为例导出其偏差计算公式。ymxm0图3.1 第II象限直线如图所示,假定直线 的起点为坐标原点,终点A的坐标为 ,加工点 ,若M点正好处在直线 上,那么下式成立:若任意点 在直线 的上方(严格地说,在直线 与y轴所成夹角区域内),那么有下述关系成立:亦即: 由此可以取偏差判别函数 为: 由 的数值(称为“偏差”)就可以判别出P点与直线的相对位置。即:当 时,点 正好落在直线上;当 时,点 落在直线的上方;当 时,点 落在直线的下方。从图21看出,对于起点在原点,终点为 的第II象限直线OA来说,当点P在直线上方(即 )时,应该向-x方向发一个脉冲,使机床刀具向-x方向前进一步,以接近该直线;当点P在直线下方(即 )时,应该向+y方向发一个脉冲,使机床刀具向+y方向前进一步,趋向该直线;当点P正好在直线上(即 )时,既可向-x方向发一脉冲,也可向+y方向发一脉冲。因此通常将 和 归于一类,即 。这样从坐标原点开始,走一步,算一次,判别 ,再趋向直线,逐点接近直线 ,步步前进。当两个方向所走的步数和终点坐标 值相等时,发出终点到达信号,停止插补。对于图3.1的加工直线OA,我们运用上述法则,根据偏差判别函数值,就可以获得如折线段那样的近似直线。但是按照上述法则进行 的运算时,要作乘法和减法运算,这对于计算过程以及具体电路实现起来都不很方便。对于计算机而言,这样会影响速度;对于专用控制机而言,会增加硬件设备。因此应简化运算,通常采用的是迭代法,或称递推法,即每走一步后新加工点的加工偏差值用前一点的加工偏差递推出来。下面推导该递推式:已经知道,加工点的坐标为 时的偏差为: 若 时,则向-x轴发出一进给脉冲,刀具从这点即点 向-x方向前进一步,到达新加工点 , ,因此新加工点 的偏差值为 即: (3-1) 如果某一时刻,加工点 的 ,则向y轴发出一个进给脉冲,刀具从这一点向y方向前进一步,新加工点 的偏差值为 即: (3-2) 根据式(31)及式(32)可以看出,新加工点的偏差完全可以用前一加工点的偏差递推出来。综上所述,逐点比较法的直线插补过程为每走一步要进行以下4个节拍(步骤),即偏差判别、坐标进给、偏差计算、终点判断。(1)偏差判别。根据偏差值确定刀具位置是在直线的上方(或线上),还是在直线的下方。(2)坐标进给。根据判别的结果,决定控制哪个坐标(x或y)移动一步。(3)偏差计算。计算出刀具移动后的新偏差,提供给下一步作判别依据。根据式(31)及式(32)来计算新加工点的偏差,使运算大大简化。但是每一新加工点的偏差是由前一点偏差 推算出来的,并且一直递推下去,这样就要知道开始加工时那一点的偏差是多少。当开始加工时,我们是以人工方式将刀具移到加工起点,即所谓“对刀”,这一点当然没有偏差,所以开始加工点的 。(4)终点判断。在计算偏差的同时,还要进行一次终点比较,以确定是否到达了终点。若已经到达,就不再进行运算,并发出停机或转换新程序段的信号。3.2 终点判断方法逐点比较法的终点判断方法有多种,介绍两种: 设置Nx,Ny两个计数器,初值设为Xe,Ye在不同的坐轴进给时对应的计数器减一,两个计数器均减到零时,到达终点。 用一个计数器,初值设为Nxy=Xe+Ye,无论在哪个坐标轴进 给,Nxy计数器减一,计数器减到零时,到达终点。3.3 四个象限的直线插补不同象限的直线插补的偏差符号及坐标进给方向如图3.2所示。 F=0F=0F0F=0F=0F=0Fm= 0 Then Picture1.Line (xm, ym)-(xm - 1, ym) fm = fm - ye + yo xm = xm - 1 Else Picture1.Line (xm, ym)-(xm, ym + 1) fm = fm - xe + xo ym = ym + 1 End If If (xm - xe) = 0 And (ym - ye) = 0 Then Exit Do LoopEnd Sub(5)退出运行的程序,与界面“退出”相对应。Private Sub Command2_Click()EndEnd Sub4.3 程序流程图起始初始化xo,yo,xe,yeF=0+Y走一步-X走一步Fm=Fm-ye+yoFm=Fm+xm-xoN=N-1N=0结束YNNY图4.2 程序流程图4.4 举例(1)下面以实例1来验证。设欲加工直线OA,其终点坐标为 ,则终点判别值可取为 。开始时偏差 ,加工过程的运算节拍如表4.1所示,图4.2为走步过程图。表4.1 插补计算过程步数偏差判别坐标进给偏差计算终点判断F0=0N=9F0=0F10F20F40F60F8= 0 Then Pictu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论