- Сензор за пламък
- Необходими компоненти
- Електрическа схема
- Работа на сензор за пламък с Arduino
- Обяснение на кода
Пожароизвестителните системи са много разпространени в търговските сгради и фабрики, тези устройства обикновено съдържат група сензори, които постоянно следят за пламък, газ или пожар в сградата и задействат аларма, ако открие някоя от тях. Един от най-простите начини за откриване на пожар е използването на IR сензор за пламък, тези сензори имат IR фотодиод, който е чувствителен към IR светлина. Сега, в случай на пожар, огънят не само ще произвежда топлина, но ще излъчва и IR лъчи, да, всеки горящ пламък ще излъчва някакво ниво на IR светлина, тази светлина не се вижда от човешките очи, но нашият сензор за пламък може да я открие и да предупреди микроконтролер като Arduino, че е открит пожар.
В тази статия ние свързваме сензора за пламък с Arduino и научаваме всички стъпки за изграждане на пожароизвестителна система с помощта на Arduino и сензор за пламък. Модулът на сензора за пламък има фотодиод за откриване на светлината и оп-усилвател за контрол на чувствителността. Използва се за откриване на пожар и осигуряване на ВИСОКИ сигнал при откриването. Arduino чете сигнала и подава сигнал, като включва зумера и светодиода. Използваният тук сензор за пламък е инфрачервен сензор за пламък. Също така използвахме същата концепция за откриване на пожар в нашия противопожарен робот, можете също да проверите, че нашата, ако се интересувате.
Сензор за пламък
А детектор на пламък е сензор, предназначен да открива и да отговорят на наличието на пламък или огън. Отговорите на открит пламък зависят от инсталацията, но могат да включват подаване на аларма, деактивиране на горивопровода (като пропан или тръба за природен газ) и активиране на пожарогасителна система. IR сензорът за пламък, използван в този проект, е показан по-долу, понякога тези сензори се наричат модул за пожарен сензор или сензор за пламъчен детектор.
Съществуват различни видове методи за откриване на пламък. Някои от тях са: Ултравиолетов детектор, близо до IR детектор, инфрачервен (IR) детектор, Инфрачервени термокамери, UV / IR детектор и др.
Когато огънят изгори, той излъчва малко количество инфрачервена светлина, тази светлина ще бъде получена от фотодиода (IR приемник) на сензорния модул. След това използваме Op-Amp, за да проверим за промяна в напрежението в IR приемника, така че ако бъде открит пожар, изходният щифт (DO) ще даде 0V (LOW), а ако не е пожар, изходният щифт ще бъде 5V (ВИСОКО).
В този проект използваме инфрачервен сензор за пламък. Базиран е на сензора YG1006, който е високоскоростен и високочувствителен NPN силициев фототранзистор. Той може да открива инфрачервена светлина с дължина на вълната в диапазона от 700nm до 1000nm и нейният ъгъл на откриване е около 60 °. Модулът на сензора за пламък се състои от фотодиод (IR приемник), резистор, кондензатор, потенциометър и компаратор LM393 в интегрална схема. Чувствителността може да се регулира чрез промяна на бордовия потенциометър. Работното напрежение е между 3.3v и 5v DC, с цифров изход. Логиката високо на изхода показва наличието на пламък или огън. Логиката с нисък изход показва липса на пламък или огън.
По-долу е описанието на пина на модула на сензора за пламък:
ПИН |
Описание |
Vcc |
3.3 - 5V захранване |
GND |
Земя |
Dout |
Цифров изход |
Приложения на сензори за пламък
- Водородни станции
- Монитори за горене за горелки
- Нефтопроводи и газопроводи
- Автомобилни производствени съоръжения
- Ядрени съоръжения
- Хангари за самолети
- Турбинни заграждения
Необходими компоненти
- Arduino Uno (може да се използва всяка дъска на Arduino)
- Модул сензор за пламък
- LED
- Звънец
- Резистор
- Джъмперни проводници
Електрическа схема
Изображението по-долу е схемата на схемата на сензора за пожар Arduino, показва как да свържете модула на пожарния сензор с Arduino.
Работа на сензор за пламък с Arduino
Arduino Uno е платка за микроконтролер с отворен код, базирана на микроконтролера ATmega328p. Той има 14 цифрови пина (от които 6 пина могат да се използват като ШИМ изходи), 6 аналогови входа, вградени регулатори на напрежението и др. Arduino Uno има 32KB флаш памет, 2KB SRAM и 1KB EEPROM. Той работи с тактова честота 16MHz. Arduino Uno поддържа серийна, I2C, SPI комуникация за комуникация с други устройства. Таблицата по-долу показва техническата спецификация на Arduino Uno.
Микроконтролер |
ATmega328p |
Работно напрежение |
5V |
Входен волтаж |
7-12V (препоръчително) |
Цифрови I / O щифтове |
14. |
Аналогови щифтове |
6 |
Флаш памет |
32KB |
SRAM |
2KB |
EEPROM |
1KB |
Тактова честота |
16MHz |
В сензора пламък открива наличието на пожар или пламък основава на инфрачервена (IR) дължина на вълната, излъчена от пламъка. Той дава логика 1 като изход, ако е открит пламък, в противен случай дава логика 0 като изход. Arduino Uno проверява логическото ниво на изходния щифт на сензора и изпълнява допълнителни задачи като активиране на зумера и светодиода, изпращане на предупредително съобщение.
Също така проверете и другите ни проекти за пожароизвестяване:
- Пожарна аларма с помощта на термистор
- Пожароизвестителна система, използваща AVR микроконтролер
- Робот за борба с пожар, базиран на Arduino
Обяснение на кода
Пълният код на Arduino за този проект е даден в края на тази статия. Кодът е разделен на малки смислени парчета и е обяснен по-долу.
В тази част на кода ще дефинираме щифтове за сензор за пламък, светодиод и зумер, които са свързани към Arduino. Сензорът на пламъка е свързан към цифров щифт 4 на Arduino. Зуммерът е свързан към цифров щифт 8 на Arduino. Светодиодът е свързан към цифров щифт 7 на Arduino.
Променлива “ flame_detected ” се използва за съхраняване на цифровата стойност, отчетена от сензора на пламъка. Въз основа на тази стойност ще открием наличието на пламък.
int зумер = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
В тази част на кода ще зададем състоянието на цифровите щифтове на Arduino и ще конфигурираме
Скорост на предаване за последователна комуникация с компютър за показване на състоянието на веригата за откриване на пламък.
void setup () { Serial.begin (9600); pinMode (зумер, ИЗХОД); pinMode (LED, OUTPUT); pinMode (сензор за пламък, INPUT); }
Този ред код чете цифровия изход от сензора на пламъка и го съхранява в променливата “ flame_detected ”.
flame_detected = digitalRead (flame_sensor);
Въз основа на стойността, съхранена в “ flame_detected ”, трябва да включим зумера и светодиода. В тази част на кода сравняваме стойността, съхранена в “ flame_detected ” с 0 или 1.
Ако е равно на 1, това означава, че е открит пламък. Трябва да включим зумер и светодиод и след това да покажем предупредително съобщение в сериен монитор на Arduino IDE.
Ако е равно на 0, това означава, че не е открит пламък, така че трябва да изключим светодиода и зумера. Този процес се повтаря всяка секунда, за да се установи наличието на огън или пламък.
if (flame_detected == 1) { Serial.println ("Пламъкът е открит…! предприемете действия незабавно."); digitalWrite (зумер, HIGH); digitalWrite (LED, HIGH); забавяне (200); digitalWrite (LED, LOW); забавяне (200); } else { Serial.println ("Не е открит пламък. останете хладен"); digitalWrite (зумер, LOW); digitalWrite (LED, LOW); } закъснение (1000);
Изградихме противопожарен робот, базиран на тази концепция, който автоматично открива пожара и изпомпва водата, за да потуши огъня. Сега знаете как да направите откриване на пожар с помощта на Arduino и сензор за пламък, надявам се, че ви е харесало да го научите, ако имате някакви въпроси, оставете ги в раздела за коментари по-долу.
Проверете пълния код и демо видео по-долу.