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

4

Por favor verifique el esquema aquí >

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 debería alternar.

Estoy usando moscas de BSS84 P-ch. Los valores de la 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. Debido a que es bajada por una resistencia de bajada de 10k (no mostrada 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 el LATCH_OP1 y el LATCH_OP2. El mosfet Q2 y Q6 ahora se 'enciende' debido a esto. La Q6 está encendida y ahora hace que los terminales primero y segundo del botón s2 suban. Y el LATCH_OP1 hace que el 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 Ya que Q6 estaba 'activado', el VBATT se aplica a la puerta de Q2 y se apaga Q2.El regulador se apaga. apagando el microcontrolador y LATCH_OP2 y LATCH_OP1 regresan a VBATT.

BATT es alrededor de 3.7v. El microcontrolador se está ejecutando en un suministro de 3.3v

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

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

    
pregunta user7994

3 respuestas

8

Todavía no he examinado mucho el circuito, pero hay que tener cuidado con el cambio del interruptor. Si observaras el voltaje en el interruptor, en lugar de ver una onda cuadrada perfecta y agradable como te imaginas, lo que realmente te horrorizará.

Esteesunefectorealyocurreencasitodoslosinterruptores.Suponiendoquesucircuitofuncione,elrebotedelinterruptordesordenarátotalmentelascosas,yaqueharáqueTPS_ENalternevariasvecesconcadapulsacióndelinterruptor.

Loquenecesitaagregarseconocecomo circuito de rebote :

Habiendodichotodoeso,creoquehayunamejormaneraderesolversuproblema,usandomenoscomponentes.

Yatienesunmicrocontrolador,asíquedejaquehagatodoeltrabajoduro.

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

De ahora en adelante, la MCU vigila la línea Switch_Detect. Subirá cuando se presione nuevamente el interruptor. La MCU espera a que se suelte el botón, 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 y se apaga.

Añadido:

También está la

    
1

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

  • Tienes Q6 boca abajo. 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. Entonces, el Q6 siempre está "encendido", no importa lo que hagas a su puerta.
  • Cuando LATCH_OP1 está bajo (su MCU lo ha agotado), al presionar S2 se creará una ruta de baja impedancia {VBATT - > diodo parásito de Q6 - > S2 - > NMOS de su salida de 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 apagas 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 del ánodo al cátodo desde la GND al pin GPIO, y los otros diodos van del ánodo al cátodo desde el pin GPIO al 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. El 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, la tensión GPIO no será VBATT. Probablemente, será tan bajo que mantendrá la compuerta de Q2 baja y Q2 activada (por lo tanto, volverá a encender el regulador).
respondido por el Telaclavo
0

Usted diseñó un concepto T flip flop muy simple. sugerencias para evitar:

(1) evite la interfaz con uC para evitar el efecto SCR del CMOS cuando el voltaje se aplica 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 el límite de rebote. Preferiblemente a través del interruptor para quemar la oxidación por contacto. Los interruptores confiables de baja corriente están chapados en oro. ($)

{1} Considera la lógica tipo T de Flip Flop para tu solución

{2} Considere el tipo D Flip Flop 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 actúe en el interruptor de creación o interrupción "pero considere que la entrada del Reloj prefiere una entrada ascendente rápida para evitar la condición de carrera interna, si corresponde.

{4} El rebote del interruptor puede descargar el límite en un rebote pero con un tiempo de rebote largo (0.5 ~ 5 ms) determina el tiempo de rebote y hace que el tiempo RC sea 10 veces para el margen.

El costo es ~ 0.12 para D FF (1 de) enlace por ejemplo

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas