Conducción de LED de 3,3 V con un Arduino y un registro de desplazamiento

3

Estoy planeando construir una matriz de LED simple con un Arduino y algunos registros de desplazamiento 74HC595. Sin embargo, mi Ardiuno saca 5 V a los registros que pasarán esos 5 V. ¿Cómo y dónde a lo largo de la línea reduzco este voltaje a 3.3 V?

Editar: Encontré esto después de un tiempo en Google. ¿Hay una resistencia frente a cada LED todo lo que necesito (que necesito de todos modos)?

(5–3.3) / 0.02 = 85 ohm para un 20 mA 3.3 V LED?

Edición 2: ¿puedo proporcionar 3 V desde una fuente diferente al pin Vcc del registro de cambios, pero enviar una lógica de 5 V a los pines serie? Supongo que no funcionará, pero solo quería volver a verificar.

    
pregunta Maciej Swic

2 respuestas

2

Hay una serie de opciones, la mayoría de ellas se describen en este post . Dado que la comunicación es una forma de utilizar:

  • Divisores de tensión: baratos y sencillos: 2 resistencias. No puede proporcionar fuentes de voltaje rígido a menos que pierda mucha energía a través de ellas
  • Un diodo con un circuito de resistencia. Igual que el anterior
  • Desviador de nivel (algo así como un 74LVC245)

Hay registros de desplazamiento que se ejecutan en 3.3 V: según la cantidad de líneas que necesite, una solución más sencilla podría ser cambiar la salida de Arduino a 3.3 V y enviarla a un registro de desplazamiento de 3.3 V. Esto probablemente (de nuevo, dependiendo de su configuración) en menos líneas para cambiar de nivel.

EDITAR: Sí, necesitará resistencias limitadoras de corriente para sus LED, sin embargo, ¡divisor de voltaje! = una resistencia única. El divisor de voltaje se ve así:

simular este circuito : esquema creado usando CircuitLab

EDIT2 : por lo general no. Debe leer la hoja de datos del registro de desplazamiento que planea usar sobre sus diferentes voltajes máximos. PD Cuando dices "pines en serie" no te refieres a Serial TX y Serial RX , ¿verdad? Por lo general, una unidad controla los registros utilizando pines de E / S digitales de uso general. Usted puede usar pines en serie para dos de ellos, pero generalmente necesita más pines para manejar un registro de desplazamiento (generalmente al menos tres en el caso de 74HC595). El punto es 74HC595 se maneja a través de protocolo SPI , no RS-232

    
respondido por el angelatlarge
2

Al igual que casi todos los circuitos integrados sin tolerancias de sobretensión especialmente diseñadas, el nivel de voltaje de entrada del 74HC595 tiene un máximo de VCC o VCC + 0.3v. La alimentación del 74HC595 desde 3v está bien, pero la conexión directa de las salidas 5v del Arduino al 74HC595 a 3v no será buena. Un cambio de nivel como @angelatlarge ha demostrado que funcionaría.

Dicho esto, la otra cosa es que el IC no pasa a lo largo del voltaje de las entradas a las salidas. Si bien su diagrama lógico no muestra ningún transistor / mosfet usado, sí tiene salidas con búfer. Las salidas están referenciadas a las VCC y GND del 74HC595. Por ejemplo, en 4.5v VCC, el nivel lógico alto solo necesita ser 2.4v (típico) para ser un nivel alto, pero la salida será 4.32v típica.

Entonces, puede alimentar el 74HC595 desde 3v, usar un cambiador de voltaje para llevar las entradas al nivel de 3v y conectar sus leds de esa manera. Pero todavía querrá resistencias en los leds para controlar cualquier corriente.

De hecho, el uso de las resistencias hará que la alimentación del 74HC595 funcione a 3v Y el uso del divisor de voltaje no funcione. Las resistencias se deben calcular de la misma manera que lo haría si estuviera conectando directamente una resistencia led + a una batería.

Tenga en cuenta este esquema:

Alimentadodesde5v,considerandoquecadaled,comolamayoríadelosLEDestándar,estaráencualquierlugarentre2a3.5voltiosa20mAdecorrientedirecta,significaquehabrá3a1.5venexceso.Lasresistencias,cuandosecalculanparauna(Corrientedefuentede5voltios-CaídadetensióndeavancedeLED)/CorrientedeLED,"tomarán" la tensión de retorno, mientras se establece esa corriente. Lo mismo se aplica a LED Matrix en el 74HC595 también, excepto que la ubicación de la resistencia variará y todo. No nos has dicho qué tipo de matriz quieres.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas