In diesem Artikel möchte ich den sehr verbreiteten PIR-Bewegungsmelder HC-SR501 vorstellen. Es handelt sich hierbei um einen passiven Infrarot Sensor. Dabei steht die Abkürzung PIR für: Passive Infrared. Der HC-SR501 ist also ein passiver Sensor, der mittels Infrarot-Strahlen Bewegung(en) erkennen kann. Passiv bedeutet in diesem Fall, dass der Sensor selber keine Infrarot-Strahlung aussendet, sondern vielmehr jene aus seiner unmittelbaren Umgebung aufnimmt um Bewegungen zu detektieren.

Diese Art von PIR-Sensoren gibt es als fertige Boards, wie auf dem Foto oben zu sehen, bereits für sehr kleines Geld zu kaufen. Das Board bringt einiges an zusätzlicher Hardware rund um den eigentlichen Sensor mit. Der Sensor selbst ist viel kleiner. Er wird von der weißen Kugel – der Fresnel-Linse – abgedeckt. Weshalb sich diese Fresnel-Linse auf dem eigentlichen Sensor befindet, klären wir gleich. Aber zunächst einmal ein Foto des freigelegten Sensors:

Fresnel-Linse

Wie auf den beiden Fotos oben gut zu erkennen, ist der Sensor viel Kleiner als es zunächst den Anschein hat. Auf dem Board / im Einsatz wird der Sensor von einer Fresnel-Linse abgedeckt, die eine ganz wesentliche und wichtige Funktion hat. Da der PIR-Sensor lediglich Infrarot-Strahlen, also Wärme detektiert, ist es erforderlich eine Maßnahme zu ergreifen, die verhindert, dass statische Wärmequellen (wie zum Beispiel Fenster oder Heizungen) ebenfalls zum Auslösen des Sensor führen. Und genau diesen Zweck erfüllt die Fresnel-Linse.

Technische Daten

Ein entsprechendes Board, wie oben auf den Fotos zu sehen, verfügt über eine Erkennungsreichweite von etwa 7 m und deckt dabei einen Bereich von circa 120° ab. Das HC-SR501 Board verfügt neben zwei Potentiometern zur Einstellung von Empfindlichkeit und Haltezeit, einem Jumper zur Wahl des Betriebsmodus noch über einen dreipoligen Anschluss.

Das Modul muss im Auslieferungszustand mit 5V versorgt werden (auch wenn der Ausgang letztendlich nur 3,3V liefert. Mit dem Jumper (nicht auf allen Boards bestückt) kann der Triggermodus eingestellt werden. Hierbei wird das Ausgangssignal beeinflusst.

Die Trigger Modi

Single

In der Stellung wie auf dem Foto, ist der Single Trigger Modus aktiviert. In diesem Modus hält das Modul den Ausgang für die eingestellte Haltezeit (Poti) auf high und lässt ihn im Anschluss wieder auf low fallen. Während der Zeit in der der Ausgang auf high gehalten wird, kann keine weitere Bewegung erkannt werden! Im Anschluss an die high Phase des Ausgang ist der Sensor für ca. 3 Sekunden blind. Im Anschluss können neue Bewegungen erkannt werden.

Die nachfolgenden Darstellungsbeispiele soll das Verhalten des Ausgangssignals in dem Single-Trigger-Modus verdeutlichen:

                   Bewegung                                      Bewegung
                      |                                             |
                      V                                             V
                       ___________                                   ____ _ _ _
Output _______________/           \_____________________ _ _ _ _____/
                                 
time                  |<- Thold ->|<-  Ttot = 3 sec  ->|

Zu einem Zeitpunkt, zudem das Ausgangssignal des Sensormoduls seit mindestens 3 Sekunden auf low gewesen ist, wird eine Bewegung korrekt erkannt (siehe Markierung). Nun wird das Ausgangssignal auf high Potential (3,3V) gezogen und für die mit dem Potentiometer eingestellte Zeit Thold auf diesem Wert gehalten. Im Anschluss fällt der Ausgang zurück auf low. Nun beginnt eine Zeit von Ttot = 3 Sekunden in denen der Sensor blind ist. In diesen 3 Sekunden kann keine Bewegung erkannt werden! Nach Ttot ist der Sensor wieder scharf.

                  Bewegung 1      Bewegung 2        Bewegung 3              Bewegung
                      |               |                 |                      |
                      V               V                 V                      V
                       _______________________                                  ____ _ _ _
Output _______________/                       \_____________________ _ _ ______/
 
time                  |<-       Thold       ->|<- Ttot = 3 sec ->|

In dem zweiten Beispiel sind alle Einstellungen identisch zum ersten Beispiel. Nun tritt jedoch während der Thold Zeit eine weitere Bewegung (Bewegung 2) auf. Aufgrund des Single-Trigger Modus wird diese Bewegung nicht erkannt. Ebenso wird die Bewegung 3 nicht erkannt. Dies liegt jedoch nicht am gewählten Trigger-Modus sondern liegt an der Totzeit von 3 Sekunden im Anschluss an einen Impuls am Ausgang.

Repeatable

Der zweite Trigger Modus wird über die zweite Jumper-Stellung erreicht (nicht wie im Foto oben). In diesem Modus führen neue Bewegungen, die während einer bereits erkannten (ersten) Bewegung auftreten dazu, dass sich der Impuls am Ausgang um die eingestellte Haltezeit (Poti) verlängert. Anbei wieder zwei Beispiele zur Verdeutlichung:

                   Bewegung                                      Bewegung
                      |                                             |
                      V                                             V
                       ___________                                   ____ _ _ _
Output _______________/           \_____________________ _ _ _ _____/
 
time                  |<- Thold ->|<- Ttot = 3 sec ->|

Dieses Beispiel ist identisch zum ersten Beispiel vom Single-Trigger Modus. Hiermit möchte ich verdeutlichen, dass sich rein theoretisch nichts ändert, sofern nach dem Erkennen einer ersten Bewegung innerhalb der Haltezeit keine weitere Bewegung auftritt. Schauen wir uns lieber das zweite Beispiel an:

                  Bewegung 1   Bewegung 2               Bewegung 3            Bewegung
                      |            |                        |                     |
                      V            V                        V                     V                
                       __________________________                                  ____ _ _ _
Output _______________/                          \_____________________ _ _ ______/
 
time                  |<-   T1   ->|<- + Thold ->|<- Ttot = 3 sec ->|            (T1 < Thold)

Hier wird nun der Effekt des Repeatable-Trigger Modus deutlich. Zunächst wird wieder eine erste initiale Bewegung erkannt. Der Ausgang wechselt von low nach high. Nun wird jedoch während der Thold Zeit eine weitere Bewegung (2) erkannt. Diese Zweite Bewegung führt nun dazu, dass die high Periode des Ausgangssignals um Thold verlängert wird. Die im Beispiel gezeigte Bewegung 3 wird nach wie vor nicht detektiert, da sie sich innerhalb der Totzeit befindet.

In der Praxis äußert sich dieses Verhalten darin, dass das Ausgangssignal solange auf high bleibt, solange man sich vor dem Sensor bewegt. Hingegen würde das Modul beim Single-Trigger ein Rechtecksignal generieren (solange man sich vor dem Sensor bewegt). Das resultiert aus dem nicht wieder triggerbaren Modus und den 3 Sekunden Totzeit.

Betrieb mit 3.3V

Es gibt eine ganz einfache Möglichkeit das PIR-Sensormodul mit 3.3V statt mit 5V zu versorgen. Hierzu ist es noch nicht einmal notwendig irgendetwas zu löten! Statt, dass ihr 5V an den Vcc Pin anschließt, könnt ihr stattdessen einfach 3.3V an den Jumper-Pin (Platinen-Innenseite anschließen) – fertig. Jetzt wäre lediglich noch eine “Bastellösung” erforderlich, wenn ihr nun zusätzlich noch den Repeatable-Trigger Modus nutzen möchtet. Jedoch bietet dieser keinen wirklichen Vorteil, so dass ich ohnehin zum Single-Trigger Modus raten würde.

Leave a Comment