收藏 分销(赏)

基于STM32的室内智能安防系统设计.pdf

上传人:自信****多点 文档编号:4182006 上传时间:2024-08-12 格式:PDF 页数:3 大小:2.10MB
下载 相关 举报
基于STM32的室内智能安防系统设计.pdf_第1页
第1页 / 共3页
基于STM32的室内智能安防系统设计.pdf_第2页
第2页 / 共3页
基于STM32的室内智能安防系统设计.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、现如今,人们对室内安防系统的要求越来越高。该文介绍了一种以 STM32F407VET6 为核心,结合高性能低功耗温湿度、烟雾传感器来实现室内智能安防目的的安防系统。该系统通过 MQ-2 气敏型烟雾传感器、FOR 火焰传感器、DHT11 温湿度传感器进行多重监测。通过 OLED 显示电路将检测到的信息数据以电压信号的形式进行显示;当温度超过设定值,启动蜂鸣器进行报警。该系统具有结构简单、价格低廉、检测精度高等优点,适合人们居家使用。关键词:单片机;STM32F407;多重检测;安防系统当发生火灾或者天然气泄漏时,一套能够检测室内环境的系统是必需的,但传统多线型和总线型系统有着诸多弊端。本文介绍的

2、智能安防系统是一个集信息数据收集、信息数据传输、信息数据处理于一体的安全控制报警系统1。该系统能够及时发出报警信息警示房主,使其采取有效措施控制意外事件的发展,将火灾尽可能地消灭在萌芽时期,以确保社会公众的安全,尽可能地降低经济损失、减少人员伤亡。一、智能安防系统总体方案设计本次设计的内容是基于单片机 STM32F407VET6 的智能安防监测系统,利用 DHT11 温湿度传感器、FOR 火焰传感器以及 MQ-2 气敏型烟雾传感器2,搜集环境中的数值,并将其输送到单片机中,单片机处理后将数据实时显示在 OLED 显示屏上,当温度过高,触及阈值时或者检测到有明火时,蜂鸣器自动报警发出警示。安防监

3、测系统有三个电路模块,分别为信息采集电路、OLED 显示电路、蜂鸣器报警电路。信息采集电路主要是对室内的环境信息进行实时检测,采集模块包括 DHT11 传感器模块、FOR 火焰传感器模块及 MQ-2 烟雾传感器模块;OLED 显示电路则是将所采集到的环境信息通过 SDA 数据线从单片机中输送到 OLED 显示屏上显示;蜂鸣器报警电路则是当信息采集电路所探测到的环境数值达到提前设定在单片机中的阈值时,自动触发高电平使蜂鸣器发出声响进行报警,达到警示的效果。二、系统硬件设计在一个基本的报警系统中,需要的不仅仅是报警模块,还需要能够触发报警条件的报警源,而但报警源无法直接被智能安防系统所识别,或者直

4、接触发报警。这时系统检测模块的可靠性和稳定性就显得十分重要,不仅要满足灵敏度高这一点,还对元器件的使用寿命及抗干扰性能提出了更高的要求。(一)主控模块1.信息采集电路设计智能安防监测系统的信息采集电路主要由以下几部分组成(图 1)。第一部分是烟雾传感器,检测室内空气浓度,判断火灾发生与否。第二部分是火焰传感器,检测区域空间内有无明火,判断室内是否发生火灾(不包括厨房)。第三部分是温湿度传感器,负责检测室内的温湿度,一旦室内出现了异常高温则判定发生火灾3。FOR 火焰传感器DHT11 温湿度传感器MQ-2 烟雾传感器有源蜂鸣器OLED 显示屏STM32F407VET6开发板图 1 智能安防监测系

5、统信息采集电路主要组成部分2.烟雾及天然气泄漏检测电路设计本系统选用了 MQ-2 气敏型烟雾传感器,其具有灵敏度高、性能稳定、使用寿命长、探测范围广、响应速度快等恢复特性4。MQ-2 气敏型烟雾传感器作为安防监测系统的检测器,通过杜邦线与开发板相连接,其中传感器的模拟信号输出通过A0 口与 STM32 开发板的 PC0 端连接,D0 开关信号(TTL)通过杜邦线与开发板的 PA7 端连接,传感器的电源端口 VCC 接入开发板的 3V3,接地端接入开发板的 GND。传感器通过检测空气中的气体浓度进行信号输出:当浓度达到了使传感器小板的模拟电压突破提前设定好的阈值时,就会触发报警线,达到系统自动报

6、警的目的。3.火焰传感器明火检测电路设计被广泛应用于小车火源检测板上的 FOR 火焰传感器,价格便宜,并且监测明火的效果较好,因此也用于安防监测系统的明火检测5。红外光越强,数值就越小;红外光越弱,数值就越大。传感器模块在检测到外界火焰的存在时,DO 口就会向外发送低电平“0”;检测不到时,模块的 DO 口会发送高电平“1”。通过传感器的红外感应特性,当外界有明火时,传感器的红外线接收灯管会检测到明火的存在,而此时传感器小板则会把火焰的强度、亮度转换成模拟量输出给开发板,达到检测明火的效果。80/总第238期/2023/5学人问津在程序中先设定一个阈值;读取传感器返回的模拟值后,将它与设定好的

7、阈值进行比较,如果模拟值大于阈值,说明室内存在火焰,此时传感器小板上的 LED 灯会亮起;如果模拟值小于阈值,说明无火焰或者距离很远,则 LED 灯无反应。4.DHT11 温湿度传感器电路设计DHT11 温湿度传感器温度检测范围为 0100,是一种将湿度传感器和温度传感器结合在一起的传感器。DHT11 温湿度传感器有着响应时间短、价格相对便宜、体积小、电源消耗低6、信号传输距离远等优点。DHT11 温湿度传感器一共有 4个引脚,分别是电源的正极接线引脚、DATA、NC 空脚和接地的引脚。在传感器小板上有一个红色的 LED 发光二极管,可以用来显示 DHT11 传感器是否在正常工作。最后,将剩余

8、引脚都连接到对应引脚上。(二)OLED 显示电路设计OLED 显示电路可以将所检测到的信息数据,以电压信号的形式显示出来。本系统显示电路采用的是 0.96 英寸 OLED液晶显示屏 IIC 连接 12864 模块。通过杜邦线把 SCL、SDA 和开发板的 PB7 和 PB6 连接起来,开发板再通过对应的驱动程序把检测到的环境信息数值或是字符输出到 OLED 显示屏上。OLED 显示屏通过几个阻值为 4.7k 的限流电阻与单片机STM32F407VET6 开发板相连接,显示方法是通过 SDA 进行数据传输,SCL 用作刷新频率的时钟,收到来自开发板的信息传输后,OLED 会定点激发二极管进行显示

9、的任务。(三)蜂鸣器报警电路设计当系统判定当前室内环境出现了火灾,或者发生天然气意外泄漏时,单片机 STM32F407VET6 开发板会通过 PB12 号引脚发出高电平信号,有源蜂鸣器会向屋主发出报警信号7。而本次设计方案采用的是警示性强的“滴滴”报警声,只需要通过开发板上电,进行高电平触发,就可以实现蜂鸣器的报警器作用。蜂鸣器的 VCC 电源端口接入开发板的 5V 电源排针上,蜂鸣器的 I/O 接口接入开发板的 PB12 号引脚,此引脚也是接有一个阻值为 1k 电阻的三极管(PNP)的基极输入端,当 BUZZ,即开发板输出高电平“1”时,三极管会立刻导通,蜂鸣器就会因为通电而进行动作形成发声

10、报警。同样,当 BUZZ 输出的是低电平“0”时,三极管会截止,蜂鸣器因为没有电源接入而中断发声,报警动作也就随之停止。三、系统的软件设计软件设计部分:对烟雾传感器模块进行分析。首先传感器模块连接的引脚对应的是 A0 接 PC0、D0 接 PA7,模拟量和数字量同时接入单片机开发板,而在程序中调用了开发板内部自带的 ADC 其中之一,选取了 PC4 号引脚的 ADC1,作为烟雾传感器模块的数模转换器,通过 RCC 命令开启数模转换 ADC1 的时钟,利用引脚中的 I/O 接口进行数据传输,通过配置 I/O 接口去配合 ADC 模块进行数模转换,而由于在开发板中,ADC是挂载在总线 APB2 上

11、的,为了保证采样的缓冲间隔,选择了8 分频保证采样间隔区间大于 5s。利用 voidADC_Init 调用ADC,对 ADC 进行初始化设置,修改成需要的工作模式。通过 ADC_Cmd 对 ADC 进 行 使 能,ADC_SoftwareStartConvCmd 打开软件转换,等待转换完成,就会读取 ADC 的值。用 while语句判断转换是否完成,调取 ADC_GetFlagStatus 等待数据转换结果,最后返回 ADC_GetConversionValue 得到转换后的数值,再把数值通过函数调用 ADC_value 即可,如在主函数中sprintf(OLED_show_buf,:%d,a

12、dc_value)这一句,就是从ADC_value 中获取到了烟雾传感器检测到的具体数值。对温湿度传感器进行分析,一次完整的数据传输是 5 个字节,高位输出先发出。数据的格式:1 字节的湿度整数数据加 1字节的湿度小数数据加 1 字节的温度整数数据加 1 字节的温度小数数据再加 1 字节的校验和。同时,这款温湿度传感器的分辨率适配的是个位数。单片机通过杜邦线输出初始信号,为了准确性将前四个字节数据相加,DHT11 模块发出的响应信号由单片机接收。图 2 温湿度监测系统流程图(一)温湿度模块程序设计对于 DHT11 传感器,需要利用杜邦线将对应的引脚正确连接到单片机开发板的引脚接口上,同时需要在

13、程序中对DHT11 进行初始化设置,以及配置引脚接口,开启对应的区域时钟。通过主函数 main.c 中的 DHT11_int()对温湿度传感器进行初始化,然后在 DHT11.c 中进行温湿度的 GPIO 引脚初始化。同时,电源接 3.3VA 接口,通过 RCC 外设时钟控制开始GPIOE 组,将其分别设置为 GPIOE 和 ENABLE(使用时钟控制开启 GPIOE 区)。之后需要设置 DHT11 传感器具体的 GPIO引脚、GPIO 的工作模式(输入/输出)及 GPIO 速度(Low、Medium、Fast、High),完成对 DHT11 传感器的初始化配置。DHT11 温湿度传感器在完成一

14、次温湿度的测量后会生成 5个 8 位数据,一共 40 个 bit。前两个 8 位数的意义是湿度数据,第三位和第四位代表了温度数据,最后一个代表传感器的校验数据。81总第238期/2023/5/学人问津(二)烟雾传感器模块程序设计MQ-2 气敏型烟雾传感器想要通过杜邦线连接后在单片机STM32 上使用,和 DHT11 一样需要先对模块进行初始化配置,借助主函数 main.c 里面的函数 adc_init()对传感器进行初始化。然后在 adc.c 中进行烟雾传感器的 GPIO 引脚初始化。同时,电源要接 3.3VA 接口,烟雾传感器的数字输出引脚 D0 和模拟量输出引脚 A0 需要连接到单片机 S

15、TM32 开发板的 PC0 号 I/O 引脚和 PA7 号引脚。通过 RCC 外设时钟控制开始 GPIOE 组,将其分别设置为 GPIOE 和 ENABLE(使用时钟控制开启 GPIOE区)。之后需要设置 ADC 具体的 GPIO 引脚、GPIO 的工作模式(输入/输出)及 GPIO 速度(Low、Medium、Fast、High),才算完成对烟雾传感器的初始化配置。为了保证两次采样之间至少间隔 5s 以上,由于 ADC 的输入频率是 84MHz,而 ADC 转换最好不要超过 10MHz,所以当前的分频系数是 8 分频。接着进行 ADC 的功能函数,ADC_Cmd 这个命令是用来开启 ADC1

16、 的,同时,voidADC_get 函数中的 ADC_SoftwareStartConv,是开始进行数模转换的指令,ADC_value 这个函数是获取转换结果的,最后在主函数中通过调用 voidADC_get 和 ADC_value 这两个函数,就可以得到已经转换过的烟雾传感器检测到的具体数值。(三)显示模块程序设计OLED 显示屏通过杜邦线连接在单片机上直接使用,同样需要先对模块进行初始化配置,借助主函数 main.c 里面的函数OLED_Init()。烟雾传感器的时钟引脚 SCL 和数据引脚 SDA 需要连接到单片机 STM32 开发板上面的 PB7 号 I/O 引脚和 PB7 号引脚。需

17、要设置 OLED 具体的 GPIO 引脚、GPIO 的工作模式(输入/输出)及 GPIO 速度(Low、Medium、Fast、High),至此完成对 OLED 屏的初始化。OLED_Clear 函数对屏幕进行清屏处理。OLED_ShowString 函数显示检测到环境的具体数据。OLED_ShowCHinese 显示中文。(四)蜂鸣器报警模块程序设计有源蜂鸣器通过杜邦线连接单片机直接进行使用,同样需要先对模块进行初始化配置,否则蜂鸣器会持续发声。借助主函数程序 main.c 里面的函数 beep_init()。蜂鸣器的 I/O 引脚需要连接到单片机 STM32 开发板上面的 PA8 号 I/

18、O 引脚。利用GPIO 配置引脚、GPIO 的工作模式(输入/输出)及 GPIO 速度(Low、Medium、Fast、High),至此完成烟雾传感器的初始化配置。主程序中对于蜂鸣器报警使用的是 if 语句,当超过设定的阈值时,PA8 号引脚就会则输出高电平“1”促使蜂鸣器产生动作形成报警,“else”输出低电平“0”。四、实验结果(一)温湿度和烟雾模块通过 DHT11 温湿度传感器模块对室内温度、湿度环境进行检测,通过 MQ-2 烟雾传感器模块对室内空气环境进行检测。先对室内正常情况进行测试,湿度是 56.0,温度是 22.0,烟雾浓度显示数值为 3264。然后对温度进行测试,采取对传感器进

19、行呼气及手握传感器两种简单的动作。首先对手握温度传感器进行实验,此时,温度逐渐升高,OLED 屏上显示数值从 22.0上升到 28.4,湿度从 56.0 增加到 60.0,烟雾浓度变为 3294,大体不变。等传感器温度降为室温后继续进行呼气实验,此时温度升高的速度比手握时更快且温度更高,达到了 30.2,湿度也升高到 87.0,烟雾浓度为 3309,基本没有变化。除去人呼气和手握时产生的误差,可知温湿度传感器试验成功。参照以上实验方法,使用打火机点燃纸张,也能获得相应的正确结果。(二)OLED 显示由温湿度和烟雾模块所检测的各项数据都显示到 OLED 显示屏上,并且会自动刷新当前状态。(三)火

20、焰传感器通过使用打火机在火焰传感器模块附近进行打火试验。在没有实验前,小板上的电源指示灯 L1 正常亮起;当打火机打着时,火焰传感器小板上的一颗红色报警 LED 灯 L2 会瞬间亮起。(四)蜂鸣器报警对于报警的设定,设置两个触发条件:一个是温度达到 28及以上,另一个是室内环境的烟雾浓度数值超过 3300。这时STM32 开发板会输出报警信号触发蜂鸣器启动,进行发声报警。在软件设计上,实现了对智能安防监测系统的运行和系统运行的正常流程,针对软件层面,选择了 Keil5 编程软件对安防系统进行开发,一是它不会因为命令行的先后顺序而报错或者直接无效输出,二是 Keil5 的功能完善。室内智能安防系

21、统程序的开发和设计,成功完成了预期目标。五、结语基于单片机的室内安防系统可以根据客户的需求来设置阈值,具有较高的实用性和便携性,可为家庭提供全方位的保护。本系统通过 Keil5 开发软件进行程序编写,成功使用 DHT11 温湿度传感器和 MQ-2 烟雾传感器检测室内环境的温度、湿度和烟雾浓度;并通过单片机连接 OLED 显示屏,进行环境信息数据的传输,成功把温湿度和烟雾浓度的数值输出到显示屏上,并且自动刷新数据。通过提前设定阈值,当温度达到阈值或者火焰传感器检测到有明火时,会自动输出高电平触发蜂鸣器产生动作,进行报警。随着经济的发展,人们的安全意识和要求越来越高,因此,室内智能安防系统的应用前

22、景是非常广阔的。参考文献:1 李森.基于单片机的智能家居安防监控系统 D.石家庄:石家庄铁道大学,2017.2 李靖翔.直流换流站智能锁控系统的设计与实现 J.电工技术,2017(6):59-60.3 王宇涵.智能密码锁电子模组的设计与开发 D.西安:西安电子科技大学,2020.4 郭敏杰.基于嵌入式的家用智能锁的设计 J.科学技术创新,2020(21):85-86.5 金小萍.使用单片机实现 GPRS 通信小系统的研究 J.电子工程师,2007(7):18-19.6 曾德贵.智能建筑安防智能电子开关的设计与实现 J.石化电气应用,2015(3):51-54.7 李敏,苏智华,刘颖.基于 CORTEXM3_SIM900A 的报警系统设计 J.现代电子技术,2015(22):62-64.作者简介:吴雪莲,女,湖北武汉人,助教,硕士研究生,研究方向:电子与通信工程。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签
资源标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服