基于DS18B20的温度检测系统设计 毕业论文.doc_第1页
基于DS18B20的温度检测系统设计 毕业论文.doc_第2页
基于DS18B20的温度检测系统设计 毕业论文.doc_第3页
基于DS18B20的温度检测系统设计 毕业论文.doc_第4页
基于DS18B20的温度检测系统设计 毕业论文.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

东南大学成贤学院毕业设计论文毕业设计报告(论文)基于ds18b20的温度检测系统设计所 属 系 电子工程系 专 业 自动化 学 号 姓名 指导教师 起讫日期 2011.4 - 2011.5 252多点温度检测系统设计 目 录摘要3abstract 4第一章 绪 论 51.1 系统背景 51.2 系统概述 5第二章 方案论证 62.1 传感器部分 62.2主控制部分 72.3 系统方案 7第三章 硬件电路设计 83.1 电源以及看门狗电路83.2键盘以及显示电路103.2温度测试电路 123.3 串口通讯电路 163.4 整体电路 17第四章软件设计174.1 概述 174.2 主程序方案 174.3 各模块子程序设计19第五章系统调试215.1 分步调试 215.2 统一调试 21结束语 22参考文献 23附录一:软件流程图 25附录二:电路原理图 26致谢 30摘要ds18b20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了ds18b20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准rs232通信接口,芯片使用了atmel公司的at89c51单片机和dallas公司的ds18b20数字温度传感器。上位机部分使用了通用pc。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。关键字:温度测量;单总线;数字温度传感器;单片机abstract as a kind of high-accuracy digital net temperature sensor,ds18 b20 can be used building a sensor net easily. it can also make the net simple and reliable with its special 1-wire interface .this paper introduces the application of ds18b20 with single chip processor.thesystem is constituted by two parts the temperature measured part and displayed part. the temperature measured part has a rs232 interface. it used at89c51 of atmel company and ds18b20 of dallas company .the displayed part uses pc .this system is applied in such domains as warehouse detecting temperature;air-conditioner controlling system in building and supervisory productive process etc.key words:temperature measure;single bus;digital thermometer;single chip processor;第一章 绪 论1.1系统背景在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。首先让我们了解一下多点温度检测系统在各个方面的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测。温度检测系统应用十分广阔。1.2 系统概述本设计运用主从分布式思想,由一台上位机(pc微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 rs-232串行通讯标准,通过上位机(pc)控制下位机(单片机)进行现场温度采集。温度值既可以送回主控pc进行数据处理,由显示器显示。也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制。下位机采用的是单片机基于数字温度传感器ds18b20的系统。ds18b20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。第二章 方案论证温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、a/d 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降 。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。2.1 传感器部分方案一:采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如ad590,lm35等.但这些芯片输出的都是模拟信号,必须经过a/d转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案二:在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行ad转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片ds18b20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。ds18b20的最大特点之一采用了单总线的数据传输,由数字温度计ds1820和微控制器at89c51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于at89c51可以带多个dsb1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。采用温度芯片ds18b20测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本方案应用这一温度芯片,也是顺应这一趋势。2.2主控制部分方案一:此方案采用pc机实现。它可在线编程,可在线仿真的功能,这让调试变得方便。且人机交互友好。但是pc机输出信号不能直接与ds18b20通信。需要通过rs232电平转换兼容,硬件的合成在线调试,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,pc机的体积大,携带安装不方便,性能不稳定,给工程带来很多麻烦!方案二:此方案采用at89c51八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多ds18b20控制工作,还可以与pc机通信.运用主从分布式思想,由一台上位机(pc微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。另外at89c51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。2.3 系统方案综上所述,温度传感器以及主控部分都采用第二方案。系统采用针对传统温度测温系统测温点少,系统兼容性及扩展性较差的特点,运用分布式通讯的思想。设计一种可以用于大规模多点温度测量的巡回检测系统。该系统采用的是rs-232串行通讯的标准,通过下位机(单片机)进行现场的温度采集,温度数据既可以由下位机模块实时显示,也可以送回上位机进行数据处理,具有巡检速度快,扩展性好,成本低的特点。实际采用电路方案如下图:第三章 硬件电路设计系统底层电路的功能主要包括:多点温度测试及其相关处理,实时显示温度信息,与上位机通讯传输温度数据。硬件设计主要包括以下几个模块:电源以及看门狗电路, 键盘以及显示电路,温度测试电路,串口通讯电路。下面对电路分模块进行说明3.1 电源以及看门狗电路a电源电路 因为单片机工作电源为+5v,且底层电路功耗很小。采用7805三端稳压片即可满足要求。具体电路图如下:b看门狗电路考虑到底层电路板的工作环境相对恶劣,单片机会受到周围环境的干扰,而出现程序跑飞,死机等一些不可预知的不正常工作现象。工作人员也不可能到现场对单片机重起,本设计为单片机电路添加一个外部看门狗电路。定时查询单片机的工作状态,一但发现异常即对单片机延时重起。保证系统安全可靠的运行。ne56604能为多种微处理器和逻辑系统提供复位信号,其门限电平为4.2v 。在电源突然掉电或电源电压下降到低于门限电平时。ne56604将产生精确的复位信号。ne56604内置一个看门狗定时器,用于监控微处理器,以确保微处理器的正常运行。看门狗能产生一个系统复位信号用来终止任何由于微处理器故障而引发的不正常的系统操作。ne56604的看门狗的监控周期为100ms(典型值)。特性.正负双逻辑输出的有效复位信号。.精准的门限电平监测。.上电复位内部延时。.可利用外部电阻调节的内部看门狗定时器。.看门狗定时器的监控周期为100ms 典型值。.vcc=0.8vdc时产生有效的复位信号典型值。.仅需很少的外围元件。具体电路图如下:3.2键盘以及显示电路键盘电路单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。键盘有编码和非编码两种。非编码键盘硬件电路极为简单。故本系统采用拨码开关来控制。具体电路如下:a. 开关状态的可靠输入键开关状态的可靠输入有两种解决方法。一种是软件去抖动:它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响。另一种为硬件去抖动:即为按键添加一个锁存器。两种方法都简单易行,本设计采用的是硬件去抖。b. 对按键进行编码给定键值或给出键号对于按键无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的散转转移。为使编码间隔小,散转入口地址安排方便,常采用依次序排列的键号。拨码开关值含义0000实时显示通道一的温度值0001实时显示通道二的温度值0010实时显示通道三的温度值0011实时显示通道四的温度值0100实时显示通道五的温度值0101实时显示通道六的温度值0110实时显示通道七的温度值0111实时显示通道八的温度值1*自动循环显示所有通道的温度c. 选择键盘监测方法对是否有键按下的信息输入方式有中断方式与查询方式两种。本设计采用的查询法,即在在cpu空闲时调用键盘扫描子程序。温度显示电路设计采用的是共阴极七段数码管。显示方式有动态扫描和静态显示,两种方法在本设计中皆可。由于静态扫描要用到多片串入并出芯片,考虑到电路板成本计算。本人采用是节约硬件资源的动态扫描方式。即用两块芯片就可以完成显示功能。显示数据由4511译码器输出,uln2003为位驱动扫描信号。具体电路图如下:3.2温度测试电路这里我们用到温度芯片ds18b20。ds18b20是dallas公司生产的一线式数字温度传感器,具有3引脚to92小体积封装形式。测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。cpu只需一根端口线就能与诸多ds18b20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。ds18b20支持“一线总线”接口,测量温度范围为 -55c+125c,在-10+85c范围内,精度为0.5c。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。 ds18b20内部结构(1) ds18b20的内部结构如下图所示。 ds18b20内部结构图ds18b20有4个主要的数据部件: 64位激光rom。64位激光rom从高位到低位依次为8位crc、48位序列号和8位家族代码(28h)组成。 温度灵敏元件。 非易失性温度报警触发器th和tl。可通过软件写入用户报警上下限值。 配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。ds18b20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示。tmr1r011111msb ds18b20配置寄存器结构图lsb其中,tm:测试模式标志位,出厂时被写入0,不能改变;r0、r1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时r0、r1置为缺省值:r0=1,r1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系表 :r0r1温度计分辨率/bit最大转换时间/us00993.750110187.510113751112750(2) 高速暂存存储器高速暂存存储器由9个字节组成,其分配如下图所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位s=0时,直接将二进制位转换为十进制;当s=1时,先将补码变为原码,再计算十进制值。温度低位温度高位thtl配置保留保留保留8位crclsb ds18b20 存储器映像图msb温度值格式图ds18b20 温度数据表:232221202-12-22-32-4msblsbsssss262524典型对应的温度值表:温度/二进制表示十六进制表示+125 +25.0625+10.125+0.50-0.5-10.125-25.0625-5500000111 1101000000000001 1001000100000000 1010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 1001000007d0h0191h00a2h0008h0000hfff8hff5ehfe6fhfc90hds18b20最大的特点是单总线数据传输方式,ds18b20的数据i/o均由同一条线来完成。硬件连接电路如下图:at89c51ds18b201#ds18b202#ds18b203#ds18b2020#vcc=5v4.7k1wire本系统为多点温度测试。ds18b20采用外部供电方式,理论上可以在一根数据总线上挂256个ds18b20,但时间应用中发现,如果挂接25个以上的ds18b20仍旧有可能产生功耗问题。另外单总线长度也不宜超过80m,否则也会影响到数据的传输。在这种情况下我们可以采用分组的方式,用单片机的多个i/o来驱动多路ds18b20。在实际应用中还可以使用一个mosfet将i/o口线直接和电源相连,起到上拉的作用。对ds18b20的设计,需要注意以下问题(1)对硬件结构简单的单线数字温度传感器ds18b20 进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用ds18b20 的高测温分辨力时,对时序及电气特性参数要求更高。(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动ds18b20 序列号和自动排序,以减少调试和维护工作量。(3)测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接vcc和地线,屏蔽层在源端单点接地。ds18b20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将vcc与gnd接在一起,焊接牢固。若vcc脱开未接,传感器只送85.0 的温度值。(4)实际应用时,要注意单线的驱动能力,不能挂接过多的ds18b20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。3.3 串口通讯电路at89c51有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是rs232电平的,而单片机的串口是ttl电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片max232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。具体电路如下:我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的gnd、第2脚的rxd、第3脚的txd。这是最简单的连接方法,但是对本设计来说已经足够使用了,电路如上图所示。通信线采用交叉接法,即两者信号线对应成为rt,tr。 具体连接电路如下:3.4 整体电路 见附件二(电路原理图)第四章 软件设计4.1 概述 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。4.2 主程序方案主程序调用了4个子程序,分别是数码管显示程序、键盘扫描以及按键处理程序、温度测试程序、中断控制程序、单片机与pc机串口通讯程序。键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及相关处理。温度测试程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示部分。中断控制程序:实现循环显示功能。串口通讯程序:实现pc机与单片机通讯,将温度数据传送给pc机。将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和i/o冲突即可。程序应该尽可能多的使用调用指令代替跳转指令。因为跳转指令使得程序难以看懂各程序段之间的结构关系。而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便。将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到,就可以直接调用这个单元功能模块。主程序流程图如右图:4.3 各模块子程序设计下面对主要几个子程序的流程图做介绍:(1)温度测试子程序设计见附录一:温度测试子程序流程图(2)中断控制程序设计如右图:(3)串口通信程序设计第 27页 共 28 页本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用半双工异步串行通信方式,通过rs232的rts信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯。本人采用的vb环境下pc机与单片机之间实现串行通讯的软硬件方案。vb是microsoft公司推出的windows应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且visual basic 6.0 版本带有专门实现串行通讯的mscomm控件。mscomm控件串口具有完善的串口数据的发送和接收功能。通过此控件,pc机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。此控件的事件响应有两种处理方式。事件驱动方式:由mscomm控件的oncomm事件捕获并处理通讯错误及事件;查询方式:通过检查commevent属性的值来判断事件和错误。 1) mscomm控件的主要属性和方法 a. commport:设置或返回串行端口号,其取值范围为199,缺省为1 b. setting:设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位。c. portopen:打开或关闭串行端口。 d. rthreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生mscomml-oncomm事件。 e. input:从接收缓冲区移走一串字符。 f. output:向发送缓冲区传送一字符串。 软件流程图如下:单片机程序流程图pc通讯程序流程图参数设定:通信端口选择com1,波特率设定为1200b/smscomm.commport=1mscomm.setting=“1200, n, 8, 1”。 start:movsp,#60hmovtmod,#20hmovth1,#0e6hmovtl1,#0e6h ;1200b/s,晶振为12mhzmov pcon,#00hmovscon,#50hsetbtr1第五章 系统调试5.1 分步调试1、测试环境及工具测试温度:0100摄氏度。(模拟多点不同温度值环境)测试仪器及软件:数字万用表,温度计0100摄氏度,串口调试助手。测试方法:目测。2、测试方法使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,键盘电路,显示电路,温度测试电路等)。系统自带测试表格数据,观察显示数据是否相符合即可。采用温度传感器和温度计同时测量多点水温变化情况(取温度值不同的多点),目测显示电路是否正常。并记录各点温度值,与实际温度值比较,得出系统的温度指标。使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否。3、测试结果分析自检正常,各点温度显示正常,串口传输数据正确。因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定。5.2 统一调试将硬件及软件结合起来进行系统的统一调试。实现pc机与单片机通讯,两者可以实时更新显示各点温度值。结束语at89c51的时钟为12m,i/o口可达32个,高的时钟频率和丰富的i/o,都为实现电路功能提供了非常有利的条件。同时也at89c51内含4kb flash rom,开发环境友好,易用,方便,大大加快本系统设计开发。拨码开关的使用,使操作更为简洁,易懂。实时显示电路的设计,使温度信息更迅速,直观地发布。本制作的设计中使用了传感器的只是插座电路,因此,该系统的可扩展性很强。整个系统硬件简单、可靠,系统成本低。致此本人设计基本完成了预期的目标,系统在硬件自动测试,键盘操作,实时显示方面做的比较好。但是由于时间仓促、条件有限,设计成果并不是很完美,还存在下面问题:串口通讯不稳定,未对温度数值统计处理以及存储。我准备在今后的工作过程中进一步完善此设计。 参考文献1. 贾振国. ds1820 及高精度温度测量的实现j.电子技术应用,2000(1):58 - 59.2. 余永权. 单片机原理及应用. 北京:电子工业出版社, 1997 3. 邦田. 电子电路实用抗干扰技术. 北京:人民邮电出版社,1994 4. dallas semiconductor inc,ds18b20 programmable resolution 1wiredigital thermometer 2001z .5. 曲喜贵. 电子元件材料手册 m. 北京:电子工业出版社,1989.422-430.6. 黄贤武,郑筱霞,曲波等. 传感器实际应用电路设计m. 成都:电子科技大学出版社,1997.4-10.7. 刘君华. 智能传感器系统 m . 西安:西安电子科技大学出版社,199

温馨提示

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

评论

0/150

提交评论