二维坐标仪控制器的设计

2011-10-26 09:42纪留利中航工业飞机起落架有限责任公司燎原分公司陕西汉中723200
中国科技信息 2011年16期
关键词:子程序延时按键

纪留利 中航工业飞机起落架有限责任公司 燎原分公司 陕西 汉中 723200

二维坐标仪控制器的设计

纪留利 中航工业飞机起落架有限责任公司 燎原分公司 陕西 汉中 723200

二维坐标仪控制器的硬件结构相对比较简单,核心部分是软件的实现。因此本文主要从软件角度论述了二维坐标仪控制器具体实现方法。运用运动控制函数实现了单片机开发步进电机二维运动方法的具体控制;介绍了部分子程序的实现方法。该二维运动控制器的样品已经研制出来,经过严格实际测试,达到了设计要求。

二维坐标仪控制器;运动控制器;单片机

two-dimensional coordinate instrument controller ; motion controller;single chip microcomputer

1 软件设计实现的具体目标

实现四位数码显示管按照要求显示相应的坐标。4*4键盘能按照键盘功能表的设计单独运行或同时运行控制两个步进电机能实现单独或同时运行。根据逐点比较法直线和圆弧补的基本原理设计相应的软件。在此控制系统中,要用单片机及其他外围电路控制步进机在平面坐标内的运动。例如图1,画一个圆,则可以用这个圆心为原点建立一个局部坐标系。刚开始工作时,使平台从机器原点移动至工件原点,然后以OmA为半径画圆。图4-1正常工作时,平台移动都在工件坐标系内移动。一个完整的运动过程结束时,应使平台移回机器原点,以便处理下一个工件。

图1 运动系统二维坐标系

2 主程序设计

本系统软件设计采用汇编语言。在设计系统的总流程中思路比较简单,但在子程序设计中却相当复杂。系统软件主程序流程图如图2所示:程序开始后,首先要对电机驱动模块等进行初始化,然后判断设置键或方式键是否按下,以执行设置或几种方式。

图2系统软件主程序流程

3 各部分程序设计

3.1 直线及圆弧的程序设计

画直线与画圆弧经常使用的是逐点比较法。逐点比较法是一种逐点计算、判别偏差并逼近理论轨迹的方法,逐点比较法要完成如下四个工作节拍:

1)偏差判别:判别当前位置相对于给定轮廓的偏离情况,以此决定进给方向。

2)进给控制:根据偏差判别结果,控制相对于工件轮廓进给一步,即向给定的轮廓靠拢,减小偏差。

3)新偏差计算:由于再进给后改变了位置,因此应计算出当前位置的新偏差,为下一次偏差判别做准备。

4)终点判别:判断是否已到达被加工轮廓的终点,若已到达终点,则停止插补,若还未到达终点,在继续插补。如此不断循环进行这四个节拍就可以加工出所要求的轮廓。

3.2 键盘的程序设计

一个完善的键盘控制程序应具备以下功能:检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。有可靠的逻辑处理方法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。准确输出按键值(或键号),以满足跳转指令要求。

键盘扫描程序一般应包括以下内容:

判别有无按键按下。键盘扫描取得闭合键行、列值。判断闭合键是否释放,如没释放则继续等待。将闭合键键号保存,一个完整的键盘程序设计流程图如图3所示。

图3 键盘程序流程图

3.3 显示的程序设计

程序本身并无复杂之处,需要注意的是七段码的取值,因为七段数码管有共阳极及共阴极之分。共阴极是高电平时有效输入(所以在C51单片机要使发光二极管点亮,数码管是共阳性的就要让I/O口的电位变为低电位,如果是共阴极的就是合I/O口的电位变为高电位),因有些不同的器件会有不同的数码值。另外引脚信号与码位的对应关系也会影响码值,即引脚可以由高到低排列(7-1),也可以由低到高排列(1-7)。

3.4 步进电机的控制程序设计

在步进电机控制软件中必须解决的一个重要问题,就是及时产生一个如图4所示的周期性脉冲序列。从图中可以看出,脉冲是用周期,脉冲高度,接通与断开电源的时间表示。对于一个数字线来说,在常用的接口电路中,所用电平多为0~5V。接通与断开时间可用延时的办法控制。但由于步进电机的步进是需要一定时间的,所以在送一高脉冲后,需要延长一段时间,以使步进电机达到指定的位置。由此可见,在采用单片机的步进电机开环系统中,控制系统的CP脉冲的频率或者换向周期实际上就是控制步进电机的运行速度。延时方法是在每次换向之后调用一个延时子程序,待延时结束后再次执行换向,这样周而复始就可发出一定频率的CP脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和,就是C P脉冲的周期。

根据所选定的步进电机及控制方式,写出三相六拍控制方式的数学模型。

图4 脉冲序列示意图

以上为步进电机正转时的控制顺序及数学模型。如果按上述逆顺序进行控制,则步进电机将反方向转动。由此可见,所谓步进电机的方向控制,实际上就是按照某一控制方式所规定的顺序发送脉冲序列,达到控制步进电机的目的。

步进电机程序设计的主要任务是:判断旋转方向;按顺序传送控制脉冲;判断所要求的控制步数是否传送完毕。三相六拍步进电机的控制程序如图5。

图5 驱动子程序流程图

4 结论

本系统主要以单片机(AT89C51)为主要控制、计算芯片。在设计过程中,力求硬件电路简单,我们可以看到虽然算法和程序都非常复杂,但它省了很多的硬件电路。在调试过程中,很好的验证了设计方案的可行性。

[1]刘守义.单片机应用技术[M].西安电子科技大学出版社.2 0 0 2

[2]孙育才.ATMEL新型AT8951系列单片机及其应用[M].清华大学出版社.2 0 0 5.0 1

[3]李秉操.单片机接口技术及其在单片机的应用[M].陕西电子编辑部.1 9 9 3

Two Dimensional Coordinate Controller Design

Ji Liu li
AVIC LANDING-GEAR LAMC Hanzhong, Shaanxi 723200

two-dimensional coordinate controller hardware structure is relatively simple, is the core part of the realization of the software. Therefore, this article mainly from the software was discussed. The two-dimensional coordinate instrument controller realization method. Application of motion control function of the realization of the development of SCM stepper motor motion method specific control. Introduces some subroutines realization method. The two-dimensional motion controller samples has been developed, to undergo a rigorous testing, has achieved the design requirements.

10.3969/j.issn.1001-8972.2011.16.079

作者简历

纪留利 1972年出生。籍贯:安徽蒙城。本科。

单位:陕西燎原机械有限公司。

猜你喜欢
子程序延时按键
基于有限状态机的按键检测程序设计
基于级联步进延时的顺序等效采样方法及实现
日光灯断电关闭及自动延时开关设计
按键消抖在单片机和FPGA实验教学中的应用
一种多方向导光按键结构设计
浅谈子程序在数控车编程中的应用
宋湘延时答妙对
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
桑塔纳车发动机延时熄火