- Датчик пламени
- Необходимые компоненты
- Принципиальная электрическая схема
- Работа датчика пламени с Arduino
- Объяснение кода
Системы пожарной сигнализации очень распространены в коммерческих зданиях и на заводах, эти устройства обычно содержат группу датчиков, которые постоянно отслеживают любое пламя, газ или пожар в здании и запускают тревогу, если обнаруживают любое из них. Один из самых простых способов обнаружения пожара - использовать ИК-датчик пламени. Эти датчики имеют ИК-фотодиод, чувствительный к ИК-свету. Теперь, в случае пожара, огонь будет не только выделять тепло, но также излучать ИК-лучи, да, каждое горящее пламя будет излучать некоторый уровень ИК-света, этот свет не виден человеческим глазам, но наш датчик пламени может его обнаружить. и предупредить микроконтроллер, такой как Arduino, об обнаружении пожара.
В этой статье мы сопоставляем датчик пламени с Arduino и изучаем все шаги по созданию системы пожарной сигнализации с использованием Arduino и датчика пламени. Модуль датчика пламени имеет фотодиод для обнаружения света и операционный усилитель для управления чувствительностью. Он используется для обнаружения пожара и подачи сигнала ВЫСОКИЙ при обнаружении. Arduino считывает сигнал и выдает предупреждение, включая зуммер и светодиод. Используемый здесь датчик пламени представляет собой ИК-датчик пламени. Мы также использовали ту же концепцию для обнаружения огня в нашем пожарном роботе, вы также можете проверить это, если вам интересно.
Датчик пламени
Детектор пламени представляет собой датчик предназначен для обнаружения и реагировать на присутствие пламени или пожара. Реакция на обнаруженное пламя зависит от установки, но может включать подачу сигнала тревоги, отключение топливопровода (например, трубопровода пропана или природного газа) и активацию системы пожаротушения. ИК-датчик пламени, используемый в этом проекте, показан ниже, эти датчики также иногда называют модулем пожарного датчика или датчиком датчика пламени.
Существуют разные типы методов обнаружения пламени. Некоторые из них: ультрафиолетовый детектор, матричный детектор ближнего ИК-диапазона, инфракрасный (ИК) детектор, инфракрасные тепловизионные камеры, УФ / ИК-детектор и т. Д.
Когда горит огонь, он излучает небольшое количество инфракрасного света, этот свет будет приниматься фотодиодом (ИК-приемником) на модуле датчика. Затем мы используем операционный усилитель для проверки изменения напряжения на ИК-приемнике, так что при обнаружении возгорания выходной контакт (DO) будет давать 0 В (НИЗКИЙ), а если пожара нет, выходной контакт будет 5 В (ВЫСОКИЙ).
В этом проекте мы используем ИК-датчик пламени. Он основан на датчике YG1006, который представляет собой высокоскоростной и высокочувствительный кремниевый фототранзистор NPN. Он может обнаруживать инфракрасный свет с длиной волны от 700 до 1000 нм, а его угол обнаружения составляет около 60 °. Модуль датчика пламени состоит из фотодиода (ИК-приемника), резистора, конденсатора, потенциометра и компаратора LM393 в интегральной схеме. Чувствительность можно регулировать, изменяя встроенный потенциометр. Рабочее напряжение составляет от 3,3 В до 5 В постоянного тока, с цифровым выходом. Высокий логический уровень на выходе указывает на наличие пламени или огня. Низкий логический уровень на выходе указывает на отсутствие пламени или огня.
Ниже приведено описание контактов модуля датчика пламени:
Штырь |
Описание |
Vcc |
3.3 - источник питания 5В |
GND |
Земля |
Dout |
Цифровой выход |
Применение датчиков пламени
- Водородные станции
- Мониторы горения для горелок
- Нефте- и газопроводы
- Предприятия автомобильного производства
- Ядерные объекты
- Ангары для самолетов
- Кожухи турбин
Необходимые компоненты
- Arduino Uno (можно использовать любую плату Arduino)
- Модуль датчика пламени
- СВЕТОДИОД
- Зуммер
- Резистор
- Перемычки
Принципиальная электрическая схема
На изображении ниже представлена принципиальная схема пожарного датчика Arduino, на нем показано, как подключить модуль пожарного датчика к Arduino.
Работа датчика пламени с Arduino
Arduino Uno - это плата микроконтроллера с открытым исходным кодом на базе микроконтроллера ATmega328p. Он имеет 14 цифровых контактов (из которых 6 контактов могут использоваться как выходы PWM), 6 аналоговых входов, встроенные регуляторы напряжения и т.д. Arduino Uno имеет 32 КБ флэш-памяти, 2 КБ SRAM и 1 КБ EEPROM. Он работает на тактовой частоте 16 МГц. Arduino Uno поддерживает последовательную связь, I2C, SPI для связи с другими устройствами. В таблице ниже приведены технические характеристики Arduino Uno.
Микроконтроллер |
ATmega328p |
Рабочее напряжение |
5В |
Входное напряжение |
7-12 В (рекомендуется) |
Контакты цифрового ввода / вывода |
14 |
Аналоговые контакты |
6 |
Флэш-память |
32 КБ |
SRAM |
2 КБ |
EEPROM |
1 КБ |
Тактовая частота |
16 МГц |
Датчик пламени обнаруживает наличие огня или пламени, основываясь на (ИК) длины волн инфракрасной излучаемых пламени. Он дает логическую 1 в качестве выхода, если обнаружено пламя, в противном случае выдает логический 0 в качестве выхода. Arduino Uno проверяет логический уровень на выходном контакте датчика и выполняет дальнейшие задачи, такие как активация зуммера и светодиода, отправка предупреждающего сообщения.
Также ознакомьтесь с нашими другими проектами пожарной сигнализации:
- Пожарная сигнализация с использованием термистора
- Система пожарной сигнализации с использованием микроконтроллера AVR
- Робот для пожаротушения на базе Arduino
Объяснение кода
Полный код Arduino для этого проекта приведен в конце этой статьи. Код разбит на небольшие значимые фрагменты и объяснен ниже.
В этой части кода мы собираемся определить контакты для датчика пламени, светодиода и зуммера, которые подключены к Arduino. Датчик пламени подключен к цифровому выводу 4 Arduino. Зуммер подключен к цифровому выводу 8 Arduino. Светодиод подключен к цифровому выводу 7 Arduino.
Переменная « flame_detected » используется для хранения цифрового значения, считываемого датчиком пламени. На основании этого значения мы определим наличие пламени.
int buzzer = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
В этой части кода мы собираемся установить состояние цифровых контактов Arduino и настроить
Скорость передачи для последовательной связи с ПК для отображения состояния цепи обнаружения пламени.
void setup () { Serial.begin (9600); pinMode (зуммер, ВЫХОД); pinMode (светодиод, ВЫХОД); pinMode (датчик пламени, ВХОД); }
Эта строка кода считывает цифровой выход датчика пламени и сохраняет его в переменной « flame_detected ».
flame_detected = digitalRead (датчик пламени);
На основании значения, хранящегося в « flame_detected », мы должны включить зуммер и светодиод. В этой части кода мы сравниваем значение, хранящееся в « flame_detected », с 0 или 1.
Если он равен 1, это означает, что обнаружено пламя. Мы должны включить зуммер и светодиод, а затем отобразить предупреждающее сообщение на последовательном мониторе Arduino IDE.
Если он равен 0, это означает, что пламя не было обнаружено, поэтому мы должны выключить светодиод и зуммер. Этот процесс повторяется каждую секунду, чтобы определить наличие огня или пламени.
if (flame_detected == 1) { Serial.println ("Обнаружено пламя…! Немедленно примите меры."); digitalWrite (зуммер, ВЫСОКИЙ); digitalWrite (светодиод, ВЫСОКИЙ); задержка (200); digitalWrite (светодиод, LOW); задержка (200); } else { Serial.println («Пламя не обнаружено. Сохраняйте спокойствие»); digitalWrite (зуммер, LOW); digitalWrite (светодиод, LOW); } задержка (1000);
На основе этой концепции мы создали робота-пожарного, который автоматически обнаруживает пожар и откачивает воду для тушения пожара. Теперь вы знаете, как выполнять обнаружение пожара с помощью Arduino и датчика пламени, надеюсь, вам понравилось это обучение, если у вас есть какие-либо вопросы, оставьте их в разделе комментариев ниже.
Проверьте полный код и демонстрационное видео ниже.