大学毕业设计-基于单总线的实时温度监控系统

上传人:jiups****uk12 文档编号:40057353 上传时间:2018-05-22 格式:DOC 页数:26 大小:360KB
返回 下载 相关 举报
大学毕业设计-基于单总线的实时温度监控系统_第1页
第1页 / 共26页
大学毕业设计-基于单总线的实时温度监控系统_第2页
第2页 / 共26页
大学毕业设计-基于单总线的实时温度监控系统_第3页
第3页 / 共26页
大学毕业设计-基于单总线的实时温度监控系统_第4页
第4页 / 共26页
大学毕业设计-基于单总线的实时温度监控系统_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《大学毕业设计-基于单总线的实时温度监控系统》由会员分享,可在线阅读,更多相关《大学毕业设计-基于单总线的实时温度监控系统(26页珍藏版)》请在金锄头文库上搜索。

1、基于单总线的实时温度监控系统2 2 硬件电路设计硬件电路设计在硬件电路设计时,应着重考虑电子器件的供电方式,以及对器件的限压和限流保护。因为本次设计要求利用单总线技术,所以可以考虑使用寄生供电方式。设计的电路图如下。图 2 基于单总线的温度实时监控系统硬件电路总图2.32.3 软件设计软件设计2.3.1 设计窗体本次设计要求软件的可视化窗体中包含实时温度显示、数据记录、存储管理和 ROM 数据,并且能将测得的数据保存到指定的数据库中。窗体界面如下。图 3 窗体界面实时温度显示中可以看到当前室温,并且可以显示摄氏温度和华氏温度。数据记录包含温度曲线和温度日志,可以显示一天内的温度变化曲线。存储管

2、理和ROM 数据用来对数据库中已经保存的温度数据进行管理,如删除、转移等操作。 2.3.2 软件编程本系统软件部分采用Delphi来实现初始化、数据采集处理、温度报表管理,其主程序的流程图见图4。图 4 主程序流程图本系统软件部分共分为3个部分,分别是:1)初始化程序。a设置串行通信波特率;b串行通讯方式的初始化;c对TO,T1两个计数器的初始化;d中断控制程序的初始化。此外,还负责从E2PROM 中调出以前的采样参数,使器件能够以它采样温度数据。2) 当监控到ONTIME1和NTIME2标记时作相应温度的存储、转换、发送处理。ONTIME1和NTIME2的标记主要有定时电路决定,当到达采样间

3、隔时,做出相应的处理。3)采用动态显示方式即时显示温度,以节省电路规模,使得整个系统的体积变小。3 3元器件的选择元器件的选择 3.13.1 主要元器件知识主要元器件知识 3.1.1DS18B20 DS18B20 是 DALLAS 公司生产的一线式数字温度传感器,具有 3 引脚 TO92小体积封装形式;温度测量范围为55125,可编程为 9 位12 位 A/D转换精度,测温分辨率可达 0.0625,被测温度用符号扩展的 16 位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20 可以并联到 3 根或 2 根线上,只需一根端口线就能与诸多 DS18B20

4、通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使 DS18B20非常适用于远距离多点温度检测系统。1) DS18B20 的内部结构DS18B20 内部结构如图 5 所示,主要由 4 部分组成:64 位 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的管脚排列如图 7-1-2 所示,DQ 为数字信号输入输出端;GND 为电源地;VDD 为外接供电电源输入端,在寄生电源接线方式时接地,见图 6。图 5 DS18B20 的内部结构图 6 DS18B20 的管脚排列ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B2

5、0 的地址序列码,每个 DS18B20 的 64 位序列号均不相同。64 位 ROM 的排的循环冗余校验码(CRC=X8X5X41) 。ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。DS18B20 中的温度传感器完成对温度的测量,用 16 位符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其中 S 为符号位。例如125的数字输出为 07D0H,25.0625的数字输出为 0191H,25.0625的数字输出为 FF6FH,55的数字输出为 FC90H。 高低温报警触发器 TH 和 TL、配置寄存器均由一个字

6、节的 EEPROM 组成,使用一个存储器功能命令可对 TH、TL 或配置寄存器写入。其中配置寄存器的格式如下:0 R1 R0 1 1 1 1 1 MSBLSBR1、R0 决定温度转换的精度位数:R1R0=“00” ,9 位精度,最大转换时间为93.75ms;R1R0=“01” ,10 位精度,最大转换时间为 187.5ms;R1R0=“10” ,11位精度,最大转换时间为 375ms;R1R0=“11” ,12 位精度,最大转换时间为750ms;未编程时默认为 12 位精度。高速暂存器是一个 9 字节的存储器。开始两个字节包含被测温度的数字量信息;第 3、4、5 字节分别是 TH、TL、配置寄

7、存器的临时拷贝,每一次上电复位时被刷新;第 6、7、8 字节未用,表现为全逻辑 1;第 9 字节读出的是前面所有8 个字节的 CRC 码,可用来保证通信正确。2) DS18B20 的工作时序DS18B20 的一线工作协议流程是:初始化ROM 操作指令存储器操作指令数据传输。其工作时序包括初始化时序、写时序和读时序,如图 7(a) (b)(c)所示。(a)初始化时序(b)写时序(c)读时序图 7 DS18B20 的工作时序图3) DS18B20 与微处理器的连接 DS18B20 与微处理器的连接如下图 8 所示。(a)寄生电源工作方式 (b)外接电源工作方式 图 8 DS18B20 与微处理器的

8、典型连接图3.1.2DS2480B1) DS2480B 主要特性串口 UART/RS232 至单总线通信协议的转接桥,可直接连到 UART 和 5V RS232系统中, 支持 Dallas 全系列单总线器件,如数字温度传感器 DS18B20、A/D 转换器 DS2450 等;将主机从单总线时序控制中解脱出来,提供规范的、灵活的和强驱动的单总线定时;支持标准 UART 通信,支持 9.6(默认) 、19.2、57.6 和 115.2 kbps 速率;具有较强的总线驱动能力,通信距离可达 300 m;可编程下拉摆率控制和有源上拉,工作范围 5 V,-40 +85 ,8 引脚SOIC 封装。2)管脚

9、图及引脚说明图 9 DS2480B 的封装和引脚DS2480B 为 8 脚贴片式封装,如图 9 所示。引脚功能如表 1 所列引脚号引脚名称引 脚 功 能1GND地线21-W单总线输入输出端3NC悬空4VDD4.55.5V 电压5VPPEPROM 编程电压6POLRXD/TXD 选择端7TXD发送端1 2 3 48 7 6 5RXD TXD POL VPPGND 1-W NC VDD8RXD接收端表 1 引脚功能说明DS2480B 工作原理框图如图 10 所示。图 10 DS2480B 工作原理框图3) DS2480B 与 RS232 的接口技术:DS2480B 与 RS232 的接口如图 11

10、 所示。图 11 DS2480B 与 RS232 的接口图 3.23.2 元件清单元件清单表 2 元件清单4 4 学习心得学习心得通过该温度监控实验,我们可以发现:基于DS18B20 数字温度传感器构成的实时监控系统确实具有精度高、抗干扰能力强、电路简单等诸多优点,温度传感器得到电缆长度达到几十米都可以正常读取温度数据,并且已经在站长开发的机房安全监控系统中得到了实际考验,那可是要 365 天从不间断地对机房及相关设备提供实时温度监控的哦。相比之下,传统的温度检测系统采用热敏电阻等温度敏感元件,热敏电阻成本低,但需要后续信号调理、AD 转换处理电路才能将温度信号转换成数字信号,不但电路复杂,而

11、且热敏电阻的可靠性相对较差,测量温度的精度差,很难保证热敏电阻的一致性和线性,在应用中需要很好的解决引线误差补偿问题、共模干扰问题和放大电路零点漂移误差等技术问题。因此,如果你开发的系统对温度监控精度要求不是非常高,而且测温的范围DS18B20 的-55+125 之间的话,那么采用 DS18B20 是一个不错的选择,通过软件的插值运算,其实 DS18B20 的测温精度还可以进一步提高的,具体的实现方法大家可以参考 DALLAS 公司相关技术资料。当然,如果你有条件的话,也可以预先对每一个 DS18B20 进行一次校验,在标准恒温箱中测量并记录下每个传感器的测温误差,在实际应用中,我们就可以根据

12、每个传感器的实际校准对读出的实时温度进行适当的误差纠正,这样也不失为提高 DS18B20 测温精度的一个好办法。可惜的是,并非大家都有这种高精度的恒温箱来校验传感器,如果序号元件个数1PC 机串行口 UART/RS2321 个2转接桥 DS2480B1 个3数字温度传感器 DS18B201 个4电容 U07HF1 个5稳压管2 个6二极管 M72 个7电路板 XF071 个你的参考温度不准确,那么校准将会适得其反。通过对这个课程设计的学习,为我们掌握单片机实时温度监控的开发、串口通信程序的开发及计算机串口实时控制开发原理及 PC 监控软件的开发,以及开发其他功能更加完善的单片机综合应用系统打好

13、基础。5 5 参考文献参考文献1 DS18B20 Programmable Resolution 1-Wire Digital Thermometer2 DS2480B Serial 1-Wire Line Driver with Load Sensor3 左冬红,谢瑞和.实现单总线搜索 ROM 命令的一种算法4 求是科技.单片机典型模块设计实例导航附:源程序清单 -TEMPDL32 : This utility uses TMEX to view a read the temperature froma DS18B20. It requires the 32-Bit Windows TMEX

14、 driversto be present.Compiler : Borland Delphi 5.0 procedure TForm1.FormCreate(Sender: Tobject; Varztbuf : array0.200 of Char; Typebuf : array 0.200 of Char;i,k,RetValue : smallint;RetStr : array0.200 of Char;SetupDone: Boolean;PortNum, PortType : smallint; begin dieer :=false;SetupDone := FALSE; T

15、MSetup not done yet Label4.Caption := ;Read default Port Number and Port Type from registryRetValue := TMReadDefaultPort(PortNum, PortType); if (RetValue 0) Thenbeginif (TMSetup(SHandle) = 1) then The device that will be found is Temperature Device DS18B20,so Family Type is set to $28FindFirstFamily($28,SHandle) elsebeginTMEndSession(SHandle); ShowMessage(Fail to setup MicroLan!);Halt;end;endelsebeginif (SHandle 0) Thenbeginif (TMSetup(SHandle) = 1) thenThe device that will be found is Temperature Device DS18B20,so Family Type is set to $28FindSecondFamily($28,SHandle) elsebeginTM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号