双坐标十字滑台数控编程_第1页
双坐标十字滑台数控编程_第2页
双坐标十字滑台数控编程_第3页
双坐标十字滑台数控编程_第4页
双坐标十字滑台数控编程_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、学毕业论文 题目:双坐标十字滑台数控编程插补控制的实现 作 者 张 晖 届 别 2015届 院 别 机械工程学院 专 业 机械电子工程 指导教师 余晓峰 职 称 副教授 完成时间 2015年5月12日 湖南理工学院毕业设计(论文) I 摘要 本文主要研究双坐标十字滑台数控机床的直线插补与圆弧插补算法及外围电路的 设计,完整的构建一个数控系统(包括软件与硬件的设计) 。该系统以 51 单片机位核 心,硬件部分:由单片机最小系统、按键模块、LCD1602 显示模块、步进电机驱动模块、 位置检测模块、报警模块所构成。该系统具有功耗低、可靠性高、体积小、人机界面 友好等特点。

2、软件部分:根据各自数据手册采用 C51 对各个模块编程,其中直线插补 算法、圆弧插补算法采用绝对坐标与相对坐标坐标系结合分象限讨论的方法对逐点比 较法分析,构造偏差函数、分析偏差、减小偏差进给、终点判断、偏差计算的循环来 进行插补运算,绘制程序流程图然后用 C51 编程将计算出来的结果输出到步进电机驱 动模块控制电机转动。用户界面:用户通过键盘输入数控指令,单片机自动判断输入 参数是否正确如错误则重输入正确则执行相应指令驱动电机插补。 关键词:十字滑台; 直线插补; 圆弧插补; 步进电机; 数控编程 湖南理工学院毕业设计(论文) II ABSTRACT This paper studies t

3、he design of two-coordinate cross-slide CNC machine tools linear interpolation and circular interpolation algorithm and peripheral circuits. We build complete a numerical control system (including software and hardware design). The system of the core is 51-bit microcontroller. The hardware parts con

4、sist of the smallest single-chip system, the key module, the LCD1602 display module, the stepper motor drive module, the detecting position module, and alarm module. The system has low power consumption, high reliability, small size, friendly interface and other features. In terms of the software co

5、mponents, according to the respective data sheets for each module we use the C51 to code. the linear interpolation algorithm and circular interpolation algorithm use the absolute coordinate and relative coordinate to combine. We distinguish different quadrant to discuss point by point comparison met

6、hod of analysis. The way of structural deviation function, analytical bias, reducing the bias feed, determining the end point and the deviation calculation cycle is to interpolation operation. We draw program of flow chat and then use the C51to programming .In the last, the calculated results output

7、 to the stepper motor drive module for controlling the motor to rotate. In respect of the user interface, the user by keyboard input CNC command and the microcontroller automatically determine whether the input parameters are correct. If parameters are wrong, the microcontroller will re-enter it .Ot

8、herwise corresponding instruction will be executed to drive motor interpolation. KeywordsKeywords: Cross slide; linear interpolation; Interpolation; Stepping motor; NC programming 湖南理工学院毕业设计(论文) III 目录 摘要 .I ABSTRACTABSTRACT .II 第一章 绪论 .1 第二章 总体设计方案的选择及确定 .2 第三章 硬件控制电路设计 .3 3.1 单片机的选择.3 3.2 最小系统设计.4

9、 3.3 键盘/显示器接口设计.5 3.4 地址分配.7 3.5 步进电机驱动部分设计.7 3.6 告警电路设计.9 第四章 软件设计 .10 4.1 快速定位.11 4.1.1 差别判断.13 4.1.2 进给减小误差.14 4.1.3 计算偏差.15 4.1.4 终点判断.16 4.2 直线插补.17 4.2.1 差别判断.18 4.2.2 进给减小误差.19 4.2.3 计算偏差.19 4.2.4 延时控制速度.20 4.2.5 终点判断.20 4.3 圆弧插补.21 4.3.1 差别判断.23 4.3.2 进给减小误差.23 4.3.3 计算偏差.24 4.3.4 终点判断.24 第五

10、章 注释、参考文献 .26 湖南理工学院毕业设计(论文) IV 第六章 致谢 .27 第七章 附录 .28 湖南理工学院毕业设计(论文) 1 第一章 绪论 随着电子技术的发展微处理器的出现、机电一体化概念的提出及数控技术发展, 作为一个机械电子工程专业的学生,实现机电一体化是每个学生必备技能。双坐标十 字滑台数控编程插补控制的实现通过对单片的选型、外围电路设计、软件的编写、 proteus 下的仿真软件联调功能测试来实现设计。该设计是对我们大学四年以来所学的 知识的一个综合。 通过自顶向下的设计方法,构建整体设计框图,分模块软硬件各自设计,然后在 proteus 下各个模块软硬件联调修改完成设

11、计任务。对单片机的选型,选择合适的单片 机、显示器、键盘、步进电机、驱动电路等进行外围电路设计,构成一个完整的硬件 系统。通过对插补算法的分析,采用逐点比较发对各种类型的直线圆弧进行分析计算 偏差、判断偏差、减小偏差进给、终点判断,不断循环执行直到到达终点为止。 在分析插补过程中采用传统的判别方法构造的偏差函数计算复杂不便于快速运算, 采用迭代与递推公式对偏差函数进行离散处理大大减少了乘除法的运算从而插补运算 的时间。 根据各部分硬件进行软件设计,进行人机界面按键显示器驱动电路进行设计, 通过按键让用户输入数控指令并通过 LCD1602 实时显示当前刀具的位置。采取脉冲增 量插补算法对直线插补

12、、圆弧插补分别进行算法分析来进行软件设计,并将计算结果 输出再通过驱动电路驱动电机转动达到设计的目的。 在 keil 下进行程序编辑调试,在 proteus 下搭建硬件电路,并将 keil 编译得到 的 hex 文件加载到 proteus 中进行软件硬件联调完成设计。 用户通过按键跟根据 LCD1602 的显示提示输入插补指令与插补参数,单片开始计 算然后输出信号驱动电机电机转动并实时显示刀具位置以及指令。直到差不完成插补。 完成插补后用户可以继续输入插补函数指令跟参数继续插补。 湖南理工学院毕业设计(论文) 2 第二章 总体设计方案的选择及确定 单片机 告警 显示 X 驱动 Y 驱动 X 步

13、进电机 Y 步进电机 限位开关 键盘 图 2.1 系统基本结构 总体设计阶段的任务是权衡利弊仔细划分硬件和软件功能。单片机实用系统的硬 件配置与软件设计是紧密相关的,硬件和软件功能上具有一定的互换性。如步进电动 机驱动所必须的环形分配器,既可以由数字逻辑硬件完成功能,可以增加工作速度, 降低软件工作量,但是提高了硬件成本。如果多使用软件完成功能,不但可以降低硬 件开发,还可以简化硬件结构,但增加了软件的复杂性。因此总体设计阶段,硬件和 软件的功能划分十分必要。 本系统以 51 单片机为核心,主要任务是控制刀具进行直线插补圆弧插补,单片 机对各个模块进行控制,通过按键输入指令信息,通过 LCD1

14、602 显示指令信息及刀 具的位置指信息并实时刷新。通过限位开关实时检测是否碰刀并给出报警。电机驱动 部分采用专用的步进电机驱动芯片 L297、L298 减少单片机的工作量,不用产生时序 脉冲,仅需给定信号(包括正反转与脉冲)即可完成对电机的控制,对 L298 输出电 流不够驱动电机,所以在后面再接了一个达林顿管驱动电路来驱动不急点击转动。 由于逐点比较法算法简单最大误差为一个脉冲当量,软件设计采用逐点比较法对 直线插补圆弧插补进行分析,通过起点为原点终点在第一象限的直线插补/圆弧插补分 析类推到第二三四象限,通过坐标平移把起点坐标为原点到任一点进行分析,完成软 湖南理工学院毕业设计(论文)

15、3 件的设计。 第三章 硬件控制电路设计 双向十字滑台的运动由向和向步进电动机来控制。电机驱动滑台的各个 运动部件。从而准确的控制它们的速度和位置。一般情况下,数控伺服系统分为开环 和闭环两大类。其中闭环伺服系统还可以根据检测位置的不同进一步细分为半闭环伺 服系统和闭环伺服系统两类。 由于开环伺服系统具有结构简单,调试维修方便和成本低的特点。因此虽然这种 伺服的误差没有补偿和校正,精度较低。但广泛应用于中小型经济型数控机床。 鉴于开环伺服系统的特点,本次设计的总体设计方案拟采用开环伺服系统。并为 运动方向加上极限位置检测及原点定位检测以实现基本运动位置控制。 3.1 单片机的选择 图 3.1

16、AT89S52 单片机 AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和 湖南理工学院毕业设计(论文) 4 引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单 芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控 制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,

17、2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时钟电路。 另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式 下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式 下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复 位为止。本设计选用 AT89S51 单片机。51 单片机的哈弗结构。数据存储器与程序存储 器分开,大大减少了成本,特有的带有位处理功能的八位微处理器。内部有 8KBROM 存 储器,内部 ROM 足够不用外扩程序存储

18、器,而且 RAM 有 256B(特殊功能寄存器除外) 可用不用外扩数据存储器,4 组带所存的端口共 32 个 I/O 口,三个定时器中断,可用 于定时显示刷新等。两个外部中断可用于限位开关报警,还有串行口中断,拥有丰富 的指令系统,而且价格便宜,十分经济。 3.2 最小系统设计 图 3.2 最小系统 单片机最小系统是单片机正常工作的基础,单片机的最小系统包括晶振电路与复 位电路,晶振电路是整个系统的心脏,晶振产生的时钟频率供单片机正常工作,晶振 电路外接一个 12MHz 的晶振,复位电路则是对单片机进行复位,在不改变内存值的情 况下进行程序指针的复位,复位电路采取两上电复位与手动复位。上电复位

19、:当给单 湖南理工学院毕业设计(论文) 5 片上电时自动复位,完成单片机初始化工作,是单片机正常运行的必备准备工作,手 都复位:可以在任何时候按下对单片机复位,单片机内存值不会改变 3.3 键盘/显示器接口设计 图 3.3 4*4 矩阵键盘 在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式。 在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以 连接。这样,一个端口(如 P1 口)就可以构成 4*4=16 个按键,比之直接将端口线用 于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 20 键 的键盘,而直接用端口线则只能多

20、出一键(9 键) 。由此可见,在需要的键数比较多时, 采用矩阵法来做键盘是合理的。按键是常用的输入设备之一,是实现人机界面的必不 可少的一部分,用户通过按键输入指令达到控制的目的,本次设计采用 4*4 按键组成 的开关矩阵接 P1 端口。它是最简单单片机输入设备。矩阵键盘相对于单个按键能节省 I/O 口。通过行列扫描法(扫描坐标行号与列号来判断哪个按键按下)对他的按键键值 扫描,然后组成输入模块供用户输入命令。同时对输入的参数进行判断,计算是否撞 刀。键盘与显示器构成人机界面。 湖南理工学院毕业设计(论文) 6 图 3.4 LCD1602 显示电路 LCD1602 显示质量高:由于液晶显示器每

21、一个点在收到信号后就一直保持那种色彩 和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此, 液晶显示器画质高且不会闪烁。 LCD1602 数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可 靠,操作更加方便。 LCD1602 体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达 到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。 LCD1602 功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动 IC 上,因而耗电量比其它显示器要少得多。 显示器是常用的输出设备之一,是实现人机界面的必不可少的一部分,本次设计 采用 LC

22、D1602 作为显示器,P0 作为数据端口用来传送数据,P2.0、P2.1、P2.2 分别接 LCD 的 RS、RW、E 作为信号控制接口,LCD1602 一个屏幕能两行 16 个字符公 32 个,支 持字母与数字显示自带字库,占用 I/O 口少,能显示的数据也多,显示稳定不需要像 湖南理工学院毕业设计(论文) 7 数码管一样实时刷新才能显示,占用资源少,功耗低,且价格低。实时显示当前位置 供用户查看以及指令信息参考用户输入指令中的各个参数,与输入指令与键盘构成人 机界面。 3.4 地址分配 图 3.5 程序存储器选择电路 51 单片机采用的结构是哈弗结构,数据存储器与程序存储器分开,数据存储

23、器是 通过指令的区别来选择的所以不需要在硬件结构中做任何处理,由于程序存储器选择 内部存储器,所以引脚必须接高电平。来选择内部的数据存储器存储程序 EA 3.5 步进电机驱动部分设计 湖南理工学院毕业设计(论文) 8 图 3.6 X 轴电机驱动电路 L297 是步进电机专用控制器,它能产生 4 相控制信号, 可用于计算机控制的两相 双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式 控制步进电机。芯 片内的 PWM 斩波器电路可开关模式下调节步进电机绕组中的电机绕组中 的电流。该集 成电路采用了 SGS 公司的模拟/数字兼容的 I2L 技术,使用 5V 的电源电压, 全部信 号的连接都

24、与 TFL/CMOS 或集电极开路的晶体管兼容。L298 是 ST 公司生产的一种高电 压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达 46V; 输出电流大,瞬间峰值电流可达 3A,持续工作电流为 2A;内含两个 H 桥的高电压大电 流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载; 采用标准 TTL 逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况 下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工 作;可以外接检测电阻,将变化量反馈给控制电路。达林顿管就是两个三极管接在一 起,极性只认前面的三极管。具

25、体接法如下,以两个相同极性的三极管为例,前面三 极管集电极跟后面三极管集电极相接,前面三极管发射极跟后面三极管基极相接,前 面三极管功率一般比后面三极管小,前面三极管基极为达林顿管基极,后面三极管发 射极为达林顿管发射极,用法跟三极管一样,放大倍数是两个三极管放大倍数的乘积。 本驱动电路采用步进电机专用驱动芯片 L297、L298 结合达林顿管来驱动步进电机以达 到所需要的功率要求。单片机给 L297 转动信息包括正反转与脉冲信息,L297 就产生相 应的相序脉冲输出驱动步进电机,L297 根据 17、18 引脚的输入负责产生正反转的相序, L298 对 L297 的产生的相序进行信号放大来驱

26、动达林顿管来驱动大功率的步进电机。 图 3.7 Y 轴电机驱动电路 湖南理工学院毕业设计(论文) 9 L297 是步进电机专用控制器,它能产生 4 相控制信号, 可用于计算机控制的两相 双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式 控制步进电机。芯 片内的 PWM 斩波器电路可开关模式下调节步进电机绕组中的电机绕组中 的电流。该集 成电路采用了 SGS 公司的模拟/数字兼容的 I2L 技术,使用 5V 的电源电压, 全部信 号的连接都与 TFL/CMOS 或集电极开路的晶体管兼容。L298 是 ST 公司生产的一种高电 压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高

27、工作电压可达 46V; 输出电流大,瞬间峰值电流可达 3A,持续工作电流为 2A;内含两个 H 桥的高电压大电 流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载; 采用标准 TTL 逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况 下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工 作;可以外接检测电阻,将变化量反馈给控制电路。达林顿管就是两个三极管接在一 起,极性只认前面的三极管。具体接法如下,以两个相同极性的三极管为例,前面三 极管集电极跟后面三极管集电极相接,前面三极管发射极跟后面三极管基极相接,前 面三极管功率一般比后面三

28、极管小,前面三极管基极为达林顿管基极,后面三极管发 射极为达林顿管发射极,用法跟三极管一样,放大倍数是两个三极管放大倍数的乘积。 3.6 告警电路设计 图 3.8 告警电路 湖南理工学院毕业设计(论文) 10 本电路采用硬件直接接触到限位开关的信号直接通过喇叭发出声音报警,减少了单 片机的负担同时也加快了报警响应的速度。当限位开关检测到刀具碰刀边界时,该信 号直接驱动喇叭工作,达到报警的目的。 第四章 软件设计 开始 LCD1602、定时初始化 按键扫描 读取命令 执行命令 结束 图 4.1 主程序流程图 首先对 LCD1602 进行初始化,然后对定时器初始化,接下来在主程序中不断扫描 按键,

29、让用户输入指令,接下按照用户指令进行插补,输出驱动信号,计算刀具位置 输出到 LCD1602 显示。插补结束后接着扫描按键等待用户输入程序一直循环下去。 湖南理工学院毕业设计(论文) 11 刷新时间到 开始 结束 刷新显示 是 否 4.2 中断程序流程图 当设定的的刷新时间到了就输出当前的刀具坐标值到 LCD1602 从而实现刷新显示 的目的,选取适当的刷新频率进行刷新。 4.1 快速定位 4.3 快速定位指令格式 快速定位指令组成: 快速定位指令由三部分组成,指令码、指令码 X 坐标、指令码 Y 坐标。 湖南理工学院毕业设计(论文) 12 指令码(C):表示该条指令代表快速定位。 指令码 X

30、 坐标(320):代表快速定位到的终点 X 坐标为 320。 指令码 Y 坐标(120):代表快速定位到的终点 Y 坐标为 120. 快速定位原理:以 XY 轴的最小进给为单位分别进给,每次插补只给 X 或一个进给脉冲, 每次都是往减小偏差的方向进给,如果在直线上则 X 方向进给。其示意图如下。 O(0,0) A(a,b) 图 4. 插补示意图 插补原理:首先进行偏差判别,判断是上偏差还是下偏差;然后往偏差减小的方向进 给,如偏差为 0 则 X 方向进给;构造偏差函数计算偏差,简化偏差函数;进行终点判 断;如此循环。 湖南理工学院毕业设计(论文) 13 Y N 开始 偏差判别 进给减小误差 计

31、算偏差 是否到达终点 结束 图 4.5 快速定位程序流程图 4.1.1 差别判断 O(0,0) A(Xa,Ya) E (Xi,Yi) E(Xi,Yi) E (Xi,Yi) 图 4.6 差别判断示意图 如上图所示当起点 O(0,0)为原点终点 A(Xa,Ya)在第一象限时如果 E(Xi,Yi)在直线上方则 a a i i X Y X Y 湖南理工学院毕业设计(论文) 14 同理 当直线在第二象限时若 E(Xi,Yi)在直线上方则 a a i i X Y X Y 当直线在第三象限时若 E(Xi,Yi)在直线上方则 a a i i X Y X Y 当直线在第四象限时若 E(Xi,Yi)在直线上方则

32、a a i i X Y X Y 4.1.2 进给减小误差 很显然当 A(Xa,Ya)在第一象限时 则 E(Xi,Yi)在直线上方,该 X+轴进给。 1 a a i i X Y X Y 则 E(Xi,Yi)在直线下方,该 Y+轴进给。 2 a a i i X Y X Y 则 E(Xi,Yi)在直线上,随便哪个轴进给。 3 a a i i X Y X Y 很显然当 A(Xa,Ya)在第二象限时 则 E(Xi,Yi)在直线下方,该 Y+轴进给。 1 a a i i X Y X Y 则 E(Xi,Yi)在直线上方,该 X-轴进给。 2 a a i i X Y X Y 则 E(Xi,Yi)在直线上,随便

33、哪个轴进给。 3 a a i i X Y X Y 很显然当 A(Xa,Ya)在第三象限时 则 E(Xi,Yi)在直线下方,该 X-轴进给。 1 a a i i X Y X Y 则 E(Xi,Yi)在直线上方, 2 a a i i X Y X Y 该 Y-轴进给。 湖南理工学院毕业设计(论文) 15 则 E(Xi,Yi)在直线上,随便哪个轴进给。 3 a a i i X Y X Y 很显然当 A(Xa,Ya)在第四象限时 则 E(Xi,Yi)在直线上方,该 Y-轴进给。 1 a a i i X Y X Y 则 E(Xi,Yi)在直线下方,该 X+轴进给。 2 a a i i X Y X Y 则

34、E(Xi,Yi)在直线上,随便哪个轴进给。 3 a a i i X Y X Y 4.1.3 计算偏差 由上式构造偏差函数 Fi= a a i i X Y - X Y 对于 A(Xa,Ya)在第一象限时对偏差函数乘以一个正数 XiYi得 Fi=XaYi-XiYa 该式有一个缺点:需要做乘法运算。对于硬件插补器或者使用汇编语言的软件插 补器,这将产生一定的困难,对于 C 语言也增加了单片机的计算量。为简化偏差值 Fi 的计算,通常采用迭代公式,即根据当前点的偏差值推算出下一点的偏差值。 由 Fi=XaYi-XiYa得 Fi+1=Fi+Xa 上一步 Y 方向进给 aiia YX-) 1Y(X Fi+

35、1=Fi-Xa 上一步 X 方向进给 aiia Y) 1X(-YX F0=0 对于起点不是坐标原点的我们可以重新建立一个坐标系,把当前点作为坐标原点 这样我们就可以通过上面的四种分析解决所有的直线插补了。终点坐标与当前坐标的 差值就当前就是他的新坐标位置。 湖南理工学院毕业设计(论文) 16 4.1.4 终点判断 判断 X 轴 Y 轴的步数是否都达到定刀具是否已经抵达直线终点。如果到了终点, 则停止插补计算;否则继续循环处理插补计算。常用的终点判别方法有以下三种。 总步长法 在插补处理开始之前,先设置一个总步长计数器,其初值为: =|Xa|+|Ya| 其中 |Xa|:在 X 轴方向上刀具应该走

36、的总步数; |Ya|:在 Y 轴方向上刀具应该走的总步数; :整个插补过程中刀具应该走的总步数。 在插补过程中,每进行一次插补计算,无论哪根坐标轴进给一步,计数器都做 一次减 1 操作。当计数器内容减到零时,表示刀具已经走了规定的步数,应该已经 抵达直线轮廓的终点,系统停止插补计算。 投影法 在插补处理开始之前,先确定直线轮廓终点坐标绝对值中较大的那根轴,并求出 该轴运动的总步数,然后存放在总步长计数器中。 =max(|Xa|,|Ya|) 在插补过程中,每进行一次插补计算,如果终点坐标绝对值较大的那根坐标轴进 给一步,则计数器做减 1 操作。当计数器内容减到零时,表示刀具在终点坐标绝 对值较大

37、的那根坐标轴方向上已经走了规定的步数,应该已经抵达直线轮廓的终点, 系统停止插补计算。 终点坐标法 在插补处理开始之前,先设置两个步长计数器1 和2,分别用来存放刀具在两 个坐标轴方向上应该走的总步数: 1=|Xa|,2=|Ya| 在插补过程中,每进行一次插补计算,如果 X 方向进给一步,则计数器1 做减 1 操作;如果 Y 方向进给一步,则计数器2 做减 1 操作。当两个步长计数器都为零时, 表示刀具已经抵达直线轮廓的终点,系统停止插补计算。 4.2 直线插补 湖南理工学院毕业设计(论文) 17 4.7直线插补指令格式 直线插补指令组成:指令码、终点 X 坐标、终点 Y 坐标、插补速度。 指

38、令码(A):表示这条指令是直线插补。 终点 X 坐标(320):插补终点 X 坐标为 320。 终点 Y 坐标(120):插补终点 Y 坐标为 120。 插补速度(320):表示进给速度为 320。 O(0,0) A(a,b) 图 4.8 插补示意图 湖南理工学院毕业设计(论文) 18 插补原理:以 XY 轴的最小进给为单位分别进给,每次插补只给 X 或一个进给脉冲, 每次都是往减小偏差的方向进给,如果在直线上则 X 方向进给。控制延时时间来控制 速度,如此循环下去直到到达终点为止,其示意图如下。 是否到达终点 是 否 开始 偏差判别 进给减小误差 计算偏差 结束 延时控制速度 图 4.9 快

39、速定位程序流程图 插补过程:首先进行偏差判别,判断是上偏差还是下偏差;然后往偏差减小的方 向进给,如偏差为 0 则 X 方向进给;构造偏差函数计算偏差,简化偏差函数;延时控 制速度,进行终点判断;如此循环。 4.2.1 差别判断 湖南理工学院毕业设计(论文) 19 O(0,0) A(Xa,Ya) E (Xi,Yi) E(Xi,Yi) E (Xi,Yi) 图 4.10 差别判断示意图 如上图所示当起点 O(0,0)为原点终点 A(Xa,Ya)在第一象限时如果 E(Xi,Yi)在直线上方则 a a i i X Y X Y 4.2.2 进给减小误差 很显然 则 E(Xi,Yi)在直线上方,该 X 轴

40、进给。 1 a a i i X Y X Y 则 E(Xi,Yi)在直线下方,该 Y 轴进给。 2 a a i i X Y X Y 则 E(Xi,Yi)在直线上,随便哪个轴进给。 3 a a i i X Y X Y 4.2.3 计算偏差 由上式构造偏差函数 Fi= a a i i X Y - X Y 对偏差函数乘以一个正数 XiYi得 Fi=XaYi-XiYa 湖南理工学院毕业设计(论文) 20 该式有一个缺点:需要做乘法运算。对于硬件插补器或者使用汇编语言的软件插 补器,这将产生一定的困难,对于 C 语言也增加了单片机的计算量。为简化偏差值 Fi 的计算,通常采用迭代公式,即根据当前点的偏差值

41、推算出下一点的偏差值。 由 Fi=XaYi-XiYa得 Fi+1=Fi+Xa上一步 Y 方向进给 aiia YX-) 1Y(X Fi+1=Fi-Xa上一步 X 方向进给 aiia Y) 1X(-YX F0=0 对于起点不是坐标原点的我们可以重新建立一个坐标系,把当前点作为坐标原点 这样我们就可以通过上面的四种分析解决所有的直线插补了。终点坐标与当前坐标的 差值就当前就是他的新坐标位置。 4.2.4 延时控制速度 由于程序快速定位的整个执行主要耗时在延时其他的计算时间可以忽略不计所以 通过修改延时就能达到很好的调速效果。 4.2.5 终点判断 判断 X 轴 Y 轴的步数是否都达到定刀具是否已经抵

42、达直线终点。如果到了终点,则停 止插补计算;否则继续循环处理插补计算。常用的终点判别方法有以下三种。 总步长法 在插补处理开始之前,先设置一个总步长计数器,其初值为: =|Xa|+|Ya| 其中 |Xa|:在 X 轴方向上刀具应该走的总步数; |Ya|:在 Y 轴方向上刀具应该走的总步数; :整个插补过程中刀具应该走的总步数。 在插补过程中,每进行一次插补计算,无论哪根坐标轴进给一步,计数器都做 一次减 1 操作。当计数器内容减到零时,表示刀具已经走了规定的步数,应该已经 抵达直线轮廓的终点,系统停止插补计算。 湖南理工学院毕业设计(论文) 21 投影法 在插补处理开始之前,先确定直线轮廓终点

43、坐标绝对值中较大的那根轴,并求出 该轴运动的总步数,然后存放在总步长计数器中。 =max(|Xa|,|Ya|) 在插补过程中,每进行一次插补计算,如果终点坐标绝对值较大的那根坐标轴进 给一步,则计数器做减 1 操作。当计数器内容减到零时,表示刀具在终点坐标绝 对值较大的那根坐标轴方向上已经走了规定的步数,应该已经抵达直线轮廓的终点, 系统停止插补计算。 终点坐标法 在插补处理开始之前,先设置两个步长计数器1 和2,分别用来存放刀具在两 个坐标轴方向上应该走的总步数: 1=|Xa|,2=|Ya| 在插补过程中,每进行一次插补计算,如果 X 方向进给一步,则计数器1 做减 1 操作;如果 Y 方向

44、进给一步,则计数器2 做减 1 操作。当两个步长计数器都为零时, 表示刀具已经抵达直线轮廓的终点,系统停止插补计算。 4.3 圆弧插补 图 4.11 数控指令 G02 格式 圆弧插补指令组成: 圆弧插补指令由四部分组成,指令码、指令码 X 坐标、指令码 Y 坐标、圆弧半径。 湖南理工学院毕业设计(论文) 22 指令码(B):表示该条指令代表圆弧插补。 指令码 X 坐标(060):代表圆弧插补圆心的 X 坐标为 60。 指令码 Y 坐标(060):代表圆弧插补圆心的 Y 坐标为 60. 指令码圆弧半径(050):代表插补圆弧的半径为 50。 圆弧插补原理:以 XY 轴的最小进给为单位分别进给,每

45、次插补只给 X 或一个进给脉冲, 通过构造偏差函数,计算偏差,偏差判别。减小偏差进给。终点判断的循环,每次都 是往减小偏差的方向进给,如果在圆弧上则按变化大的方向进给。其示意图如下。 A(Xb,Yb) O(0,0) A(Xa,Ya ) 图 4.12 圆弧插补示意图 圆弧插补过程:圆弧插补包含一下四个过程差别判断、进给减小误差、计算偏差。终 点判断 湖南理工学院毕业设计(论文) 23 Y N 开始 偏差判别 进给减小误差 计算偏差 是否到达终点 结束 图 4.13 快速定位程序流程图 4.3.1 差别判断 O(0,0) A(Xb,Yb) E(Xi,Yi ) A(Xa,Ya ) E (Xi,Yi)

46、 E (Xi,Yi) 图 4.14 差别判断示意图 如上图所示当圆心为 O(0,0)半径为 R 在第一象限的一段圆弧逆时针插补 当 X +Y R2点 E 在在圆外 2 i 2 i 当 X +Y R2则 E(Xi,Yi)在圆外,该 X 轴进给。 1 2 i 2 i 当 X +Y R2则 E(Xi,Yi)在圆内,该 Y 轴进给。 2 2 i 2 i 当 X +Y =R2则 E(Xi,Yi)在圆上,随便哪个轴进给。 3 2 i 2 i 4.3.3 计算偏差 由上式构造偏差函数 Fi=X +Y -R2 2 i 2 i 该式有一个缺点:需要做乘法运算。对于硬件插补器或者使用汇编语言的软件插 补器,这将产

47、生一定的困难,对于 C 语言也增加了单片机的计算量。为简化偏差值 Fi 的计算,通常采用迭代公式,即根据当前点的偏差值推算出下一点的偏差值。 由 Fi=Fi=X +Y -R2得 2 i 2 i Fi+1=X +(Y +1)2-R2=Fi+2Y +1 上一步 Y 方向进给 2 iii Fi+1=(X -1)2-Y -R2=Fi-2Xa+1 上一步 X 方向进给 i 2 i F0=0 对于圆心不是坐标原点的我们可以重新建立一个坐标系,把圆心作为坐标原点这 样我们就可以通过上面的四种分析解决所有的直线插补了。起点坐标与圆心坐标的差 值就当前就是他的新坐标位置,终点坐标与圆心坐标的差值就当前就是他的新

48、坐标位 置。 4.3.4 终点判断 判断 X 轴 Y 轴的步数是否都达到定刀具是否已经抵达直线终点。如果到了终点,则停 止插补计算;否则继续循环处理插补计算。常用的终点判别方法有以下三种。 总步长法 在插补处理开始之前,先设置一个总步长计数器,其初值为: =|Xa,-Xb|+|Ya,-Yb| 在插补过程中,每进行一次插补计算,无论哪根坐标轴进给一步,计数器都做 一次减 1 操作。当计数器内容减到零时,表示刀具已经走了规定的步数,应该已经 抵达直线轮廓的终点,系统停止插补计算。 湖南理工学院毕业设计(论文) 25 投影法 在插补处理开始之前,先确定直线轮廓终点坐标绝对值中较大的那根轴,并求出 该

49、轴运动的总步数,然后存放在总步长计数器中。 =max(|Xa,-Xb|,|Ya,-Yb|) 在插补过程中,每进行一次插补计算,如果终点坐标绝对值较大的那根坐标轴进 给一步,则计数器做减 1 操作。当计数器内容减到零时,表示刀具在终点坐标绝 对值较大的那根坐标轴方向上已经走了规定的步数,应该已经抵达直线轮廓的终点, 系统停止插补计算。 终点坐标法 在插补处理开始之前,先设置两个步长计数器1 和2,分别用来存放刀具在两 个坐标轴方向上应该走的总步数: 1=|Xa,-Xb|,2=|Ya,-Yb| 在插补过程中,每进行一次插补计算,如果 X 方向进给一步,则计数器1 做减 1 操作;如果 Y 方向进给

50、一步,则计数器2 做减 1 操作。当两个步长计数器都为零时, 表示刀具已经抵达直线轮廓的终点,系统停止插补计算。 湖南理工学院毕业设计(论文) 26 第五章 注释、参考文献 1朱宇光.单片机应用新技术教程M电子工业出版社,2000-04. 2赵全利等.单片机原理及婴童教程 机械工业出版社,2003. 3朱晓春.数控技术.机械工业出版社,2006.4 4马忠梅.单片机 C 语言应用程序设计M.北京航空航天大学出版社,1997. 5何立民.单片机应用技术选编 北京航空航天,1999. 6何循来.高性能八位单片机 AT89C51J.学术期刊,1997-01-06. 2 7 冯秀清等.机电传动控制.华

51、中科技大学出版社,2013.2 8 杨路明.C 语言程序设计教程.北京邮电大学出版社,2011.6 9 赵全利.单片机原理及应用教程.机械工业出版社,2013.7 10 杨威等. 逐点比较直线插补算法的优化 J.武汉科技大学学报, 2012 11 方石银. CNC 系统逐点比较圆弧插补的新算法 J.武夷学院学报, 2011 12 王为达等. 逐点比较法直线插补算法的研究 J.机电一体化, 2013, (09) 13 高海涛. 基于单片机的新型逐点比较直线插补法设计 J.现代电子技术, 2009, (02) 14李艳玲.C 语言实现开环数控系统逐点法直线插补算法介绍J.潍坊高等 职业教育, 20

52、10, (04) 15 陶孝海. 51 单片机 C 语言编程技巧J.计算机时代, 2009, (06) 17 井绪江.浅谈 C51 单片机开发语言及实现过程J.科技致富向导, 2013, (09) 18 刘鲲. 单片机 C 语言入门B.人民邮电出版社 2010 19 秦志强等. C51 单片机应用与 C 语言程序设计B.电子工业出版社 2007 20 田刚等. 一种简捷的快速直线插补新算法J.组合机床与自动化加工技 术, 2005, (07), 湖南理工学院毕业设计(论文) 27 第六章 致谢 四月维夏,山有嘉卉。初春的绿城早已艳阳朝天,花满枝头,欣欣向荣。在这个 美好的季节里,我在电脑上敲出

53、了最后一个字,心中涌现的不是想象已久的欢欣,却 是难以言喻的失落。是的,随着论文的终结,意味着我生命中最纯美的学生时代即将 结束,尽管百般不舍,这一天终究会在熙熙攘攘的喧嚣中决绝的来临。 四年寒窗,所收获的不仅仅是愈加丰厚的知识,更重要的是在阅读、实践中所培 养的思维方式、表达能力和广阔视野。很庆幸这些年来我遇到了许多恩师益友,无论 在学习上、生活上还是工作上都给予了我无私的帮助和热心的照顾,让我在诸多方面 都有所成长。感恩之情难以用语言量度,谨以最朴实的话语致以最崇高的敬意。 感谢我的指导老师余老师。余老师对我的学习和研究都非常严格,并给予了悉心 的指导,使我受益菲浅。从恩师身上我体味到了丰富的学养、严谨的作风、求实的态 度,勤奋的精神,这都成为了我不断前行的动力和标杆。 同时还感谢四年以来大学的老师还有同学们,从你们的身上我收获无数,却无以 回报,谨此一并表达我的谢意。 还要感谢我的父母,给予我生命并竭尽全力给予了我接受教育的机会,养育之恩 没齿难忘;感谢我的伴侣雷德坤,无论在精神还是在物质上都给予我莫大的支持;感谢 我的同窗好友李静,在我最困难的时候总能给予

温馨提示

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

评论

0/150

提交评论