Para esta aplicación recomendaría utilizar TPL5110 temporizador. Está diseñado para conducir la puerta del MOSFET, por lo que simplemente se pone en lugar de R1 y Q1.
Se despertará a la MCU periódicamente (el retraso más largo es de 2 horas), pero se apagará tan pronto como la MCU envíe la señal DONE.
Sin embargo, lo mejor de todo es que tiene una entrada de encendido manual (también llamada ajuste de retardo). Así que puedes conectar la salida de tu comparador a ese pin y el TPL5110 encenderá la MCU cuando sea necesario. De nuevo, cuando el MCU termina de procesar ese evento, señala DONE y se apaga.
Básicamente, la MCU se alimenta externamente a ciertos intervalos o a la señal del comparador, lo que ocurra primero.
ACTUALIZACIÓN
Siguiendo tu comentario veo que el temporizador no te funciona. Aquí tienes algunas soluciones alternativas. Que funcionen o no depende de la MCU específica que estés utilizando.
-
Hoy en día, la mayoría de los MCU tienen modos de reposo que consumen una energía comparable a la de los temporizadores externos de nanoalimentación. Por ejemplo, el ATmega328P puede funcionar con una pila de botón durante un año . Las peticiones de interrupción que despiertan al MCU normalmente pueden configurarse para cualquier flanco de una señal. Por lo tanto, conectando el comparador al pin de interrupción del MCU y programándolo para el flanco ascendente se puede resolver el problema y deshacerse por completo del circuito MOSFET de potencia.
-
Otra opción es una variante de la anterior, pero utilizando la entrada del comparador analógico en lugar de la interrupción. Algunos MCUs tienen entradas de comparador con interrupciones, por lo que puede deshacerse del comparador externo también y utilizar la interrupción interna para despertar. Aunque el consumo de energía suele ser mayor en estos modos de suspensión, así que comprueba en la hoja de datos si es aceptable para ti.
-
Por último, puede utilizar una combinación de conmutación de energía y modo de suspensión. Básicamente, utilizar su circuito existente, pero con un pequeño cambio de código. Después de que su MCU haya terminado de procesar y haya apagado la línea de control del MOSFET, añada comandos para entrar en el modo de reposo (lo más profundo posible, con cada módulo apagado; en algunos MCUs la corriente de reposo es tan baja como 0,1μA, o 400 veces menor que su comparador). Si en ese momento el comparador ya está por debajo del umbral, la MCU se apagará inmediatamente y el sistema volverá a su estado original. Sin embargo, si el comparador está todavía alto, la MCU entrará temporalmente en reposo profundo y no consumirá mucha energía.
ACTUALIZACIÓN 2
Esta es otra opción que puede probar. Reduce el consumo de energía a menos de 3μA al pasar al modo de apagado en lugar de al modo de suspensión profunda. Esencialmente, se trata de la opción 3 anterior, pero en lugar de utilizar el MOSFET externo utiliza el interruptor de alimentación interno del ESP8266.
Funciona así:
- Inicialmente R2 tira de CH_PD a bajo, manteniendo la MCU en modo de apagado.
- Cuando la señal de activación llega a través de D1, enciende la MCU. El MCU inmediatamente pone en alto el GPIO0 para mantenerse activo a través de R1.
- Cuando la MCU termina de procesar el evento, pone GPIO0 en nivel bajo y entra en modo de reposo profundo. Si la entrada del comparador ya está baja, entonces CH_PD baja y la MCU se apaga. Si el comparador está todavía alto, la MCU dormirá hasta que se ponga bajo.
1 votos
Si su comparador mantiene una señal durante un tiempo potencialmente más largo que el que requiere la MCU, ¿ha considerado utilizar el flanco de subida (o de caída) de la salida del comparador a través de un diferenciador (¿condensador?) para activar un latch de estado ON (discreto, o de otro tipo), que luego puede ser desactivado a través de la MCU? (También podría ayudar si usted traza algunos diagramas de temporización para mostrar todos los casos posibles, porque su escritura hasta ahora no es del todo completa en ese sentido, sin hacer una o dos suposiciones).
0 votos
¿Cuál es el rango de 3,3V? ¿Puedes mostrar también tu circuito comparador? No todo lo que dices tiene sentido, y creo que mostrar el circuito completo ayudaría.
0 votos
Supongo que lo que necesito saber es si el procesador también está alimentado por Vin. ¿O es Vin un voltaje no regulado? Si no está regulado, ¿cuál es el rango de voltaje en el que puede funcionar?