Paljon RGB-ledejä

Hei

Suunnittelen projektia, johon tulisi paljon RGB-ledejä (arvio < 300 kpl) ohjattuna mikrokontrollerilla, tosin niin, että kerrallaan ledit palaisivat vain yhden värisinä. Ajattelin, että ostaisin paljon halpoja RGB-ledejä netistä ja kourallisen shift-rekistereitä (serial in, parallel out) ja kytkisin ne niin, että ledien “värit” ovat yhdessä (eli esim. kaikki vihreät samaan) ja sitten yhteiskatodit (tai anodit) noihin rekistereihin. Sitten välkyttäisin värejä jonkun tehokkaan transistorin läpi mikrokontrollerin PWM:llä ja ohjaisin rekistereillä sitä mitkä ledit palavat.

Kysymyksiä/ongelmia, joihin kaipaisin vastauksia tai ainakin ehdotuksia:

  1. Ledit vaativat paljon virtaa, joten millaisia shift-rekistereitä pitäisi käyttää? Ledeille ilmoitettu 20 mA per väri ja jos niitä polttaa valkoisena, niin sehän tarkoittaa 60 mA per ledi. Lisäksi jos poltan useampaa lediä samasta rekisteristä niin kulutus on sen moninkerta. Tosin mietin jo kytkentää (ts. ledien järjestystä), jolla minimoin tuon, mutta entäs jos tulisikin mieleen polttaa kaikkia ledejä. Ajattelin laittaa noin 60 lediä joita poltettaisiin jatkuvasti tai ei ollenkaan, tosin niitä voisi ehkä polttaa jollain muulla kuin rekisterillä, mutta olisihan se hienompaa, jos niitäkin voisi ohjata.

  2. Ledit tarvitsevat etuvastukset. Voinko käyttää useammalle samaa vai pitäisikö kaikille olla omansa? Mihin jalkaan ne pitäisi kytkeä eli voinko pistää ne yhteiseen jalkaan vai pitääkö väreille olla omansa? Olen lukenut, että ledit palavat tasaisimmin, kun niillä on jokaisella oma vastus, onko näin? Suurin ongelmahan tässä on se, että juottamistyötä on paljon. Kuitenkaan ei ole kauheasti järkeä vähentää työtä, jos lopputulos on huono.

  3. Jotain muutakin oli mielessä, palautunee myöhemmin mieleen.

Hyvin suunniteltu on puoliksi tehty. :slight_smile:

Tässä projektissa on mahdollista likimain puolittaa noiden ledien määrä, jos siltä tuntuu, mutta hienompaahan se olisi, jos voisi laittaa kaikki.

Katselin myös Adafruitin Neopixel-ledejä joita ohjataan yksitellen, mutta ne ovat paljon hintavampia. Ne olisivat kuitenkin ongelmattomampia luultavasti.

Ilmeisesti nämä NXP:n HEF4794B shift-rekisterit ovat tehty ledejä varten, mutta niilläkin output clamping current ja output current ovat 40 mA. Riittääkö se sitten, en tiedä. Tosin ledejähän ei ole pakko polttaa täydellä kirkkaudella eli vastuksien valinnalla voi vaikuttaa asiaan.
Datasheet: nxp.com/documents/data_sheet/HEF4794B.pdf

Texas Instrumentsilla näkyy olevan ainakin TLC6C598, joka on tehty 50 mA virtojen ohjaukseen.
Datasheet: ti.com/lit/ds/slis142b/slis142b.pdf

Muokkaus: Lisää etsimistä. Yllämainittuja ei taida mistään löytyä, mutta onhan näitä “high power” rekistereitä muitakin näköjään.
Shift Register 8-Bit High-Power - TPIC6B595: sparkfun.com/products/734
Koko piirillä 500 mA max eli 60 mA * 8 = 480 mA eli pitäisi riittää vaikka polttaisi kaikkia. Noita näkyy löytyvät eBaystäkin, toki pitäisi löytää myyjä, joka myy varmasti oikeita piirejä.
Datasheet: sparkfun.com/datasheets/IC/TPIC6B595.pdf
Ja tuolla TPIC6B595:llä on sisaruksiakin TPIC6A595 ja TPCI5C595, jotka kestävät enempi ja vähempi virtaa.

Tulin myös pohtineeksi sellaista, että 300 * 60 mA on 18 A eli ehkäpä en tule kaikkia ledejä polttamaan kerralla. Saatan myös unohtaa nuo 60 jatkuvasti palavaa lediä, koska nekin veisivät 3,6 A pelkästään. Arvoin, että muuten saatan tarvita noin 50 lediä eli 3,0 A + tietysti mitä tarvitaan muille osille. Toki jos käyttää 12 V virtalähdettä ja saa sen muunnettua pienemmäksi jännitteeksi (ledien kynnysjännite 2,4-3,4 V) hakkuriregulaattorilla tai vastaavalla niin siitäkin on hyötyä.

Nuo vastusasiat pitäisi vielä selvittää. Sekä etsiä sopivat fetit PWM:lle.

En tiedä mikä on kallista, kenellekin. Mutta 100kpl RGB ledejä, erikseen ohjattavia, näyttäisi maksavan vajaat 13€. Tinaamistahan tuo tietää, mutta ei tarvi lisäksi muuta kuin virtaa ja ohjaavan palikan, vaikka arduinon koodeineen.

aliexpress.com/item/100x-WS2 … 52191.html

Joo, no olen jo tilannut (ja suurimmaksi osaksi saanutkin) nuo TPIC6B595-piirit, RGB-ledit ja vastukset, joten pääsen varmaan kohtapuolin kokoamaan ja siinä on sitten paljon juottamista. Tulee vain yksi väri, mutta jokaisen ledin päälläolosta voi päättää erikseen. Nuo Alibaban ledit olisivat varmaan tuleet vähän halvemmiksi ja olisi saanut säätää jokaista yksitellen. Siltikin tästä projektista tulee hieno. :sunglasses: Kuvia laitan sitten, kun on jotain valmista.

Hhhmmm… Olenko missannut jotain?
JOS et halua polttaa yksittäisiä ledejä, niin mihin on unohtunut sarjaan kytkentä?
Uf
Punainen => ~1.8V
Keltainen => ~2.1V
Vihreä => ~3V
Sininen => ~3V
“Valkoinen” => ~3V

Niin nopsaan laskien mainittu 12V + etuvastus

  • punainen 6kpl
  • keltainen 5kpl
  • vihreä 3kpl
  • sininen 3kpl
  • “valkoinen” 3kpl

En nyt kyllä ymmärtänyt yhtään tätä viestiä.

Siis tarvehan on polttaa ihan mitä tahansa yhdistelmää ledeistä, joilla kaikilla on jokin yhteinen väri yhdisteltynä kolmesta pääväristä (punainen, vihreä ja sininen).

Minulla on jo koekytkentä, jossa kahdeksan lediä ja yksi ohjainpiiri ja se toimii hyvin. Valitettavasti muiden rajoitteiden takia en ole vielä edistynyt sen pidemmälle viimeisten kuukausien aikana.

Mä taas en ymmärtänyt => “wanhus” jo, niin että yksitellen pitää pystyä puskeen valoa ulos…
Mitex muxaamalla sopivan kokoisia matriiseja?
Tässä kokeeksi muutamia juttuja…
Mites joku tällainen ajatuksena? => 5x7 LED matriisi
http://ozirock.webs.com/Serial%20LED%20dot%20matrix%20driver.png
Tahi 8x8 LED matriisi
jameco.com/jameco/workshop/d … build.html

Niin tolleen. Eipä taitaisi riittää Atmegassa pinnit 15×14 matriisiin, mutta tietysti noilla shift registereillähän niitä oli tarkoitus lisätä. Toisaalta pitäisi jatkuvasti pyöritellä looppia noita ledejä varten ja ledit eivät palaisi täydellä kirkkaudella*. Eikä sitten jäisi Atmegalle aikaa muihin hommiin samalla tavalla, tosin en ole varma olisiko sillä mitään väliä. En tiedä olisiko sillä vielä jotain merkitystä, että PWM:ää haluan tuossa käyttää värien säätöön. Niitä pinnejä on ainakin rajallisesti.

Voisi toki olla toteutettavissa noinkin. Varmaan raudan monimutkaisuus vähenisi. Joka tapauksessa kaikki osat löytyy jo, joten ei ole tarvetta muuttaa suunnitelmia.

Muokkaus: *Hmmh. Voisiko tuossa toimia esim. jotenkin riveittäin, että saisi tasaisen kirkkauden vai pitääkö kaikkia pottaa yksitellen? Silloin ne ainakin palavat himmeämmin.

Lisäksi toinen ledin jalka on on/off ja toinen on PWM-ohjattu eli jotenkin pitäisi vielä noiden PWM-ohjattujen jalkojen kesken valita mitkä ovat päällä eli siihenkin pitäisi kaivella jostain piiri (tai sitten aika paljon transistoreja).

Toisessa linkissä on näköjään käytetty MAX7219-piiriä. En tiedä miten hyvin niitä voi hyödyntää tälläisessä PWM-ohjatussa systeemissä. Muuten ihan hyödyllisen oloisia.

Ajatuksena heitän: muutama pikku AVR hoitaan matriiseja vaikkapa, joita master ohjaa “väylän” kautta?

adafruit.com/product/815

Jos PWM-toiminnallisuutta halutaan, niin kasa tuollaisia?