基于STM32单片机的瓦斯监测与控制

发布者:VelvetSoul最新更新时间:2024-08-21 来源: elecfans关键字:STM32  单片机  瓦斯监测 手机看文章 扫描二维码
随时随地手机看文章

本文设计出这一款基于STM32单片机煤矿瓦斯监测控制管理系统,包括甲烷气体传感器电路、温湿度传感器电路、Wi-Fi模块电路、报警电路、继电器控制电路及显示电路。


STM32单片机作为核心,具有监测煤矿矿井温湿度、瓦斯浓度参数的功能,并具有瓦斯浓度超限报警功能;具有自动强制通风功能;采集数据可通过液晶屏显示。监控数据和告警信息可以通过Wi-Fi模块传输到远程机智云端。


系统方案设计


797f2c02-d504-11ee-9118-92fbcf53809c.jpg79cedcb6-d504-11ee-9118-92fbcf53809c.jpg


本次设计的主要核心是机智云平台对煤矿瓦斯安全环境的监控,使用移植机智云GAgent的Wi-Fi/GPRS模组建立桥梁,使煤矿瓦斯监测系统采集的数据与机智云互联互通。煤矿瓦斯监测系统与机智云数据交互图如图1所示。


总体方案设计

煤矿瓦斯安全监测系统涉及的主要硬件设备有:单片机最小系统控制电路、瓦斯气体采集模块、温湿度传感器采集模块、蜂鸣器报警模块、有机发光二极管(organiclight-emittingdiode,OLED)显示模块、继电器自动化控制模块和Wi-Fi无线通信模块。这几大模块共同组成了煤矿瓦斯安全监测系统。主要功能实现如下。


01

运用有毒气体传感器,检测煤矿有害气体浓度(比如瓦斯、一氧化碳等)是否超标,当检测到有毒气体超标,开启排风口排有毒气体,同时开启蜂鸣器警报报警,开启工作人员安全撤离,保障工作人员的安全。

02

运用温湿度传感器,采集当前煤矿环境的温湿度值。当温湿度值超过设定的阈值时,开启风扇散热排湿。实现煤矿工作环境的稳定。

03

运用光敏传感器,采集煤矿工作的光强环境。


04

OLED液晶屏幕显示煤矿环境温湿度值、瓦斯浓度值。


05

手机App机智云页面的监控。采用Wi-Fi模块,实现数据无线传输在手机App端显示监控以及控制。手机App端可以显示采集的数据,还可以控制瓦斯浓度报警阀值。

79e544e2-d504-11ee-9118-92fbcf53809c.jpg




硬件电路设计

79f6c4ce-d504-11ee-9118-92fbcf53809c.jpg

7a0e7056-d504-11ee-9118-92fbcf53809c.jpg

单片机最小系统介绍


单片机最小系统一般由下载电路、电源电路、复位电路、晶振电路和单片机芯片组成,也是系统能够实现运转的最小电路原理图。可以说,每个项目设计的每一个系统都离不开这几个电路的支撑,其外设各种功能都是在此基础上开发。


01

晶振电路

本设计采用的是外接晶振电路:本晶振电路有两个电容和一个晶振源组成,两个无极电容的主要作用是消除晶振源产生干扰电感的阻抗。晶振,更正确地说是“晶体振荡器”,在系统电路中主要起着产生振荡频率的作用,可以说所有的系统电路都离不开时序的频率驱动,这是一种有序的时序逻辑电路,比喻为单片机的心脏也不为过,起着至关重要的作用,而晶振的频率主要采用12M,可以根据单片机需求进行锁相环(phase-lockedloop,PLL)分频,至高能达到72MHz。

02

复位电路

刚开始系统上电时给电容充电,此时的电阻和电容之间会形成高电压,所以单片机的RST复位引脚是高电平,当按键S2被按下后,此时的电阻和电容之间会形成低电压,单片机复位引脚RST是低电平状态,处于这个状态超过两个机器周期,单片机就会进行程序初始化(复位)。

03

甲烷气体传感器电路

甲烷、一氧化碳等有毒气体检测电路是整个系统电路的核心组成部分之一,核心部件MQ-5有毒气体传感器,具有灵敏度高、寿命长、稳定性好、电路结构简单的优点,所以常用于家庭、工厂和公共场所的气体安全检测,而且MQ-5不仅能甲烷,还能检测氢气、苯、天然气等气体的探测。所以相对准确地说:MQ-5是个多种气体检测传感器。


04

温湿度传感器电路

本次设计采用DHT11温湿度传感器模块采集煤矿的温湿度。收起传感器简介:DHT11温湿度传感器是一种能够自行测量温度和湿度的复合型元器件,也是一种能够自行校准数字信号并且串行输出的传感器。其中湿度能够检测的范围20%~90%RH,温度为0~50℃,湿度的精确度在±5%RH,误差较大点,温度精确度在±2℃左右,精确度较高。

05

蜂鸣器电路

蜂鸣器电路连接在三极管基极和单片机PB12的电阻主要起到限流的保护作用,工作原理是只要单片机PB12端口输出低电平至三极管基极,集电极与发射极超过0.7V的导通电压,三极管被导通,有较大的电流经过三极管,蜂鸣器机会进行报警,此处用于煤矿有毒气体超标时和温湿度值过大时就会进行警报。




软件程序设计


7a314a72-d504-11ee-9118-92fbcf53809c.jpg7a3b4dd8-d504-11ee-9118-92fbcf53809c.jpg


采用的是Keil5软件,目前最主流编程软件。功能强大:提供了C语言编译器、连接器、宏汇编、库函数管理功能,还能在线调试和仿真。


主控制程序设计


系统上电后,进入主程序之前循环之前,需要先对各个模块的程序进行初始化,模块初始化主要包括MQ-5甲烷气体传感器、DHT11温湿度传感器、OLED显示屏等,重新初始化可以复位系统电路,并获取传感器初始化状态。


初始化完成后,主程序会对MQ-5有毒气体传感器实时采集有毒气体、DHT11温湿度传感器采集温湿度、OLED屏幕实时更新显示等,将获取的数据经过单片机的对比后,作出相应的紧急判断,最后通过Wi-Fi上传数据,实现手机App端机智云的监控,从而实现煤矿瓦斯安全监测等自动化操作。



79cedcb6-d504-11ee-9118-92fbcf53809c.jpg

电子电路设计

本设计的硬件制作原理图主要使用AltiumDesigner这款软件进行制作,此款软件可以汉化支持中文显示,使用比较的方便,功能强大齐全,设计上比较的简单,对电子电路开发有着一整套的电路开发系统,适宜电子爱好者的设计与开发,在网上学习资料也比较的齐全。

以下是设计操作的几个主要步骤:

(1)打开软件运行后创建文件。新工程需要选创建工程文件,然后保存命名为“单片机的煤矿瓦斯监测控制管理系统的设计与研究”。
(2)在工程项目中创建原理图,对一些需要用到的元器件进行库增加,在库元件中找到自己设计所需要的元器件拖出来,然后对元器件进行正常的连接与布局。
(3)完成以上的步骤后,最终可以得到完整的煤矿瓦斯监测控制管理系统。

数据自动采集与监测


机智云是一个致力于物联网和云服务的开发平台。智能云平台主要专注于物联网硬件上的智能云服务和解决方案,是行业的长期努力,是对传统物联网行业的深刻改造,为个人和企业开发者提供一站式智能硬件开发和云服务平台。


该平台提供从定义的产品、设备端开发和调试、应用程序开发、生产测试、云开发、运营管理和数据服务访问到运营管理的智能硬件访问,以实现服务的全生命周期。机智云平台为开发人员提供自助的智能硬件开发工具和开放的云服务。通过简单的自助工具,完善的SDK和API服务功能,最大限度地降低物联网硬件开发的技术门槛,降低开发人员的成本,提高开发人员的产品生产速度,智能升级开发人员。更好地连接和服务最终消费者。

机智云平台是一个致力于物联网和智能硬件云服务的开放平台,本设计中通过Wi-Fi模块实现数据传输,实现对瓦斯气体采集并上传至机智云的功能。

7a314a72-d504-11ee-9118-92fbcf53809c.jpg


开发顺序步骤:

A. 注册成为智能云开发人员

在使用智能云平台服务之前,您需要注册一个开发者账户。单击以注册WitCloudDeveloper账户,将其分为“个人账户”或者企业账户。


B. 创建产品

在开发者中心点击“创建新产品”后输入产品名称以及选择对应设备接入方案即可完成“新产品”的创建。

第一步,点击“创建新产品”;

第二步,输入产品名称与选择设备接入方案;

第三步,创建数据点,点击“新建数据点”,添加开关机数据点;

第四步,下载云端自动生成的协议。


C. 设备与应用开发

设备端访问:设计中把单片机设备采集的信息通过编写智能云连接协议GAgent的网络模块,即可通过智能云平台Wi-Fi模块无线通信实现设备组网和智能。通过Wi-Fi模块连接到智能云平台,实现App通过云控制智能设备。


D. 调试产品

产品开发完成后,单片机系统数据在调试过程中,开发和调试设备将连接到WisdomCloudSandbox服务器(测试服务器),将采集的电压值进行显示在对应的界面,并且可以进行控制充电开启以及关闭。



本文设计的基于单片机的煤矿瓦斯监测控制管理系统,以单片机为核心,通过传感器将井下瓦斯浓度传给单片机,单片机经过处理,判断瓦斯浓度是否超标。当有害气体浓度超标时,会发出声光报警,开启继电器控制风扇进行空气浓度调节,直至浓度降到设定值以下。


通过Wi-Fi模块传输到机智云端,还能在OLED显示屏显示,便于工作人员查看和控制。能够防止和避免事故发生,保证井下工作人员的安全。


关键字:STM32  单片机  瓦斯监测 引用地址:基于STM32单片机的瓦斯监测与控制

上一篇:stm32f407浮点运算速度
下一篇:stm32单片机入门c语言解析

推荐阅读最新更新时间:2024-11-12 17:01

基于AT89C51单片机的频率计的C源程序及频率计实现的主要功能
本文是基于AT89C51单片机的频率计的C源程序。该频率计主要实现的功能有如下几个:   1. 测试功能   它表明数字频率计所具备的全部测试功能,一般包括测频, 周期 ,累计脉冲数,频率比,时间间隔及自较等功能。   2. 测量范围   它说明不同功能的有效测量范围。如测频率时,测量范围是数字频率计处于正常工作条件下,被测信号的 频率范围 ,一般用频率的上,下限值表示,低端大部分从10 Hz 开始;高端因不同的频率计而异。因此高端频率是确定低,中,高速计数器的依据。在测量周期时,测量范围常用周期的最大值,最小值表示。   3. 输入特性   数字频率计一般有2~3个输入通道,测试不同项目时,被测
[单片机]
基于AT89C51<font color='red'>单片机</font>的频率计的C源程序及频率计实现的主要功能
8051单片机实现可修改初值(并可命令启停)的单倒计时器
程序实现功能: 1. 通过串口发送 Start.E 命令启动设备. 2. 通过串口发送 Stop.E 命令暂停设备. 3. 通过串口发送 Set init value as 12.E (命令中的数字可以以两位数方式随意给定)设定下次计时开始初值. 注: 为了避免启动设备后第一次计时无法按照用户的意愿进行这一问题, 启动设备后第一次计时先显示0(耗费1s), 之后按照用户给定的值进行倒计时: 若用户在此期间未给出初值, 则从15开始计时. 学习意义: 帮助初学者理解前后台体系架构. #include STC89C5xRC.H unsigned char code DIG_CODE = {0x3f, 0
[单片机]
8051<font color='red'>单片机</font>实现可修改初值(并可命令启停)的单倒计时器
STM32自学-初学者--谨记-编译时连接不到“stm32f10x_conf.h”
STM32自学-初学者的前车之鉴,希望可以帮到后面的同学。 因为一个小小的设置问题—C/C++没设置好而编译出错,导致一个下午都在忙着解决, 这或许就是自学者的烦恼吧,不能做到面面俱到,导致时间白白浪费在一些不该发生的事上, 希望我的这次总结可以有所帮助。 USE_STDPERIPH_DRIVER, STM32F10X_HD  编译出错  编译成功
[单片机]
<font color='red'>STM32</font>自学-初学者--谨记-编译时连接不到“stm32f10x_conf.h”
STM32变量类型定义及延伸
注意:数据的运算可能会超过变量定义的类型 ,所以定义变量时要注意! STM32F4内的变量类型定义:在stdint中 /* exact-width signed integer types */ typedef signed char int8_t; typedef signed short int int16_t; typedef signed int int32_t;//在32位环境里,int代表4个字节32位 typedef signed __INT64 int64_t; /* exact-width unsigned integer types */ typedef
[单片机]
<font color='red'>STM32</font>变量类型定义及延伸
STM32之窗口看门狗(WWDG)
前几天学习STM32的两条狗,先学习了宠物狗(IWDG),和其它MCU差不多,不多说了。学到警犬(WWDG)的时候,问题来了,没有IWDG那么好理解了,看了半天没有搞懂是怎么回事,计数器值、窗口值、在什么时候喂狗、什么时候产生中断等等,一头雾水。 经过两天的推敲,个人理解如下: 1、有个7位递减计数器(WWDG- CR),就这个计数器和窗口计数器(WWDG- CFR)决定什么时候喂狗。 狗喂早了,复位 早 体现在计数器值(tr) 窗口值(wr),也就是计数器值还没有减到窗口值以下; 2、当 0x40 计数器值(tr) 窗口值(wr) 时,这时候最适合喂狗了,也只有在这时候喂狗才合适; 3、当计数器的值从0x4
[单片机]
基于单片机的超大容量存储器接口设计
0 引言   随着信息技术的发展,在工业应用领域中需要采集存储的信息越来越多,相应地使用了各种数据采集装置,以获得被研究对象的相关信息。有时为了节约时间和计算机资源,一般并不是在当地立即处理这些信息数据,而是将数据传向后台由后台计算机进行处理、分析。它们之间的数据传输媒介有有线传输、无线传输和硬盘等几种型式。当采集现场条件不允许时,比如地形复杂且离后台距离较远,有线、无线传输均不适用。此外,有时周围环境会出现高湿度、高粉尘的恶劣情况,在这种条件下硬盘驱动器就难以可靠工作。为了满足实际生产中在特定条件下数据采集系统的要求,通过长时间的研究,设计出一种基于单片机超大容量存储器l.该存储器容量可达4 Mb,基本可以满足复杂环境下信息采
[单片机]
基于<font color='red'>单片机</font>的超大容量存储器接口设计
非常稳定可靠的单片机按键消抖程序,绝对不会产生抖动
#include reg52.h #define uint unsigned int #define uchar unsigned char sbit K1 = P1^0; void delay1ms(uint n) { uchar a,b,c,d; for(d=n;d 0;d--) for(c=1;c 0;c--) for(b=222;b 0;b--) for(a=12;a 0;a--); } void main() { uint i; if(K1==0) { delay1ms(10); if(K1==0) // {
[单片机]
【GD32 MCU入门教程】GD32 MCU GPIO 结构与使用注意事项
1.前言 本文是专门为基于GD32 MCU开发的工程设计人员提供,主要介绍了GPIO的功能配置、内部结构以及在不同场景使用时的注意事项,旨在帮助GD32 MCU开发者优化对通用型输入输出端口(GPIO)的使用,正确快速的使用GD32 MCU进行产品开发。 GPIO,通用型输入输出端口的简称,可以通过软件配置其输出或者输入,GD32 的 GPIO 引脚与外部设备连接,从而实现与外部通信,控制以及信号输入的功能,是 GD32 MCU 中很常见,使用最广泛的模块。 每个 GPIO 引脚可以由软件配置为输出(推挽或开漏)、输入、外设备用功能或者模拟模式。 每个 GPIO 引脚都可以配置为上拉、下拉或浮空模式或无上拉/下拉。 GD32
[单片机]
【GD32 <font color='red'>MCU</font>入门教程】GD32 <font color='red'>MCU</font> GPIO 结构与使用注意事项
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved