摘要:温度是一种最基本的环境参数,在工农业生产及日常生活中对温度的测量及控制具有重要意义。该设计通过AT89C51单片机驱动数字温度传感器DS18B20,进行温度数据采集、读取、处理,并通过LCD显示当前的温度,当温度超过上下限时实现报警。
关键词:温度 传感器 单片机 控制
前言
以往,在实际的温度控制系统中,多采用热敏电阻器或热电偶测量温度。这种温度采集电路有时需要冷端补偿电路,这样就增加了电路的复杂性,而且该种电路易受干扰,使采集到的数据准确性不高。随着微电子技术、单片机技术、传感器技术的不断发展,为温度控制系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。本文摆脱了传统的温度测量方法,设计了一种基于AT89C51单片机与DS18B20 的温度控制系统,这样利于智能化控制。
本设计给出了系统实现的硬件原理***和具体程序,经仿真表明,本设计是可行的。这个系统设计和布线简单,体积小,重量轻,抗扰能力强,扩展方便,在大型仓库,车间,智能化建筑的多点温度检测有广泛的应用前景。
一、系统总体方案设计
1.温度控制系统的功能
温度控制系统中检测当前的环境温度是通过一线温度传感器DS18B20进行采集,然后通过单片机芯片STC89C51 处理并在液晶上显示,同时单片机控制蜂鸣器和三个LED灯,用于对温度进行实时控制操作。
2.该温度控制系统总体框***
(1)单片机最小系统:采用AT89C51单片机;
(2)温度采集模块:采用一线温度传感器DS18B20 ;
(3)温度显示模块:采用LCD液晶显示;
(4)报警电路:采用蜂鸣器报警;
(5)外部设备控制电路:采用的是LED灯显示,用来实时监测系统的工作。
二、温度控制系统的设计
该温控系统的具体电路***,如***2所示。
1.单片机最小系统的设计
(1)AT89C51单片机简介
单片机是一块单芯片的微控制器集成电路,在本系统中温度传感器DS18B20的工作,LCD液晶显示,蜂鸣器报警电路,以及LED显示都是单片机控制的。这里选用的是ATMAL 公司的AT89C51单片机,AT系列单片机是与MCS—51系列完全兼容的,所以89C51表示可以是任何一个厂家的产品。51单片机主要由中央处理器、数据存储器、程序存储器、定时/计数器、并行输入/输出(I/0)口、串行口,时钟电路以及中断系统组成。89C51单片机基本组成框***,如***3所示。
(2)单片机最小系统结构
单片机要正常工作必须满足三个条件:一是正确的电源,51系列单片机的工作电源是+5V的直流电,过高或者过低都会引起单片机不工作;二是要有时钟电路,51系列单片机的时钟有两种方式,一种是内部时钟方式,另外一种是外部时钟方式,在本设计中采用的是内部时钟方式,其中晶振的频率为12MHz,电容的容量为33PF;三是要有复位电路,其作用是使CPU和系统中的其他部件从一个确定的初始状态开始执行。复位电路通常有两种形式,一种是上电复位,另外一种是按键复位,在本设计中采用的是上电复位。
2.温度控制模块设计
(1)DS18B20温度传感器的优点
DS18B20是美国Dallas半导体公司推出的数字化温度传感器,它采用单条信号线,既可以传输时钟,又可以传输数据,而且数据传输是双向的,因而其组成的系统具有测温简单、精度高、连接方便、占用口线少等优点。
(2)DS18B20温度传感器的测温原理
DS18B20需要严格的读写时序以确保数据的完整性,这其中主要包括五种脉冲时序:复位与存在脉冲,写0脉冲,写1脉冲,读0脉冲,读1脉冲。所有这些信号,除了存在脉冲是由DS18B20发出的以外,其它都是由MCU(总线控制器)发出的。
读取DS18B20温度主要有以下几个步骤:
第一步:
①DS18B20初始化,一个复位脉冲加一个存在脉冲表示初始化完成。
②向DS18B20发送命令,因为本设计中采用外部电源供电,且总线上仅有一只DS18B20,所以发送CCH,表示跳过检测ROM地址。
③向DS18B20发送44H,表示温度转换命令。
第二步:
①DS18B20初始化,一个复位脉冲加一个存在脉冲表示初始化完成。
②向DS18B20发送命令,因为本设计中采用外部电源供电,且总线上仅有一只DS18B20,所以发送CCH,表示跳过检测ROM地址。
③向DS18B20发送BEH,读取温度值。
3.温度显示模块设计
在本设计中,采用的1602液晶显示器为+5V电压驱动,带背光,可显示两行。每行16个字符,只能显示字符,不能显示***形和汉字。
(1)1602型液晶接口引脚功能
1602型液晶接口引脚功能如下表:
(2)基本操作时序
基本操作时序,在这里主要用的是写指令和写数据。
写指令 输入:RS=L,R/W=L,D0-D7=指令码,E=高脉冲 输出:D0-D7=数据。
写数据 输入:RS=H,R/W=H,D0-D7=数据,E=高脉冲 输出:无。
初始化设置:
4.报警电路设计
本设计采用蜂鸣器配合发光二极管一起作监测温控系统的工作情况,当单片机正常工作时,蜂鸣器不响,发光二极管D1亮;当温度上升到40度时,蜂鸣器响,发光二极管D3亮;当温度低于30度时,蜂鸣器响,发光二极管D2亮。
51系列单片机上电复位后,I/O口处于高电平,这时二极管的正负极均处于高电平状态,此时灯不亮,如果要使灯亮,负极必须给低电平。
单片机I/O口的输出电流很小,一般只有4-20mA如果要驱动大的负载,必须用到驱动电路,在这里采用了PNP三极管驱动。当P3.2口输出高电平时,三极管不导通,蜂鸣器不响;当P3.2口输出低电平时,三极管导通,蜂鸣器响,发出报警信号。
三、系统程序设计
本系统采用 AT89C51作为核心处理器件,把经过DS18B20 现场实时采集到的温度数据,存入AT89C51 的内部数据存储器,并送LCD 液晶显示,并与温度的设定值进行比较,然后由单片机输出控制信号去控制外部设备。进行温度控制程序的设计还应考虑越限报警,当采集到的温度值与温度的设置值进行比较后,若发现当前温度值越限,则产生报警信号。具体程序见附录部分。
四、设计仿真结果
设计的电路通过proteus仿真,当温度超过下限值时,蜂鸣器响,同时相应LED灯亮,并把当前温度显示在LCD上,所以结果显示本设计是可行的。
五、结论
该温度控制系统主要介绍了DS18B20的温度采集功能,以及利用单片机技术,把液晶显示、蜂鸣器、LED灯和温度传感器DS18B20有机的结合在一起,电路简洁美观,仿真结果显示精度高、可靠性好,完全可以在实际中运用。
本设计如果再进行改进,比如在超温限时,用继电器自动驱动制冷和制热设备,这样可以使温控系统更广泛地应用生产和生活。
参考文献:
[1]郭天祥. 51 单片机C语言教程[M]. 北京:电子工业出版社,2009.
[2]许海波,廖传书. 基于AT89S52 单片机的远程监控系统[J]. 微计算机信息,2007,7-2: 66-68.
[3]明德刚. DS18B20 在单片机温控系统中的应用[J]. 贵州大学学报(自然科学版),2006,23(1): 106- 109.