Sari la conținut
ELFORUM - Forumul electronistilor

Banda led adresabil cu UCS1903


mely17

Postări Recomandate

Buna seara.

Am o dilema in legatura cu niste benzi de led RGB adresabile cu UCS1903. Benzile sunt folosite intr-o bara de plastic, cate 6 benzi/bara legate in paralel. Aceste benzi au fost controlate de un microprocesor cu 8pini care a decedat si prin urmare as vrea sa le inlocuiesc cu arduino nano. Dupa mai multe cautari pe internet am gasit pe github libraria FastLed care mi se pare super. Problema incepe de aici: cu o singura banda functioneaza dar cand vreau sa leg in paralel 6 benzi cum a fost original nu mai functioneaza, ledurile pe benzii raman stinse. Mentionez ca pe fiecare banda sunt cate 8 UCS1903. Stau si ma intreb cum au reusit cei care au facut acel controler sa controleze 6 benzi puse in pararel cu aceas iesire din microprocesor? Are cineva vreo idee daca e posibil acelas lucru si cu arduino?

In prima faza ma gandeam sa citesc continutul microprocesorului de 8 pini dar am renuntat deoarece acesta este slefuit si nu se vede nici un cod pe el.

Multumesc.

Link spre comentariu

Io n-am zis ca nu te cred... am zis doar ca din putina experienta pe care o am cu benzile de led-uri adresabile, timing-ul este foarte important... si atunci, daca libraria a fost conceputa si mai ales testata plecand de la ideea ca ai un singur lant de led-uri conectate, este foarte posibil sa treci de-o "limita" daca pui 6 in paralel... asa ca am propus sa incerci cu 2... :D. 

Link spre comentariu

Mie mi-a adus cineva niste WS2811 care ar fi echivalentul lui UCS1903. Are 2 viteze: 400Kbps si 800Kbps. Viteza se selecteaza din pinul 7, SET. Chiar si pe viteza mai mica e nevoie de un microcontroler rapid la minim 16MHz. Eu am folosit un microcontroler la 48MHz si am calculat timpii de iesire pe durata fiecarei instructiuni fara sa folosesc SPI.

WS2811 se pot leaga in cascada in numar nelimitat. Limita e data doar de curentul suportat de firele de alimentare.

Fiecare circuit are intern un registru de deplasare pe 24 biti, cate 8 biti pentru fiecare iesire PWM. Intrarea registrului este legata la Din iar iesirea la Do. In felul asta, datele se transmit serial de la un circuit la altul. Ca sa controlezi 2 circuite, este nevoie de 48 biti, la 3 circuite 72 biti s.a.m.d. Din ce am vazut in poza intr-o bareta sunt 8 buc. UCS1903 deci e nevoie de 192 biti ca sa aprinzi si ultimul LED.

Datele trec de la registrul de deplasare din circuit la PWM in momentul in care se trimite o comanda RESET. Fiecare PWM e pe 8 biti si se pot stabili 256 nivele luminozitate. In total ies 16 mil. culori daca se folosesc leduri RGB.

In datasheet la pagina 5 se dau timpii pentru 800Kbps. Pentru 400KBps valorile se dubleaza si ar putea fi folosit un microcontroler la 16MHz. Se poate folosi si SPI dar e nevoie de un cristal de 12,8MHz sau 25,6MHz la microcontroler ca sa iasa exact 400Kbps sau 800Kbps, dar e posibil sa mearga si cu cristale de 12 respectiv 24MHz

Link spre comentariu

@mely17: " Multe nu inteleg deocamdata dar cel mai grav nu stiu cum setez pinul de iesire din arduino ". In acest caz este(va fi) dificil sa intelegi cum functioneaza libraria.

Chip-ul identificat de tine este destinat folosirii in regim inseriat (nu in paralel), vezi DS. Parerea mea este ca ar trebui sa incepi sa studiezi bine cu ce se mananca Arduino mai intai (un bun punct de pornire este aici: https://www.arduino.cc/reference/en/). Apoi, treptat, sa inveti cum se aprinde si se stinge un LED si dupa...un timp sa mergi mai departe.

@cimitavita: " Chiar si pe viteza mai mica e nevoie de un microcontroler rapid la minim 16MHz " Poti folosi si un ATmega la 8MHz casa transmiti serial informatie la 400kbps.

Link spre comentariu

Poti ramane cu curiozitatea daca nu citesti DS.

Fspi <Fclk/4, la 8 MHz vei avea o frecventa de ceas a SPI de cel mult 2 MHz (pag.122 din DS Atmega 8, "In SPI Slave mode, the control logic will sample the incoming signal of the SCK pin. To ensure correct sampling of the clock signal, the minimum low and high periods should be:Low period: longer than 2 CPU clock cycles High period: longer than 2 CPU clock cycle"). Deci RTFM si dupa aia exprima-ti curiozitatile.

Editat de nico_2010
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări