在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。
我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为-55至125 ºC,最高分辨率可达0.0625 ºC。DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
本设计的一种温度控制系统,用STC89C52单片机作为温控器,选用DS18B20数字温度传感器,测量范围0℃-~+100℃,使用LED模块显示,可任意设置上下限报警温度,采用数码管实时显示温度,通过串口利用单片机与上位机的通信,对温度进行采集、数据处理和控制。
2 设计要求
➢ 内容及要求:
研究单片机的温度监控系统,可以在PC机端实时监控系统温度,并根据当前的温度值对单片机系统进行控制。利用VB编制PC示例程序或采用串口助手在PC机上显示。
➢ 主要技术指标:
(1)、温度测量范围0-70℃; (2)、可以设置温度报警的上、下限; (3)、提供单片机按键控制温度上下限;
(4)、PC机软件实现对温度数据分析、统计和处理。
3温度监控系统的设计原理 3.1 系统原理
系统由单片机最小系统、显示电路、按键、温度传感器等组成。 ➢ 主控制器
单片机STC89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节
- 1 -
电池供电。晶振采用12MHZ。复位电路采用上电加按钮复位。
➢ 显示电路
显示电路采用4 位共阳极LED 数码管,P0 口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描的方式显示。
➢ 温度传感器
DS18B20 温度传感器是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式
➢ 报警温度调整按键
本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。均采用软件消抖。
3.2 DS18B20
DS18B20主要由寄生电源、温度传感器、64位串行ROM单线接口、存储中间数据的高速暂存器(内含便笺式RAM)、用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余检验码(CRC)发生器部分。
DS18B20管脚排列如图3-1所示。
图3-1 DS18B20的引脚图
本设计使用的是三引脚的产品。其中,1号引脚接地,2号引脚接数据端,3号引脚接电源。
➢ DS18B20的主要特点
数字型智能温度传感器有以下主要特点:
(1) 适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由
- 2 -
数据线供电 。
(2) 独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。
(3) DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的单总线上,实现组网多点测温 。
(4) DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 。
(5) 温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃ 。 (6) 温度分辨力可编程。DS18B20的数字温度输出可进行9~12位编程。 (7) 在实际应用时,需要在分辨力与转换时间两者之间权衡考虑。当DS18B20工作在12位分辨力时,温度与数字输出的对应关系见表3.1。 (8) 测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力 。
表3-1 DS18B20输出数据与温度的对应关系
温度/℃ +125 +85 +25.0625 +10.125 +0.5 0 -10.125 -25.0625 -55 数字输出(二进制) 0000 0111 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0001 1010 0010 0000 0001 1010 1000 0000 0000 0000 0000 1111 1111 0101 1110 1111 1110 0101 1111 1111 1100 1001 0000 数字输出(十六进制) 07D0H 0550H 0191H 00A2H 0008H 0000H FF5EH FE6FH FC90H ➢ DS18B20的测温原理
用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前达到0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测量的温度大于-55℃。
同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如
- 3 -
果门周期仍未结束,将重复这一过程。
斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器得值和每一度的计数
值。温度测量电路的方框图如图3-2所示。
斜坡累加器 预置 计数比较低温度系数晶振 计数器1 加1 =0 预置 置位/清除 温度寄存器 高温度系数晶振 计数器2 停止 =0 图3-2 DS18B20温度测量原理图
4程序流程图及方案设计 4.1系统描述
采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0—100 摄氏度时,最大线形偏差小于1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器STC89C52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外STC89C52 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
该系统利用STC89C52芯片控制温度传感器DS18B20进行实时温度检测并显
- 4 -
示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片DS1302以获取时间数据,在数据处理同时显示时间,并可以利用AT24C16芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过MAX232芯片与计算机的RS232接口进行串口通信,方便的采集和整理时间温度数据。
4.2总体方案设计
温度计电路设计总体设计方框图如图1 所示,控制器采用单片机STC89C52,温度传感器采用DS18B20,用3 位LED 数码管以串口传送数据实现温度显示。
图4-1 系统的总体设计
4.3程序设计分析
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20 的测量的当前温度值,温度测量每1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4-2所示。
- 5 -
图4-2 程序设计流程
温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辨率时转换时间约750ms,在本程序设计中采用1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图4-2所示
- 6 -
图4-2 温度转换命令子程序流程
显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位位为1时将符号显示位移入第一位。程序流程图如图4-3所示。
图4-3 显示数据刷新子程序流程
按键采用扫描查询方式,设置标志位,当标志位为1 时,显示设置温度,
- 7 -
否则显示当前温度。如下图4-4所示。
图4-4按键扫描处理子程序
5调试
首先用Keil软件变现代码,编译并烧制单片机,然后根据STC89C52单片机来调试程序。如图5-1所示。
图5-1 调试后的完成
- 8 -
6设计总结
该基于DS18B20的多点温度测量系统具有硬件结构简单、易于制作、价格低廉、测量值精确和易于操作等许多优点,但由于实验室条件所限,暂时只做两点的温度测量,并且控制端暂时只对一个DS18B20传感器周围环境进行控制,与另一个传感器作参考比较。但在实际应用中可根据具体情况进行更多点的扩展和对多点分别进行控制。随着现代信息技术的飞速发展和传统工业改造的逐步实现,基于DS18B20的多点温度测量系统已经广泛应用于控制、化工等诸多领域。总之,本次设计顺利完成,基本达到了设计的要求。
本文在深入分析多点测温系统的工作原理基础上,完成了该系统设计和调试任务,并且系统的性能误差达到了任务书的要求,使之能达到现场运行水平。
得到以下结论:
➢ 针对实验室现有测温系统的特点,提出了一套应用数字式温度传感器DS81B20组建温度测控网络新型方案,该方案的突出特点是系统的数字化、快速化及其经济实用性。
➢ 以单总线为基本结构,采用STC89S52单片机为总线命令,实现与DSl8B20的总线接口,并提供具体电路设计。
➢ 在通信的实现上,以MAX232芯片作为TTL电平与232电平的转换单元,实现单片机和PC的RS232通信硬件线路,并设计了一套可行的通信协议和通信软件。
➢ 软件编程采用模块化、结构化设计,易于修改和维护。 由于时间和精力的限制,对后续的研究还应在以下方面逐步完善:
➢ 应用软件的完善。温度采集方面,一次命令全部单总线上的DS18B20进行温度转换,减少系统所需时间。
➢ 进一步完善系统的可靠性。由于实际经验的欠缺,设计上难免有考虑不周之处。当某一个传感器出现故障时,虽然系统能发现该测温点故障,但是更换传感器时涉及到其序列号的修改和应用程序的修改,这些还需要在今后应用时加以完善。
➢ 控制部分的控制效果并不是很理想,以后可以在该部分进行PID算法控制,以提高控制精度。
总之 ,本论文在新型数字温度测控系统方面做了一定的研究工作。该系统初步完成了温度测控方案的预定目标,为今后实现数字化与网络化的温度测控系
- 9 -
统工程提供了一种新的参考。
参考文献
[1] 楼然苗. 51系列单片机设计实例. 北京: 北京航空航天大学出版社, 2006:
125-128
[2] 韦珑, 杨荣松. 基于DS18B20的单片机多点温度测量系统. 机械与电子,
2007, 21(1): 36-39
[3] 张红润, 刘秀英, 张亚凡. 单片机应用设计200例(下册)北京: 北京航
空航天大学出版社, 2006: 124-129
[4] 张毅刚, 彭喜元, 姜守达和等. MCS-51单片机应用设计. 哈尔滨: 哈尔滨
工业大学出版社, 2003: 56-61
[5] 张毅刚, 刘杰. 单片机原理及应用. 哈尔滨: 哈尔滨工业大学出版社,
2004: 79-86
评 语 指导教师 成 绩
(签字) 年 月 日 - 10 -
因篇幅问题不能全部显示,请点此查看更多更全内容