MQ-2烟雾传感器的原理及使用教程

article/2025/8/28 3:29:51
一、MQ-2烟雾传感器简介

MQ-2常用于家庭和工厂的气体泄漏监测装置,适宜于液化气、苯、烷、酒精、氢气、烟雾等的探测。故因此,MQ-2可以准确来说是一个多种气体探测器。
MQ-2的探测范围极其的广泛。它的优点:灵敏度高、响应快、稳定性好、寿命长、驱动电路简单。
在这里插入图片描述

二、MQ-2的工作原理

MQ-2型烟雾传感器属于二氧化锡半导体气敏材料,属于表面离子式N型半导体。处于200~300摄氏度时,二氧化锡吸附空气中的氧,形成氧的负离子吸附,使半导体中的电子密度减少,从而使其电阻值增加。当与烟雾接触时,如果晶粒间界处的势垒收到烟雾的调至而变化,就会引起表面导电率的变化。利用这一点就可以获得这种烟雾存在的信息,烟雾的浓度越大,导电率越大,输出电阻越低,则输出的模拟信号就越大。
在这里插入图片描述

三、MQ-2的特性

1、MQ-2型传感器对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感,具有良好的抗干扰性,可准确排除有刺激性非可燃性烟雾的干扰信息。
2、MQ-2型传感器具有良好的重复性和长期的稳定性。初始稳定,响应时间短,长时间工作性能好。需要注意的是:在使用之前必须加热一段时间,否则其输出的电阻和电压不准确。
3、其检测可燃气体与烟雾的范围是100~10000ppm
(ppm为体积浓度。 1ppm=1立方厘米/1立方米)
4.电路设计电压范围宽,24V以下均可,加热电压5±0.2V
注意:。如果加热电压过高,会导致输入电流过大,将内部的信号线熔断,从而器件报废。

四、MQ-2应用电路

MQ-2常用的电路有两种,一种使用采用比较器电路监控,另一种为ADC电路检测。
1.比较器电路
在这里插入图片描述
MQ-2的4脚输出随烟雾浓度变化的直流信号,被加到比较器U1A的2脚,Rp构成比较器的门槛电压。当烟雾浓度较高输出电压高于门槛电压时,比较器输出低电平(0v),此时LED亮报警;当浓度降低传感器的输出电压低于门槛电压时,比较器翻转输出高电平(Vcc),LED熄灭。调节Rp,可以调节比较器的门槛电压,从而调节报警输出的灵敏度。
R1串入传感器的加热回路,可以保护加热丝免受冷上电时的冲击。

2.ADC转换电路
MQ-2传感器另外一个采集方法为AD信号采集,即将电压信号转化为数字信号,进而转化为精确的烟雾浓度值。
在这里插入图片描述
MQ-2传感器的4脚、6脚的电压为输出信号,Rs为传感器的本体电阻。其中若气体浓度上升,必导致Rs下降。而Rs的下降则会导致MQ-2的4脚、6脚对地输出的电压增大。所以气体浓度增大,其输出的电压也会增大,最终通过ADC0832转换后数值增大。

五.控制程序

1.因为比较器电路处理的检测信号只有高和低两种状态;当浓度低于阈值时,信号为高电平;浓度高于阈值时,信号为低电平。所以单片机只需要将引脚配置为输入模式,监控该信号的高低电平即可。
2.AD信号采集程序
实现对MQ-2烟雾浓度的采集,只需实现ADC0832采集函数便可完成信号的采集。但通过ADC0832采集到的信号只为原始信号,要转换为实际的烟雾浓度,还需要根据MQ-2的特性进行校正和公式转换,最终得到实际的浓度值。

/****************************************************************************
函数功能:AD转换子程序
入口参数:channel
出口参数:dat
****************************************************************************/
unsigned char adc0832(unsigned char channel )
{unsigned char i,test,adval,dat;adval = 0x00;test = 0x00;Clk = 0;       //初始化DATI = 1;_nop_();CS = 0;_nop_();Clk = 1;_nop_();if (channel == 0x00 )      //通道选择{Clk = 0;DATI = 1;      //通道0的第一位_nop_();Clk = 1;_nop_();Clk = 0;DATI = 0;      //通道0的第二位_nop_();Clk = 1;_nop_();} else{Clk = 0;DATI = 1;      //通道1的第一位_nop_();Clk = 1;_nop_();Clk = 0;DATI = 1;      //通道1的第二位_nop_();Clk = 1;_nop_();}Clk = 0;DATI = 1;for( i = 0;i < 8;i++ )      //读取前8位的值{_nop_();adval <<= 1;Clk = 1;_nop_();Clk = 0;if (DATO)adval |= 0x01;elseadval |= 0x00;}for (i = 0; i < 8; i++)      //读取后8位的值{test >>= 1;if (DATO)test |= 0x80;else test |= 0x00;_nop_();Clk = 1;_nop_();Clk = 0;}if (adval == test)      //比较前8位与后8位的值,如果不相同舍去。若一直出现显示为零,请将该行去掉dat = test;nop_();CS = 1;        //释放ADC0832DATO = 1;Clk = 1;return dat;
}
/****************************************************************************
函数功能:获取烟雾浓度
入口参数:无
出口参数:dat
****************************************************************************/
unsigned char GetYanWuValue(void)
{unsigned int sum=0;unsigned char m,value=0;for(m=0;m<20;m++)			//读50次AD值sum = adc0832(0)+sum;		//读到的AD值,将读到的数据累加到sumvalue=(unsigned char)(sum/20);				//跳出上面的for循环后,将累加的总数除以50得到平均值valueif(value > ADC_Zero) value = value - ADC_Zero;              //首先减去零点漂移elsevalue = 0;return value;}

如需MQ-2相关资料, 请关注公众号,首页回复“MQ-2”获取资料
在这里插入图片描述


http://chatgpt.dhexx.cn/article/d2M2nBeG.shtml

相关文章

MQ-2烟雾传感器的使用

一、MQ-2烟雾传感器简介 MQ-2烟雾传感器采用在清洁空气中电导率较低的二氧化锡(SnO2)&#xff0c;属于表面离子式N型半导体。当MQ-2烟雾传感器在200到300摄氏度环境时&#xff0c;二氧化锡吸附空气中的氧&#xff0c;形成氧的负离子吸附&#xff0c;使半导体中的电子密度减少&a…

MQ-2烟雾传感器模块功能实现(STM32)

认识MQ-2模块与其工作原理 MQ-2型烟雾传感器属于二氧化锡半导体气敏材料&#xff0c;属于表面离子式N型半导体。当处于200~300摄氏度时&#xff0c;二氧化锡吸附空气中的氧&#xff0c;形成氧的负离子吸附&#xff0c;使半导体中的电子密度减少&#xff0c;从而使其电阻值增加。…

MQ-2烟雾浓度传感器

文章目录 一、模块简介二、工作原理三、程序设计 本实验将采集到的传感器数据利用ADC转换&#xff0c;将转换后的电压值显示在串口调试助手上 一、模块简介 MQ-2烟雾传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当烟雾传感器所处环境中存在可燃气体时&a…

python杨辉三角输出指定行_python杨辉三角输出指定行_使用python打印十行杨辉三角过程详解...

如何用python输出杨辉三角 程序输出需要实现如下效果&#xff1a; [1] [1,1] [1,2,1] [1,3,3,1] .. 方法&#xff1a;迭代&#xff0c;生成器 123456789101112131415161718192021 def triangles() L [1] while True: yiled L L [1] [L[i] L[I1] for i in range(len(L)-1)] …

蓝桥杯 python 杨辉三角

欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#x…

python杨辉三角 简单方法

何为杨辉三角&#xff0c;杨辉三角就是&#xff0c;第一行与第二行分别为1和1,1 再往后第三行就有规律了&#xff0c;除了开头和结尾的数&#xff08;都是1&#xff09;&#xff0c;每个数都是自己左上角和右上角的和。如图&#xff1a; 如何用编程把它实现呢&#xff1f;我们…

Python 杨辉三角

前言&#xff1a;我在学习Python的时候&#xff0c;正好学到列表推导式&#xff0c;于是这里尝试运用列表推导式来写一个杨辉三角。如果能点出其中不足或提出优化建议&#xff0c;感激不尽。 杨辉三角&#xff1a;杨辉三角左右两侧的数字都是1&#xff0c;而里面的数字等于它肩…

python杨辉三角

题目 杨辉三角形&#xff0c;也称帕斯卡三角&#xff0c;其定义为&#xff1a;顶端是 1,视为(row0).第1行(row1)(1&1)两个1,这两个1是由他们上头左右两数之和 (不在三角形内的数视为0).依此类推产生第2行(row2):011;112;101.第3行(row3):011;123; 213;101. 循此法可以产生以…

Python程序:输出杨辉三角的几种办法

文章目录 一、问题描述二、问题分析三、第一种方法1、具体代码2、运行结果3、程序的改进 四、第二种方法1、具体代码2、运行结果 五、总结分析 一、问题描述 给定一个非负整数 n&#xff0c;生成「杨辉三角」的前 n行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方…

用python实现杨辉三角的几种不同方式

杨辉三角的概念 比较详细的知识可以看这里&#xff0c;在杨辉三角中&#xff0c;每个数是它左上方和右上方的数的和。 1/ \1 1/ \ / \1 2 1/ \ / \ / \1 3 3 1/ \ / \ / \ / \1 4 6 4 1/ \ / \ / \ / \ / \ 1 5 10 10 5 1解法1&#xff1a;动态规…

【杨辉三角python】

文章目录 杨辉三角实现方法&#xff08;Python&#xff09; 一、杨辉三角是什么&#xff1f;二、杨辉三角解法 杨辉三角实现方法&#xff08;Python&#xff09; 一、杨辉三角是什么&#xff1f; 杨辉三角&#xff0c;是二项式系数在三角形中的一种几何排列&#xff0c;中国南…

Python实现杨辉三角(2种实现方案)

杨辉三角形&#xff0c;又称贾宪三角形、帕斯卡三角形&#xff0c;是二项式系数在三角形中的一种几何排列。 下图显示了杨辉三角的前 7 行&#xff1a; 递归打印杨辉三角 杨辉三角形中的数&#xff0c;正是(xy)的 N 次方幂展开式各项的系数&#xff0c;下面以递归的方法来打印…

【Python实现杨辉三角】

目录 什么是杨辉三角 杨辉三角解法 1. 定义法 2. 计算杨辉三角 补0法 3. 杨辉三角&#xff0c;对称法 4. 杨辉三角&#xff0c;单列表方法 5.列表嵌套&#xff08;二维数组&#xff09; 6. 新旧两行&#xff0c;一次性开辟新行 7.yield函数 8.zip函数 参考资料链接&…

c++自定义函数

对于小型应用程序来说不设计自定义函数完全可行&#xff0c;但随着程序越来越大&#xff0c;越来越复杂&#xff0c;实现的功能越来越多&#xff0c;如果不使用函数&#xff0c;main函数将变的越来越复杂越来越雍肿越来越令人难懂&#xff0c;而在更改程序的每一个功能的时候&a…

C++ 自定义函数

C的函数分两种&#xff1a; 今天&#xff0c;我们就来讲一下自定义函数。 好了&#xff0c;自定义函数讲完了&#xff0c;若想了解其他关于自定义函数的内容&#xff0c;请点击下面方框&#xff1a; C递归算法_闪耀的天狼星的博客-CSDN博客_c递归算法汉诺塔大家都玩过吧&#…

C语言:自定义函数实现对字符串的复制

#include <stdio.h> void f(char*str1,char*str2)//函数名为f&#xff0c;自定义字符串连接函数 {int i0;while(str2[i]!0) {str1[i]str2[i];//把b复制到a中i;}str1[i]\0;//添加字符串结束符 } int main() {char a[100],b[100];puts("请输入字符串:\n");gets…

C语言之自定义函数(综合)

//设定一个函数&#xff0c;来比较两个数之间的较大值 int get_max(int x, int y) {int z 0;if (x > y)z x;elsez y;return z;} int main() {int a 10;int b 20;int maxget_max(a, b);printf("%d", max);return 0; } //函数返回类型的地方写出&#xff1a;vo…

[C语言] 函数:库函数--自定义函数--函数的调用--练习--详解<个人>------(1)

文章目录 前言一. 函数是什么&#xff1f;二. C语言中函数的分类三. 库函数四. 自定义函数五. 函数的调用六. 练习总结 前言 本节内容主要记录函数的相关内容&#xff0c;其中包括&#xff1a;库函数&#xff0c;自定义函数&#xff0c;函数的调用&#xff0c;函数的习题练习。…

C语言中的函数 | 库函数和自定义函数

写在前面: 今天我们需要学习和了解的是C语言中的函数,其中C语言的函数划分为库函数和自定义函数两种.接下来我们一起探究两者之间的关系. 一.C语言中函数的分类 库函数自定义函数 二.库函数 库函数到底是什么呢? 顾名思义,可以通俗的理解为库里面的函数.这些函数都是频繁使…

c++自定义函数简单介绍

大家好&#xff0c; 今天给大家介绍一下自定义函数。 如有错误请在评论区指出 正文&#xff1a; 1.简单介绍&#xff1a; 函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数&#xff0c;即主函数 main() &#xff0c;所有简单的程序都可以定义其他额外的函数…