Главная » Статьи » Как подключить

Подключение датчика газа MQ-4 к микроконтроллеру

 Гуляя по каталогам китайских продавцов на E-bay случайно наткнулся на датчик газа MQ-4. Этот датчик предназначен для определения концентрации метана (CH4) в воздухе. А так как этот газ является основным компонентом бытового газа, иметь подобный датчик весьма полезно - можно собрать детектор утечки газа или что-нибудь подобное. В общем интересная штучка, особенно радует цена в $4,5 и аналоговый интерфейс общения  - проблем с подключением не возникнет.


 Для подключения датчика под его пузом имеются 6 выводов, 4 из которых дублируют друг друга. Поэтому для подключения используется всего 4 вывода: 

Н-Н это выводы нагревателя. К нему подводится напряжение 5 вольт, причем неважно постоянное или переменное.

А-А и В-В это электроды. Сигнал можно снимать с любого из них. Например, на схеме ниже питание подведено к A-A, а сигнал снимается с электрода B-B. Но можно и наоборот - запитывать к B-B, а сигнал снимать с А-А. Работать будет в обоих случаях. В этом сенсор чем-то похож на вакуумную электронную лампу 



 Резистором RL настраивается чувствительность датчика. Рекомендуется ставить в диапазоне 10к. Чувствительность датчика, если верить документации составляет от 200 до 10000 ppm (что это?)

  В даташите на MQ-4 приведен график, по которому видно, что помимо метана, датчик очень хорошо реагирует на пропан (LPG), и в меньшей степени на газообразный водород, угарный газ и пары алкоголя 





 А вообще в семействе датчиков MQ-x имеются сенсоры специально предназначенные для обнаружения этих газов. Вот некоторые из них:

 MQ-3 - сенсор паров алкоголя
 MQ-5 и MQ-6 - предназначены для обнаружения пропана/бутана
 MQ-7 - чувствителен к угарному газу (имхо, заслуживает отдельного внимания)
 MQ-8 - специализируется по водороду H2
 и т.д. список можно дополнить еще парой-тройкой датчиков, все они легко гуглятся.


 Для подключения своего датчика собрал простенькую схему со светодиодами. Четыре светодиода, каждый будет загораться при достижении определенного порога концентрации газа. Получится что-то вроде шкалы загазованности, правда безразмерной. 





 Датчик подключается к ADC0 (PortC.0). В качестве опорного напряжения АЦП используется внутренний ИОН на 2,54 вольта. Поэтому на резисторах R5-R6 собран делитель напряжения, чтобы на вход АЦП попадало не больше 2,5 вольт. Резистор R7 дополнительная подтяжка к земле согласно схеме из даташита, его я взял 3,3 килоома - что было под рукой.

Набросал небольшую программку для ATmega8, частота тактирования 1 МГц

$regfile = "m8def.dat"
$crystal = 1000000
$baud = 1200

'конфигурация АЦП
Config Adc = Single , Prescaler = Auto , Reference = Internal

'подключение светодиодов
Config Portb.= Output
Config Portb.= Output
Config Portb.= Output
Config Portb.= Output

Dim W As Integer                        'для хранения значения полученного с АЦП

Do

'запуск и считывание показаний с датчика
 Start Adc
 W = Getadc(0)                          'датчик подключён к PortC.0

'в зависимости от значения показаний зажгем светодиоды индикации
If W < 700 Then
 Portb = &B00000000                     'значение меньше порога срабатывания, все гуд
End If

If W > 700 And W < 750 Then             'низкий уровень загазованности
 Portb = &B00000010
End If

If W > 750 And W < 800 Then             'средний уровень
 Portb = &B00000110
End If

If W > 850 And W < 900 Then             'загазовано чуть меньше чем полностью
 Portb = &B00001110
End If

If W > 900 Then                         'караул!
 Portb = &B00011110
End If

Print W                                 'отсылаем показания в UART

Wait 1

Loop

End


 Показания с датчика будут считываться с частотой 1 раз в секунду. И в зависимости от показаний будет гореть определенное количество светодиодов или не будут гореть вовсе. Значения порогов я взял после пробного испытания и вывода показаний в UART. 

 Тестовая схема собранная на макетке



Припаянный датчик



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



 А вот как все это работает:



 После подачи питания, датчику необходимо время чтобы выйти на рабочий режим, примерно 10-15 секунд. Это время нужно чтобы нагреватель внутри датчика поднял температуру до необходимого значения. Кстати, сам датчик во время работы тоже не слабо нагревается, по ощущениям градусов до 50-и. Так что без паники, это норма :)



Скомпилированная прошивка

Даташит на датчик MQ-4


Категория: Как подключить | Добавлено: 06.12.2012
Просмотров: 28398 | Комментарии: 32 | Теги: MQ-4, датчик | Рейтинг: 5.0/8
Всего комментариев: 321 2 »
0  
32 exersizze   (20.05.2016 22:10)
Вторая, так как там настраиваются уровни срабатывания и есть звуковая индикация.

31 urok   (20.05.2016 06:30)
спасибо за ответ
подскажите еще какая сборка лучше эта или эта http://avrproject.ru/publ/detektor_utechki_bytovogo_gaza_na_datchike_mq_4/1-1-0-131

0  
30 exersizze   (19.05.2016 09:04)
Здесь только индикация светодиодами, если хотите можете подключить активный буззер заместо любого светодиода.

29 urok   (18.05.2016 10:24)
а пищалку тут куда подключать ?

28 Alexmen666   (08.08.2015 20:21)
Спасибо! Буду пробовать.

0  
27 exersizze   (05.08.2015 09:05)
Alexmen666, к сожалению никак, в протеусе нет модели этого датчика. Но по сути этот датчик можно заменить потенциометром, в котором сопротивление изменяется пропорционально концентрации газа.

26 Alexmen666   (05.08.2015 00:42)
Ребята, я извиняюсь за глупейший вопрос, но как мне добавить датчик MQ4 в протеус? При запуске проекта на схеме присутствует всё кроме датчика. Так же есть файл sensMQ4 "Bas" его тоже не получается открыть. Возможно он добавляется из самого протеуса в виде экспорта, но только я не нашел такой возможности. Подскажите, что можно сделать? Спасибо!

25 Scorpushka   (05.01.2015 20:50)
интересно, какой ресурс у этого датчика? я имею ввиду, что активный элемент, подогреваемый внутри, не бесконечен

24 bkfirm2011   (09.06.2013 22:55)
очень жаль!

23 Valera18   (09.06.2013 18:07)
Для bkfirm2011

В общем, на этом сайте используют язык "Bascom".
Насчёт языка "Ассемблера", нужно поискать сайт имеющий направление в этом или форум. Там могут помочь.

22 bkfirm2011   (09.06.2013 00:00)
Кто может помочь написать код на ассемблере!

21 bkfirm2011   (08.06.2013 15:01)
мне просто нужен код,подключать я не буду!

20 Valera18   (08.06.2013 10:24)
Для bkfirm2011

В прошивке происходит измерение напряжения на выходе из датчика, в этом и заключается принцип работы данного устройства. Поэтому если Вы знаете (используете) язык "Ассемблера", тогда Вам нужно только организовать измерение напряжения (выходящее из датчика) с последующей Led индикацией.
К сожалению, Я использую только язык "Bascom", язык "Ассемблера" Я не знаю. Поэтому помочь не смогу.

По сути, Вы можете использовать уже скомпилированный "Bascom" файл (.hex)
http://avrproject.ru/MQ-4/Mq-4_testing.hex
и просто прошить его в Atmega8, а схему подключения использовать
http://avrproject.ru/MQ-4/mq4_connected.png
(предложенную автором).

19 bkfirm2011   (07.06.2013 23:05)
Ну проблема в том что я не разбираюсь,а код нужен на ассемблере!

+1   Спам
18 exersizze   (07.06.2013 09:19)
а что мешает? переделывайте..

17 bkfirm2011   (06.06.2013 23:07)
А на ассемблер можно переделать?

16 exersizze   (05.06.2013 20:43)
в Bascom-AVR

15 bkfirm2011   (05.06.2013 19:45)
А на каком это языке написано?

14 Valera18   (14.05.2013 21:26)
Для Roma

Попробуй, порт RESET (PC6) подтянуть резистором на 10 кОм к плюсу (+) питания.

13 Roma   (14.05.2013 20:32)
Думою что проблема либо в диодах либо в резисторах, скажите какие резисторы брать(мощность) и какие именно диоды...

12 Roma   (14.05.2013 20:12)
Добрый день
Собрал этот проект и столкнулся с проблемой:
устройство работает только минуту когда я подключаю питание ,причём как только подключаю питание диоды слабо светятся, а как пшикаю газом светятся ярче, но через минуту диоды как будто умирают и вообще не реагируют; после того как устройство полежало 30 мин без питания и потом я включил питание картина повторилась(диоды слабо засветились и стали реагировать на газ, а спустя минуты "умерли")
Может кто-нибудь помочь?

11 DENISPRO   (23.04.2013 13:37)
РЕБЯТА ПОМОГИТЕ ПЛИЗ ЕСТЬ МНОГО ВОПРОСОВ,НОВЕЧЕК В ЭТО ДЕЛЕ НАДО НА ДИПЛОМ, СКАЙП- DENIS_PRO ВКОНТАКТЕ id187887072

+1   Спам
10 exersizze   (12.12.2012 19:16)
Пробовал его питать аккумулятором. Если питание падает меньше ~3,5 вольт, он уже практически ничего не обнаруживает.
MQ-5 для кухни думаю тоже пойдет.

9 Valera18   (12.12.2012 18:14)
А не пробовали снизить напряжение (например) до 3,3V?
Вероятно, просто понизится чувствительность датчика.

Получается датчик MQ-4 (для кухни), можно заменить на MQ-5 (он того-же класса)?

+3   Спам
8 exersizze   (07.12.2012 15:13)
Не, датчик очень чувствительный, мне понравился. Унюхивает зажигалку с сантиметров 20, это при слабом потоке газа. При условии что датчик лежит на столе и пропан из зажигалки, стелясь, доходит до него.

Во, нашел интересную картинку показывающую как правильно расставлять датчики обнаружения газа



Метан легче воздуха, датчик ставится сверху.
Пропан тяжелее, датчик ставится снизу.
А для угарного газа устанавливается на уровне головы

7 kip96   (07.12.2012 13:08)
А зажигалкой прямо на датчик или надо ещё куллер привинтить маленький, что-бы воздух через датчик гонял.

6 exersizze   (07.12.2012 12:55)
biggrin
RD3AVJ, тогда придется анонсировать за полтора месяца))

+1   Спам
5 top   (07.12.2012 01:27)
exersizze незримой рукой увеличивает товарооборот между Россией и Китаем))))

4 RD3AVJ   (06.12.2012 23:39)
Не успеваю за статьями с ебэя заказывать. Хоть бы анонсировал чтоли - я б заранее заказывал, как раз, к статье smile

3 Scorpushka   (06.12.2012 19:46)
великолепно! сасибо! заказал

1-30 31-32
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order
авторизация
Логин:
Пароль:
Комментарии
Сетевой диммер 220V на микроконтроллере
09.12.2016 - vakulyuk:
Спасибо) Я принцип действия понял, а вот откуда взялась именно цифра 195 не поня...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - exersizze:
pchela5, ну так это в военное, а у нас в мирное время все примерно)) Наше...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - pchela5:
> Полуволна в нашей электросети по времени длится примерно 10 мс

...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - exersizze:
Чтобы понять откуда взялась цифра 195 надо сначала въехать в принцип работы: ког...
Сетевой диммер 220V на микроконтроллере
09.12.2016 - vakulyuk:
А почему минимальный накал при 195? Насколько минимум можно занизить Wt?
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
08.12.2016 - exersizze:
yorx выдалось немного свободного времени, проверил в симуляторе. Проблема...
Логгер температуры 2.0
05.12.2016 - Evgeny6873:
Хотел повторить схему и долго ждал дисплей, два раза заказывал с Китая, пришел. ...
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
01.12.2016 - yorx:
Доброго времени суток, exersizze попробовал Ваш код все равно не работает как на...
Помни об усадке!
30.11.2016 - pchela5:
Автомобильные никакие не лезут?


Лучшие цены на 3D принтеры
успей сделать себе подарок к Новому Году! ;)


Prusa i3

Prusa i3 от 12500 р.



Rostoсk

Rostock от 15000 р.