10 votos

Protección de los pines de entrada del microcontrolador de un interruptor de encendido suave

Estoy trabajando en un interruptor de encendido suave para un microcontrolador donde un interruptor momentáneo puede encender el circuito (incluido el microcontrolador), y luego cuando se presiona el interruptor por segunda vez, el microcontrolador puede apagarse después de realizar una limpieza.

dibujo del circuito

Tengo el circuito anterior hasta ahora, pero no estoy seguro de si será confiable. Estoy usando una batería de ion de litio (3.7-4.2V) y el regulador TC1015 (salida de 3.0V). La idea es que cuando se presiona el interruptor, el regulador se enciende, luego el microcontrolador establece uC Power en alto, manteniéndose encendido. Cuando se presiona el interruptor por segunda vez, una interrupción en uC Switch permitirá al microcontrolador establecer uC Power en bajo, apagándose.

Lo que no estoy seguro, es si necesito proteger al microcontrolador del voltaje de la batería. El microcontrolador que estoy usando tiene un voltaje máximo absoluto en los pines de E/S de Vdd+0.4V, por lo que no estoy seguro de cómo manejarlo mejor.

En segundo lugar, ¿este circuito realmente impedirá que el regulador se encienda cuando está en estado "apagado"? Había pensado en usar una resistencia de pull-down en la línea de habilitación, pero me preocupa el consumo de corriente mientras el chip está encendido.

Editar: El microcontrolador es la carga principal que se va a cambiar, por lo que ponerlo en un modo de baja potencia desafortunadamente no funcionará aquí.

Editar #2 (Después de que se publicaron las respuestas):

Terminé usando el circuito a continuación:

diagrama de circuito fijo

El circuito publicado anteriormente no funcionó muy bien, y tenía problemas con una línea de habilitación flotante cuando el microcontrolador no lo estaba alimentando.

El nuevo circuito utiliza un flip flop, con la línea de datos normalmente tirada hacia abajo. Presionar el interruptor activa el reloj, encendiendo el sistema. Las presiones posteriores del interruptor elevan la línea CLOCK (permitiendo que el microcontrolador detecte la presión), pero no afectan la salida del regulador. Una vez que el microcontrolador está listo para apagarse, establece la línea de datos en alto y luego pone la línea de reloj en alto, lo que hará que el regulador se apague.

Una de las cosas realmente agradables de esta configuración, es que la primera presión del botón enciende el regulador y lo mantiene encendido hasta que el microcontrolador esté listo para apagarse. El rebote no es un problema, porque sin importar cuántas veces la línea de reloj suba, la línea de datos sigue siendo mantenida baja por la resistencia de pull-down. Además, el consumo de corriente debería ser mínimo (solo el flip flop y el TC1015 mientras está apagado), y hay un consumo mínimo de corriente a través de las resistencias mientras está encendido.

El microcontrolador sí necesita ser protegido del voltaje de la batería en la línea de reloj, pero como sugirió @Andy aka, eso se puede hacer con una resistencia en CLOCK.

4voto

ianb Puntos 659

R1 y R2 limitarán la corriente en los pines de tu uC y esto suele ser suficiente para proteger tu dispositivo - solo necesitas revisar en las especificaciones cuál es esa corriente "límite" y elegir un valor de resistor adecuado dado que la alimentación de la uC puede estar en 0V (sin alimentación). Los zeners pueden ser omitidos en base a esto.

La confiabilidad es otro problema. El rebote del interruptor puede hacer que tu uC se encienda y luego se apague varias veces, así que escribe tu código teniendo en cuenta esto.

Creo que puede ser aconsejable tener un resistor en el enable, pero probablemente en la región de +10K y tal vez esto podría ser incluso más alto, posiblemente 100k.

El voltaje en el pin de apagado debe ser al menos el 45% de Vin, por lo que esto no debería ser un problema.

3voto

Passerby Puntos 28913

Esto parece ser un sistema de auto-enganche, que en teoría debería funcionar, como lo haría un circuito de relé de auto-enganche (se utiliza un botón para encender el relé, y luego, debido a que el pin de carga y el pin de la bobina están conectados juntos, el relé permanece encendido siempre que la alimentación llegue a los pines de carga).

Para probarlo, sin arriesgar un microcontrolador, puedes hacer lo siguiente. Agrega una carga falsa para mantener contento al regulador (unos cuantos leds, para que puedas ver que está funcionando), y luego conecta la salida al punto donde está marcado como uC Power. Después de presionar el interruptor, el regulador debería encenderse, encendiendo los leds y el uC Power, lo que a su vez debería mantener el pin de habilitación en un alto lógico (Shutdown Logic High es un mínimo del 45% de VIN, por lo que son 1.89V a 4.2V In.).

Por lo tanto, si presionas el botón y los leds permanecen encendidos después de soltarlo, funciona. Si no, no funcionará así como está.

Advertencia: Digo eso, sin estar seguro de cómo los diodos Zener harán que reaccione el circuito.

0voto

Steve Paulo Puntos 8263

El circuito que conecta la batería, las señales del microcontrolador y la entrada SHDN* del regulador (renombrada como EN) parece sospechoso.

¿Qué tal si utilizamos un latch (funcionando con energía de la batería) para capturar el cierre de la llave? Luego la salida de este latch puede ser OR'ed con una señal del MCU para controlar el pin SHDN* del regulador (renombrado como EN en el esquemático). Al arrancar, el MCU debería controlar su línea de habilitación primero, luego borrar el latch, asegurando así que EN permanezca activo.

La acción posterior del botón puede ser monitoreada a través del latch: si el interruptor es presionado de nuevo, el latch se activa nuevamente. El MCU lo detecta y borra tanto el latch como su señal de habilitación, provocando el apagado. Dado que el interruptor está latched, el MCU puede monitorearlo de forma muy conveniente simplemente revisándolo a una frecuencia tranquila.

Una refinación opcional adicional sería un circuito para asegurar que cuando la batería se activa, el sistema se encienda sin necesidad de usar el botón. Podría ser algún tipo de pulso que active el latch.

0voto

Tire EN a bajo con una resistencia adecuada y conéctelo a un pin de E/S en la MCU. El interruptor va en un pin de entrada de la MCU. Presionar el botón desencadena una interrupción en el pin de entrada de la MCU que cambia la salida del pin que controla el pin EN de su LDO.

Poner la MCU en modo de bajo consumo permitirá que el pin se tire a bajo y desactive el LDO. Desencadenar una interrupción con el interruptor lo despertará, tirando del pin alto nuevamente y encendiendo y habilitando nuevamente el LDO.

0 votos

Lo siento, debería haber especificado un poco más claramente, el microcontrolador es la carga principal que el LDO estará conmutando, por lo que dejarlo en un estado de baja potencia no funcionará.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X