Protipožarni alarmni sistemi so zelo pogosti v komercialnih stavbah in tovarnah, te naprave običajno vsebujejo skupino senzorjev, ki nenehno spremlja morebiten plamen, plin ali ogenj v stavbi in sproži alarm, če zazna katerega od teh. Eden najpreprostejših načinov zaznavanja ognja je uporaba IR senzorja plamena, ki ima IR fotodiodo, ki je občutljiva na IR svetlobo. Zdaj, v primeru požara, ogenj ne bo samo proizvedel toplote, temveč bo oddajal tudi IR žarke. Da, vsak goreči plamen bo oddajal določeno stopnjo IR svetlobe, ta svetloba ni vidna človeškim očem, vendar jo lahko zazna senzor plamena in mikrokrmilnik, kot je Arduino, opozorite, da je zaznan požar.
V tem članku povežemo senzor plamena z Arduinom in se naučimo vseh korakov za izdelavo požarnega alarmnega sistema z uporabo Arduina in senzorja plamena. Modul senzorja plamena ima fotodiodo za zaznavanje svetlobe in op-amp za nadzor občutljivosti. Uporablja se za odkrivanje požara in oddajanje VISOKEGA signala ob zaznavi. Arduino bere signal in opozori z vklopom zvočnega signala in LED. Tu uporabljen senzor plamena je IR senzor plamena. Isti koncept smo uporabili tudi za odkrivanje požara v našem gasilskem robotu, lahko pa ga tudi preverite, če vas zanima.
Senzor plamena
Detektor plamen je senzor za odkrivanje in odzivanje na prisotnosti ognja ali požara. Odzivi na zaznani plamen so odvisni od namestitve, lahko pa vključujejo sprožitev alarma, deaktiviranje cevi za gorivo (kot je propan ali plinovod) in aktiviranje sistema za gašenje požara. IR plamenski senzor, uporabljen v tem projektu, je prikazan spodaj, ti senzorji se včasih imenujejo tudi modul požarnega senzorja ali senzor detektorja plamena.
Obstajajo različne vrste metod odkrivanja plamena. Nekateri med njimi so: ultravijolični detektor, bližnji IR detektor, infrardeči (IR) detektor, infrardeče termične kamere, UV / IR detektor itd.
Ko požar opeče, oddaja majhno količino infrardeče svetlobe, ki jo bo sprejela Photodiode (IR sprejemnik) na modulu senzorja. Nato uporabimo op-ojačevalnik za preverjanje spremembe napetosti na IR sprejemniku, tako da bo izhodni zatič (DO), če bo zaznan požar, dal 0V (LOW) in če ne bo požarnega izhoda 5V (VISOKO).
V tem projektu uporabljamo IR senzor plamena. Temelji na senzorju YG1006, ki je visokohitrostni in visoko občutljiv silicijev fototransistor NPN. Zaznava lahko infrardečo svetlobo z valovno dolžino od 700 nm do 1000 nm in njen kot zaznavanja je približno 60 °. Modul senzorja plamena je sestavljen iz fotodiode (IR sprejemnika), upora, kondenzatorja, potenciometra in primerjalnika LM393 v integriranem vezju. Občutljivost lahko prilagodite s spreminjanjem vgrajenega potenciometra. Delovna napetost je med 3,3 in 5 V enosmernega toka, z digitalnim izhodom. Logika visoko na izhodu kaže na prisotnost plamena ali ognja. Logična moč na izhodu kaže na odsotnost plamena ali ognja.
Spodaj je pin opis modula senzorja plamena:
Pin |
Opis |
Vcc |
3,3 - 5V napajalnik |
GND |
Tla |
Dout |
Digitalni izhod |
Uporaba senzorjev plamena
- Vodikove postaje
- Nadzorniki zgorevanja gorilnikov
- Naftovodi in plinovodi
- Objekti za avtomobilsko proizvodnjo
- Jedrske naprave
- Letalski hangarji
- Turbinska ohišja
Potrebne komponente
- Arduino Uno (lahko se uporabi katera koli plošča Arduino)
- Modul senzorja plamena
- LED
- Zvočni signal
- Upor
- Jumper žice
Shema vezja
Spodnja slika je diagram vezja požarnega senzorja Arduino, ki prikazuje, kako povezati modul požarnega senzorja z Arduinom.
Delovanje senzorja plamena z Arduino
Arduino Uno je odprtokodna mikrokrmilna plošča, ki temelji na mikrokrmilniku ATmega328p. Ima 14 digitalnih zatičev (od tega je 6 zatičev mogoče uporabiti kot PWM izhode), 6 analognih vhodov, vgrajene regulatorje napetosti itd. Arduino Uno ima 32KB bliskovnega pomnilnika, 2KB SRAM-a in 1KB EEPROM-a. Deluje na taktni frekvenci 16MHz. Arduino Uno podpira komunikacijo Serial, I2C, SPI za komunikacijo z drugimi napravami. Spodnja tabela prikazuje tehnične specifikacije Arduino Uno.
Mikrokrmilnik |
ATmega328p |
Delovna napetost |
5V |
Vhodna napetost |
7-12V (priporočeno) |
Digitalni I / O zatiči |
14. |
Analogni zatiči |
6. |
Flash pomnilnik |
32 KB |
SRAM |
2KB |
EEPROM |
1KB |
Hitrost ure |
16MHz |
Senzor plamena zazna prisotnost ognja ali plamena, ki temelji na Infrardeči (IR) valovni dolžini s plamenom oddaja. Če zazna plamen, daje logiko 1 kot izhod, sicer daje logiko 0 kot izhod. Arduino Uno preveri logično raven na izhodnem zatiču senzorja in izvaja nadaljnje naloge, kot je aktiviranje zvočnega signala in LED, pošiljanje opozorilnega sporočila.
Preverite tudi druge naše projekte požarnega alarma:
- Požarni alarm z uporabo termistorja
- Požarni alarmni sistem z uporabo mikrokrmilnika AVR
- Protipožarni robot na osnovi Arduina
Razlaga kode
Popolna koda Arduino za ta projekt je podana na koncu tega članka. Koda je razdeljena na majhne pomembne koščke in je razložena spodaj.
V tem delu kode bomo določili nožice za senzor plamena, LED in brenčalo, ki so povezani z Arduino. Senzor plamena je povezan z digitalnim zatičem 4 Arduina. Zvočni signal je povezan z digitalnim zatičem 8 Arduina. LED je priključen na digitalni pin 7 Arduino.
Spremenljivka “ flame_detected ” se uporablja za shranjevanje digitalne vrednosti, odčitane s senzorja plamena. Na podlagi te vrednosti bomo zaznali prisotnost plamena.
zvočni signal int = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
V tem delu kode bomo nastavili status digitalnih zatičev Arduino in jih konfigurirali
Hitrost prenosa v serijski komunikaciji z računalnikom za prikaz stanja vezja za zaznavanje plamena.
void setup () { Serial.begin (9600); pinMode (brenčalo, IZHOD); pinMode (LED, IZHOD); pinMode (senzor plamena, INPUT); }
Ta vrstica kode prebere digitalni izhod s senzorja plamena in ga shrani v spremenljivko “ flame_detected ”.
flame_detected = digitalRead (flame_sensor);
Glede na vrednost, shranjeno v “ flame_detected ”, moramo vklopiti zvočni signal in LED. V tem delu kode primerjamo vrednost, shranjeno v " flame_detected ", z 0 ali 1.
Če je enak 1, pomeni, da je bil zaznan plamen. Vklopiti moramo brenčalo in LED, nato pa na serijskem monitorju Arduino IDE prikazati opozorilno sporočilo.
Če je enako 0, to pomeni, da ni zaznan noben plamen, zato moramo ugasniti LED in brenčalo. Ta postopek se ponovi vsako sekundo, da se ugotovi prisotnost ognja ali plamena.
if (flame_detected == 1) { Serial.println ("Plamen je zaznan…! nemudoma ukrepajte."); digitalWrite (brenčalo, VISOKO); digitalWrite (LED, VISOKO); zamuda (200); digitalWrite (LED, LOW); zamuda (200); } else { Serial.println ("Plamen ni zaznan. bodite hladni"); digitalWrite (brenčalo, LOW); digitalWrite (LED, LOW); } zamuda (1000);
Na podlagi tega koncepta smo zgradili robota za gašenje požara, ki samodejno zazna ogenj in izčrpa vodo za gašenje požara. Zdaj veste, kako narediti odkrivanje požara z uporabo Arduina in senzorja plamena, upamo, da ste se ga naučili, če imate kakršna koli vprašanja, jih pustite v spodnjem oddelku za komentarje.
Spodaj preverite celotno kodo in predstavitveni video.