- Αισθητήρας φλόγας
- Απαιτούμενα στοιχεία
- Διάγραμμα κυκλώματος
- Εργασία του Flame Sensor με το Arduino
- Επεξήγηση κώδικα
Τα συστήματα συναγερμού πυρκαγιάς είναι πολύ συνηθισμένα σε εμπορικά κτίρια και εργοστάσια, αυτές οι συσκευές συνήθως περιέχουν ένα σύμπλεγμα αισθητήρων που παρακολουθεί συνεχώς οποιαδήποτε φλόγα, αέριο ή φωτιά στο κτίριο και ενεργοποιεί έναν συναγερμό αν εντοπίσει κάποιο από αυτά. Ένας από τον απλούστερο τρόπο ανίχνευσης πυρκαγιάς είναι με τη χρήση ενός αισθητήρα IR Flame, αυτοί οι αισθητήρες έχουν μια φωτοδίοδο υπερύθρων που είναι ευαίσθητη στο φως IR. Τώρα, σε περίπτωση πυρκαγιάς, η φωτιά όχι μόνο θα παράγει θερμότητα αλλά και θα εκπέμπει ακτίνες IR, ναι, κάθε φλόγα που καίει θα εκπέμπει κάποιο επίπεδο φωτός IR, αυτό το φως δεν είναι ορατό στα ανθρώπινα μάτια, αλλά ο αισθητήρας φλόγας μας μπορεί να το ανιχνεύσει και να ειδοποιήσετε έναν μικροελεγκτή όπως το Arduino ότι έχει εντοπιστεί πυρκαγιά.
Σε αυτό το άρθρο διασυνδέουμε το Flame Sensor με το Arduino και μαθαίνουμε όλα τα βήματα για να δημιουργήσουμε το Fire Alarm System χρησιμοποιώντας το Arduino και το flame sensor. Η μονάδα αισθητήρα φλόγας διαθέτει φωτοδίοδο για την ανίχνευση του φωτός και ένα op-amp για τον έλεγχο της ευαισθησίας. Χρησιμοποιείται για την ανίχνευση πυρκαγιάς και την παροχή σήματος ΥΨΗΛΗΣ κατά την ανίχνευση. Ο Arduino διαβάζει το σήμα και παρέχει ειδοποίηση ενεργοποιώντας το βομβητή και το LED. Ο αισθητήρας φλόγας που χρησιμοποιείται εδώ είναι ένας αισθητήρας φλόγας με βάση IR. Χρησιμοποιήσαμε επίσης την ίδια ιδέα για την ανίχνευση πυρκαγιάς στο Fire Fighting Robot, μπορείτε επίσης να ελέγξετε αν μας ενδιαφέρει.
Αισθητήρας φλόγας
Ένας ανιχνευτής φλόγας είναι ένας αισθητήρας σχεδιασμένος για να ανιχνεύει και να ανταποκρίνεται στην παρουσία φλόγας ή πυρκαγιάς. Οι απαντήσεις σε μια ανιχνευμένη φλόγα εξαρτώνται από την εγκατάσταση, αλλά μπορεί να περιλαμβάνουν τον ήχο συναγερμού, την απενεργοποίηση μιας γραμμής καυσίμου (όπως μια προπάνιο ή μια γραμμή φυσικού αερίου) και την ενεργοποίηση ενός συστήματος πυρόσβεσης. Ο αισθητήρας IR Flame που χρησιμοποιείται σε αυτό το έργο φαίνεται παρακάτω, αυτοί οι αισθητήρες ονομάζονται επίσης μονάδα αισθητήρα πυρκαγιάς ή αισθητήρας ανιχνευτή φλόγας μερικές φορές.
Υπάρχουν διαφορετικοί τύποι μεθόδων ανίχνευσης φλόγας. Μερικά από αυτά είναι: Ανιχνευτής υπεριώδους, κοντά στον ανιχνευτή συστοιχιών υπερύθρων, ανιχνευτής υπερύθρων (IR), θερμικές κάμερες υπερύθρων, ανιχνευτής υπεριώδους / IR κ.λπ.
Όταν καίει φωτιά εκπέμπει μικρή ποσότητα υπέρυθρου φωτός, αυτό το φως θα ληφθεί από τη φωτοδίοδο (δέκτης IR) στη μονάδα αισθητήρα. Στη συνέχεια, χρησιμοποιούμε ένα Op-Amp για να ελέγξουμε την αλλαγή τάσης στον δέκτη υπερύθρων, έτσι ώστε αν ανιχνευθεί πυρκαγιά, ο πείρος εξόδου (DO) θα δώσει 0V (LOW) και εάν δεν υπάρχει φωτιά, ο πείρος εξόδου θα είναι 5V (ΥΨΗΛΟ).
Σε αυτό το έργο, χρησιμοποιούμε έναν αισθητήρα φλόγας με βάση IR. Βασίζεται στον αισθητήρα YG1006, ο οποίος είναι υψηλής ταχύτητας και υψηλής ευαισθησίας φωτοτρανζίστορ πυριτίου NPN. Μπορεί να ανιχνεύσει υπέρυθρο φως με μήκος κύματος που κυμαίνεται από 700nm έως 1000nm και η γωνία ανίχνευσης είναι περίπου 60 °. Η μονάδα αισθητήρα φλόγας αποτελείται από μια φωτοδίοδο (δέκτης IR), αντίσταση, πυκνωτή, ποτενσιόμετρο και LM393 σε ένα ολοκληρωμένο κύκλωμα. Η ευαισθησία μπορεί να ρυθμιστεί μεταβάλλοντας το ενσωματωμένο ποτενσιόμετρο. Η τάση λειτουργίας κυμαίνεται μεταξύ 3,3v και 5v DC, με ψηφιακή έξοδο. Ένα λογικό υψηλό στην έξοδο δείχνει την παρουσία φλόγας ή φωτιάς. Μια λογική χαμηλής εξόδου δείχνει την απουσία φλόγας ή φωτιάς.
Ακολουθεί η περιγραφή Pin της μονάδας αισθητήρα φλόγας:
Καρφίτσα |
Περιγραφή |
Vcc |
Τροφοδοσία 3.3 - 5V |
GND |
Εδαφος |
Ντουτ |
Ψηφιακή έξοδος |
Εφαρμογές αισθητήρων φλόγας
- Σταθμοί υδρογόνου
- Οθόνες καύσης για καυστήρες
- Αγωγοί πετρελαίου και φυσικού αερίου
- Εγκαταστάσεις κατασκευής αυτοκινήτων
- Πυρηνικές εγκαταστάσεις
- Υπόστεγα αεροσκαφών
- Περιβλήματα στροβίλων
Απαιτούμενα στοιχεία
- Arduino Uno (μπορεί να χρησιμοποιηθεί οποιοσδήποτε πίνακας Arduino)
- Μονάδα αισθητήρα φλόγας
- LED
- Βομβητής
- Αντίσταση
- Καλώδια αλτών
Διάγραμμα κυκλώματος
Η παρακάτω εικόνα είναι το διάγραμμα κυκλώματος αισθητήρα πυρκαγιάς Arduino, δείχνει τον τρόπο διασύνδεσης της μονάδας αισθητήρα πυρκαγιάς με το Arduino.
Εργασία του Flame Sensor με το Arduino
Το Arduino Uno είναι ένας πίνακας μικροελεγκτή ανοιχτού κώδικα που βασίζεται στον μικροελεγκτή ATmega328p. Διαθέτει 14 ψηφιακούς ακροδέκτες (εκ των οποίων 6 ακίδες μπορούν να χρησιμοποιηθούν ως έξοδοι PWM), 6 αναλογικές είσοδοι, ρυθμιστές τάσης επί του σκάφους κ.λπ. Το Arduino Uno διαθέτει 32KB μνήμης flash, 2KB SRAM και 1KB EEPROM. Λειτουργεί με συχνότητα ρολογιού 16MHz. Το Arduino Uno υποστηρίζει επικοινωνία Serial, I2C, SPI για επικοινωνία με άλλες συσκευές. Ο παρακάτω πίνακας δείχνει την τεχνική προδιαγραφή του Arduino Uno.
Μικροελεγκτής |
ATmega328p |
Τάση λειτουργίας |
5V |
Τάση εισόδου |
7-12V (συνιστάται) |
Ψηφιακές καρφίτσες εισόδου / εξόδου |
14 |
Αναλογικές καρφίτσες |
6 |
Μνήμη Flash |
32KB |
SRAM |
2KB |
EEPROM |
1KB |
Ταχύτητα ρολογιού |
16MHz |
Ο αισθητήρας φλόγας ανιχνεύει την παρουσία φωτιάς ή φλόγας με βάση το μήκος κύματος υπερύθρων (IR) που εκπέμπεται από τη φλόγα. Δίνει λογική 1 ως έξοδο εάν ανιχνευθεί φλόγα, διαφορετικά, δίνει λογική 0 ως έξοδο. Το Arduino Uno ελέγχει το επίπεδο λογικής στον πείρο εξόδου του αισθητήρα και εκτελεί περαιτέρω εργασίες όπως ενεργοποίηση του βομβητή και LED, αποστολή μηνύματος ειδοποίησης.
Επίσης, ελέγξτε τα άλλα έργα συναγερμού πυρκαγιάς:
- Συναγερμός πυρκαγιάς χρησιμοποιώντας θερμίστορ
- Σύστημα συναγερμού πυρκαγιάς με χρήση μικροελεγκτή AVR
- Ρομπότ πυρόσβεσης με βάση το Arduino
Επεξήγηση κώδικα
Ο πλήρης κωδικός Arduino για αυτό το έργο δίνεται στο τέλος αυτού του άρθρου. Ο κωδικός χωρίζεται σε μικρά μικρά κομμάτια και εξηγείται παρακάτω.
Σε αυτό το μέρος του κώδικα, πρόκειται να ορίσουμε ακίδες για αισθητήρα φλόγας, LED και βομβητή που συνδέονται με το Arduino. Ο αισθητήρας φλόγας είναι συνδεδεμένος με τον ψηφιακό πείρο 4 του Arduino. Ο βομβητής συνδέεται με τον ψηφιακό ακροδέκτη 8 του Arduino. Το LED είναι συνδεδεμένο στον ψηφιακό ακροδέκτη 7 του Arduino.
Η μεταβλητή " flame_detected " χρησιμοποιείται για την αποθήκευση της ψηφιακής τιμής που διαβάζεται από τον αισθητήρα φλόγας. Με βάση αυτήν την τιμή θα ανιχνεύσουμε την παρουσία της φλόγας.
int buzzer = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
Σε αυτό το μέρος του κώδικα, πρόκειται να ορίσουμε την κατάσταση των ψηφιακών καρφιτσών του Arduino και να διαμορφώσουμε
Ρυθμός Baud για σειριακή επικοινωνία με υπολογιστή για εμφάνιση της κατάστασης του κυκλώματος ανίχνευσης φλόγας.
άκυρη ρύθμιση () { Serial.begin (9600); pinMode (βομβητής, ΕΞΟΔΟΣ); pinMode (LED, OUTPUT); pinMode (flame_sensor, INPUT); }
Αυτή η γραμμή κώδικα διαβάζει την ψηφιακή έξοδο από τον αισθητήρα φλόγας και την αποθηκεύει στη μεταβλητή " flame_detected ".
flame_detected = digitalRead (flame_sensor);
Με βάση την τιμή που είναι αποθηκευμένη στο " flame_detected ", πρέπει να ενεργοποιήσουμε το βομβητή και το LED. Σε αυτό το μέρος του κώδικα, συγκρίνουμε την τιμή που είναι αποθηκευμένη στο " flame_detected " με 0 ή 1.
Εάν είναι 1, υποδηλώνει ότι έχει ανιχνευθεί φλόγα. Πρέπει να ενεργοποιήσουμε το βομβητή και το LED και στη συνέχεια να εμφανίσουμε ένα μήνυμα προειδοποίησης στη Σειριακή οθόνη του Arduino IDE.
Αν είναι ίσο με 0, τότε δείχνει ότι δεν έχει ανιχνευθεί φλόγα, οπότε πρέπει να σβήσουμε το LED και το βομβητή. Αυτή η διαδικασία επαναλαμβάνεται κάθε δευτερόλεπτο για να προσδιοριστεί η παρουσία φωτιάς ή φλόγας.
if (flame_detected == 1) { Serial.println ("Εντοπίστηκε φλόγα…! αναλάβετε δράση αμέσως."); digitalWrite (βομβητής, ΥΨΗΛΟΣ); digitalWrite (LED, ΥΨΗΛΟ); καθυστέρηση (200) digitalWrite (LED, LOW); καθυστέρηση (200) } αλλιώς { Serial.println ("Δεν εντοπίστηκε φλόγα. μείνετε δροσεροί"); digitalWrite (βομβητής, LOW); digitalWrite (LED, LOW); } καθυστέρηση (1000)
Έχουμε δημιουργήσει ένα ρομπότ καταπολέμησης της πυρκαγιάς με βάση αυτήν την ιδέα, η οποία ανιχνεύει αυτόματα τη φωτιά και αντλεί το νερό για να σβήσει τη φωτιά. Τώρα ξέρετε πώς να κάνετε ανίχνευση πυρκαγιάς χρησιμοποιώντας το Arduino και τον αισθητήρα φλόγας, ελπίζω να σας άρεσε να το μαθαίνετε, αν έχετε οποιεσδήποτε ερωτήσεις αφήστε το στην παρακάτω ενότητα σχολίων.
Δείτε τον πλήρη κώδικα και το βίντεο επίδειξης παρακάτω.