智能温度湿度监测报警装置_第1页
智能温度湿度监测报警装置_第2页
智能温度湿度监测报警装置_第3页
智能温度湿度监测报警装置_第4页
智能温度湿度监测报警装置_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、智能温度湿度监控报警系统摘要:本题设计的系统以温度和湿度传感器的应用为核心,应用传感器实现信号的探测,再通过使用mega16avr单片机实现信号的控制、系统的监测与报警。系统采用温度和湿度传感器采集周边信息,实现信号的采集;通过按键开关控制温度和湿度的预设标志值,实现系统的控制;利用显示电路将温度和湿度显示于液晶显示屏上。信号的采集和显示,系统的检测和报警构成了整个无线环境监测模拟装置。本设计可以实现环境温度、湿度的监控与报警。关键词:温度传感器 湿度传感器 单片机 监控报警1 系统方案概述1.1 系统设计要求题目要求设计一个具有以下功能的报警系统:能够检测环境温度,并显示;能够检测环境湿度,

2、并显示;能够通过按键设定报警温度和湿度;在达到(超过)报警温度、湿度时进行有效报警;通过计算机设定报警温度、湿度;并能够将当前测量值返回到计算机显示;设定测量周期,进行周期性数值测量,或者实现系统的其它功能。1.2 系统应用价值与论证随着科技的飞速发展和普及,高性能设备越来越多,各行各业对温湿度的要求也越来越高。 传统的温湿度监测模式是以人为基础,依靠人工轮流值班,人工巡回查看等方式来测量和记录环境状况信息。在这种模式下,不仅效率低下不利于人才资源的充分利用,而且缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。基于这种对温湿度测控的需求我们有必要设计开发了以传感器应用

3、为核心的温湿度监控系统,摆脱人工探测的落后模式,更好的提高工程效率。1.3 系统实现步骤与整体框图环境温湿度的监控包括以下步骤:通过传感器感应环境温湿度;判断感应到的温湿度是否异常;若感应到的温湿度异常,判断异常是否超过预设时间;若异常超过预设时间,则输出异常信号至主控机;异常报警;判断异常是否处理完毕;以及若异常处理完毕,解除报警。并可以利用控制器和主控机来达到机房温湿度的远程控制,从而实现环境温湿度管理的实时性和有效性。智能温度湿度监控报警系统以实现环境温度和湿度的测量与显示为载体,进而通过按键设定报警温度和湿度的标志值,在此基础上实现周期性测量和显示。由上述分析可知,此装置分为四个部分:

4、信号检测部分、信号显示部分、报警电路和控制电路。其中,信号检测部分又由温度检测电路和湿度检测电路两部分构成。温度、湿度监控和报警系统信号检测部分信号显示部分报警电路控制电路温度检测湿度检测图1 温度湿度监控报警系统整体框图分为四个部分:信号检测电路、信号显示电路、报警电路和控制电路。其中,信号检测电路又由温度检测电路和湿度检测电路两部分构成。2 系统设计方案选择与论证2.1 温度传感器2.1.1基于ad590的摄氏温度测量电路ad590 是ad 公司利用pn 结正向电流与温度的关系制成的电流输出型两端温度传感器。ad590 式电流输出性集成温度传感器, 国内同类产品型号为sg590。实际中通过

5、对电流的测量即可得到相应的温度数值。ad590 后缀以i, j, k, l, m 表示, 实质上指特性不同和测量温度范围不同。其外形、电路符号如图2所示。图2 ad590外形、电路符号ad590 主要技术参数:工作电压:430v 工作温度:-55150 保存温度:-65175正向电压:44v 反向电压:20v 灵敏度:1la/k 输出电阻:710m焊接温度(10秒):300应用ad590在设计测量温度电路时, 必须将电流转换成为电压。温度每升高1k, 电流就增加1ua。摄氏温度测量电路的设计必须完成两部分任务: 一是将ad590 输出的电流转换为电压信号, 也就是电流转换为电压电路。二是将热力

6、学温度转换成为摄氏温度, 即绝对温度转换为摄氏温度电路。摄氏温度测量电路工作原理见图3。根据ad590 的特性, 温度每升高1k 热力学温度,电流增加1ua, 当负载电阻为10k8 , 这个电阻上的压降为10m v。其中由ad590、电位器rp1 和r1、运算放大器a1组成电流电压转换电路, a1 连接为电压射随器形式, 主要为增加信号的输入电阻。而运算放大器a2 为绝对温度转换为摄氏温度的核心器件, 其转换原理为摄氏零度对应热力学273k, 因此热力学转换为摄氏温度必须设置基准电压, 数值为摄氏零度对应的电压值2.73v。实现方法是给a2 的同名端输入一个恒定的电压, 恒定电压由限流电阻r2

7、 和稳压管提供, 恒定电压选择稳压管型号为cw385, 数值为1.235v,由a2 将此电压放大为2.73v, rp2为调整a2 运算放大器增益的大小。通过转换电路, 这样在a1、a2 输出端的电压即为与摄氏温度成正比的电压数值, 即每摄氏度对应100mv的电压数值。特别说明: 在调试时, 将集成温度传感器ad590置于零度冰水溶液中, 首先调整rp1 电位器使a1 运算放大器输出端为2.73v, 其次调节rp2 电位器, 使a2 运算放大器输出端为2.73 v, 因此温度测量温度测量电路输出电压在零摄氏度输出电压为0v。变化规律为每摄氏度对应为输出电压为10mv。图3 摄氏温度测量电路ad5

8、90 集成温度传感器应用相当广泛, 在工程上主要应用测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度等。因此,不仅广泛应用在日常生活中,更重要大量应用在工业自动化控制系统以及自动检测过程控制系统。另外,由于ad590精度高、价格低、不需辅助电源、线性好, 常用于测温和温度检测和控制领域。但是,利用ad592设计的电路比较复杂,外围器件较多,给硬件设计带来不必要的繁琐。因此,此种方案不可行。2.2.2基于ds18b20的温度测量电路ds18b20是美国dallas 公司生产的一线式数字式温度计芯片,它具有结构简单,不需外接元件,采用一根i/ o 数据线既可供电又可传输数据、并可由

9、用户设置温度报警界限等特点。ds18b20是ds1820的改进型产品,但该产品具有比ds1820更好的性能,目前,该产品已成为ds1820的替代品而在温控系统中得到广泛的应用。ds18b20具有独特的单线接口,仅需一个端口引脚进行通讯,可通过数据线供电,零待机功耗,测温范围-55+125。最重要的是基于ds18b20的外围器件较少。因此,此种设计较成功。综上所述,我们选择使用ds18b20作为温度信号检测元件。ds18b20使用方法:序号名称引脚功能描述1gnd地信号2dq数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3vdd可选择的vdd引脚。当工作于寄

10、生电源时,此引脚必须接地。由于ds18b20采用的是1wire总线协议方式,即在一根数据线实现数据的双向传输,而对使用的单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对ds18b20芯片的访问。由于ds18b20是在一根i/o线上读写数据,因此,对读写的数据位有着严格的时序要求。ds18b20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,

11、主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。ds18b20的复位时序:使用ds18b20 时,首先需将其复位,然后才能执行其它命令。复位时,主机将数据线激发为低电平并保持480s 960s,然后释放数据线,再由上拉电阻将数据线拉升15 60s。然后再由ds18b20发出响应信号,以将数据线激发成低电平60 240s,这样,就完成了复位操作。其复位时序如图4所示。图4 复位时序ds18b20的写时序:在主机对ds18b20 写数据( 主机对ds18b20 发送各种命令) 时, 先将数据线激发为低电平, 该低电平应大于1s 。然后根据写“ 1 ”或写“ 0 ”来使数据线变高或继续为

12、低。ds18b20 将在数据线变成低电平后15s 60s 对数据线进行采样。要求写入ds18b20 的数据持续时间应大于60s 而小于120s , 两次写数据之间的时间间隔应大于1s 。写时隙的时序如图5所示。图5 写时隙时序图ds18b20的读时序:当主机从ds18b20 读数据时,主机先将数据线激发为低电平,然后释放,以使数据线再升为高电平。ds18b20 在数据线从高电平变为低电平的15s 内将数据送到数据线上。主机可在15s 后读取数据线以获得数据。其时序图如图6所示。图6读时隙时序图2.2湿度传感器hs1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大

13、而增大。涉及如何将电容的变化量准确地转变为计算机易于接受的信号时,常用两种方法:一是将hs1101置于运放与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再a/d转换为数字信号;另一种是将hs1101置于555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号,可直接被计算机所采集。ne555是一个能产生精确定时脉冲的高稳度控制器,其输出驱动电流可达200ma.。在多谐振荡器工作方式时,其输出的脉冲占空比由两个外接电阻和一个外接电容确定;在单稳态工作方式时,其延时时间由一个外接电阻和一个外接电容确定,它可以延时数微秒到数小时。其工作电压范围为:4.5v16v。把hs11

14、01和ne555同时接入电路中的电路设计原理图如图7所示。图7 测量湿度电路图ne555电路功能的简单概括为:当6端和2端同时输入为“1”时,3端输出为“0”;当6端和2端同时输入为“0”时,3端输出为“1”。在此电路中,555定时器正是根据这一功能用作多稳态触发器输出频率信号的。当电源接通时,由于6和2端的输入为“0”,则定时器3脚输出为“1”;又由于c1 两端电压为0,故 通过r2 和r3 对c1充电,当c1 两端电压达到2/3 时,定时电路翻转,输出变为“0”。此时555定时器内部的放电bjt的基极电压为“1”,放电bjt导通,从而使电容c1 通过r3 和内部放电bjt 进行放电,当c1

15、 两端电压降低到/3 时,定时器又翻转,使输出变为“1”,内部放电bjt 截止,vcc 又开始通过r2 和r3 对c1 充电,如此周而复始,形成振荡。其工作循环中的充电时间为=0.7(r2+r3)c1;放电时间为 = 0.7r3*c1; 输出脉冲占空比为q (r2+r3)/(r2+2r3),为了使输出脉冲占空比接近50,r2应远远小于r3。当外界湿度变化时,hs1101 两端电容值发生改变,从而改变定时电路的输出频率。因此只要测出555的输出频率,并根据湿度与输出频率的关系,即可求得环境的湿度。2.3最终模块选择信号检测部分:ds18b20传感器、湿度传感器hs1101信号的显示:lcm160

16、2b液晶屏幕控制电路:按键开关3 理论分析和计算3.1 信息的检测3.1.1探测与控制方法信号检测模块是环境信息与微处理器的中介。信号采集过程采用传感器探测周边温度和湿度大小。信号转化即利用单片机这一核心元件控制不同信号间的转换。3.2.2电路中数值的控制(1)可探测湿度范围为0%100%。(2)可探测温度范围为0100,模块中温控范围为-55125。3.2信号的显示和控制信号的控制通过“内部软件”和“外部按键”两方面设定和控制,当环境温度或湿度超过预设的标志值时,蜂鸣器产生报警信号。环境的温度和湿度最终通过液晶显示出来。4 电路与程序设计4.1硬件设计(总电路图见附件)4.1.1信号的检测信

17、息检测,即用温度和湿度传感器检测周围环境里的温湿度,传感器将采集到的信号转换成电压信号,并送入单片机,通过单片机的处理,电压信号转变成了数字信号(矩形波)。信号的检测电路成功实现了温度和湿度信号向数字信号的转换。4.1.2信号的显示信号的显示,即显示电路,设计中使用液晶显示电路。温度和湿度信号送入单片机后经过软件编程将温度和湿度值显示于液晶屏幕上。4.1.3 信号的控制信号控制即设定报警信号的标志值,设计中通过软件可以设定报警的初始标志值,而在硬件中可以通过按键增加标志值的数值大小。从而将标志值设定为自动可调。4.1.4 报警电路当环境温度发生变化时,信号检测电路(温度和湿度传感器)可以检测到

18、变化的信号。如果环境温度或湿度超出预设的标志值,单片机就会输出高电平,从而使蜂鸣器发出报警信号;如果环境温度或湿度没有超过预设值,就不会触发蜂鸣器报警。 4.2软件设计4.2.1 程序流程图程序设计过程中,首先进行初始化设定,然后在扫描时间内采集温湿度值,最后将数值显示于液晶屏幕上。程序流程图如下图所示:设置初值及初始化定时器中断报警控制采集温度和湿度值显示温度和湿度值y图8 主程序流程图测温开始延迟复位ds18b20发温度转换命令复位ds18b20n复位ds18b20转换完毕?发报警搜索命令y有ds18b20温度超限?指向下一个ds18b20n发一个ds18b20序号y鸣报警器(蜂鸣器响)读

19、温度值,送显示器显示n个ds18b20处理完?ny图9 温度检测流程图4.2.2主程序(见附件一)5 制作体会本次小制作属于单片机知识的一次扩展和应用,也是单片机和其它学科知识的综合。制作过程中,我们小组花费了很长的时间和精力,但是,这所有换来最后的成功。这些都是值得的。从资料的搜集到电路的设计,从硬件的焊接到软件的编写,每一项工作都是在我们三个人共同努力和互帮互助下完成的。本次小制作,我们深入理解了单片机课程之内的知识,也学到了课程之外的不少知识,掌握了温度和湿度传感器的应用、单片机最小系统的焊接和使用、分立电路模块的综合、硬件软件的调试等各方面的知识和技巧。本次小制作带给了我们知识,也给予

20、了我们友谊。我们组所做的监控和报警系统实现了题述要求的基本功能,但是,仍有一些地方需要改进,例如:可以改进控制电路,使温度和湿度的预设标志值可以通过手动设定,而不通过软硬两方面来调节。另外,我们可以实现扩展中的部分功能。但是,由于时间等因素,这些不足没有来得及改进,扩展功能也并没有实现,我们将在今后的学习实践过程中将其完善。6 参考文献1张军,宋涛.avr单片机c语言程序设计实例精粹.北京:电子工业出版社,2009.12黄智伟.全国大学生电子设计竞赛训练教程.北京:电子工业出版社,2005.13高吉祥.全国大学生电子设计竞赛培训系列教程.北京:电子工业出版社,2007.5附件一 软件程序#in

21、clude #include / standard input/output functions#include /1 wire bus functions#asm.equ _w1_port=0x1b /porta.equ _w1_bit=4#endasm#include #include / alphanumeric lcd module functions#asm.equ _lcd_port=0x18 /lcd接portb#endasm#include /使用cvavr的lcd函数 / 使用cvavr的延时函数typedef unsigned char uchar;typedef unsi

22、gned int uint;typedef unsigned long ulong;flash unsigned char position6=0xfe,0xfd,0xfb,0xf7;unsigned char dis_buff2=0,0;float curtemp;uint temp1,temp3;uchar temp24;bit time_2ms_swd;unsigned char sd2=0,1,td2=0,1;/ int0中断服务程序interrupt ext_int0 void ext_int0_isr(void)if (sd0+=9)sd0=0;sd1+;/ int1中断服务程序i

23、nterrupt ext_int1 void ext_int1_isr(void)if (td0+=9)td0=0;td1+;/ adc电压值送显示缓冲区函数void adc_to_disbuffer(unsigned int adc)unsigned char i;for (i=0;i=1;i+)dis_buffi=adc%10;adc /= 10;void wd(float tem)temp1=(uint)tem;temp20=temp1/(uint)100;temp3=temp1-(uint)(temp20)*(uint)(100);temp21=temp3/10;temp22=temp

24、3%10;temp23=(uint)(curtemp*10)%10;temp20+=0;temp21+=0;temp22+=0;temp23+=0;/ 4位led数码管动态扫描函数void display1(void)int i;lcd_gotoxy(0,0);lcd_putsf(tmp=);for(i=1;i=0;i-)lcd_putchar(dis_buffi+0);lcd_putchar(%);lcd_putsf( !h=);lcd_putchar(sd1+0);lcd_putchar(sd0+0);/ timer 0 比较匹配中断服务interrupt tim0_comp void timer0_comp_isr(void)time_2ms_swd = 1;int adc_data,adc_v;/

温馨提示

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

评论

0/150

提交评论