温度检测实训指导书_第1页
温度检测实训指导书_第2页
温度检测实训指导书_第3页
温度检测实训指导书_第4页
温度检测实训指导书_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于DS18B20的温度检测系统实训指导书 本次实训时间为2周,具体安排如下: 设计任务 计划时间 布置任务,说明设计的性质及内容 初步分析电路图 1天 研究指导书、查找资料 1天 显示接口技术 1天 焊接 1天 显示原理、编程、调试 2天 DS18B20数据采集原理、编程、调试 2天 全部调试 1天 书写实训报告等 1天 、前言 在生产生活中,温度是一个很重要的量, 所以,温度的检测是不可缺少的。在单片机的 应用中,一个很重要的应用就是对温度进行检测。 本实训首先介绍温度测量的有关知识,接着介绍实现温度检测所必须的元器件,并且给 出硬件的原理图,然后逐步分析程序的各个主要模块以及程序的全貌

2、,最后将总结一下实例 的技巧与注意点。 1、基础知识 温度测量的基础知识主要包括:温度测量的基本概念和温度传感器的简介。下面将就这 两个方面进行介绍。 温度是表征物体冷热程度的物理量。温度只能通过物体随温度变化的某些特性来间接测 量,而用来量度物体温度数值的标尺叫温标。 它规定了温度的读数起点 (零点)和测量温度 的基本单位。目前国际上用得较多的温标有华氏温标、 摄氏温标、热力学温标和国际实用温 标。 华氏温标F)规定:在标准大气压下,冰的熔点为32 T,水的沸点为212 T,中间划 分180等份,每一份为华氏1度,符合为F。 0C,水的沸点为100C,中间划 摄氏温标(C)规定:在标准大气压

3、下,冰的熔点为 分180等份,每一份为摄氏1度,符合为F。 热力学温标又称开尔文温标, 或称绝对温标, 它规定分子运动停止时的温度为绝对零度, 记符合为 K 。 国际实用温标是一个国际协议性温标, 它与热力学温标相接近, 而且精度高, 使用方便。 目前国际通用的温标是 1975年第 15届国际权度大会通过的 1968年国际实用温标 -1975 年 修订版,记为:IPTS-68 ( Rev-75)。但由于IPTS-68温标存在一定的不足,国际计量委员 会在 18 届国际计量大会第七号决议授权予 1989 年会议通过了 1990 年国际温标 ITS-90 , ITS-90温标替代了 IPTS-68

4、。我国自1994年1月1日起全面实施ITS-90国际温标。 2、温度传感器的简单介绍 测量温度的时候,通常使用线性( NTC )温度传感器。 线性温度传感器就是线性化输出的负温度系数(简称NTC )热敏元件,它实际上是一 种线性温度一一电压转换元件,就是说在通以工作电流(100卩A )的条件下,元件的电压 值随温度呈线性变化,从而实现了非电量到电量的线性转换。 这种温度传感器其主要特点就是在工作温度范围内温度电压关系为一直线,这使得 二次开发测温、控温电路的设计,将无需线性化处理,就可以完成测温或控温电路的设计, 从而简化仪表的设计和调试。 温度传感器的重要参数如下: 测温范围:可在-200

5、C +200C之间,但考虑实际的需要,一般无需如此宽的温度范围, 因而 3 个不同的区段, 以适应不同封装设计, 同时在延长线的选用上亦有所不同。 而对于温 度补偿专用的线性热敏元件,则只设定工作温度范围为-40C +80C,完全可以满足一般电 路的温度补偿之用。 基准电压:指传感器置于 0C的温场(冰水混合物),在通以工作电流(100卩A)的条 件下,传感器上的电压值。实际上就是0点电压。其表示符号为 V (0),该值出厂时标定, 由于传感器的温度系数 S相同,则只要知道基准电压值 V (0),即可求知任何温度点上的传 感器电压值,而不必对传感器进行分度。 温度系数S:指在规定的工作条件下,

6、传感器的输出电压值的变化与温度变化的比值, 即温度每变化1C传感器的输出电压变化之值,其表达式为S=A V/ T ( mV/C)。温度系数 是线性温度传感器作为温度测量元件的物理基础,其作用与热敏电阻的 B值相似,这个系数 在整个工作温度范围内是同一值,即 -2 mV/C,而且各种型号的传感器也是同一值,这一点 传统的热敏电阻温度传感器是无可比拟的。 互换精度: 指在同一工作条件下 (同一工作电流、 同一温度) 对于同一个确定的理想拟 合直线,每一只传感器的电压V (T)温度T曲线与该直线的最大偏差,这个偏差通常 按传感器的温度电压转换系数 S 折合成温度来表示。由于传感器的输出线性变化及温

7、度电压转换系数相同, 即在测温范围内全程互换, 所以互换精度表示了基准电压值的离 散程度,即用基准电压值的离散值折合成温度值的大小来描述整批传感器之间的互换程度。 线性度: 是描述传感器的输出电压值随温度变化的线性程度, 实际上也就是传感器输出 电压在工作温度范围内相对于理想拟合直线的最大偏差。 一般情况下, 其线性度的典型值为 0.5%,很显然传感器的线性度越高(其值越小),仪表的设计就越简单,在仪表的输入级 完全不必采用线性化处理。 二、使用器件 本实训中除了 8051外,还需要用到 DS18B20 温度传感器。 温度传感器 DS18B20 介绍 如图1所示,由DS18B20的外观图可见,

8、它有 3个管脚,脚1GND接地,脚2DQ是 一线总线,是数字信号输入 /输出端,和单片机相连接由单片机控制,管脚 3VDD 是电源,外 接供电电源。 DS18B20 内部结构主要是由 4 个部分组成。 64 位光刻 ROM :光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20的地址序列码,即ID。它的作用是使每一个 DS18B20的地址都不相同, 可以实现 在相同的总线上挂多个 DS18B20的目的。64位光刻ROM的排列是开始8位(28H)是产 品类型标号,接着的 48位是该 DS18B20 自身的序列号,最后 8位是前面 56位的循环冗余 校验码( CRC

9、=X8+X5+X4+1 ) 温度传感器:在 DS18B20温度传感器的使用中,以12位转化为例,从 DS18B20中得 到16位符合扩展的二进制补码读数形式,以0.0625C /LSB的形式表达,其中 S为符合位。 二进制的数存储在 DS18B20 的 2个8位的 RAM 中,这是 12位转化后得到的 16位数据, 其中前面5位是符合位,如果测得的温度大于 0C,这5位为0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于0C,这5位为1,测到的数值需要取反加 1再乘以0.0625 即可得到实际温度。 非挥发的温度报警触发器 TH 和 TL: DS18B20 温度传感器的内部

10、存储器包括一个暂存 RAM 和一个非易失控的可电擦出的E2RAM ,后者存放高温度和低温度触发器TH、TL 和 结构寄存器。当温度到达低温或高温的时候,温度报警触发器会发出报警。 高速暂存 RAM :高速暂存存储器包含了 8 个连续字节,字节 0 和字节 1 是测得的温度 信息,其中字节0的内容是温度的低 8位,字节1的内容是温度的高 8位。字节2和字节3 是TH、TL的易失性拷贝,字节 4是结构寄存器的易失性拷贝,这3个字节的内容在每一 次上电复位时被刷新。字节 5、6/7用于TMR1R011111。每一次进行针对 18B20的读写前, 都需要对DS18B20进行设置。从上面的定义看出,该字

11、节的低5位一直都是1, TM位是测 试模式为,用于设置DS18B20在工作模式及测试模式。在DS18B20出厂时该位被设置为 0, 用户不要进行改动。R1和R0用来设置分辨率,具体的分辨率定义如表1所示(DS18B20 出厂时被设置为12位)。 表1 分辨率设置表 RO R1 分辨率 最大温度转换时间 0 0 9位 96.75ms 0 1 10位 187.5ms 1 0 11位 375ms 1 1 12位 750ms DS18B20的通信协议参照数据手册,这里不再详细叙述。根据DS18B20的数据手册, 主机控制DS18B20完成温度转换的过程是:每一次读写之前都要对DS18B20进行复位,即

12、 将数据总线下拉 500卩s,然后释放,DS18B20收到信号后等待1660卩s左右,之后发出60 卩s240卩s的存在低脉冲,主 CPU收到此信号表示复位成功;复位成功后发送一条ROM 指令(ROM指令如表2所示),然后发送RAM指令(RAM指令如表3所示),这样才能对 DS18B20进行预定的读写操作。 表2 ROM指令集 指令 约定代码 功能 读ROM 33H 读DS18B20中的编码(即64位地址) 符合ROM 55H 发出此命令后,接着发出 64位ROM编码,访问单线总线上 与该编辑相对应的 DS18B20使之做出响应,为下一步对该 DS18B20的读写作准备 搜索ROM 0F0H

13、用于确定挂接在冋一总线上的DS18B20个数和识别 64位 ROM地址,为操作各器件做好准备 跳过ROM 0CCH 忽略64位ROM地址,直接向 DS18B20发送温度变换命令, 适合单片机 告警搜索命令 OECH 执行后,只有温度超过设定值上限或下限的片子才能做出反 应 表3 RAM指令集 指令 约定代码 功能 温度变换 44H 启动DS18B20进行温度转换,转换时间最长为500ms,结果存 入内部9字节RAM中 读暂存器 0BEH 读内部RAM中9字节的内容 写暂存器 4EH 向内部RAM的第3、第4字节写上、下限数据命令,紧跟该命 令后的是传送2字节数据 复制暂存器 48H 将RAM中

14、的第3、4字节内容复制到 E2PRAM中 重调E2pram 0B8H 2 将E PRAM中内容复制到 RAM 中的第3、4字节 读供电方式 0B4H 读DS18B20的供电模式,寄生供电时DS18B20发送0,外接 供电发送1 DS18B20具有测温系统简单、测温精度高、连接方便、占用口线少等优点,在实际应 用中也应注意以下几方面的问题。 因为DS18B20的硬件比较简单,所以软件设计相对比较复杂,需要按照DS18B20的说 明书,严格按照时序对 DS18B20进行读写操作,通常在处理的时候,采用汇编语言来保证 严格的时序,在复杂的程序中,需要在高级语言中嵌入汇编代码来保证时序的可控制性。 另

15、外,对于单总线的 DS18B20来说,传感器的驱动能力有限,不能直接悬挂无限多个 DS18B20,这一点在说明书上没有体现,使用时需要注意,一般来说,总线上的DS18B20 最多可以直接挂8个,当数量超过8个的时候,需要对总线进行驱动,提供更大的电流。除 了总线上的驱动问题, 总线的分布电容也会使信号发生畸变,当使用普通电缆的时候,传输 长度超过50m后温度数据将会出错,如果使用双绞线,传输长度可以达到150m,所以在使 用DS18B20的时候,总线的长度是有限制的,并且在设计硬件的时候需要考虑电阻和电容 的匹配问题。 最后,在使用DS18B20的过程中,需要根据 DS18B20的手册,对传感

16、器进行写操作, 发出温度转换的命令, 再等待传感器返回温度值, 这样需要在软件设计上考虑到等待超时的 机制,并且在硬件设计上也需要注意线的连接,不要出现接触不良的现象。 三、硬件电路图(仅供参考) 如图 2所示,本实训中注意用到的器件有 AT89C52 单片机、温度传感器 DS18B20 、LED 数码管、 NPN 型三极管等,其中, DS18B20 与单片机通过一线总线相连接, AT89C52 通过 通用 I/O 口 P2.2 对 DS18B20 进行控制,读取 DS18B20 所测得的温度; LED 数码管也是通 过通用 I/O 口与 AT89C52 相连接,数码管 DS1 显示采集温度的

17、个位,数码管 DS2 显示采集 温度的十位。 图2 四、软件设计 单片机与 DS18B20 进行通信时, 需要按照 DS18B20 的通信协议进行通信, 对于编写程 序来说, DS18B20 的数据读取和写入需要用移位的方式进行。 本实训将在单片机与 DS18B20 之间进行应答来采集温度参数,单片机先将与 DS18B20 的连线电平拉低 500ms 以上,将 DS18B20 复位,在进行操作。先向 DS18B20 发送指令, 跳过 ROM 后发出转换温度的指令,然后初始化后读取温度,将读到的温度在 2KB 的数字 管上显示出来。 本节介绍一下温度采集的经过。 下面将首先对程序的主要模块进行介

18、绍, 然后给出整个 程序。 1、初始化 在这一部分程序中,需要将 DS18B20 的一线总线拉低 500ms 以上,将 DS18B20 复位, 然后将总线置高,等待 DS18B20 的回应,有应答就置标志位,没有应答就清空标志位。 选择总线上只有一个 DS18B20 ,所以跳过 ROM ,电路中采用的晶振频率 fosc=11.0592MHz ,通过计算公式,可以算出空跑的语句行数。 2、查询时间 通过向 DS18B20 发送指令来查询时间。在每次操作前,都需要将 DS18B20 置位,先向 DS18B20 发送温度转化的指令,根据表2,需要 750ms 的等待时间,在这段时间中,通过 调用显示子程序来做到延迟。然后,向DS18B20 发送读取温度的指令,将温度读取出来, 放到缓存中去。 3、发送指令 使用通用 I/O 口向 DS18B20 写数据。 通过单总线采取移位的方式来向 DS18B20 写入数 据,按照 8 位的方式写进去。在写的过程中,需要严格按照 DS18B20 的产品说明书的时序 进行些操作:每次将 1Bit 数据写入前,都需要对 DS18B20 进行写的初始化,将数据线拉低 60卩s以上,完成写初始化后,将1位数据写进DS18B20,然后等待15卩s以上,写操作完 成,继续初始化,写下 1 位,直到写完一字节。 4、读取数据 使用通

温馨提示

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

评论

0/150

提交评论