Vai al contenuto

Comando di corona di LED con WS2812

Home Forum Discussioni su problematiche generali Comando di corona di LED con WS2812

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • #36084
    Stefano
    Partecipante

    Dovrei comandare una corona di 24 led WS2812 con dei semplici pattern. Il protocollo di comunicazione prevedere che un segnale rimanga basso per 0,8us e alto 0,6us per la condizione di 0 logico, mentre basso per 0,35us ed alto 0,7us per una condizione di 1 logico. Per maggiori info sul protocollo allego datasheet.

     Vorrei capire se è possibile genarare segnali abbastanza veloci in una task fast dello SlimLine.

    #39789
    Sergio Bertana
    Amministratore del forum

    I tempi di variazione dello stato del segnale sono incompatibili con le uscite del modulo SlimLine. Le uscite digitali sono protette ed hanno un driver studiato appositamente per lo scopo, inoltre sono galvanicamente isolate e tutti questi componenti limitano tantissimo la frequenza massima in uscita.

    Il modo più veloce di commutare gli I/O logici è di utilizzare la funzione SysSetPhrOut in un loop chiuso all’interno del programma, ma tieni presente che a specifica le uscite hanno come tempi TOn:4mS max, TOff:1mS max quindi una frequenza di 200 Hz.

    Un segnale che è possibile gestire in modo più veloce può essere il DTR della porta seriale (Screenshot programma), ma anche in questo caso l’impulso minimo che si ottiene su di un modulo CPU Base LogicLab è di 3,24 uS (Vedi oscillogramma) ed essendo il segnale DTR un segnale conforme allo standard RS232 il segnale ha una ampiezza picco-picco di 11.5 volts (Download progetto DTRPositivePulse).

    #39792
    Sergio Bertana
    Amministratore del forum

    In questo topic puoi trovare altre considerazioni sui tempi necessari a gestire gli I/O logici.

    #39793
    Giuseppe
    Partecipante

    hawaiitalia immagino tu conosca delle librerie che vanno per la maggiore sul web, io uso FastLED. Dovresti usare un microcontrollore (5V) esterno per pilotare i WS2812 e comunicare con il PLC tramite il bus I2C.

    La comunicazione su I2C dalle CPU SlimLIne verso le periferiche è ampiamente documentata. Il controllo del WS2812 può essere fatto con bit-bang, come intendi fare tu, oppure alcuni usano periferiche veloci tipo I2S.

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Devi essere connesso per rispondere a questo topic.