Cómo Configurar e Interconectar los LED WS2812B

August 26, 2019 Circuit Studio

 LEDs in different colors

¿Estás de humor para echarte unas buenas risas? Bueno, tengo una historia que contarte. Soy ingeniero de diseño con décadas de experiencia, pero recientemente un proyecto de LED casi me puso de rodillas de la desesperación que tenía. Solía pensar que los LED eran tan simples como conectar el diodo emisor de luz a una resistencia limitadora y una fuente de alimentación. ¿No son así?

Eso es exactamente lo que pasó por mi cabeza cuando trabajé en un proyecto de iluminación de modelos de arquitectura hace un par de años. En este proyecto, los edificios y paisajes se alimentaban por un LED WS2812B; un nuevo y popular tipo de LED integrado en ese entonces. Sin embargo, a diferencia de los LED convencionales, hacer que funcione es más complicado que encender un suministro eléctrico. Esto se debe a que los LED interconectan de una manera única con el microcontrolador. La interfaz de comunicación entre el microcontrolador y el LED es de un solo cable, pero a diferencia de una interfaz serie UART estándar, es muy específica para el tiempo. Además de atraernos a nosotros los empollones que queremos usar un procesador en tiempo real para ejecutar sus LED, los LED WS2812B son útiles para proyectos que requieren tiras de LED rojo, verde y azul (RGB) en grandes volúmenes. Los LED WS2812B solamente tienen 3 conexiones, independientemente de la cantidad de LED en una tira, lo que evita crear un desastre de cableado.

En qué se Diferencia el WS2812B de los LED Típicos 

Para nosotros los ingenieros eléctricos, la palabra LED a menudo evoca el símbolo de un diodo con un par de flechas que indican que es un diodo emisor de luz. En el diseño electrónico, la mayoría de los ingenieros están familiarizados con los LED de doble pin que tienen conexiones de ánodo y cátodo. En los diseños de sistemas integrados, estos pines LED son fáciles de controlar y a menudo se usan como indicadores visuales.

La configuración WS2812B es algo muy diferente a tu LED típico. Es un LED (RGB) que está integrado con un chip de control inteligente en un solo factor de forma 5050. Admite un protocolo de transmisión de una sola línea, donde se envían señales de reloj y datos al WS2812B, a un mínimo de 400 kbits por segundo, para controlar el valor RGB del LED. El WS2812B se puede conectar en cascada conectando el pin de "salida de datos" de un LED a la "entrada de datos" del otro.

Esto significa que encender el WS2812B no es tan simple como conectar un LED a una fuente de alimentación de 5V CC. Si lo intentas, notarás que no pasa nada. Para que un LED WS2812B funcione, deberás enviar un comando válido al LED WS2812B desde su controlador. Si bien solo se necesita un comando para cambiar el color del LED WS2812B, es difícil transmitir el paquete de datos. Como estás trabajando con una interfaz de tiempo específico, los comandos de lógica 0 y lógica 1 se definen por sus respectivas longitudes de pulso cuadrado. Este tutorial da un ejemplo visual de las respectivas longitudes de cada pulso. Por el contrario, un LED RGB convencional simplemente requiere una señal de modulación de ancho de pulso constante (PWM) para mantener su brillo y color. 

La necesidad de modular los parámetros de datos en una señal de reloj extenderá tu capacidad de codificación y tu comprensión del microcontrolador hasta el límite. Esto se vuelve aún más complicado cuando se aplica a múltiples LED en una tira. Para poner las cosas en perspectiva, un carrete estándar de LED WS2812B suele tener 5 metros de largo con un total de 150 LED. En mi experiencia, terminé teniendo que conectar más de un carrete de LED a un solo punto de control. Entonces, ¿cuál es la solución para controlar estas elegantes tiras de LED? Para empezar, necesitarás el controlador LED correcto.

Claves para Diseñar un Controlador LED WS2812B Confiable

Diseñar un controlador LED que funcione correctamente es la clave para conducir una tira de WS2812B. Dos cosas importantes a considerar son que el WS2812B comparte una sola línea tanto para reloj como para datos, y que admite una velocidad de transmisión de datos mínima de 400 kBits por segundo. Esto hace que el desarrollo sea complicado tanto para el desarrollador de hardware como para el de firmware. 

 

WS2812B LED strips

Tiras de LEDs WS2812B

Dado que los datos de los parámetros RGB se modulan dentro de la señal de reloj, la precisión es obligatoria para el microcontrolador (MCU) que controla el LED. Esto le da a los desarrolladores de firmware dos opciones. Pueden seleccionar un microcontrolador de 32 bits de alta gama con una potencia de procesamiento inmensa u optar por un microcontrolador de 8 bits de bajo presupuesto. La MCU de 32 bits simplificará el desarrollo del firmware pero es significativamente más cara. Como alternativa, la MCU de 8 bits podría no generar el paquete de datos WS2812B con precisión. El tiempo es clave para estos LED y una diferencia de aproximadamente un microsegundo podría dar como resultado un color diferente.  Hay una forma de evitar este problema, puedes escribir el controlador LED en lenguaje ensamblador. Dicho esto, prepárate para un esfuerzo costoso y complicado en el desarrollo de firmware. 

En mi experiencia, opté por el MCU de 8 bits. El coste de desarrollo único fue mucho mejor que pagar por una MCU de 32 bits por cada controlador LED producido. Por supuesto, eso significó un duro período inicial de programación de ensamblaje. De cualquier manera, la elección es tuya. 

Una vez que hayas elegido tu MCU, deberás tener en cuenta que la señal WS2812B es sensible a la interferencia externa. Cualquier error de diseño puede provocar señales de datos WS2812B corruptas. Deben seguirse diligentemente las mejores prácticas como aislar los datos WS2812B de otras señales de alta velocidad y mantener cortos los trazos.

Conocer esta Información sobre WS2812B te Ahorrará Problemas Innecesarios

Hasta este punto, puede parecer que todo lo que necesitas para tener un proyecto exitoso basado en la configuración WS2812B es tener un microcontrolador LED funcional. ¡Cuelga tu sombrero, hay más! En proyectos donde se conectan varias tiras de WS2812B, hay algunos detalles críticos que el equipo técnico que ensambla la tira de LED debe tener en cuenta. 

 

Person soldering a wire

Un error arruinará tu proyecto WS2812B

Las tiras LED WS2812B consumen alta corriente y provocan una caída de voltaje de 2.0V para 150 LED. Esto significa que la conducción del LED requiere una fuente de alimentación con una salida de corriente suficiente, y para garantizar un voltaje de funcionamiento estable, las tiras de LED deben tener una conexión positiva de 5V-7V después de cada 150 LED. Sin esto, puedes garantizar colores LED distorsionados y clientes insatisfechos. 

Cuando las tiras de WS2812B se separan y se cablean manualmente, la soldadura se debe realizar con la máxima precisión ya que la línea de datos es extremadamente sensible a interferencias o juntas secas. Un WS2812B mal conectado puede resultar en LEDs mostrando colores aleatorios de los que se transmiten. Eso es lo último que querrás para tu proyecto. 

Nos guste o no, la industria de la iluminación LED está cambiando. Ya sea WS2812B u otros LED similares, querrás tener en cuenta que ya no se trata de conectar tiras de LED a una fuente de alimentación y esperar que funcione. Se necesita un esfuerzo de equipo más allá de la PCB para completar un proyecto.

¿Estás listo para comenzar a diseñar tu propio controlador LED WS2812B? ¿Te preguntas cómo enrutar la señal de alta velocidad WS2812B? No querrás perderte las mejores prácticas para el diseño de PCB, especialmente en un proyecto como este. El software profesional de diseño de PCB como CircuitStudio® puede ayudarte a comenzar. 

¿Tienes alguna pregunta sobre los LED? Contacta a un experto en Altium.

Artículo anterior
Cómo una Sola Conexión a Tierra Estropeó 100 Unidades de Reproductores de MP3
Cómo una Sola Conexión a Tierra Estropeó 100 Unidades de Reproductores de MP3

Cómo mantener tus bases analógicas y digitales separadas para aplicaciones de audio.

Artículo siguiente
Consejos para Minimizar el Consumo de Energía de Tu Sistema Integrado
Consejos para Minimizar el Consumo de Energía de Tu Sistema Integrado

Al igual que con cualquier problema de distribución de energía, querrás planificar un presupuesto energétic...