Me gustaría construir un circuito que proporcione energía a un microcontrolador (ESP8266 en este caso) cuando un interruptor de lengüeta se cambia de cerrado a abierto Y cuando se cambia de abierto a cerrado.
Esto se utilizará en un circuito que monitoreará el estado de una cerradura de seguridad. Estoy planeando colocar un imán en el extremo del perno y colocar un interruptor de láminas dentro de la caja de la cerradura con un cable esmaltado que se extiende hasta el ESP8266 que se montará discretamente en la pared cercana. El circuito funcionará con baterías, ya que el suministro de energía a la ubicación de la cerradura no es práctico (ni tendrá un WAF lo suficientemente alto como para obtener la aprobación).
Cuando la cerradura está cerrada, abrirá el interruptor de lengüeta y cuando esté abierto cerrará el interruptor de lengüeta (o al revés, no me preocupa si el interruptor de lengüeta es NO o NC).
Cuando alguien bloquea la cerradura, me gustaría que el circuito proporcione energía al ESP8266 para que pueda conectarse a wifi y enviar un mensaje al servidor de automatización que registra que la cerradura se cerró y luego se apaga (idealmente a un estado de consumo de corriente cero ).
Luego, cuando alguien desbloquee el candado, me gustaría que sucediera lo mismo, aunque el mensaje será diferente, pero lo manejaré en código, obviamente.
He investigado los circuitos de alimentación de enganche suave, pero solo parecen funcionar cuando se presionan los interruptores momentáneos. Aquí hay un ejemplo de EEVBlog:
https://www.youtube.com/watch?v=Foc9R0dC2iI
Aquí hay otros dos ejemplos de circuitos unilaterales similares:
https://www.instructables.com/id/LEIDS-Low-Energy-IOT-Door-Sensor/
Esta es una pregunta similar, pero parece depender de que haya energía constante disponible en la ubicación de la cerradura, por lo que no es buena para mi aplicación:
¿Cómo crear un detector de puerta cerrada?
Esto también parece estar haciendo una pregunta similar, pero no puedo entender la respuesta (y no hay un diagrama final que muestre cómo la puerta XOR está conectada al interruptor y al microcontrolador):
También pensé en tener el ESP8266 en un ciclo de vigilia-sueño profundo cada 5 minutos más o menos y solo informar el estado del interruptor de láminas, pero esto significaría que las baterías solo duran unos meses y me gustaría que duren mucho más largo (>1 año). El otro problema con ese enfoque es que es posible que tenga que esperar hasta 5 minutos para saber si la cerradura está abierta o cerrada; a menudo, me alejo de la casa y dentro de 1 o 2 minutos quiero verificar si cerré la cerradura en el salida, por lo que sería muy útil poder comprobarlo al instante.
También me pregunto si se podría hacer usando dos interruptores de láminas, uno NO y otro NC para activar de alguna manera el sistema...
Cualquier ayuda sería muy apreciada, ¡incluso si es para decir que estoy pidiendo lo imposible!
No hay forma de probar el estado de un interruptor de láminas sin intentar pasar corriente a través de él. Si no desea que la corriente pase continuamente a través de un interruptor cerrado, debe tener algún proceso que verifique periódicamente el estado del interruptor al aplicarle energía.
También pensé en tener el ESP8266 en un ciclo de vigilia y sueño profundo cada 5 minutos más o menos y simplemente informar el estado del interruptor de láminas...
Estás en el camino correcto. Si el propio ESP8266 consume demasiada energía al hacer esto, considere usar una MCU "auxiliar" de potencia mucho más baja para realizar esta prueba, que luego puede aplicar energía al ESP8266 solo cuando es necesario enviar un mensaje.
Intente usar el siguiente circuito con ESP8266.
simular este circuito : esquema creado con CircuitLab
El esp8266 permanece en modo de suspensión profunda todo el tiempo y solo se despierta cuando cambia el estado del interruptor de láminas. En su caso, el esp8266 solo se ejecutará cuando el estado de la puerta cambie de abierta a cerrada o de cerrada a abierta, conservando así la batería al entrar en suspensión profunda por el resto del tiempo.
El factor diferenciador entre los estados del interruptor es el estado de gpio en ese momento. Cada vez que el estado cambia, el pin Habilitar se vuelve a activar y especialmente se reinicia, luego realiza una lectura digital en el gpio para verificar el estado del interruptor de lengüeta y entonces es su deseo cómo manejar esa entrada (por ejemplo, publicarlo en el servicio en la nube), después de esto, especialmente entra en sueño profundo y se despierta solo cuando se reinicia a través del mecanismo mencionado anteriormente.
El único requisito aquí es usar un interruptor de láminas con 3 terminales como el siguiente.
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.
Consume un poco de energía debido al XOR y al R5 cuando el interruptor de láminas está cerrado, pero según mis cálculos, debería funcionar durante más de un año con una batería de 200 mah.
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
Thinqer77
Tim Wescott