Incrementar 3.3V a 5V para E / S digital

29

Normalmente utilizo un Arduino para mis proyectos porque tiene entradas y salidas de 5V y 5V Vin, lo que hace que la vida sea muy fácil al interactuar con componentes de 5V. Para este proyecto quiero usar una Raspberry Pi porque quiero conectarlo a una pantalla. El Pi está alimentado por 5 V, por lo que es bastante fácil. Sin embargo, tiene pines de E / S de 3,3 V y los dispositivos con los que quiero conectar son 5V.

Tengo un dispositivo con un pin de entrada de 5V, que se debe conducir a 5V. El dispositivo tiene un pin de salida de 5V, que el dispositivo conduce a 5V cuando sale.

He convertido bidireccionalmente entre dispositivos de 5V y 3.3V antes, pero eso fue con un cambio de nivel lógico que estaba activo en BAJO. El circuito es el típico con un transistor y un diodo y dos resistencias pull up. Esta aplicación requiere ALTA activa. Afortunadamente, este proyecto no requiere E / S bidireccional.

Para la dirección de 5V a 3.3V, funcionará un divisor de voltaje bruto.

Sin embargo, para la dirección de 3.3V a 5V, no conozco una solución fácil. Hice algunas búsquedas y parece que hay convertidores de refuerzo (convertidores de refuerzo de CC-CC) pero para compilarlos a partir de componentes discretos, necesito construir un circuito PWM para impulsar la conmutación.

Me preguntaba si habría una forma más sencilla de lograr esto, con una complejidad comparable a la del cambio de nivel lógico bajo activo.

    
pregunta Huckle

1 respuesta

30

Desde que Dave Tweed ha señalado la falla en la otra respuesta, básicamente copié mi respuesta a solo transistor nivel arriba shifter ... Tenga en cuenta también la interesante solución de Nicolas D en la pregunta.

Tengo algunas soluciones (algunas soluciones proporcionadas por Microchip AQUÍ ):

1) Conexión directa: si Voh (voltaje de salida de alto nivel) de su lógica de 3.3V es mayor que Vih (voltaje de entrada de alto nivel), todo lo que necesita es una conexión directa. (También se requiere para esta solución que el Vol (voltaje de salida de bajo nivel) de la salida de 3.3V sea menor que el Vil (voltaje de entrada de bajo nivel) de la entrada de 5V). Esta solución se rechaza con mayor frecuencia debido a márgenes insuficientes.

2) Si las condiciones anteriores están cerca, a menudo puede aumentar el voltaje de salida de alto nivel ligeramente con una resistencia de pull-up (a 3.3 V) y conectar directamente las señales.

3) La resistencia de pull-up puede proporcionar una pequeña cantidad de aumento de voltaje de alto nivel. Para más información, puede usar diodos y pull-up a 5V. El circuito mostrado no se liberará hasta 5V, pero aumentará el voltaje de entrada de alto nivel a la lógica de 5V en la cantidad de caída de voltaje de un diodo (appx 0.7v). Se debe tener cuidado con este método, ya que todavía tiene un nivel bajo válido, ya que también se produce una caída de diodo. Los diodos Schottky se pueden usar para un ligero aumento en el voltaje de alto nivel mientras se minimiza el aumento no deseado en el voltaje de bajo nivel. Consulte la nota de la aplicación mencionada anteriormente para obtener más información sobre este circuito:

simular este circuito : esquema creado usando CircuitLab

4) Si puede lidiar con una inversión lógica (y no requiere un pull-up activo), se puede usar un mosfet y un resistor pull-up:

simular este circuito

5) También hay muchas soluciones lógicas como: MC74VHC1GT125 que es un " Tampón No Inversor / Conmutador de nivel lógico de CMOS con entradas compatibles con LSTTL "en un paquete SOT23-5 o SOT-353. Simple, pequeño y bastante económico. El uso de esta solución también debe incluir un condensador de desacoplamiento cerca del IC.

    
respondido por el Tut

Lea otras preguntas en las etiquetas