光电传感器的转速测量系统设计

课程设计报告

题 目: 光电传感器的转速测量系统设计

姓 名:

学 号:

专业班级:

指导老师:

目 录

1引 言...........................................................1

2系统组成及工作原理..............................................1

2.1转速测量原理..................................................1

2.2转速测量的一般方法............................................3

2.3转速测量系统组成框图..........................................3

3系统硬件电路的设计..............................................3

3.1脉冲产生电路设计..............................................3

3.2光电转换及信号调理电路设计....................................4

3.2.1光电传感器简介..............................................4

3.2.2光电转换及信号调理电路设计..................................5

3.3测量系统主机部分设计..........................................7

3.3.1单片机......................................................7

3.3.2键盘显示模块设计............................................9

3.3.3串行通信模块设计...........................................11

3.3.4电源模块设计...............................................12

4系统软件设计...................................................13

4.1程序模块设计.................................................13

4.2数据处理过程.................................................15

4.3浮点数学运算程序.............................................16

5制作调试.......................................................16

6结果分析.......................................................18

7参考文献.......................................................18

1、引 言

随着社会经济的快速发展,转速测量成为了社会生产和日常生活中重要的测量和控制对象。测速是工农业生产中经常遇到的问题,人们经常需要精确测量每秒钟转轴的转速,学会对电机转速的测量和显示具有重要的意义。近年来,由于世界范围内对转速测量合理利用的日益重视,促使转速测量技术的迅速发展,各种新型的测量仪表相继问世并越来越多地得到应用。由于技术保密,厂家不会提供详细电路图和源代码,用户很难自行进行二次开发和改进。针对这种现状,使用光电传感器结合STC公司的STC 89C51型单片机设计的一种转速测量与控制系统。STC 89C51单片机采用了CMOS工艺和高密度非易失性存储器技术,而且其输入/输出引脚和指令系统都与MCS-51兼容,是开发该系统的适合芯片。 2 、系统组成及工作原理

2.1 转速测量原理

在此采用频率测量法,其测量原理为,在固定的测量时间内,计取转速传感器产生的脉冲个数,从而算出实际转速。设固定的测量时间为Tc(min),计数器计取的脉冲个数m,假定脉冲发生器每转输出p个脉冲,对应被测转速为N(r/min),则f=pN/60Hz;另在测量时间Tc内,计取转速传感器输出的脉冲个数m应为 m=Tcf ,所以,当测得m值时,就可算出实际转速值[1]:

N=60m/pTc (r/min) (1)

2.2 转速测量的一般方法

一般转速测量系统有以下几个部分构成,转速测量框图如图2-1所示。

图2-1 转速测量框图

1.转速信号拾取

转速信号拾取是整个系统的前端通道,目的是将外界的非电参量,通过一定方式转换

成电量,这一环节可以通过敏感元件、传感器或测量仪表等来实现。

方法如下:

(1) 通过敏感元件拾取被测信号

敏感元件体积小,可以根据用户及环境要求做成各矛头形状的探头,它能将被测的物

理量变换成电流、电压,只要选择合适的元件参数。如R、L、C设计相应的电路,便能完成这种对应关系。这种方法设计难度大,信号稳定度差,在模拟处理系统中不宜采用。

(2) 通过传感器拾取信号

由专业人员将敏感元件和相应的测量电路、传递机构以适当的形式制成不同类型、不

同用处的传感器,根据原理输出电量。该电量可以是模拟量或数字量,现代传感器还可以输出开关量,用于数字逻辑电路。

(3) 通过测量仪表拾取被测信号

目前有许多测量仪表用于各种测量中,有大信号输出、有BCD码输出等,但价格昂

贵,专业性强,一般不适合通用系统。通用的转速测量系统大都采用一种俗称“码盘”的传感装置,将圆形的码盘固定在转轴上,码盘上有若干规则排列的小孔,用光电偶来输出电信号,以反映转速对应关系,即是将转轴的速度以脉冲形式反映出来,通常有两种形式:

(1) 模拟量量化后经A/D转换,由数字量反映角度,供单片机计算处理,得出转速。

(2) 直接由脉冲来反应转轴的角度,用每转产生的脉冲经单片机处理得出转速。

2.整形和倍频

前向通道中,从传感器输出的信号必须转换成单片机输入要求的信号,由于信号调节

电路与传感器的选择,现场干扰程度等,都会影响信号的质量。而脉冲信号的上升沿和下降沿对数字电路的触发尤为重要,若要将转速脉冲信号直接加到计数器或外部中断的输入端,并利用其上升沿来触发进行计数,则必须要求输入的信号有陡峭的上升沿或下降沿。处理方法上可以用触发器电路来整形;而倍频电路主要用于解决低转速时测量精度问题及码盘的刻度误差而造成的精度下降问题。方法是在每转中增加脉冲的个数(码盘的线程数)来提高精度。但在高转速时,由于脉冲个数的增加,限制了最高转速测量量程,这个问题可用单片机控制来动态处理解决,兼顾高低转速的测量精度。

3.单片机

单片机是整个测量系统的主要部分,担负对前端脉冲信号的处理、计算、以及信号的

同步,计时等任务,其次,将测量的数据经计算后,将得到的转速值传送到显示接口中,

用数码管显示数值。在本系统中考虑到计数的范围、使用的定时,计数器的个数及I/O口线,预选用89C51单片机。具体工作情况在后讨论。

4.驱动和显示

由于LED数码管具有亮度高、可靠性好等特点,工业测控系统中常用LED数码管作

为显示输出。本系统也采用数码管作显示。

LED显示器是用发光二极管显示字段的,通常使用七段构成“日”字型和一只发光二

极管作为小数点,称八段数码显示器。其有两种驱动方式,共阴驱动和共阳驱动,共阴驱动是各段发光二极管的阴极连在一起,并将公共端接地,在共阳结构中,将各段发光二极

管阳极连在一起,并将公共端接上+5V电源,显示字符对应字型代码发光。

2.3 转速测量系统组成框图

系统由信号预处理电路、单片机STC 89C51、系统化LED显示模块、串口数据存储电

路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机匹配的TTL信号;通过对单片机的编程设置可使内部定时器T0对输入脉冲进行计数,这样就能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中转速显示部分采用价格低廉且使用方便的LED模块,通过相关计算方法计算得到的转速通过I2C总线放到E2PROM存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。系统的原理框图如图2.1所示。

图2.1 系统的原理框图

3 、系统硬件电路的设计

3.1 脉冲产生电路设计

设计采用了红外光电传感器,进行非接触式检测。当有物体挡在红外光电发光二极管

用数码管显示数值。在本系统中考虑到计数的范围、使用的定时,计数器的个数及I/O口线,预选用89C51单片机。具体工作情况在后讨论。

4.驱动和显示

由于LED数码管具有亮度高、可靠性好等特点,工业测控系统中常用LED数码管作

为显示输出。本系统也采用数码管作显示。

LED显示器是用发光二极管显示字段的,通常使用七段构成“日”字型和一只发光二

极管作为小数点,称八段数码显示器。其有两种驱动方式,共阴驱动和共阳驱动,共阴驱动是各段发光二极管的阴极连在一起,并将公共端接地,在共阳结构中,将各段发光二极

管阳极连在一起,并将公共端接上+5V电源,显示字符对应字型代码发光。

2.3 转速测量系统组成框图

系统由信号预处理电路、单片机STC 89C51、系统化LED显示模块、串口数据存储电

路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机匹配的TTL信号;通过对单片机的编程设置可使内部定时器T0对输入脉冲进行计数,这样就能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中转速显示部分采用价格低廉且使用方便的LED模块,通过相关计算方法计算得到的转速通过I2C总线放到E2PROM存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。系统的原理框图如图2.1所示。

图2.1 系统的原理框图

3 、系统硬件电路的设计

3.1 脉冲产生电路设计

设计采用了红外光电传感器,进行非接触式检测。当有物体挡在红外光电发光二极管

和高灵敏度的光电晶体管之间时,传感器将会输出一个低电平,而当没有物体挡在中间时则输出为高电平,从而形成一个脉冲。系统在光电传感器收发端间加入电动机,并在电动机的转轴上安装一转盘。在这个转盘的边沿处挖出若干个圆形过孔,把传感器的检测部分放在圆孔的圆心位置。每当转盘随着后轮旋转的时候,传感器将向外输出若干个脉冲。把这些脉冲通过一系列的波形整形成单片机可以识别的TTL电平,即可算出轮子即时的转速。

转盘的圆孔的个数决定了测量的精度,个数越多,精度越高。这样就可以在单位时间内尽可能多地得到脉冲数,从而避免了因为两个过孔之间的距离过大,而正好在过孔之间或者是在下个过孔之前停止了,造成较大的误差。设计中转盘的圆孔的实际个数受到技术的限制。为了达到预定的效果设计在转盘过孔的设计上采用11个过孔,从而留下了10个同等的间距。这样在以后的软件设计中能够较为方便的计算出脉冲频率。脉冲发生源的硬件结构图如图3.1所示。

图3.1脉冲发生源硬件结构图(左为正视图,右为侧视图)

3.2 光电转换及信号调理电路设计

由于系统需要将光信号转换为电信号,因而需要使用光电传感器并设计相应的信号调理电路,以得到符合要求的脉冲信号,送给单片机STC89C51进行计数,同时得到计数的时间,由单片机进行相关计算以得到电动机转速。

3.2.1 光电传感器简介

光电传感器是采用光电元件作为检测元件的传感器。它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。光电传感器一般由光源、光学通路和光电元件三部分组成。光电检测方法具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,因此,光电式传感器在检测和控制中应用非常广泛。

由光通量对光电元件的作用原理不同所制成的光学测控系统是多种多样的,按光电元件(光学测控系统)输出量性质可分二类,即模拟式光电传感器和脉冲(开关)式光电传感器。模拟式光电传感器是将被测量转换成连续变化的光电流,它与被测量间呈单值关系。模拟式光电传感器按被测量(检测目标物体)方法可分为透射(吸收)式、漫反射式、遮光式(光束阻档)三大类。所谓透射式是指被测物体放在光路中,恒光源发出的光能量穿过被测物,部份被吸收后,透射光投射到光电元件上;所谓漫反射式是指恒光源发出的光投射到被测物上,再从被测物体表面反射后投射到光电元件上;所谓遮光式是指当光源发出的光通量经被测物光遮其中一部份,使投射刭光电元件上的光通量改变,改变的程度与被测物体在光路位置有关。

光源是许多光电传感器的重要组成部分,要使光电传感器很好地工作,除了合理选用光电元件外,还必须配备合适的光源。

发光二极管是一种把电能转变成光能的半导体器件。它具有体积小、功耗低、寿命长、响应快、机械强度高等优点,并能和集成电路相匹配。因此,广泛地用于计算机、仪器仪表和自动控制设备中。

钨丝灯泡是一种最常用的光源,它具有丰富的红外线。如果选用的光电元件对红外光敏感,构成传感器时可加滤色片将钨丝灯泡的可见光滤除,而仅用它的红外线做光源,这样,可有效防止其他光线的干扰。

激光与普通光线相比具有能量高度集中,方向性好,频率单纯、相干性好等优点,是很理想的光源。

综上所述,各种光源各具优点,但从经济与使用便利方面考虑,并考虑到抗干扰性能,我们决定选用红外光二极管做系统测量的光源。

由光源、光学通路和光电器件组成的光电传感器在用于光电检测时,还必须配备适当的信号调理电路。这些信号调理电路负责将光电传感器输出的微弱的光电信号进行放大、整形,转换成所单片机定时计数所需要的脉冲信号。不同的光电元件,所要求的测量电路也不相同,为此设计时必须详加考虑。

3.2.2 光电转换及信号调理电路设计

传感器将电机的转速信号转变成了电脉冲信号,该信号经过LM324集成运放整形驱动,送到单片机进行脉冲计数,从而测出电动机转速。

光电转换部分与单片机的连接框图如图3.2所示。

图3.2 光电转换部分与单片机的连接框图

LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。它的内部包含四组形式完全相同的运算放大器, 除电源共用外,四组运放相互独立。每一组运算放大器可用图3.3所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图3.4 图3.3放大器图 图3.4 引脚图

由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。

本设计计划采用高性能集成四运放LM324来进行光电信号调理电路设计。电路采用两级放大电路对脉冲信号进行放大,防止信号脉冲太小以至对实验结果不产生影响。此外,还设计了有源带通滤波器。

为了达到预定效果,对系统运用MULTISIM 8进行模拟仿真,并利用模拟仿真结果对有关元器件进行参数设定,以使电路满足要求。如图3.5所示是MULTISIM 进行电路模拟仿真示意图及其模拟仿真结果。

图3.5 电路模拟仿真示意图及其模拟仿真结果

3.3 测量系统主机部分设计

3.3.1 单片机

单片机是单片微型计算机(Single Chip Microcomputer)的简称,是指在一块芯片上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O接口等部件,构成一个完整的微型计算机。目前,新型单片机内还有A/D及D/A转换器、高速输入/输出等部件。由于它的结构和指令功能都是按工业控制要求设计的,特别适用于工业控制及其数据处理场合,因此,确切的称谓应是微控制器(Microcontroller).

系统使用的单片机是STC 89C51型单片机。STC 89C51单片机是基于MCS-51单片机为内核的,其输入/输出管脚以及指令系统和MCS-51单片机是完全兼容的。其优越的性价比使其成为颇受欢迎的8位单片机。如图3.6是STC 89C51结构框图。

STC 89C51单片机的特点:

⑴ 它内部有一个8位的CPU,具有4KB的EEPROM。

⑵ 128字节的RAM数据存储器,21个特殊功能寄存器SFR。

⑶ 4个8位并行I/O口,其中P0、P2为地址/数据线,可寻址64KB ROM和64KB RAM. ⑷ 一个可编程全双工串行口,具有5个中断源。 ⑸ 两个16位定时器/计数器。

计数脉冲输入 T0 T1

P0 P1 P2 P3 TXD RXD

中断输入

图3.6 STC 89C51结构框图

上图是STC 89C51单片机引脚分布图。由图我们可以看到,单片机的引脚除了电源、复位、时钟接入、用户I/O口外,其余管脚是为实现系统扩展而设置的。这些引脚构成MCS-51单片机片外三总线结构,即:

①地址总线(AB):地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供8位地址(A0至A7);P2口直接提供8位地址。 ②数据总线(DB):数据总线宽度为8位,由P0提供。

③控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。

图3.7 STC89C51管脚图

- 8 -

3.3.2 键盘显示模块设计

按键功能通过软件编程设置: 按 K0为清零、复位; 按K1显示计时时间; 按K2显示计数脉冲数;

此按键电路为低电平有效,当无按键按下时,单片机输入引脚P1.0、P1.1、P1.2、P1.3端口均为高电平。当其中任一按键按下时,其对应的P1端口变为低电平,在软件中利用这个低电平设计其功能。软件中还设置了按键防抖动误触发功能,软件中设置定时器1 50ms中断一次,每次中断都对按键进行扫描,如果扫描到有按键按下,则延迟10ms,再次进行键扫描,若仍有按键按下,则按键为真,并从P1口读取数据,低电平对应的即为有效按键。

图3.8 按键电路图

显示部分采用价廉方便的LED数码管,图3.9为数码管的引脚接线图。测量系统有8位共阳的LED数码管,表3.1为驱动LED数码管的段代码表,1-代表对应的笔段亮,0-代表对应的笔段不亮。若需要在最右边(S0)显示“5”,只要将从表中查得相应的段代码写入P0口,在将P2.0置高,P2.1-P2.7置低即可。

图3.9 数码管的引脚接线图

表3.1 驱动LED数码管的段代码表

- 9 -

显示电路如图3.10,其电路采用动态显示方式。电机转速的测量结果经过译码, 输出的8位并行数据通过STC89C51 的并行口(P0口)输出,送至7段LED ,同时由P2口输出位扫描信号以实现测量数据的动态显示。P0口 和 P2口都是准双向口,输出时需要接上拉电阻。P0内部没有上拉电阻,P2口内部有弱上拉。所以P0口外围电路设计为低电平有效,高电平无效。要使数码管S0-S7的其中一个亮,其对应的P2端口要置高,P2的其余端口置低。如:S0亮:P2.0置高,P2.1-P2.7置低。

系统将定时把缓冲区的数据送出,在数码管上显示。

- - 10

图3.10 显示电路图

3.3.3 串行通信模块设计

STC89 C51单片机的串行通讯接口的输入\输出为TTL高电平为3.8V-5V,低电平为0-0.3V,这对近距离通讯还可以,但当通讯距离远时,就会因为TTL电平低,抗干扰能力弱而影响可靠性。为了提高串行通讯接口的抗干扰能力和增强可靠性,于是就出现了许多通讯标准和规程。目前,RS-232标准就是其中比较常用的一种,这样,一方面可提高这些设备的通用性,另一方面又增强了数据传送时的可靠性。

232电平转换采用MAX232芯片把TTL电平转换成RS-232电平格式,可以用于单片机与微机通信,以及单片机与单片机之间的通信,测量系统设计了两个DB9的接口,其中一个用于ISP下载器模块的程序下载接口,称为“ISP Interface”,另一个接口为单片机与其它具有RS232接口的通信端口,称为“Common Port”。具体的电路原理图如图3.11所示。

- -

11

图3.11电路原理图

3.3.4 电源模块设计

电源模块为系统板上其它模块提供+5V电源以及±15V电源。电源的设计有分立元件和集成稳压器几种方法,目前较常用的是用集成稳压器来设计稳压电源。常用的集成稳压器有固定式三端稳压器与可调式三端稳压器。常用可调式集成稳压器有LM317系列,它们的输出电压从1.25V-37伏可调,负端则为LM337等。最简的电路外接元件只需一个固定电阻和一只电位器。其芯片内有过热和安全工作区保护,最大输出电流为1.5A。

系统需要设计两个电源,其中+5V电源采用7805,电路原理图如图3.12所示。原理:9V的交流电压输入后经桥堆整流,通过1000μF的电解电容进行滤波,再经过集成稳压器7805稳压,C17、C19等电容对其进行滤波后,最后输出+5V电压。供系统板上的其它模块使用。

图3.12 5V电源模块电路图

±15V电源采用LM317与LM337设计,其典型电路如图3.13。220V的交流电压经变压器变为±15V交流电压,再经桥堆整流器变为大小变化的直流电压。C1~C4为滤波电容,滤除电压中的高频部分,使电压趋于稳定的直流电压。其中LM317和LM337构成±15V

- - 12

流稳压电源的稳压部分,确保在其输出端的电压稳定在1.25V左右。D1~D4对LM317和LM337

具有短路保护作用。通过对电位器R3、R4的调节来获得所需的电压,即±15V稳定的直流

电压。

图3.13 ±15V直流稳压电源

4 、系统软件设计

4.1程序模块设计

软件部分由数据处理程序、按键程序设计、中断服务子程序、LED显示程序等几个部分组成。

数据处理完成对各种测量数据的处理,如各种数据的计算、数据格式的转换等。 按键程序包括按键防抖动处理、判键及修改项目等。按键流程图如图4.1所示。

定时器1服务子程序设计,流程图如图4.2所示。定时器1完成定时功能,定时2Oms,并每隔20ms进行一次显示,每隔1秒读一次计数结果。单片机对在1秒内计数的值进行处理,转换成每分钟的速度送显存以便显示。

具体算法如下:主程序在对定时器、计数器、堆栈等进行初始化后即判断标志是否为 1,如果为 1,说明要求对数据进行计算处理,首先将标志清零,以保证下次能正常判断,然后进入数据处理程序,由于这里的闸门时间为 1s,而显示要求为转/分,因此,要将测到的数据进行转换,转换的方法是将测得的数据乘以60,但由于转轴上安装有11只孔,每旋转一周可以得到11个脉冲,因此,要将测得的数据除以11,所以综合起来,将测得的数据乘以5.4545即可得到每分钟的转速。计算得到的结果是二进制的整数,要将数据送往显示缓冲区需要将该数转化为BCD码。运算得到的是压缩BCD码,需要将其转换为非压缩BCD码,从标号CBCD

开始的一段程序即作了这样的处理。需要说明的是,这里多位二进制乘法

和多位二进制到BCD码的转换都是用了现成的成熟子程序,因此,首先将二进制数转换为压结合实际BCD码,然后再转换成非压缩BCD码,看似多写了些程序,实际上这对于保证程序的质量很有好处。定时器T1用作定时发生器,在定时中断程序中进行数码管的动态扫描,同时产生1s的闸门信号。1s闸门信号的产生是通过一个计数器Count,每次中断时间为20ms,每计50 次即为1s,到了1s后,即清除计数器Count,然后关闭作为计数器用的T0,读出TH0、TL0中的数值,分别送入SpCount和SpCoun+1单元,将T0中的值清空,置标志为1,要求主程序进行速度值的计算。

图4.1 按键流程图

图4.2定时器1服务子程序流程图

4.2 数据处理过程

在系统开始工作,或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP) 、工作寄存器、中断控制和定时/ 计数器的工作方式。定时/ 计数器的工作首先被设置为计数器方式。

在对定时/ 计数器的计数寄存器清0 后,置运行控制位TR 为1 ,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。计数闸门结束时TR 清0 ,停止计数。计数寄存器中的值通过16进制数到10进制数转换程序转换为10进制数。对10进制数的最高位进行判别,若该位不为0 ,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0 ,将计数闸门的宽度扩大10倍,重新对待测信号的计数,直到满足测量数据有效位数的要求。

当上述测量判断过程直到计数闸门宽度达到1s ,这时对应的频率测量范围为100Hz - 999Hz ,如果测量结果仍不具有3 位有效数字,频率计则使用定时方法测量待测信号的周期。定时/计数器的工作这时被设置为定时器方式,在对定时/ 计数器的计数寄存器清0 后,判断待测信号的上跳沿是否到来。待测信号的上跳沿到来后,置运行控制位TR 为1 ,以单片机工作周期为单位,启动对待测信号的周期测量。然后判断待测信号的下跳沿是否

到来,待测信号的下跳沿到来后,运行控制位TR 清0 ,停止计数。16 位定时/ 计数器的最高计数值为65535 ,这样在待测信号的频率较低时,定时/ 计数器将发生溢出。当产生定时/ 计数器将溢出,程序进入定时器中断服务程序,中断服务程序对溢出次数进行计数。待测信号的周期由3个字节组成:定时/ 计数器溢出次数、定时/ 计数器的高8 位和低8 位。信号的频率f 与信号的周期T 之间的关系为:

f = 1/ T

完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。为提高运算精度,这里采用浮点数算术运算。浮点数用3个字节组成,第一字节最高位为数符,其余7 位为阶码;第二字节为尾数的高字节;第三字节为尾数的低字节。待测信号周期的3个字节定点数首先通过截取高16 位、设置数符和计算阶码转换为上述格式的浮点数。然后浮点数算术运算对其进行处理,获得用浮点数格式表达的信号频率值。浮点数到BCD 码转换模块把用浮点数格式表达的信号频率值变换成测转速的显示格式,送到显示模块显示待测信号的频率值。

4.3 浮点数学运算程序

STC89C51 系列单片机属于微控制器,由于其CPU字长和指令功能的限制,它适用于控制领域,在信号处理方面不很擅长。在频率计中需要完成周期到频率的换算,为保证测量结果的准确,这里应用了浮点数数学运算。从周期到频率的换算过程包括: 3字节定点数到浮点数的转换、浮点数数学运算和浮点数到十进制码的转换。

5 、制作调试

在硬件调试与制作方面,可从下面系列着手考虑。

信号盘可用一般钢板制成,这个信号盘就是发动机实验时所用的转盘,盘上共有11个齿,每个大孔直径为6mm,盘中心还有一个中心孔。中心孔主要用于在固定发动机上。将信号盘与电机安装在一起,使其随电机转动;传感器固定在支架上,垂直于转速盘,当转速盘旋转时,光电传感器就输出矩形脉冲信号,每11个脉冲对应发动机1个工作循环,其中的2个宽脉冲信号配合上止点信号可精确确定上止点的位置。

此检测装置完全按照发动机上传感器的实际安装位置进行安装。如图5.1,将信号盘固定在电动机转轴上,光电转速传感器正对着信号盘。光电转速传感器接有4根导线,其中黑线、黄线为电源输入线,红线为信号输出线,白线为共地线。测量头由光电转速传感器组成,而且测量头两端的距离与信号盘的距离相等。测量用器件封装后,固定装在贴近信

号盘的位置,当信号盘转动时,光电元件即可输出正负交替的周期性脉冲信号。信号盘旋转一周产生的脉冲数,等于其上的孔数。因此,脉冲信号的频率大小就反映了信号盘转速的高低。此转速测量装置可以实现数字显示,成为数字式转速表。

图5.1 转速测速示意图

LM324整形电路调试。在焊接硬件电路时需细心排除元器件和焊接等方面可能出现的故障,元器件的安装位置出错或引脚差错可能导致电路短路或实现不了电路本身的功能,甚至烧坏元器件。单片机部分最容易出现的问题为元器件引脚的虚焊。

被测物理量经过传感器变换后,往往成为电阻、电流、电压、电感等某种电参数的变化值。为了进行信号的分析、处理、显示和记录,须对信号作放大、运算、分析等处理,这就引入了中间变化电路。查阅有关资料结合选用的光电传感器相关参数,我们设计了如图3.6所示的中间变换电路。当调制盘上的圆形孔旋转至与光电开关的透光位置重合时,触发器输出高电平;当通光孔被遮住时,触发器输出低电平。输出的信号经LM324电路整形调试,可以将信号源完好的整形成矩形脉冲信号。在把矩形脉冲信号输入单片机之前,先把矩形脉冲信号接入示波器进行调试。

除了要考虑到硬件方面,对软件调试也不能忽视。

程序应该模块化,便于修改。使用RAM或IO,必须先定义再使用,避免直接引用。将来需要调整时,只要修改定义部分就好了。写程序要有足够的注释、说明文档、流程图、原理图。每次修改程序,应该同步更新相关的注释、说明文档、流程图、原理图。免得下次再改时对不上号。

实验板与PC机连接时一定要先连接串行通信电缆,然后再将其电源线插入USB借口;拆除时先断开其电源,再断开串行通信电缆。否则极易损坏PC机的串口。

在进行软件编程调试时需要用到单片机的集成开发环境MedWin V2.39 软件,编程时

课程设计报告

题 目: 光电传感器的转速测量系统设计

姓 名:

学 号:

专业班级:

指导老师:

目 录

1引 言...........................................................1

2系统组成及工作原理..............................................1

2.1转速测量原理..................................................1

2.2转速测量的一般方法............................................3

2.3转速测量系统组成框图..........................................3

3系统硬件电路的设计..............................................3

3.1脉冲产生电路设计..............................................3

3.2光电转换及信号调理电路设计....................................4

3.2.1光电传感器简介..............................................4

3.2.2光电转换及信号调理电路设计..................................5

3.3测量系统主机部分设计..........................................7

3.3.1单片机......................................................7

3.3.2键盘显示模块设计............................................9

3.3.3串行通信模块设计...........................................11

3.3.4电源模块设计...............................................12

4系统软件设计...................................................13

4.1程序模块设计.................................................13

4.2数据处理过程.................................................15

4.3浮点数学运算程序.............................................16

5制作调试.......................................................16

6结果分析.......................................................18

7参考文献.......................................................18

1、引 言

随着社会经济的快速发展,转速测量成为了社会生产和日常生活中重要的测量和控制对象。测速是工农业生产中经常遇到的问题,人们经常需要精确测量每秒钟转轴的转速,学会对电机转速的测量和显示具有重要的意义。近年来,由于世界范围内对转速测量合理利用的日益重视,促使转速测量技术的迅速发展,各种新型的测量仪表相继问世并越来越多地得到应用。由于技术保密,厂家不会提供详细电路图和源代码,用户很难自行进行二次开发和改进。针对这种现状,使用光电传感器结合STC公司的STC 89C51型单片机设计的一种转速测量与控制系统。STC 89C51单片机采用了CMOS工艺和高密度非易失性存储器技术,而且其输入/输出引脚和指令系统都与MCS-51兼容,是开发该系统的适合芯片。 2 、系统组成及工作原理

2.1 转速测量原理

在此采用频率测量法,其测量原理为,在固定的测量时间内,计取转速传感器产生的脉冲个数,从而算出实际转速。设固定的测量时间为Tc(min),计数器计取的脉冲个数m,假定脉冲发生器每转输出p个脉冲,对应被测转速为N(r/min),则f=pN/60Hz;另在测量时间Tc内,计取转速传感器输出的脉冲个数m应为 m=Tcf ,所以,当测得m值时,就可算出实际转速值[1]:

N=60m/pTc (r/min) (1)

2.2 转速测量的一般方法

一般转速测量系统有以下几个部分构成,转速测量框图如图2-1所示。

图2-1 转速测量框图

1.转速信号拾取

转速信号拾取是整个系统的前端通道,目的是将外界的非电参量,通过一定方式转换

成电量,这一环节可以通过敏感元件、传感器或测量仪表等来实现。

方法如下:

(1) 通过敏感元件拾取被测信号

敏感元件体积小,可以根据用户及环境要求做成各矛头形状的探头,它能将被测的物

理量变换成电流、电压,只要选择合适的元件参数。如R、L、C设计相应的电路,便能完成这种对应关系。这种方法设计难度大,信号稳定度差,在模拟处理系统中不宜采用。

(2) 通过传感器拾取信号

由专业人员将敏感元件和相应的测量电路、传递机构以适当的形式制成不同类型、不

同用处的传感器,根据原理输出电量。该电量可以是模拟量或数字量,现代传感器还可以输出开关量,用于数字逻辑电路。

(3) 通过测量仪表拾取被测信号

目前有许多测量仪表用于各种测量中,有大信号输出、有BCD码输出等,但价格昂

贵,专业性强,一般不适合通用系统。通用的转速测量系统大都采用一种俗称“码盘”的传感装置,将圆形的码盘固定在转轴上,码盘上有若干规则排列的小孔,用光电偶来输出电信号,以反映转速对应关系,即是将转轴的速度以脉冲形式反映出来,通常有两种形式:

(1) 模拟量量化后经A/D转换,由数字量反映角度,供单片机计算处理,得出转速。

(2) 直接由脉冲来反应转轴的角度,用每转产生的脉冲经单片机处理得出转速。

2.整形和倍频

前向通道中,从传感器输出的信号必须转换成单片机输入要求的信号,由于信号调节

电路与传感器的选择,现场干扰程度等,都会影响信号的质量。而脉冲信号的上升沿和下降沿对数字电路的触发尤为重要,若要将转速脉冲信号直接加到计数器或外部中断的输入端,并利用其上升沿来触发进行计数,则必须要求输入的信号有陡峭的上升沿或下降沿。处理方法上可以用触发器电路来整形;而倍频电路主要用于解决低转速时测量精度问题及码盘的刻度误差而造成的精度下降问题。方法是在每转中增加脉冲的个数(码盘的线程数)来提高精度。但在高转速时,由于脉冲个数的增加,限制了最高转速测量量程,这个问题可用单片机控制来动态处理解决,兼顾高低转速的测量精度。

3.单片机

单片机是整个测量系统的主要部分,担负对前端脉冲信号的处理、计算、以及信号的

同步,计时等任务,其次,将测量的数据经计算后,将得到的转速值传送到显示接口中,

用数码管显示数值。在本系统中考虑到计数的范围、使用的定时,计数器的个数及I/O口线,预选用89C51单片机。具体工作情况在后讨论。

4.驱动和显示

由于LED数码管具有亮度高、可靠性好等特点,工业测控系统中常用LED数码管作

为显示输出。本系统也采用数码管作显示。

LED显示器是用发光二极管显示字段的,通常使用七段构成“日”字型和一只发光二

极管作为小数点,称八段数码显示器。其有两种驱动方式,共阴驱动和共阳驱动,共阴驱动是各段发光二极管的阴极连在一起,并将公共端接地,在共阳结构中,将各段发光二极

管阳极连在一起,并将公共端接上+5V电源,显示字符对应字型代码发光。

2.3 转速测量系统组成框图

系统由信号预处理电路、单片机STC 89C51、系统化LED显示模块、串口数据存储电

路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机匹配的TTL信号;通过对单片机的编程设置可使内部定时器T0对输入脉冲进行计数,这样就能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中转速显示部分采用价格低廉且使用方便的LED模块,通过相关计算方法计算得到的转速通过I2C总线放到E2PROM存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。系统的原理框图如图2.1所示。

图2.1 系统的原理框图

3 、系统硬件电路的设计

3.1 脉冲产生电路设计

设计采用了红外光电传感器,进行非接触式检测。当有物体挡在红外光电发光二极管

用数码管显示数值。在本系统中考虑到计数的范围、使用的定时,计数器的个数及I/O口线,预选用89C51单片机。具体工作情况在后讨论。

4.驱动和显示

由于LED数码管具有亮度高、可靠性好等特点,工业测控系统中常用LED数码管作

为显示输出。本系统也采用数码管作显示。

LED显示器是用发光二极管显示字段的,通常使用七段构成“日”字型和一只发光二

极管作为小数点,称八段数码显示器。其有两种驱动方式,共阴驱动和共阳驱动,共阴驱动是各段发光二极管的阴极连在一起,并将公共端接地,在共阳结构中,将各段发光二极

管阳极连在一起,并将公共端接上+5V电源,显示字符对应字型代码发光。

2.3 转速测量系统组成框图

系统由信号预处理电路、单片机STC 89C51、系统化LED显示模块、串口数据存储电

路和系统软件组成。其中信号预处理电路包含信号放大、波形变换和波形整形。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机匹配的TTL信号;通过对单片机的编程设置可使内部定时器T0对输入脉冲进行计数,这样就能精确地算出加到T0引脚的单位时间内检测到的脉冲数;设计中转速显示部分采用价格低廉且使用方便的LED模块,通过相关计算方法计算得到的转速通过I2C总线放到E2PROM存储,既节省了所需单片机的口线和外围器件,同时也简化了显示部分的软件编程。系统的原理框图如图2.1所示。

图2.1 系统的原理框图

3 、系统硬件电路的设计

3.1 脉冲产生电路设计

设计采用了红外光电传感器,进行非接触式检测。当有物体挡在红外光电发光二极管

和高灵敏度的光电晶体管之间时,传感器将会输出一个低电平,而当没有物体挡在中间时则输出为高电平,从而形成一个脉冲。系统在光电传感器收发端间加入电动机,并在电动机的转轴上安装一转盘。在这个转盘的边沿处挖出若干个圆形过孔,把传感器的检测部分放在圆孔的圆心位置。每当转盘随着后轮旋转的时候,传感器将向外输出若干个脉冲。把这些脉冲通过一系列的波形整形成单片机可以识别的TTL电平,即可算出轮子即时的转速。

转盘的圆孔的个数决定了测量的精度,个数越多,精度越高。这样就可以在单位时间内尽可能多地得到脉冲数,从而避免了因为两个过孔之间的距离过大,而正好在过孔之间或者是在下个过孔之前停止了,造成较大的误差。设计中转盘的圆孔的实际个数受到技术的限制。为了达到预定的效果设计在转盘过孔的设计上采用11个过孔,从而留下了10个同等的间距。这样在以后的软件设计中能够较为方便的计算出脉冲频率。脉冲发生源的硬件结构图如图3.1所示。

图3.1脉冲发生源硬件结构图(左为正视图,右为侧视图)

3.2 光电转换及信号调理电路设计

由于系统需要将光信号转换为电信号,因而需要使用光电传感器并设计相应的信号调理电路,以得到符合要求的脉冲信号,送给单片机STC89C51进行计数,同时得到计数的时间,由单片机进行相关计算以得到电动机转速。

3.2.1 光电传感器简介

光电传感器是采用光电元件作为检测元件的传感器。它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。光电传感器一般由光源、光学通路和光电元件三部分组成。光电检测方法具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,因此,光电式传感器在检测和控制中应用非常广泛。

由光通量对光电元件的作用原理不同所制成的光学测控系统是多种多样的,按光电元件(光学测控系统)输出量性质可分二类,即模拟式光电传感器和脉冲(开关)式光电传感器。模拟式光电传感器是将被测量转换成连续变化的光电流,它与被测量间呈单值关系。模拟式光电传感器按被测量(检测目标物体)方法可分为透射(吸收)式、漫反射式、遮光式(光束阻档)三大类。所谓透射式是指被测物体放在光路中,恒光源发出的光能量穿过被测物,部份被吸收后,透射光投射到光电元件上;所谓漫反射式是指恒光源发出的光投射到被测物上,再从被测物体表面反射后投射到光电元件上;所谓遮光式是指当光源发出的光通量经被测物光遮其中一部份,使投射刭光电元件上的光通量改变,改变的程度与被测物体在光路位置有关。

光源是许多光电传感器的重要组成部分,要使光电传感器很好地工作,除了合理选用光电元件外,还必须配备合适的光源。

发光二极管是一种把电能转变成光能的半导体器件。它具有体积小、功耗低、寿命长、响应快、机械强度高等优点,并能和集成电路相匹配。因此,广泛地用于计算机、仪器仪表和自动控制设备中。

钨丝灯泡是一种最常用的光源,它具有丰富的红外线。如果选用的光电元件对红外光敏感,构成传感器时可加滤色片将钨丝灯泡的可见光滤除,而仅用它的红外线做光源,这样,可有效防止其他光线的干扰。

激光与普通光线相比具有能量高度集中,方向性好,频率单纯、相干性好等优点,是很理想的光源。

综上所述,各种光源各具优点,但从经济与使用便利方面考虑,并考虑到抗干扰性能,我们决定选用红外光二极管做系统测量的光源。

由光源、光学通路和光电器件组成的光电传感器在用于光电检测时,还必须配备适当的信号调理电路。这些信号调理电路负责将光电传感器输出的微弱的光电信号进行放大、整形,转换成所单片机定时计数所需要的脉冲信号。不同的光电元件,所要求的测量电路也不相同,为此设计时必须详加考虑。

3.2.2 光电转换及信号调理电路设计

传感器将电机的转速信号转变成了电脉冲信号,该信号经过LM324集成运放整形驱动,送到单片机进行脉冲计数,从而测出电动机转速。

光电转换部分与单片机的连接框图如图3.2所示。

图3.2 光电转换部分与单片机的连接框图

LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。它的内部包含四组形式完全相同的运算放大器, 除电源共用外,四组运放相互独立。每一组运算放大器可用图3.3所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图3.4 图3.3放大器图 图3.4 引脚图

由于LM324四运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。

本设计计划采用高性能集成四运放LM324来进行光电信号调理电路设计。电路采用两级放大电路对脉冲信号进行放大,防止信号脉冲太小以至对实验结果不产生影响。此外,还设计了有源带通滤波器。

为了达到预定效果,对系统运用MULTISIM 8进行模拟仿真,并利用模拟仿真结果对有关元器件进行参数设定,以使电路满足要求。如图3.5所示是MULTISIM 进行电路模拟仿真示意图及其模拟仿真结果。

图3.5 电路模拟仿真示意图及其模拟仿真结果

3.3 测量系统主机部分设计

3.3.1 单片机

单片机是单片微型计算机(Single Chip Microcomputer)的简称,是指在一块芯片上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O接口等部件,构成一个完整的微型计算机。目前,新型单片机内还有A/D及D/A转换器、高速输入/输出等部件。由于它的结构和指令功能都是按工业控制要求设计的,特别适用于工业控制及其数据处理场合,因此,确切的称谓应是微控制器(Microcontroller).

系统使用的单片机是STC 89C51型单片机。STC 89C51单片机是基于MCS-51单片机为内核的,其输入/输出管脚以及指令系统和MCS-51单片机是完全兼容的。其优越的性价比使其成为颇受欢迎的8位单片机。如图3.6是STC 89C51结构框图。

STC 89C51单片机的特点:

⑴ 它内部有一个8位的CPU,具有4KB的EEPROM。

⑵ 128字节的RAM数据存储器,21个特殊功能寄存器SFR。

⑶ 4个8位并行I/O口,其中P0、P2为地址/数据线,可寻址64KB ROM和64KB RAM. ⑷ 一个可编程全双工串行口,具有5个中断源。 ⑸ 两个16位定时器/计数器。

计数脉冲输入 T0 T1

P0 P1 P2 P3 TXD RXD

中断输入

图3.6 STC 89C51结构框图

上图是STC 89C51单片机引脚分布图。由图我们可以看到,单片机的引脚除了电源、复位、时钟接入、用户I/O口外,其余管脚是为实现系统扩展而设置的。这些引脚构成MCS-51单片机片外三总线结构,即:

①地址总线(AB):地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供8位地址(A0至A7);P2口直接提供8位地址。 ②数据总线(DB):数据总线宽度为8位,由P0提供。

③控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。

图3.7 STC89C51管脚图

- 8 -

3.3.2 键盘显示模块设计

按键功能通过软件编程设置: 按 K0为清零、复位; 按K1显示计时时间; 按K2显示计数脉冲数;

此按键电路为低电平有效,当无按键按下时,单片机输入引脚P1.0、P1.1、P1.2、P1.3端口均为高电平。当其中任一按键按下时,其对应的P1端口变为低电平,在软件中利用这个低电平设计其功能。软件中还设置了按键防抖动误触发功能,软件中设置定时器1 50ms中断一次,每次中断都对按键进行扫描,如果扫描到有按键按下,则延迟10ms,再次进行键扫描,若仍有按键按下,则按键为真,并从P1口读取数据,低电平对应的即为有效按键。

图3.8 按键电路图

显示部分采用价廉方便的LED数码管,图3.9为数码管的引脚接线图。测量系统有8位共阳的LED数码管,表3.1为驱动LED数码管的段代码表,1-代表对应的笔段亮,0-代表对应的笔段不亮。若需要在最右边(S0)显示“5”,只要将从表中查得相应的段代码写入P0口,在将P2.0置高,P2.1-P2.7置低即可。

图3.9 数码管的引脚接线图

表3.1 驱动LED数码管的段代码表

- 9 -

显示电路如图3.10,其电路采用动态显示方式。电机转速的测量结果经过译码, 输出的8位并行数据通过STC89C51 的并行口(P0口)输出,送至7段LED ,同时由P2口输出位扫描信号以实现测量数据的动态显示。P0口 和 P2口都是准双向口,输出时需要接上拉电阻。P0内部没有上拉电阻,P2口内部有弱上拉。所以P0口外围电路设计为低电平有效,高电平无效。要使数码管S0-S7的其中一个亮,其对应的P2端口要置高,P2的其余端口置低。如:S0亮:P2.0置高,P2.1-P2.7置低。

系统将定时把缓冲区的数据送出,在数码管上显示。

- - 10

图3.10 显示电路图

3.3.3 串行通信模块设计

STC89 C51单片机的串行通讯接口的输入\输出为TTL高电平为3.8V-5V,低电平为0-0.3V,这对近距离通讯还可以,但当通讯距离远时,就会因为TTL电平低,抗干扰能力弱而影响可靠性。为了提高串行通讯接口的抗干扰能力和增强可靠性,于是就出现了许多通讯标准和规程。目前,RS-232标准就是其中比较常用的一种,这样,一方面可提高这些设备的通用性,另一方面又增强了数据传送时的可靠性。

232电平转换采用MAX232芯片把TTL电平转换成RS-232电平格式,可以用于单片机与微机通信,以及单片机与单片机之间的通信,测量系统设计了两个DB9的接口,其中一个用于ISP下载器模块的程序下载接口,称为“ISP Interface”,另一个接口为单片机与其它具有RS232接口的通信端口,称为“Common Port”。具体的电路原理图如图3.11所示。

- -

11

图3.11电路原理图

3.3.4 电源模块设计

电源模块为系统板上其它模块提供+5V电源以及±15V电源。电源的设计有分立元件和集成稳压器几种方法,目前较常用的是用集成稳压器来设计稳压电源。常用的集成稳压器有固定式三端稳压器与可调式三端稳压器。常用可调式集成稳压器有LM317系列,它们的输出电压从1.25V-37伏可调,负端则为LM337等。最简的电路外接元件只需一个固定电阻和一只电位器。其芯片内有过热和安全工作区保护,最大输出电流为1.5A。

系统需要设计两个电源,其中+5V电源采用7805,电路原理图如图3.12所示。原理:9V的交流电压输入后经桥堆整流,通过1000μF的电解电容进行滤波,再经过集成稳压器7805稳压,C17、C19等电容对其进行滤波后,最后输出+5V电压。供系统板上的其它模块使用。

图3.12 5V电源模块电路图

±15V电源采用LM317与LM337设计,其典型电路如图3.13。220V的交流电压经变压器变为±15V交流电压,再经桥堆整流器变为大小变化的直流电压。C1~C4为滤波电容,滤除电压中的高频部分,使电压趋于稳定的直流电压。其中LM317和LM337构成±15V

- - 12

流稳压电源的稳压部分,确保在其输出端的电压稳定在1.25V左右。D1~D4对LM317和LM337

具有短路保护作用。通过对电位器R3、R4的调节来获得所需的电压,即±15V稳定的直流

电压。

图3.13 ±15V直流稳压电源

4 、系统软件设计

4.1程序模块设计

软件部分由数据处理程序、按键程序设计、中断服务子程序、LED显示程序等几个部分组成。

数据处理完成对各种测量数据的处理,如各种数据的计算、数据格式的转换等。 按键程序包括按键防抖动处理、判键及修改项目等。按键流程图如图4.1所示。

定时器1服务子程序设计,流程图如图4.2所示。定时器1完成定时功能,定时2Oms,并每隔20ms进行一次显示,每隔1秒读一次计数结果。单片机对在1秒内计数的值进行处理,转换成每分钟的速度送显存以便显示。

具体算法如下:主程序在对定时器、计数器、堆栈等进行初始化后即判断标志是否为 1,如果为 1,说明要求对数据进行计算处理,首先将标志清零,以保证下次能正常判断,然后进入数据处理程序,由于这里的闸门时间为 1s,而显示要求为转/分,因此,要将测到的数据进行转换,转换的方法是将测得的数据乘以60,但由于转轴上安装有11只孔,每旋转一周可以得到11个脉冲,因此,要将测得的数据除以11,所以综合起来,将测得的数据乘以5.4545即可得到每分钟的转速。计算得到的结果是二进制的整数,要将数据送往显示缓冲区需要将该数转化为BCD码。运算得到的是压缩BCD码,需要将其转换为非压缩BCD码,从标号CBCD

开始的一段程序即作了这样的处理。需要说明的是,这里多位二进制乘法

和多位二进制到BCD码的转换都是用了现成的成熟子程序,因此,首先将二进制数转换为压结合实际BCD码,然后再转换成非压缩BCD码,看似多写了些程序,实际上这对于保证程序的质量很有好处。定时器T1用作定时发生器,在定时中断程序中进行数码管的动态扫描,同时产生1s的闸门信号。1s闸门信号的产生是通过一个计数器Count,每次中断时间为20ms,每计50 次即为1s,到了1s后,即清除计数器Count,然后关闭作为计数器用的T0,读出TH0、TL0中的数值,分别送入SpCount和SpCoun+1单元,将T0中的值清空,置标志为1,要求主程序进行速度值的计算。

图4.1 按键流程图

图4.2定时器1服务子程序流程图

4.2 数据处理过程

在系统开始工作,或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP) 、工作寄存器、中断控制和定时/ 计数器的工作方式。定时/ 计数器的工作首先被设置为计数器方式。

在对定时/ 计数器的计数寄存器清0 后,置运行控制位TR 为1 ,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。计数闸门结束时TR 清0 ,停止计数。计数寄存器中的值通过16进制数到10进制数转换程序转换为10进制数。对10进制数的最高位进行判别,若该位不为0 ,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0 ,将计数闸门的宽度扩大10倍,重新对待测信号的计数,直到满足测量数据有效位数的要求。

当上述测量判断过程直到计数闸门宽度达到1s ,这时对应的频率测量范围为100Hz - 999Hz ,如果测量结果仍不具有3 位有效数字,频率计则使用定时方法测量待测信号的周期。定时/计数器的工作这时被设置为定时器方式,在对定时/ 计数器的计数寄存器清0 后,判断待测信号的上跳沿是否到来。待测信号的上跳沿到来后,置运行控制位TR 为1 ,以单片机工作周期为单位,启动对待测信号的周期测量。然后判断待测信号的下跳沿是否

到来,待测信号的下跳沿到来后,运行控制位TR 清0 ,停止计数。16 位定时/ 计数器的最高计数值为65535 ,这样在待测信号的频率较低时,定时/ 计数器将发生溢出。当产生定时/ 计数器将溢出,程序进入定时器中断服务程序,中断服务程序对溢出次数进行计数。待测信号的周期由3个字节组成:定时/ 计数器溢出次数、定时/ 计数器的高8 位和低8 位。信号的频率f 与信号的周期T 之间的关系为:

f = 1/ T

完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。为提高运算精度,这里采用浮点数算术运算。浮点数用3个字节组成,第一字节最高位为数符,其余7 位为阶码;第二字节为尾数的高字节;第三字节为尾数的低字节。待测信号周期的3个字节定点数首先通过截取高16 位、设置数符和计算阶码转换为上述格式的浮点数。然后浮点数算术运算对其进行处理,获得用浮点数格式表达的信号频率值。浮点数到BCD 码转换模块把用浮点数格式表达的信号频率值变换成测转速的显示格式,送到显示模块显示待测信号的频率值。

4.3 浮点数学运算程序

STC89C51 系列单片机属于微控制器,由于其CPU字长和指令功能的限制,它适用于控制领域,在信号处理方面不很擅长。在频率计中需要完成周期到频率的换算,为保证测量结果的准确,这里应用了浮点数数学运算。从周期到频率的换算过程包括: 3字节定点数到浮点数的转换、浮点数数学运算和浮点数到十进制码的转换。

5 、制作调试

在硬件调试与制作方面,可从下面系列着手考虑。

信号盘可用一般钢板制成,这个信号盘就是发动机实验时所用的转盘,盘上共有11个齿,每个大孔直径为6mm,盘中心还有一个中心孔。中心孔主要用于在固定发动机上。将信号盘与电机安装在一起,使其随电机转动;传感器固定在支架上,垂直于转速盘,当转速盘旋转时,光电传感器就输出矩形脉冲信号,每11个脉冲对应发动机1个工作循环,其中的2个宽脉冲信号配合上止点信号可精确确定上止点的位置。

此检测装置完全按照发动机上传感器的实际安装位置进行安装。如图5.1,将信号盘固定在电动机转轴上,光电转速传感器正对着信号盘。光电转速传感器接有4根导线,其中黑线、黄线为电源输入线,红线为信号输出线,白线为共地线。测量头由光电转速传感器组成,而且测量头两端的距离与信号盘的距离相等。测量用器件封装后,固定装在贴近信

号盘的位置,当信号盘转动时,光电元件即可输出正负交替的周期性脉冲信号。信号盘旋转一周产生的脉冲数,等于其上的孔数。因此,脉冲信号的频率大小就反映了信号盘转速的高低。此转速测量装置可以实现数字显示,成为数字式转速表。

图5.1 转速测速示意图

LM324整形电路调试。在焊接硬件电路时需细心排除元器件和焊接等方面可能出现的故障,元器件的安装位置出错或引脚差错可能导致电路短路或实现不了电路本身的功能,甚至烧坏元器件。单片机部分最容易出现的问题为元器件引脚的虚焊。

被测物理量经过传感器变换后,往往成为电阻、电流、电压、电感等某种电参数的变化值。为了进行信号的分析、处理、显示和记录,须对信号作放大、运算、分析等处理,这就引入了中间变化电路。查阅有关资料结合选用的光电传感器相关参数,我们设计了如图3.6所示的中间变换电路。当调制盘上的圆形孔旋转至与光电开关的透光位置重合时,触发器输出高电平;当通光孔被遮住时,触发器输出低电平。输出的信号经LM324电路整形调试,可以将信号源完好的整形成矩形脉冲信号。在把矩形脉冲信号输入单片机之前,先把矩形脉冲信号接入示波器进行调试。

除了要考虑到硬件方面,对软件调试也不能忽视。

程序应该模块化,便于修改。使用RAM或IO,必须先定义再使用,避免直接引用。将来需要调整时,只要修改定义部分就好了。写程序要有足够的注释、说明文档、流程图、原理图。每次修改程序,应该同步更新相关的注释、说明文档、流程图、原理图。免得下次再改时对不上号。

实验板与PC机连接时一定要先连接串行通信电缆,然后再将其电源线插入USB借口;拆除时先断开其电源,再断开串行通信电缆。否则极易损坏PC机的串口。

在进行软件编程调试时需要用到单片机的集成开发环境MedWin V2.39 软件,编程时


相关内容

  • 基于单片机的转速测量系统
  • 目录 摘要 . .............................................................................................................................................. ...

  • 基于单片机直流电机测速仪设计 毕业论文 答辩修改版
  • 基于C51单片机直流电机测速仪设计 摘 要:电机的转速是各类电机运行过程中的一个重要监测量,测速装置在电机调速系统中占有非常重要的地位,特别是数字式测速仪在工业电机测速方面有独到的优势.本文介绍了一种基于C51单片机的光电传感器转速测量系统的设计.系统采用对射式光电传感器产生与齿轮相对应的脉冲信号, ...

  • 霍尔传感器测速系-硬件
  • 基于霍尔传感器的 电机转速测量系统设计 -硬件设计 摘要 电动机作为机械化.电气化和自动化的原动机,广泛应用于国民经济建设.国防建设.科学技术研究和人民物质文明生活的各个领域.电机是生产过程中应用十分广泛的装置,对其转速进行准确测量就显得十分必要. 本文介绍了霍尔传感器测速的原理,设计了基于单片机A ...

  • 基于51单片机的电机转速测量与显示系统
  • 目录 1 绪 论 .................................................................................................................................. 2 1.1 题目背景 ...

  • 基于光学鼠标传感器的转速测量方法研究
  • 2008年第27卷第9期传感器与微系统(Transducerand Microsystem Technologies) 21 基于光学鼠标传感器的转速测量方法研究水 刘冬冬,姜炜,张天宏 (南京航空航天大学能源与动力学院.江苏南京210016) 摘要:提出了一种基于光学鼠标传感器的转速测量方法.分析 ...

  • 测量风速风向
  • 仪器科学与电气工程学院 本科生科技学术实践"六个一"工程 调研报告 风速风向测量 --"车载微型气象站"大创项目 学生姓名 指导教师学 院 ********* 专 业 ****** 光电编码器测量风速风向 摘要: 由于气象事业已经和人们的民用和工业活动密不可分 ...

  • 河北工业大学2014届优秀毕业论文摘要
  • 基于单片机的锂电池极片成型装置控制系统设计 测控103班 郝杰鹏 指导老师:肖艳军 摘 要:本设计采用STC89C52单片机作为控制核心,利用8255芯片进行了I/O口扩展,以光电接近开关.张力传感器以及位置传感器等作为输入信号,实现了直流电机PWM调速.步进电机正反转.测速.恒张力控制以及继电器控 ...

  • 智能测速小车实验报告
  • XXXX大学 智能测速小车系统的设计 院(系)名称 学生姓名 专业名称 班 级 时间 报 告 书 : : : : : 目录 智能测速小车系统的设计............................. 错误!未定义书签. 1.绪论................................. ...

  • 传感器原理及应用实验指导
  • <传感器原理及应用> 实 验 指 导 书 自动控制技术教研室 编者:张春芳 王海荣 实验一 金属箔式应变片----单臂.半臂.全桥性能实验 一. 实验目的:了解金属箔式应变片的应变效应,单臂.半臂.全电桥工作 原理和性能. 二. 基本原理:电阻丝在外力作用下发生机械变形时,其电阻值发生变 ...