Hallo Leute! Ich hoffe, ihr könnt mir helfen. Vermutlich hab ich mich total verrant. Ich habe einen ESP8266-12 (der tut auch soweit wunderbar) und einen MCP21037, auch das funktioniert. Nun möchte ich bei Tastendruck mit dem Interrupt des MCP den ESP aus dem Tiefschlaf holen. Im Prinzip muss ich ja nur RESET kurz auf Ground ziehen... und mit einem extra Taster tut das auch wie es soll. Aber ich steh völlig auf dem Schlauch, wie ich das vom MCP aus hinbekomme. Denn den Interrupt direkt verwenden kann ich nicht, da der nicht nur ein kurzes Signal abgibt. Ich hätte hier noch ein NE555 rumliegen... aber mit dem bekomm ich nur Positiv-Impulse (oneshot monostable) ... wie zieh ich RESET kurzzeitig auf Ground? Bestimmt denke ich nach meinen 100 verschiedenen Versuchen, die ich schon unternommen hab, einfach viel zu kompliziert. Eine Idee war auch noch (hatte ich auch hier im Forum gefunden) mit einem ATTiny85 und PCINT. Aber mein Programmer ist verschollen und ich wollte jetzt keinen Neuen kaufen... der muss ja wieder auftauchen! Hat jemand eine tolle Idee für mich? :) Danke
Mit einem n-channel Mosfet (z.B. 2N7002). https://i.stack.imgur.com/7vbjq.png Wenn am Gate ein High anliegt, wird er leitend, und zieht dir den Reset auf GND. Zu empfehlen ist noch ein Pulldown am Gate (z.B. 10K), damit der Fet immer einen definierten Zustandt hat.
:
Bearbeitet durch User
wenn der Ausgang des MCP Low Aktiv ist, sollte es reichen diesen über einen 33nF - 100nF Kondensator an den RESET-Pin des ESP anzuschließen. Damit kommt nur eine ein kurzer Impuls am ESP an wenn der Ausgang nach Low schaltet. Ansonsten kann man den Ausgang vorher noch mit einem Transistor invertieren. Sascha
Ich hatte vor einer Weile die gleiche Idee und wollte dabei auch noch einen so gering wie möglichen Standbyverbrauch haben. Habs dann so gemacht: https://github.com/8n1/esp8266-16x-smart-button Stromverbrauch im Standby geht gegen Null. Was ich allerdings nicht so gut finde ist dass man das System zuerst "initialisieren" (interrupts auf dem MCP konfigurieren) muss. Da ist mir keine schöne Lösung eingefallen. Der interrupt pin vom MCP kann als active HIGH oder active LOW konfiguriert werden. Ich hab den Interrupt pin an den enable pin vom LDO gehängt. P Kanal MOSFET vor dem Regler wäre die alternative gewesen. Achja, anstatt den ESP zu resetten könnte man den ESP auch über dessen CH_PD pin komplett deaktiviern und aktivieren. Ist glaub einfacher da man den nicht"pulsen" muss.
@Joe: Danke, genau sowas hab ich gesucht. Ich werde das erstmal testen, aber sollte funktionieren. @Sascha: Das klingt fast zu einfach um zu funktionieren. Vielleicht ist es doch nicht ganz so einfach? Denn ich hab es damit nicht hinbekommen... oder ich bin zu doof. :/ @Johannes: Danke für den Hinweis, aber das kannte ich schon. Nur hat mein LDO zum einen kein Enable-Pin und zum anderen sorgt das dafür, dass der ESP immer komplett starten muss, weil er seine Spannung ja ganz verliert. Das wollte ich gerne vermeiden. Deswegen kommt auch die CH_PD/Enable Variante nur äußerst ungern in Frage. Ich hab mir in der Mittagspause ein paar unterschiedliche nMOSFET beim örlichen Laden besorgt. Dann kann ich das lange Wochenende weiter basteln und tüfteln.
Momo schrieb: > Ich hab mir in der Mittagspause ein paar unterschiedliche nMOSFET beim > örlichen Laden besorgt. Du benötigst vor allem einen mit möglichst geringer Gate-Threshold ("logic level mosfet"). Der 2n7002 funktioniert gut bei 5V, bei 3.3V auch gerade noch so, wenn er keine großen Ströme schalten muss, was hier der Fall ist.
Ich habe leider nicht exakt den 2n7002 auf die Schnelle bekommen können. Die Auswahl war recht überschaubar, aber ich denke, ich hab was passendes gefunden: BS107A Hab ja zur not auch noch die 5V von vor dem LDO, die ich nutzen könnte zum Schalten (darf nur nicht an den ESP, der verträgt das nicht, das weiß ich).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.