Bewegungsmelder oder PIR

Ein Pyroelektrischer Sensor, auch PIR-Sensor (eng. "Pyroelectric Infrared Sensor" bzw. "Passive Infrared Sensor") ist ein Halbleitersensor, der zur Detektion von Temperaturänderungen dient. PIR-Sensoren beruhen auf der namensgebenden Pyroelektrizität, einer Eigenschaft einiger piezoelektrischer Halbleiterkristalle. Dabei führt eine Temperaturänderung ΔT zu einer messbaren Änderung der elektrischen Spannung.

Grundsätzlicher Aufbau eines PIR-Sensor-Moduls
Abb.: Grundsätzlicher Aufbau eines PIR-Sensor-Moduls

Verwendete Bauteile

Bewegungsmodul HC-SR505 Mini PIR

HC-SR505 Mini PIR
Abb.: HC-SR505 Mini PIR mit seinen Anschlüssen

Das Modul hat einen Stabilisator HT7133-1 (3,3V; 30mA Low Power LDO, SOT89) und eine Schutzdiode (SMD-T4) zum Schutz vor falscher Polung.
Der Chip auf der Platine des Moduls ist nicht gekennzeichnet, aber durch einige Recherche scheint es der EG4002A PIR Controller der chinesischen Firma EG Micro zu sein.
Die Anschlüsse sind auf der Platine mit "+" (=Vcc), "out" (=Data out) und "-" (=GND) gekennzeichnet.

Interner Schaltplan des Moduls HC-SR505
Abb.: Interner Schaltplan des Moduls HC-SR505
Verwendungsmöglichkeiten des HC-SR505
Abb.: Verwendungsmöglichkeiten des HC-SR505

Das Modul hat standardmäßig eine Verzögerung von ~8 Sekunden, d.h. sobald eine Bewegung erkannt wurde, bleibt das Modul für diese Zeit aktiv. Und erst, wenn nach dieser Zeit keine Bewegung wahrgenommen wird, schaltet das Modul wieder in den LOW-Modus.
Anscheinend kann man aber einen der zentralen Kondensatoren (im Bild rot markiert) austauschen und damit diese Verzögerungszeit ändern:
- 1nF ≙ 10s Verzögerung
- 100pF ≙ 1s Verzögerung
- 10pF ≙ 0,1s Verzögerung
Allerdings geht dies wohl zu Lasten der Start-Zeit des Moduls (dauert angeblich bis zu 10 Sekunden). Es gibt auch einen Hinweis, dass der 150kΩ Widerstand (auf der Platine als "1BD" benannt) mit einem höheren Widerstand ausgetauscht werden müsste, um höhere Verzögerungszeiten zu erreichen.
Beides habe ich aber noch nicht getestet!

Zentraler Kondensator zur Änderung der Verzögerungszeit (?)
Abb.: Zentraler Kondensator zur Änderung der Verzögerungszeit (?)

Aufbau

In der Schaltung geht es darum, eine LED zum Leuchten zu bringen, sobald eine Bewegung erkannt wurde. Außerdem wird eine Meldung über die serielle Konsole ausgegeben.
Durch die momentane Umgebungswärme (>28°C) ist das Modul kaum noch auf einen inaktiven Zustand zu bekommen. Durch die Abschirmung des Moduls und der LED (auch diese strahlt IR-Licht aus) wurde das Verhalten wieder hergestellt.

Aufbau der Schaltung
Abb.: Aufbau der Schaltung
Aufbau der Schaltung auf dem Breadboard mit Abschirmung aus Alu-Folie
Abb.: Aufbau der Schaltung auf dem Breadboard mit Abschirmung aus Alu-Folie. Links: Das SR-505-Modul; rechts: die LED (leuchtet gerade blau ≙ Bewegung erkannt)

Sketch

#define PIN_LED   2
#define PIN_SR505 10

#define BUFFER_TIME 1000

unsigned long lastMeasure = 0;

void setup()
{
    pinMode(PIN_LED, OUTPUT);
    pinMode(PIN_SR505, INPUT);
    Serial.begin(9600);
}

void loop()
{
    if ((millis() - lastMeasure) > BUFFER_TIME) {
        lastMeasure += BUFFER_TIME;
        if (digitalRead(PIN_SR505) == HIGH) {
            Serial.println("Motion detected!");
            digitalWrite(PIN_LED, HIGH);
        } else {
            Serial.println("No motion.");
            digitalWrite(PIN_LED, LOW);
        }
    }
}
Ausgabe in der seriellen Konsole
Abb.: Ausgabe in der seriellen Konsole

PIR Bewegungsmelder HC-SR501

Bewegungsmelder HC-SR501
Abb.: Bewegungsmelder HC-SR501
Reichweite und Winkel des HC-SR501
Abb.: Reichweite und Winkel des HC-SR501
Interner Schaltplan des Moduls HC-SR501
Abb.: Interner Schaltplan des Moduls HC-SR501
Funktionen und Anschlüsse des HC-SR501
Abb.: Funktionen und Anschlüsse des HC-SR501
Pin/Funktion Erklärung
Time ON delay adjust Einstellung der Zeitverzögerung nach Auslösung durch Bewegungserkennung. Je höher dieser Wert eingestellt ist, desto länger bleibt am Datenausgang ein HIGH-Signal anliegen, wenn eine Bewegung durch den Sensor erkannt wurde.
Sensitivity adjust Einstellung der Reichweite: zwischen 3m bis 7m
Jumper set Schalter zwischen Einzel- oder Mehrfach-Auslöser für die o.g. Zeitverzögerung. Einzelauslöser: Die Verzögerung beginnt sofort nach dem ersten erkennen einer Bewegung. Danach wird kein weiteres Signal mehr angenommen bis die nach der Verzögerungszeit das Ausgangssignal wieder auf LOW gesetzt wurde.
Mehrfachauslöser: Jedesmal, wenn Bewegung erkannt wird, wird die Verzögerungszeit wieder auf 0 gesetzt und beginnt von vorne.
Pin: GND Masse/Ground
Pin: Out Datenausgang
Pin: Vcc Spannungseingang: +5V bis +20V
Thermistor socket (optional) An diese Lötkontakte kann ein Thermistor angebracht werden, um bei höheren Umgebungstemperaturen eine Leistungssteigerung zu erreichen. Laut Datenblatt: "Temperature compensation (optional, factory reset): In the summer when the ambient temperature rises to 30°C to 32°C, the detection distance is slightly shorter, temperature compensation can be used for performance compensation."
Photoresistor socket (optional) An diese Lötkontakte kann ein LDR angebracht werden, um die Steuerung abhängig von der Lichteinstrahlung zu machen. Laut Datenblatt: "Photosensitive control (optional, not factory-set) can be set photosensitive control, day or light intensity without induction."
Input voltage stabilizer Stabilisiert die Spannung bei unterschiedlicher Eingangsspannung.

Hinweis: Es gibt eine sogenannte "sensor blocking time", währenddessen der Sensor keine Bewegung erkennen kann. Diese Zeit beginnt direkt dem Abfallen Ausgangssignals auf LOW und dauert ca. 3 Sekunden.

Aufbau und Sketch

(siehe oben)

Hinweis zu den beiden Bewegungsmodulen: Vielleicht lag es am Aufbau oder am Sketch, aber die Erkennung von Bewegung war für beide Module nicht besonders zuverlässig. Eine zu warme Umgebungstemperatur kann ebenfalls die Messungen stören!

PIR-Modul MH-SR602

PIR-Modul MH-SR602
Funktionen und Anschlüsse des MH-SR602
Abb.: Funktionen und Anschlüsse des MH-SR602
Verzögerungszeiten des MH-SR602
Abb.: Einstellbare Verzögerungszeiten des MH-SR602 über den Widerstand ("Delay time adjusting resistor")

Anschlüsse am Arduino Uno/Nano

MH-SR602 Arduino Uno/Nano
[+] VCC (hier: 5V des Arduino)
[-] GND (0V)
OUT digitaler Eingang (hier: D4)

Hinweis: Zusätzlich sollten zur Sicherheit/Stabilität ein 100µF Elektrolykondensator zwischen [+] und [-] des PIR-Moduls sowie ein 4,7kΩ-Widerstand zwischen OUT und dem digitalen Eingang des Arduino geschaltet werden.

Sketch

Dieser einfache Sketch lässt eine LED aufleuchten, sobald der PIR-Sensor eine Bewegung erkennt und ein HIGH-Signal an seinen Ausgang sendet.

#define PIN_LED 5
#define PIN_PIR 4

void setup()
{
    pinMode(PIN_LED, OUTPUT);
    pinMode(PIN_PIR, INPUT);
}

void loop()
{
    if (digitalRead(PIN_PIR) == 1) {
        digitalWrite(PIN_LED, HIGH);
    } else {
        digitalWrite(PIN_LED, LOW);
    }

    delay(100);
}
zurück