Forum: Mikrocontroller und Digitale Elektronik Lösung gesucht: ATtiny13a um ESP reset zu triggern


von Olli (jolli)


Angehängte Dateien:

Lesenswert?

Moin Leute,
ich bin hier bei euch im Forum gestrandet und möchte euch gleich mit 
einem meiner Fragen belästigen.

Zu meiner Person:
Normalerweise Programmiere ich ESPs nach eigener Kreation und klaue mir 
mehr oder weniger erfolgreich kleine Schalungen für meine 
Hausautomatisierung (Sensoren) aus dem Netz zusammen. - Mein 
Elektronikwissen nämlich eher  drittklassig.

Mein Vorhaben:
ESP als Fenstersensor. Also von der Software - Seite ist alles schön... 
Mein ESP legt sich schlafen (Deepsleep), um Batterie zu schonen und der 
Magnetschalter am Fenster liefert nur Strom, wenn das Fenster offen. 
Dann meldet er sich in regelmäßigen Abständen bei der Zentrale.

Das Problem:
Aber ich habe dabei verpennt, dass das Herstellen der Spannung den ESP 
nicht was dem Tiefschlaf weckt, sondern nur ein kurzes Signal von GND 
auf den Reset-Pin notwendig ist.

Meine Lösung in Gedanken:
Ich nehmen einen ATtiny13a (Der kann permanent ja laufen da nur 5uA), 
der hängt am Magnetschalter und gibt dann ein Signal an den ESP, was 
diesen:

a. aus dem Deepsleep (GND -> Rest) weckt.
Frage: Reicht hier ein Transistor ? (BC547B / siehe Schaltplan)
b. der Magnetschalter gibt auf dem zweiten Beinchen Strom auf den ESP 
(so nicht im Schaltplan)
c. einen ATtiny hab ich noch nie programmiert. Hab mir folgende Hardware 
dazu bestellt: https://www.ebay.de/itm/164865473957
Reicht das aus, um die ATtiny13a-PU unter Windows zu programmieren ? 
Reicht der ATtiny auch aus um einen Transistor BC547B zu schalten oder 
ist da was?

Da ich wirklich im Elektrobereich eine Null bin, dachte ich das ich 
neben dem ESP und ATtiny13 mit ganz wenig Bauteilen (1 Transistor BC547B 
?) auskomme ? ;) Deshalb bitte keinen Verweis auf Netzfunde zu ganz 
anderen "ESP - Fenstersensor - Projekten".

Danke im Voraus und für die Hilfe!

PS: In meiner Schaltung fehlt noch was ich in "b." erläuterte :)

von Stefan F. (Gast)


Lesenswert?

Der Transistor ist falsch herum und braucht einen Vorwiderstand. Siehe
http://stefanfrings.de/transistoren/index.html

Aber eigentlich brauchst du keinen, denn der Ausgang des Mikrocontroller 
kann auch im Open-Drain Modul betrieben werden.

Zwischen GPIO16 und dem Reset Eingang würde ich einen 2,2kΩ Widerstand 
packen, damit du dessen Ausgang (GPIO16) nicht kurz schließt.

Den Reed Kontakt musst du anders anschließen, und zwar zwischen dem 
Eingang (PB2) und GND. Der Widerstand muss da weg.

Vergiss das Ebay Produkt, das ist nicht ordentlich dokumentiert. Da 
kaufst du die Katze im Sack. Du brauchst einen ISP Programmieradapter.

Bist du sicher, dass der Mikrocontroller überhaupt nötig ist? Einen 
kurzen Reset Impuls kann man auch mit einem Kondensator erzeugen.

Außerdem gibt es da ja noch den Enable Eingang, der für solche 
Anwendungsfälle gedacht ist. Warum benutzt du den nicht?
Siehe http://stefanfrings.de/esp8266/index.html

Olli schrieb:
> Deshalb bitte keinen Verweis auf Netzfunde zu ganz
> anderen "ESP - Fenstersensor - Projekten".

Wenn du dir ganz sicher wärst, es besser zu können, könnte ich diese 
Bitte wenigstens nachvollziehen. Aber so bleibt mir nur der Rat, dir 
doch andere ähnliche Projekte anzuschauen. Aber auf Webseiten, die 
Schaltplan und nachvollziehbare Erklärungen enthalten. Nicht diese 
typischen "genial einfach" Youtube Videos, die wichtige Details 
weglassen und nur mit Glück funktionieren.

von Olli (jolli)


Lesenswert?

> Stefan F. schrieb:

Danke für deine schnelle Antwort!
> Der Transistor ist falsch herum und braucht einen Vorwiderstand. Siehe
> http://stefanfrings.de/transistoren/index.html
>
> Aber eigentlich brauchst du keinen, denn der Ausgang des Mikrocontroller
> kann auch im Open-Drain Modul betrieben werden.
OK, verstehe... Wenn ich das richtige sehe, kann der DW-Pin (PB5) also 
GND durchleiten.

> Zwischen GPIO16 und dem Reset Eingang würde ich einen 2,2kΩ Widerstand
> packen, damit du dessen Ausgang (GPIO16) nicht kurz schließt.
Das habe so noch nicht gehört. Bislang hab ich diese Verbindung (GPIO16 
- RST) immer ohne Widerstand gebaut. Aber man lernt nicht aus.

>
> Den Reed Kontakt musst du anders anschließen, und zwar zwischen dem
> Eingang (PB2) und GND. Der Widerstand muss da weg.
OK, statt VCC auf GND und der ATtiny ist lässt sich dann sicher auf HIGH 
setzen. Dann kann ich natürlich den ESP nicht an den Reed anschließen um 
ihm denn nur Strom zu geben, wenn es senden soll. Der würde dann 
permanent am VCC im Tiefschlaf hängen und 16uA ziehen.

>
> Vergiss das Ebay Produkt, das ist nicht ordentlich dokumentiert. Da
> kaufst du die Katze im Sack. Du brauchst einen ISP Programmieradapter.
Kannst du mir einen empfehlen ?

>
> Bist du sicher, dass der Mikrocontroller überhaupt nötig ist? Einen
> kurzen Reset Impuls kann man auch mit einem Kondensator erzeugen.
Das ist er sicher nicht, wenn ich in Kauf nehme, dass der ESP im 
Tiefschlaf mehr Strom benötigt. Ich hatte das auch genutzt um die die 
ATtiny Programmierung einzusteigen und gleich was Sinnvolles damit zu 
machen.
Bei einem Bewegungsmelder mach ich das per Transistor + Kondensator. Was 
du sagst ist schon richtig.

>
> Außerdem gibt es da ja noch den Enable Eingang, der für solche
> Anwendungsfälle gedacht ist. Warum benutzt du den nicht?
> Siehe http://stefanfrings.de/esp8266/index.html
Das wäre eine gute Möglichkeit. Im Power Down kommt der dann auch mit 
3-5uA aus.

>
> Olli schrieb:
>> Deshalb bitte keinen Verweis auf Netzfunde zu ganz
>> anderen "ESP - Fenstersensor - Projekten".
>
> Wenn du dir ganz sicher wärst, es besser zu können, könnte ich diese
> Bitte wenigstens nachvollziehen. Aber so bleibt mir nur der Rat, dir
> doch andere ähnliche Projekte anzuschauen. Aber auf Webseiten, die
> Schaltplan und nachvollziehbare Erklärungen enthalten. Nicht diese
> typischen "genial einfach" Youtube Videos, die wichtige Details
> weglassen und nur mit Glück funktionieren.
Ich verstehe was du meinst und schaue selten bei YT. Manchmal sind die 
Dinge aber einfach sehr Fachspezifisch und man kommt vom studieren der 
Schaltpläne vom 100sten in 1000ste. Das lässt sich leider nicht immer 
mit meinem Zeitpensum vereinbaren. Wenn wir alle nur aus Büchern lernen 
würden, dann könnten wir ja nach der 4ten Klasse fast ohne Lehrer 
auskommen. Komplexe Themen erfordern manchmal einfache Erklärungen und 
die gib es auch (wenn auch selten) auf YT. (Andreas Spiess, Bitluni, 
Bitbastelei ...etc)

: Bearbeitet durch User
von Hans (Gast)


Lesenswert?

Kannst du den Reed Switch nicht direkt mit GND -> Reset verbinden?

von Stefan F. (Gast)


Lesenswert?

Olli schrieb:
> Das habe so noch nicht gehört. Bislang hab ich diese Verbindung (GPIO16
> - RST) immer ohne Widerstand gebaut.

In den üblichen Schaltungen ist auch nicht vorgesehen, ihn durch weitere 
Hardware hart auf GND zu ziehen, während der Timer-Ausgang einen HIGH 
Pegel liefert.

> OK, statt VCC auf GND und der ATtiny ist lässt sich dann sicher auf HIGH
> setzen.

Dazu aktivierst du den internen Pull-Up Widerstand. Der Reed-Kontakt 
zieht den Pin auf LOW, wenn er geschlossen ist.

> Kannst du mir einen empfehlen ?

Meinen mit dem ich zufrieden bin kann man nicht mehr kaufen. Die 
Produkte von Diamex machen einen brauchbaren Eindruck, werden hier auch 
immer wieder empfohlen. Wegen dem Batteriebetrieb möchtest du vielleicht 
einen Programmieradapter verwenden, der sich an die Batteriespannung 
anpassen kann. Sonst musst du den ATtiny provisorisch anders versorgen, 
um in mit 3,3V oder 5V zu programmieren.

> Im Power Down kommt der dann auch mit 3-5uA aus.

Lasse dich da mal nicht zu sehr von der Werbung blenden. Die ANgaben von 
Espressif beziehen sich auf den ESP Chip alleine, ohne Flash Speicher, 
mit minimaler Versorgungsspannung und bei 25°C. Und dann ist das auch 
nur eine typische Angabe. Der kann durchaus mehr aufnehmen.

Dennoch lohnt sich der Aufwand nur selten, ihm die ganze Stromversorgung 
zu kappen. Denn dafür braucht man ja auch wieder extra Elektronik die 
Strom braucht.

von Hans (Gast)


Lesenswert?

Ach nein, sonst ist der ESP ständig reset, aber mit einem kleinen Elko 
sollte es klappen GND/Elko -> Elko+/Switch -> Reset/Switch -> 1k 
Widerstand zu 3,3V+ und dann noch einen 10k Widerstand parallel zu GND 
um den Elko wieder zu entladen, wenn Switch wieder offen ist.

von Hans (Gast)


Lesenswert?

Ich meine, mit einem 10uF, 10k u. 1k Wid. und dem Fensterswitch, hat man 
alles Nötige, um den ESP zu resetten. Mit dieser einfachen Schaltung 
kann man den Attiny ganz weglassen, so kannst du dir auch den Programmer 
und damit eine Menge Ärger ersparen.

von Hans (Gast)


Angehängte Dateien:

Lesenswert?

So:

von Hans (Gast)


Angehängte Dateien:

Lesenswert?

Sorry, GND vergessen:

von Olli (jolli)


Lesenswert?

Hans schrieb:
> Sorry, GND vergessen:

Hallo Hans, vielen Dank für Deine Mühe mir eine Schaltung zu zeichnen. 
Ich werde sie nachher auf dem Breadboard nachbauen un berichten :)

von Olli (jolli)


Lesenswert?

Hans schrieb:
> Ich meine, mit einem 10uF, 10k u. 1k Wid. und dem Fensterswitch, hat man
> alles Nötige, um den ESP zu resetten. Mit dieser einfachen Schaltung
> kann man den Attiny ganz weglassen, so kannst du dir auch den Programmer
> und damit eine Menge Ärger ersparen.


Vielleicht noch eine Frage dazu:
Der Reed-Schalter symbolisiert das Fenster quasi aber im umgekehrten 
Zustand. D.h. wird das Fenster geöffnet, wird der Schalter geschlossen, 
und umgekehrt.
In dem moment wo also der Schalter in der Schaltung geschlossen wird, 
bekommt der Reset-Pin einen kurzen Impuls zu GND, richtig ?

von Hans (Gast)


Lesenswert?

Ja, so hab ich's verstanden. Wenn das Fenster geöffnet wird, schliesst 
der Reed-Schalter und der Esp-reset-Pin wird durch den Kondensator kurz 
auf GND gezogen und somit resettet.

von Olli (jolli)


Angehängte Dateien:

Lesenswert?

Hans schrieb:
> Ja, so hab ich's verstanden. Wenn das Fenster geöffnet wird, schliesst
> der Reed-Schalter und der Esp-reset-Pin wird durch den Kondensator kurz
> auf GND gezogen und somit resettet.

Hallo Hans,

ich hab das auf dem Breadboard mal umgesetzt. Ich teste noch mal ein 
bisschen und schicke schon mal ein Foto :)

von Hans (Gast)


Lesenswert?

Gut, so müsste es klappen. Gruss Hans

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.