Forum: Mikrocontroller und Digitale Elektronik Puls - Verlängerungsschaltung für PIR -> uC-Reset/Wakeup


von markus e (Gast)


Lesenswert?

Hallo zusammen, ich brauche von Euch einen Tip:
Mein ESP8266 soll durch einen PIR sensor aus dem Deep Sleep geweckt 
werden. Es wird dann vom ESP ein Lora Funktelegramm ausgelöst.
Der PIR hat am Ausgang bei jeder Bewegungserkennung längere high 
Impulse.

Als Signalform für den Wakeup wird ein kurzer Low Impuls benötigt:

PIR Ausgang:    ____---------_____
Signal zum ESP: -----_--------------

Besonderheiten:
1. Erst wenn mind. 20 sek seit letztem Wakeup Impuls vergangen sind, 
soll ein neuer Wake Impuls ausgelöst werden, auch wenn der PIR schon 
vorher erneut triggert.
2. Der ESP soll nach wenigen ms wieder in den Sleep gehen und danach 
eben diese Mindestzeit schlafen.
2. Die Stromaufnahme der Lösung dieses Problems soll im niedrigen uA 
Bereich liegen.
Grund:
Es ist eine Batterieanwendung mit Ruhestrom derzeit 20uA. Es soll 
verhindert werden, daß das "teure" Funktelegramm unnötig oft gesendet 
wird.

Ideal wäre also folgender Signalverlauf:

PIR Ausgang:    ____-----__---__---______________----___---___
Signal zum ESP: -----_----------------------------_--------------

Für das Totzeit Problem habe eine Lösung mit einem 74HC123 gefunden, und 
den kurzen Puls kann man mit nachgeschaltetem Transistor erzeugen 
(https://electronics.stackexchange.com/questions/332094/convert-2s-pulse-into-short-pulse-to-wake-up-esp8266)
Der 74HC123 wird mir aber den Stromverbrauch fast verdoppeln.
Vielleicht gibt es eine wesentlich einfachere Variante mit diskreten 
Bauteilen ?

Danke im voraus für Eure Tips

von foobar (Gast)


Lesenswert?

Und warum machst du das nicht in Software?  Wenn der ESP getriggert 
wurde, schaltet er den Eingang ab bzw auf ignorieren, geht für 20s 
schlafen, aktiviert ihn wieder und geht dann dauerhaft schlafen.



PS: Falls auf dem PIR-Sensor ein BISS0001 drauf ist, kann man den afaik 
durch externe RC-Glieder auf dein gewünschtes Verhalten konfigurieren.

von markus_e (Gast)


Lesenswert?

Der PIR ist ein Panasonic EKMB typ.
Der ESP8266 kann leider per se nicht den wakeup (RST) Eingang 
deaktivieren.
Es kann im deep sleep auch kein GPIO state gehalten werden.
Ebenso kann nicht die Dauer des letzten deep sleeps erkannt werden.
Es bliebe nur, ein bistabiles Flip Flop zu verwenden um den wakeup durch 
den PIR vorübergehend abzuschalten.
Sollte es da was sehr stromsparendes geben oder eine diskrete Schaltung 
die stromsparend ist, wäre das eine Idee.

danke+Grüße!

von markus_e (Gast)


Lesenswert?

Klarer Vorteil der FlipFlop Lösung wäre in jedem Fall, daß die Totzeit 
per Software jederzeit veränderbar ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.