基于单片机的光电式传感器测转速系统.doc

南京铁道职业技术学院 毕 业 论 文 题 目 基于单片机的光电式传感器测转速系统 作 者 学 号 系 部 专 业 班 级 指导者 讲师 评阅者 副教授 2013 年 5 月 31 第 31 页 共 30 页 摘 要 在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为模拟式和数字式两种。由于传统的模拟式测量方式偏差较大,难以达到高精度的测量要求。所以本文采用单片机为核心的数字式测量方法。

本设计主要用AT89C52作为控制核心,由光电传感器、四位共阴数码显像管构成,其中硬件系统包括脉冲信号的产生模块、脉冲信号的处理模块和转速的显示模块三个模块。该转速测量系统设计分为三个部分,分别为光电传感器部分、整流滤波部分和单片机与数码管显示部分。系统通过光电传感器对信号进行采集,再由信号调理电路进行调理,将处理的脉冲信号送入单片机,调试结果显示于四位共阴数码显像管。

关键字AT89C52(单片机);

转速;

光电传感器;

Abstract In engineering practice, we often meet with all need to measure the speed of the occasion, speed measurement is divided into two kinds of analog and digital. The deviation of the traditional analog measurement of large, difficult to achieve high precision requirements. Digital measuring using MCU as the core. This design with AT89C52 as control core, composed of a photoelectric sensor, a total of four vaginal constitute digital tube, the hardware system includes a pulse signal generation display module three module, pulse signal processing module and the speed of the. The design of the speed measurement system is divided into three parts, respectively, photoelectric sensor part, rectifier and filter part and the SCM and digital tube display part. System through the photoelectric sensor to collect signals, the signal conditioning circuits, will deal with the pulse signal into the microcontroller, the debugging result is displayed on a total of four vaginal digital display tube. Keywords AT89C52 SCM; speed; photoelectric sensor; 目录 摘要 第1章 绪论1 1.1背景1 1.2目的及意义1 第2章 光电传感器测转速系统硬件电路的设计2 2.1单片机2 2.1.1 单片机的介绍2 2.1.2 AT89C52单片机2 2.1.3 STC89C52单片机的管脚说明4 2.2光电传感器6 2.2.1 光电传感器的介绍6 2.2.2光电传感器的工作原理7 2.2 .3光电转换及信号调理电路设计8 2.3硬件电路的设计9 2.3.1 晶振电路部分10 2.3.2 复位电路部分11 2.3.3 转速显示电路部分12 第3章 光电测转速系统软件的设计15 3.1 程序流程图 15 3.2 单片机程序17 第4章 程序的调试与仿真18 4.1 程序的调试 18 4.2 电路的仿真 21 第5章 总结23 致谢24 附录一光电传感器测转速原理图25 附录二单片机程序26 附录三系统实物图29 参考文献30 第1章 绪论 1.1背景 在工程实践中,经常会遇到各种需要测量转速的场合,例如发动机、电动机、卷扬机、机床主轴等旋转设备的实验、运转和控制中,常需要分时或连续测量和显示其转速及瞬时转速。目前国内外测量电机转速的方法普遍是利用交流或直流测速发电机 ,与被测旋转体同轴安装 ,测速发电机的输出电压经整流滤波 ,由电位器滑动点传出信号 ,这种方法属于接触式直接转速测量 ,存在着易受电磁干扰和体积大、安装结构复杂等缺点, 所以这种传统测转速方式逐渐被淘汰。按照不同理论方法,工业时代先后产生过模拟测速法(如离心式转速表),同步测速法(如机械式或闪光式频闪测速仪),以及计数测速法。计数测速法又分为机械式定时计数法和电子式定时计数法。其中应用最广的是光电式,本文之所以采用光电式红外传感器测转速系统是由于其发出的红外线 ,具有指向性强 ,不易受空间电磁波干扰等特点 ,组成的红外传感器制作简单、安装方便、体积小、输出信号可以直接进行数字化处理 ,实现转速的非接触测量。这也使其在检测和控制领域得到了广泛的应用。而且光电传感器的电机转速测量系统具有测量准确度高、采样速度快、测量范围宽和测量精度高等优点,具有广阔的前景。但其也有一定的缺点,比如易受外界光干扰等。目前光电测转速系统作为最新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。为工业进步做出贡献。

1.2目的及意义 现代工业生产与自动控制系统是以计算机为核心,以传感器为基础组成的。传感器是实现自动检测和控制的首要环节。其中光电传感器在转速测量方面得到了广泛运用,直流电机因其具有良好的启动、制动和调速性能,已广泛运用于机械制造、电力、冶金等领域。由于伺服驱动系统不断朝着数字化智能化方向发展,因此转速的控制成为在工业测控系统实现的关键环节。而如何测量电机的转速以实现对转速的高精度控制成为电机应用的突出问题之一。本设计便是运用AT89C52单片机控制智能化转速测量仪对电机转速进行测量,并可以和PC机进行通信,显示电机的转速,并观察电机运行的基本状况,以实现电机在运行过程中精度控制。

采用单片机配合光电传感器技术来实现转速的智能化测量,可以提高转速测量的准确度,并且加快了采样的速率具有较好的实时性,对于电机在工业生产中更为广阔的应用与发展具有深远的意义。

第2章系统硬件电路的设计 2.1单片机 2.1.1 单片机的介绍 单片机是单片机系统的核心部分,是一种数字集成电路芯片,是指集成在一块芯片上的微型计算机。一个比较完整的单片机应该包括微处理器(CPU)、存储器(含程序存储器ROM和数据存储器RAM)、并行输入/输出接口(I/O接口)电路、可编程全双工串行口、定时/计数器、中断系统及时钟复位电路。目前单片机的种类有很多,例如Motorola单片机、MDT20XX系列单片机、8051单片机由于他们功能偏向和面向的服务对象不同,所以并不适用于本设计,本设计所采用的单片机为ATMAL的增强型51系列的AT89C52,因为其指令简单、易学易懂、外围电路简单、性能成熟稳定、价格便宜等优点,所以成为本设计首选单片机。

2.1.2 AT89C52单片机 AT89C52是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2-1所示 图2-1 AT89C52单片机实物图 主要特性如下 与MCS-51 兼容 4K字节可编程FLASH存储器 寿命1000写/擦循环 数据保留时间10年 全静态工作0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 特性概述 AT89C52 提供以下标准功能4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作 2.1.3 AT89C52单片机的管教说明 图2-2 AT89C52引脚图 VCC供电电压。

GND接地 P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。

P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。

P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在F