Botón de encendido/apagado de bajo consumo con función adicional

Los teléfonos celulares (antiguos) tienen un botón para encenderlo (cuando está apagado), finalizar una llamada (cuando está encendido, presionar brevemente) o apagarlo (cuando está encendido, presionar prolongadamente).

Necesito algo similar para un microcontrolador. El dispositivo funciona con batería, por lo que el circuito debe ser lo más eficiente posible desde el punto de vista energético. Además de eso, cuantos menos pines IO tenga que usar, mejor. Entiendo que necesito al menos uno como entrada para leer el estado. El tamaño no es realmente un problema, pero más pequeño es mejor.

El microcontrolador en cuestión es un XLP PIC16F1829 . Si usara SLEEPinstrucciones y un botón de entrada en un pin de interrupción, consumiría alrededor de 40 uA en suspensión, considerando los periféricos que estoy usando. Espero poder conseguir algo de dibujo menos actual. El circuito debe ser energéticamente eficiente cuando está encendido también.

¿Cuáles son algunas formas comunes de eficiencia energética para hacer una función de encendido/apagado de un botón con una opción adicional para un microcontrolador?

Como puede ver, yo mismo ya agregué un circuito. Sin embargo, no sé cuán eficiente energéticamente es cuando está encendido, y podría haber mejores opciones.

Este video puede ser útil.
@abdullahkahraman lo es! Deberías convertirlo en una respuesta si tienes tiempo;)

Respuestas (3)

Si necesita una solución que no requiera un regulador de voltaje, es decir, que opere directamente en las líneas Vcc al PIC, la he modificado ligeramente (y por una buena razón): -

ingrese la descripción de la imagen aquí

La razón por la que se modificó es que el transistor de paso BJT podría caer demasiado voltaje bajo carga si solo está cambiando un Vcc ya regulado al PIC. Reemplacé el transistor de paso con un FET de canal P y eliminé las resistencias de 2k2 y 33k en su circuito. El 2k2 es necesario para proteger el transistor de paso BJT y el 33k pone un límite máximo en la corriente base del transistor de paso; no es necesario cuando se usa un FET de canal P.

También agregué un pull-up de 10k en PD3, pero esto puede ser un pull-up interno en el PIC. Lo que parece un FET de canal P adecuado es el TP0101 : es el primero que encontré cuando busqué en Google "MOSFET de canal P de Vgs bajo (el límite)". Habrá muchas cosas que servirán, pero esta tiene poca resistencia (<1 ohm) con solo 2,5 V de accionamiento en la puerta y ese era mi objetivo principal.

También funcionará hasta más de 10 V, por lo que también podría usarse antes de un regulador.

La eficiencia energética cuando esté "encendido" será mejor que el circuito BJT porque no necesita corriente base para mantenerlo encendido. Cuando están apagados, ambos circuitos tendrán muy poca corriente, pero tal vez la fuga del canal P "desperdicie" una fuga de 1uA en la carga; probablemente sea una buena idea asegurarse de que este 1uA no desarrolle un voltaje en el PIC que podría hacer que se encienda "extrañamente"; use una carga de 100k en la salida; esto desarrollará 0.1V en los pines de alimentación del PIC y eliminará la posibilidad.

Busqué un poco por supuesto y encontré esto:

ingrese la descripción de la imagen aquí

Fuente: http://www.circuitsonline.net/schakelingen/145/computer-en-microcontroller/one-button-onoff.html (holandés)

Según el sitio, este circuito consume menos de 1uA cuando está apagado. No lo probé yo mismo. No sé cuánto consume cuando el dispositivo está encendido.

Cuando se presiona SW1, Q1 comienza a conducir y el microcontrolador se inicia. En la rutina de inicio, PD2 debe subirse para mantener habilitados Q1 a través de Q2, de modo que el dispositivo permanezca encendido. En PD3, se puede leer el estado de SW1. Puede verificar en el código cuánto tiempo se presiona el botón y ejecutar diferentes funciones según el tiempo que se presiona el botón.

También se puede usar sin el regulador de voltaje, supongo .

Una opción sería un microcontrolador de menor potencia. Esta placa se puede usar para desarrollar una (TI MSP430) capaz de aproximadamente 0,8 ua en modo de bajo consumo; con la pulsación de un botón puede activarse en 1 us.