Hallo!
Leider ist mein Wissen über Elektronik aus dem Informatik-Grundstudium
vor über 15 Jahren etwas eingerostet, daher bitte ich im Voraus um
Nachsicht.
Ich möchte an einem Wemos D1 Mini
(https://www.azdelivery.de/products/d1-mini-v3) drei Sensoren (2x PIR
HC-SR501, 1x Ultraschall HC-SR04) betreiben, um damit die Beleuchtung in
einem Badezimmer zu steuern. Idealerweise soll das rein elektrisch
funktionieren und nicht über mein FHEM.
Angestrebte Funktionsweise: PIR resettet/bootet bei Bewegungserkennung
das Board, dieses aktiviert ein Relay Shield
(https://www.berrybase.de/neu/relais-shield-f-252-r-d1-mini?c=2474),
woran das Deckenlicht hängt. Wenn keine Bewegung mehr erkannt wird,
misst der Ultraschallsensor ein paar Mal den Abstand (falls jemand auf
dem Örtchen sitzt und sich länger als die Haltezeit des PIR nicht mehr
bewegt hat ...). Entspricht der Abstand dem Regelwert, geht das Board in
den Tiefschlaf. Wie bereits gesagt, kann der PIR den Vorgang jederzeit
von vorne beginnen lassen.
Den Reset des Boards (steigende Flanke an RST) durch den PIR (high bei
Erkennung) habe ich mir hier abgeguckt:
https://www.instructables.com/ESP-01-Motion-Sensor-With-Deep-Sleep/
Damit wird ein stromfressender Tiefschlaf mit auf low gezogenem RST
verhindert.
Das Relay Shield ist active high. Ich habe zwei Möglichkeiten
ausprobiert:
1. Steuern des Relais über einen Pin, der beim Booten bereits high ist
(z.B. D0). Damit zieht das Relais sofort an, wenn das Board startet. Am
Ende der MMessreihe, wenn keine Anwesenheit mehr erkannt wird, wird der
Pegel von D0 auf low gesetzt, das Relais fällt ab und das Board geht
schlafen. Nach ein paar Sekunden zieht das Relais jedoch wieder an. Ob
es sich dabei um ein high oder um ein float handelt, konnte ich noch
nicht herausfinden.
2. Steuern des Relais über einen Pin, der beim Booten low ist (z.B. D5).
Damit bleibt das Relais zwar im Tiefschlaf zuverlässig abgeschaltet,
jedoch führt ein Reset des PIR während des Programmablaufs natürlich
dazu, dass das Relais ganz kurz abfällt und wieder anzieht, was ich der
Deckenleuchte gerne ersparen würde.
Alterniere ich den Steuer-Pegel des Relais per Transistor in
Emitterschaltung, dann habe ich dieselben Probleme, nur an der jeweils
anderen Pin-Art, ein active low Relais würde das Problem daher meiner
Ansicht nach vermutlich auch nicht lösen.
Ich bitte um Vorschläge, wie ich das gewünschte Ergebnis erreichen kann,
dass das Relais beim Reset nicht abfällt, aber im Tiefschlaf zuverlässig
aus bleibt.
Pulldown des Steuer-Pins im ersten Fall? Wenn ja, wo muss der genau hin?
Oder eine Ausschaltverzögerung im zweiten Fall? Und wie würde ich die
realisieren?
Oder etwas ganz anderes?
Bin für Hinweise sehr dankbar.
Gruß Marco