基于单片机的多点无线烟雾浓度监测系统设计.docx
《基于单片机的多点无线烟雾浓度监测系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的多点无线烟雾浓度监测系统设计.docx(60页珍藏版)》请在冰豆网上搜索。
基于单片机的多点无线烟雾浓度监测系统设计
题目基于单片机的多点无线烟雾浓度监测系统设计
学生姓名毛煜曦学号1213014080
所在学院物理与电信工程学院
专业班级电子1203班
指导教师王文洋
完成地点物理与电信工程学院实验室
2016年6月5日
毕业论文﹙设计﹚任务书
院(系)物理与电信工程学院专业班级电子学生姓名毛煜曦
一、毕业论文﹙设计﹚题目基于单片机的多点无线烟雾浓度监测系统设计
二、毕业论文﹙设计﹚工作自2016年1月10日起至2016年6月5日止
三、毕业论文﹙设计﹚进行地点:
陕西理工学院
四、毕业论文﹙设计﹚的内容要求:
在工业生产中,电流、电压、温度、烟雾浓度、压力、流量、流速和开关量等都是常用的主要被控参数。
其中,控制温度、烟雾浓度变得越来越重要。
在生活、工业生产等很多领域中,对温度、烟雾浓度的采集并进行检测和控制。
采用单片机对烟雾浓度进行控制具有控制方便、简单和灵活性大等优点。
本课题要求利用单片机作为核心控制器件,设计一种基于单片机的烟雾浓度及温度监测系,对环境的温度及烟雾浓度实现多点采集,通过无线传感器网络传输并实时显示,具备采集数据超限报警功能。
在仿真电路基础上制作硬件,完成样机的调试。
撰写毕业设计论文。
(应包括方案设计、比较与论证、分析与计算、电路图与相关设计文件以及心得体会等)。
五、毕业论文﹙设计﹚应收集资料及参考文献:
收集传感与检测、单片机编程与控制等方面的专业资料,阅读和学习下列参考文献:
[1]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:
高等教育出版社,2006.
[2]李建忠.单片机原理及应用(第三版)[M].西安:
西安电子科技大学出版社,2013.
[3]谭浩强.C程序设计(第二版)[M].北京:
清华大学出版社,1999.
[4]张敏菊.基于单片机的校园多点温度监控系统设计.[J].无线互联科技.2013(9):
92-93
[5]窦新宇.基于PIC单片机的煤与瓦斯突出检测系统的设计.[J].制造业自动化2013,35(7):
48-49
六、毕业论文﹙设计﹚的进度安排:
1月10日——3月20日:
查阅资料,完成外文翻译原文和开题报告。
3月21日——4月20日:
完成系统硬件电路的设计并提交中期检查报告。
4月21日——5月20日:
完成整体设计并调试,准备作品验收。
5月21日——6月5日:
撰写、修改毕业设计论文,准备并完成答辩。
指导教师签名系(教研室)主任签名
专业负责人签名批准日期
基于单片机的多点无线烟雾浓度监测系统设计
毛煜曦
(陕西理工学院物理与电信工程学院电子信息工程专业1203班,陕西汉中723000)
指导老师:
王文洋
[摘要]设计以传感器和单片机作为烟雾报警器设计的核心器件,配合其它器件即可实现声光报警、自动排烟换气和消防灭火等功能。
选用STC89C52作为控制器件,MQ-2型半导体可燃气体敏感元件烟雾传感器实现烟雾的检测。
主要由烟雾信号采集及前置放大电路、模数转换电路、单片机控制电路、显示电路、声光报警电路和安全保护电路构成。
论文主要针对烟雾报警系统中的各个组成部分及功能进行了详细的介绍和说明,并对其主控电路和外围设备电路之间的接口连接方式,以及系统软件设计进行了重点的分析和讲解。
[关键词]MQ-2;单片机;报警
Designofmonitorthesmokeconcentrationsystem
basedonMCU
YuxiMao
(Class1203,MajorElectronicsandInformationEngineering,CollegeofPhysicsandTelecomEngineering,ShaanxiUniversityofTechnology,Hanzhong723000,Shaanxi)
Tutor:
WenyangWang
Abstract:
Thedesignofthesensorandsingle-chipmicrocomputerasthecoredevicesmokealarmdesign,withotherdevicescanachievesoundandlightalarm,automaticexhaustventilationandfireextinguishingfunction.DesignofsinglechipSTC89C52isselectedasthecontroldevice,theselectionofsensorfordetectionofMQ-2typesemiconductorgassensitiveelementsmokesensorsmoke.Thesmokealarmismainlycomposedofsmokesignalacquisitionandthepreamplifiercircuit,analog-digitalconversioncircuit,single-chipmicrocomputercontrolcircuit,displaycircuit,alarmcircuitandprotectioncircuit.Themainthesisofthesmokealarmsystemforthevariouscomponentsandfunctionsareintroducedandexplained,andtheconnectionmodeofthemaincontrolcircuitandperipheralequipmentcircuitinterface,andthesoftwaredesignofthesystemisanalyzedandtheexplanationofthekey.
Keywords:
MQ-2;MCU;alarm
1.绪论
1.1研究背景与发展现状
随着现代社会的发展,我们的生活中出现了越来越多的安全隐患时刻危害着人们的生命安全。
其中,火灾对于人类生活安全的影响尤为严重,世界各国都对火灾的监测和控制十分看重。
因此,制作一款低廉有效的火灾烟雾检测系统尤为重要。
烟雾报警器的两个重要核心是单片机和烟雾传感器,单片机就像桥梁一样,起着连接传感器和烟雾报警器的作用,是十分重要的核心模块。
尤其近几年,单片机的应用已经普及到了农业、工业等多个常见领域,在社会生活中起着越来越重要的地位,在社会的需求下各种各样功能不一的单片机也被开发了出来[1]。
单片机是器件级计算机系统,它的实质就是一个微控制器(微处理器)。
因为功能齐全,体积小,成本低廉的优点,它在当今几乎所有的电子领域里都起着重要的角色。
所以,将单片机应用于报警领域中也是一个热门的方向[2]。
同时,作为为各类信息技术系统的重要器件,传感器来是十分重要的部分。
不论是什么系统或机器,如果没有“感官”感受信息,或者“感官”迟钝,都难以形成高精度、高速度的控制系统[3]。
二十世纪八十年代曾被人称为是“传感技术时代”,日本更是将传感技术的发展和应用列为十大重要技术之首。
所以,去选择一个价格低廉,灵敏度高,误差小的传感器模块是十分重要要的[4]。
结合多方面考虑,在这次设计中我选用了最为实用、常见的STC89C52单片机、MQ-2半导体气体烟雾传感器和DS18B20温度传感器[5]。
设计是以火灾的实时监测及自动报警技术为核心的多用消防系统,可以有效的监测并预防火灾的发生。
我国的火灾报警监测技术虽然在局部上得到了较大的发展,但其实在实际应用中,火灾烟雾监测和自动报警系统彼此间的通讯协议不一致,火灾报警技术也还存在着许多待攻克的缺陷[6]。
简单的总结一下,目前我国的火灾报警技术缺点主要有如下几点。
(1)适用范围依然很小。
我国火灾自动报警系统技术相比于英、美等发达国家起步要晚很多,目前为止安装范围仅仅是《高层民用建筑设计防火规范》、《建筑设计防火规范》等规定的特定场所和部位,而在一些容易造成群体死伤的许多非大型公众聚集场所和社区居民家庭甚至部分高层住宅都没有按照相关规定安装稳定、灵敏的烟雾浓度监测报警系统。
总体来说我国的报警技术依然存在适用范围过小,防范措施不到位的缺点[7]。
(2)智能化程度低。
虽然我国大多数的火灾检测器都进行了智能化处理,但由于目前市面上的传感器探测相关参数较少、相关对于系统支持的软件开发并不成熟、很多相关算法的准确性也并没有得到很好的验证、火灾现场相关重要参数的数据库尚且还不健全,火灾报警器无法正确判断烟雾浓度真实情况且现场温度、光波的强度以及各类可燃气体的浓度、有害电磁辐射等的监测也存在较大误差,因此造成的迟报、漏报、误报等情况不在少数[8]。
(3)网络化程度低。
我国目前应用的自动火灾119报警系统在其形式基本还是以区域火灾自动报警、集中火灾自动报警系统和控制中心火灾自动报警系统为主安装的形式依然是集散式,多数报警系统自我封闭自成一体,距离成型的区域化网络化报警系统依然有较大差距,有待改善[9]。
(4)组件间的连接方式有待改善。
目前我国主流的火灾报警系统还是以多线制和总线制连接方式为主,探测器和报警器及控制器之间是由多条的铜芯绝缘导线或铜芯电缆穿管相接。
这种连接方式存在很在很多问题,其中多耗材、高成本、相对较低的抗干扰能力是其主要的缺点。
另外,采用的这种铜制导线耐高温性能差、易磨损,系统出现问题后相关的维修十分复杂,严重影响了主流火灾报警器的实用性和安全性[10]。
(5)火灾检测系统普遍存在较多误报。
生活中我们遇到的火灾环境往往是很复杂的,另一方面我国的各类火灾传感器依然存在较大的不足,容易出现对现场的温度、烟雾浓度、各类有害气体监测的误判,最终造成了火灾检测及自动报警技术的整体不成熟[11]。
考虑到以上的问题,结合于目前的国际发展总趋势,我国应该加快相关的改进工作,增加对新材料、新技术的应用,]改进系统中的漏洞,使火灾检测在未来能够变得更稳定、少误报、网络化、更加智能化。
当前,欧美等发达国家在火灾报警方面的都有着明显的网络化、智能化、多样化、小型化、社区化、蓝牙化、高灵敏化发展趋势,同时这也是全世界火灾烟雾浓度监测及报警应用技术的总体发展趋势[12]。
1.2研究主要内容
利用单片机AT89C52作为核心控制器件,设计一种基于单片机的多点无线烟雾浓度监测系统,实现各种场景下的烟雾浓度及温度监测报警,当出现危险情况时可以出现报警作用,增强公共安全。
要求通过对空气中烟雾浓度及温度信息采集,当烟雾浓度或温度低于设定初值时,单片机将发出指令进行报警,指示灯变亮,蜂鸣器发出报警声,当温度及浓度再次低于设定值时,由单片机发出指令停止报警,指示灯不再亮,同时蜂鸣器停止报警声。
在此基础上,设计系统还具有手动报警功能,使工作人员在特殊情况下依然可以手动报警,以便防止意外的发生。
2.方案选择
2.1总体方案论述
烟雾报警器是能够检测环境中的烟雾浓度,并具有报警功能的仪器。
该报警系统的最基本组成部分应包括:
信号采集模数转换电路、单片机控制电路、字符显示电路、声光报警电路和安全保护电路等部分组成。
这里涉及了两种方案,分别是利用HC-05蓝牙实现的无线传输型烟雾浓度报警器和利用MQ-2半导体气体烟雾传感器实现的非无线报警装置,一下对这两种方案展开了详细的对比和论述。
2.2方案一的论述
2.2.1方案一的设计框图
本方案由几大功能模块组成的:
微型控制器MCU(STC89C52)、信息采集模块(温度传感器DS18B20、MQ-2半导体电阻式气敏烟雾传感器)、A/D模数转换模块(AD0832)、蓝牙模块(HC-05)、显示模块(LCD1602液晶显示屏)、报警模块(LED灯、蜂鸣器)。
系统设计框图如图2.2.1所示。
图2.2.1系统框图
2.2.2方案一的设计方法
方案由两个温度传感器DS18B20收集周围环境的温度数据和两个MQ-2半导体电阻式气敏烟雾传感器采集周围环境的烟雾以及敏感气体的浓度,经过电路的处理转换出数据,然后由MCU处理读取周围环境的实时温度以及各类敏感气体或烟雾所造成的空气浓度变化。
同时,从机通过HC-05蓝牙模块向主机发送对应工作点的温度和敏感气体的浓度数据,主机通过蓝牙所接收到的数据信息,经过单片机STC89C52处理,实时将温度、敏感气体浓度显示在LCD1602液晶显示屏上。
假如周围环境的温度或浓度达到或超过所设定的警报阈值,则主机、从机将发出警报,同时主机将亮起对应的指示灯,等到温度或浓度自行下降,则停止报警,主机则显示绿灯。
温度超过上限则显示红灯;环境烟雾或敏感气体浓度超过上限则显示黄灯。
2.2.3方案一的优缺点
基于单片机AT89C52制作的传感器报警器能够较好的检测空气中的烟雾浓度和温度,且实现了无线传输、多点测量的功能。
但在制作中,发现HC-05蓝牙模块难以调试,成本偏高且在实际应用中有较大延迟,而延迟在烟雾火灾监测中会造成严重影响,最终效果想要完美实现难度较大。
2.3方案二的论述
2.3.1方案二的设计框图
方案二的设计主体包含如下结构:
烟雾检测部分、STC89C52单片机主控部分、报警部分,AD采集四大部分,此外还加有按键部分,报警部分及显示部分。
设计总题框图如图2.3.1所示:
温度采集
显示电路
单
片
机
报警电路
AD转换
烟雾浓度采集
图2.3.1系统框图
2.3.2方案二的设计方法
方案设计的烟雾报警器具有显示报警状态。
报警器采用延时的工作方式,烟雾检测报警器以STC89C52单片机为控制核心,选用MQ-2半导体气体烟雾传感器采集烟雾浓度信息,配合外围电路构成烟雾报警系统。
处理器采用51系列单片机STC89C52。
整个系统是在系统软件控制下工作的。
设置在监测点上的烟雾检测探头将检测到的烟雾变换成电信号,送出模拟信号,给AD采集电路采集。
在单片机内,经软件查询、识别判决等环节实时发出烟雾报警状态控制信号。
驱动蜂鸣器及报警指示灯报警。
2.3.3方案二的优缺点
方案二具有高精度,低成本,易操作的特点。
所选用的材料成本较低且精度较高,使用寿命也长。
因为取消了无线蓝牙部分,使得传输的延迟程度大有减少,且各传感器反应也灵敏。
2.4方案的选择
通过对方案一和方案二优缺点的比较,因为火灾、烟雾气体浓度监测报警的特殊性,认为方案二比方案一更加适合。
首先,方案一中出现了较大的延迟,而这在火灾现场的报警工作中是十分危险的,相比之下方案二的方式几乎可以说是无延迟且传感器灵敏度也很高。
其次,方案二的元器件成本较低,所以可以批量制作,在同一场合安装多个报警器,能够更加好的实现多点检测而不失灵敏。
会使安全度大大上升。
且方案二的制作过程并没有方案一那么繁琐。
考虑到以上原因,设计采用方案二。
3.系统软件设计
编程软件采用keiluvision2软件,设计程序采用C语言进行编写。
软件部分可成功编译,并在proteus中仿真实现预期功能。
3.1设计流程分析
主程序流程图如下图所示。
再开始采集前应先将传感器预热,因为MQ-2烟雾传感器是气敏元件,内阻较小。
程序初始化结束后,系统就会进入监控状态。
总流程图如图3.1
图3.1主程序流程图
在整个报警系统工作中,烟雾浓度信息经因为是模拟信号,需先经ADC0832转换处理后,由单片机进行分析处理,判断系统是否启动报警。
主程序还包括LG3641BH数码管浓度字符显示功能、手动报警功能、报警浓度设定功能,中断子程序等.
主程序解析:
voidmain()
{
beep=0;//开机蜂鸣器叫一声
delay_1ms(200);
P0=P1=P2=P3=0xff;//初始化IO口为高电平
temperature=read_temp();//读取温度值
init_eeprom();//开始初始化保存的数据
delay_1ms(650);
temperature=read_temp();//读取温度值
time_init();//初始化定时器
while
(1)
{
key();//独立按键程序
if(key_can<10)
{
key_with();//按键按下要执行的程序
}
if(flag_300ms==1)
{
flag_300ms=0;
clock_h_l();
temperature=read_temp();//读取温度值
dengji=ad0832read(1,0);
dengji=dengji*10/250;
if(menu_1==0)
{
if(temperature>=99)
temperature=99;
dis_smg[3]=smg_du[dengji];//显示烟物报警等级
dis_smg[2]=0xbf;//-
dis_smg[1]=smg_du[temperature/10%10];//十位
dis_smg[0]=smg_du[temperature%10];//个位ADC0832为8位ADC,数值为0~255,我们将其分开放入l_tmpdate数组中显示
}
}
delay_1ms
(1);
}
}
3.2温度、烟雾浓度采集及处理函数
温度采集及处理函数主要进行温度的采集和处理。
首先,确认将DS18B20安装好,之后,启动电源,DS18B20会自动采集到当前温度,发出数字信号,将结果发送至单片机。
然后将结果显示在LG3641BH数码管显示模块上。
若判断此时温度大于最大设定值则会触发蜂鸣器报警。
温度采集模块流程如图3.2(a)所示
烟雾浓度采集及处理函数主要进行烟雾浓度的采集和处理。
首先,确认将烟雾传感器MQ-2安装好,之后,启动电源,MQ-2会自动采集到当前浓度值,发出模拟信号,将该信号经过AD转换模块转换成数字信号,再将结果发送至单片机。
然后将结果显示在LG3641BH数码管显示模块上。
若判断此时温度大于最大设定值则会触发蜂鸣器报警。
烟雾浓度采集模块如流程如图3.2(b)所示
烟雾浓度的国际单位为ppm,是用每立方米的大气中含有污染物的体积数(立方厘米)或(ml/m3)来表示,即1ppm=1立方厘米/立方米=10-6。
MQ-2测量大气中普通气体颗粒的范围约为100-10000ppm。
因为所采用的LG3641BH数码管显示空间有限且ppm单位的数值都较大,所以在MQ-2范围内将所测量ppm值由最小到最大显示为0-9十个等级。
DS18B20检测温度
DS18B20发出数字信号,传送给单片机
否
是
报警
图3.2(a)温度采集模块流程图
MQ-2进行预热
MQ-2检测烟雾浓度
MQ-2发出模拟信号,通过AD转换传送给单片机
否
是
报警
图3.2(b)烟雾浓度采集模块流程图
3.3LG3641BH显示函数
LG3641BH数码管显示函数先将其进行初始化,之后进入显示界面,之后便会显示当前温度,烟雾浓度数值。
LG3641BH数码管显示函数流程如图3.3所示。
数码显示函数:
voiddisplay()
{
uchari;
P1=0xff;//消隐
P2=smg_we[i];//位选
P1=dis_smg[i];//段选
i++;
if(i>=4)//4位数码管显示
i=0;
}
3.4蜂鸣器报警函数
蜂鸣器报警函数的作用主要是同时对检测到的温度与烟雾浓度进行比较,判断是否发出报警。
温度报警函数流程流程如图3.4(a)所示。
单片机读取从温度传感器DS18B20传送过来的温度信息,将当前温度值与程序设定的限额进行对比,之后根据比较结果发出控制指令控制启动蜂鸣器。
烟雾浓度报警函数流程流程如图3.4(b)所示。
单片机读取从烟雾浓度传感器MQ-2传送过来的浓度信息,将当前浓度值与程序设定的限额进行对比,之后根据比较结果发出控制指令控制蜂鸣器发出报警声。
报警程序:
voidclock_h_l()
{
staticucharvalue;
if((dengji>=s_dengji)||(temperature>=s_temp)||(shoudong==1))//报警
{
value++;
if(value>=2)
{
value=10;
beep=~beep;//蜂鸣器报警
}
}else
{
if((dengji{
value=0;
beep=1;//取消报警
}
}
}
4.硬件电路设计
整个控制系统由单片机最小系统、单片机时钟电路以及复位电路、烟雾浓度和温度采集模块、显示模块、声音报警、按键部分组成。
其中电源由实验室5V电源提供。
4.1单片机最小系统
单片机最小系统就是要使单片机工作起来最基本的电路。
如图4.1示。
图4.1单片机最小系统
单片机、时钟电路、复位电路共同组成了单片机最小系统。
STC89C52单片机的工作电压范围:
4V-5.5V,因此我们通常给单片机外界5V直流电源。
连接方式为将单片机中的40脚VCC接正极5V,而20脚VSS接电源地端。
复位电路用来确定单片机的工作起始状态,完成单片机的启动过程。
单片机在接通电源时会产生复位信号,用以完成单片机启动并确定起始工作状态。
运行中的单片机系统如果受到外界环境干扰出现程序跑飞的时候,可以按下复位按键使内部的程序从头运行。
复位有上电自动复位和外部按键手动复位,在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以进行复位。
此次设计中我采用了外部手动按键复位电路,需要接上拉电阻来提高输出高电平的值。
时钟电路在单片机中起到了重要的作用,它好比单片机的心脏,控制着单片机的工作节奏。
时钟电路就是振荡电路,是向单片机提供一个正弦波信号作为基准,决定着单片机的执行速度。
XTAL1和XTAL2是两个反向放大器的输入和输出,这个反向放大器可以配置成片内振荡器。
若是要采用外部时钟源驱动器件时,XTAL2应不接。
因为一个机器周期内有6个状态周期且每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,则一个振荡周期为1/12us。
4.2单片机时钟电路与复位电路
系统采用STC系统列单片机,相比