Uso de un botón pulsador momentáneo como interruptor de palanca de encendido y apagado

Por favor, consulte el esquema aquí>http://i.stack.imgur.com/opImI.png

Aquí está el circuito que he desarrollado. No estoy muy seguro del diseño.

Esto es lo que quiero que haga. Cuando el usuario presiona el botón S2, la línea TPS_EN debe alternar.

Estoy usando mosfets BSS84 P-ch. Los valores de resistencia son como en el esquema.

Aquí hay una explicación de cómo debería funcionar la cosa. La línea TPS_EN es baja al principio. Dado que es derribado por una resistencia desplegable de 10k (no se muestra en el esquema). Cuando el usuario presiona S2, el mosfet Q2 se enciende porque se aplica tierra a su puerta. que habilita el regulador de potencia conectado a la línea TPS_EN. El regulador ahora se inicia y comienza a alimentar el microcontrolador. El microcontrolador baja LATCH_OP1 y LATCH_OP2. El mosfet Q2 y Q6 ahora se 'encienden' debido a esto. Q6 está encendido y ahora hace que las terminales 1 y 2 del botón pulsador s2 se pongan altas. Y LATCH_OP1 hace que Q2 se enganche, lo que permite una señal alta constante (VBATT) en la línea de habilitación.

Ahora, cuando el usuario presiona el botón Dado que Q6 estaba 'encendido', el VBATT se aplica a la puerta de Q2 y apaga Q2. El regulador se apaga. apagando el microcontrolador y LATCH_OP2 y LATCH_OP1 regresan a VBATT.

BATT es de alrededor de 3,7 v. El microcontrolador funciona con un suministro de 3,3 v

El circuito no funciona según lo previsto. Intenté cambiar manualmente las líneas del pestillo a tierra al encender y funcionó. Pero cuando conecto las líneas al microcontrolador no funciona. ¡Por favor, ayúdenme!

Siéntase libre de señalar los errores si los hubiere. ¡Este es mi primer diseño de circuito! (¡Así que disculpe mi novato! :p)

No entiendo: el punto es encender y apagar la uC apretando el boton?
Sí. Una vez que se presiona el botón, el microcontrolador bloqueará el estado para encender el sistema (y mantenerlo en ese estado). ahora, cuando se presiona nuevamente el botón, el microcontrolador se apagará soltando el pestillo y, por lo tanto, todo el sistema (incluido el microcontrolador) se apagará.
¿Está utilizando un LDO para alimentar el micro? Pero esto es OT... ¿Qué es el microcontrolador? ¿Has revisado la hoja de datos sobre cómo encenderlo y apagarlo?
¿Podría agregar un diagrama de transición de estado de su especificación requerida?
Podría suponer que cuando está encendido, LATCH_OP1 está bajo. Entonces es por eso que no cambiará su estado. Agregue una resistencia de 10K en serie de la línea LATCH_OP1.
estoy usando un microcontrolador atmega32. La línea TPS_EN va a la línea de habilitación del LDO. El objetivo final del circuito es encender y apagar todo el sistema alternando la línea EN del LDO. También quiero un recuento de componentes muy limitado y el tamaño del componente también debe ser lo más pequeño posible.

Respuestas (3)

Todavía no he examinado mucho el circuito, pero una cosa de la que tendrás que tener cuidado es el rebote del interruptor. Si tuviera que mirar el voltaje en el interruptor, en lugar de ver una onda cuadrada perfecta y agradable como podría imaginar, lo que realmente le horrorizaría.

Cambiar rebote

Este es un efecto real y ocurre en casi todos los interruptores. Suponiendo que su circuito funcione, el rebote del interruptor estropeará totalmente las cosas, ya que hará que TPS_EN cambie varias veces con cada pulsación del interruptor.

Lo que necesita agregar se conoce como un circuito antirrebote :

Circuito antirrebote


Habiendo dicho todo eso, creo que hay una mejor manera de resolver su problema, usando menos componentes.

Ya tiene un microcontrolador, así que deje que haga todo el trabajo duro.

Potencia MCU

Cuando presiona S1, hace que Q1 se encienda, lo que alimenta la MCU. Inmediatamente, la MCU eleva la línea MCU_Signal, que mantiene encendido el Q1, incluso si suelta el botón.

A partir de ahora, la MCU vigila la línea Switch_Detect. Subirá a nivel alto cuando se vuelva a pulsar el interruptor. La MCU espera a que se suelte el botón y luego espera otros 100 ms. Esto es para asegurarse de que el interruptor realmente haya terminado de rebotar. Luego, la MCU baja la línea MCU_Signal, lo que hace que se apague.


Agregado:

También está el controlador de encendido/apagado con botón pulsador LTC2955 que hace lo mismo.

Si Q1 es NMOS (como lo dibujó), la MCU no recibirá voltios VCC, sino {Vg-Vgs_th}=approx={VCC-0.7-Vgs_th}. Es mejor usar un PMOS allí (y, por supuesto, excitarlo de otra manera).
@Telaclavo: pensé que probablemente habría un problema con el FET. No soy bueno con los FET.
@ user7994: me acabo de dar cuenta de que está utilizando un LDO con entrada habilitada. Es posible que pueda deshacerse del FET y usar la entrada de habilitación en su lugar.
sí, esa es una buena sugerencia. Aquí está el circuito que planeo implementar. postimage.org/image/icpsnngcj
Cuando se presiona el interruptor, la habilitación del regulador aumenta. La caída de avance del diodo es de alrededor de 400 mV (diodo bat15-03w) y puedo permitirme una caída máxima de 700 mv para 'habilitar' el regulador. El sistema se enciende y el microcontrolador luego bloquea el habilite el pin a alto. el diodo usado en ambos lugares es el mismo. R7 y R11 son resistencias desplegables. Avíseme si hay algún inconveniente potencial de este circuito. ¡y también se agradecerá cualquier sugerencia para un diodo schottky de caída baja para d1 y d4! Muchas gracias a todos por ayudarme :)
@ user7994 - Sí, creo que debería funcionar. Es un bonito circuito elegante. De todos modos, no tardaría mucho en probarlo.

Solo para señalar algunas cosas que estaban mal en su esquema:

  • Tienes Q6 al revés. De la forma en que lo tiene, siempre habría corriente fluyendo a través de su diodo parásito y a través de R25. Por lo tanto, Q6 siempre está "encendido", sin importar lo que le hagas a su puerta.
  • Cuando LATCH_OP1 es bajo (su MCU lo baja), presionar S2 crearía una ruta de baja impedancia {VBATT --> diodo parásito de Q6 --> S2 --> NMOS de la salida de su MCU}. La alta corriente creada podría dañar el Q6 o su MCU.
  • "apagando el microcontrolador y LATCH_OP2 y LATCH_OP1 regresan a VBATT". No. Cuando apaga la MCU, sus salidas no van a VBATT. Esto depende de la implementación específica de GPIO pero, en la mayoría de los casos, todos los pines GPIO permanecerán conectados con dos diodos a GND y VDD. Un diodo va de ánodo a cátodo desde GND al pin GPIO, y los otros diodos van de ánodo a cátodo desde el pin GPIO a VDD. Por lo tanto, su pin GPIO nunca puede estar 0,7 V por debajo de GND o 0,7 V por encima de VDD. VDD será cero (o cerca de él, si inyecta una corriente significativa a través del diodo superior de cualquiera de los pines GPIO). En cualquier caso, el voltaje de GPIO no será VBATT. Probablemente, será tan bajo que mantendrá la compuerta de Q2 baja y Q2 encendida (por lo tanto, volviendo a encender el regulador).

Diseñó un concepto de chanclas en forma de T elegantemente simple . sugerencias para evitar:

(1) evite la interfaz con uC para evitar el efecto SCR de bloqueo de CMOS uC cuando se aplica voltaje a cualquier pin de señal cuando Vdd está apagado.

(2) evitar el diseño que drena Vbat cuando no se usa el interruptor

(3) necesita cambiar la tapa antirrebote. preferiblemente a través del interruptor para quemar la oxidación por contacto. Los interruptores confiables de baja corriente están chapados en oro. ps

{1} Considere la lógica Flip Flop tipo T para su solución

{2} Considere el Flip Flop tipo D con -Q conectado a D (=T FF) y use la entrada de reloj para cambiar y -Q a TPS_EN.

{3} "¡¡En su especificación de diseño!!" Especifique si desea que se active o desactive el interruptor , pero tenga en cuenta que la entrada del reloj prefiere una entrada de aumento rápido para evitar la condición de carrera interna, si la hubiera.

{4} El rebote del interruptor puede descargar el límite en 1 rebote, pero con un tiempo de rebote largo (0,5 ~ 5 ms), determine el tiempo de rebote y haga que el tiempo RC sea 10 veces mayor para el margen.

El costo es ~0.12 para D FF (1 de) http://search.digikey.com/us/en/products/SN74LVC1G80DCKR/296-9852-1-ND/380101 por ejemplo