Circuito habilitado de flanco ascendente y descendente simple de baja potencia

Estoy trabajando en un proyecto en el que uso un esp8266 y un sensor de interruptor de lengüeta (NO), este funciona con una batería, por lo que necesito un circuito de baja potencia que pueda encender el esp8266 cuando el estado del interruptor de lengüeta está cambiando.

He estado buscando circuitos de multivibradores monoestables (monoestables de un disparo) y circuitos de potencia de enganche suave, pero no he encontrado ninguno que cumpla con mis requisitos.
También he leído algunas preguntas de otras personas sobre algo muy similar, pero falta información y otras cosas que me hacen preguntar nuevamente.

Ref1: circuito para encender el microcontrolador cuando cambia el estado del interruptor de lengüeta (para monitorear el estado del bloqueo de la puerta)
La respuesta aquí establece que se debe usar otra MCU de baja potencia para verificar el estado. Esta es una buena solución ya que hay muchas MCU de baja potencia disponibles, pero esto provoca una mayor complejidad en el circuito y el proceso de programación de la MCU adicional. (El esp8266 es "fácil" de programar, pero un PIC o ATTINY necesita programadores y software adicionales)
Está bien pasar corriente a través del interruptor de láminas siempre que sea una corriente pequeña.
Quiero que esto sea lo más simple posible para poder compartirlo con la comunidad DIY.

Ref2: necesito un interruptor que no solo detecte abrir/cerrar, sino que también envíe un pulso para despertar un ESP8266 cada vez que cambie el estado (rebote).
Esta respuesta brinda una forma "simple" de resolver este problema, y ​​con un circuito discreto. El único problema es que cuando el interruptor de láminas está en estado cerrado consume mucha energía. También debería estar controlando un mosfet en lugar del esp8266 directamente. (Dado que el esp8266 consume un poco de energía durante el sueño profundo)
Este es el circuito que hice a partir de la respuesta de Russell McMahon .esquemático

Entonces mi pregunta(s) es:

  • ¿Qué se puede hacer con el esquema para que use menos de ~ 20 uA durante un estado inactivo? (Si es posible incluso más bajo)
  • ¿Cómo podría implementarse un mosfet o un transistor para que no tenga que preocuparme por usar el modo de suspensión profunda en el esp8266? (Entonces, el mosfet alimentará otro circuito con un LDO para que pueda usar más batería)
  • ¿Tal vez hay un IC o MCU que se puede usar sin ninguna programación adicional? Si es así, ¿se podría usar la bruja?
  • ¿Hay otra solución que se ajuste mejor a mi problema que no haya encontrado?

(Las últimas dos preguntas no pretenden ser una discusión, solo para mostrar que estoy abierto a otras soluciones)

Otra cosa que es importante es que el tiempo de activación después de un cambio de estado no debe ser superior a 500ms. La duración de la señal después de la activación depende de la solución.

Avíseme si algo no está claro o no tiene sentido.

Totalmente confuso: estoy trabajando en un proyecto en el que necesito un circuito que permita una señal baja o alta cuando un sensor está en el borde ascendente y descendente.
@Andyaka, ¿mejor?
¿Está buscando un circuito que use el cierre momentáneo de un interruptor Reed para iniciar la alimentación de una MCU y también que el período de esa alimentación tenga un tiempo configurable? ¿Y que cuando está inactivo, el uso de energía debe ser casi cero? Parece fácil y ya he publicado un circuito de este tipo aquí más de una vez.
@jonk, gracias por tu respuesta. No sólo el cierre momentáneo de un interruptor Reed, sino el cambio de estado del interruptor Reed, tanto cuando se abre como cuando se cierra.
Bueno. Entonces, en cualquier transición del interruptor Reed, se está abriendo o cerrando. Parece que necesitarás un diferenciador. Pero dejaré que las cosas se filtren un poco antes de decir mucho más.
También podría ser un conmutador de dos estados. De cualquier manera, veo que se usa un condensador para mantener el estado o diferenciarlo.
@ John-Arvid No estoy claro. En efecto, ¿quiere el equivalente de un IC 74121 donde conecta el interruptor de lengüeta a las entradas A1 y B, simultáneamente? ¿Algo así, excepto un menor consumo de energía?
@jonk, gracias por tu aporte. Sí, si entendí correctamente la hoja de datos del 74121, hace lo mismo (y más) que el esquema que agregué a mi pregunta. Pero mirando la tabla de funciones, parece que necesita que B sea alto cuando A1 está cayendo, y que A1 sea bajo cuando B está aumentando. ¿Esto podria ser un problema? También lo que comentas sobre el consumo eléctrico, así como la tensión de alimentación ya que esta será alimentada por una batería. (iones de litio o LiFePO4)
@ John-Arvid Han pasado 40 años y mi memoria se está desvaneciendo. Pero creo que puedes hacer esto de dos maneras. Una sería usar un solo 74121/74LS123 y solo usar un filtro de paso bajo. La otra es usar ambas secciones del 74LS123. Este último debería ser muy robusto, según recuerdo. Creo que me decidí por ese par, ahora que la memoria está volviendo un poco mientras escribo. El problema que tendrás es que estos chips quieren más potencia de la que les quieres dar. Y hacer esto como un circuito discreto, aunque factible, involucra más de unas pocas partes. ¿Odias los MCU? Barato, pequeño, fácil y solo unos pocos microamperios.
@jonk, No te preocupes. Sí, el consumo de energía es demasiado grande, incluso el circuito para el que tengo el esquema es de 320 uA y hace casi lo que quiero. No, me encantaría usar una MCU, el problema es que quería compartir esta solución con la comunidad de bricolaje, y al agregar una MCU que necesita un programador separado y un código más complejo, sería demasiado difícil de construir para la mayoría de las personas.
@ John-Arvid Creo que un 7555 también se puede envolver con algunos BJT para hacer esto. Los BJT retendrían Vcc del 7555 hasta que se detecte un borde. Luego encienda y también dispare el 7555 para un ancho de pulso dado, después de lo cual el 7555 se vuelve a apagar. También puedo ver algo así como 3 o 4 BJT y un MOSFET (o dos) que serían completamente discretos. Pero tendría que sentarme y pensar un poco para algo sólido.
@ John-Arvid ¿Tiene alguna información sobre el ciclo de trabajo y el rango de tiempo del ciclo del interruptor de láminas? Obviamente, espera ciclos de trabajo que no estén cerca del 0 % o cerca del 100 % o, de lo contrario, haría otra cosa. Entonces, ¿dónde es probable que esté esto en el medio? ¿Y con qué frecuencia ciclo a ciclo?
@jonk El ciclo de trabajo y el rango de tiempo serán muy diferentes de vez en cuando. Pero un comportamiento típico sería: abierto 2 horas, cerrado 1 hora, abierto 5 segundos, cerrado 2 días, abierto 10 minutos, cerrado 30 días, abierto 1 día, cerrado 2 minutos, etc. Pero como dice la pregunta, un mínimo de Tiempo de activación de 500 ms después de un cambio de estado, por lo que detectaría todos los cambios de estado relevantes para la aplicación.
@ John-Arvid Me gusta tu esquema (es fácil de entender que un RC retrasa una señal al XOR, por lo que es bueno para lo que quieres). ¿Has considerado un 74AHC86? A 20 C, dice 2 uA (cuando está inactivo). En una amplia gama de temperaturas, desde bajo cero hasta "bastante caliente", dice 20 uA. Las partes del AHC tienen una especie de "pseudohistéresis" en su entrada (tienen que manejar partes más lentas que las conducen). Por lo tanto, esta podría ser una buena opción y se adapta al RC. (Obviamente, cambie los valores de la resistencia externa de manera muy sustancial). Solo por curiosidad.
Solo para tu información: ti.com/product/DRV5032
@sstobbe Gracias por su aporte, los tendré en cuenta si necesito una huella más pequeña que el interruptor de láminas que ya tengo.
Hay circuitos integrados dedicados para esto, como MAX16054, LTC2950 o STM660x
@Lucas Gracias por tu aporte. Parece que estos no se activarán tanto en el borde ascendente como en el descendente. ref max16054 descripción: "la salida permanece sin cambios en el flanco ascendente de la entrada"

Respuestas (2)

Contexto

Mis primeros pensamientos sobre hacer esto con partes discretas significan dividir el problema en secciones y luego conectar las secciones entre sí. Estas ideas incluirían mosfets por razones obvias: dadas sus escalas de tiempo, que son largas en comparación con las velocidades de los dispositivos, las resistencias de gran valor son un objetivo para reducir las corrientes inactivas. El uso de BJT solo haría que esto sea más difícil (pero no imposible). Dicho esto, los BJT pueden ser fácilmente parte de un diseño de corriente muy baja.

Pero mis dudas son que esto se dividiría en varias secciones y necesita varias características, cada una de las cuales necesita un diseño cuidadoso y, en general, requiere una buena cantidad de partes. Sería mucho mejor usar circuitos integrados.

Mi tercer pensamiento fue "simplemente use una MCU". Estos son fácilmente accesibles para los aficionados, son baratos y pueden lograr el bajo consumo de energía mientras que al mismo tiempo permiten que la versión 2, la versión 3, etc., del software logre nuevas características y/o mejore las antiguas sin necesidad de cambiar el topología de diseño. Es una locura que cientos de miles de puertas de transmisión e inversores puedan organizarse a bajo costo y disponibles para todos nosotros mientras se logran requisitos de corriente tan bajos. Pero lo ha descartado ya que el problema de la cadena de herramientas de software puede reducir en gran medida su público objetivo de bricolaje.

[Solo para su información, si puede aceptar paquetes más grandes, el TI MSP430 es probablemente el camino que preferiría para corriente ultrabaja. Lo más pequeño que un aficionado podría usar sería su paquete SO-8 (tienen escala de oblea, pero no conozco a muchos aficionados que trabajen en ese nivel). Si quisiera ir con un SOT23-6, iría con el dispositivo PIC10(L)F322, o similar. Estos son XLP de "potencia extra baja" (que aún no es tan bueno como un MSP430) y creo que podrían hacer el trabajo con un poco de cuidado.]

Así que déjame hacer una pausa por un momento y volver a exponer con mis propias palabras lo que creo que quieres, dada la pregunta y tus comentarios:

  • 20 m A corriente inactiva, independientemente del estado del interruptor de láminas
  • cualquier cambio en el estado del interruptor de lengüeta inicia un pulso activo (probablemente no importa si es activo-alto o activo-bajo) que dura un tiempo que depende de la aplicación (lo que implica que debe ser configurable).

Algo no declarado hasta ahora es esto:

  • ¿debería haber una entrada que pueda usarse para acortar el pulso activo si ha pasado más tiempo que suficiente (según lo determinado por algún ESP8266 u otra placa controladora) y el controlador desea terminar el pulso activo antes de lo contrario?

Todo esto todavía me sugiere muy, muy fuertemente una MCU. No conozco su público objetivo de bricolaje, pero si todos hacen algo con una placa MCU que consume energía y les gustaría mitigar el consumo de energía después de ser despertados por un humano, entonces ese es un público muy amplio y probablemente solo un pequeño Un subconjunto de ellos podría pagar por las herramientas y la inversión en habilidades de software para programar su propio dispositivo, incluso si se les proporciona un código ensamblador de forma gratuita para hacerlo y no tienen que pagar un centavo por el software. (Como con MPLAB-X.)

Me gustaría sugerirle que considere establecer a alguien como punto de contacto de ventas o distribución para dicho dispositivo. Puede enviar a Amazon, por ejemplo, miles de dispositivos preprogramados, listos para usar. Amazon se encargará de TODA la logística. Y los clientes pueden simplemente "ir a comprar uno" cuando lo deseen y usted no necesita preocuparse mucho. Amazon te avisará cuando necesite más de ellos. Y puede usar una ganancia muy pequeña en todo esto para llegar al punto de equilibrio en el trato. De esta manera, ha creado algo útil, lo ha hecho disponible y no tiene que cuidarlo todo el tiempo.

Eso es probablemente lo que yo haría. Y si vale la pena hacerlo, la pequeña inversión inicial de mi parte no me molestaría en lo más mínimo.

Una sugerencia que no es de MCU

Probablemente lo primero que me vino a la mente, que no es MCU, es lo que solía tener que hacer "en el pasado" cuando un MCU no era un principiante ya que aún no existían (en mi mundo, de todos modos). Eso es usar un 74LS123. Pero cambiemos eso y usemos un 74AHC123, porque estos tienen un consumo de corriente inactivo mucho menor. (Un típico de 2 m A en 25 C -- las cifras de la hoja de datos sugieren que esto aumenta en un 50% por cada aumento de temperatura en 10 C .) Algo como esto:

esquemático

simular este circuito : esquema creado con CircuitLab

La puerta OR se basaría en la misma familia de piezas, por supuesto. (O, si es creativo, podría hacer algo discreto en su lugar).

No he probado lo anterior y solo tengo una memoria vaga, además de usar un dispositivo más nuevo que nunca antes había usado. Creo que funcionará. Pero es posible que también haya cometido algún error. Y no tengo un modelo listo para usar en simulación para el 74ACH123. Entonces, todo es papel y lápiz, por ahora, y de un mero aficionado, no un profesional aquí.

Hay otras ideas, como envolver un 7555 con algunos BJT para desactivarlo después de que finalice su salida única activada por un cambio de estado del interruptor de láminas. Podría dibujar eso, después de pensar más al respecto. Pero eso es más tiempo y en este momento solo quiero más información sobre los pensamientos anteriores primero. Hágamelo saber.

¡Gracias por tu buena respuesta! Con respecto a una MCU, si hubiera podido programarla con un programador FTDI o TTL hubiera estado bien. Dado que no creo que la cantidad de personas que usen esta solución sea más de decenas o cientos, no puedo complicarlo demasiado. (Incluso me preocupa que los componentes SMD hagan que menos personas lo usen) En cuanto a lo no declarado, sí, lo mejor sería que el ESP8266 dé una señal cuando esté listo. Pero si a complejo, sería mejor utilizar un tiempo establecido (15s).
Además, si usa el modo de suspensión profunda en el ESP8266, la señal de salida debe ser baja. Pero si usa la señal de salida para abrir un Mosfet o BJT, puede usarse así.
@ John-Arvid Más o menos a las diez, ofrecería el servicio (probablemente de forma gratuita). Simplemente enviaría a cualquiera, sin dinero cambiando de manos, sin importar el costo para mí. No puede ser tanto lo que me haría daño. Si está hablando de cientos, tal vez, probablemente todavía lo haría gratis... pero en ese nivel podría configurar una cuenta de Amazon y hacerlo de esa manera. Pero en realidad creo que se podría crear un diseño bien considerado en SOT23-6 que tendría una aplicación muy amplia. Necesitarás escribir una nota de aplicación de fácil lectura para que los artistas puedan entenderla. Pero creo que podría llegar a mucha gente.
@ John-Arvid ¿Qué piensas del diseño 74AHC123? ¿Es viable? ¿Preferirías ver algo con el 7555 (o 555, quizás?)
Podemos hablar de eso en otro canal si quieres. Realmente aprecio tu oferta y ayuda. Sí, absolutamente, el diseño del 74AHC123 se ve muy bien. ¿Podría cambiarse para usar /Q en su lugar? ¿O sería más fácil cambiar la puerta OR por una puerta NOR?
@ John-Arvid De hecho, creo que eres perfectamente capaz de resolver todo eso. Tu escritura ciertamente me indica que ya estabas en el camino correcto desde el principio y que sigues bien las cosas. Entonces, ¿por qué no probar suerte con el pensamiento? (La hoja de datos es bastante clara y proporcioné algo para comenzar). Ya estoy elaborando una línea de productos de MCU SOT23-6 y esto va a la tolva.
Gracias, lo intentaré. Conseguiré algunas partes para que también pueda hacer una práctica más tarde.
@John-Arvid Hmm. Acabo de leer una nota que dice que van a recompensar con 10 pts por un voto positivo en las preguntas, ahora. (Solían ser 5.) Tienes que ser mi primer experimento para ver si funciona. ;) Voy a hacer +1 en tu pregunta y ver qué pasa. ¡¡Ja!! ¡¡Funcionó!!
¡Gracias por tu voto positivo! Como mi primera pregunta, me alegro de haber recibido esta buena respuesta y ayuda. Votaré esta respuesta cuando tenga suficiente reputación. Aceptaré esta respuesta ya que me ha empujado a encontrar una solución mucho mejor.

Respondiendo a mi propia pregunta ya que he encontrado una solución completa.

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.

Este es el esquema:
esquemático

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