A tűzjelző rendszerek nagyon elterjedtek a kereskedelmi épületekben és a gyárakban, ezek az eszközök általában olyan érzékelőcsoportot tartalmaznak, amely folyamatosan figyeli az épület bármely lángját, gázt vagy tüzet, és riasztást vált ki, ha ezek bármelyikét észleli. A tűz észlelésének egyik legegyszerűbb módja az IR lángérzékelő használata, ezeknek az érzékelőknek IR fotodiódája van, amely érzékeny az IR fényre. Tűz esetén a tűz nemcsak hőt termel, hanem IR-sugarakat is kibocsát, igen, minden égő láng valamilyen szintű IR-fényt bocsát ki, ez a fény nem látható az emberi szem számára, de a lángérzékelőnk képes érzékelni és figyelmezteti az Arduino-hoz hasonló mikrovezérlőt, hogy tüzet észleltek.
Ebben a cikkben összekapcsoljuk a lángérzékelőt az Arduino-val, és megtanuljuk a Tűzjelző rendszer felépítésének összes lépését az Arduino és a lángérzékelő használatával. A lángérzékelő modul rendelkezik egy fénydiódával a fény érzékelésére és egy op-erősítővel az érzékenység szabályozására. Tűz észlelésére és HIGH jelzésre szolgál az észleléskor. Arduino beolvassa a jelet, és riasztást nyújt a hangjelző és a LED bekapcsolásával. Az itt használt lángérzékelő IR alapú lángérzékelő. Tűzoltó robotunkban ugyanazt a koncepciót használtuk a tűz észlelésére is, ha érdekli, ellenőrizheti azt is.
Lángérzékelő
A lángérzékelő olyan érzékelő, amelyet láng vagy tűz észlelésére és reagálására terveztek. Az észlelt lángra adott válaszok a telepítéstől függenek, de magukban foglalhatják a riasztást, az üzemanyag-vezeték (például propán vagy földgázvezeték) deaktiválását és a tűzoltó rendszer aktiválását. Az ebben a projektben használt IR lángérzékelő az alábbiakban látható, ezeket az érzékelőket néha Tűzérzékelő modulnak vagy lángérzékelő érzékelőnek is hívják.
Különböző típusú lángfelderítési módszerek léteznek. Néhány közülük: ultraibolya detektor, közel infravörös tömb detektor, infravörös (IR) detektor, infravörös hőkamerák, UV / IR detektor stb.
Ha tűz ég, kis mennyiségű infravörös fényt bocsát ki, ezt a fényt az érzékelő modul fotodióda (IR vevő) veszi fel. Ezután Op-Amp segítségével ellenőrizzük az IR vevő feszültségének változását, így ha tüzet észlelünk, a kimeneti tű (DO) 0V (LOW) értéket ad, és ha nincs tűz, akkor a kimeneti tű lesz 5V (MAGAS).
Ebben a projektben IR alapú lángérzékelőt használunk. Az YG1006 érzékelőn alapul, amely nagy sebességű és nagy érzékenységű NPN szilícium fototranzisztor. Az infravörös fényt 700 nm-től 1000 nm-ig terjedő hullámhosszal képes felismerni, detektálási szöge pedig körülbelül 60 °. A lángérzékelő modul egy fotodiódából (IR vevő), ellenállásból, kondenzátorból, potenciométerből és az LM393 komparátorból áll egy integrált áramkörben. Az érzékenység a fedélzeti potenciométer változtatásával állítható be. Az üzemi feszültség 3,3 V és 5 V DC között van, digitális kimenettel. A magas kimeneti logika láng vagy tűz jelenlétét jelzi. Az alacsony kimeneti logika azt jelzi, hogy nincs láng vagy tűz.
Az alábbiakban a Lángérzékelő modul csapleírása található:
Pin |
Leírás |
Vcc |
3,3 - 5 V tápegység |
GND |
Talaj |
Dout |
Digitális kimenet |
Lángérzékelők alkalmazásai
- Hidrogén állomások
- Égők égésfigyelői
- Olaj- és gázvezetékek
- Gépjárműgyártó létesítmények
- Nukleáris létesítmények
- Repülőgép-hangárok
- Turbina burkolatok
Szükséges alkatrészek
- Arduino Uno (bármely Arduino tábla használható)
- Lángérzékelő modul
- VEZETTE
- Berregő
- Ellenállás
- Jumper huzalok
Kördiagramm
Az alábbi kép az Arduino tűzérzékelő kapcsolási rajza, amely bemutatja, hogyan kell összekapcsolni a tűzérzékelő modult az Arduino-val.
Lángérzékelő működése az Arduinóval
Az Arduino Uno egy nyílt forráskódú mikrokontroller tábla, amely az ATmega328p mikrokontrolleren alapul. 14 digitális érintkezõvel rendelkezik (ebből 6 érintkezõ használható PWM kimenetként), 6 analóg bemenettel, fedélzeti feszültségszabályozókkal stb. 16MHz órajel frekvencián működik. Az Arduino Uno támogatja a Serial, I2C, SPI kommunikációt más eszközökkel való kommunikációhoz. Az alábbi táblázat az Arduino Uno műszaki leírását mutatja.
Mikrovezérlő |
ATmega328p |
Üzemi feszültség |
5V |
Bemeneti feszültség |
7-12 V (ajánlott) |
Digitális I / O csapok |
14 |
Analóg csapok |
6. |
Flashmemória |
32 KB |
SRAM |
2KB |
EEPROM |
1 KB |
Óra sebessége |
16MHz |
A lángérzékelő tűz vagy láng jelenlétét érzékeli a láng által kibocsátott infravörös (IR) hullámhossz alapján. Az 1. logikát adja kimenetnek, ha lángot észlel, ellenkező esetben a 0 logikát adja kimenetként. Az Arduino Uno ellenőrzi az érzékelő kimeneti tüskéjének logikai szintjét, és további feladatokat hajt végre, például aktiválja a hangjelzőt és a LED-et, riasztási üzenetet küld.
Ellenőrizze a többi tűzjelző projektünket is:
- Tűz riasztás termisztor használatával
- Tűzjelző rendszer AVR mikrovezérlővel
- Arduino alapú tűzoltó robot
Kódmagyarázat
A projekt teljes Arduino kódja a cikk végén található. A kódot apró, értelmes darabokra osztják, és az alábbiakban elmagyarázzák.
A kód ezen részében meghatározzuk az Arduino-hoz csatlakoztatott lángérzékelő, LED és hangjelző csapjait. A lángérzékelő az Arduino 4-es digitális tűjéhez csatlakozik. A hangjelző az Arduino 8. digitális csatlakozójához van csatlakoztatva. A LED az Arduino 7. digitális csatlakozójához csatlakozik.
A „ flame_detected ” változót a lángérzékelőből kiolvasott digitális érték tárolására használják. Ezen érték alapján érzékeljük a láng jelenlétét.
int hangjelző = 8; int LED = 7; int lángérzékelő = 4; int láng_detektálva;
A kód ezen részében meg fogjuk állítani az Arduino digitális csapjainak állapotát és konfigurálni
Baud sebesség a soros kommunikációval a PC-vel a lángérzékelő áramkör állapotának megjelenítéséhez.
void setup () { Serial.begin (9600); pinMode (hangjelző, OUTPUT); pinMode (LED, OUTPUT); pinMode (lángérzékelő, INPUT); }
Ez a kódsor beolvassa a lángérzékelő digitális kimenetét és eltárolja a „ flame_detected ” változóban.
láng_detektált = digitalRead (láng_érzékelő);
A „ flame_detected ” könyvtárban tárolt érték alapján be kell kapcsolnunk a hangjelzőt és a LED-et. A kód ezen részében összehasonlítjuk a „ flame_detected ” mappában tárolt értéket 0-val vagy 1-vel.
Ha értéke 1, akkor azt jelzi, hogy lángot észleltek. Bekapcsolnunk kell a hangjelzőt és a LED-et, majd figyelmeztető üzenetet kell megjelenítenünk az Arduino IDE soros monitorján.
Ha értéke 0, akkor azt jelzi, hogy nem észleltek lángot, ezért ki kell kapcsolnunk a LED-et és a hangjelzőt. Ezt a folyamatot másodpercenként megismételjük a tűz vagy láng jelenlétének azonosítására.
if (flame_detected == 1) { Serial.println ("Lángot észleltünk… azonnal cselekedjünk."); digitalWrite (hangjelző, HIGH); digitalWrite (LED, HIGH); késés (200); digitalWrite (LED, LOW); késés (200); } else { Serial.println ("Nincs láng észlelve. maradjon hűvös"); digitalWrite (hangjelző, LOW); digitalWrite (LED, LOW); } késleltetés (1000);
Ezen koncepció alapján építettünk egy tűzoltó robotot, amely automatikusan észleli a tüzet és kiszivattyúzza a vizet a tűz eloltására. Most már tudja, hogyan kell elvégezni a tűz észlelését az Arduino és a lángérzékelő segítségével, remélem, tetszett neked megtanulni, ha bármilyen kérdése van, hagyja őket az alábbi megjegyzés részben.
Ellenőrizze az alábbi teljes kódot és bemutató videót.