8 votos

¿Cómo puedo hacer flotar un pin que de otra manera debería estar bajo?

Quiero activar/desactivar un TI TPS54302 regulador buck con un microcontrolador. La clavija de habilitación (EN) debe flotar para habilitar el dispositivo, o estar atada a nivel bajo para deshabilitarlo.

Actualmente tengo el pin EN conectado a un pin GPIO en la MCU. En el arranque, antes de que el estado del pin se pueda poner bajo, a veces ya estará flotando, por lo que el regulador funciona durante un breve tiempo antes de que el pin se ponga bajo intencionadamente.

Me gustaría añadir una resistencia pull-down externa para asegurar que el regulador se mantiene apagado hasta que se supone que está encendido, pero eso evitaría la flotación del pin.

Supongo que podría simplemente poner el pin en alto (en lugar de flotarlo) y conseguir el resultado deseado. La hoja de datos TPS54302 dice:

El pin EN tiene una fuente de corriente pullup interna que permite al usuario flotar el pin EN para habilitar el dispositivo. Si una aplicación requiere el control de la patilla EN, utilice una lógica de salida de drenaje abierto o de colector abierto para interactuar con la patilla.

Si conecto el pin EN a tierra con una resistencia de 10k, y pongo el pin MCU en alto cuando quiero que el regulador funcione, ¿es una solución viable?

No me preocupa el uso de una corriente constante pequeña (≥1mA) ya que se trata de un dispositivo alimentado por la línea.

9voto

J.B Puntos 41

Sí, estás bien con tu enfoque. La corriente de activación de EN es inferior a 2uA, por lo que un 10K le permitirá permanecer por debajo del umbral, y la salida del microcontrolador será capaz de tirar hasta 5V (o al menos mayor que el umbral. Simplemente manténgase por debajo de 7V en el pin de habilitación y estará bien).

Como has señalado una salida de drenaje abierto en tu micro no resuelve realmente el problema de mantener el dispositivo deshabilitado mientras el uC arranca.

Tenga en cuenta las especificaciones de la hoja de datos a continuación:

enter image description here

[EDITAR para mayor claridad:]

La razón de la recomendación para el enfoque de drenaje abierto es que esta parte permite Vin hasta 28V, pero el pin EN sólo está clasificado para 7V abs máximo. Así que no se puede tirar de la habilitación a Vin o conducirlo con un colector abierto con un pull-up atado a Vin. Nada prohíbe el manejo del pin desde un colector abierto solamente, un colector abierto jalado a (por ejemplo) 3.3V o 5V, o una salida push-pull en el rango de voltaje correcto. No TIENES que flotar el pin o tirar de él hacia abajo. Ten en cuenta el circuito de modificación del nivel UVLO en la hoja de datos:

enter image description here

6voto

JW. Puntos 145

A continuación se presenta un esquema que permitirá alcanzar el objetivo indicado:

schematic

simular este circuito - Esquema creado con CircuitLab

  1. Cuando el GPIO está flotando (es decir, el microcontrolador está apagado / arrancando) el transistor es encendido por R1 y EN es conducido a bajo.
  2. Cuando el microcontrolador afirma el GPIO a nivel bajo, apaga el transistor y EN queda flotando.
  3. No es necesario, pero si GPIO se afirma en alto, es también enciende el transistor y pone EN en nivel bajo.

No puedo concebir una forma más sencilla de satisfacer el requisito. Los dos únicos estados que experimenta el pin EN son bajo y flotante. Un diseño más conservador incluiría una resistencia en serie de 100 Ohm entre GPIO y la puerta del transistor.

4voto

laptop2d Puntos 331

Un búfer de drenaje abierto (como el NC7WZ07 ) funcionaría. Cuando tiras del buffer a alto, el buffer pasa a alta impedancia y habilita el TPS54302. Para evitar que el buffer funcione durante el arranque, el pullup puede ser usado antes del buffer.

schematic

simular este circuito - Esquema creado con CircuitLab

enter image description here
Fuente: https://www.onsemi.com/pub/Collateral/NC7WZ07-D.PDF

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