一、模块介绍
购买链接:
https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18748153240.50.6d072366MXpZG1&id=575879956695
广谱气体传感器可以分为离子式广谱气体传感器、光电式广谱气体传感器和气敏式广谱气体传感器,本模块上使用的是气敏式广谱气体传感器。
气敏式广谱气体传感器是一种检测特定气体的传感器。它主要包括半导体气敏传感器、接触燃烧式气敏传感器和电化学气敏传感器等,其中用的最多的是半导体气敏传感器。它的应用主要有:一氧化碳气体的检测、瓦斯气体的检测、煤气的检测、氟利昂(R11、R12)的检测、呼气中乙醇的检测、人体口腔口臭的检测等等。
气敏式广谱气体传感器将气体种类及其与浓度有关的信息转换成电信号,根据这些电信号的强弱就可以获得与待测气体在环境中的存在情况有关的信息,从而可以进行检测、监控、报警;还可以通过接口电路与计算机组成自动检测、控制和报警系统。
气敏式广谱气体传感器的典型型号有MQ-2气体传感器。该传感器常用于家庭和工厂的气体泄漏装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等的探测。
二、原理分析
广谱气体传感器在刚刚启动时需要加热几分钟,在加热过程中传感器不会进行检测。
MQ-2的H1脚提供加热电源,H2脚接地,A的两个脚和B的两个脚其中一对作为电源另一对作为输出。在本模块电路中使用B作为电源,A作为输出。RC一阶动态电路控制充电时间,当电路图中的U1B的5脚电压低于2.5V时,比较器U1B输出低电平,点亮发光二极管D4。此时U1A的3脚电压为0,所以EINT4引脚为低电平。反之,U1B的5脚为高电平时,发光二极管D4熄灭,广谱气体传感器进入正常检查状态。
滑动变阻器VR1用来控制模块的灵敏度。当MQ-2的感应到烟雾时,A脚输出电压经过放大输出高电平,点亮LED灯D1,引脚EINT4为高电平。
三、代码解读
1、初始化IO口为输入。
GPIO_Init();
2、开启IO口复用时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
3、设置IO口与中断线的映射关系。
void GPIO_EXTILineConfig();
4、初始化线上中断,设置触发条件等。
EXTI_Init();
5、配置中断分组(NVIC),并使能中断。
NVIC_Init();
6、编写中断服务函数。
EXTIx_IRQHandler();
7、清除中断标志位
EXTI_ClearITPendingBit();
四、实践操作
一、实验操作步骤:
1、将 STM32F103 核心板正确插接到魔法师 M3/M4 底板上,连接好 J-link 与 PC 机;
2、将 广谱气体传感器 模块插到底板 P5 口,底板拨码 S1 拨向 ON 端;
3、编译整个工程,打开底板电源,烧写程序到核心板,并按一次复位按键。串口调试助手波特率为115200。
二、实验现象:
1、需要先预热一段时间,模块上红灯灭表示预热完成;
2、按住打火机吹灭火焰,并把打火机对准模块传感器,串口打印 报警信息。