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:
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?
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?
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.
TBELÓ
Wouter van Ooijen
TBELÓ