Датчик газа MQ-6 – купить в

Датчик газа MQ-6 - купить в Анемометр

Mq-6, полупроводниковый датчик суг

Описание

Датчики MQ требуют два источника питания: один для нагревателя и один для внутренней схемы. Для нагревателя можно использовать питание 5В АС/DC, в то время как питание самого датчика должно быть только 5 В DC. Кроме этого, для подключения датчика потребуется нагрузочный резистор (4,7 кОм).
Особенности
– Высокая чувствительность
– Малое время отклика
– Стабильность работы, долгий срок эксплуатации
– Простота подключения и настройки

Датчик газа mq-6 – купить в

MQ-6 – это датчик газа, который способен определять присутствие в атмосферном воздухе: пропана, бутана, изобутана и сжиженного природного газа(LPG), а так же может измерять уровень его концентрации. Диапазон измерений газов варьируется в пределах: 100 … 10000 ppm.
Датчик газов имеет цифровой и аналоговый выходы. При помощи аналогового выхода и дополнительного контроллера ардуино, можно измерять уровень концентрации газа в атмосфере. А при помощи цифрового выхода, датчик может работать автономно без микроконтроллера и его можно подключать на прямую к исполнительным устройствам, например к модулю реле.

Характеристики MQ6:

Тип сенсораполупроводниковый
Реагирует на газыпропан, бутан, изобутан, сжиженный природный газ(LPG)
Диапазон чувствительности100 … 1000 ppm
Время срабатывания10 сек
Мощность нагревателя0,9 Вт
Напряжение питания5 В
Ток потребления180 мА
Температура эксплуатации-10 … 50°C
Размеры32 x 20 x 23 мм
Вес16 г

Обнаружение газа и измерение концентрации в ppm с использованием микроконтроллера pic и датчика газа mq-6

Датчики газа серии MQ являются очень распространенными типами датчиков, используемых в детекторах газа для обнаружения или измерения определенных типов газов. Эти датчики широко используются во всех газовых устройствах, от простых детекторов дыма до промышленных мониторов качества воздуха. В этой статье мы узнаем, как использовать эти газовые датчики с микроконтроллерами PIC, чтобы измерить значение PPM газа и отобразить его на ЖК-дисплее 16×2.

Про анемометры:  MEMS: микроэлектромеханические системы, часть 1 / Аналитика

На рынке доступны различные типы датчиков серии MQ, и каждый датчик может измерять различные типы газов. В этой статье мы будем использовать датчик газа MQ6 с PIC, который можно использовать для обнаружения присутствия и концентрации газов вроде сжиженных углеводородных газов (СУГ). Тем не менее, с использованием того же аппаратного и микропрограммного обеспечения можно использовать и другие датчики серии MQ без значительных изменений в коде и аппаратной части.

На следующем рисунке показана схема контактов датчика MQ-6. Тем не менее, левое изображение представляет собой основанный на модуле датчик MQ6 для взаимодействия с микроконтроллерным блоком, на этом изображении также показана схема контактов модуля.

Контакт 1 – это питание VCC, контакт 2 – это заземление, контакт 3 – это цифровой выход (низкий уровень логики при обнаружении газа), а контакт 4 – аналоговый выход. Потенциометр используется для регулировки чувствительности. Резистор RL является резистором для светодиода DOUT.

Каждый датчик серии MQ имеет нагревательный элемент и чувствительное сопротивление. В зависимости от концентрации газа, чувствительное сопротивление изменяется, и, обнаруживая изменяющееся сопротивление, можно измерять концентрацию газа. Для измерения концентрации газа в PPM все датчики MQ предоставляют логарифмический график, который очень важен. График дает обзор концентрации газа с соотношением RS и RO.

RS – это чувствительное сопротивление в присутствии определенного газа, тогда как RO – это чувствительное сопротивление в чистом воздухе без какого-либо конкретного газа. Приведенный ниже логарифмический график, взятый из документации, дает обзор концентрации газа с измерением сопротивления датчика MQ6. Датчик MQ6 используется для определения концентрации газа СУГ. Следовательно, датчик MQ6 будет оказывать особое сопротивление в условиях чистого воздуха, когда газ СУГ недоступен. Кроме того, сопротивление будет изменяться всякий раз, когда датчик MQ-6 обнаруживает СУГ.

Про анемометры:  8 Лучших Газоанализаторов – Рейтинг 2022 года

Итак, нам нужно «построить» этот график в нашей прошивке. Формула должна иметь 3 разных точки данных. Первые две точки данных являются началом кривой СУГ в координатах X и Y. Третьи данные – это уклон. Итак, если мы выберем темно-синюю кривую, которая является кривой СУГ, начало кривой в координатах X и Y будет 200 и 2. Таким образом, первая точка данных в логарифмической шкале будет (log200, log2), которая равна ( 2,3, 0,30). Давайте сделаем так, что X1 и Y1 = (2.3, 0.30). Конец кривой – вторая точка данных. По тому же процессу, описанному выше, X2 и Y2 (log 10000, log0.4). Таким образом, X2 и Y2 = (4, -0,40). Чтобы получить наклон кривой, формула =(Y2-Y1)/(X2-X1) =(-0.40 – 0.30) / (4 – 2.3) = (-0.70) / (1.7) = -0.41.

График, который нам нужен, может быть задан как: Кривая СУГ = (начало X и начало Y, наклон). В нашем случае: Кривая СУГ = (2.3, 0.30, -0.41).

Для других датчиков MQ получите вышеуказанные данные из документации и графика логарифмического графика. Значение будет отличаться в зависимости от датчика и измеряемого газа. Для этого конкретного модуля он имеет цифровой вывод, который предоставляет информацию только о наличии или отсутствии газа.

Принципиальная схема подключения детектора газа на основе микроконтроллера PIC и датчика MQ-6 приведена далее.

Схема довольно проста. Аналоговый вывод соединен с RA0, а цифровой – с RD5 для измерения аналогового напряжения, обеспечиваемого модулем датчика газа. Схема была собрана на макетной плате. После того, как подключения были выполнены, установка может выглядеть следующим образом.

Программирование также не вызывает больших сложностей. Основная часть этого кода является основной функцией main и другими связанными периферийными функциями. Во-первых, RO датчика измеряется в чистом воздухе. Затем считывается цифровой вывод, чтобы проверить, присутствует газ в атмосфере или нет. Если газ присутствует, то измеряется он по предоставленной кривой.


#include <xc.h>
#include <stdint.h>
#include <math.h>
#include "supporing_cfile/lcd.h"
#include "supporing_cfile/adc.h"
#pragma config FOSC = HS
#pragma config WDTE = OFF
#pragma config PWRTE = ON
#pragma config BOREN = ON
#pragma config LVP = OFF
#pragma config CPD = OFF
#pragma config WRT = OFF
#pragma config CP = OFF

#define gas_detect   PORTDbits.RD5
#define gas_Detect_Pin_Direction  TRISDbits.TRISD5
#define FIRST_LINE 0x80
#define SECOND_LINE 0xC0
#define RL_VALUE (10)
#define RO_VALUE_CLEAN_AIR (9.83)

float MQ6_curve[3]  = {2.3,0.30,-0.41};

#define _XTAL_FREQ 20000000

void system_init(void);
void introduction_screen(void);
void clear_screen(void);
//int   GetPercentage(float rs_ro_ratio, float *pcurve);
int   gas_plot_log_scale(float rs_ro_ratio, float *curve);
float read_mq();
float calculate_resistance(int raw_adc);
float SensorCalibration();
void main() {  
     system_init();
     clear_screen();
     lcd_com(FIRST_LINE);
     lcd_puts("Calibrating....");
     Ro = SensorCalibration();
     //clear_screen();
     lcd_com(FIRST_LINE);     
     lcd_puts("Done!          ");
     //clear_screen();
     lcd_com(FIRST_LINE);
     lcd_print_number(Ro);
     lcd_puts(" K Ohms");
     __delay_ms(1500);
     gas_detect = 0;
 while(1){
     if(gas_detect == 0){         
         lcd_com(FIRST_LINE);
         lcd_puts("Gas is present  ");
         lcd_com(SECOND_LINE);
         lcd_puts ("Gas ppm = ");
         float rs = read_mq();
         float ratio = rs/Ro;
        lcd_print_number(gas_plot_log_scale(ratio, MQ6_curve));
         __delay_ms(1500);
        clear_screen();
     }
     else{
         lcd_com(FIRST_LINE);
         lcd_puts("Gas not present  ");
         //lcd_com(SECOND_LINE);
        // lcd_print_number(gas_plot_log_scale(read_mq()/Ro, MQ6_curve));
     }
    }
}
 void system_init(){
     TRISB = 0;
     gas_Detect_Pin_Direction = 1;
     lcd_init();
     ADC_Init();
     introduction_screen();
     //dht11_init();
 } 

void clear_screen(void){
    lcd_com(FIRST_LINE);
    lcd_puts("                ");
    lcd_com(SECOND_LINE);
    lcd_puts("                "); 
}

void introduction_screen(void){
    lcd_com(FIRST_LINE);
    lcd_puts("Welcome to");
    lcd_com(SECOND_LINE);
    lcd_puts("circuit Digest");
    __delay_ms(1000);
    __delay_ms(1000);
    clear_screen();
    lcd_com(FIRST_LINE);
    lcd_puts("MQ6 Sensor");
    lcd_com(SECOND_LINE);
    lcd_puts("with PIC16F877A");
    __delay_ms(1000);
    __delay_ms(1000);
}
/*
 * Sensor Related Functions
 */
float SensorCalibration(){
  int count;
  float val=0;
  for (count=0;count<50;count  ) {
    val  = calculate_resistance(ADC_Read(0));
    __delay_ms(500);
  }
  val = val/50;                  
  val = val/RO_VALUE_CLEAN_AIR;

  return val; 
}
float read_mq()
{
  int count;
  float rs=0;
  for (count=0;count<5;count  ) {
    rs  = calculate_resistance(ADC_Read(0));
    __delay_ms(50);
  } 
  rs = rs/5;
  return rs;  
}
float calculate_resistance(int adc_channel)
{
  return ( ((float)RL_VALUE*(1023-adc_channel)/adc_channel));
}
int gas_plot_log_scale(float rs_ro_ratio, float *curve)
{
    return pow(10,(((log(rs_ro_ratio)-curve[1])/curve[2])   curve[0]));  
}

Можно использовать зажигалку, чтобы проверить, изменяется ли значение PPM при обнаружении газа. Эти зажигалки имеют внутри себя сжиженный газ, который при выбросе в воздух будет считываться датчиком, а значение PPM на ЖК-дисплее изменяется, как показано на следующем изображении.

Про анемометры:  Расходомер газа: ультразвуковой, газовый, турбинный, массовый

© anemometers.ru

Теги: PIC16, датчик газа

Оцените статью
Анемометры
Добавить комментарий