¿Cómo cambiar la alimentación del microcontrolador con el botón?

13

Tengo un microcontrolador con batería. Actualmente, alterno la alimentación con un simple interruptor de encendido / apagado. Quiero alternar la alimentación con un botón pulsador con una modificación mínima del esquema (y probablemente del programa del microcontrolador) y con el consumo de no 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 potencia 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 del controlador del microcontrolador de VT1 directamente)?

    
pregunta

4 respuestas

6

Según el circuito que proporcione, puede agregar un diodo en serie justo después del interruptor (S1) (cátodo conectado al interruptor) y usar una entrada para detectar si se presionó nuevamente el interruptor, si es así. , desactiva PB3.

El diodo Zener protege la entrada PIC del voltaje proveniente de la fuente de alimentación.

    
respondido por el Bruno Ferreira
7

¿Qué tan lejos realmente necesitas estar? Muchos microcontroladores modernos tienen una corriente de reposo muy por debajo de la corriente de autodescarga incluso de baterías pequeñas. Puede hacer que el botón pulsador simplemente accione el pin de E / S del micro, que luego cambia entre el modo inactivo y el modo activo al presionar cada botón. Se necesitarán algunos anuncios, pero 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 toma un µA, un microcontrolador no necesita estar realmente apagado, simplemente dormido, lo que puede hacer bajo su propio control. La línea de botones debe estar conectada a algo que pueda hacer que el micro se despierte del modo de dormir, pero casi todos los micro tienen al menos uno de esos, generalmente varios.

    
respondido por el Olin Lathrop
3

EDITAR - en la reflexión, el siguiente circuito (que dejaré como referencia) es probablemente 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 el interruptor de encendido, ya que utiliza 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 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 activación desde la puerta a la fuente) para el resto del circuito. Cuando está en reposo, deja que la puerta flote para apagar el circuito.

Circuito de referencia:

Alprincipio,elP-MOSFETestádesactivado,porloquenohaycorrientedebaseenQ2,quetambiénestádesactivada.Q1estáapagado,porloqueQ1cestáa5V.Elcircuitoesestático.

CuandosepresionaS1(ignorarlosnodos+y-estánahíparapropósitosdeactivacióndeSPICE)El5VenQ1cestáconectadoalabaseQ2,encendiéndolo.EstoempujalacompuertaP-MOSFETalsueloytambiénlaenciende.
R4ahorave5VycuandoseliberaS1,proporcionaaQ2sbaselacorrientenecesariaparamantenerloabierto(y,porlotanto,tambiénestáactivadoelMOSFET)Q1tambiénseenciendecuandolacorrienteatravésdeR2cargaC1a~600mV,momentoenelqueQ1ces<200mV(esdecir,Q1estáactivado)
Elcircuitoahoraesestáticootravez.

CuandosepresionaS1denuevo,Q1hundelacorrientedeR4(quemantieneQ2encendido)apagandoQ2.R1tiralabaseMOSFEThasta5Vylaapagadenuevo.

Aquíestálasimulación(V(push)altorepresentacuandosepresionaelbotón):

También podemos ver después de apagar las cabezas de corriente a cero (a medida que C1 se descarga y Q1 se apaga), por lo que el circuito no consume energía en el estado apagado (el cursor para I (V1) está en 19.86s y mide 329nA) :

Laideaoriginaldelcircuitonoesmía,provienedeDaveJonesen EEVblog .

    
respondido por el Oli Glaser
1

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 el circuito para 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í está un áspero Esquema de un diseño de circuito que podrías usar. La mitad derecha representa el comportamiento del procesador, y utilicé una combinación de transistor, Zener y resistencia para representar a un regulador. La salida del procesador se representa mediante 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 montado el simulador para que el procesador siempre intente encender su salida cuando 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 su poder desaparezca. Esa suposición puede funcionar bien con algunos lotes de chips utilizados en las pruebas, pero luego fallará 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 las condiciones de subtensión; un buen diseño debe diseñarse para que el comportamiento de un procesador en tales condiciones no sea importante (nota leve: probablemente sea seguro asumir que un procesador que no está diseñado explícitamente para generar voltajes que sean más altos que cualquier voltaje aplicado) no empiece a hacerlo mágicamente; no creo que haya una especificación explícita para eso, pero creo que en la mayoría de los casos puede inferirse con seguridad).

    
respondido por el supercat

Lea otras preguntas en las etiquetas