基于单片机的危险气体远程检测报警系统设计

发布于:2025-07-21 ⋅ 阅读:(22) ⋅ 点赞:(0)

摘 要

为了尽早发现和预防各类危险气体减少对人的危害,保护自己和个人或公共财产的安全,需要使用自动报警器对人进行预警。
本文中作为危险气体检测系统的主要技术采用了传感器和单片机,该系统基于STM32F103单片机无线数据传输系统和通过气体传感器MQ-4对危险气体的浓度进行监测,并通过AD模数转换模块将模拟量转换为数字值,再发送给单片机,LCD1602液晶显示屏显示当前检测到的气体浓度值,单片机通过ESP8266无线模块和手机进行传通讯将当前数据发送至手机上显示,通过按钮设置气体浓度报警上限数值,当气体浓度超过上限值时,启动蜂鸣器进行报警。实现了液晶显示危险气体的浓度和报警的功能,对气体检测报警系统的实现技术展开了较为深入地研究,为有害气体监测技术的实现提供了参考。

关键词:气体监测;传感器;单片机;无线数据传输

1 控制系统设计

1.1系统方案设计
本次设计主要是用来检测有害气体,具有报警功能的设备。目前化工厂内的工作环境并不理想,通过实习我发现整个厂区内的危险气体如甲烷等浓度特别高,工人作业时有害气体吸入量特别的大,而且一旦气体泄漏后极易造成火灾、爆炸等事故,危害极大。所以,本设计应当实现以下三项功能:检测室内的危险气体浓度、达到对应浓度报警、手机远程显示室内气体浓度值。本设计的完成,整体控制方案的选择尤为重要,根据上面提到的要求,下面列举出几种可行的控制方案,并进行对比,选出最适合本设计的方案。
方案一:
采用单片机作为控制器,将功能部件集成在芯片上,集成度高、体积自然小、内部总线结构的单片机,减少了芯片之间的通信,使其具有可靠性和抗干扰能力。 由于单片机的体积小,可以很容易采取电磁屏蔽或密封措施,适合在恶劣环境下工作。 而且,单片机指令丰富,功耗低,电压低,易于生产便携产品,易于扩展,可靠性高,价格低,经济效益高,能达到预期的功能。
方案二:
使用集成电路作为控制器,电路很简单。由于集成电路的引入,集成电路简化了设计、调试和安装完整电路。集成电路具有很高的可靠性优势。但是集成电路很难理解。许多集成电路指标在修复和拆卸方面非常困难,修理的成本也会增加。当集成电路内电路中的部分电路出现故障时,通常必须整块一起修理。
综上所述,集成电路如果出现故障不方便拆卸与修理,而单片机既能满足本设计所要实现的功能,又具有低成本的优点,故选择方案一。
1.2系统工作原理
本次设计采用LED1602液晶显示器显示采集到气体浓度值,单片机作用为STM32F103,MQ-4传感器时刻检测当前环境气体浓度。按键用来设定气体浓度报警上限值,通过模转换将采集到的气体浓度值模拟值转换为数字量,并传输给单片机进行计算。ESP8266无线模块用于单片机和手机之间的通信,将采集到的数据无线发送到手机端进行展示。包含两个按键,用来设置气体浓度报警上限值。危险气体浓度值大于设置的上限时,单片机驱动三极管控制蜂鸣器进行报警。系统的工作原理图如1.1所示。

在这里插入图片描述

图1.1 系统工作原理图

2 硬件设计

2.1 主电路
2.1.1 单片机最小系统
单片机最小系统由晶振电路、STM32F103芯片和复位电路组成。只要有这三者存在,单片机就可以正常的工作。[1]
单片机最小系统框图如图2.1所示。
在这里插入图片描述

图2.1 单片机最小系统框图
2.1.2 STM32F103单片机
STM32F103单片机是一款低功耗、高性能的微控制器,是STC公司早期生产用于工业控制的单片机。其作用是控制各种传感器和外设,自行计算处理得到的数据和信号,并进行相应的操作[2],在工业生产中起到大脑的作用。
对于本次设计选择的是STM32F103C8T6单片机。此单片机和51系列相比多了很多功能,不但运行速度比51单片机要快很多,自带2个AD转换,方便我们在设计烟雾的时候免去了需要加外部ADC进行转换,非常方便;
STM32有着很强大的通信功能和控制功能。这一点是51单片机无法比拟的。因为51单片机只有1个串口进行通信,而32单片机具有5个串口进行通信,所以对一些要求用串口进行通信的模块而且就不需要通过CD4052等双串口模块来转换,所以这一点被市场上广泛的运用,32单片机因为本身可以进行多种不同的时钟模数来进行工作,所以在功耗要求比较严格的产品中占有一席之地。
STM32特点:
(1)STM32C8T6系列的起振晶部分采用了RTC,低负载的方式,而没有像传统的比较廉价的圆柱晶振。
(2)引脚个数为48个。
(3)工作频率为72MHZ。
(4)单片机具有3个普通定时器和1个高级定时器。
(5)单片机具有2个2位/16通道的ADC模数转换。
(6)使用了3.3V稳压芯片,可以保证最大输出300MA电流。
(7)支持ST-LINK和JTAG调试下载。
(8)存储资源为64kb byte FLASH和20byte Sram。
STM32实物图如图2.2所示。
在这里插入图片描述

图2.2 STM32F103C8T6 实物图

3 软件设计

3.1 系统主程序设计
系统的主流程图如图3.1所示。各个模块开始工作开始,实时检测甲烷气体浓度值,并进行相应的报警操作。启动的步骤为:ESP8266wifi模块初始化,MQ-4传感器接收到目前的气体浓度,按下按键设置报警上限。当超出上限值时,单片机驱动三极管来控制蜂鸣器触发警报,单片机将检测到的气体浓度值数据通过ESP8266wifi无线模块发送给手机端进行显示。
在这里插入图片描述

图3.1 系统流程图
3.2 系统子程序设计
3.2.1 LCD1602显示设计
LCD1602的作用是显示文本,本设计需要有两行文本显示,并且不需要彩色。第一行显示当前气体浓度,第二行显示设定的气体浓度上限的值。LCD1602液晶显示器一旦开启,就会与单片机进行双向通信。 单片机控制显示器的亮度并显示内容,过一段时间后,液晶屏上会显示出检测到的气体浓度值。 在设置报警值上限时,根据按键动作改变报警值。 单片机控制记录命令的记录引脚显示内容。 然后在显示器上执行该命令,并显示内容。LCD1602显示流程图如图3.2所示。
在这里插入图片描述

图3.2 LCD1602初始化流程图

3.2.4 气体浓度检测程序设计
利用MQ-4气体传感器对空气中的甲烷气体有较高的灵敏度,当控制器附近的甲烷气体浓度增大时,影响了传感器的电导率的变化,电导率随之增加,将电导率的变化转换为与该气体浓度相对于的模拟输出信号,经过数模转换模块转换成数字量并发送给单片机。图3.5是其流程图。
在这里插入图片描述

图3.5 气体浓度检测流程图
3.2.5 报警程序设计
主函数执行后,通过检测来判断是否发生中断,用设定好按键的形式来设定气体浓度的报警上限,检测是否超出了报警上限,通过函数的循环来判断是否超出浓度上限,如果超过,那么蜂鸣器报警。报警流程图如3.6所示:
在这里插入图片描述

图3.6 报警流程图

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。


网站公告

今日签到

点亮在社区的每一天
去签到