Control USB de LED WS2801

Tengo una cadena de LED WS2801 (el tipo que se usa con mayor frecuencia con Arduino o Raspberry Pi sobre SPI), así como un kit de evaluación/placa de conexión para USB a SPI-master (MCP2210).

Sin embargo, soy más un tipo de software y normalmente no trato con el hardware y la electrónica, por lo que tengo algunos problemas para que los LED funcionen.

Mi configuración es la siguiente-

  • Hilo de LED conectado a una fuente de alimentación de pared de 5v 2A
  • Cable de datos conectado a MOSI en MCP2210
  • Cable de reloj conectado a CLK en MCP2210
  • MCP2210 conectado a una PC con Windows que ejecuta el software del controlador

El problema es que, con la configuración anterior, el primer LED en el hilo parece pasar por todos los colores continuamente, sin que yo envíe ningún dato. Con el cable de tierra (empalmado del hilo) conectado a GND en el MCP2210, no hay ciclo, pero el primer LED permanece encendido en un color fijo (supongo que esto indica que no se envían datos al hilo, ya que es capaz de permanecer encendido sin más intervención).

Entonces, mi primera pregunta es: ¿debería conectarse la tierra tanto al hilo como al módulo MCP2210?

Si no es así, ¿cuál podría ser la causa de los colores cíclicos y cómo se puede prevenir? Supongo que también puede ser algún tipo de problema con la tasa de datos o el reloj, ya que está ciclando a una tasa bastante constante...

Si tiene acceso a un osciloscopio, definitivamente debe mirar la salida para medir el tiempo.
Lamentablemente no tengo acceso a un osciloscopio en este momento
¿Alguna vez encontró una solución a su problema? Estoy tratando de hacer exactamente lo mismo que tú... controlar una tira de WS2801 sin un arduino/teensy para reenviar los datos.

Respuestas (1)

Necesita tener puntos en común entre la tira y el módulo del microcontrolador.

El controlador WS2801 PWM lee 24 bits de datos y pasa el resto al siguiente módulo en serie. Se bloquea cuando la señal es baja durante >500 μs.

Si solo se ilumina un píxel, entonces el tiempo entre cada conjunto de 24 bits es demasiado largo y el primer píxel trata cada conjunto como propio.

Hoja de datos para WS2801 .

Curiosamente, en la aplicación de muestra MCP2210 (que le permite enviar datos Hex/Dec directamente al dispositivo SPI), el retraso de datos a datos se establece en 0. Como mencioné anteriormente, el parpadeo ocurre independientemente de si envío datos o no, así que me pregunto si en realidad se debe a la aplicación de muestra. Probablemente seguiré adelante y escribiré un código yo mismo para intentar depurar esto. ¡Sin embargo, gracias por responder a mi pregunta sobre el suelo!