基于单片机的测速仪的设计.doc_第1页
基于单片机的测速仪的设计.doc_第2页
基于单片机的测速仪的设计.doc_第3页
基于单片机的测速仪的设计.doc_第4页
基于单片机的测速仪的设计.doc_第5页
免费预览已结束,剩余40页可下载查看

下载本文档

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

文档简介

电子与信息工程学院本 科 毕 业 论 文论文题目 基于单片机的测速仪的设计 学生姓名 汤 奇 学 号 083521019 专 业 电气工程及其自动化 班 级 083521 指导教师 黄 烜 2012年5月摘 要摘 要转速是电器运行过程中的一个重要监测量,目前国内外常用的转速测量方法有离心式转速表测速法、闪光测速法、对射式测速法和霍尔元件测速法等。通过对现行风扇测速方法的研究发现离心式转速表由于要直接与风扇转轴连接,在实际测量中有困难,所以在风扇的测速中使用受到限制。本文介绍了一种基于AT89S52单片机的光电开关转速测量系统来测量风扇转速设计。系统采用对射式光电开关产生与扇叶相对应的脉冲信号,使用AT89S52单片机采样脉冲信号并计算每分钟内脉冲信号的数目,即风扇对应的转速值,最终系统通过数码管实时显示风扇的转速值。经过仿真测试,本系统满足设计要求,且结构简单、实用。系统在降低测速器成本,提高测速稳定性及可靠性等方面有一定价值,具有广泛的应用前景。关 键 词:单片机;转速测量;光电开关37ABSTRACTABSTRACTSpeed is an important monitoring of various types of motor running at home and abroad speed measurement method the centrifugal tachometer Velocimetry, flash Velocimetry Velocimetry radio and Hall components velocimetry method. The current fan speed method centrifugal tachometer directly connected with the fan shaft, in the actual measurement difficulties, limited use in the motor tachometer.This article describes a design based on AT89S52 Microcontroller optical switching speed measurement system to measure fan speed. The system uses a pulse signal corresponding to the fan-beam photoelectric switch, using AT89S52 MCU sampling pulse signal and calculate the number of pulse signals per minute, the motor speed value, the final system in real time by digital tube display fan speed value. After the simulation test hardware, the system meet the design requirements, the structure is simple and practical. Reduce the cost of the tachometer, the stability and reliability of the gun has some value, has broad application prospects.KEY WORDS: SCM; speed measurement;photoelectric switch目 录绪论目 录1 绪论11.1 国内外发展情况11.2 课题研究的目的21.3 系统研究的内容及其组成22 系统设计原理52.1 AT89S52单片机介绍52.1.1 主要性能52.1.2 引脚功能52.1.3 定时/计数器的结构82.1.4 定时/计数器的控制82.1.5 中断控制92.2 光电传感器102.2.1 光电开关工作原理102.2.2 光电开关的分类112.2.3 光电开关的特点112.3 LED显示接口技术122.3.1 输入和处理LED显示器的结构122.3.2 数码管的显示方式及其特点123 硬件系统设计153.1 测速信号采集及其处理153.1.1 转速测量原理153.1.2 信号处理电路153.2 单片机处理电路设计163.2.1 时钟电路173.2.2 复位电路173.2.3 定时与计数设计183.3 显示部分194 软件设计214.1 语言的选用214.2 程序设计流程图214.3 程序源代码234.4 系统的原理图235 系统仿真255.1 程序编译255.2 电路仿真256 结论与展望276.1 结论276.2 展望28致 谢29参考文献31附录A33附录B37即可):6 结论与展望1 绪论随着超大规模集成电路技术提高,尤其是单片机1应用技术以其功能强大,价格低廉的显著特点,使全数字化测量转速系统得以广泛应用。本文在此基础上,对全数字测量转速系统的硬件和编程作一探讨。单片机突出的特点是体积小,功耗低,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,因而得到了广泛的应用2。另外其较少的指令及较强的实用功能更为许多初学者之首选品牌。单片机指令少,PIC中低档系列单片机共有35条指令,非常有利于易记忆和掌握,指令为单字节,占用程序存储器的空间小,而且中档系列单片机每一条指令为14位,前6位存操作指令,后8位存操作数。大部分芯片有其兼容的FLASH程序存储器的芯片,支持低电压擦写,擦写速度快,允许多次擦写,程序修改方便。基于单片机以上特点使其在现代工业占据了举足轻重的位置。其中利用单片机设计测速系统就是特例之一3。1.1 国内外发展情况 转速是各类电器运行中的一个重要物理量,如何准确、快速而又方便地测量转速,极为重要。目前国内外常用的转速测量方法有离心式转速表测速法、闪光测速法、对射式光电传感器测速法和霍尔元件测速法。(1)离心式转速表测速法离心式转速表是利用离心原理制成的测速仪表,可以直接读出转速。测转速时,转速表的端头要插入电机转轴的中心孔内,并使转速表的轴与电机的轴保持同心,不可上下左右偏斜,否则易将表轴扭坏,并影响准确读数,而且转速表要间歇使用,以减少磨损和发热。如果要改变量程,还要将转速表取出停转后再改变量程。(2) 闪光测速法闪光测速法是利用可调脉冲频率的专用电源施加于闪光灯上,将闪光灯的灯光照到风扇转动部分(可在风扇一片扇叶上粘贴一张标记纸片),当调整脉冲频率使其与标记纸片相对静止不动时,此时脉冲的频率是与电机转动的转速是同步的。若脉冲频率为f,则风扇的转速为n=60f(rmin) 。(3) 对射式光电传感器测速法4当不透光的物体挡住发射与接收之间的间隙时,开关管关断,反之打开。将光电传感器放在风扇的两侧,注意两个口一定要对好,当风扇转动时,如果叶片遮住光电光电传感器,则关断,如果没有遮住则打开,这样就形成很多个脉冲,再将这些脉冲输入给单片机进行处理,通过计算后,再将转述显示在数码管上。(4) 霍尔元件测速法5霍尔元件测速法是利用霍尔开关元件测转速的。霍尔开关元件内含稳压电路、霍尔电势发生器、放大器、施密特触发器和输出电路。输出电平与TTL电平兼容,在电机转轴上装一个圆盘,圆盘上装若干对小磁钢,小磁钢越多,分辨率越高,霍尔开关固定在小磁钢附近,当电机转动时,每当一个小磁钢转过霍尔开关,霍尔开关便输出一个脉冲,计算出单位时间的脉冲数,即可确定旋转体的转速。在这四种测速方法中,离心式转速表测速法的测速仪表,容易得到,如果用于测量电机转速会很方便,但是在实现测量风扇的转速时有一定的难度(除非在风扇的转轴上打一个孔,而且要保证转速表的端头固定良好)。同样由上面介绍知道,霍尔元件测速法对于测量电机转速比较方便,但是在测量风扇的转速时,由于风扇叶片一般是塑料做的,这样就使小磁钢无法与叶片固定良好,从而难以实现对其转速的测量。闪光测速法实际应用不广泛,主要是光源的问题。本课题研究的是其中的对射式光电传感器测速法。1.2 课题研究的目的转速是工程中应用非常广泛的一个参数, 其测量方法较多,而模拟量的采集和模拟处理一直是转速测量的主要方法,目前这种测量方法已不能适应现代科技发展的要求。随着大规模及超大规模集成电路的发展,使得全数字测量仪器越来越普及,其转速测量仪器也可以用全数字化处理。在测量范围和测量精度方面都有很大提高。因此,本次设计的目的是:对各种测量转速的方法加以分析,针对不同的应用环境,利用AT89S52系列单片机设计一种全数字化测速仪器,并从提高测量精度的角度出发,分析讨论其产生误差的可能原因,为今后的实际使用提供参考。本设计以单片机为中心,设计全数字化测速仪器,这在工业控制和民用电器中都有较高的使用价值。其次该转速测量仪器由于采用全数字化结构,因而可以很方便的和工业控制计算机进行连接,实行远程管理和控制,进一步提高现代化水平,而且,几乎不需要做较大的改变就能作为单独的产品使用。总之,转速测量仪器的研究是一个非常有意义的课题。1.3 系统研究的内容及其组成本文针对风扇的转速进行测量,以单片机为核心对光电开关产生的数字信号进行运算,从而测得风扇的转速,然后用数码管把风扇的转速显示出来。即通过光电开关将风扇的转数转换成0,1的数字量,只要风扇每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数和计算,就可获得转速的信息。系统主要由AT89S52单片机处理系统、风扇、传感器检测单元6、信号处理单元和显示系统等几个部分组成,如图1-1所示:转动系统信号采集及其处理显示电路单片机处理电路图1-1 系统组成框图2 系统设计原理2.1 AT89S52单片机介绍AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。因AT89S52与AT89C52基本通用,这里在仿真中采用的是AT89C52单片机7。2.1.1 主要性能 (1)与MCS-51单片机产品兼容(2)8K字节在系统可编程Flash存储器(3)1000次擦写周期(4)全静态操作:0Hz33Hz(5)三级加密程序存储器(6)32个可编程I/O口线(7)三个16位定时器/计数器(8)八个中断源(9)全双工UART串行通道(10)低功耗空闲和掉电模式(11)掉电后中断可唤醒(12)看门狗定时器(13)双数据指针(14)掉电标识符2.1.2 引脚功能引脚图如图2-1所示图2-1 AT89S52引脚图VCC : 电源GND : 地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节,如表2-1所示:表2-1 P1口引脚功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL 逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号,如表2-2所示:表2-2 P3口引脚说明引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2 INT0(外部中断0)P3.3INT0(外部中断0)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)RST: 复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.1.3 定时/计数器的结构定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。定时/计数器结构如图2-2所示:图2-2 定时/计数器的结构2.1.4 定时/计数器的控制AT89S52单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式,TCON用于控制其启动和中断申请。1.工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如表2-3所示:位号D7D6D5D4D3D2D1D0符号GATEC/TM1M0GATEC/TM1M0表2-3 TMOD格式GATE:门控位。GATE0时,以运行控制位TRX(X=0,1)来启动定时/计数器运行;GATE1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作;C/T:计数器模式和定时器模式选择位C/T=1时,选择计数器模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲计数;C/T=0时,选择定时器模式。M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置,如表2-4所示:表2-4 TMOD工作方式MI M0工作方式功能0 0工作方式013位计数器0 1工作方式116位计数器1 0工作方式2自动在装入8位计数器1 1工作方式3 定时器0:分成两个8位计数器定时器1:停止计数2.控制寄存器TCONTCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如表2-5所示:表2-5 TCON的格式位76543210字节地址:88HTF1TR1TF0TR0IE1IT1IE0IT0TCONTF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。TR0(TCON.4):T0运行控制位,其功能与TR1类同。2.1.5 中断控制CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的,如表2-6所示:表2-6 中断允许寄存器IE格式位76543210字节地址:88HEAESET1EX1ET0EX0IEEX0(IE.0):外部中断0允许位;ET0(IE.1):定时/计数器T0中断允许位; EX1(IE.2):外部中断0允许位;ET1(IE.3):定时/计数器T1中断允许位;ES(IE.4):串行口中断允许位;EA (IE.7): CPU中断允许(总允许)位。2.2 光电传感器目前,光电开关已被用作物位检测、液位控制、产品计数、宽度判别、速度检测、定长剪切、孔洞识别、信号延时、自动门传感、色标检出、冲床和剪切机以及安全防护等诸多领域。此外,利用红外线的隐蔽性,还可在银行、仓库、商店、办公室以及其它需要的场合作为防盗警戒之用。光电开关把发射端和接收端之间光的强弱变化转化为电流的变化以达到探测的目的。由于光电开关输出回路和输入回路是电隔离的(即电缘绝),所以它可以在许多场合得到应用。光电传感器8具有线性度好、分辨率高、噪音小和精度高、无触点、无机械碰撞、响应快、控制精度高,而且能识别色标等优点,在此我们选择光电转速传感器来进行转速的检测。2.2.1 光电开关工作原理本课题中使用的光电开关是根据光敏二极管工作原理制造的一种感应接收光强度变化的器件,当它发出的光被目标反射或阻断时,则接收器感应出相应的电信号。它包含调制光源,由光敏元件等组成的光学系统、放大器、开关或模拟量输出装置,其工作原理如图2-3 所示。光电式传感器由独立且相对放置的光发射器和收光器组成。当目标通过光发射器和收光器之间并阻断光线时,传感器输出信号。它是效率最高、最可靠的检测装置。槽形(U形)光电开关是对射式的变形,其优点是无须调整光轴。 图2-3 光电传感器原理图2.2.2 光电开关的分类(1)漫反射式光电开关:它是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当被检测物体的表面光亮或其反光率极高时,漫反射式的光电开关是首选的检测模式(2)镜反射式光电开关:它亦集发射器与接收器于一体,光电开关发射器发出的光线经过反射镜反射回接收器,当被检测物体经过且完全阻断光线时,光电开关就产生了检测开关信号。(3)对射式光电开关9:它包含了在结构上相互分离且光轴相对放置的发射器和接收器,发射器发出的光线直接进入接收器,当被检测物体经过发射器和接收器之间且阻断光线时,光电开关就产生了开关信号。当检测物体为不透明时,对射式光电开关是最合适的检测装置。(4)槽式光电开关:它通常采用标准的U字型结构,其发射器和接收器分别位于U型槽的两边,并形成一光轴,当被检测物体经过U型槽且阻断光轴时,光电开关就产生了开关量信号。槽式光电开关比较适合检测高速运动的物体,并且它能分辨透明与半透明物体,使用安全可靠。(5)光纤式光电开关:它采用塑料或玻璃光纤传感器来引导光线,可以对距离远的被检测物体进行检测。通常光纤传感器分为对射式和漫反射式。 由于本设计是测量风扇的转速,且扇叶是非透明的,因此采用对射式光电开关最合适。2.2.3 光电开关的特点MGK系列光电开关是现代微电子技术9发展的产物,是HGK系列红外光电开关的升级换代产品。与以往的光电开关相比具有自己显著的特点:(1)具有自诊断稳定工作区指示功能,可及时告知工作状态是否可靠:(2)对射式、反射式、镜面反射式光电开关都有防止相互干扰功能,安装方便;(3)对ES外同步(外诊断)控制端的进行设置可在运行前预检光电开关是否正常工作。并可随时接受计算机或可编程控制器的中断或检测指令,外诊断与自诊断的适当组合可使光电开关智能化;(4)响应速度快,高速光电开关的响应速度可达到0.1ms,每分钟可进行30万次检测操作,能检出高速移动的微小物体;(5)采用专用集成电路和先进的SMT表面安装工艺,具有很高的可靠性;(6)体积小(最小仅203112mm)、重量轻,安装调试简单,并具有短路保护功能。2.3 LED显示接口技术LED是近年来全球最具发展前景的高技术领域之一,LED具有寿命长、耗能少、体积小、响应快、抗震抗低温、污染小等突出的优点,被称为第四代照明光源或绿色光源,将成为人类照明史上继白炽灯、荧光灯之后的又一次标志性的飞跃,将孕育新的光源革命。随着LED高效节能技术的不断创新与突破,其全面取代传统光源已为时不远。目前我国LED产业已经形成了四大片区(珠三角、长三角、福建江西地区、北方地区)、七大基地(大连、上海、深圳、南昌、厦门、扬州、石家庄)的产业格局,形成了包括LED外延片的生产、LED芯片的制备、LED芯片的封装以及LED产品应用在内的较为完整的产业链,产品技术研发、工程应用等方面获得飞速发展。2.3.1 输入和处理LED显示器的结构LED数码管(LED Segment Displays)是由多个发光二极管10封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段,有的另加一个小数点,如图2-4中(a)所示。LED数码管根据LED的接法不同分为共阴和共阳两类,不同类型的数码管,除了它们的硬件电路11有差异外,编程方法也是不同的,前者是高电平点亮,后者是低电平点亮。图2.4中(b)是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。七段LED数码管显示原理很简单,只要控制其中各段LED的亮与灭迹可显示相应的数字、字母或符号,控制七段LED显示器进行显示信息称为七段码,本设计采用采的是共阳极的数码管进行显示。图2-4 数码管的结构及接法2.3.2 数码管的显示方式及其特点LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可分为静态式和动态式两类。静态显示(如图2-5)的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。静态显示的优点是:数码管显示无闪烁,亮度高,软件控制比较容易,占用CPU时间少,显示便于监测和控制;缺点是:需要的硬件电路12比较复杂,成本较高,而且由于所有数码管都处于被点亮状态,所以需要的电流很大,当数码管的数量增多时,对电源的要求也就随之增高。所以,在大部分的硬件电路设计中,很少采用静态显示方式。图2-5 静态显示连接方式动态显示(如图2-6)的特点是将所有位数码管的段选线13并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描14显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。动态显示的优点是:硬件电路简单,由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有1/8秒,所以亮度较低。如果刷新率较低,会出现闪烁现象;如果数码管直接与单片机连接,软件控制上会比较麻烦等。本设计采用的是动态式的连接方式。图2-6 动态显示连接方式3 硬件系统设计根据系统设计要求本系统分为测速信号采集与处理模块,单片机模块以及显示模块三大部分。现分别介绍如下。3.1 测速信号采集及其处理本设计中采用对射式光电传感器测量风扇转速。当不透光的物体挡住发射与接收之间的间隙时,开关管关断,反之打开。当风扇转动时,光电开关产生脉冲信号。因为风扇叶片数一般为三片以上,旋转一周可以获得多个脉冲信号。传感器的外观如图3-1所示:图3-1 传感器3.1.1 转速测量原理在此采用频率测量法,其测量原理为,在固定的测量时间内,计取转速传感器发生的脉冲个数(即频率),从而算出实际转速。设固定的测量时间T(min),计数器计取的脉冲个数m1,假定脉冲发生器每转输出p个脉冲,对应被测转速为N(r/min),就可算出实际转速值N = 60m1/ pT。本检测装置中对射式光电传感器安装在风扇两侧,工作时传感器输出信号经整形后可得到相应的方波脉冲信号,根据上述转速计算公式求出转述。3.1.2 信号处理电路被测物理量经过传感器变换后,变为电阻、电流、电压、电感等某种电参数的变化值。为了进行信号的分析、处理、显示和记录,须对信号作放大、运算、分析15等处理,这就引入了中间变化电路。根据系统需要设计了如图3-2所示的中间变换电路。其中,R1、R4 起限流作用,R2 起分流作用,R3 为输出电阻。当光电传感器之间没有被阻挡时,输出低电平;当通光孔被扇叶遮住时,输出高电平。图3-2 信号处理电路3.2 单片机处理电路设计如下图所示,X1为12MHz的晶振,9口为复位接口,通过开关控制。用于测量转速的脉冲通过P3.5/T1输入单片机,用AT89S52的定时计数器T1对脉冲信号进行计数17,用定时计数器T0进行定时,每10ms产生一个中断对数码管进行刷新,产生500个中断后(即5s),进行一次转速处理,再通过单片机对T1的脉冲数进行运算转换后,用四连数码管显示风扇的转速。如图3-3所示:图3-3 AT89S52单片机处理电路3.2.1 时钟电路单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作。因此,时钟频率18直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。本设计中采用内部时钟方式,如图3-4所示,以石英晶体振荡器和两个片电容组成外部振荡源。片内的高增益反相放大器通过XTAL1、XTAL2外接,作为反馈元件的片外晶体振荡器与电容组成的并联谐振回路构成一个自激振荡器,向内部时钟电路提供振荡时钟。振荡器的频率取决于晶振的振荡频率,振荡频率范围为1.212MHz。工程应用时通常采用6MHz或12MHz。图中X1为12MHz,电容C2、C4为33pF,它们一起构成此单片机的自激振荡器。 图3-4 时钟电路连接图3.2.2 复位电路单片机的RST引脚19为复位(Reset)端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的低电平,就可以实现系统复位,使单片机回到初始状态。如图3-5所示,本设计采用手动复位,用一个电容与一个10K电阻串联组成,电阻接VCC,电容接地,RESET脚接在它们中间,RC选择10uF,按键与200R电阻串联,在电容两端并联,就成了按键复位电路,未上电时,RST端为高电平,只要按下这个按键,RST端转换为低电平,经过两个机器周期后,单片机就能复位。图3-5 AT89S52单片机处理电路3.2.3 定时与计数设计根据设计需要选择方式1比较合适,当M1、M0为01时,定时器/计数器20工作于方式1,这时定时器/计数器的等效电路如图3-6所示:图3-6 定时/计数方式1逻辑结构框图此时,定时/计数器为16位的计数器,由TLX(X=0,1)的低5位和THX的高8位组成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX。系统选择定时/计数方式1,以T1作为计数器对光电开关产生的脉冲进行计数,用T0作为定时器,每10ms产生一定时中断对数码管进行刷新,产生500次中断后,对T1接受到的脉冲数进行计算处理,得出转速。(1)用于定时工作方式,其定时时间为: T=(216-t1的初值)振荡周期12此设计采用的是12MHz的晶振,定时器T0定时为10ms,将参数带入公式 :有,t1=65536-10000=55536,换成十六进制,则t1=0xd8f0 ,所以对于定时器T0有,TMOD = 0x01,TH0 = 0xd8,TL0 = 0xf0。(2)用于计数工作方式,计数长度为: 216=65536(个外部脉冲)由此可知规定时间(5s)内外部脉冲个数不超过65536即可。3.3 显示部分LED静态显示的亮度高,占用CPU的时间短,但它的成本高。为了简化硬件电路,降低成本,在单片机应用系统中常采用动态扫描的方法,解决多位LED显示的问题。动态扫描显示的硬件接口简单,只需一个公共的七段码输出口(字形口),即所有显示位的段选线并联在一起,由一个8位I/O口控制。一个选择显示为的数位选择口(字位口),由其它的I/O口控制。显示时,从左到右轮流点亮每位显示器,由于视觉的暂留,只要保证扫描周期不超过一定的限度(一般在20ms以下),即每一时刻位选只选通一个显示位,同时段选控制口输出显示字符对应的段选码,使该位显示的字符,一定时间后,再选其他显示位,如此循环,使每个显示器件显示该位相应的字符。则可达到“同时”显示各位不同的数字或字符的目的。如下图所示数码管,其中A、B、C、D、E、F、G、DP分别对应数码管的8段,连接单片机的I/O口(P1口)。1、2、3、4从左至右分别是4位数码管的位选,通过单片机P2.4P2.7口控制。数码管连接电路22如图3-7所示:图3-7 数码管连接电路4 软件设计4.1 语言的选用本设计中采用的处理器是AT89S52单片机,由此可采用面向MCS-51的程序设计语言,包括ASM51汇编语言和C51高级语言,这两种语言各有特点。汇编语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制程序、实时通信程序等。而数学运算程序则适合用C51高级语言编写,因为用高级语言编写运算程序可提高编程效率和应用程序的可靠性。 C语言是一种通用的计算机程序设计语言,在国际上十分流行,它即可用来编写计算机系统程序,也可以用来编写一般的应用程序。以前计算机的系统软件主要是用汇编语言编写的,对于单片机应用系统来说更是如此。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序的周期长,而且调试和排错也比较困难。C语言具有很好的可移植性和硬件控制能力,表达和运算能力也较强。它具有以下特点:(1)语言简洁,使用方便灵活。(2)可移植性好,表达能力强。(3)表达方式灵活。(4)可进行架构化程序设计。(5)可以直接操作计算机硬件。(6)生成的目标代码质量高。为了提高编制计算机系统和应用程序的效率,改善程序的可读性和可移植性,在此采用高级语言编程。4.2 程序设计流程图本系统用计数程序采集信号脉冲,用定时器产生中断,对数码管刷新和缓冲区数据进行更新,辅以数码管进行显示。主程序流程图如图4-1,定时显示程序流程如图4-2。主程序说明:初始化计数器T1和定时器T0,对外部脉冲进行计数,并判断Flag_clac的值。当Flag_clac=1时,将脉冲的数值由十六进制转换成十进制,按转速转换公式转换后,载入数据缓冲区。定时显示程序说明:定时器设置为方式1,定时10ms。当定时达到10ms时,产生中断,对数码管进行刷新,显示转速,并使时间计数标志T加1。当时间计数标志T=500时,使Flag_clac置1,取出计数器在此时间内计算的脉冲数,通过转速计算程序计算得出转速值后,存入数据缓冲区,供数码管显示使用。 开始显示缓冲器初始化初始化计数器T1Flag_clac=1?计算转速清零开始初始化10ms?产生定时中断T=500?定时数据缓冲区N初始化定时器T0显示Y刷新数码管显示N时间计数清零T=0时间计数T+YNYFlag_clac=1图4-1 主程序流程图图 4-2 定时显示程序流程图4.3 程序源代码本设计采用C语言编写源程序,具体见附录A。4.4 系统的原理图整个系统的原理图见附录B。5 系统仿真系统结合Keil uVersion3.0进行编译,通过Proteus来仿真。5.1 程序编译与以往的80C51单片机不同,AT89S52具有在线调试和下载功能,它由支持AT89S52的开发工具包Keil uVersion2.0开发系统来提供。也就是说,在用户系统保留AT89S52的情况下,通过开发系统与AT89S52的串行接口通信,直接对用户系统进行调试,并在调试完成后将调试好的程序下载到AT89S52中。Keil uVersion3.0开发系统提供四项功能:编译、下载、调试和模拟,分别由Keil uVersion2.0提供的编译器、在线串行下载器、调试器和模拟器来实现。Keil uVersion2.0编译器可在Windows操作系统下直接使用,编译C语言源程序,并生成16进制文件和列表文件。调试器采用Windows系统,允许用户使用AT89S52的UART串行接口在芯片上调试代码执行。在典型调试对话中,调试器提供对片内所有外围设备的访问、单步和设置断点的代码执行控制方式。模拟器采用Windows系统,能完全模拟AT89S52的所有功能。模拟器使用简单,结合了许多标准调试特征,包括多断点、单步以及代码执行跟踪等能力。5.2 电路仿真仿真部分运用Proteus仿真软件来实现,Proteus 软件是一款强大的单片机仿真软件,它除了具有和其他工具一样的原理编辑、印制电路板(PCB)自动或人工布线及电路仿真外,最大的特色是其电路仿真是交互的、可视化的。对于单片机学习和开发帮助极大。Proteus ISIS 是英国Lab center 公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和数字集成电路,包括单片机。通过Proteus可以绘制硬件原理图,并设置元件参数;为单片机及其程序以及外部接口电路的仿真提供可能,验证设计的可行性与合理性;还可以为连接实际的硬件电路做好准备;如有必要时,可以利用它来设计电路板。如下图5-1所示,图中用方波发生器模拟光电开关产生脉冲(频率为1KHz,约1ms产生一个脉冲),由P3.5输入,由单片机控制T1进行计数,同时定时器T0每10ms产生中断对数码管进行刷新,当中断500次(即5s)后,对计数脉冲进行计算处理,得出转速,并用数码管显示。仿真结果为1356r/min,符合设计要求,可按此仿真电路指导实际硬件电路的搭建。图5-1 系统仿真电路6 结论与展望6.1 结论本设计采用光电开关测速法,利用对射式光电开关采集转速信号,通过信号处理电路得到适合的脉冲后,输入单片机进行处理、计算,得出实际的转速值,辅以数码管显示。此系统实现了设计的要求:(1)光电开关与转速测量简单适用(2)采集电路能实时采集转速信息(3)单片机处理系统运算快速简单,程序可读性强,条理分明,能形成独立模块以便于其他类似系统的计算(4)数码管为主体的人机界面能准确显示速度值存在的问题:(1)系统选择位数最多的定时/计数器工作方式1(为16位),但仍有其局限性。此计数器的最大计数脉冲数为63336(216),若每秒钟计算一次,则当1秒内外部脉冲的输入数超过65536个时,计数器会溢出,从而产生中断,使得测出的转速值小于实际的转速值。根据转速计算方法(若某风扇的扇叶有3片),Vmax=65536*60s/(3*1)=1310720r/min,所以本系统不能测量范围不能超过此值。(2)通过T1计数时,单片机每读取一个脉冲至少需要3个机器周期的时间来完成。本系统采用的晶振为12MHz,所以一个机器周期Tcy=12/f=1us。若要使单片机准确读取外部脉冲,则脉冲的输入周期不能超过3us。如此可计算,系统能测量的转速需低于:Vmax=60s/(3us*3)=6666667r/min。(3)此外,光电开关的反应速度也会对转速测量值的大小产生影响。若转速过快,则光电开关来不及处理,这样会造成测速不准,甚至测不出数值。改进方法:(1)采用时钟频率更高、定时/计数器位数更多的单片机来处理脉冲,现某些高速单片机可达到40MHz的处理速度,可以大大提高测速范围。(2)应用反应速度更快的传感器来做光电开关。现在高速光电开关的响应速度可达到0.1ms,每分钟可进行30万次检测操作,这样就能检出高速转动的微小物体。综上所述,在测速过程中,虽然由于硬件的缘故,未能实现对高速的测量,但本装置结构简单、实用,在降低测速器成本,提高测速稳定性及可靠性等方面有一定价值,而且可以达到一般工业测速的测量标准,具有广泛的前景。6.2 展望经过这次的基于单片机的测速仪的设计,让我学到很多东西,但就我个人感觉而言,学到的东西,对我今后的学习有重要的指导作用,这次学习对我的确很重要,至少我认可了自己,在过去的三年里,还是学到了一些有用的课本知识。我学到了如何务实,如何去学一门技术,同时也知道了如何学习,什么才是学习。如果每天都能像这样的学习,大学四年的课程,一年就够了,或许还不要。这次的学习比我在读高三时都还累。技术学到了,也许会忘记,学习的方法学到了,是一辈子的财富。同时这也是值得回忆的。现在看看自己以前自学的一点东西,学了都有三年了,还是一个新手。这次学习让我知道了,只要想学,一个月就够了,关键是有没有毅力和压力。自学的更是这样的,没有周围人的压力,就要自己去找压力。现在学到的东西,在书本上是学不来的,在以后的工作中一定也会用到的,一定要自己经历了,

温馨提示

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

最新文档

评论

0/150

提交评论