Normalmente uso un Arduino para mis proyectos porque tiene entradas y salidas de 5V y tiene 5V Vin, lo que hace que la vida sea muy fácil cuando interactúo con componentes de 5V. Para este proyecto, quiero usar una Raspberry Pi porque quiero conectarla a una pantalla. El Pi funciona con 5V, por lo que es bastante fácil. Sin embargo, tiene pines 3.3VI / O y los dispositivos con los que quiero interactuar son 5V.
Tengo un dispositivo con un pin de entrada de 5V, que necesita ser conducido 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 cambiador de nivel lógico que estaba activo BAJO. El circuito es el típico con un transistor y un diodo y dos resistencias pull up. Esta aplicación requiere ALTO activo. Afortunadamente, este proyecto no requiere E / S bidireccionales.
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 un poco de búsqueda y parece que hay convertidores de impulso (convertidores de impulso DC-DC), pero para construirlos a partir de componentes discretos, necesito construir un circuito PWM para impulsar la conmutación.
Me preguntaba si había una forma más sencilla de lograr esto, con una complejidad comparable a la palanca de cambios activa de bajo nivel lógico.
fuente
Respuestas:
Como Dave Tweed ha señalado la falla en la otra respuesta, básicamente he copiado mi respuesta a la palanca de cambio de nivel de transistor simple ... Observe 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 cercanas, a menudo puede aumentar ligeramente el voltaje de salida de alto nivel con una resistencia pull-up (a 3.3V) y conectar directamente las señales.
3) La resistencia pull-up puede proporcionar una pequeña cantidad de aumento de voltaje de alto nivel. Para más, puede usar diodos y pull-up de hasta 5V. El circuito que se muestra no se despegará a 5V, pero aumentará el voltaje de entrada de alto nivel a la lógica de 5V en la cantidad de una caída de voltaje de diodo (aprox. 0.7v). Se debe tener cuidado con este método de que todavía tenga un nivel bajo válido, ya que también se eleva con una caída de diodo. Los diodos Schottky pueden usarse 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 con CircuitLab
4) Si puede lidiar con una inversión lógica (y no requiere un pull-up activo), se puede usar un mosfet y una resistencia pull-up:
simular este circuito
5) También hay muchas soluciones lógicas ic como: MC74VHC1GT125, que es un "Desplazador de nivel no inversor / CMOS Logic Level Shifter con entradas compatibles con LSTTL" en un paquete SOT23-5 o SOT-353. Pequeño simple y bastante económico. El uso de esta solución también debe incluir un condensador de desacoplamiento cerca del CI.
fuente