智能家居监测控制系统的设计_第1页
智能家居监测控制系统的设计_第2页
智能家居监测控制系统的设计_第3页
智能家居监测控制系统的设计_第4页
智能家居监测控制系统的设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

智能家居监测控制系统的设计【摘要】从1984年出现世界上第一栋智能建筑开始,人们开始对智能家居研究和推广,经过近30年的开展,智能家居技术已相当成熟。但是较国外而言,国内的智能家居技术起步较晚,理论和实际应用都与国外有着较大的差距。由于市场等原因,国外的智能家居在国内很难推广,因此,中国智能家居的研究意义重大。本设计是基于国产宏晶STC系列单片机的智能家居环境监测与控制的系统,主要是对家居的环境参数〔如温度、湿度和烟雾浓度等〕进行监测和显示并做出相应的响应,采用宏晶STC单片机、DHT11温湿度传感器和MQ-2烟雾传感器等传感器及元器件作为研究根底,采用多传感器融合技术进行针对性的设计。本文的主要内容大致可分为:单片机根本电路的设计、显示电路的设计、传感器电路的设计和报警电路的设计等电路的设计以及各软件的编写与调试。关键字:智能家居,单片机,温湿度传感器,烟雾传感器ABSTRACTSincethesmartbuildingwitchofthetheworld'sfirstbuildingin1984hadbeenbuilt,thepeoplebegantoresearchandspreadit.Afterthenearly30yearsofdevelopment,thetechnologyofthesmartHomeFurnishinghasbecomequitemature.Butcomparedwiththeforeign,thetechnologyofthethedomesticsmartHomeFurnishingstartedrelativelylate.Comparedwiththetheoryandthepracticalapplications,therearealargegapbetweenChinaandforeigncountries.Becauseofthemarketandotherreasons,theforeignaredifficulttopromotethesmartHomeFurnishinginthedomesticmarket.Therefore,thesignificanceoftheresearchtothesmartHomeFurnishingisveryimportant.BasedontheseriesoftheSTCmicrocontroller,thispaperwilldesignthemonitoringandcontrolsystemofthesmartHomeFurnishing.Itmajortomonitorandmakeacorrespondingresponsetothehouseholdenvironmentparameters(suchastemperature,humidityandsmoke,etc.).ItusetheSTCmicrocontroller,andtheDHT11temperatureandthehumiditysensorsandtheMQ-2smokesensorandothersensorstodesignthesystem.Themaincontentofthisarticlecanberoughlydividedintothedesignofthebasiccircuitofthemicrocomputer,andthedesignofthecircuitofthedisplay,thedesignofthesensorcircuitandthedesignofthecircuitofthealarmandthewritinganddebuggingofthesoftware.KeyWords:Smarthome,DHT11,MQ-2,MCU目录TOC\o"1-3"\u第一章绪论11.1智能家居监测控制系统的开展及现状1智能家居的国内外现状11.2智能家居监测与控制系统研究的目的及意义3智能家居监测控制系统研究的目的3智能家居监测控制系统研究的意义41.3要到达的技术要求4第二章智能家居控制系统的设计方案52.1任务分析52.2设计思想52.3系统设计方案选择52.4总体框图10第三章系统硬件设计113.1单片机最小系统的设计113.1.1STC89C52RC单片机113.1.2单片机最小系统硬件电路的设计133.2显示电路设计133.2.1LCD1602液晶显示器143.3温湿度检测和烟雾检测电路设计173.3.1DHT11温湿室度传感器173.3.2MQ-2烟雾传感器213.4报警电路设计23第四章软件设计254.1系统主程序图254.2烟雾检测与报警程序设计254.3温湿度监测与显示26第五章系统测试285.1系统参数的设定285.2系统软件的烧写285.3测试现象285.4测试总结29第六章总结30致谢32参考文献33附录1 34附录2 35附录3 36附录4 37第一章绪论1.1智能家居监测控制系统的开展及现状由现在科技的开展可推知未来智能家居将向固定终端控制、智能控制、无线与有线网络控制系统方向开展。(1)终端控制,在现在电子技术高度兴旺和快速开展的今天,未来智能家居控制系统走进千家万户将不只是一个设想,通过一个终端控制屏实现对家庭内部温度,湿度,气体成分等的智能监测和控制。(2)智能,的出现实现了以前只有在小说和神话中才能实现的顺风耳和千里传音,缩短了人与人之间的距离,极大的丰富了人们的生活,特别是智能的出现将的应用提高到了另一个平台。不管人们在何时何地在做什么事根本上都是离不开智能,为此将智能应用于智能家居是一个明智的选择而且也是智能家居开展的必然趋势,从此不仅仅是打、发信息和上网的娱乐工具,而且还是随时随地掌控家居内的一切,如防火防盗等的不二选择。通过将智能家居的客户端软件嵌入到智能中,只要动动手指就可以实现对家庭内部的远程监测与控制。(3)无线与有线控制系统有机融合。1.1.1智能家居的国内外现状(1)国内现状我国的智能家居从1994年萌芽至今得到了快速的开展,是继房地产行业后又一大开展热潮,随着软件协议与硬件技术开始不断的融合,各大行业进军智能家居市场,我国的智能家居行业进入了开展的黄金时期。但是较国际国外智能家居行业起步晚,还没有形成统一的国家标准,这是对我国智能家居的开展是不利的,但是总体来说,我国的智能家居还是取得了相当可观的成果的。如:①海尔公司推出的e家庭,以电脑作为整个系统的控制中心,利用网络技术将各种家庭用电设备联系起来,利用海尔推出的作为远程控制器,使一些用电设备实现远程和智能控制成为可能。②另外,清华同方研发的e-home,使用嵌入式技术和网络技术,基于国际成熟的智能家居技术,针对中国家庭的实际情况设计和制造,可谓是为整个中国家庭量身制作的。但是就目前智能家居的开展状况来看,整个智能家居市场只适合中高消费人群,远远还未走进千家万户,中国智能家居的设计和制造技术和本钱还有待改善。随着国内各大软、硬件机构正在积极渗入智能家居行业,为智能家居行业注入新鲜的血液,可以展望我国的智能家居前途将是一片大好。〔2〕国外现状国外智能家居起步较早,从1984年美国出现第一栋智能建筑以后,美国、加拿大和欧洲等一些兴旺国家就开始研究和退广智能家居,而且现在智能家居技术已相当成熟,最具代表性的智能家居有:①美国推出的X-10系统,该系统不是使用一般数字设备控制的信号线利用低电平传输信息,而是利用电力线作为控制的网络平台,采用集中控制方式实现。这套的功能较为强大,而且不需要额外的布线,安装时也省去了在墙上打孔等的不便,因此实现起来是很容易被广泛的家庭接受,操作起来也相对简单。但是在中国国内推广造价很高,因此,在我国国内未能得到很好的开展。②德国的EIB系统,该系统采用总线技术及中央控制技术实现控制功能。但由于系统价格较高,且实际安装不是很容易,因此在我国也未得到理想的开展。③新加坡的8X系统,该系统也是使用总线技术和集中控制方式来实现智能家居控制的功能。它可以利用的产品对系统进行扩展,技术较为成熟,适合中国国情。但是由于系统架构、灵活性等方面还难以到达要求且价格也是较高,所以目前在国内也是没有得到广泛的应用。1.2智能家居监测与控制系统研究的目的及意义1.2.1智能家居监测控制系统研究的目的火是可燃物燃烧,发生剧烈化学反响的过程,纵观人类的开展历史可知,火的使用和人工取火的创造是人类文明史进步的催化剂,而在当今人类的生产和生活活动中再也离不开火的使用。常言道水火无情,火失控时就会发生火灾,在世界上每年因火灾丧失幸福的家庭不计其数,因此在我们在使用火的过程中还需对其进行有效的监控。因为在产生火的同时必然会产生烟雾等物质,因此要对火灾的监控和报警就可以通过对空气中的可疑气体的监控和报警来实现。温度和湿度是影响人们居住的最重要的因素。研究说明最适宜人们居住的温湿度:冬天分别为18~25℃和30%~80%;夏天分别为23~28℃和30%~60%的室内,人会感到最舒适,精神状态好,思维最活泼,也就是说这种环境最适合人类的居住。不仅如此,现代人追求的是舒适便捷的生活,因此智能家居研究的目的不只是提供平安舒适的家居环境。随着通信技术、计算机技术和网络技术等现代科技的开展,智能家居逐步走上移动控制和远程控制的开展轨迹。将智能家居控制系统通过网络与110、119等联系起来,当家居内出现突发事件,如发生火灾、有非法人员闯入等,家居主人和110或119第一时间收到信息通知,并且智能家居控制系统还可以做出相应的处理,例如发生火灾时,离火源最近的消防设备将自动喷水或者自动释放灭火泡沫等。同时,互联后的智能家居可以通过、电脑等终端设备实现远距离控制,例如可以在回家的途中通过终端设备提前翻开空调、播放背景音乐、翻开电视机选择自己喜欢的节目、让热水器烧热水等等,为住户尽可能地提供舒适、平安、便捷的居住环境。因此,对于追求高端上档次的物质生活和精神生活的现代人来说,平安的家居环境只是选择居住的最根本的要求,舒适健康平安便捷的居住环境才是现代人所向往的和追求的,所以对家庭居住环境方方面面的要求也是越来越高的,显然对家居智能化的研究就显得非常重要了。1.2.2智能家居监测控制系统研究的意义随着社会经济和人类文明的进步开展,人们追求高端上档次的生活的渴望是越来越剧烈,特别是对家居的选择要求越来越高,不仅是要追求平安,而且还要居住起来舒适,因此对现在的人来说又形成了新的社会矛盾,也就是落后的家居环境与人们日益增长的家居享受之间的矛盾。虽然我国的智能家居从1994年萌芽至今已有近二十年的历史,智能家居技术已得到飞速的开展,但是就总体而言还是不容乐观。并且国外成熟的智能家居在国内的推广有诸多的不便,因此我国的智能家居还亟待研究与开展。本设计对智能家居监测与控制系统的研究可以丰富对智能家居的认识,增强自身的动手能力和发现、解决问题的能力,有利于激发智能家居研究的热情。同时智能家居监测控制系统可以让住户安心入住,利用方便、高效的控制方案为住户提供舒适的家居环境。1.3要到达的技术要求必须有火灾,煤气烟雾、温湿度探测的功能,能现场产生声光报警及做出相应的反响。第二章智能家居控制系统的设计方案2.1任务分析硬件设计:首先是设计单片机的最小系统,使单片机具有一定的功能,如烧写程序的功能和复位等功能。其次是设计显示电路,主要目的是用于温湿度的显示,使检测的电信号直观的显示出来便于程序调试、数据的理解和操作。再次是设计传感器检测电路,采集家居环境参数用于下一步设计。第四是设计报警电路,用于参数异常报警。最后就是设计按键等其他电路。软件设计:首先是设计液晶显示器的初始化程序,其次是设计温湿度传感器、烟雾传感器、红外线传感器等的驱动程序,将温湿度传感器等传感器采集的数字信号转化为液晶显示器能够显示的信号在显示器上显示出来,并且为下一步的控制设计提供数据来源。再次是设计烟雾驱动和报警驱动。最后是设计控制程序。2.2设计思想健康性:做到家居控制区域自动控温、控湿,提供适宜的温湿度,保持空气清新。平安性:自动检测家居内部空气成分,做到火灾报警和提供一定的解决措施。方便性:设计简单,容易生产安装且容易使用,系统有一定的可扩展性。智能性:可以根据主人的喜好进行参数设计,遇见火灾时能自动喷水灭火。2.3系统设计方案选择方案一:采用AT89C51单片机作为控制芯片,利用DS18B20温度传感器检测环境温度,NRGRH5空气湿度传感器检测环境湿度,其设计框图如下所示:图2-1方案一设计框图〔1〕单片机的选择AT89C2051是美国ATMEL生产的低电压、高性能COSM8位单片机,引脚图如下所示:图2-2AT89C51引脚图参数:4K字节程序存储空间;工作频率:0Hz~24MHz;128×8位内部RAM;32个I/O口;两个16位定时器/计数器;5个中断源;〔2〕温、湿度传感器的选择采用单个的温度传感器和湿度传感器,温度传感器选择DS18B20,湿度传感器选择NRGRH5空气湿度传感器。DS18B20温度传感器:DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式。型号多种多样,有LTM8877,LTM8874等等。可以根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。图2-3DS18B20封装图参数:温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃NRGRH5空气湿度传感器:RH-5是低本钱的可持续测量相对湿度的传感器,需外接电源才能工作。采用聚合体电阻制成,输出线性信号,并能保持反响灵敏度和长期稳定性。参数:1)输出信号:线性模拟电压;2)换算:%相对湿度=电压x20;3)测量范围:0~95%相对湿度;4)电源::10~36VDC,12V/1.2mA;5)尺寸:115mm(4.5")*102mm(4")*80mm(3.1");6)重量:0.68kg(1.5lbs)。方案二:使用宏晶STC增强型单片机做为控制芯片,采用温湿度模块作为环境温湿度采集传感器设计,其设计框图如图2-5所示。〔1〕单片机的选择:STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,与C51单片机完全兼容,软硬件设计时根本无需较大的修改。图2-4STC89C52引脚图参数:1)工作频率范围:0~40MHz,相当于普通8051单片机的两倍,实际工作频率最高可达48MHz。2)8KROM字节。3)512字节RAM内存。4)增加P4口,共有32个I/O口,复位后为:P1、P2、P3、P4是准双向口/弱上拉,P0口和传统8051单片机一样,总线扩展时,无需上拉电阻,用作I/O口时,需加上拉电阻。5)具有ISP在线系统可编程功能。6)三个16位定时器/计数器。7)4路外部中断,下降沿中断或低电平触发电路,掉电模式可由外部中断低电平触发中断方式唤醒8)通用异步串行口〔UART〕,可用软件实现多个UART〔2〕温、湿度传感器的选择DHT11温湿度传感器,该传感器将温度传感器和湿度传感器集成在一起,而且具有较高的灵敏度。1)湿度测量范围:20%~95%,测量误差:±5%;2)温度测量范围:0℃~50℃,测量误差:±2℃;3)工作电压:3.3V~5V;4)输出形式:数字输出;5)设有固定螺栓孔,方便安装;6)小板PCB尺寸:3.2cm*1.4cm;7)每套重量约为8g。两个方案综合比拟,方案二更加适合做设计研究。原因是:首先,就单片机而言,STC单片机较AT89C51单片机性能更佳,主要表现在工作频率范围更加大,程序存储空间扩大一倍,数据存储空间扩大两倍,I/O更多,而且最有利开发就是具有ISP在线系统可编程功能,使调试变得简单方便。其次,使用DHT11温湿度传感器将温度传感器和湿度传感器集成为一个元件,使硬件电路设计和焊接变得简单,并且DHT11输入的是数字信号,且电压与单片机兼容,无需经过A/D转换就能直接被单片机接受,省去了A/D转换电路设计或A/D软件处理程序的编写。2.4总体框图由以上任务分析和设计思想可设计出系统的总框图如下所示:图2-5智能家居控制系统设计总框图使用STC单片机作为中央处理芯片,选用DHT11温湿度传感器和MQ-2烟雾传感器等传感器作为媒介采集家居环境参数,经过单片机综合处理转化为可显示的数据在液晶显示器上显示,并通过网络设备将单片机和远程终端设备联系起来,可以通过对系统参数的设置使智能家居控制系统自动的根据环境参数的变化自动地做出相应的响应,到达环境参数恒定的效果。第三章系统硬件设计3.1单片机最小系统的设计单片机就是将一些具有特殊功能的物理电路〔如CPU、存储器、I/O接口以及总线〕集成在一起作为能被人们所使用的大规模集成电路。随着集成电路的开展,单片机的开展也是非常迅速的,至今单片的种类已非常多,能满足各种基于单片机应用系统的控制需求。市场上最多的单片机是Intel公司推出的MCS-51系列单片机、Freescale公司MC68系列的单片机等等,本设计采用的是国内自主研发的增强型STC系列单片机。该单片机相对于国外的8051内核单片机,在片内资源和性能以及工作速度上都有很大的提高,特别是它使用在线系统编程〔ISP〕技术,使得基于单片机的应用系统的开发变得更简单了,不需要使用仿真器和专用编程器就可以对单片机应用系统进行开发,而且更加有利于对单片机的学习。3.1.1STC89C52RC单片机STC89C52RC单片机是国产的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容8051单片机,有12时钟/机器周期和6时钟/机器周期可供选择。主要特性如下:1〕STC型单片机是增强型8051单片机,6时钟/机器周期和12时钟/机器周期可供选择,指令代码完全兼容8051单片机。2〕工作电压:5.5V~3.3V/3.8V~2.0V。3〕工作频率范围:0~40MHz,相当于普通8051单片机的两倍,实际工作频率最高可达48MHz。4〕8KROM字节。5〕512字节RAM内存。6〕增加P4口,共有35个I/O口,复位后为:P1、P2、P3、P4是准双向口/弱上拉,P0口和传统8051单片机一样,总线扩展时,无需上拉电阻,用作I/O口时,需加上拉电阻。7〕具有ISP在线系统可编程功能。8〕具有EEPROM功能。9〕看门狗功能。10〕T0、T1、T2三个16位定时器/计数器。11〕路外部中断,下降沿中断或低电平触发电路,掉电模式可由外部中断低电平触发中断方式唤醒。12〕通用异步串行口〔UART〕,可用软件实现多个UART。13〕工作温度范围:-40~+85℃/0~75℃。14〕PDIP封装。图3-1STC单片机引脚图工作模式:1〕掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序。2〕空闲模式:典型功耗2mA。3〕正常工作模式:典型功耗4Ma~7mA。3.1.2单片机最小系统硬件电路的设计单片机的根本电路是单片机实现其功能的最小应用系统,是影响系统好坏的最根本要素,主要是由:晶振、复位电路、电源和串口电路等组成。单片机工作时,需要从某个的初始状态开始才能被设计者所控制,而要让单片机处于某个的初始状态就需要为单片机设计一个复位电路。常用的复位电路有上电复位和上电与按键均有效的复位。结合本设计的设计原理考虑,本系统只需在单片机上电时自动实现复位操作,而不需要在单片机运行过程中复位,因此,本设计使用的是上电直接复位的复位方式。本设计使用的是内部存储器,因此在设计根本电路时将31引脚即置高电平。图3-2单片机最小系统电路图3.2显示电路设计显示器一般也叫做监视器,属于本设计中的I/O设备,他能将传感器接收到的电信号直观的显示出来,被人们所理解,并且便于对系统参数的操作。本设计的主要目的是对居室温湿度的显示、烟雾监测和报警,显示的内容相对数码管显示较多,而又不需要显示特殊的字符,因此选用1602液晶显示器进行设计。1602液晶显示器驱动电压低、功耗微小符合环保和绿色的开展要求且散热小、可靠性高、信息显示量较大、多色显示色彩比拟丰富、无闪烁、低辐射对人体无危害。并且使用1602液晶显示设计电路较为简单,不需要放大电路和译码电路,节省设计周期,有专门的字符库,显示局部软件的编写较容易实现,有利于硬件制作和软件调试。3.2.1LCD1602液晶显示器〔1〕LCD模块的组成:图3.-3LCD1602模块组成图LCD1602是由控制器、驱动器和液晶板集成在一起的液晶显示模块。模块组成图如图3.3.1所示。封装好的LCD1602液晶显示器有16个引脚,8个数据引脚,2个数据输入引脚,2个电源,2个地,1个比照度调整引脚和1个使能信号输入引脚。〔2〕LCD1602的引脚定义〔2〕LCD1602主要参数:1〕显示容量:16*2个字符;2〕工作电压:4.5~5.5V;3〕工作电流:2.0mA〔5.0V〕;4〕最正确工作电压:5.0V;5〕字符尺寸:2.95*4.35〔WXH〕mm。〔4〕LCD1602操作时序:表3.2LCD时序输入输出D0~7读状态RS=0,RW=1,E=1状态字写指令RS=0,RW=0,D0~7=指令码,E=高脉冲无读数据RS=1,RW=1,E=1数据写数据RS=1,RW=0,D0~7=数据,E=高脉冲无〔5〕LCD初始化设置表3.3LCD初始化指令码功能00111000设置16*2显示,5*7点阵,8位数据接口〔6〕LCD显示光标及显示开、关设置表3.4LCD光标设置指令码功能00001DCBD=1显示,D=0不显示C=1显示光标,C=0不显示光标B=1光标闪烁,B=0光标不闪烁000001NSN=1读写一个字符后地址指针、光标加一N=0读写一个字符后地址指针、光标减一S=1写一个字符后〔N=1〕整屏显示左移或〔N=0〕整屏显示右移〔7〕LCD数据指针设置表3.5LCD数据指针设置指令码功能80H+地址码设置数据地址指针LCD1602显示器连接时,显示器模块的第3引脚应接一个滑动变阻器以调节屏幕显示的清晰度,本设计在焊接时经过反复试验确定可以将第3引脚直接通过一个2.4k的电阻与地相连。因此得出的电路图如下列图所示。图3-4显示器连接图3.3温湿度检测和烟雾检测电路设计传统的温度传感器和传统的湿度传感器与单片机都不能直接相连,必须使用放大器将温度、湿度传感器采集的信号放大再经过模数转换器的转换才能输入单片机中,而且在测量时要进行复杂的校准和标定,因此使用传统的温度、湿度传感器设计时,将会增加设计和调试的难度且不能保证电路的可靠性。本设计选取DHT11型温湿度传感器进行设计。3.3.1DHT11温湿度传感器DHT11传感器的封装图如下所示。图3-5DHT11封装图使用DHT11温湿度传感器的优点有:〔1〕温湿度传感器将温度、湿度传感器集成为一个,减少元件的数量。〔2〕传感器、放大器、模数转换器和总线接口等电路集成在一起,减少了硬件电路的设计工作量且抗干扰能力增强,响应速度、测量精度也有较大的提高。(3)免调试,接线测量简单易行。图3-6DHT11与单片机的接线原理图参数:1〕湿度测量范围:20%~95%〔0℃~50℃范围〕,湿度测量误差:±5%;2〕温度测量范围:0℃~50℃,温度测量误差:±2度;3〕工作电压3.3V~5V;4〕数字量输出;5〕小板PCB尺寸:3.2cm*1.4cm;6〕电源指示灯〔红色〕;7〕每套重量约为8g。工作原理:DATA引脚与单片机连接进行同步通讯,单次通讯时间为4ms左右,数据分小树局部和整数局部,由于DHT11的小数局部是预留的,实际应用是不显示小数局部即小数局部一直为0。一次完整的读入数据是40位,高位先出。数据格式为:8位湿度整数+8位湿度小数+8位温度整数+8位温度小数+8位校验和。数据传输正确时校验和数据等于“8位湿度整数+8位湿度小数+8位温度整数+8位温度小数”所得结果的后8位。通信过程如下所示:图3-7总线空闲时为高电平,单片机将总线电平拉低等待DHT11响应,并且拉低时间必须大于18ms,以保证DHT11能检测到起始信号。DHT11接收到起始信号后等到起始信号结束,然后发出80us的低电平作为响应,单片机延时20~40us后,读取DHT11传感器的响应信号。图3-8当总线为低电平时说明DHT11发出响应信号,DHT11发送响应信号结束后,将总线置80us高电平,准备发送数据,每一位数据都是以50us时间的低电平开始的,低电平时间的长短决定所发的数据是0还是1。当一位数据发送完毕后,DHT11将总线拉低50us,随后总线又将进入空闲状态。图3-9数据0的波形图图3-10数据1的波形图3.3.2MQ-2烟雾传感器〔1〕MQ-2烟雾传感器的工作原理:MQ-2传感器是利用对某些气体的特殊物理反响而制成的半导体器件。当温度上升至200~300℃时,极易吸附空气中的氧离子。由上面的电化学方程式可知,,即要满足电子平衡。假设m表示的是本身的氧离子,n表示吸附的氧离子,在没有吸附氧离子之前,当吸附一定的时,本身的氧离子由于化学反响而失去即,也就是说本身的电子浓度将减少,半导体导电性降低即电阻率上升。当与复原性气体接触时,复原性气体与吸附氧发生电化学反响,使晶体吸附氧离子脱离吸附,导致外表势垒降低,从而使半导体的导电性增加。此时半导体的导电性随着吸附气体浓度的增加而上升,通过检测半导体的导电性就可以检测环境中气体的浓度。因此,利用制成的半导体器件可以检测环境气体的浓度。〔2〕参数:1〕具有信号输出指示。2〕模拟信号和数字信号双路输出。数字信号低电平有效,可以直接与单片机相连。4〕模拟量输出0~5V电压,浓度越高电压越高。5〕对液化气,天然气,城市煤气有较好的灵敏度。6〕具有长期的使用寿命和可靠的稳定性。7〕快速的响应恢复特性。8〕工作电压:5V。图3-11MQ-2封装图〔3〕MQ-2烟雾传感器的特性:1〕对液化气、丙烷、丁烷、烟雾、酒精、氢气的灵敏度高,可精准的有刺激性和无刺激性气体的干扰。2〕MQ-2烟雾传感器反响速度快,并且具有良好的重复性和长期稳定性。3)可承受的电压范围较广〔24V以下均可〕。图中纵坐标为传感器的电阻比〔〕,横坐标为气体浓度。表示传感器在不同浓度气体中的电阻值,表示传感器在氢气中的电阻〔4〕MQ-2烟雾传感器的结构和外形图3-13封装好的气敏元件有6个针状管脚,其中4个用于信号输出,2个用于提供加热电流。本设计使用的是MQ-2模块。有四个引脚,分别是电源、地、数字信号输出和模拟信号输出。电源接通后,当检测到复原性气体时,数字信号输出引脚将输出低电平,模拟信号输出引脚将输出不同级别的电压,测量引脚电压的大小可计算出环境中复原气体的浓度。图3-14MQ-2模块与单片机的连接图3.4报警电路设计单片机的I/O口在接发光二极管时应加上一定的电阻,以起到限流作用,从而保护二极管和单片机,这种电路接法常用的有拉电流的驱动方式和灌电流的驱动方式。但是,采取拉电流的接线方式会降低单片机的驱动能力和可靠性,因此只有供电线路较简单时才采取拉电流的驱动方式。在实际应用中,一般都是采用灌电流的驱动方式以提高系统的带载能力和系统的稳定性。本设计使用灌电流的方式以保证系统的可靠性。原理图如下列图所示:图3-15报警电路第四章软件设计4.1系统主程序图系统上电时首先对系统进行初始化,然后判断是否有可燃气体产生,如果有那么声光报警,没有那么继续检测,再对温湿度进行显示,然后判断温湿度是否超标,如果超标那么声光报警,如果温湿度适宜那么继续测试。程序图如下列图所示:图4-1系统主程序图4.2烟雾检测与报警程序设计由于本设计所使用的烟雾传感器具有数字信号和模拟信号输出功能,因此在对不需要输出烟雾浓度的情况下可以直接检测数字输出引脚是否为低电平来判定是否有烟雾产生。程序如下所示:#include"reg51.h"sbitfmq=P1^3;//定义蜂鸣器接口sbitmq=P2^0;//定义传感器接口sbitspkb=P3^0;//定义报警显示灯sbitzch=P1^5;//定义正常显示灯voidmain(){unsignedinti;spkb=0;//将报警显示灯熄灭zch=0;//正常显示灯点亮while(!mq)//判断传感器引脚是否是低电平{ zch=1;//将正常显示灯熄灭for(i=0;i<200;i++)//蜂鸣器报警,报警显示灯闪烁{fmq=!fmq; spkb=!spkb;}fmq=1; spkb=0;}}图4-2烟雾报警程序流程图4.3温湿度监测与显示系统启动时首先要进行单片机、液晶显示器以及传感器等的初始化为传感器对室内环境温湿度的检测做准备,温湿度传感器将感应到的物理信号转化为单片机能够识别的数字信号,然后经过单片机的处理将测得的温湿度参数显示在液晶显示器上,最后将所得的数据与设定参数做比拟,如果参数不适宜那么由温湿度控制模块进行调节,直到到达适宜值为止,如果参数适宜那么返回继续检测,重复以上过程。图4-3温湿度检测与显示流程图第五章系统测试5.1系统参数的设定根据测试气体种类的不同调节烟雾传感器的灵敏度,测试时室内温湿度分别为:19℃和35%,测试时将温度范围设置为20℃~24℃,湿度范围为40%~45%。(实物如附录三所示)5.2系统软件的烧写1〕下载STC元件库,加载到的安装目录下,翻开软件,新建工程文件“lili.uvproj”保存,在弹出如下对话框中选择“STCMCU”。图5-12〕创立C语言程序保存为文件“lili.c”,将C程序添加到工程中,按下快捷键“Alt+F7”,在弹出的对话框中选择“Otput”,然后选择“CreateHEXfile”,最后编译、运行生成“lili.hex”。3〕将下载器与单片机连接,翻开STC_ISP_V480烧写软件,选择对应的端口和单片机型号,翻开工程文件“lili.hex”,然后点击下载,带对话框提示下载完成时,断开下载器与单片机的连接,给系统供电。5.3测试现象1〕按下电源开关,可以看见显示器上显示温湿度分别为:20℃和25%,由于温湿度均小于设定值,所以低湿度报警显示灯和地温度报警显示灯均闪烁正常显示灯做频率较小的闪烁,且蜂鸣器发出一定频率的报警声。2〕用手按住温湿度传感器,待报警停止时放开,此时温湿度参数符合设定值。3〕用打火机对着烟雾传感器放气,可以看见烟雾报警显示灯闪烁并且蜂鸣器发出同频率的报警声,正常显示灯灭。停止对传感器放气,蜂鸣器与烟雾报警显示灯停止工作。正常显示灯亮。4〕用打火机在温湿度传感器旁给传感器加热模拟升温过程,可以看见显示器上的温湿度不断变化,直到温湿度超过设定值范围,此时,高温报警显示灯和高湿度报警显示灯闪烁,正常显示灯做频率较小的闪烁。5〕重复测试。表5-1温度测试温度是否报警119是220否326是表5-2湿度测试湿度是否报警135%是242%否350%是5.4测试总结由于本系统使用的温湿度传感器不能返回温湿度值的小数局部,测试时反响不灵敏,就总体而言系统性能较好。可以通过调节烟雾传感器的灵敏度调节按钮,使系统对不同烟雾浓度报警。第六章总结本次设计是基于STC国产增强型单片机的智能家居监测控制系统的设计,是基于单片机最小系统的设计,同时也是多传感器融合的设计。利用简单的电路和经济实惠的研究方法实现了室内烟雾的监测与报警、温湿度的检测和显示及其异常时的处理等。本次设计不仅使自己了解了国际国内智能家具的开展现状和未来智能家居的前进方向,最重要的是丰富了自己的知识,增强了动手能力。在设计的最后虽然是取得了一定的成果,但是也遇见了很多无法预料的困难。设计中存在的问题及解决方法:硬件设计出现的问题及解决方法:设计液晶显示电路时,液晶显示器一直没有显示应该要显示的数据,用万用表测试时各线路都是连通的,因此开始时认为是软件问题,试了很多软件后仍然没有结果,后来尝试检查硬件电路问题,一开始直接利用杜邦线将P0口和液晶显示器的数据接口连接起来测试还是没有结果,因此排除是液晶显示器的数据线连接的干扰问题。插上电源时液晶能正常背光,可以排除是液晶显示器15和16两引脚的连接问题,1、2和3是液晶显示的电源和地,最有可能出现问题,而1和2是直接和电源和地相连的,所以初步将出问题的可能性定在引脚3上。查阅资料时,发现引脚3是通过滑动变阻器分别与电源和地相连,而本设计只是通过2.4k的电阻与电源相连,由于设计前没用准备滑动变阻器,所以修改电路时试着将电阻的接电源端改为接地,下载程序测试时竟然奇迹般的可以显示了,至此本设计硬件的显示局部就算是设计完成了。软件设计中出现的问题及解决方法:设计蜂鸣器报警时,下载报警程序测试蜂鸣器发出的声音很小,达不到预期的效果,开始时基于设计液晶显电路时出现的问题和解决问题的经验,很自然的认为是硬件电路设计的缺乏,所以很长一段时间内都在做硬件电路的改善,在尝试多种电路的接法仍无果后,又将解决问题的重心回到软件设计上来。首先尝试的是查找不同的驱动程序,发现得到的结果是一样的,后来无意间修改延时函数,测试所发出的声音有所改善,经过不断的调试终于得到了理想的结果。参考文献[1]丁向荣.《STC系列增强型8051单片机原理与应用》.电子工业出版社2011.1[2]赵广林.《Protel99SE电路设计与制版》.电子工业出版社.2005.2[3]李全利.《单片机原理及接口技术》.高等教育出版社.2004.1[4]刘鲲,孙春亮《单片机C语言入门》,人民邮电出版社

[5]刘剑,刘奇穗《51单片机开发与应用根底教程〔C语言版〕》中国电力出版社2011

[6]常敏,王涵,范江波,《51单片机应用程序开发与实践》,电子工业出版社

2009[7]唐颖.《单片机原理与应用及C51程序设计》,北京大学出版社2008[8]魏伟,胡玮,王永清,《51单片机C语言开发与应用技术案例详解》化学工业出版社2010

[9]姜帅,武奇生,王为之.《物联网智能家居防盗平安系统设计》.中国学术期刊网络出版总库2013.8[10]刘春起.《室内温湿度监控系统设计[J]》.石家庄职业技术学院学报,2008(6):32-34.[11]金发庆.《传感器技术与应用》.北京:机械工业出版社,2004附录1P0:LCD液晶显示器数据接口P1.0:LCD_RSP1.1:LCD_RWP1.2:LCD_ENP1.3:蜂鸣器P1.4:按键加〔右,Max湿度〕P1.5:正常显示灯〔蓝〕P1.6:按键减〔左,Max湿度〕P1.7:功能键P2.0:烟雾传感器数字信号输入端P2.1:低湿度报警显示灯P2.2:烟雾传感器模拟信号输入端P2.3:空P2.4:低温报警显示灯P2.5:高温报警显示灯P2.6:高湿度报警显示灯 P2.7:温湿度传感器信号输入端P3.0:烟雾报警显示灯P3.1:按键加〔上,Min温度〕P3.3:按键减〔下,Min温度〕P3.6:按键加〔右,Max温度〕P3.2:按键减〔左,Max温度〕P3.7:按键加〔上,Min湿度〕P3.4:按键减〔下,Min湿度〕附录2系统总电路图附录3实物图:附录4主程序:#include"reg51.h"#include<intrins.h>#defineuintunsignedint#defineucharunsignedchartypedefunsignedcharunint8;typedefunsignedcharunint16;unsignedcharstr1[]={""};unsignedcharstr2[]={""};unsignedcharcodedis1[]={"TRHRH:"};unsignedcharcodedis2[]={"TRHT:"};sbitio=P2^7;//温湿度传感器DHT11数据接入sbitLCD_RS=P1^0;sbitLCD_RW=P1^1;sbitLCD_EN=P1^2;sbitSPK=P1^3;sbitmq=P2^0;sbitspkb=P3^0;sbitzch=P1^5;sbitshidubg=P2^6;sbitwendubg=P2^5;sbitshidubd=P2^1;sbitwendubd=P2^4;sbitgongneng=P1^7;sbitsxjia=P3^7;sbitsxjian=P3^4;sbitsdjia=P1^4;sbitsdjian=P1^6;sbitwxjia=P3^1;sbitwxjian=P3^3;sbitwdjia=P3^6;sbitwdjian=P3^2;unint8TH_data,TL_data,RH_data,RL_data,CK_data;unint8TH_temp,TL_temp,RH_temp,RL_temp,CK_temp;unint8com_data,untemp,temp;unint8respond;uchardata_byte;ucharRH_data,RL_data,TH_data,TL_data;/********************************************************************************/voiddelayNOP(){_nop_();_nop_();_nop_();_nop_();}/*********************************************************************************//*********************************************************************************///毫秒级延时子程序/*********************************************************************************/voiddelay_ms(unsignedcharms){unsignedchari;while(ms--){for(i=0;i<150;i++){_nop_();_nop_();_nop_();_nop_();}}}/*********************************************************************************//*********************************************************************************///5us级延时程序/*********************************************************************************/voiddelay1(){unint8i;i--;i--;i--;i--;i--;i--;}/********************************************************************************/voiddelay(ucharms){//延时子程序 uchari;while(ms--){ for(i=0;i<250;i++);}}/********************************************************************************///测试LCD忙碌状态//lcd_busy()为1时,忙,等待。lcd_busy()为0时,闲,可写指令与数据。/********************************************************************************/bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;delayNOP();result=(bit)(P0&0x80);LCD_EN=0;return(result);}/*******************************************************************************//*******************************************************************************///写入指令数据到LCD/*******************************************************************************/voidlcd_wcmd(unsignedcharcmd){while(lcd_busy());LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=cmd;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}/*****************************************************************************//*****************************************************************************///写显示数据到LCD//RS=高电平,RW=低电平,E=高脉冲,D0-D7=数据。/*****************************************************************************/voidlcd_wdata(unsignedchardat){while(lcd_busy());LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat;delayNOP();LCD_EN=1;delayNOP();LCD_EN=0;}/****************************************************************************//****************************************************************************///LCD初始化设定/****************************************************************************/voidlcd_init(){ LCD_EN=0; lcd_wcmd(0x38);//显示模式设置 lcd_wcmd(0x0e); lcd_wcmd(0x06);//设置显示方式及光标 lcd_wcmd(0x01);//清屏 lcd_wcmd(0x80);}/****************************************************************************//****************************************************************************///设定LCD显示位置/****************************************************************************/voidlcd_dis_pos(unsignedcharpos){lcd_wcmd(pos|0x80);//数据指针=80+地址变量}/****************************************************************************//****************************************************************************/voidstart()//开始信号{ io=1; delay1(); io=0; delay(20);//>18ms io=1;delay1();//20-40us delay1(); delay1(); delay1(); delay1();}ucharreceive_byte()//接收一个字节{ uchari,temp,count; for(i=0;i<8;i++) { count=2; while((!io)&&count++)//等待50us低电平结束 temp=0; delay1();delay1();delay1();delay1(); if(io==1)temp=1; count=2; while((io)&&count++); if(count==1)break; data_byte<<=1; data_byte|=temp; } returndata_byte;}voidreceive()//接收数据{ ucharT_H,T_L,R_H,R_L,check,num_check; ucharcount; start();//开始信号 io=1; if(!io)//读取DHT11响应信号 { count=2; while((!io)&&count++);//DHT11高电平80us是否结束 count=2; while((io)&&count++); R_H=receive_byte(); R_L=receive_byte(); T_H=receive_byte(); T_L=receive_byte(); check=receive_byte(); io=0;//拉低延时50us delay1();delay1();delay1();delay1();delay1(); io=1; num_check=R_H+R_L+T_H+T_L; if(num_check==check) { RH_data=R_H; RL_data=R_L; TH_data=T_H; TL_data=T_L; check=num_check; }}}voidclc(){ chari; for(i=0;i<16;i++) { lcd_dis_pos(0x80+i); lcd_wdata(''); } for(i=0;i<16;i++) { lcd_dis_pos(0x80+0x40+i); lcd_wdata(''); }}//主函数//TH,TL,RH,RL分别代表温湿度的整数和小数局部/****************************************************************************/voidmain(){unsignedchari,n=0x40,m; unsignedintii,setcount; intwdd,wdx,sdd,sdx; wdd=28; wdx=23; sdd=60; sdx=30; spkb=0; zch=0;setcount=0;lcd_init();while(1){ if(!mq) { zch=1; for(ii=0;ii<10;ii++) { SPK=!SPK; spkb=!spkb;delay(15); } } else { spkb=0; zch=0; } //read_TRH(); //写字符 receive(); //湿度整数局部 str1[0]=(char)(0X30+RH_data/10); str1[1]=(char)(0X30+RH_data%10); str1[2]=0x2e;//小数点 //湿度小数局部 str1[3]=(char)(0X30+RL_data/10); str1[5]=0X25;//"%" str1[6]=0X52;//"R" str1[7]=0X48;//"H" //温度整数局部 str2[0]=(char)(0X30+TH_data/10); str2[1]=(char)(0X30+TH_data%10); str2[2]=0x2e;//小数点 //温度小数局部 str2[3]=(char)(0X30+TL_data/10); str2[5]=0X27;//"'" str2[6]=0X43;//"C" //冬天:18~25℃和30%~80%;夏天:23~28℃和30%~60% //湿度报警 if((((str1[0]-48)*10+str1[1]-48)<sdx)) { zch=1; for(ii=0;ii<10;ii++) { SPK=!SPK; shidubd=!shidubd;delay(15); } } else { shidubd=1; } if(((str1[0]-48)*10+str1[1]-48)>sdd) { zch=1; for(ii=0;ii<10;ii++) { SPK=!SPK; shidubg=!shidubg;delay(15); } } else { shidubg=1; } //温度报警 if((((str2[0]-48)*10+str2[1]-48)<wdx)) { zch=1; for(ii=0;ii<10;ii++) { SPK=!SPK; wendubd=!wendubd;delay(15); } } else { wendubd=1; } if(((str2[0]-48)*10+str2[1]-48)>wdd) { zch=1; for(ii=0;ii<10;ii++) { SPK=!SPK; wendubg=!wendubg;delay(15); } } else { wendubg=1; } if(gongneng==0) { delay_ms(5); if(gongneng==0) { while(!gongneng); setcount++; } } switch(setcount) { case0: { //clc(); for(i=0;i<=7;i++) { lcd_dis_pos(i);//显示字符 delay_ms(5); lcd_wdata(dis1[i]); } delay_ms(5); for(i=0;

温馨提示

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

评论

0/150

提交评论