Consumo de energía GPIO de entrada normalmente cerrada

Mientras que una MCU ARM está en modo de suspensión profunda, tiene que activarse desde una entrada normalmente cerrada. (Impulsado por un interruptor de lengüeta).

Yo uso 2 métodos:

  1. común a tierra, el pin de entrada se levanta internamente y el borde descendente activa la MCU.
  2. común a Vcc, el pin de entrada se baja internamente y el flanco ascendente activa la MCU.

Ambos funcionan bien, pero aumentan el consumo de energía en aproximadamente 100 μΑ.

¿Existe una solución con un IC que consuma energía cero?

Respuestas (2)

Creo que una solución de potencia 0 no es posible con un contacto NC. Pero podría reducir el consumo de energía usando un valor más alto para una resistencia (externa), hasta que la fuga y/o la interferencia se conviertan en un problema.

¿No puedes cambiar a un contacto NO?

Ya tengo un contacto NO pero también necesito un NC. Una resistencia externa más alta es una opción, pero aún consume. Espero poder encontrar un IC que pueda hacer el trabajo.
¿Cómo podría? Para detectar si el contacto aún está cerrado, debe transportar una corriente, y una corriente no viene gratis en nuestro mundo orientado al voltaje.
Tienes mucha razón Wouter! Acabo de ver una publicación anterior en eetimes.com/document.asp?doc_id=1272463 pero no tengo los componentes para probarla

Como dijo Wouter, use el pullup (o pulldown) de valor más alto que supere la corriente de fuga máxima y aún cumpla con los requisitos de umbral de entrada digital. 100 kΩ es aceptable con la mayoría de las entradas de microcontroladores, por ejemplo. Eso consumiría solo 33 µA con un suministro de 3.3 V. Consulte la hoja de datos para ver qué se requiere en su situación particular.

Otra posibilidad es utilizar un transistor para amplificar la corriente:

Esto solo consume 3,3 µA continuamente cuando el interruptor está cerrado. Dibujará más cuando el interruptor esté abierto.

Otra estrategia más es encender el circuito de detección solo durante períodos breves cuando sea necesario. En lugar de que el riel superior en el circuito de arriba sea el suministro de 3.3 V, en su lugar estaría vinculado a una salida digital. El micro dormía la mayor parte del tiempo, luego se despertaba periódicamente para probar el interruptor. Aumentaría la salida digital, esperaría unos µs o unos pocos hasta que OUT se estabilice, tomaría una lectura y apagaría el circuito nuevamente.

Despertarse cada 50 ms, por ejemplo, seguirá captando un nuevo estado de conmutación instantáneamente en tiempo humano. Con un micro que tiene baja corriente de reposo, el consumo de corriente promedio puede ser inferior a un microamperio.

Muchas gracias por sus respuestas. ¡Experimentaré con la máxima resistencia posible y volveré para publicarlo!