摘 要
在现代工业生产过程中,常常需要测量很多不同的位移量。与此同时对位移量进行较为精确地检测,是提高控制精度的基础。因此之前所普遍采用的传统位移测量装置已经不能适应时代发展的潮流。在此情况下通过科研人员的不断努力终于研制出了数字式光电编码器, 它的输入量是角位移量其输出量是相应的电脉冲, 并且它有体积小,精度高的优点。故而,这次毕业设计选用的是光电编码器 。
本次毕业设计是以AT89C51单片机为核心,用光电编码器来实现对位移量的精确测量,再将测量结果显示在LCD 液晶显示器上。其中本次设计中所选用的是输出电压为5V 的光电编码器。
本文由浅入深先介绍了一些关于位移测量的基本原理,进而阐述了各个模块的设计思路,工作过程以及显示效果。本文借鉴了一些当前较为流行的设计思想,例如硬件软件化,很好的满足了设计要求。
关键词:位移, 测量,光电编码器,单片机,LCD 显示器
Abstract
In the control field, a variety of displacement measurements often need to be carried out. In actual industry position control domain, to increase the control precision, carries on the examination to the controlled member is accurately very important.The traditional machinery survey displacement installs has not been able to satisfy the modern production by far the need, but the digital sensor electro-optic encoder, can transform the angular displacement into with it correspondence electricity pulse output, mainly uses in the mechanical position and the velocity of whirl examination, has the precision to be high, volume small and so on characteristics, therefore this design decided that uses the electro-optical encoder to carry on the displacement to examine.
This design to use the electro-optical encoder to realize the displacement survey and the simulation, realizes the survey from the exterior different displacement value and the demonstration. Makes concrete using at89C51 monolithic integrated circuit is the core, the electro-optical encoder carries on the displacement to survey, simultaneously by LCD liquid crystal display module demonstration. This design uses the electro-optical encoder output voltage is 5V, the output signal after four doubling circuit processing sends in the monolithic integrated circuit to carry on counting processing, finally sends in the LCD module demonstration.
In this paper, detailed working process of displacement measurement system is started with principle of displacement measurement, and hardware circuit design and display. This paper has absorbed the idea of hardware and software to achieve with the subject required functionality.
Key words: The displacement surveys, electro-optical encoder, microcontroller, LCD display
module
目 录
第一章 绪论²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
1.1位移测量及其传感器简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 1.2光栅位移测量技术简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 第二章 原理及方案说明²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
2.1 方案选择及原理²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
2.1.1鉴相原理²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.1.2脉冲的鉴相和计数的软件实现方法²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.1.3脉冲的鉴相和计数的硬件实现方法²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.1.4用单片机内部计数器实现可逆计数²²²²²²²²²²²²²²²²²²²²²²² 2.2位移测量参数及电路参数分析²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.2.1MCS-51的定时器/计数器简介²²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.2.2定时器模式选择位²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
第三章 系统电路的设计 ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
3.1 硬件电路的设计²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
3.1.1 单片机的选择 ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 3.1.2 AT89C51的介绍²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 3.1.3 1XP8001-1简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 3.2 软件的设计²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 第四章 显示部分²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
4.1 LCD显示器 ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 4.2 LCD分类及特点 ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 4.3 LCD1602液晶显示器²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 第五章 仿真实现²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
5.1 PROTEUS仿真软件简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 5.2 KEIL软件的简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 结论²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 致谢²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 参考文献²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
第一章 绪论
1.1位移测量及其传感器简介
位移包括线位移和角位移。在工业生产过程中需要大量的位移检测,而且位移检测还是测量诸如力、扭矩、速度、加速度、流量等参数的基础。
位移是矢量,其不仅具有大小,而且还具有方向。在实际测量中,应使二者方向重合,这样才可以得到比较满意的测量结果。若二者的方向不重合,则会使测量结果产生较大的误差。
在具体测量时,要依据测量对象的不同,而灵活选择测量点、方向与系统。位移传感器,放大电路以及显示器组成了位移测量系统。其中选用合适的位移传感器是本次设计的关键。
应用场合不同,所选用的传感器也不同。表1.1-1中是一些主要位移传感器的性能与特点的介绍。
表1.1-1 常用位移传感器一览表
本次毕业设计所采用的光电编码器具有许多优点,比如响应快、精度高、抗干扰能力强等。正是基于其诸多优点,使得其在很多领域都发挥着不可替代的作用。本设计位移的测量就是用单片机和光电编码器来实现的。
1.2光栅位移测量技术简介
很早以前人类就发现了光栅,但由于当时人们认知水平的不足以及技术因素的局限,光栅并没有得到广泛的应用。
第三次工业革命以后,不论是认知水平还是技术水平都已经达到了相当高的水准。在此情况下,光栅的莫尔条纹现象引起了科学界的重视,并很快在位移测量等领域得到了广泛的应用。由此就产生了一种新型传感器即光栅式传感器。
光栅式传感器不仅精度高而且可以进行动态测量,也便于控制的自动化。尤其它强大的抗干扰能力,进一步推动了其应用领域的不断扩大与深入。
不可否认,在传感器与检测技术方面日本始终处于世界领先水平,就是美国也是望其项背。日本产的传感器不论是测量精度还是质量方面都是一流的,毫不夸张的说,日本代表了当今世界传感器技术的最高水平。当然在光栅式传感器方面也是如此。例如有日本尼康公司所生产的轴角编码器,每转可输出的脉冲高达1296万,可谓是当今世界的分辨率之最。
改革开放以来,经过我国科学家的不断努力,我国在光栅式位移传感器领域也取得了巨大进步。虽说如世界先进水平还有不小的差距,当相比之前也已经是相当了不起的进步了。
第二章 原理及方案说明
2.1 方案选择及原理
光电编码器常常应用于高精度控制系统中。其位移测量原理:光电编码器会产生两路脉冲,以A 、B 脉冲命名,两路脉冲的相位差相差90°。为了确定电机的正反转,可以事先规定:若脉冲A 超前脉冲B 90°则为正转;若脉冲A 滞后脉冲B 90°则为反转。显然位移量与脉冲数的关系是正比。因此只要确定了二者之间的比例关系就可以方便的得出位移量的大小。这种方法的优点是既方便又精确而且成本又很低。
通过上述原理可知,计数的准确与否对于位移的测量是至关重要的。在实际的位移测量系统中计数器必须可以加、减计数,这是因为电机可以正、反转,故而计数器应与之相适应。一般来说设计方法可以分为硬件设计方法和软件设计方法。硬件设计的优点是响应速度快,时效性好,可靠性高。其缺点是电路设计比较复杂,而软件设计却与之相反。总之二者各有优劣,应针对不同的情况灵活选择。
本次设计中的计数方案是:先对编码器的脉冲输出进行鉴相以确定电机的正反转,其次根据鉴相的结果来进行与之相应的加或减计数。
2.1.1鉴相原理
当今脉冲鉴相方法 主要有两种, 一种是软件鉴相法,另一种是D 触发器鉴相法。图1是编码器输出脉冲相位与其正反转之间的对应关系。
图2.1-1 编码器输出波形
2.1.2脉冲鉴相与计数的软件实现方法
由下图所示光电编码器所输出的A 相脉冲接至单片机的INT0中断口,B 相脉冲接至单片机的P1.0口。具体的工作过程是:把INT0的触发方式设置成下降沿触发,且开启与之对应的中断。当中断被触发时,系统自动进入中断服务程序,与此同时开始判别B 相脉冲电平的高低。若为高电平说明电机正转进行加1计数;若为低电平说明电机反转进行减1计数。
图2.2-2 计数与判向电路的软件实现
2.1.3脉冲鉴相和计数的硬件实现方法
相较于软件计数硬件计数优势显著,那就是计数执行速度远远快于软件计数。但硬件计数缺点也很明显那就是外围电路复杂,不仅使设计成本大大增加而且由于所使用的元件多不易调试且容易出错。
下图就是实际使用时所用的硬件计数电路图
图2.2-3 加减计数芯片74LS193
图2.2-4 光电编码器输出脉冲的鉴相及其计数
2.1.4用单片机内部计数器实现可逆计数
通过对以上两种计数实现方法的分析可以得出这样的结论:针对这次毕业设计两种方法均不太合适。
其实本次设计可以直接使用单片机内置的计数器就可以很好的实现加减计数。单片机8051 片内有2 个16 位定时计数器(定时器0 和定时器1) ,但问题是这两个定时计数器是加1计数器不能直接使用,所以需要通过合适的编程来实现“减”计数功能。硬件电路如图5所示。
图2.2-5 单片机内部计数器加减计数的硬件结构
把光电编码器输出的A 接至D 触发器的D 端同时再接至T0端,B 相脉冲接至触发器的CLK 端,同时触发器的输出信号DIR 一路接至INT0,另一路经反相器后接入INT1端。设计思想是:让INT0、INT1工作于下降沿触发方式,这样当DIR 信号脉冲改变时会触发两个中断中的一个。当INT1中断时,进行加计数,反之,当INT0中断时,进行减计数。这种设计思想可以用C 语言编程得到很好的实现。以下就是C 语言程序:
#include int data k=1;
void service_int0() interrupt 0 using 0 { k-- ;/*标志位减1*/ TR0=0 ;/*停止计数*/ TH0= -TH0 ;
TL0= -TL0 ;/*把计数器重新复值,此时相当于减计数*/ TR0=1 ;/*开始计数*/ }
void service_int1() interrupt 2 using 1 { k++ ;/*标志位加1*/ TR0=0 ;/*停止计数*/ TH0= -TH0 ;
TL0= -TL0 ;/*把计数器重新复值,此时相当于加计数*/ TR0=1 ;/*开始计数*/ }
void timer0(void) interrup 1 using2 { if(k=0) /*反向计数满*/ else if(k=1) /*计数为0*/ else
/*正向计数满*/ }
void main(void)
{TCON=0X05 ;/*设置下降沿中断*/ TMOD=0X05 ;/*T0为16位计数方式*/
IE=0X87 ;/*开中断*/ TH0=0 ;
TL0=0 ;/*预置初值*/ }
这种计数方法很好的避开了软件计数法和硬件计数法的弊端,其硬件电路并不复杂且编程较为简单而且大大提高了执行速度。
以上分别介绍了软件计数法、硬件计数法以及利用单片机内置计数器计数实现法。软件计数法电路简单但CPU 资源被大量占用以致使执行速度慢难以满足计数的实效性。硬件计数法CPU 资源占用少、执行速度快但外围电路复杂容易出错。 而利用单片机内部计数器来实现技术可以很好的满足设计要求。
因此选用第三种计数方法,即利用单片机内部定时计数器实现可逆计数。
2.2 位移测量参数及电路参数分析
在本设计的仿真中,光电编码器产生的A,B 相方波用PROTUES 中的信号源加不同的起始时间来模拟。一个用原始的,还有一个用延时1/4周期。变换方向时将两个信号调换就行了。
2.2.1 51系列单片机的定时器/计数器简介
51系列单片机有两个内置的定时计数器,以T0、T1命名。两个定时计数器均可以通过编程来设置它们的工作方式、量程、以及启动方式。
与T0、T1定时计数器的控制相关的寄存器有两个,它们分别是TMOD 模式控制寄存器和TCON 控制寄存器。其中有关TMOD 模式控制寄存器的各个位的定义 如图2.3-1所示。及表2.3-1
图2.3-1 TMOD寄存器用于定时/计数的操作方式及工作模式指令格式
2.2.2. 定时器模式选择位
C/T=0,定时器模式,每一个机器周期计数器自动加1。
C/T=1,计数器模式,在单片机T0引脚上每发生一次负跳变,计数器自动加1。 GATE =0,定时/计数器工作不受外部控制。
GATE =1,定时/计数器T0的起停受INT0引脚的控制。 1. 计算计数初始值 设计数初始值为X :
X=216-t d /Tm=216-1³105/1=15535
则(TH0)=00111100B=3CH ,(TL0)=10101111B=AFH 2. 设置工作方式
方式0:M1M0=01; 定时器模式:C/T=1; 定时/计数器启动不受外部控制: GATE=0; 因此,(TMOD )=05H。
因为系统的晶振频率为fosc=12MHz,则机器周期Tm=12/fosc=1μs 。
第三章 系统电路的设计
3.1 硬件电路的设计
位移测量设计的整个系统框图如下:
图 3.1-1 系统硬件组成框图
上图中所示的由光电编码器所输出的A 相、B 相脉冲的前后沿均与光电码盘的四分之一节距信息相对应。如果直接将这两路脉冲信号送入单片机通常会产生较大的误差。因此,必须采取必要的设计来减少误差,可用四倍频方法来对脉冲信号进行处理,这样可以大大提高测量精度。
四倍频电路设计图如图3.1-2所示,与之对应的时序图如图3.1-2所示。由时序图3.1-2可以看出,经四倍频电路处理后,输出信号由A 、B 变为YA ,YB 信号,在同一时刻,XA ,XB 一个是脉冲信号,另一个是高电平。因此,将XA ,XB 两个信号送入单片机对应的端口上,则电机的转向和位移量只需通过对XA 、XB 信号判断、计数和计算就能得到。
图 3.1-2 四倍频设计电路
图3.1-3 四倍频电路时序图
3.1.1 单片机的选择
在微型计算机问世后,大大带动了计算机硬件系统的发展,通用微处理器的发展更新速度达到了惊人的状态,由此大量的通用微型计算机不断面世且性能很好。随着以上元器件技术的不断发展,单片机的发展速度越来越快,且应用面不断扩大,取得了令人欣喜的成果,其发展可以分为三个阶段:
1974年—1978年,为初级单片机阶段,Intel 公司于1974年首先研制成功了MCS —48系列单片机,这种单片机使用了专门的结构设计。其内部包括8位CPU 、并行IO 端口、8位定时计数器、RAM 、ROM 等等。
1978年—1983年,为高性能单片机阶段,由于在初级单片机阶段单片机市场去得了空前的成功,其发展前景十分乐观,致使许多公司都纷纷致力于单片机的研发,这有极大的促使了单片机技术的飞速发展。因为Intel 公司早早确立了其在单片机开发领域的领先优势,故而这一代的单片机中还是Intel 公司的MCS —51系列一枝独秀。它具有完善的外部总线以及实现了单片机的控制功能,并由此形成了完整的并行三总线结构。
1983年—至今,随着单片机技术的不断深入,单片机的发展已经进入了不断完善与深入的阶段,其发展朝着大容量、高速度方向不断推进着,形成了8位单片机不断完善、巩固与提高,16位、32位、64位单片机奋力研制的格局。
由于近些年来各个半导体厂商的不断研发,单片机领域出现了百花齐放、百家争鸣的喜人局面,以致使单片机的家族越来越庞大,单片机的型号可谓是纷繁庞杂。当然对于本次毕业设计我们采用的还是Atmel 公司的经典单片机产品AT89C51。
特别值得一提的是,改革开放以来我国在单片机领域也已经取得了长足的进步。我国台湾华邦公司所生产的W78E51系列单片机,其技术已是相当成熟了,形成了一套完整的产品体系。
具体来说,华邦公司所生产的单片机具有很多优点,比如,性价比高、功能强大、产片体系健全等等。其产品可分为四个档次:标准系列、宽工作电压系列、涡轮—51系列、工作级别系列。
3.1.2 AT89C51介绍
在当今世界单片机领域众多的生产厂家中,美国的Atmel 公司始终是其中一枝独秀的生产厂家。Atmel 公司的拳头产品:就是 AT89系列。在当今众多的单
片机产品中,被广泛应用的就是这个系列的单片机。
AT89C51微型控制器(俗称:单片机)性能优越,可以在+5V的低电压下工作,而且它将微处理器技术与闪存技术的融为一体,尤其是其内置有可以反复擦出的闪存。大大的减少了广大的使用者的开发费用。
AT89C51是一款由美国Atmel 设备公司研制的高性能的互补金属氧化物半导体8位微处理器。在研发此款产品时采用了高密度非易失性存储器制造技术。它不但内置了通用的8位中央处理器与Flash 存储单元,而且还与标准的MCS —51指令集相兼容。因此可以说,内置功能强大的AT89C51单片机可以为广大用户提供具有成本效益的解决方案。
如下图所示AT89C51单片机具有40个针脚,它们功能各不相同。其中I/O端口有32个,均可以双向输入或输出,按编号分为P1、P2和P3口,各具8个。还具有INT0、INT1两个外部中断口,T0、T1两个可编程的定时器/计数器以及两个全双工串行通信端口。
89C51的芯片引脚图如下所示:
图 3.1-4 AT89C51引脚图
表3.1-2 P3口引脚功能表
AT89系列主要性能指标
3.1.3 1XP8001-1简介
增量式编码器的工作原理实质上就是上述的位移测量原理即:光电编码器会产生两路脉冲,以A 、B 脉冲命名,两路脉冲的相位差相差90°。为了确定电机的正反转,可以事先规定:若脉冲A 超前脉冲B 90°则为正转;若脉冲A 滞后脉冲B 90°则为反转。
但是实际的增量式编码器比此略微复杂一些,他不仅仅输出A 、B 相脉冲而且还输出一路脉冲,以Z 为其命名。利用A 、B 相脉冲的相位差可以很容易的确定电机的旋转方向。而Z 相脉冲主要是用来定位基准点的。
因此,本次设计决定采用增量式编码器。本次设计所选用编码器的是西门子公司生产的1XP8001—1型编码器。其主要的性能指标如下:
电源: 长线差分驱动 +5-30V 无负载时输入: 200mA ;150mA 最大负载电流: 100mA ; 20mA 分辨率: 1024 两相输出相位差:90度
输出振幅: U高>2.5V,U 低
图 3.1-9 1XP8001-1光电编码器外观
表3.1-3 机械参数
表3.1-4 机械参数
表3.1-5 环境参数
3.2 软件的设计
C 语言之所以被称为高级程序编程设计语言是因为它的设计语言接近自然语言便于掌握和理解。而且C 语言摆脱了机械编程的面向机器的缺点,它是面向对象的一种程序设计语言。因此C 语言的出现大大提高了编程的效率。
正因如此,本次软件设计部分采用C 语言来进行编程,并且采用了模块化的编程思想。其程序流程图如下:
图3.2-1 程序流程图
第四章 显示部分
在单片机系统中,常用的显示器有:发光二极管显示器,简称LED ;液晶显示器,简称LCD ;荧光管显示器。
4.1 LCD显示器
LCD (Liquid Crystal Display),这一名词对大多数人而言并不陌生。但这种技术的存在远远超过了人们的想象。
19世纪末奥地利植物学家首先发现了液晶,即液态晶体。液晶体具有特殊的光学性质那就是它的电光效应。据此原理,在上个世纪首先由英国科研人员研制出了第一块液晶显示器。随着液晶显示器商业价值的发现与开发,液晶显示技术得到了迅速的发展,现如今液晶显示器已被广泛的应用于各种显示设备中。
由于LCD 显示器具有诸多优点,例如体积小、重量轻、功耗低等。所以使其在微型控制领域也得到了广泛的应用。。
。
图4.2-1 LCD模块外观
图4.2-2 液晶显示器基本结构
4.2 LCD的分类及特点
LCD 液晶显示器可分为两大类:一种是笔段式液晶显示器,另一种是点阵式液晶显示器(其又包含字符型与图象型两种类型)。
与LED 显示器相比LCD 显示器具有自身显著的特点。LCD 显示器比LED 显示器耗电量更低,因此其被大量的应用与微小型、低功耗的显示设备中。
4.3 LCD1602 液晶显示器
本次毕业设计所使用的液晶显示器是1602,1602是字符型液晶显示器,其用来显示字母和数字是很方便的,而且控制简单、成本也很低。1602液晶显示器可以用来显示字母、数字以及符号,其最多能显示16*2个字符,显示效果清晰、美观。现在市面上1602液晶显示器大约6元一个还是很便宜的。
1602可显示内部字符(包括ASCII 字符,如数字、大小写字母、各种符号、日文假名等),也可以显示自定义字符(单或多个字符组成的简单字符,汉字,图案等,最多可定义8个字符)。
图4.3-1 1602液晶引脚图
图4.3-2 1602液晶原理图
第五章 仿真实现
5.1 Proteus仿真软件的简介
Proteus 是一款非常好用的单片机模拟软件。虽然现在有很多与之类似的电子模拟软件,但是Proteus 绝对是其中模拟单片机最好的电子仿真软件,它不但可以模拟51系列单片机、AVR 单片机、PIC 单片机而且还可以模拟部分的ARM 芯片。Proteus 所支持的外围电子器件有许多,其中包括A/D、LCD 、LED 数码管以及温度、时钟等芯片。对初学者来说,Proteus 是一个非常好的入门工具。当然,实际的开发板在学习中是非常重要的,终归到底Proteus 还只是个电子模拟软件。
Proteus 软件自身就组成了一个完整的电子设计系统,包含了高级原理布图、混合模式SPICE 仿真、PCB 设计以及自动布线。针对Proteus 的持续开发15年来一直都没停止,由此研发出了VSM 技术,这对整个电子模拟软件领域产生了革命性的影响。用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真,甚至还可以采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
ISIS 是Proteus 系统的中心,它远不仅是一个图表库,而是具有控制原理图画图的外观超强的设计环境。无论用户的要求是快速实现复杂的仿真以及PCB 设计,还是设计精美的原理图一共出版,ISIS 都是最佳的选择。
ISIS 用户界面友好,比如,其布置、编辑、移动和删除操作都能够直接用鼠标来实现,无需费时费力的去查找菜单。尤其是对于初学者来说很容易掌握。ISIS 还可以实现自动布线、必要时也可以手动布线。与支持通常的多图纸设计过程一样,ISIS 也支持层次设计。
图5.1-1 PROTEUS 功能分布图
5.2 keil软件的简介
Keil C51是美国Keil Software公司出品的51系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision )将这些部分组合在一起。运行Keil 软件需要WIN98、NT 、WIN2000、WINXP 等操作系统。如果你使用C 语言编程,那么Keil 几乎就是你的不二之选,即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
Keil 的操作步骤如下:
1. 先是建立project 文件,输入文件名(但要符合文件名规则);
2. 然后选择所使用的器件(按照设计的要求自己选择);
3. 新建一个txt 文本文档;
4. 保存文本文档,此处特别注意:如果编程所用的是c 语言,文件后缀名是.c 而如果编程所用的是汇编语言,后缀名必须是.asm ;
5. 在project workspace(左侧状态栏)中选择,source group,然后单击右键,选择“add files to source group1”将C 文件或者汇编文件添加进去;
6. 在步骤5后,你可以看见“translate current file”图标(快捷方式图标)亮;
7. 此时就可以进行build 和 translate current file操作了。,
结 论
本次毕业设计的题目是光栅位移测量系统的设计,其涉及多个模块即硬件设计模块、软件设计模块、显示模块以及仿真实现模块。也涉及到许多元器件,包括光栅式位移传感器即光电编码器,AT89C51单片机,LCD 液晶显示器以及Proteus 电子模拟软件和keil 编程软件。本论文就是从各个模块及元器件的选择依次展开论述的。
第一是原理及方案说明部分。在拿到这次毕业论文题目及设计要求后 ,我就开始到图书馆开始查阅资料,了解与学习一些有关这方面的原理性内容,只有对基本的原理熟练掌握后,才能得心应手的开展设计工作。通过对鉴相原理的学习,意义对各种脉冲计数的实现方法的了解后,最终确定了用单片机内部计数器来实现可逆计数。用Proteus 中的虚拟信号源输出脉冲以及对计数器各种参数进行了设定。
第二是软件硬件设计部分。硬件设计部分,单片机的种类、型号繁复庞杂,它们即使是用途一样但性能也是千差万别,经过仔细的分析对比最终决定采用美国ATMEL 公司生产的AT89C51型单片机。同样光电编码器也有很多种包括增量式光电编码器、绝对式光电编码器以及混合式光电编码器,从性能和成本因素考虑最终决定采用了西门子公司生产的1XP8001-1型光电编码器。而软件部分采用C 语言结构化编程思想进行编程。
第三是显示部分的设计。微型控制系统中的显示器有两大类即LED 显示器和LCD 液晶显示器。本次设计采用的是LCD 液晶显示器,因为它不但功耗小、成本低而且显示字符既清晰又美观。
最后是仿真调试部分。这次毕业设计所用的仿真软件是时下电子设计和开发者最常用的功能强大的Proteus 电子仿真软件。程序编译调试软件所用的是开发者不可或缺的工具keil 编一条是软件。通过对二者的进行的结合仿真,令本次毕设得到了较为满意的结果。可以说是,很好了满足了毕设要求。
虽然我对这次毕业设计付出了很大的努力,但可以肯定的是设计内容与方法上还有许多不足之处以及可以改进的地方,望老师批评指正。
致 谢
当我得知我的毕业设计题目是光栅位移测量系统时,我的心里是很没底的。因为我对传感器方面的知识学得不是很踏实,尤其是对光栅位移传感器方面更是知之甚少。于是我到图书馆查阅相关书籍,在网上搜集相关资料。但是纸上学来中觉浅,在这里我要感谢我的知道老师樊荣老师。樊老师对我们的毕业设计很是关心,经常给与我们针对性的指导,对我们提出的问题以及有什么困惑的地方总是耐心的解答与解释。我再次表示我诚挚的谢意。
当然在大学里依然过的是团体的生活,同学的帮助是必不可少的。在这次毕业设计的准备过程当中,我那可爱的同学们也给与了我很多帮助。当我们遇到困难时总是在一起共同商讨与解决。当我在设计上遇到问题向同求助时,他们总是很乐意的帮忙总结,可以说此次设计的成功同学们的帮助是功不可没的。在此,衷心的感谢我的同学们毕业之后我们依然心连心。
其次,我要感谢我的亲人们,是他们给了我无尽的精神支持。每当我因为在设计过程中遇到久攻不克的难题而心情低落时,父母总是用他们那和蔼声音、亲切的话语安慰我并且鼓励我要振奋起来跌倒了不应放弃,每当此时我都获得了很大的动力重新又投入到了设计中去。
通过这次毕业设计进一步提升了我的能力,又让我学到了很多新知识、新方法。在即将步入社会之时,这对我们能力的提升是很重要的。最后再一次衷心的感谢我的老师、我的同学、我的亲人。
参 考 文 献
[1]李红果. 一种光电编码器位置检测系统研究与应用[J].微型计算机信息,2008.2
[2] 潘明东. 光电编码器输出脉冲的几种计数方法[J].电子工程师 第30卷第8期
[3] 卢国纲. 位移测量技术及其传感器的最新发展[J].中国科学院自动化研究所 WMEM 4期2005.8
[4] 汤天瑾,等. 光电轴角编码器发展现状分析及展望[J].光学仪器,2005.
[5] 赵建玉, 梁立新, 黄明键. 用光电编码器测量直线位移[J]. 山东建材工业学院学报 第14卷第2期 ,2000.6
[6] 孙育才 MCS-51系列单片微型计算机及其应用[M].东南大学出版社 2004.10
[7] 刘元. 预装式变电站综合保护装置的研制[D].西安:西安工程科技学院,2005.
[8] 马淑华,高原 proteus仿真应用[M].北京邮电大学出版社 2006.
[9]兰子穆. 光学编码器电器特性在线检测技术研究[D].天津:天津大学,2007.
[10] 陈岩. 计算机控制位置伺服系统的设计与实现[D].南京:南京航空航天大学,2003.
[11] 关积珍,陆家和.2005年我国LED 显示屏产业发展综述[J].激光与红外,2006.36(12):1089~1091
[12]杨磊. 高精度摆动扫描技术研究[D].长沙:国防科学技术大学研究生院,2005.
[13] 中国知网. [DB/OL].大学生论文联合对比库,2012.
[14] 中国知网. [DB/OL].大学生论文联合对比库,2011.
[15] 中国知网. [DB/OL].大学生论文联合对比库,2010.
[16] 王知平. 基于89C51的转速测量系统设计[D].南京:东南大学,2005.
摘 要
在现代工业生产过程中,常常需要测量很多不同的位移量。与此同时对位移量进行较为精确地检测,是提高控制精度的基础。因此之前所普遍采用的传统位移测量装置已经不能适应时代发展的潮流。在此情况下通过科研人员的不断努力终于研制出了数字式光电编码器, 它的输入量是角位移量其输出量是相应的电脉冲, 并且它有体积小,精度高的优点。故而,这次毕业设计选用的是光电编码器 。
本次毕业设计是以AT89C51单片机为核心,用光电编码器来实现对位移量的精确测量,再将测量结果显示在LCD 液晶显示器上。其中本次设计中所选用的是输出电压为5V 的光电编码器。
本文由浅入深先介绍了一些关于位移测量的基本原理,进而阐述了各个模块的设计思路,工作过程以及显示效果。本文借鉴了一些当前较为流行的设计思想,例如硬件软件化,很好的满足了设计要求。
关键词:位移, 测量,光电编码器,单片机,LCD 显示器
Abstract
In the control field, a variety of displacement measurements often need to be carried out. In actual industry position control domain, to increase the control precision, carries on the examination to the controlled member is accurately very important.The traditional machinery survey displacement installs has not been able to satisfy the modern production by far the need, but the digital sensor electro-optic encoder, can transform the angular displacement into with it correspondence electricity pulse output, mainly uses in the mechanical position and the velocity of whirl examination, has the precision to be high, volume small and so on characteristics, therefore this design decided that uses the electro-optical encoder to carry on the displacement to examine.
This design to use the electro-optical encoder to realize the displacement survey and the simulation, realizes the survey from the exterior different displacement value and the demonstration. Makes concrete using at89C51 monolithic integrated circuit is the core, the electro-optical encoder carries on the displacement to survey, simultaneously by LCD liquid crystal display module demonstration. This design uses the electro-optical encoder output voltage is 5V, the output signal after four doubling circuit processing sends in the monolithic integrated circuit to carry on counting processing, finally sends in the LCD module demonstration.
In this paper, detailed working process of displacement measurement system is started with principle of displacement measurement, and hardware circuit design and display. This paper has absorbed the idea of hardware and software to achieve with the subject required functionality.
Key words: The displacement surveys, electro-optical encoder, microcontroller, LCD display
module
目 录
第一章 绪论²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
1.1位移测量及其传感器简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 1.2光栅位移测量技术简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 第二章 原理及方案说明²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
2.1 方案选择及原理²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
2.1.1鉴相原理²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.1.2脉冲的鉴相和计数的软件实现方法²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.1.3脉冲的鉴相和计数的硬件实现方法²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.1.4用单片机内部计数器实现可逆计数²²²²²²²²²²²²²²²²²²²²²²² 2.2位移测量参数及电路参数分析²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.2.1MCS-51的定时器/计数器简介²²²²²²²²²²²²²²²²²²²²²²²²²²²² 2.2.2定时器模式选择位²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
第三章 系统电路的设计 ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
3.1 硬件电路的设计²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
3.1.1 单片机的选择 ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 3.1.2 AT89C51的介绍²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 3.1.3 1XP8001-1简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 3.2 软件的设计²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 第四章 显示部分²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
4.1 LCD显示器 ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 4.2 LCD分类及特点 ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 4.3 LCD1602液晶显示器²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 第五章 仿真实现²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
5.1 PROTEUS仿真软件简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 5.2 KEIL软件的简介²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 结论²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 致谢²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² 参考文献²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
第一章 绪论
1.1位移测量及其传感器简介
位移包括线位移和角位移。在工业生产过程中需要大量的位移检测,而且位移检测还是测量诸如力、扭矩、速度、加速度、流量等参数的基础。
位移是矢量,其不仅具有大小,而且还具有方向。在实际测量中,应使二者方向重合,这样才可以得到比较满意的测量结果。若二者的方向不重合,则会使测量结果产生较大的误差。
在具体测量时,要依据测量对象的不同,而灵活选择测量点、方向与系统。位移传感器,放大电路以及显示器组成了位移测量系统。其中选用合适的位移传感器是本次设计的关键。
应用场合不同,所选用的传感器也不同。表1.1-1中是一些主要位移传感器的性能与特点的介绍。
表1.1-1 常用位移传感器一览表
本次毕业设计所采用的光电编码器具有许多优点,比如响应快、精度高、抗干扰能力强等。正是基于其诸多优点,使得其在很多领域都发挥着不可替代的作用。本设计位移的测量就是用单片机和光电编码器来实现的。
1.2光栅位移测量技术简介
很早以前人类就发现了光栅,但由于当时人们认知水平的不足以及技术因素的局限,光栅并没有得到广泛的应用。
第三次工业革命以后,不论是认知水平还是技术水平都已经达到了相当高的水准。在此情况下,光栅的莫尔条纹现象引起了科学界的重视,并很快在位移测量等领域得到了广泛的应用。由此就产生了一种新型传感器即光栅式传感器。
光栅式传感器不仅精度高而且可以进行动态测量,也便于控制的自动化。尤其它强大的抗干扰能力,进一步推动了其应用领域的不断扩大与深入。
不可否认,在传感器与检测技术方面日本始终处于世界领先水平,就是美国也是望其项背。日本产的传感器不论是测量精度还是质量方面都是一流的,毫不夸张的说,日本代表了当今世界传感器技术的最高水平。当然在光栅式传感器方面也是如此。例如有日本尼康公司所生产的轴角编码器,每转可输出的脉冲高达1296万,可谓是当今世界的分辨率之最。
改革开放以来,经过我国科学家的不断努力,我国在光栅式位移传感器领域也取得了巨大进步。虽说如世界先进水平还有不小的差距,当相比之前也已经是相当了不起的进步了。
第二章 原理及方案说明
2.1 方案选择及原理
光电编码器常常应用于高精度控制系统中。其位移测量原理:光电编码器会产生两路脉冲,以A 、B 脉冲命名,两路脉冲的相位差相差90°。为了确定电机的正反转,可以事先规定:若脉冲A 超前脉冲B 90°则为正转;若脉冲A 滞后脉冲B 90°则为反转。显然位移量与脉冲数的关系是正比。因此只要确定了二者之间的比例关系就可以方便的得出位移量的大小。这种方法的优点是既方便又精确而且成本又很低。
通过上述原理可知,计数的准确与否对于位移的测量是至关重要的。在实际的位移测量系统中计数器必须可以加、减计数,这是因为电机可以正、反转,故而计数器应与之相适应。一般来说设计方法可以分为硬件设计方法和软件设计方法。硬件设计的优点是响应速度快,时效性好,可靠性高。其缺点是电路设计比较复杂,而软件设计却与之相反。总之二者各有优劣,应针对不同的情况灵活选择。
本次设计中的计数方案是:先对编码器的脉冲输出进行鉴相以确定电机的正反转,其次根据鉴相的结果来进行与之相应的加或减计数。
2.1.1鉴相原理
当今脉冲鉴相方法 主要有两种, 一种是软件鉴相法,另一种是D 触发器鉴相法。图1是编码器输出脉冲相位与其正反转之间的对应关系。
图2.1-1 编码器输出波形
2.1.2脉冲鉴相与计数的软件实现方法
由下图所示光电编码器所输出的A 相脉冲接至单片机的INT0中断口,B 相脉冲接至单片机的P1.0口。具体的工作过程是:把INT0的触发方式设置成下降沿触发,且开启与之对应的中断。当中断被触发时,系统自动进入中断服务程序,与此同时开始判别B 相脉冲电平的高低。若为高电平说明电机正转进行加1计数;若为低电平说明电机反转进行减1计数。
图2.2-2 计数与判向电路的软件实现
2.1.3脉冲鉴相和计数的硬件实现方法
相较于软件计数硬件计数优势显著,那就是计数执行速度远远快于软件计数。但硬件计数缺点也很明显那就是外围电路复杂,不仅使设计成本大大增加而且由于所使用的元件多不易调试且容易出错。
下图就是实际使用时所用的硬件计数电路图
图2.2-3 加减计数芯片74LS193
图2.2-4 光电编码器输出脉冲的鉴相及其计数
2.1.4用单片机内部计数器实现可逆计数
通过对以上两种计数实现方法的分析可以得出这样的结论:针对这次毕业设计两种方法均不太合适。
其实本次设计可以直接使用单片机内置的计数器就可以很好的实现加减计数。单片机8051 片内有2 个16 位定时计数器(定时器0 和定时器1) ,但问题是这两个定时计数器是加1计数器不能直接使用,所以需要通过合适的编程来实现“减”计数功能。硬件电路如图5所示。
图2.2-5 单片机内部计数器加减计数的硬件结构
把光电编码器输出的A 接至D 触发器的D 端同时再接至T0端,B 相脉冲接至触发器的CLK 端,同时触发器的输出信号DIR 一路接至INT0,另一路经反相器后接入INT1端。设计思想是:让INT0、INT1工作于下降沿触发方式,这样当DIR 信号脉冲改变时会触发两个中断中的一个。当INT1中断时,进行加计数,反之,当INT0中断时,进行减计数。这种设计思想可以用C 语言编程得到很好的实现。以下就是C 语言程序:
#include int data k=1;
void service_int0() interrupt 0 using 0 { k-- ;/*标志位减1*/ TR0=0 ;/*停止计数*/ TH0= -TH0 ;
TL0= -TL0 ;/*把计数器重新复值,此时相当于减计数*/ TR0=1 ;/*开始计数*/ }
void service_int1() interrupt 2 using 1 { k++ ;/*标志位加1*/ TR0=0 ;/*停止计数*/ TH0= -TH0 ;
TL0= -TL0 ;/*把计数器重新复值,此时相当于加计数*/ TR0=1 ;/*开始计数*/ }
void timer0(void) interrup 1 using2 { if(k=0) /*反向计数满*/ else if(k=1) /*计数为0*/ else
/*正向计数满*/ }
void main(void)
{TCON=0X05 ;/*设置下降沿中断*/ TMOD=0X05 ;/*T0为16位计数方式*/
IE=0X87 ;/*开中断*/ TH0=0 ;
TL0=0 ;/*预置初值*/ }
这种计数方法很好的避开了软件计数法和硬件计数法的弊端,其硬件电路并不复杂且编程较为简单而且大大提高了执行速度。
以上分别介绍了软件计数法、硬件计数法以及利用单片机内置计数器计数实现法。软件计数法电路简单但CPU 资源被大量占用以致使执行速度慢难以满足计数的实效性。硬件计数法CPU 资源占用少、执行速度快但外围电路复杂容易出错。 而利用单片机内部计数器来实现技术可以很好的满足设计要求。
因此选用第三种计数方法,即利用单片机内部定时计数器实现可逆计数。
2.2 位移测量参数及电路参数分析
在本设计的仿真中,光电编码器产生的A,B 相方波用PROTUES 中的信号源加不同的起始时间来模拟。一个用原始的,还有一个用延时1/4周期。变换方向时将两个信号调换就行了。
2.2.1 51系列单片机的定时器/计数器简介
51系列单片机有两个内置的定时计数器,以T0、T1命名。两个定时计数器均可以通过编程来设置它们的工作方式、量程、以及启动方式。
与T0、T1定时计数器的控制相关的寄存器有两个,它们分别是TMOD 模式控制寄存器和TCON 控制寄存器。其中有关TMOD 模式控制寄存器的各个位的定义 如图2.3-1所示。及表2.3-1
图2.3-1 TMOD寄存器用于定时/计数的操作方式及工作模式指令格式
2.2.2. 定时器模式选择位
C/T=0,定时器模式,每一个机器周期计数器自动加1。
C/T=1,计数器模式,在单片机T0引脚上每发生一次负跳变,计数器自动加1。 GATE =0,定时/计数器工作不受外部控制。
GATE =1,定时/计数器T0的起停受INT0引脚的控制。 1. 计算计数初始值 设计数初始值为X :
X=216-t d /Tm=216-1³105/1=15535
则(TH0)=00111100B=3CH ,(TL0)=10101111B=AFH 2. 设置工作方式
方式0:M1M0=01; 定时器模式:C/T=1; 定时/计数器启动不受外部控制: GATE=0; 因此,(TMOD )=05H。
因为系统的晶振频率为fosc=12MHz,则机器周期Tm=12/fosc=1μs 。
第三章 系统电路的设计
3.1 硬件电路的设计
位移测量设计的整个系统框图如下:
图 3.1-1 系统硬件组成框图
上图中所示的由光电编码器所输出的A 相、B 相脉冲的前后沿均与光电码盘的四分之一节距信息相对应。如果直接将这两路脉冲信号送入单片机通常会产生较大的误差。因此,必须采取必要的设计来减少误差,可用四倍频方法来对脉冲信号进行处理,这样可以大大提高测量精度。
四倍频电路设计图如图3.1-2所示,与之对应的时序图如图3.1-2所示。由时序图3.1-2可以看出,经四倍频电路处理后,输出信号由A 、B 变为YA ,YB 信号,在同一时刻,XA ,XB 一个是脉冲信号,另一个是高电平。因此,将XA ,XB 两个信号送入单片机对应的端口上,则电机的转向和位移量只需通过对XA 、XB 信号判断、计数和计算就能得到。
图 3.1-2 四倍频设计电路
图3.1-3 四倍频电路时序图
3.1.1 单片机的选择
在微型计算机问世后,大大带动了计算机硬件系统的发展,通用微处理器的发展更新速度达到了惊人的状态,由此大量的通用微型计算机不断面世且性能很好。随着以上元器件技术的不断发展,单片机的发展速度越来越快,且应用面不断扩大,取得了令人欣喜的成果,其发展可以分为三个阶段:
1974年—1978年,为初级单片机阶段,Intel 公司于1974年首先研制成功了MCS —48系列单片机,这种单片机使用了专门的结构设计。其内部包括8位CPU 、并行IO 端口、8位定时计数器、RAM 、ROM 等等。
1978年—1983年,为高性能单片机阶段,由于在初级单片机阶段单片机市场去得了空前的成功,其发展前景十分乐观,致使许多公司都纷纷致力于单片机的研发,这有极大的促使了单片机技术的飞速发展。因为Intel 公司早早确立了其在单片机开发领域的领先优势,故而这一代的单片机中还是Intel 公司的MCS —51系列一枝独秀。它具有完善的外部总线以及实现了单片机的控制功能,并由此形成了完整的并行三总线结构。
1983年—至今,随着单片机技术的不断深入,单片机的发展已经进入了不断完善与深入的阶段,其发展朝着大容量、高速度方向不断推进着,形成了8位单片机不断完善、巩固与提高,16位、32位、64位单片机奋力研制的格局。
由于近些年来各个半导体厂商的不断研发,单片机领域出现了百花齐放、百家争鸣的喜人局面,以致使单片机的家族越来越庞大,单片机的型号可谓是纷繁庞杂。当然对于本次毕业设计我们采用的还是Atmel 公司的经典单片机产品AT89C51。
特别值得一提的是,改革开放以来我国在单片机领域也已经取得了长足的进步。我国台湾华邦公司所生产的W78E51系列单片机,其技术已是相当成熟了,形成了一套完整的产品体系。
具体来说,华邦公司所生产的单片机具有很多优点,比如,性价比高、功能强大、产片体系健全等等。其产品可分为四个档次:标准系列、宽工作电压系列、涡轮—51系列、工作级别系列。
3.1.2 AT89C51介绍
在当今世界单片机领域众多的生产厂家中,美国的Atmel 公司始终是其中一枝独秀的生产厂家。Atmel 公司的拳头产品:就是 AT89系列。在当今众多的单
片机产品中,被广泛应用的就是这个系列的单片机。
AT89C51微型控制器(俗称:单片机)性能优越,可以在+5V的低电压下工作,而且它将微处理器技术与闪存技术的融为一体,尤其是其内置有可以反复擦出的闪存。大大的减少了广大的使用者的开发费用。
AT89C51是一款由美国Atmel 设备公司研制的高性能的互补金属氧化物半导体8位微处理器。在研发此款产品时采用了高密度非易失性存储器制造技术。它不但内置了通用的8位中央处理器与Flash 存储单元,而且还与标准的MCS —51指令集相兼容。因此可以说,内置功能强大的AT89C51单片机可以为广大用户提供具有成本效益的解决方案。
如下图所示AT89C51单片机具有40个针脚,它们功能各不相同。其中I/O端口有32个,均可以双向输入或输出,按编号分为P1、P2和P3口,各具8个。还具有INT0、INT1两个外部中断口,T0、T1两个可编程的定时器/计数器以及两个全双工串行通信端口。
89C51的芯片引脚图如下所示:
图 3.1-4 AT89C51引脚图
表3.1-2 P3口引脚功能表
AT89系列主要性能指标
3.1.3 1XP8001-1简介
增量式编码器的工作原理实质上就是上述的位移测量原理即:光电编码器会产生两路脉冲,以A 、B 脉冲命名,两路脉冲的相位差相差90°。为了确定电机的正反转,可以事先规定:若脉冲A 超前脉冲B 90°则为正转;若脉冲A 滞后脉冲B 90°则为反转。
但是实际的增量式编码器比此略微复杂一些,他不仅仅输出A 、B 相脉冲而且还输出一路脉冲,以Z 为其命名。利用A 、B 相脉冲的相位差可以很容易的确定电机的旋转方向。而Z 相脉冲主要是用来定位基准点的。
因此,本次设计决定采用增量式编码器。本次设计所选用编码器的是西门子公司生产的1XP8001—1型编码器。其主要的性能指标如下:
电源: 长线差分驱动 +5-30V 无负载时输入: 200mA ;150mA 最大负载电流: 100mA ; 20mA 分辨率: 1024 两相输出相位差:90度
输出振幅: U高>2.5V,U 低
图 3.1-9 1XP8001-1光电编码器外观
表3.1-3 机械参数
表3.1-4 机械参数
表3.1-5 环境参数
3.2 软件的设计
C 语言之所以被称为高级程序编程设计语言是因为它的设计语言接近自然语言便于掌握和理解。而且C 语言摆脱了机械编程的面向机器的缺点,它是面向对象的一种程序设计语言。因此C 语言的出现大大提高了编程的效率。
正因如此,本次软件设计部分采用C 语言来进行编程,并且采用了模块化的编程思想。其程序流程图如下:
图3.2-1 程序流程图
第四章 显示部分
在单片机系统中,常用的显示器有:发光二极管显示器,简称LED ;液晶显示器,简称LCD ;荧光管显示器。
4.1 LCD显示器
LCD (Liquid Crystal Display),这一名词对大多数人而言并不陌生。但这种技术的存在远远超过了人们的想象。
19世纪末奥地利植物学家首先发现了液晶,即液态晶体。液晶体具有特殊的光学性质那就是它的电光效应。据此原理,在上个世纪首先由英国科研人员研制出了第一块液晶显示器。随着液晶显示器商业价值的发现与开发,液晶显示技术得到了迅速的发展,现如今液晶显示器已被广泛的应用于各种显示设备中。
由于LCD 显示器具有诸多优点,例如体积小、重量轻、功耗低等。所以使其在微型控制领域也得到了广泛的应用。。
。
图4.2-1 LCD模块外观
图4.2-2 液晶显示器基本结构
4.2 LCD的分类及特点
LCD 液晶显示器可分为两大类:一种是笔段式液晶显示器,另一种是点阵式液晶显示器(其又包含字符型与图象型两种类型)。
与LED 显示器相比LCD 显示器具有自身显著的特点。LCD 显示器比LED 显示器耗电量更低,因此其被大量的应用与微小型、低功耗的显示设备中。
4.3 LCD1602 液晶显示器
本次毕业设计所使用的液晶显示器是1602,1602是字符型液晶显示器,其用来显示字母和数字是很方便的,而且控制简单、成本也很低。1602液晶显示器可以用来显示字母、数字以及符号,其最多能显示16*2个字符,显示效果清晰、美观。现在市面上1602液晶显示器大约6元一个还是很便宜的。
1602可显示内部字符(包括ASCII 字符,如数字、大小写字母、各种符号、日文假名等),也可以显示自定义字符(单或多个字符组成的简单字符,汉字,图案等,最多可定义8个字符)。
图4.3-1 1602液晶引脚图
图4.3-2 1602液晶原理图
第五章 仿真实现
5.1 Proteus仿真软件的简介
Proteus 是一款非常好用的单片机模拟软件。虽然现在有很多与之类似的电子模拟软件,但是Proteus 绝对是其中模拟单片机最好的电子仿真软件,它不但可以模拟51系列单片机、AVR 单片机、PIC 单片机而且还可以模拟部分的ARM 芯片。Proteus 所支持的外围电子器件有许多,其中包括A/D、LCD 、LED 数码管以及温度、时钟等芯片。对初学者来说,Proteus 是一个非常好的入门工具。当然,实际的开发板在学习中是非常重要的,终归到底Proteus 还只是个电子模拟软件。
Proteus 软件自身就组成了一个完整的电子设计系统,包含了高级原理布图、混合模式SPICE 仿真、PCB 设计以及自动布线。针对Proteus 的持续开发15年来一直都没停止,由此研发出了VSM 技术,这对整个电子模拟软件领域产生了革命性的影响。用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真,甚至还可以采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
ISIS 是Proteus 系统的中心,它远不仅是一个图表库,而是具有控制原理图画图的外观超强的设计环境。无论用户的要求是快速实现复杂的仿真以及PCB 设计,还是设计精美的原理图一共出版,ISIS 都是最佳的选择。
ISIS 用户界面友好,比如,其布置、编辑、移动和删除操作都能够直接用鼠标来实现,无需费时费力的去查找菜单。尤其是对于初学者来说很容易掌握。ISIS 还可以实现自动布线、必要时也可以手动布线。与支持通常的多图纸设计过程一样,ISIS 也支持层次设计。
图5.1-1 PROTEUS 功能分布图
5.2 keil软件的简介
Keil C51是美国Keil Software公司出品的51系列兼容单片机C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision )将这些部分组合在一起。运行Keil 软件需要WIN98、NT 、WIN2000、WINXP 等操作系统。如果你使用C 语言编程,那么Keil 几乎就是你的不二之选,即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
Keil 的操作步骤如下:
1. 先是建立project 文件,输入文件名(但要符合文件名规则);
2. 然后选择所使用的器件(按照设计的要求自己选择);
3. 新建一个txt 文本文档;
4. 保存文本文档,此处特别注意:如果编程所用的是c 语言,文件后缀名是.c 而如果编程所用的是汇编语言,后缀名必须是.asm ;
5. 在project workspace(左侧状态栏)中选择,source group,然后单击右键,选择“add files to source group1”将C 文件或者汇编文件添加进去;
6. 在步骤5后,你可以看见“translate current file”图标(快捷方式图标)亮;
7. 此时就可以进行build 和 translate current file操作了。,
结 论
本次毕业设计的题目是光栅位移测量系统的设计,其涉及多个模块即硬件设计模块、软件设计模块、显示模块以及仿真实现模块。也涉及到许多元器件,包括光栅式位移传感器即光电编码器,AT89C51单片机,LCD 液晶显示器以及Proteus 电子模拟软件和keil 编程软件。本论文就是从各个模块及元器件的选择依次展开论述的。
第一是原理及方案说明部分。在拿到这次毕业论文题目及设计要求后 ,我就开始到图书馆开始查阅资料,了解与学习一些有关这方面的原理性内容,只有对基本的原理熟练掌握后,才能得心应手的开展设计工作。通过对鉴相原理的学习,意义对各种脉冲计数的实现方法的了解后,最终确定了用单片机内部计数器来实现可逆计数。用Proteus 中的虚拟信号源输出脉冲以及对计数器各种参数进行了设定。
第二是软件硬件设计部分。硬件设计部分,单片机的种类、型号繁复庞杂,它们即使是用途一样但性能也是千差万别,经过仔细的分析对比最终决定采用美国ATMEL 公司生产的AT89C51型单片机。同样光电编码器也有很多种包括增量式光电编码器、绝对式光电编码器以及混合式光电编码器,从性能和成本因素考虑最终决定采用了西门子公司生产的1XP8001-1型光电编码器。而软件部分采用C 语言结构化编程思想进行编程。
第三是显示部分的设计。微型控制系统中的显示器有两大类即LED 显示器和LCD 液晶显示器。本次设计采用的是LCD 液晶显示器,因为它不但功耗小、成本低而且显示字符既清晰又美观。
最后是仿真调试部分。这次毕业设计所用的仿真软件是时下电子设计和开发者最常用的功能强大的Proteus 电子仿真软件。程序编译调试软件所用的是开发者不可或缺的工具keil 编一条是软件。通过对二者的进行的结合仿真,令本次毕设得到了较为满意的结果。可以说是,很好了满足了毕设要求。
虽然我对这次毕业设计付出了很大的努力,但可以肯定的是设计内容与方法上还有许多不足之处以及可以改进的地方,望老师批评指正。
致 谢
当我得知我的毕业设计题目是光栅位移测量系统时,我的心里是很没底的。因为我对传感器方面的知识学得不是很踏实,尤其是对光栅位移传感器方面更是知之甚少。于是我到图书馆查阅相关书籍,在网上搜集相关资料。但是纸上学来中觉浅,在这里我要感谢我的知道老师樊荣老师。樊老师对我们的毕业设计很是关心,经常给与我们针对性的指导,对我们提出的问题以及有什么困惑的地方总是耐心的解答与解释。我再次表示我诚挚的谢意。
当然在大学里依然过的是团体的生活,同学的帮助是必不可少的。在这次毕业设计的准备过程当中,我那可爱的同学们也给与了我很多帮助。当我们遇到困难时总是在一起共同商讨与解决。当我在设计上遇到问题向同求助时,他们总是很乐意的帮忙总结,可以说此次设计的成功同学们的帮助是功不可没的。在此,衷心的感谢我的同学们毕业之后我们依然心连心。
其次,我要感谢我的亲人们,是他们给了我无尽的精神支持。每当我因为在设计过程中遇到久攻不克的难题而心情低落时,父母总是用他们那和蔼声音、亲切的话语安慰我并且鼓励我要振奋起来跌倒了不应放弃,每当此时我都获得了很大的动力重新又投入到了设计中去。
通过这次毕业设计进一步提升了我的能力,又让我学到了很多新知识、新方法。在即将步入社会之时,这对我们能力的提升是很重要的。最后再一次衷心的感谢我的老师、我的同学、我的亲人。
参 考 文 献
[1]李红果. 一种光电编码器位置检测系统研究与应用[J].微型计算机信息,2008.2
[2] 潘明东. 光电编码器输出脉冲的几种计数方法[J].电子工程师 第30卷第8期
[3] 卢国纲. 位移测量技术及其传感器的最新发展[J].中国科学院自动化研究所 WMEM 4期2005.8
[4] 汤天瑾,等. 光电轴角编码器发展现状分析及展望[J].光学仪器,2005.
[5] 赵建玉, 梁立新, 黄明键. 用光电编码器测量直线位移[J]. 山东建材工业学院学报 第14卷第2期 ,2000.6
[6] 孙育才 MCS-51系列单片微型计算机及其应用[M].东南大学出版社 2004.10
[7] 刘元. 预装式变电站综合保护装置的研制[D].西安:西安工程科技学院,2005.
[8] 马淑华,高原 proteus仿真应用[M].北京邮电大学出版社 2006.
[9]兰子穆. 光学编码器电器特性在线检测技术研究[D].天津:天津大学,2007.
[10] 陈岩. 计算机控制位置伺服系统的设计与实现[D].南京:南京航空航天大学,2003.
[11] 关积珍,陆家和.2005年我国LED 显示屏产业发展综述[J].激光与红外,2006.36(12):1089~1091
[12]杨磊. 高精度摆动扫描技术研究[D].长沙:国防科学技术大学研究生院,2005.
[13] 中国知网. [DB/OL].大学生论文联合对比库,2012.
[14] 中国知网. [DB/OL].大学生论文联合对比库,2011.
[15] 中国知网. [DB/OL].大学生论文联合对比库,2010.
[16] 王知平. 基于89C51的转速测量系统设计[D].南京:东南大学,2005.