基于单片机控制的数控X-Y工作台系统设计.doc

上传人:wj 文档编号:7307165 上传时间:2023-05-11 格式:DOC 页数:96 大小:2.05MB
下载 相关 举报
基于单片机控制的数控X-Y工作台系统设计.doc_第1页
第1页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第2页
第2页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第3页
第3页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第4页
第4页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第5页
第5页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第6页
第6页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第7页
第7页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第8页
第8页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第9页
第9页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第10页
第10页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第11页
第11页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第12页
第12页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第13页
第13页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第14页
第14页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第15页
第15页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第16页
第16页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第17页
第17页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第18页
第18页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第19页
第19页 / 共96页
基于单片机控制的数控X-Y工作台系统设计.doc_第20页
第20页 / 共96页
亲,该文档总共96页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机控制的数控X-Y工作台系统设计.doc

《基于单片机控制的数控X-Y工作台系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机控制的数控X-Y工作台系统设计.doc(96页珍藏版)》请在冰点文库上搜索。

基于单片机控制的数控X-Y工作台系统设计.doc

北京理工大学珠海学院2010届毕业设计

基于单片机控制的数控X-Y工作台系统设计

——插补部分

摘要

本设计研究的课题主要是基于单片机控制的数控X-Y工作台系统设计—插补部分设计。

在系统程序设计上运用逐点比较法使步进电机实现单坐标定位、两坐标直线插补和圆弧插补的基本功能;在此功能基础上通过建立象限判别程序,使X-Y工作台达到四象限的工作要求;并编写了代码处理指令,使CPU能够根据读入的指令信息(G代码与X轴和Y轴坐标),分别向X轴和Y轴步进电机输出执行指令所需的控制信号,从而完成指定的工序。

该设计选用KeilμVision2软件进行程序的编译和调试,在Proteus环境下实现进一步的调试并仿真得出程序的运行结果。

此次设计的程序均能在Proteus中的控制系统仿真电路图中仿真通过,仿真时,只需从键盘输入G代码后,步进电机就能通过直线插补和圆弧插补,完成平面轮廓加工。

关键字:

插补数控X-Y工作台步进电机单片机

DesignofX-YNCWorktableBasedonMicrocontroller

——Interpolationpart

ABSTRACT

ThesubjectofthisdesignstudyismainlybasedonMCUcontrolsystemdesignforCNCXYtable-interpolationpartofthedesign.

Proceduresusedinthesystemdesignbypointbypointcomparisonthensingle-coordinatepositioning,linearinterpolationofthetwocoordinates,circularInterpolationofthetwocoordinatesbyusethesteppermotor;onthebasisofthis,establishquadrantidentificationproceduressothatXYtablecanworkinfourquadrants;andwritethecodehandler,soCPUaccordingtotheinformationwhichhavebeenread(GcodeandtheX-axisandY-axiscoordinates),outputsignalstotwosteppermotorseparatelyforcontrolthetablehowtomoveonX-axisandY-axistofinishthespecifiedprocess.

ThedesignofthesoftwareprogramsusedKeilμVision2compileanddebug,debuggingattheProteusandgettheresultsofsimulation.theresultsofthedesignoftheprograminthesimulationbyProteusiswonderful,whensimulationtheprogram,justneedinputGcodebythekeyboard,steppermotorcancontrolthetablethroughlinearinterpolationandcircularinterpolationtofinishplanecontourmachining.

Keywords:

InterpolationX-YNCWorktableSteppingMotorMicrocontroller

II

目录

摘要 I

ABSTRACT II

前言 1

1 X-Y数控工作台设计简介 2

1.1 X-Y数控工作台总体方案分析 2

1.2 仿真开发环境Proteus简介 2

1.3 程序开发环境KeilμVision2简介 2

2 X-Y数控工作台机械部件功能分析 4

2.1 步进电动机的工作原理 4

2.2 步进电动机的工作方式 4

3 X-Y数控工作台硬件电路分析 6

3.1 控制系统微控制器AT89C52 6

3.1.1 AT89C52单片机的主要工作特性 6

3.1.2 AT89C52单片机的内部结构 6

3.1.3 AT89C52单片机的各引脚功能 15

3.2 可编程并行接口芯片8255A 16

3.2.1 8255A的内部结构 16

3.2.2 8255A的引脚功能 17

3.2.3 8255A的工作方式 18

3.2.4 8255A控制字 19

4 基于PROTEUS仿真电路分析 21

4.1 X-Y数控工作台控制系统仿真电路图 21

4.2 X-Y数控工作台控制系统硬件资源及其分配 21

4.3 电路模块图分析 22

4.3.1 X-Y向步进电机控制电路分析 22

4.3.2 四行四列矩阵式键盘控制电路分析 23

4.3.3 X-Y数控工作台显示电路分析 24

4.4 程序在仿真电路图中实现的功能 25

5 X-Y数控工作台总程序软件设计 26

5.1 程序总流程分析 26

5.2 Main函数功能解释 26

5.3 逐点比较法的插补原理 27

5.4 逐点比较法插补的优点 27

5.5 插补总流程分析 27

6 X-Y数控工作台快速进给软件设计 28

6.1 快速进给程序分析 28

7 X-Y数控工作台直线插补软件设计 30

7.1 逐点比较法的直线插补的数学原理 30

7.1.1 逐点比较法的直线查补的偏差判别机制 30

7.1.2 直线插补中的终点判别机制 31

7.1.3 直线插补计算过程 31

7.1.4 直线插补中的进给判别机制 31

7.2 直线插补程序分析 32

8 X-Y数控工作台圆弧插补软件设计 34

8.1 逐点比较法的圆弧插补的数学原理 34

8.1.1 逐点比较法的圆弧查补的偏差判别机制 34

8.1.2 圆弧插补中的终点判别机制 35

8.1.3 圆弧插补计算过程 35

8.1.4 4个象限的圆弧插补 35

8.2 顺圆插补程序分析 37

8.3 逆圆插补程序分析 39

9 X-Y数控工作台代码处理软件设计 41

9.1 代码处理程序分析 41

10 X-Y数控工作台象限判别软件设计 43

10.1 象限判断总程序分析 43

10.2 G0与G1情况象限判断程序分析 43

10.3 G2情况象限判断程序分析 45

10.4 G3情况象限判断程序分析 45

11 中断程序设计方法 47

11.1 定时器中断程序解释 47

11.2 外部中断程序解释 47

结论与展望 48

参考文献 49

附录A总程序:

50

附录B文献翻译原文 75

附录C文献翻译译文 83

谢辞 90

前言

本次毕业设计的选题为基于单片机控制的数控X-Y工作台系统设计——插补部分。

X-Y数控工作台是许多机电一体化设备的基本部件,通常由导轨座、滑动模块、工作平台、滚珠丝杠螺母副,以及步进电机的部件构成。

控制系统可选用标准的工业控制计算机,也可设计专用的微机控制系统。

本设计用AT89C52组成专用单片机控制系统,从键盘输入G代码后,能通过直线插补和圆弧插补,完成平面轮廓加工。

通过正确的运用大学四年学到的知识完成本次毕业设计,可以更好的掌握有关机电一体化系统的设计过程和单片机的编程思想。

通过该设计使自身具有一定的系统化编程思想和能力,能够独立完成项目的设计。

研究技术路线:

1.单片机输入/输出端口;2.单片机的中断系统;3.单片机的定时/计数器;4.C语言顺序与选择结构程序设计;5.C语言循环结构程序设计;6.C语言数据类型运算符、数组、函数、指针的运用与设计;7.C语言程序设计编译预处理;8.在PROTEUS中进行系统的调试与仿真。

1X-Y数控工作台设计简介

1.1X-Y数控工作台总体方案分析

总体方案图如图1-1所示:

微控制器(MCU)

I/O接口电路

放大电路

执行器件

机械传动机构

机械执行机构

图1-1X-Y数控工作台总体方案图

X-Y数控工作台是实现平面X、Y坐标运动的典型关键部件,能够分别沿X向和Y向移动。

本次设计的X-Y数控工作台选用的是微机控制系统(AT89C52单片机),在基于AT89C52单片机的原理上设计了一个小型的微机控制系统,运用C51编程将控制信号送到执行器件(X和Y向步进电动机),通过机械传动机构(齿轮减速和丝杆传动),带动机械执行机构(工作台)做X向和Y向的运动;实现四象限单坐标快速定位,双坐标直线、圆弧插补等功能;最终选择通过Proteus与Keil联机对设计的电路以及程序进行仿真、

1.2仿真开发环境Proteus简介

ProteusISIS是美国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:

①实现了单片机仿真和SPICE电路仿真相结合。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

②支持主流单片机系统的仿真。

目前支持的单片机类型有:

68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

③提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilμVision2等软件。

④具有强大的原理图绘制功能[1]李泉溪.单片机原理与应用实例仿真.北京:

北京航空航天大学出版社[M],2009,第90页.

1.3程序开发环境KeilμVision2简介

μVision2是一个标准的Windows应用程序,支持长文件名操作,其界面类似于MSVisualC++,可以再Windows95/98/2000/XP平台上运行,功能十分强大。

它支持所有的KEIL8051工具,包括C编译器、宏汇编器、连接/定位器、目标代码到HEX的转换器。

采用KeilC51开发8051单片机应用程序一般需要以下步骤:

①在μVision2集成开发环境中创建一个新项目文件(Project),并为该项目选定合适的单片机CPU器件。

②利用μVision2的文件编辑器编写C语言(或汇编语言)源程序文件,并将文件添加到项目中去。

一个项目可以包含多个文件,除源程序文件外还可以有库文件或文本说明文件。

③通过μVision2的各种选项,配置51编译器、A51宏编译器、BL51连接定位器以及Debug调试器的功能。

④利用μVision2的构造(Build)工功能对项目中的源程序文件进行编译连接,生成绝对目标代码和可选的HEX文件。

如果出现编译连接错误则返回第2步,修改源程序中的错误后重新构造整个项目。

⑤将没有错误的绝对目标代码装入μVision2调试器进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的EPROM中[2]周润景,张丽娜,刘映群.PROTEUS入门使用教程[M].北京:

机械工业出版社,2007,第82页.

2X-Y数控工作台机械部件功能分析

2.1步进电动机的工作原理

步进电动机又叫脉冲电动机,它是一种将电脉冲信号转换为角位移的机电式数模(D/A)转换器。

在开环数字程序控制系统中,输出控制部分常采用步进电动机作为驱动元件。

步进电动机控制线路接受微机发来的指令脉冲,控制步进电动机作相应地转动,从而是步进电动机驱动数控系统的工作台。

很明显,指令脉冲的总数就决定了数控系统的工作台的总移动量,指令脉冲的频率就决定了移动的速度[3]尹志强.机电一体化系统设计课程设计指导书[M].北京:

机械工业出版社,2007,第58页.

步进电动机的工作就是步进转动。

在一般的步进电动机工作中,其电源都是采用单极性的直流电源。

要使步进电动机转动,就必须对步进电动机定子的各项绕组以适当的时序进行通电。

图2-1四相步进电机步进示意图

图2-1为四相步进电动机步进示意图。

开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。

当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。

而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。

依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。

2.2步进电动机的工作方式

步进电动机可工作于单相通电方式,也可工作于双相通电方式和单相、双相交叉通电方式。

选用不同的工作方式,可使步进电动机具有不同的工作性能,如减小步距、提高定位精度和工作稳定性等。

本系统选用的步进电动机是四相八拍工作方式,四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。

单四拍与双四拍的步距角相等,但单四拍的转动力矩小。

八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

图2-2给出了三种工作方式下四相步进电动机的波形图,从图中我们可以清晰的看到四相八拍步进电动机的通电相序为:

A→AB→B→BC→C→CD→D→DA→A→AB→B→…。

图2-2四相步进电动机三种工作方式下的工作波形图

3X-Y数控工作台硬件电路分析

3.1控制系统微控制器AT89C52

3.1.1AT89C52单片机的主要工作特性

•8031CPU(8051的内核);

•8KB的快速擦写Flash存储器,用于程序存储器,可擦写次数为1000次;

•256字节的RAM,其中高128字节地址被特殊功能寄存器SFR占用;

•32跟可编程I/O端口:

P0、P1、P2、P3;

•2个可编程16位定时器:

P3口的第二功能;

•具有6个中断源、5个中断矢量、二级优先权的中断系统;

•1个数据指针DPTR;

•1个可编程的全双工串行通信:

P3口的第二功能;

•具有“空闲”和“掉电”两种低功耗工作方式;

•可编程的3级程序锁定位;

•工作电源的电压为(5±0.2)V;

•振荡器最高频率为24MHz;

•编程频率3~24MHz,编程电流1mA,编程电压Vpp为5V或12V。

•P1.0口的T2为定时器/计数器,P1.1口的T2EX为具有捕捉/重装操作的定时器/计数器[4]丁明亮,唐前辉.51单片机应用设计与仿真:

基于KeilC与Proteus[M].北京:

北京航空航天大学出版社,2009,第2页.

3.1.2AT89C52单片机的内部结构

AT89C52单片机的内部结构如图3-1所示。

可分为四大部分:

内核CPU部分、存储器部分、I/O接口部分和特殊功能部分(如定时器/计数器、外中断控制模块等)。

(1)AT89C52单片机的CPU

AT89C52单片机的CPU是8位字长,主要包括运算器和控制器两部分。

运算器的功能是进行算术逻辑运算、位处理操作和数据的传送,主要包括:

算术/逻辑运算单元(ALU)运算器的核心部件,用来完成基本的算术运算、逻辑运算和位处理操作。

AT89C52具有极强的“位”处理功能,可以进行加、减、乘、除、与、或、非、异或、左移、右移、半字节交换、BCD码运算、位处理、位检测等运算和操作;

暂存器TMP1和TMP2作为ALU的两个输入,暂时存放参加运算的数据;

累加器ACC是一个8位寄存器;

寄存器B,执行乘法或除法指令前,寄存器B用来存放乘数或除数,ALU的另外一个输入来自于ACC,乘法或除法指令执行完成后,寄存器B用来存放乘积的高8位或除法的余数;执行非乘法或除法指令时,寄存器B可以作为一般用途的寄存器使用;

程序状态字寄存器PSW是一个8位的标志寄存器,用来存放当前指令执行后的有关状态,为以后指令的执行提供状态依据,因此一些指令的执行结果会影响PSW的相关状态标志;PSW中各位的状态通常在指令执行过程中自动生成,同时AT89C52单片机的PSW是可编程的,通常程序可以改变PSW中各位的状态标志。

程序状态字PSW各位的状态标志定义如图3-2和表3-1所示;

图3-1AT89C52单片机原理结构图

图3-2PSW各位的状态标志

表3-1PSW各位的定义

状态标志

定义

含义

CY

高位进位标志

若当前执行指令的运算结果产生进位或借位,该标志被置成CY=1;否则CY=0。

AC

辅助进位标志位

又称为半字节进位标志位,在执行加减指令时,如果低半字节向高半字节产生进位或借位,则AC=1,否则AC=0。

F0

用户标志位

用户标识位。

有用户根据需要进行置位、清零或检测。

RS1、RS0

工作寄存器组选择位

工作寄存器组选择位。

00时为工作寄存器0组,01时为工作寄存器1组,10时为工作寄存器2组,11时为工作寄存器3组

OV

溢出标志位

所谓溢出是指运算结果数值的绝对值超过了允许表示的最大值,执行运算指令时,如果运算结果超出了目的寄存器A所能够表示的符号数的范围(-128~+127),硬件自动置位溢出标志位,即OV=1;否则OV=0。

-

保留位

保留位,无意义。

P

奇偶校验标志位

奇偶效验标志位。

用来指示累加其中内容的奇偶性,该位始终跟踪指示累加器中1的个数,硬件自动置1或清0.若逻辑运算后累加其中1的个数为偶数,则P=0;否则P=1.常用于效验串行通信中数据传送是否正确。

CPU中控制器是控制读取指令,识别指令并根据指令的性质协调、控制单片机个组成部件有序工作的重要部件,是CPU乃至整个单片机的中枢神经。

控制器由程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、定时及控制逻辑电路等组成。

控制器的主要功能是控制指令的读入、译码和执行,并对指令的执行过程进行定时和逻辑控制。

根据不同的指令协调单片机各个单元有序工作。

图3-3存储器空间分布图

(2)AT89C52单片机的存储器

AT89C52单片机芯片内配置有8KB(0000H~1FFFH)的Flash程序存储器ROM和256字节(00H~FFH)的数据存储器RAM,根据需要可外扩到最大64KB的程序存储器和64KB的数据存储器,因此AT89C52的存储器结构可分为4部分:

片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器(见图3-3)。

本次设计选用最小系统设计单片机,即不扩展,AT89C52的存储器结构较为简单:

只有单片机自身提供的8KBFlash程序存储器ROM和256字节数据存储器RAM。

使用时,引脚要提高电平(5V),这时,复位后CPU从片内ROM区的0000H单元开始读取指令代码,一直运行到1FFFH单元。

如图1.6所示,虚线框内左侧为片内自带的数据存储器RAM,此256字节单元(00H~FFH)的低128字节(00H~7FH)单元为用户使用去,高128字节(80H~FFH)单元为特殊功能寄存器SFR区。

片内寄存器的00H~7FH区又划分成3块:

00H~1FH块是工作寄存器所用;20H~2FH块石有位寻址功能的单元区;30H~7FH是普通RAM区。

工作寄存器又分为4组,在当前的运行程序中只有某一组是被激活的,谁被激活由程序状态寄存器PSW的RS1、RS0两位决定,如表3-2所列。

如表3-3所列出了特殊功能寄存器SFR的名称、符号和地址。

在程序设计中,可直接用寄存器名作为寄存器的符号地址使用。

图3-4片内数据寄存器的结构

表3-2工作寄存器激活地址表

组号

RS1(PSW.4)

RS1(PSW.3)

R0

R1

R2

R3

R4

R5

R6

R7

0

0

0

00H

01H

02H

03H

04H

05H

06H

07H

1

0

1

08H

09H

0AH

0BH

0CH

0DH

0EH

0FH

2

1

0

10H

11H

12H

13H

14H

15H

16H

17H

3

1

1

18H

19H

1AH

1BH

1CH

1DH

1EH

1FH

表3-3特殊功能寄存器SFR

特殊功能寄存器

功能名称

物理地址

可否位寻址

B

寄存器B

F0H

可以

A(ACC)

累加器

E0H

可以

PSW

程序状态寄存器(标志寄存器)

D0H

可以

IP

中断优先级控制寄存器

B8H

可以

P3

P3口锁存器

B0H

可以

IE

中断允许控制寄存器

A8H

可以

P2

P2口锁存器

A0H

可以

SBUF

串行数据缓冲器

99H

不可以

SCON

串行接口控制寄存器

98H

可以

P1

P1口锁存器

90H

可以

TH1

T1计数器高8位寄存器

8DH

不可以

TH0

T0计数器高8位寄存器

8CH

不可以

TL1

T1计数器低8位寄存器

8BH

不可以

TL0

T0计数器低8位寄存器

8AH

不可以

TMOD

定时器/计数方式控制寄存器

89H

不可以

TCON

定时器控制寄存器

88H

可以

PCON

电源控制寄存器

87H

不可以

DPH

数据指针高8位

83H

不可以

DPL

数据指针低8位

82H

不可以

SP

堆栈指针寄存器

81H

不可以

P0

P0口锁存器

80H

可以

(3)AT89C52单片机的I/O接口

AT89C52单片机内部集成了4个可编程的并行I/O接口(P0~P3),每个接口电路都有锁存器和驱动器,输入接口电路具有三态门控制。

P0~P3口同RAM统一编址,可以当作特殊功能寄存器SFR来寻址。

AT89C52单片机可以利用其I/O接口直接与外围电路相连,使用时,P0~P3口在开机或复位时均呈高电平。

AT89C52单片机的并行I/O接口有以下应用特性:

P0、P1、P2、P3作为通用I/O口使用时,输入操作是读引脚状态;输出操作是对口的锁存器的写入操作,锁存器的状态立即反映到引脚上。

P1、P2、P3口作为输出口时,由于电路内部带上拉电阻,因此无需外接上拉电阻,而P0口由于内部无上啦电阻,因此使用它时,必须外接上拉电阻。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2