Mi aplicación es que estoy tratando de crear un dispositivo alimentado por "batería de botón" muy pequeño para detectar la apertura y el cierre de un interruptor y enviar cambios de estado a través de WiFi a otro dispositivo en la red. Usaré un ESP8266 (ESP-03) que tiene un pin de reinicio (RST) y un modo de suspensión profunda.
Según tengo entendido, el software puede iniciar el modo de suspensión profunda. Luego, el pin RST en el ESP debe estar bajo durante al menos 100 us (pero preferiblemente menos de 0,1 segundos) para despertarlo. En ese momento, puede verificar una de las entradas GPIO para ver si el interruptor está abierto (alto) o cerrado (bajo) y luego volver a ponerlo en suspensión hasta el próximo evento de apertura/cierre.
Para aclarar con un ejemplo, una aplicación sería enviar una notificación cada vez que se abre o cierra una caja, que debe incluir el estado actual. Por ejemplo, se encuentra cerrado en un estante. Cuando alguien lo abre, el ESP se despierta, envía una señal de "está abierto" y luego vuelve a dormir. Cuando la caja se cierra, se despierta de nuevo, envía una señal de "está cerrado" y vuelve a dormir. La caja puede estar abierta o cerrada durante mucho tiempo, por lo que solo queremos que se envíe la señal de pulso de reinicio cuando cambie el estado.
He visto algunos otros artículos que hablan de situaciones similares, pero no parece haber ningún comentario de "esto funcionó" o los casos son ligeramente diferentes. El flip flop monoestable parece prometedor ( http://www.bowdenshobbycircuits.info/page9.htm ), pero ¿lo estoy entendiendo correctamente? Además, ¿drenará la batería?
Estoy tratando de mantener este dispositivo lo más pequeño y eficiente posible.
Agregado:
Se puede usar una puerta XOR (OR exclusivo) (o XNOR) para producir un pulso de salida en los flancos ascendentes o descendentes de una señal de entrada. Una 'tabla de verdad' XOR es:
En fuera
00 0
01 1
10 1
11 0
es decir, la salida es alta cuando una sola entrada es alta. Ambas entradas bajas o ambas entradas altas producen una salida baja.
En el siguiente diagrama, la combinación RC actúa como un retardo que hace que cualquier cambio de nivel de entrada se retrase en el tiempo de llegada a la entrada RC conectada en relación con la entrada directamente conectada. Cuando se ingresa un nivel alto o bajo continuo, ambas entradas XOR tienen la misma polaridad y la salida es baja.
Cuando el nivel de entrada cambia, hay un período de aproximadamente t = R1 x C1 cuando las dos entradas no son iguales y se produce un pulso de salida.
Idealmente, se utilizarían entradas activadas por Schmitt, pero las entradas estándar "funcionan bien", sujeto a que no haya transitorios de entrada.
El RC solo consume energía cuando el capacitor se carga o descarga y esto puede ser muy pequeño, por lo que el circuito logra un consumo de energía extremadamente bajo. Las compuertas CMOS cuando no están cambiando consumen corrientes de submicroamperios.
Puede obtener compuertas XOR individuales en un paquete tan pequeño que es casi un peligro para la respiración. Uno de muchos es 74AHCT1G86SE-7
simular este circuito : esquema creado con CircuitLab
______________________________
Algo tan simple como esto puede funcionar para usted dependiendo de la aplicación general (ya que a veces los "extras" no específicos complican el requisito).
Esto muestra el principio general y es posible que tenga que "jugar" un poco.
Se supone que /RST tiene un pullup interno para Vdd. Si no, se puede agregar uno.
Inicialmente, SW1 abierto = uC durmiendo.
SW1 cerrado = /RST bajo y Cd está cargado bajo. SW1 libera comunicados /RST y el procesador sale del modo de suspensión.
El nivel de CD se puede leer a través de GPIO.
El nivel de Cd vuelve a Vdd = alto después de un período > t= RdCd.
Si el interruptor es lo único que saca al procesador del modo de suspensión, entonces el GPIO lee y no se necesita ningún circuito excepto aparte del interruptor y un pullup para /RST (interno o externo).
Agregando mi respuesta ya que he tenido la misma pregunta. He encontrado algunas respuestas, pero no ninguna completa con todas las partes y que han sido probadas.
Este es un prototipo de trabajo que hice. Puede ver más detalles sobre las piezas, modificarlas y pedir las suyas propias si lo desea.
Aquí hay un enlace a mi proyecto en jlcpcb: https://easyeda.com/jakibsgaard/low-powered-rising-and-falling-power-on-circuit
También tengo una pregunta abierta donde quiero mejorar el circuito que he hecho. Pero eso no es obligatorio. Esto tiene mucha más información sobre el circuito que hice. Detector de borde mejorado con circuito de enganche para esp8266
lanza
marca stevens
Russel McMahon
marca stevens
Russel McMahon