¿Cómo encender un módulo como ESP8266 solo cuando el interruptor está activado?

Estoy buscando una manera de que el ESP8266 (o una alternativa, como un Attiny85 con un módulo de RF) solo se encienda una vez que se haya activado un interruptor de láminas (o un sensor similar).

El problema es que el ESP8266 debería tener el tiempo suficiente para encenderse y enviar un mensaje a través de la red Wi-Fi. El interruptor de lengüeta podría cerrarse demasiado rápido para que el dispositivo envíe una señal.

¿Hay algún componente que pueda usar para agregar un tiempo mínimo de energía antes de que el interruptor de láminas (o la energía, de alguna manera) se cierre nuevamente?

El propósito es mantener las baterías durante mucho tiempo y al mismo tiempo notificar cuando se activa el interruptor de láminas.

¿Quiere decir que el interruptor de lengüeta puede estar cerrado solo por un corto tiempo y luego abrirse nuevamente antes de que pueda tener la oportunidad de realizar su tarea por completo?
Es posible usar un interruptor de láminas normalmente abierto o cerrado, siempre que pueda enviar una señal corta y luego dejar de usar las baterías una vez hecho esto. La primera respuesta es excelente, pero estoy esperando a ver si hay otras formas.
Si te leí correctamente, diría que hay dos caminos a seguir. (1) El circuito inicia un temporizador cuando el relé de lengüeta se cierra con un período de tiempo "demasiado corto", pero donde la CPU "reinicia" periódicamente el temporizador hasta que finaliza. (2) El circuito inicia un temporizador cuando el relé de lengüeta se cierra con un período de tiempo "demasiado largo", pero donde la CPU puede apagarlo, cuando haya terminado. ¿Tiene alguna preferencia?
¿Qué pasa con el uso de un transistor, como lo sugiere @Dampmaskin?
¿Qué pasa con el modo de suspensión sugerido por Scott? ¿Hay alguna razón por la que no puedas considerar esa idea? Y si no, ¿Pórque no? Además, creo recordar que el ESP8266 acepta 5 V pero que pasa por un LDO para generar 3,6 V o 3,3 V para el dispositivo real y que puede omitir el LDO y proporcionar directamente el voltaje más bajo. ¿Qué riel de voltaje de suministro está proporcionando al dispositivo? (Creo que las corrientes máximas de arranque están en el orden de 1 3 A , aunque las corrientes operativas [sans-Wifi Tx/Rx] son ​​mucho más bajas).
¿Estás suministrando 5 V, entonces? Leí que ves 15 mA cuando duermes. Leí en otra parte que esto es realmente alrededor de 0.1 mA a 3.3V. Entonces, esto me sugiere que también está alimentando el LDO. Solo por curiosidad, qué riel de alimentación está suministrando. (Los que tengo aquí tienen DOS: el de 5 V que pasa por un LDO y el de 3,3 V que no pasa por el LDO).
¡Mi error! Debería haber dicho 10mA. Estoy planeando usar baterías 2xAA (o 2xAAA, veré qué tan bien duran y se ajustan las baterías) para alimentarlo. He visto tutoriales haciendo eso también. El dispositivo solo tiene que enviar una notificación unas 4 veces al día; de lo contrario, puede permanecer en modo de suspensión profunda.
Cuando dices "Estoy planeando", ¿significa que aún no lo has probado? Si no lo ha hecho, una vez más tengo que preguntar "¿está suministrando 5 V cuando mide 10 mA?" ¿Qué estás haciendo ahora, qué sabes sobre esa situación, qué quieres hacer y qué sabes sobre eso también? Sea lo más completo que pueda aquí. Creo que el ESP8266 funcionará con 3 V (que es aproximadamente lo que es 2xAA). Pero no mucho más bajo que eso. Lo cual puede ser un problema.
Todavía no recibí el hardware. Sin embargo, el manual muestra que debería tener un uso de energía de aproximadamente 10 mA en modo de suspensión profunda. En caso de que 2xAA sea un problema, buscaré alternativas (¿agregar más baterías?).
Bueno. Entonces. No puede hacer ninguna medición, en absoluto, todavía. Todo lo que tienes es documentación, por ahora. ¿Puede al menos proporcionar un enlace a la pieza exacta que está ordenando (o planea ordenar?) Estoy empezando a pensar que esta pregunta es demasiado pronto para una respuesta significativa. Hay muchas implementaciones diferentes del ESP8266. ¿Qué está impulsando el interruptor de láminas? ¿Un volante? ¿Cuál es exactamente el mecanismo completo que está considerando? (Pregunto porque ahora me doy cuenta de que ni siquiera sabe cuánto tiempo estará activada la lengüeta ni cuánto tiempo debe estar encendido su ESP8266).

Respuestas (3)

Dampmaskin tiene la idea correcta , pero su diseño es demasiado simplista, por las razones que describí en mis comentarios.

Un circuito más robusto se vería así:

esquemático

simular este circuito : esquema creado con CircuitLab

R1 y R3 se aseguran de que las corrientes de fuga en cualquiera de los transistores no causen una activación no deseada del circuito.

Obviamente, el micro debe establecer el pin GPIO alto tan pronto como sea posible después de que salga del reinicio, antes de que C1 se descargue demasiado (haga que C1 sea más grande si es necesario). Luego, puede establecer el pin bajo (o tristate) cuando la tarea que está haciendo está completa.

Puede sustituir los MOSFET por los BJT si lo desea, en cuyo caso, R2 y R4 no son necesarios (pero tampoco causan daño).

Es más complicado de lo que esperaba, ¡pero es mejor ser robusto, por supuesto! ¿Para qué se usa el capacitor?
Es complicado porque está construido con componentes discretos, si prefiere un esquema más simple, puede usar un IC que tenga la mayor parte de la función necesaria en un paquete pequeño, como uno diseñado para cambiar la alimentación del puerto descendente en los concentradores USB.
Ver mi edición de arriba. Además, debería tener al menos un condensador de desacoplamiento en cualquier microcontrolador de todos modos.
¿Qué pasa si el interruptor de lengüeta no está cerrado el tiempo suficiente y uC no tendrá suficiente tiempo para encender Q1?
@Naz: incluso un cierre muy corto del interruptor de láminas cargará el condensador, que debería ser lo suficientemente grande como para que el microcontrolador no se reinicie.
Las corrientes máximas de arranque pueden ser altas: esp8266.com/viewtopic.php?f=13&t=3875

Un enfoque posible: Deje que el interruptor de lengüeta alimente el Attiny en paralelo con un transistor NPN (o quizás un MOSFET de canal N) como un interruptor de lado bajo. Cuando el Attiny se enciende, puede generar un ALTO en la base del transistor, encendiendo el transistor y manteniendo el Attiny encendido durante el tiempo que sea necesario. Cuando Attiny termina de hacer lo que se supone que debe hacer, puede configurar la salida en BAJO, lo que apaga el transistor y apaga todo (a menos que el interruptor de láminas aún esté cerrado).

Es mejor usar un interruptor de lado alto. Entonces no te encuentras con problemas con diferentes partes del circuito que tienen diferentes ideas sobre qué es "tierra".
Además, para apagar el transistor, debe probar (circuito abierto) el pin de control, y también asegurarse de que no tenga ningún diodo de protección ESD; de lo contrario, las corrientes de fuga a través del resto del circuito mantenga el transistor parcialmente encendido. Esta es la razón por la cual la mayoría de estos circuitos emplean un mínimo de dos transistores externos.
@Dampmaskin ¿Te refieres a algo como esto? imgur.com/a/qtmVS Es para un sensor de puerta. Espero haber puesto bien el transistor.
Estaba pensando en un interruptor de láminas normalmente abierto que alimentaba el micro directamente, no en uno normalmente cerrado. De todos modos, solo quise transmitir el concepto, ya que no tengo una solución completa que funcione para presentarles. Pero aparte de eso, sí, algo así, más o menos.
@DaveTweed: Gracias por los comentarios. ¿Quizás usar un MOSFET de canal P con una resistencia pull-up en la puerta sería el truco entonces?
Ni un solo dispositivo N- o P- será suficiente ya que será al menos parcialmente activado por los diodos de protección. Necesita un dispositivo de doble etapa, es decir, un interruptor lateral alto controlado por una señal alta. Mire algo como los circuitos integrados del interruptor de alimentación USB de Richtek: es posible que el RT9701 se esté descontinuando, pero aún puede encontrarlos, y sin duda hay reemplazos.

Su funcionalidad no debe tener nada que ver con el tiempo que se activa el interruptor de láminas. La identificación de la actividad del interruptor de lengüeta debe poner su sistema en un estado en el que haga lo que debe hacer, complete el trabajo y luego se apague.

Así es como funcionan los modos de suspensión.

¿Te refieres a hacer que el sistema duerma profundamente cuando el interruptor de láminas no está activado? Pensé en eso, sin embargo, pensé que dado que el interruptor solo se activaría de 3 a 4 veces al día, la batería se agotaría menos si el esp está completamente apagado (ya que todavía consume alrededor de 15 mA cuando está en modo de suspensión)
Luego, elija una plataforma con una mejor funcionalidad de suspensión.
Por supuesto, el microcontrolador controla la alimentación del módulo de RF, probablemente a través de un FET o LDO con una habilitación.
El ESP8266 es básicamente como un Arduino: software de alto nivel, muchas bibliotecas que la mayoría de los programadores desconocen, pueden ser muy pequeñas y se pueden comprar en el extranjero por $ 3, incluidos todos los costos de envío. Una plataforma de "mejor sueño" puede requerir más dinero, ser mucho más grande o requerir MUCHA más experiencia técnica de lo que razonablemente puede esperar de un usuario. Aunque no puedo hablar por el OP, aquí.