使用arduino的LPG传感器,具有报警和切断功能。
本文介绍了一种使用arduino的简单LPG传感器。该电路指示空气中的LPG量。当浓度高于预定水平时,电路发出警报并使继电器跳闸。MQ2是本项目中使用的气体传感器。MQ2是一种基于SnO2的气体传感器,可感测甲烷、丙烷、丁烷、酒精、烟雾、氢气等气体。由于LPG主要包含丙烷和丁烷,因此MQ2传感器可用于感测LPG。下图显示了MQ2气体传感器的示意图和布置。
当可燃气体被加热元件氧化时,MQ2传感器通过温度升高感测可燃气体。考虑上面给出的数字。如果样品中存在任何易燃气体,相同气体的氧化会导致温度升高,传感器电阻器的电阻将下降。这意味着更多的电流将流过负载电阻器,因此通过它的电压将迅速上升。
在正常情况下(空气中没有LPG),传感器电阻将非常高850k。因此,负载电阻的电压降Vout将是零点。当传感器完全暴露于LPG时,传感器电阻下降到约800欧姆,负载电阻的电压降为约4.62伏。在ADC转换之后,数字等效于4.62伏将是948,它存储在变量“D”(参考程序)。下图显示了从观察到的参数绘制的图表。
实际上,图形可能不是直线。但在这里,我们必须假设它是一条直线,因为我们无法使用我们的有限实验室设施模拟0%和100%以外的LPG浓度。为了精确校准传感器,我们需要一些方法来了解给定环境中气体的精确浓度。无论如何,我们的目的有点足够了。
可以使用以下等式确定ADC的给定数字输出的浓度百分比。P = D / 9.48其中D是ADC的数字输出,P是百分比。通过在常规形式Y = MX + C中找到上述图的等式来获得等式。其中m是斜率,c是y拦截。使用Arduino的LPG传感器的全电路图如下所示。
电路图。
气体传感器的输出连接到Arduino的模拟输入引脚A0。Arduino的数字销10用于控制用于控制继电器的蜂鸣器和数字销13。这里使用的继电器是SPDT继电器,因此当存在气体泄漏时,它可以用于接通或关闭目标设备。这里的行程阈值设定为30%。您可以在程序中设置您的阈值点。在选择阈值点的同时,必须考虑温度和湿度效应,因为MQ2传感器对两者都具有良好的依赖性。有关更多想法,请参阅MQ2气体传感器的数据表。使用Arduino的LPG传感器的完整程序如下所示。
程序。
#includeint mq2 = a0;int rel = 13;int buz = 10;int d;浮动p;液晶LCD(12,11,5,4,3,2);void setup(){pinmode(rel,输出);Pinmode(Buz,输出);DigitalWrite(Rel,Low);DigitalWrite(Buz,低); lcd.begin(16,2); } void loop() { d=analogRead(mq2); lcd.setCursor(0,0); lcd.print("LPG SENSOR"); if(d<60) { p=0; } else { p=(d-60)/9.64; } lcd.setCursor(0,1); lcd.print(p); lcd.setCursor(5,1); lcd.print("%"); if(p>=30) { digitalWrite(rel,LOW); digitalWrite(buz,HIGH); lcd.setCursor(9,1); lcd.print("TRIP"); } else { digitalWrite(rel,HIGH); digitalWrite(buz,LOW); } delay(500); lcd.clear(); }
笔记。
- MQ2传感器需要24小时预热才能稳定工作。
- MQ2的加热线圈消耗约150mA,因此明智的做法是从单独的电源为线圈供电。
- 在电路的其他部分需要5V可以从Arduino板中挖掘。
- arduino板可通过9V电源插座供电。
7.评论
切断的含义是什么意思
程序中的60在程序中的使用是什么,而且您已经使用的程序9.64而不是9.48为什么如此?
请参阅此处的新文章-//www.snellingtn.com/interfacing-mq2-to-arduino.
f(d<60)
{
p = 0;
}
别的
{
P =(D-60)/9.64;
}
请您解释程序中完成的计算。
if(d = 30)
{
DigitalWrite(Rel,Low);
DigitalWrite(Buz,高);
lcd.setcursor(9,1);
lcd.打印(“TRIP”);
嗨thx为急需的项目
我们可以使用MQ-6或MQ-5而不是MQ-2
请让我知道
@sachin–您可以使用任何通用气体传感器