¿Cómo funciona un LED direccionable en una tira?

0

Tome una tira de LED direccionable (por ejemplo, con el chipset WS2801) que puede controlar con un Arduino. Entiendo que hay líneas de reloj y datos, y los datos se propagan a través de los registros de desplazamiento en cada LED, extrayendo la información para ese píxel (RGB).

Me gustaría saber más detalles. ¿Cómo influyen los valores RGB que pasan a través de la línea de datos en la intensidad de los diodos? ¿Qué lógica está involucrada en hacer esto? ¿Se basa en PWM o cambia continuamente el voltaje de los diodos? No puedo encontrar un esquema.

    
pregunta IcyLime

4 respuestas

3

Puede ver exactamente cómo funciona el chip WS2801 mirando la hoja de datos.

Muestra que la línea de datos en serie y el reloj cambian en un valor de 8 bits para rojo, verde y azul. Luego, el chip genera un pulso PWM cuyo ancho está controlado por el valor de 8 bits. Y el chip emite los pulsos PWM hacia el LED rojo, el LED verde y el LED azul. Además, mide la cantidad de corriente a través de cada LED y la ajusta según la resistencia de retroalimentación externa (una para Red, Green y Blue).

Hojadedatos: enlace

    
respondido por el Richard Crowley
2

Si bien su pregunta indica que el WS2801 sospecho que se refiere al WS2812, esa es la parte más comúnmente utilizada en una tira de LED direccionable.
El WS2801 es un controlador LED que requiere LED externos, el WS2812 es un LED y un controlador en uno. De cualquier manera, las dos partes son muy similares, pero utilizan una conexión eléctrica diferente para el enlace de datos.

La hoja de datos del WS2812 se puede encontrar en aquí (los datos en El WS2801 también se encuentra en ese sitio en la sección IC del controlador LED).

Estas partes tienen una interfaz muy simple de 1 cable que permite que se encadenen entre sí:

No es un quire como un registro de desplazamiento, lo que implicaría que los primeros datos del procesador fueron para el LED más alejado de la cadena. Es exactamente lo contrario, los primeros datos son para el LED más cercano.
El primer LED lee los primeros 24 bits de datos (8 bits de Verde luego Rojo luego Azul) en la línea Din mientras mantiene inactiva su línea Dout y utiliza esos datos para configurar los controladores PWM para sus 3 LED internos. Una vez que se han recibido 24 bits de datos, el dispositivo pasa al modo de transferencia, cualquier información adicional se envía al pin Dout sin tener ningún efecto interno.

Si la línea de datos permanece inactiva durante un período de tiempo fijo, el dispositivo sale del modo de transferencia y leerá el siguiente conjunto de datos que reciba y actualizará las tasas de PWM internas de manera adecuada.

Este sistema significa que se puede encadenar un número teóricamente ilimitado de LED siempre que el conductor pueda seguir escupiendo los datos sin una pausa demasiado larga (y usted tenga una fuente de alimentación lo suficientemente grande). Sin embargo, la velocidad de actualización máxima posible disminuye a medida que la cadena se alarga.

El sistema funciona muy bien si desea actualizar todos los LED a la vez. Sin embargo, no le permite cambiar un solo LED sin cambiar ningún otro (excepto el primero). p.ej. Si solo desea actualizar LED3 en una cadena, como mínimo debe enviar los datos para LED1, LED2 y LED3.

    
respondido por el Andrew
1

En términos generales, cualquier controlador led digital funciona tomando una entrada digital en un formato fijo, generalmente n bits para el canal rojo, n bits para G, luego B, donde n es la precisión / pasos de su PWM (normalmente bits) 128 u 8 bits 255), posiblemente algún valor para todas las activaciones / desactivaciones o correcciones de puntos, y luego utiliza un temporizador PWM para impulsar la salida a esos valores. Luego pasa el exceso de datos a la siguiente, si es un tipo de registro de desplazamiento IC.

El WS2801 no es realmente direccionable, ya que los datos se transmiten de forma tonta.

    
respondido por el Passerby
0

Los LED en una tira direccionable serán controlados por algún tipo de circuito de impulsión. Hay un par de métodos estándar para implementar esto. El método más simple utiliza un par de cables y secuencias temporizadas. Cada chip de controlador de LED tiene una cantidad decente de lógica. Esto consiste principalmente en algunos temporizadores, contadores y un registro de desplazamiento. El registro de desplazamiento está conectado entre el pin de entrada de datos y el pin de salida de datos. Los contadores se utilizan para generar señales PWM para controlar los LED. La máquina de estados controla todo, ordenando al registro de desplazamiento que desplace los datos a través del chip siguiente en el momento adecuado y también que cargue los nuevos datos en los registros PWM una vez que toda la cadena se haya cargado con datos nuevos. Dado que los registros de desplazamiento están conectados de extremo a extremo, la secuencia en la que se transfieren los datos a lo largo de la cadena determina en qué chip de unidad termina.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas