单片机毕业设计 温度传感器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言

随着“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握传感器的基本结构、工作原理及特性是非常重要的。

为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了红外抄表系统。文中把传感器理论与单片机实际应用有机结合,详细地讲述了利用温度传感器DS18B20测量环境温度,以及实现红外数据传输的过程。

本设计应用性比较强,只要对电路部分稍加改装,就可以实现抄读其它的数字仪表设备:如数字电度表,数字水表等等。设计后的系统具有操作方便,控制灵活等优点。

其主要功能和指标如下:

1、利用温度传感器(DS18B20)测量某一点环境温度;

2、测量范围为-55℃~+99℃,精度为±0.5℃;

3、用4位数码管进行显示实际温度值显示;

4、手持端通过红外发射管发射测温信号;

5、测温端通过红外发射管发送到手持端;

6、手持端可以随时查看指定待测物体的温度值。

设计的核心是环境温度的测量以及红外数据的发射和接收,和温度的显示。文中对每个部分功能、实现过程作了详细地介绍。

1 方案选择

该系统主要由温度测量和数据采集和发送三部分组成。下面列举两种实现方案:方案一:温度检测可以使用低温热偶或铂电阻,数据采集部分则使用带有A/D通道的单片机。考虑到一般的A/D输入通道都只能接收大信号,所以还要设计相应的放大电路。而模拟信号在长距离传输过程中,抗电磁干扰是令人伤脑筋的问题。此方案的软件简单,但硬件复杂,且检测点数追加时,各敏感元件参数的不一致性,都将会导致误差的产生,难以完全清除,而且成本会有较大增长幅度。

方案二:使用单片机和数字式单总线温度传感器构成。其具有下列特点:①具有高的测量精度和分辨率,测量范围大;②抗干扰能力强,稳定性好;③信号易于处理、传送和自动控制;④便于动态及多路测量,读数直观;⑤安装方便,维护简单,工作可靠性高。单总线温度传感器可以采用DALLAS公司生产的DS18B20系列,这类温度传感器直接输出数字信号,且多路温度传感器可以挂在1条总线上,共同占用单片机的1个I/O 口即可实现。在提升单片机I/O口驱动能力的前提下,理论上可以任意扩充检测的温度点数。

比较两个方案后可以发现,方案二更适合于用作本系统的实施方案。尽管方案二不需要A/D,但考虑到系统扩充等因素,单片机可以选用AT98C2051。

2 硬件部分

采用方案二的硬件设计比较简单,系统构成如图1所示。

图 1温度测试系统和手持接收系统组成框图

2.1 DS18B20介绍

DALLAS公司的DS18B20单总线数字传感器工作温度范围是-55℃~125℃,在-30℃~85℃范围内温度测量精度为±0.5℃;具有温度报警功能,用户可设置最高和最低报警温度,且设置值掉电不丢失;采用DALLAS公司特有的单总线通信协议,只用一条数据线就可实现与MCU的通信;此外,DS18B20能够直接从数据线获得电源,无需外部电池供电。

DS18B20通过使用在板(on_board)温度测量专利技术来测量温度。其温度测量电路是通过计数时钟周期来实现的,DS18B20有两个温度系数振荡器,温度测量时对高温度系数振荡器产生的门开同期内,低温度系数振荡器经历的时钟周期的个数进行计数而得到的。

DS18B20数字温度传感器提供9位(二进制)温度读数,指示器件温度,所以无需A/D转换。信息经过单线接口送入DS18B20 或从DS18B20送出,因此从主机CPU到DS18B20仅需一条线连接,而且DS18B20的电源可由数据线本身提供(相对于外部电源,转换时间要延长)。因此每一个DS18B20在出厂时已经给定了唯一的序号因此从理论上说任意多个DS18B20可以连接在一条单线总线上。DS18B20的测量范围从-55℃到

+125℃,增量为0.5℃(最高精度可达0.1℃),转换速度小于1s(典型值)。

而在本遥测系统中采用外部电源供电温度测量工作方式,其中电阻R是上拉电阻,使得单线总线的空闲状态是高电平。它与CPU(AT89C51)的接法如图2。

5 V

图 2 DS18B20与单片机的连接

由于DS18B20只有一根数据线。因此它和主机(单片机)通信是需要串行通信,而AT89C51有两个串行端口,所以可以不用软件来模拟实现。经过单线接口访问DC18B20必须遵循如下协议:初始化、ROM操作命令、存储器操作命令和控制操作。要使传感器工作,一切处理均从序列开始。

主机发送(Tx)--复位脉冲(最短为480μs的低电平信号)。接着主机便释放此线并进入接收方式(Rx)。总线经过4.7K的上拉电阻被拉至高电平状态。在检测到I/O 引脚上的上升沿之后,DS18B20等待15-60μs,并且接着发送脉冲(60-240μs的低电平信号)。然后以存在复位脉冲表示DS18B20已经准备好发送或接收,然后给出正确的ROM 命令和存储操作命令的数据。DS18B20通过使用时间片来读出和写入数据,时间片用于处理数据位和进行何种指定操作的命令。它有写时间片和读时间片两种。

写时间片:当主机把数据线从逻辑高电平拉至逻辑低电平时,产生写时间片。有两种类型的写时间片:写1时间片和写0时间片。所有时间片必须有60微秒的持续期,在各写周期之间必须有最短为1微秒的恢复时间。

读时间片:从DS18B20读数据时,使用读时间片。当主机把数据线从逻辑高电平拉至逻辑低电平时产生读时间片。数据线在逻辑低电平必须保持至少1微秒;来自DS18B20的输出数据在时间下降沿之后的15微秒内有效。为了读出从读时间片开始算起15微秒的状态,主机必须停止把引脚驱动拉至低电平。在时间片结束时,I/O引脚经过外部的上拉电阻拉回高电平,所有读时间片的最短持续期为60微秒,包括两个读周期间至少1μs的恢复时间。

一旦主机检测到DS18B20的存在,它便可以发送一个器件ROM操作命令。所有ROM

相关文档
最新文档