简易温湿度计的设计.docx
《简易温湿度计的设计.docx》由会员分享,可在线阅读,更多相关《简易温湿度计的设计.docx(40页珍藏版)》请在冰点文库上搜索。
![简易温湿度计的设计.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/316e60cd-5dde-4184-9711-21712fd7cef4/316e60cd-5dde-4184-9711-21712fd7cef41.gif)
简易温湿度计的设计
简易温、湿度计设计
摘要
随着现代信息技术的飞速发展和传统工业改造的逐步实现,温湿度自动检测和显示系统在很多领域得到广泛的应用。
人们在温湿度检测的准确、便捷、快速等方面有着越来越高的要求,而传统的温湿度传感器已经不能满足人们的需求,其渐渐被新型的温度传感器所代替。
本文设计的是简易温、湿度计,该器件可直接向单片机传输数字信号,便于单片机处理及控制。
此设计的优点主要体现在可操作性强,结构基础简单,拥有很大的扩展空间等。
设计步骤分为四步:
首先,了解课题的基本任务和现实意义;
其次,提出利用单片机AT89S52和温度传感器DS18B20、湿度传感器HS1101组成检测温湿度的系统方案;
然后,从测温、湿电路、主控电路、报警电路等几个方面来分析说明电路原理;
最后,给出系统工作所用的软件设计。
关键词:
温湿度,传感器,单片机,电路
DesignofSimpleHygrometerandthermometer
Abstract
Withtherapiddevelopmentofmoderninformationtechnologyandtraditionalindustrialtransformationgraduallyrealized,temperatureandhumidityautomaticdetectionanddisplaysystemiswidelyusedinmanyfields.Peoplehavemoreandmorehighdemandintheaspectofconvenientandfasttemperatureandhumiditydetection.Whilethetraditionaltemperatureandhumiditysensorcan'tmeetthedemandsofpeople,thenewtypeoftemperaturesensorisgraduallyreplacingtheoldproducts.Thispaperhasdesignedasimpletemperatureandhumiditymeter.Thisdevicecantransmitdigitalsignaldirectlytothemicroprocessor,facilitatingmicroprocessorprocessingandcontrolling.Theadvantagesofthisdesignmainlyembodiedinthestrongmaneuverability,basicstructuresimple,largeexpansionspace,etc.Thedesignincludesfoursteps:
First,wemustunderstandboththebasicassignmentsandpracticalsignificanceoftheproject;
Second,thedesignusesthemicroprocessorAT89S52andtemperaturesensorDS18B20,humiditysensorsHS1101formedthetemperatureandhumidityautomaticmeasurementandcontrolsystem.
Third,thispaperanalysestheprincipleofcircuitwithdemonstratingthehumidcircuitdesign,themaincontrolcircuit,alarmcircuit,etc.
Finally,thepapergivessoftwaredesignwhichthesystemneeded.
Keywords:
temperatureandhumidity,sensors,microprocessor,circuit
1绪论
1.1课题发展背景
温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的参数,例如机械、电子、石油、化工等各类工业中广泛要求对温度、湿度进行检测与控制。
随着人们生活水平的提高,人们对自己的生存环境越来越关注,而空气中温湿度的变化对人体的舒适度和情绪有着直接的影响,所以对温度、湿度的检测及控制就十分有必要了。
科学技术的发展使得利用单片机控制成为人们追求的目标之一,因此由单片机构成的温湿度检测、温湿度控制系统广泛应用于很多领域,它既可以测量电信号,又可以测量温、湿度等非电信号。
随着生产的发展,一个低成本和具有较高精度的温度湿度测量仪在许多领域会代替人工操作,自动控制各种仪器调整环境温度湿度。
目前市场上普遍存在的温湿度检测仪器大都信息传递不及时,精度达不到要求,不利于控制者根据温度、湿度变化及时做出决定。
本课题设计了一种实时性高、精度高,能够综合处理温、湿度信息的简易设计,测量速度和精度都可以达到要求。
1.2国内外研究及发展状况
温度、湿度是工业农业生产不可缺少的考虑因素,但传统的方法是用温度表、毛发湿度表、双金属式测量计以及湿度试纸等测试器材,通过人工检测,对不符合温度和湿度要求的库房进行通风、降温和去湿等工作。
这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,又具有较大的不确定性。
而含有微型计算机或微处理器的测量仪器,由于它拥有对数据存储,运算逻辑判断及自动化的功能,有着智能功能,很快得到人们的青睐和关注。
模拟集成温度传感器是在20世纪80年代问世的,它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。
模拟集成温度传感器的主要特点是测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。
它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、LM135、TMP17等。
智能温度传感器(也称数字温度传感器)是在20世纪90年代中期问世的。
它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。
目前,国际上已开发出多种智能温度传感器系列产品。
智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)以及接口电路。
在20世纪90年代中期最早推出的智能温度传感器,采用的是8位A/D转换器,其测温精度较低,分辨力只能达到1℃。
如今国外已相继推出多种高精度、高分辨力的智能温度传感器,所用的是9~12位A/D转换器,分辨力一般可达0.5~0.0625℃。
由美国DALLAS半导体公司新研制的DS1624型高分辨力智能温度传感器,可以输出13位二进制数据,其分辨力高达0.03125℃,测温精度为±0.2℃。
为了提高多通道智能温度传感器的转换速率,也有的芯片采用高速逐次逼近式A/D转换器。
进入21世纪后,智能温度传感器正朝着多功能、高精度、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等方向迅速发展[1]。
湿度传感器产品及湿度测量是20世纪90年代兴起的行业,湿度传感器主要分为电阻式和电容式两种,产品的基本形式都是在基片上涂覆感湿材料以形成感湿膜,空气中的水蒸汽吸附在感湿材料上后,元件的阻抗、介质常数发生很大的变化,从而制成湿敏元件。
近年来,国内外在湿度传感器研发领域取得了较大的发展,湿敏传感器正从简单的湿敏元件向着智能化、集成化、多参数检测的方向迅速发展。
国外生产湿敏电容的主厂家有Humirel公司、Philips公司、Siemens公司等,以Humirel公司生产的SH1100型湿敏电容为例,其测量范围是(1%~99%)RH,在55%RH时的电容量为180pF(典型值),温度系数为0.04pF/℃,湿度滞后量为±1.5%,响应时间为5s。
当相对湿度从0变化到100%时,电容量的变化范围是163pF~202pF[2]。
1.3课题研究方法
在老师指导下,对温湿度计的原理做深入理解,然后根据原理设计出原理框图,在原理框图的基础上,对各部分电路进行设计,最后把各部分电路组合起来,得到了总体电路的设计,并通过软件设计,程序编程完成设计工作。
1.4论文构成及研究内容
本设计以AT89S52单片机为核心来对多点温湿度进行实时巡检。
各检测单元(从机)能独立完成各自功能,同时能根据主控机的指令对温湿度进行时时采集。
并将采集来的信息通过液晶屏显示清晰的呈现给用户,如果采集的信息超出了预设范围,蜂鸣器将给出报警示意用户,以便做出及时决定。
本文的主要研究内容是设计出符合要求的温湿度计控制电路,并撰写出毕业设计说明书。
2系统方案设计
2.1系统设计思路
选取单片机作为系统的主控部件,根据主控机的指令对温湿度进行实时采集并通过液晶显示部分及时将测量结果显示出来。
因此,如何准确获得被测信号以及对被控对象状态的监察是单片机的核心任务。
传感器是实现测量与控制的首要环节,对于温湿度计,系统应具有两大传感器模块:
即温度传感器模块和湿度传感器模块。
此外,在微型计算机控制系统中,应该设计液晶显示模块,将温度和湿度数据显示出来。
为了安全生产,对于一些重要的参数或系统部位,应当设有紧急状态报警模块,以便提醒操作人员注意或采取紧急措施。
2.2系统设计框图
本次设计的温、湿度计原理框图如图2.1所示。
温度传感器和湿度传感器采集所要测量的温度和湿度数据,并把数据传给单片机.。
单片机通过对数据的分析处理,通过液晶模块显示出来,由此形成了以单片机系统为核心来对温度、湿度进行实时控制和巡检。
主控机负责控制指令的发送,并控制各个检测单元进行温湿度采集,收集测量数据,同时对测量结果进行整理和显示。
图2.1原理框图
2.3系统方案设计与论证
(1)单片机控制模块的选择与论证
方案1:
采用XC9000系列的FPGA。
该类器件的优点是具有并行处理能力,能快速的响应外部的各种数字信号,但在数据处理方面过于复杂,且芯片价格较昂贵。
方案2:
采用单片机作为控制核心,单片机数学运算功能较强,并且在程序相互调用方面,处理方便灵活,性能稳定,适合实际应用,且单片机技术发展较为成熟,价格便宜[3]。
根据以上分析,采用单片机控制可更为简便灵活地实现系统功能,故拟采用方案2。
(2)温度湿度检测模块的选择与论证
方案1:
选用DHT11作为温湿度检测模块核心器件。
DHT11是一款数字输出的复合传感器,它包含一个电阻式感湿元件和NTC式温度检测元件,可测量20~90%RH湿度,误差在±5%RH;在温度范围为0~50℃时,测量温度误差为±2℃。
方案2:
选用DS18B20温度传感器和HS1101湿度传感器。
DS18B20是一线式数字温度传感器,具有独特的单线式接口,测量范围在-55℃~125℃,-10℃~85℃,误差为-/+0.5℃。
最高精度可达0.0625℃。
HS1101是电容式湿度传感器,可测量的相对湿度范围在0%~100%RH,误差为-/+2%RH[4]。
综上所述,虽然方案1具有综合作用,但方案2的测试范围和精度都优于方案1,故本设计中采用方案2。
(3)显示模块的选择与论证
方案1:
采用12864液晶模块显示测得的数据,可显示较多组的数据,字体较大,可清晰读数,但12864液晶模块价格昂贵,接线复杂。
方案2:
采用1602液晶模块显示所测数据,1602液晶接线简单方便,可以满足显示需要,同时价格远低于12864液晶。
因此,本方案为首选方案。
综上所述,显示模块选择方案2。
3系统电路设计
3.1 单片机主控模块设计
本次设计所选择的单片机是由美国Atmel公司生产的AT89S52单片机,属于MCS-51系列。
AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K的系统可编程Flash存储器,所采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;性能可靠、价格低廉、抗干扰能力强,因此被广泛应用于工业控制和嵌入式系统中[5]。
其内部结构如图3.1所示。
图3.1AT89S52片机的内部结构框图
3.1.1AT89S52工作模式及注意事项
AT89S52作为测试系统设计的核心器件.该器件是MCS-51系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术.具有高性能的8位单片机,属于标准的MCS-51的CMOS产品。
片内含8K字节的可反复擦写的只读程序存储器(PEROM)和256字节的随机存取数据存储器(RAM),器件兼容标准的MCS-51指令系统。
片内置通用8位中央处理器(CPU)和Flash存储单元。
结合了HMOS的高速和高密度技术及CMOS的低功耗特征[6]。
其具有如下性质:
(1)与MCS-51产品指令系统完全兼容;
(2)8K字节可重擦写Flash闪烁存储器;
(3)寿命:
1000写/擦循环;
(4)数据保留时间:
10年;
(5)全静态工作:
0Hz-24Hz;
(6)三级程序存储器锁定;
(7)128*8位内部RAM;
(8)32可编程I/O线;
(9)三个16位定时器/计数器;
(10)8个中断源;
(11)可编程串行通道;
(12)低功耗的闲置和掉电模式;
(13)片内振荡器和时钟电路。
AT89S52单片机提供以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
由于此设计需要编写程序,需要将程序写入单片机中,因此单片机必须具有足够多的存储空间,其具有8K字节的Flash完全满足要求。
32位的I/O口线能够使得单片机与温度显示器、温度传感器、键盘、报警电路、按键电路等等变得可能。
16位的定时计数器使得读取数据变得更加简单,同时其结构有利于晶振电路和复位电路的连接。
最重要的是,能够在掉电状态下保存RAM内的数据。
同时,与同类51单片机相比,AT89S52具有更强的可操作性。
因此,对于本设计来说,选择AT89S52是最有利的。
AT89S52单片机有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。
这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON1)和IDL(PCON0)位来实现的。
PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。
IDL是空闲等待方式,当IDL=1,激活空闲工作模式,点偏激进入睡眠状态。
如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。
在空闲工作状态下,CPU保持睡眠状态而所有的片内的外设都保持激活状态,这种方式由软件产生,此时,片内RAM和所有特殊功能寄存器的内容保持不变。
空闲模式可由任何允许的中断请求或硬件复位终止。
终止空闲工作模式的方法有两种,进入中断服务程序,执行完中断服务程序并紧随RST1(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式的那条指令后面的一条指令。
其二是通过硬件复位可以将空闲工作模式终止。
需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的吓一跳指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其他端口。
为了避免可能对端口产生意外写入,激活空闲状态的那条指令后一条指令不应是一条端口或外部存储器的写入指令[7]。
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令。
片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。
退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但并没有因此改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,但必须保持一定时间以使振荡器重启动并稳定工作。
空闲和掉电模式外部引脚状态如表3.1所示。
表3.1空闲和掉电模式外部引脚状态
模式
程序存储器
ALE
PSEN
P0
P1
P2
P3
空闲模式
内部
1
1
数据
数据
数据
数据
空闲模式
外部
1
1
浮空
数据
地址
数据
掉电模式
内部
0
0
数据
数据
数据
数据
掉电模式
外部
0
0
浮空
数据
数据
数据
AT89S52单片机具有一些极限参数:
(1)工作温度:
-55°C至+125°C;
(2)储藏温度:
-65°C至+150°C;
(3)任一个引脚对地电压:
-1.0V至+7.0V;
(4)最高工作电压:
6.6V;
(5)直流输出电流:
15.0mA[8]。
3.1.2单片机主控电路设计
单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。
硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。
这种设计方法可以降低系统设计的复杂性,同时保证了整个系统的灵活性。
单片机主控模块包括了晶振电路和复位电路,同时主控模块又接入了温度模块信号(A10)、湿度模块信号(P34)、键盘模块信号(A11、A12)、报警模块信号(A8)、控制液晶显示信号(P30、P31)以及液晶显示数据(J30~J37),使单片机可以接收温、湿度数据和控制液晶显示。
单片机主控电路原理图如图3.2所示。
图3.2单片机主控电路
(1)时钟电路
XTAL1(19脚)和XTAL2(18脚)是外接时钟引脚。
当采用片内时钟振荡方式时,需要在这两个脚外接石英晶振和振荡电容,石英晶振的频率在0-24MHz之间,典型值为11.0592MHz或12MHz,振荡电容的值一般取10pf-30pF,典型值为30pF。
这里石英晶振频率采用11.0592MHz,振荡电容采用30pF。
(2)复位电路
单片机AT89S52的RST(9脚)是复位引脚。
当输入连续两个机器周期以上的高电平时为有效,用来完成单片机的复位初始化操作。
上电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,单片机开始正常工作;当按下按钮时,RST端为高电平,由于按键按下释放时间在数毫秒,所以能够使单片机复位[9]。
EA(31脚)是控制单片机读取内部程序储存器和外部程序储存器的。
当EA接高电平时,单片机读取内部程序储存器。
当EA接低电平时,单片机直接读取外部ROM。
由于89S52有内部程序存储器,所以该引脚接高电平。
当单片机进行键盘扫描,根据判断键盘按键情况,显示温度或湿度。
如果K2键按下就调用温度检测程序,测出温度并送至液晶显示;如果K3键按下,就调用湿度显示程序,经过计算给出湿度值后送往液晶显示。
此外,在设计1602LCD与单片机的接口时,我们将1602LCD的D0~D7数据口与单片机P0口相连,但必须注意单片机AT89S52的P0口不带上拉电阻,所以必须附加10K的上拉电阻。
3.2温度传感器模块设计
3.2.1DS18B20工作原理
DS18B20温度传感器支持“单总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
现场温度以“单总线”的数字方式传输,大大提高了系统的抗干扰性;DS18B20也适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等;支持的电压范围为3V~5.5V,使得系统设计更灵活、方便,而且新一代产品更便宜,体积更小。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定及用户设定的报警温度存储在EEPROM中,掉电后依然能够保存[10]。
DS18B20的温度检测与数字数据输出全部集成在一个芯片之上,从而抗干扰力更强。
它的一个工作周期可分为两个部分,即温度检测和数据处理。
DS18B20的存储器资源分别是:
(1)ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
(2)RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据。
DS18B20的测温原理如图3.3所示,低温度系数的晶振振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送至计数器1。
而高温度系数晶振将随温度变化其振荡率明显改变,所产生的信号作为计数器2的输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值,计数器1对低温度系数晶振所产生的脉冲信号进行减法计数。
当计数器1的预置值减少到0时,温度寄存器的值将加1,并且计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振所产生的脉冲进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
斜率累加器用于补偿和修正测温过程中的非线性,它的输出用于修正计数器1的预置值[11]。
图3.3DS18B20的测温原理
3.2.2DS18B20测温电路设计
选用三脚TO-92直插式封装的DS18B20温度传感器芯片,它有三个脚,分别为电源正极Vcc、信号输入输出I/O和电源负极GND。
在外部电源供电方式下,DS18B20工作电源由Vcc引脚接入,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是固定的[12]。
在设计中,DS18B20的输出信号A10是以单总线的方式与单片机P2.2相连接的。
如图3.4为DS18B20采用外部供电方式实现的测温电路。
图3.4DS18B20的测温电路
外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。
因此本设计采用外部供电方式,且本设计只用于测量环境温度,所以只显示0℃~+85℃。
3.3湿度传感器模块设计
HS1101是电容式湿度传感器,由于电容不可直接测量,故选用555多谐振荡电路检测到频率,然后由单片机计算出相应的湿度值。
HS1101的湿度测量电路如图3.5。
图3.5HS1101湿度测量