Датчик газа на микроконтроллере ATtiny13
В данной статье представлен датчик утечки газа на микроконтроллере ATtiny13,
а в качестве сенсора газа применён MQ-4 фирмы HANWEI ELETRONICS. Это
полупроводниковый датчик газа, с вполне привлекательными характеристиками:
- Напряжение нагревателя: 5 В, ±0.1 В пост./перем. тока
- Рабочее напряжение: 3…15 В пост. тока
- Время отклика: менее 10 с
- Потребляемая мощность: 750-800 мВт
- Относительная чувствительность: ≤0.6
- Сопротивление нагревателя: 33 Ом
- Диапазон рабочих температур: -10…50°С
Принцип работы датчика обнаружения газа основан на свойстве изменения проводимости тонкопленочного слоя диоксида олова
SnO2
при контакте его с определяемым газом. Чувствительность к разного рода
газам достигается путем легирования различных присадок в чувствительный
слой датчика. Сам чувствительный элемент датчика состоит из
керамической микротубы с покрытием Al2O3 и нанесенного на нее чувствительного слоя диоксида олова. Внутри тубы проходит нагревательный элемент,
который нагревает чувствительный слой до температуры при которой он начинает реагировать на определяемый газ.
При попадании газа в датчик происходит абсорбция газа и в следствие чего
сопротивление датчика падает.
Алгоритм работы.
После включения питания моргает светодиод в течение двух минут. Эти две
минуты датчику нужны что бы он нагрелся и начал корректно работать. После этих
двух минут встроенный в контроллер компаратор сравнивает напряжение на прямом и
инверсном входах и если напряжение на прямом входе ниже
напряжения на инверсном (напряжение с датчика) то микроконтроллер переходит в режим ожидания. При этом
загорается светодиод и включается реле, тем самым сигнализируя о работе датчика.
Если концентрация газа в помещении увеличивается, то уменьшается сопротивление
датчика, как следствие уменьшается напряжение на инверсном входе компаратора и
когда напряжение на прямом входе превысит напряжение на инверсном
микроконтроллер
выходит из режима ожидания, при этом начинает мигать светодиод и размыкаются
выходные контакты. В таком состоянии датчик пробудет ещё две минуты. По
истечении двух минут, если концентрация газа уменьшилась, то датчик опять
перейдёт в режим ожидания. В противном случае датчик будет проверять
концентрацию газа каждые две минуты и если она вернётся в заданные пределы
датчик перейдёт в режим ожидания.
Схема датчика приведена на рисунке 1. Ток потребления датчика в целом, в режиме ожидания составляет примерно 160 мА, что много для обычных линейных преобразователей типа 7805, так как им пришлось бы рассеивать мощность P=I*U=0,16*(12-5)=1,12W, а при такой мощности нужно было бы ставить радиатор, что увеличило бы размер платы. По этому применён импульсный стабилизатор на 5 В, на основе микросхемы MC34063A. При сборке платы нужно впаять все детали, кроме сенсора газа MQ-4 и МК ATtiny13. После этого нужно переменным резистором R4 настроить напряжение так, что бы после дросселя L1 оно было равно 5В. После чего нужно впаять сенсор газа и, если нужно, заново выставить напряжение после дросселя равным 5 В. Теперь можно подать на датчик 12В (без подключённого МК) и подождав 2 минуты выставить переменным резистором R11 напряжение на 5 ножке МК, на пару десятком милливольт меньшим, чем на ножке 6 МК. Сам МК лучше не впаивать, а вставить в колодку, так как внутрисхемного программирования не предусмотрено. После нужно прошить МК и вставить в колодку. Для прошивания МК применялся USB программатор микроконтроллеров AVR / 89S совместимый с AVR910. Если всё сделать правильно, то схема сразу начнёт работать. Фото готового устройства: К деталям особых требований нету, разве что советую брать переменные резисторы многооборотные в герметичном корпусе, как на фото (синие). Сенсор газа можно брать практически любой, в том числе и из серии MQ-x. Главное что бы он улавливал нужные газы. Благодаря применению в схеме микроконтроллера устройство можно модернизировать под свои нужды, без значительных изменений схемы. Программа для микроконтроллера ATtiny13 написана на языке C, в компиляторе CodeVisionAVR C Compiler V2.03.4 . Алгоритм не такой уж и сложный, по этому думаю разберётесь. При прошивке МК нужно прошить фьюзы вот так: CKSEL0.,1 = 10 , SUT0.,1 = 01, WDTON = 0. Файл печатной платы тоже прилагается, формат Sprint-Layout 5.0. Если есть комментарии по коду или схеме то пишите.
Автор: Гулабян Гиорги.
Связь с автором: ggamaster@rambler.ru
Веб сайт автора: Нет данных
Прислал: Нет данных
Источник: http://eldigi.ru
Доп материалы, файлы к устройству (схеме):
исходный код на С и проект для CodeVisionAVR
Печатная плата
|