Tengo un dispositivo microcontrolador con batería. Actualmente, apago y enciendo el interruptor de encendido / apagado. Quiero alternar la energía con un solo botón con una modificación mínima del esquema (y probablemente del programa del microcontrolador) y sin consumo cuando el dispositivo está apagado. ¿Cómo puedo hacerlo?
AÑADIDO . Sé el siguiente truco:
Aquí, al inicio, el microcontrolador establece PB3 en alto y, por lo tanto, mantiene la alimentación del dispositivo. Pero esta no es una solución para mi problema, porque también necesito apagar el dispositivo presionando S1.
AÑADIDO . ¿Puedo excluir VT2 del circuito (es decir, la base de la unidad de microcontrolador de VT1 directamente)?
Respuestas:
Según el circuito que proporcione, puede agregar un diodo en serie justo después del interruptor (S1) (cátodo conectado al interruptor) y puede usar una entrada para detectar si el interruptor se presionó nuevamente, si es así, apague PB3.
El diodo zener protege la entrada PIC del voltaje que proviene de la fuente de alimentación.
fuente
¿Qué tan mal necesitas estar? Muchos microcontroladores modernos tienen una corriente de reposo muy por debajo de la corriente de autodescarga de incluso baterías pequeñas. Puede hacer que el botón simplemente accione el pin de E / S del micro, que luego alterna entre el modo de suspensión y el modo activo cada vez que se presiona el botón. Se necesitará un poco de eliminación de rebotes, pero todo eso también se puede hacer en el firmware.
Este tipo de método de encendido / apagado se está volviendo bastante común hoy en día. Cuando solo se necesita un µA, un microcontrolador no necesita estar realmente apagado, solo dormido, lo que puede hacer bajo su propio control. La línea del botón debe conectarse a algo que pueda hacer que el micro se despierte del sueño, pero casi todos los micro tienen al menos uno de ellos, generalmente varios.
fuente
EDITAR: en la reflexión, el circuito a continuación (que dejaré como referencia) probablemente sea el más adecuado para su uso en circuitos sin micro. Como se mencionó en las otras respuestas, a menos que realmente no pueda pagar los pocos uA, realmente no tiene sentido no usar el micro para controlar la palanca de encendido, ya que usa menos componentes y se puede controlar con precisión.
La versión más simple puede ser algo así como una entrada IOC (interrupción en el cambio) con pull up, con botón a tierra. El micro tiene energía aplicada todo el tiempo y controla un MOSFET de canal P (con pullup desde la puerta a la fuente) para el resto del circuito. Cuando duerme, deja que la puerta flote para apagar el circuito.
Circuito de referencia:
Al principio, el P-MOSFET está apagado, por lo que no hay corriente base en Q2, que también está apagado. Q1 está apagado, por lo que Q1c está a 5V. El circuito es estático.
Cuando se presiona S1 (ignore los nodos + y -, están allí para propósitos de activación de SPICE), los 5V en Q1c se conectan a la base Q2, encendiéndolo. Esto tira de la puerta P-MOSFET a tierra, encendiéndola también.
R4 ahora ve 5V y cuando se libera S1, proporciona a la base de Q2s la corriente necesaria para mantenerlo abierto (y, por lo tanto, el MOSFET también está encendido) Q1 también se enciende cuando la corriente a través de R2 carga C1 a ~ 600mV, en ese punto Q1c es <200mV (es decir, Q1 está encendido)
El circuito ahora está estático nuevamente.
Cuando se presiona S1 nuevamente, Q1 hunde la corriente de R4 (que mantiene Q2 encendido) apagando Q2. R1 tira de la base MOSFET hasta 5V y la apaga nuevamente.
Aquí está la simulación (V (push) alto representa cuando se presiona el botón):
También podemos ver después de apagar las cabezas de corriente a cero (cuando C1 se descarga y Q1 se apaga) para que el circuito no consuma energía en el estado apagado (el cursor para I (V1) está en 19.86s y mide 329nA):
La idea original del circuito no es mía, proviene de Dave Jones en EEVblog .
fuente
Como sugirió Bruno Ferreira, la forma más fácil de permitir que el botón actúe como un interruptor de "apagado" es cambiar su circuito es permitir que el procesador sepa cuándo se presiona el botón. Creo que uno puede usar resistencias razonablemente bien para proteger la entrada del procesador contra voltajes en exceso de VDD sin necesidad de un Zener para eso.
Aquí hay un bosquejo del diseño de un circuito que podría usar. La mitad derecha representa el comportamiento del procesador, y utilicé una combinación de un transistor, Zener y una resistencia para sustituir a un regulador. La salida del procesador se representa usando un interruptor analógico su VDD, en lugar de una puerta, ya que las puertas en este simulador siempre generan una salida de + 5V.
Un aspecto clave del circuito, que puede causar problemas si se ignora, es que está diseñado para que el procesador no pueda encender el circuito a menos que su VDD sea de al menos ~ 3.6 voltios; También he manipulado el simulador para que el procesador siempre intente encender su salida siempre que su VDD esté por debajo de 3,5 voltios. He visto muchos diseños que suponen que los procesadores no intentarán generar una lógica alta a medida que se va su potencia. Esa suposición puede funcionar bien con algunos lotes de chips utilizados en las pruebas, pero luego falla con otros lotes de chips utilizados en la producción a gran escala. El comportamiento de la mayoría de los procesadores no se especifica durante condiciones de baja tensión; se debe diseñar un buen diseño para que el comportamiento de un procesador en tales condiciones no importe (nota leve: probablemente sea seguro asumir que un procesador que no es t diseñado explícitamente para generar voltajes que son más altos que cualquier voltaje aplicado no comenzará mágicamente a hacerlo; No creo que haya una especificación explícita para eso, pero creo que en la mayoría de los casos se puede inferir de manera segura).
fuente