Πώς λειτουργεί ο αισθητήρας PIR HC-SR501 και διασυνδέεται με το Arduino
Είτε θέλετε να φτιάξετε έναν συναγερμό για διαρρήξεις
στο σπίτι ή μια κάμερα μονοπατιών τότε θα πρέπει οπωσδήποτε να σκεφτείτε να
αγοράσετε ένα παθητικό υπέρυθρο HC-SR501 (PIR) αισθητήρα για τον εαυτό σας.
Ο αισθητήρας PIR σάς επιτρέπει να ανιχνεύετε πότε ένα
άτομο ή ένα ζώο κινείται μέσα ή έξω από την εμβέλεια του αισθητήρα. Αυτός
ο αισθητήρας είναι αυτό που θα βρείτε στα περισσότερα σύγχρονα συστήματα
ασφαλείας, αυτόματους διακόπτες φώτων, ανοιχτήρια γκαραζόπορτας και παρόμοιες
εφαρμογές όπου θέλουμε να αντιδρούμε στην κίνηση.
Πώς λειτουργεί ένας
αισθητήρας PIR;
Όλα τα αντικείμενα, συμπεριλαμβανομένου του ανθρώπινου
σώματος, σε θερμοκρασίες πάνω από το απόλυτο μηδέν (0 Kelvin / -273,15 °C)
εκπέμπουν θερμική ενέργεια με τη μορφή υπέρυθρης ακτινοβολίας. Όσο πιο
ζεστό είναι ένα αντικείμενο, τόσο περισσότερη ακτινοβολία εκπέμπει. Αυτή η
ακτινοβολία δεν είναι ορατή στο ανθρώπινο μάτι γιατί εκπέμπεται σε υπέρυθρα
μήκη κύματος. Ο αισθητήρας PIR είναι ειδικά σχεδιασμένος για να ανιχνεύει
τέτοια επίπεδα υπέρυθρης ακτινοβολίας.
Ένας αισθητήρας PIR αποτελείται από δύο κύρια μέρη:
1. Ένας πυροηλεκτρικός
αισθητήρας , τον οποίο μπορείτε να δείτε στην παρακάτω εικόνα ως ένα
στρογγυλό μέταλλο με ένα ορθογώνιο κρύσταλλο στο κέντρο.
2. Ένας ειδικός φακός που
ονομάζεται φακός fresnel που εστιάζει τα υπέρυθρα σήματα στον
πυροηλεκτρικό αισθητήρα.
Ο πυροηλεκτρικός
αισθητήρας
Ένας πυροηλεκτρικός αισθητήρας αποτελείται από ένα
παράθυρο με δύο ορθογώνιες υποδοχές και είναι κατασκευασμένος από ένα υλικό
(συνήθως επικαλυμμένο πυρίτιο) που επιτρέπει τη διέλευση της υπέρυθρης
ακτινοβολίας. Πίσω από το παράθυρο, υπάρχουν δύο ξεχωριστά ηλεκτρόδια
αισθητήρα υπερύθρων, το ένα υπεύθυνο για την παραγωγή της θετικής εξόδου και το
άλλο για την παραγωγή της αρνητικής εξόδου.
Τα δύο ηλεκτρόδια είναι καλωδιωμένα έτσι ώστε να
αλληλοεξουδετερώνονται. Αυτό συμβαίνει επειδή αναζητούμε αλλαγές στα
επίπεδα υπερύθρων και όχι στα επίπεδα υπερύθρων περιβάλλοντος. Γι' αυτό,
όταν το ένα μισό βλέπει περισσότερη ή λιγότερη ακτινοβολία υπερύθρων από το
άλλο, παίρνουμε την έξοδο.
Όταν δεν υπάρχει κίνηση γύρω από τον αισθητήρα ,
και οι δύο υποδοχές ανιχνεύουν την ίδια ποσότητα υπέρυθρης ακτινοβολίας, με
αποτέλεσμα ένα σήμα μηδενικής εξόδου.
Αλλά όταν περνάει ένα ζεστό σώμα όπως ένας άνθρωπος ή
ένα ζώο , πρώτα παρεμποδίζει τον μισό αισθητήρα. Αυτό προκαλεί μια
θετική αλλαγή διαφοράς μεταξύ των δύο ημιχρόνων. Όταν το θερμό σώμα
παρεμποδίζει το άλλο μισό του αισθητήρα (φεύγει από την περιοχή ανίχνευσης),
συμβαίνει το αντίθετο και ο αισθητήρας παράγει μια αρνητική αλλαγή
διαφορικού. Διαβάζοντας αυτή την αλλαγή τάσης, ανιχνεύεται κίνηση.
Ο φακός Fresnel
Μπορεί να αισθάνεστε ότι ο φακός Fresnel που
χρησιμοποιείται εδώ δεν κάνει πραγματικά τίποτα. Στην πραγματικότητα, αυτό
είναι που αυξάνει την εμβέλεια και το οπτικό πεδίο του αισθητήρα PIR. Η
λεπτή, ελαφριά κατασκευή του και η εξαιρετική του ικανότητα συλλογής φωτός το
καθιστούν εξαιρετικά χρήσιμο για την κατασκευή PIR μικρού μεγέθους αλλά και
ισχυρών.
Ένας φακός Fresnel αποτελείται από μια σειρά από
ομόκεντρες αυλακώσεις χαραγμένες στο πλαστικό. Αυτά τα περιγράμματα
λειτουργούν ως μεμονωμένες διαθλαστικές επιφάνειες, συγκεντρώνοντας παράλληλες
ακτίνες φωτός σε ένα εστιακό σημείο. Ως αποτέλεσμα, ένας φακός Fresnel, αν
και μικρότερος σε μέγεθος, μπορεί να εστιάσει το φως παρόμοια με έναν συμβατικό
οπτικό φακό.
Στην πραγματικότητα, για να αυξηθεί η εμβέλεια και το
οπτικό πεδίο του αισθητήρα PIR, ο φακός χωρίζεται σε πολλές πτυχές, κάθε τμήμα
των οποίων είναι ένας ξεχωριστός φακός Fresnel.
Οι διαφορετικές επιφάνειες και οι υποφακοί δημιουργούν
μια σειρά περιοχών/ζωνών ανίχνευσης, που συμπλέκονται μεταξύ τους. Γι'
αυτό τα κέντρα των φακών είναι «ασυνεπή» στην παραπάνω εικόνα – κάθε άλλο
δείχνει σε διαφορετικό μισό του αισθητήρα PIR.
Επισκόπηση υλικού
αισθητήρα HC-SR501 PIR
Για τα περισσότερα έργα Arduino που απαιτούν ανίχνευση
εάν κάποιος έχει φύγει ή έχει εισέλθει στην περιοχή, ο αισθητήρας PIR HC-SR501
είναι μια εξαιρετική επιλογή. Είναι χαμηλής ισχύος, χαμηλού κόστους,
εύκολη στη διασύνδεση και εξαιρετικά δημοφιλής στους χομπίστες.
Αυτός ο ίδιος ο αισθητήρας PIR είναι αρκετά απλός και
λειτουργεί εκτός συσκευασίας. Απλώς εφαρμόστε ισχύ 5V – 12V και
γείωση. Η έξοδος του αισθητήρα πηγαίνει ΥΨΗΛΗ όταν ανιχνεύεται κίνηση και
χαμηλά όταν είναι σε αδράνεια (δεν ανιχνεύεται κίνηση).
Συνδέοντας αυτήν την έξοδο στον μικροελεγκτή, μπορείτε
να αντιδράσετε στην κίνηση ενεργοποιώντας/απενεργοποιώντας τα φώτα,
ενεργοποιώντας έναν ανεμιστήρα, ενεργοποιώντας ένα στήριγμα για το Halloween ή
ίσως τραβώντας μια φωτογραφία ενός εισβολέα.
Και το καλύτερο είναι ότι καταναλώνει λιγότερο από 2
mA ρεύμα και μπορεί να ανιχνεύσει κίνηση έως και 7 μέτρα (21 πόδια) με έλεγχο
ευαισθησίας.
Ελεγκτής BISS0001 PIR
Στην καρδιά της μονάδας βρίσκεται ένας ελεγκτής
παθητικού υπέρυθρου (PIR) IC – BISS0001. Λόγω της προστασίας από το θόρυβο
που παρέχει, ο BISS0001 είναι ένας από τους πιο σταθερούς ελεγκτές PIR που
διατίθενται.
Αυτό το τσιπ παίρνει την έξοδο από τον πυροηλεκτρικό αισθητήρα και κάνει κάποια μικρή
επεξεργασία σε αυτόν για να εκπέμψει έναν ψηφιακό παλμό
εξόδου.
Μπορείτε να μάθετε περισσότερα για το BISS0001 από
το φύλλο δεδομένων .
Τροφοδοσία
Η μονάδα συνοδεύεται από ρυθμιστή τάσης ακριβείας 3,3
V, έτσι ώστε να μπορεί να τροφοδοτείται από οποιαδήποτε τάση DC από 4,5 έως 12
βολτ, αν και χρησιμοποιούνται συνήθως 5 V.
Η μονάδα συνοδεύεται από μια δίοδο προστασίας (επίσης
γνωστή ως δίοδος ασφαλείας) για την προστασία της μονάδας από αντίστροφη τάση
και ρεύμα. Έτσι, ακόμα κι αν συνδέσετε κατά λάθος το ρεύμα με εσφαλμένη
πολικότητα, η μονάδα σας δεν θα καταστραφεί.
Ρύθμιση ευαισθησίας
Ο αισθητήρας PIR διαθέτει ένα ποτενσιόμετρο στο πίσω
μέρος για τη ρύθμιση της ευαισθησίας.
Αυτό το ποτενσιόμετρο ρυθμίζει το μέγιστο εύρος
ανίχνευσης. Η ευαισθησία μπορεί να ρυθμιστεί σε μια περιοχή από περίπου 3
μέτρα έως 7 μέτρα (9 έως 21 πόδια). Ωστόσο, η τοπολογία του δωματίου σας
μπορεί να επηρεάσει το πραγματικό εύρος που λαμβάνετε. Η περιστροφή του
δοχείου δεξιόστροφα θα αυξήσει την ευαισθησία και συνεπώς το εύρος και
αντίστροφα.
Προσαρμογή
χρόνου-καθυστέρησης
Υπάρχει ένα άλλο ποτενσιόμετρο στο πίσω μέρος του
αισθητήρα PIR για τη ρύθμιση της χρονικής καθυστέρησης.
Αυτό το ποτενσιόμετρο ρυθμίζει πόσο καιρό η έξοδος θα
παραμείνει ΥΨΗΛΗ μετά την ανίχνευση κίνησης. Μπορεί να ρυθμιστεί από 1
δευτερόλεπτο έως περίπου 3 λεπτά. Η περιστροφή του ποτενσιόμετρου
δεξιόστροφα αυξάνει την καθυστέρηση, ενώ η περιστροφή του ποτενσιόμετρου
αριστερόστροφα μειώνει την καθυστέρηση.
Γέφυρα επιλογής
σκανδάλης(ενεργοποίησης)
Υπάρχουν δύο λειτουργίες ενεργοποίησης που καθορίζουν
πώς θα αντιδράσει ο αισθητήρας όταν ανιχνευτεί κίνηση.
Λειτουργία μονής σκανδάλης : Η συνεχής κίνηση θα
προκαλέσει μία μόνο σκανδάλη.
Λειτουργία πολλαπλής σκανδάλης : Η συνεχής κίνηση
θα προκαλέσει μια σειρά σκανδαλισμών.
Η πλακέτα διαθέτει ένα βραχυκυκλωτήρα berg (ορισμένες
μονάδες διαθέτουν βραχυκυκλωτήρα γέφυρας συγκόλλησης) που σας επιτρέπει να
επιλέξετε μία από τις δύο λειτουργίες:
L – Επιλέγοντας αυτό θα ρυθμιστεί η λειτουργία
μονής σκανδάλης. Σε αυτή τη λειτουργία η έξοδος πηγαίνει ΥΨΗΛΗ μόλις
ανιχνευτεί κίνηση και παραμένει ΥΨΗΛΗ για μια περίοδο που καθορίζεται από το
ποτενσιόμετρο Time-Delay. Περαιτέρω ανίχνευση μπλοκάρεται έως ότου η
έξοδος επιστρέψει στο LOW στο τέλος της χρονικής καθυστέρησης. Εάν
εξακολουθεί να υπάρχει κίνηση, η έξοδος θα πάει ξανά HIGH. Όπως μπορείτε
να δείτε στην παρακάτω εικόνα, η Κίνηση #3 αγνοείται εντελώς.
H – Επιλέγοντας αυτό θα ρυθμιστεί η λειτουργία
πολλαπλής ενεργοποίησης. Σε αυτή τη λειτουργία η έξοδος πηγαίνει ΥΨΗΛΗ
μόλις ανιχνευτεί κίνηση και παραμένει ΥΨΗΛΗ για μια περίοδο που καθορίζεται από
το ποτενσιόμετρο Time-Delay. Σε αντίθεση με τη λειτουργία μονής σκανδάλης,
η περαιτέρω ανίχνευση δεν μπλοκάρεται, επομένως η χρονική καθυστέρηση
επαναφέρεται κάθε φορά που ανιχνεύεται κίνηση. Μόλις σταματήσει η κίνηση,
η έξοδος επιστρέφει στο LOW μόνο μετά από μια χρονική καθυστέρηση. Εξ ου
και το όνομα λειτουργία πολλαπλής σκανδάλης.
Προαιρετικά εξαρτήματα
– Θερμίστορ και LDR
Η μονάδα HC-SR501 διαθέτει μαξιλαράκια συγκόλλησης για
δύο επιπλέον εξαρτήματα. Αυτά συνήθως επισημαίνονται ως «RT» και
«RL». Σημειώστε ότι σε ορισμένους πίνακες η ετικέτα μπορεί να καλύπτεται
από φακό Fresnel στην αντίθετη πλευρά των εξαρτημάτων.
RT – Αυτή η σύνδεση είναι για θερμίστορ ή
αντίσταση ευαίσθητη στη θερμοκρασία. Η προσθήκη αυτού επιτρέπει στο
HC-SR501 να χρησιμοποιείται σε ακραίες θερμοκρασίες. Αυτό αυξάνει επίσης
την ακρίβεια του ανιχνευτή σε κάποιο βαθμό.
RL – Αυτή η σύνδεση είναι για αντίσταση που
εξαρτάται από το φως (LDR) ή φωτοαντίσταση. Η προσθήκη αυτού του στοιχείου
επιτρέπει στο HC-SR501 να λειτουργεί στο σκοτάδι. Αυτό είναι χρήσιμο για
την κατασκευή συστημάτων φωτισμού ευαίσθητων στην κίνηση.
Αυτά τα πρόσθετα εξαρτήματα μπορούν να συγκολληθούν
απευθείας στη μονάδα ή να επεκταθούν σε απομακρυσμένες τοποθεσίες
χρησιμοποιώντας καλώδια και συνδέσμους.
Τεχνικές προδιαγραφές
Εδώ είναι οι προδιαγραφές:
Τάση
λειτουργίας |
4,5 – 20V
(συνήθως 5V) |
Μέγιστη
Τρέχουσα Κλήρωση |
< 2 mA |
Χρονοκαθυστερηση |
~ 1
δευτερόλεπτο έως 3 λεπτά |
Απόσταση
ανίχνευσης |
3 – 7
μέτρα (9 – 21 πόδια) |
Γωνία
ανίχνευσης |
120 μοίρες
(συνήθως) |
Pinout αισθητήρα
HC-SR501 PIR
Το HC-SR501 διαθέτει υποδοχή 3 ακίδων. Οι
σημάνσεις είναι κρυμμένες από τον φακό Fresnel, επομένως ανατρέξτε στην
παρακάτω εικόνα για pinout.
VCCείναι το τροφοδοτικό του
αισθητήρα. Μπορείτε να συνδέσετε μια τάση εισόδου οπουδήποτε μεταξύ 5 και
12 V σε αυτόν τον ακροδέκτη, αν και χρησιμοποιούνται συνήθως 5 V.
ΠαραγωγήΗ ακίδα είναι η λογική
έξοδος 3,3 V TTL. Πηγαίνει ΥΨΗΛΟ όταν ανιχνεύεται κίνηση και πηγαίνει
ΧΑΜΗΛΟ όταν είναι αδρανές (δεν ανιχνεύεται κίνηση).
GNDείναι ο πείρος γείωσης.
Χρήση αισθητήρα PIR ως
αυτόνομη μονάδα
Ένας από τους λόγους για τους οποίους ο αισθητήρας PIR
HC-SR501 είναι εξαιρετικά δημοφιλής είναι ότι ο HC-SR501 είναι ένας πολύ
ευέλικτος αισθητήρας που είναι αρκετά ικανός από μόνος του. Μπορείτε να
αυξήσετε ακόμη περισσότερο την ευελιξία του συνδέοντάς το με έναν μικροελεγκτή
όπως το Arduino.
Για το πρώτο μας πείραμα, θα χρησιμοποιήσουμε το
HC-SR501 για να δείξουμε πόσο χρήσιμο είναι από μόνο του.
Η καλωδίωση για αυτό το πείραμα είναι πολύ
απλή. Συνδέστε τις μπαταρίες στο VCC και στο GND του αισθητήρα και ένα
μικρό κόκκινο LED στον ακροδέκτη εξόδου μέσω μιας αντίστασης περιορισμού
ρεύματος 220Ω. Αυτό είναι όλο!
Τώρα, όταν το PIR ανιχνεύσει κίνηση, η ακίδα εξόδου θα
πάει "HIGH" και θα ανάψει το LED!
Αυτό δείχνει πώς ένας αισθητήρας PIR μπορεί να χρησιμοποιηθεί σε αυτόνομες
εφαρμογές.
Θυμηθείτε ότι μόλις ενεργοποιήσετε το κύκλωμα πρέπει
να περιμένετε 30-60 δευτερόλεπτα για να προσαρμοστεί το PIR στην υπέρυθρη
ενέργεια στο δωμάτιο. Το LED μπορεί να αναβοσβήνει λίγο κατά τη διάρκεια
αυτής της περιόδου. Περιμένετε μέχρι να σβήσει τελείως η λυχνία LED και
μετά περπατήστε μπροστά της ή κουνήστε το χέρι και παρακολουθήστε τη λυχνία LED
να ανάβει ανάλογα.
Αυτή η έξοδος PIR μπορεί να συνδεθεί απευθείας σε μια
μονάδα ρελέ εάν θέλετε να ενεργοποιήσετε/απενεργοποιήσετε κάτι με βάση την
κίνηση.
Καλωδίωση αισθητήρα
PIR σε Arduino
Τώρα που έχουμε πλήρη κατανόηση του τρόπου λειτουργίας
του αισθητήρα PIR, μπορούμε να αρχίσουμε να τον συνδέουμε στο Arduino μας!
Η σύνδεση του αισθητήρα PIR με το Arduino είναι πολύ
απλή. Τροφοδοτήστε το PIR με 5 V και συνδέστε τη γείωση στη
γείωση. Το PIR λειτουργεί ως ψηφιακή έξοδος, οπότε το μόνο που έχετε να
κάνετε είναι να ακούσετε τον ακροδέκτη εξόδου. Συνδέστε λοιπόν την έξοδο
στην ψηφιακή ακίδα #8 του Arduino.
Για να λειτουργεί σωστά το HC-SR501, ρυθμίστε το
βραχυκυκλωτήρα στη θέση H (Λειτουργία πολλαπλής σκανδάλης). Θα χρειαστεί
επίσης να ρυθμίσετε το Time-Delay σε τουλάχιστον 3 δευτερόλεπτα, περιστρέψτε το
ποτενσιόμετρο Time-Delay αριστερόστροφα όσο το δυνατόν περισσότερο. Τέλος,
ρυθμίστε το ποτενσιόμετρο ευαισθησίας σε οποιαδήποτε θέση θέλετε ή, εάν δεν
είστε σίγουροι, ρυθμίστε το στο μέσο.
Ο παρακάτω πίνακας παραθέτει τις συνδέσεις ακίδων:
HC-SR501 Αισθητήρας PIR |
Arduino |
|
VCC |
5V |
|
GND |
GND |
|
ΕΞΩ |
8 |
Η παρακάτω εικόνα δείχνει πώς να συνδέσετε τον
αισθητήρα PIR HC-SR501 στο Arduino.
Καλωδίωση αισθητήρα PIR στο Arduino UNO
Τώρα είστε έτοιμοι να ανεβάσετε κάποιο κωδικό και να
λειτουργήσει το PIR.
Παράδειγμα κώδικα
Arduino
Ο κώδικας είναι πολύ απλός. Βασικά απλώς
παρακολουθεί εάν η είσοδος στην καρφίτσα #8 είναι ΥΨΗΛΗ ή ΧΑΜΗΛΗ.
int ledPin = 13; // choose the pin for the LED
int inputPin = 8; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
void setup() {
pinMode(ledPin,
OUTPUT); // declare LED as output
pinMode(inputPin,
INPUT); // declare sensor as input
Serial.begin(9600);
}
void loop(){
val = digitalRead(inputPin); // read input value
if (val
== HIGH) // check if the input is HIGH
{
digitalWrite(ledPin, HIGH);
// turn LED ON
if
(pirState == LOW)
{
Serial.println("Motion detected!"); // print on output change
pirState = HIGH;
}
}
else
{
digitalWrite(ledPin, LOW); // turn LED OFF
if
(pirState == HIGH)
{
Serial.println("Motion ended!"); // print on output change
pirState = LOW;
}
}
}
Με τον αισθητήρα στραμμένο προς τα πάνω, περάστε το
χέρι σας πάνω από τον αισθητήρα. Θα πρέπει να δείτε ένα μήνυμα
«Εντοπίστηκε κίνηση» τυπωμένο στο σειριακό τερματικό.
Έξοδος αισθητήρα PIR σε σειριακή οθόνη
Πράγματα που πρέπει να
λάβετε υπόψη πριν σχεδιάσετε εφαρμογές που βασίζονται στο PIR
Όταν σχεδιάζετε ένα σύστημα που βασίζεται στο
HC-SR501, πρέπει να έχετε υπόψη σας τις ακόλουθες περιόδους καθυστέρησης.
Ώρα κλειδώματος
Όταν η έξοδος του αισθητήρα γίνει LOW, θα παραμείνει
ΧΑΜΗΛΗ για περίπου 2 δευτερόλεπτα. Κατά τη διάρκεια αυτού, η ανίχνευση
κίνησης κλειδώνεται.
Για παράδειγμα, ας υποθέσουμε ότι έχετε ρυθμίσει τον
αισθητήρα για μια χρονική καθυστέρηση 4 δευτερολέπτων και έχετε ρυθμίσει το
βραχυκυκλωτήρα στο 'L'. Έτσι, όταν κουνάτε το χέρι σας μπροστά από τον
αισθητήρα, η έξοδος θα πάει ΥΨΗΛΗ για 4 δευτερόλεπτα και στη συνέχεια ΧΑΜΗΛΗ
για περίπου 2 δευτερόλεπτα. Οποιαδήποτε κίνηση σε αυτήν την περίοδο
αγνοείται εντελώς. όπως μπορείτε να δείτε η Κίνηση #2 αγνοείται εδώ.
Καθυστέρηση
ενεργοποίησης
Όπως οι περισσότεροι αισθητήρες PIR, ο HC-SR501
χρειάζεται περίπου 30 έως 60 δευτερόλεπτα μετά την ενεργοποίησή του για να
περάσει την ακολουθία αρχικοποίησης. Εκείνη την εποχή μαθαίνει την
περιβαλλοντική υπέρυθρη υπογραφή του περιβάλλοντος. Βασικά βαθμονομείται
στο περιβάλλον για να προσδιορίσει τι συνιστά κίνηση.
Κατά τη διάρκεια αυτού του χρόνου βαθμονόμησης είναι
πιθανό να προκύψουν ψευδείς εναύσματα, επομένως τυχόν εναύσματα κατά τη
διάρκεια αυτής της περιόδου θα πρέπει να αγνοηθούν. Βεβαιωθείτε επίσης ότι
δεν υπάρχει υπερβολική κίνηση μπροστά από τον αισθητήρα όταν υποβάλλεται σε
αυτοβαθμονόμηση, καθώς αυτό μπορεί να επηρεάσει τη διαδικασία βαθμονόμησης.
Σχόλια
Δημοσίευση σχολίου