¿Circuito para interruptor de encendido y apagado automático ESP8266?

Me gustaría poder usar un interruptor para encender el ESP8266 (ESP-12F) y luego poder apagar la unidad a través del pin GPIO en el software.

Intenté usar un interruptor conectado a CH_PD y mantener CH_PD alto con GPIO # 13, sin embargo, hay un retraso de encendido prolongado (6-10+ segundos) antes de que pueda "bloquear" CH_PD alto con un pin GPIO. Dado que el tiempo de encendido/apagado sería potencialmente más corto que este retraso, creo que necesito otro circuito para interactuar de manera confiable con CH_PD para obtener la funcionalidad que deseo.

-La fuente de voltaje sería ~3.3V -Idealmente, el ESP8266 puede verificar el estado del interruptor de encendido y apagado para un mayor control

¿La capacidad de suspensión integrada no reduce lo suficiente el consumo de corriente?
Parece que el consumo de energía en suspensión profunda es de 10 uA y el apagado es de 0,5 uA. Me gustaría que funcionara sin pilas el mayor tiempo posible.
Un MOSFET simple no funcionará ya que los diodos de protección en este o cualquier otro IC moderno típico proporcionan un camino que lo volverá a encender; necesita algo que invierta para evitar eso. Considere un RT9701 o un interruptor USB VBus similar: parecía que iba a funcionar, aunque el esfuerzo general donde se intentó falló ya que la celda elegida no pudo suministrar la corriente de arranque muy alta del ESP8266.
¿Estás seguro de ese retraso de 6-10 segundos? ¿Qué software estás usando en el ESP? Acabo de hacer un experimento con el núcleo de github.com/esp8266/Arduino y habilitando un GPIO a primera hora de la setup()función, que muestra un retraso de aproximadamente 20us entre el flanco ascendente en CH_PD y el GPIO en alto.

Respuestas (2)

Este es un buen recurso sobre los circuitos de encendido/apagado para uC . Creo que lo que necesita se describe en la sección: "Interruptor de encendido / apagado del botón pulsador de enganche con un interruptor de lado alto MOSFET"

Algunas ideas basadas en mis experiencias del mundo real con este tipo de diseño.

A. Las soluciones se dividen en tres clases:

Clase I: uso de un circuito externo para controlar la alimentación de la batería al micro.

Clase II: Usar el propio micro para controlar la energía a sí mismo. Por ejemplo, invocación y salida del modo de suspensión.

Clase III: Un híbrido de Clase I y Clase II. Por ejemplo, encender el micro con un circuito o dispositivo externo (por ejemplo, un botón pulsador momentáneo), luego apagar la alimentación usando una instalación del micro (por ejemplo, un pin GPIO).

Hay desventajas en cada enfoque. Los esquemas de Clase I consumen energía de la batería constantemente, por minúscula que sea. Este es también el caso de los esquemas de Clase II. Dependiendo del microprocesador real y la inteligencia de los circuitos, los esquemas de Clase III están plagados de problemas porque no es un asunto trivial desconectar un micro utilizando sus propios recursos.

Además, considere el impacto real de un pequeño consumo de corriente constante en la duración de la batería. Algunas baterías pueden soportar un cierto consumo de corriente muy bajo sin un impacto serio en su vida útil. Algunas hojas de especificaciones de la batería contendrán esta información, o al menos la insinuarán. Puede experimentar fácilmente con esto conectando resistencias de alto valor a través de la batería candidata, deje que funcione así durante un largo período mientras prueba su voltaje brevemente cada uno o dos días.

También necesitará una forma creíble, confiable y precisa de medir las corrientes de submicroamperios para determinar el consumo de corriente real de su circuito. La mayoría de los DVM de bajo costo no hacen un buen trabajo con esto. Una solución barata es un "galvanómetro" electromecánico antiguo. Calibrarlo usando resistencias de alto valor en serie y una fuente de voltaje.

La mayoría de los productos de bajo consumo utilizan la Clase II debido al bajo número de piezas, el costo, la simplicidad y los problemas de diseño conocidos (generalmente se encuentran en hojas de datos y notas de aplicación). Con la combinación correcta de batería y micro, esto es probablemente lo mejor que puede hacer sin muchos dolores de cabeza de diseño y depuración. "Como bueno" = duración razonable de la batería. Sin embargo, creo que puede mejorar esto con un circuito Clase I cuidadosamente pensado e implementado del tipo descrito en el artículo citado por ursusd8.

Si está preparado para un desafío real, debe seguir el enfoque de Clase III al que alude en su pregunta. Probablemente encontrará que el encendido es confiable, pero ese apagado puede crear todo tipo de resultados no deseados. El problema típico es que el micro logrará volver a encenderse nuevamente a medida que su voltaje de suministro esté cayendo. Esto sucede porque durante este breve período de tiempo (mientras el voltaje de suministro colapsa), el micro funciona fuera de su rango de voltaje operativo especificado, el rango de voltaje dentro del cual fue diseñado originalmente para funcionar correctamente. (Por ejemplo, ¿cuántos micros se especifican para operar a menos de un voltio?) Realice algunos experimentos básicos con el micro seleccionado y el hardware del interruptor de alimentación (MOSFET, etc.) antes de comprometerse demasiado con el micro seleccionado.

Si está buscando la mejor solución absoluta de bajo consumo, creo que la encontrará en la Clase I. Sin embargo, prepárese para realizar muchos experimentos con diferentes dispositivos, esté equipado con una capacidad comprobada de medición de corriente y verifique los resultados con teniendo el dispositivo seleccionado diferentes códigos de fecha porque las corrientes de fuga de los dispositivos lógicos discretos varían significativamente de una pieza a otra y de una producción a otra.