Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

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

1

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

 

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

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

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

2

 

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

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

 

3

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

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

 

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

 

4

Датчик подключается к 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.

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

5

 

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

6

 

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

7

 

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

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

 

 

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

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

 

Источник: http://avrproject.ru/

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *