Domanda:
La striscia RGB indirizzabile funziona bene individualmente ma non può impostare tutti i LED su completamente bianco
Bort
2019-10-28 04:35:08 UTC
view on stackexchange narkive permalink

Ho una striscia di 5 metri di LED RGB digitali da 12V. Il chip è WS2811 (vedi foto di IC). Ci sono 50 indirizzi sulla striscia.

WS2811 IC

Utilizzando la libreria FastLED, sono in grado di eseguire la Esempio "FirstLight" che insegue tutto il bianco con un singolo indirizzo alla volta, su e giù per la lunghezza. Funziona bene. Quindi so che singolarmente funzionano correttamente.

Tuttavia, se imposto tutti i LED su tutto bianco (255), i primi pochi indirizzi sembrano bianchi ma poi più alto è l'indirizzo, più è rosso. Vedi foto sotto. La striscia inizia al centro della bobina.

All white WS2811 issue

  #include <FastLED.h> // Quanti led ci sono nel strip? #define NUM_LEDS 50 // Pin dei dati su cui verranno scritti i dati del led # define DATA_PIN 5 // Questo è un array di led. Un elemento per ogni led nella tua striscia LED CRGB [NUM_LEDS]; // Questa funzione imposta i led e comunica al controller la configurazione evita () {// ritardo controllo sanità mentale - consente la riprogrammazione se si interrompe accidentalmente l'alimentazione con ritardo led (2000 ); Serial.begin (115200); Serial.print ("### SETUP ###"); // Entrambe le strisce sono ordinate BRG FastLED.addLeds<WS2811, DATA_PIN, BRG> (leds, NUM_LEDS); //FastLED.addLeds<UCS1903, DATA_PIN, BRG> (leds, NUM_LEDS); } void loop () {for (int i = 30; i < NUM_LEDS; i ++) {leds [i] = CRGB :: White; } FastLED.show ();}  

Per eseguire il debug, ho provato ad accendere solo l'ultima metà. Il risultato era ancora problematico: WS2811 last half

  for (int i = 30; i < NUM_LEDS; i ++) {leds [i] = CRGB :: White; }  

Ho quindi provato a impostare tutti i LED su bianco a metà luminosità, e sembra molto meglio, ma i LED all'esterno sono ancora fuori colore rispetto all'interno: WS2811 white half brightness


Ho provato a impostare l'intera striscia su tutto blu e funziona bene.

Ho anche un'altra striscia LED quasi identica che utilizza invece il chip 1903. Lo stesso codice (inizializzato per 1903 invece di WS2811) funziona perfettamente sulla striscia del 1903!

Altre cose che ho escluso:

  • Sto usando una panchina alimentatore capace di 5A, questa striscia tira meno di 1,5A su tutto bianco.
  • Ho verificato che l'alimentazione sia a 12V
  • Non ho lasciato che i LED si surriscaldassero mentre erano avvolti la bobina. Mi assicuro di scollegarli dopo aver osservato il loro colore.

Cosa potrebbe causare questo sulla striscia WS2811 mentre la striscia 1903 funziona perfettamente?

Sei risposte:
Majenko
2019-10-28 05:08:13 UTC
view on stackexchange narkive permalink

Sospetto che si tratti di una caduta di tensione nei binari di alimentazione causata dall'assorbimento di corrente. Probabilmente costruzione economica con binari in rame che sono semplicemente troppo sottili e quindi hanno una resistenza troppo alta.

Per combatterlo dovrai iniettare energia nella striscia in vari punti lungo di essa. Inizialmente per dimostrare la teoria puoi provare a collegare l'alimentazione a entrambe le estremità della striscia e vedere se il punto "opaco" è a metà strada lungo la striscia. Se lo è, allora è sicuramente una caduta di tensione. (per inciso, una caduta di tensione farà sbiadire prima i LED blu facendoli diventare giallo-rosso. Quindi quelli verdi sarebbero probabilmente i prossimi, facendoli diventare rossi).

Quindi, una volta provato, tu sarà necessario aggiungere ulteriori connessioni di alimentazione nella striscia al centro di eventuali sezioni scure e alimentare la tensione direttamente in quei punti.

Avevi ragione! Ho collegato entrambe le estremità e la parte centrale era solo leggermente scolorita. Pensavo che un prodotto così semplice non potesse avere questo problema, eppure eccolo qui. Non ho mai visto un calo così drammatico su una striscia così breve prima.
@Bort Sembra certamente peggio che sulla mia striscia da 5V, 5 metri con lo stesso numero di LED. Forse hanno risparmiato sulla dimensione della traccia (il che è sciocco perché i produttori di PCB non si caricano in base alla quantità di rame)
A proposito, questa striscia è stata venduta come IP67 e sigillata in un singolo tubo di gomma continuo. Quindi non era davvero pensato per essere ridotto a una lunghezza inferiore.
@user253751 Sapendo che il rame è costoso, perché più rame non aumenterebbe il prezzo? Forse le cose funzionano diversamente in Asia?
I PCB @Bort sono solitamente realizzati con un processo sottrattivo in cui la scheda è completamente ricoperta di rame e quindi una parte viene rimossa e scartata. Quindi paghi tutto il rame che usi e tutto quello che scarti. Non so se questo si applica ai substrati flessibili.
@Matt - Tuttavia, la quantità di base di rame non cambierebbe il costo? Esempio: iniziando con un PCB di 1 unità di rame e poi sottraendo, invece di iniziare con 3 unità di spessore e poi sottraendo. Sebbene la sottrazione non faccia risparmiare denaro all'acquirente, la scelta iniziale dello spessore lo farebbe, giusto? O mi sta sfuggendo qualcosa?
@Bort Sì, hai ragione, lo spessore cambia il costo. Supponevo che stessimo parlando solo di larghezze delle tracce di rame.
@Matt - Oh, ora vedo che user253751 si riferiva alla larghezza, non allo spessore! Ma poi mi chiedo perché non abbiano considerato lo spessore ...
@Bort Puoi ancora tagliarlo, ma dovrai trovare qualcosa con cui sigillare l'estremità, il che potrebbe richiedere un po 'di ricerca o sperimentazione (non puoi semplicemente presumere che riempire l'estremità con colla a caldo lo manterrà impermeabile, anche se potrebbe essere sufficientemente impermeabile per il tuo uso, se è solo una piccola quantità di acqua)
Il sigillante siliconico @user253751 (sigillante per bagno) è il metodo normale ...
Non è necessariamente una costruzione economica .. ma le strisce ws2811 in cui 3 LED RGB sono controllati da 1 chip necessitano di molte tracce di instradamento su solo 1 cm di larghezza di striscia. Questo a sua volta limita l'ampiezza che le due tracce di potenza possono avere, il che si traduce in una caduta di tensione piuttosto elevata sulla distanza. Per questo motivo, i fornitori di quelle strisce di solito consigliano di inserire punti di iniezione di potenza secondaria dopo ogni 1 o 2 metri di striscia. Questo problema è meno evidente con i LED ws2812 con i loro controller integrati, poiché possono avere due tracce di alimentazione piuttosto ampie che scorrono dritte lungo l'intera striscia.
(ma le ws2812 a loro volta sono vendute in varianti con un massimo di 144 LED per metro, che assorbono così tanta potenza che l'iniezione di potenza secondaria diventa nuovamente necessaria .. anche se con un'emissione luminosa molto più elevata)
@WooShell Questo spiegherebbe la differenza. La striscia che avevo usato WS2812s.
@Bort un altro trucco che potresti provare è collegare solo il terreno su 1 lato del binario e solo il positivo sull'altro lato, questo dovrebbe principalmente bilanciare la tensione che qualsiasi led vede
Ho una discreta esperienza con queste strisce. In teoria, per i tipi 5V, 60LED / M, è necessario alimentarli ogni 1 M circa lungo la loro lunghezza, in pratica trovo che ogni 2-2,5 M sia sufficiente, purché si disponga di un'alimentazione di corrente sufficientemente alta ( sebbene sia specifico del produttore). Per 12V immagino che potresti allungare a 2,5-3M tra i rubinetti. I tipi con rivestimento in silicone necessitano di un piccolo foro tagliato fuori dalla giacca per collegare i "rubinetti" di alimentazione, che dovrebbero quindi essere riempiti completamente con sigillante siliconico esterno.
@Majenko, il poster non ha specificamente detto che sta usando Arduino. Non pensi che dovresti chiudere la questione, perché potrebbe essere fuori tema, o è solo una regola per chi menziona la parola MicroPython?
@PrestonDocks No, considero questo argomento come argomento. Il 99,999% delle persone che li utilizzano li utilizza con Arduino. Non è necessario menzionarlo specificamente. Ma l'utilizzo di un microcontrollore non Arduino con codice non Arduino è ovviamente fuori tema. Se non ti piace questa domanda, esegui il tuo voto più vicino. Ecco a cosa serve.
@Majenko Il 99,999% delle persone che utilizzano le schede ESP32 le utilizza con l'IDE di Arduino, ma poiché ho menzionato la parola MicroPython in una domanda relativa a ESP32, hai chiuso la mia domanda. Inoltre, la maggior parte delle persone che utilizzano Arduino, non utilizzano Arduino, ma utilizzano cloni.
@PrestonDocks Un ESP32 non è un Arduino. Se lo usi con il codice Arduino, saremo felici di aiutarti. Ma dal momento che non lo sei, non possiamo aiutarti. Se continui a lamentarti e lamentarti ti bandirò.
frarugi87
2019-10-28 15:08:20 UTC
view on stackexchange narkive permalink

La risposta di Majenko è corretta e potresti anche verificarla con il test eseguito.

Poiché si tratta di un problema che ho riscontrato in passato in un caso simile, voglio condividere alcune misurazioni che ho preso sulla striscia LED che ho, nel caso possa essere utile per te o per altre persone.

Premessa: i test sono stati fatti con una striscia RGBW da 5m 60 led / m (SK6812, bianco naturale).

Il primo test è stato eseguito per misurare la corrente da ogni LED. Questi sono i risultati:

  • Tutti i LED spenti: 230 mA (0,77 mA / led)
  • Da 10 LED al massimo ROSSO, VERDE o BLU (un colore): 320 mA
  • 10 LED a max BIANCO: 410 mA

Ciò significa che ogni led R, G o B assorbe a max 9 mA, mentre quelli W hanno 18 mA attuale. Ogni LED, acceso o spento, ha una corrente di 0,77 mA che lo attraversa.

Per valutare la caduta di tensione, ho quindi acceso completamente bianchi i primi 100 LED, quindi ho misurato la corrente, il tensione di ingresso e tensioni di uscita della striscia. Ho ottenuto una caduta di tensione da 4,8 V a 4,16 V con una corrente di 2,11 A (che è quasi uguale a 230mA + 18mA / led * 100led).

Ho quindi modellato la striscia come una sequenza di corrente ideale generatori uniti da resistori:

schematic

simula questo circuito - Schema creato utilizzando CircuitLab sup >

Chiamando R la resistenza introdotta dalla striscia, I_Led la corrente che scorre in un LED e N il numero di LED accesi (e ignorando gli effetti della corrente di standby), la caduta di tensione sulla prima resistenza è dV1 = R N I_Led, quello sul secondo è dV2 = R * (N-1) I_Led e così via, fino a dVN = R I_Led. La caduta di tensione totale è dV = R N (N + 1) * I_Led / 2.

Utilizzando i dati misurati, possiamo calcolare la resistenza tra due LED consecutivi:

R = (2 * dV) / (N * (N + 1) * I_Led) = (2 * 0,64 V) / (100 * 101 * 0,018 A) = 7 mOhm

NOTA: questo trascura gli effetti della corrente di standby. Tuttavia nei miei calcoli stavo cercando un caso peggiore, ed escludendo questi effetti stavo in effetti facendo ipotesi peggiori, quindi non me ne importava

Quindi, con questa resistenza sono stato in grado di calcolare il caduta di tensione per strisce arbitrarie e di conseguenza pianificare dove posizionare i giunti di alimentazione. Nel mio caso pensavo di avere al massimo stub lunghi 1.2m (80 LED), in modo che la tensione alla fine, nel peggiore dei casi (tutti i LED accesi in RGBW, alla massima luminosità), avessi una leggera caduta di tensione più di 1V.

Si noti che nella mia configurazione la caduta di tensione sul primo elemento (quello con la caduta maggiore) è (80 * 0,045A * 0,007mOhm) = 25mV, con una dissipazione di potenza di 90mW .

Questa striscia è stata venduta come IP67 e sigillata in un singolo tubo di gomma continuo. Dovrei rompere quel sigillo per ottenere quelle misurazioni, anche se credo che non ci sia molto da perdere a questo punto.
@majenko, questa risposta riguarda la teoria dell'elettronica, sicuramente non si tratta di Arduino, quindi è fuori tema. Possiamo chiuderlo, per favore?
Bort
2019-10-29 19:06:14 UTC
view on stackexchange narkive permalink

Per completezza, voglio includere una simulazione del circuito RGB che ho fatto qualche tempo fa, insieme ad alcuni dati. È per strisce RGB analogiche, ma il concetto di caduta di tensione è lo stesso. Da allora ho aggiunto qualche altro LED per mostrare l'effetto della caduta di tensione su tutta la lunghezza e ho aggiunto la possibilità di cambiare anche la connessione di alimentazione.

La simulazione mostra la corrente attraverso ogni segmento a 3 LED . Le strisce da 12V hanno in genere 3 LED in serie e ripetilo lungo la striscia.

Quando ho creato questa simulazione, ho scelto valori di resistenza esagerati, tuttavia, questa striscia WS2811 potrebbe essere piuttosto vicina. Tuttavia, non l'ho modellato con misure particolari.

Ci sono interruttori nel circuito di simulazione su cui puoi fare clic per passare la connessione a 12V e la messa a terra alle due estremità della striscia.

[Link alla simulazione] 12V LED strip simulation


Risultati:

Con 12V e massa sullo stesso lato: 28,389mA - 27,892mA = differenza di 2,123mA

Con 12V e massa su entrambe le estremità: 28,389mA - 27,892 mA = differenza di 0,497 mA

Con 12V e messa a terra alle estremità opposte: 27,310 mA - 26,834 mA = differenza di 0,476 mA

Sebbene sia l'alimentazione che la terra possono essere collegate a entrambe le estremità della striscia, questa simulazione mostra effettivamente un migliore equilibrio spostando semplicemente il terreno all'estremità opposta della striscia che riceve 12V.

L'unico modo affinché ogni segmento LED sia veramente bilanciato sarebbe che ciascuno di essi abbia la propria connessione all'alimentazione e alla terra.

@majenko Un'altra risposta alla teoria dell'elettronica, stiamo tornando molto sull'argomento. Puoi moderare in modo appropriato.
Harper - Reinstate Monica
2019-10-29 00:54:14 UTC
view on stackexchange narkive permalink

Questi tipi di strisce semplicemente non sono dimensionati per l'accensione completa su tutti i LED. Si prevede che, se lo si desidera, si esegue una striscia LED parallela per l'illuminazione che non è indirizzabile e che utilizza una tensione molto più alta come 12 o 24V, dove la caduta di tensione è meno critica.

Generalmente i LED indirizzabili non sono pensati per essere utilizzati in strisce lunghe, ma dovrebbero essere inseriti in una matrice di qualche tipo con numerose strisce corte, in cui ciascuna può essere alimentata individualmente.

Correre un lungo tratto non è un problema, ma dovrai alimentare la potenza in molti punti se vuoi questo livello di illuminazione. E verrai ucciso sulla dimensione del filo o sulla caduta di tensione perché la caduta di tensione è così critica quando la tua tensione è di soli 5 volt. Sgranocchia i numeri ma puoi ritrovarti a comprare un grosso filo di alimentazione 1/0 in fretta. Consiglio invece di portare l'alimentazione a 24V o di rete e di convertirla a 5V in molti luoghi.

Suggerirei di ripensare all'intento del design e se si desidera anche l'illuminazione, eseguire una striscia separata solo per questo. Quelle sono a buon mercato.

In realtà, è una striscia da 12V, non sono sicuro da dove hai preso "5V". Come afferma anche la domanda, ho un'altra striscia da 12V che è quasi identica tranne che utilizza l'IC 1903 e quella striscia funziona bene con tutto il bianco.
rentaspoon
2019-10-29 05:35:12 UTC
view on stackexchange narkive permalink

I LED richiedono 12 V ma i chip richiedono una tensione inferiore.Il chip WS richiede da 3,3 V a 5 V a differenza dei 6-7 V richiesti dall'IC, la resistenza aggiunta insieme al fatto che l'ultimo LED deve correre 10 metri su un viaggio di ritorno (5 m su positivo, 5 m su negativo = 10 m totali) potrebbe significare che il calo è troppo.

Il modo più semplice per scoprirlo è connettersi a metà, se il problema persiste (entrambe le estremità sono cattivo) è l'alimentatore

Quando dici che il chip WS richiede da 3,3 V a 5 V [e l'IC richiede 6-7 V], a quale CI ti riferisci? IC e chip sono più o meno gli stessi per me.
Lenne
2019-10-29 14:49:16 UTC
view on stackexchange narkive permalink

Come altri hanno risposto, è a causa della caduta di tensione.

Se si alimenta positivo al connettore a un'estremità e negativo all'altra estremità, tutti i LED vedranno la stessa caduta di tensione, come tutti i led hanno 5 m di connessione all'alimentazione.

Se chiamiamo le estremità L e R con L + e L- e R + e R-:

Connetti + a L + e - a R-

Se vuoi essere avanzato, procurati un alimentatore con uscite separate e connessioni di rilevamento.

Quindi collega sense + a R + e sense- a L-

Questo assicurerà che la tensione ai capi dei LED sia 12V, aumentando la tensione per compensare la caduta di tensione.

Ho iniziato a disegnare in CircuitLab, ma vogliono soldi adesso ?! Che scortese ...

Si noti che se l'alimentazione e la massa sono collegate alle estremità opposte, non ci sarà ancora una tensione perfettamente uniforme per ciascun segmento LED. Ho aggiunto una mia risposta con una simulazione per affrontare questo problema


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...