Sida 1 av 23

Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 14:58:56
av dragon9226
Hej!

Jag planerar att bygga en form a wakeup light, med programmerbara mönster.
Tanken är att sätta upp 100-200 RGB leds (fyr-pinniga) med ett par cm mellanrum (3-4cm) på en platta och framför dessa sätta en glas/ plast skiva. Detta ska sedan monteras på väggen.

Funktion:
Wakeup light funktionen ska vara sådan att den vid en inställd tid börjar dimma upp RGB ledsen. Detta ska hålla på i ca 30 min, och skulle eventuellt kunna startas när en vanlig timer slår till strömmen till "lampan".

Den ska också ha en funktion så att man kan programmera den till att visa olika mönster/ text etc.

Till detta har jag tänkt att använda någon form av microprocessor(er), dock troligen flera på grund av projektets storlek.
Men då undrar jag vad för microprocessor bör jag använda?
De ska vara hyfsat lättprogrammerade, (jag har läst programmering A & B, java), men jag insåg snabbt att de inte styrs av java språk, så jag är inställd på att lära mig mer eller mindre av ett nytt språk.

Två frågor till:
Går det på ett smidigt sätt att dimma strömtillförseln med en microprocessor?
Och går det att styra en microprocessor med en/ ett par knappar? för att välja funktion.

På denna länk finns ett exempel på kopplingsschema som skulle kunna användas:
http://www.armory.com/~spcecdt/electron ... _schem.gif

Länkar/ rekomendationer var man kan köpa dessa processorer?

Fråga gärna om mer information om det behövs.

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 15:03:36
av sodjan
Ja, man kan väl svara med ett bestämt "det beror på"... :-)

Att styra 100-200 RBG LEDs är ju skitenkelt, om alla ska styras
med samma signal och på samma sätt, samtidigt.

Om du däremot vill styra dom individuellt så kan det i princip
bli hur komplext som helst, beroende på *hur* individuellt du
vill styra dom. Alla 100-200 var för sig ? Eller i någon slags grupper ?

Varför vill du ha bilder/text om det ända du vill är att vakna ??

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 15:08:44
av dragon9226
Tanken var att styra dem en och en, i den mån det inte blir för krångligt/stort/dyrt. Kanske 4:a och 4:a i värsta fall.

Tanken var också att det inte bara skulle vara en wakup light, utan en cool/ flashig "afish/tavla".

Detta är planen för mitt projektarbete i 3:an på gymnasiet.

Tipps av något slag är varmt välkomna, då detta är lite nytt för mig.

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 15:13:29
av sodjan
OK.

Det första du ska göra är att sätta dig med papper och penna och
göra en kalkyl på det hela. Alltså inte penga-kalkyl utan timing-kalkyl.
Vad behöver du för uppdateringsfrekvenser för att styra din LED-tavla ?
Du kan laborera med olika parametrar i styrningen, Olika PWM frekvenser.
Olika antal nivåer per LED. Olika antal LED från 1 och uppåt i varje "grupp"
av LEDs. O.s.v. O.s.v. Då ser du efter ett tag vad som är rimligt
och vad det går åt för processorresurser för olika alternativ.

Det går absolut inte att ge ett generellt svar på detta, det är väldigt/helt
beoende på vilka krav du har på "tavlan" !

Dessutom är deet ju ett skoljobb så du har ju all tid i världen till detta...

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 15:23:44
av jesse
Det där kan nog vilken processor som helst göra, t.ex ATmega168 (En 8-bitars AVR-processor från Atmel).

Begränsningen vad jag kan se ligger väl i hur stort minne du behöver , antingen för färdiga förprogrammerade mönster, eller om du ska generera komplexa mönster. Atmega168 har t.ex 16kbyte flashminne(för program), men endast 1k RAM.

Dimningen gör du enkelt med PWM, vilket finns inbyggt i de flesta microcontrollers.
Ingångar för knappar finns givetvis, det är nog det minsta problemet.

Utgångar för att styra lysdiodmatriser finns många smarta sätt att ordna. Det beror inte så mycket på vilken processor du använder, utan här använder du lite hårdvara, kanske shiftregsiter som shiftar ut data kontinuerligt.

Om du t.ex använder 16 x 16 lysdioder (256 st) så ska du alltså shifta igenom 16 rader och tända/släcka i varje rad.
Frågan är om du kan göra så och få ut maximal lysffekt? En lysdiod kommer att lysa bara 1/16 del av tiden , så för att få full ljuseffekt behöver du pulsa ut 16 gånger högre ström än maxvärdet.

Alternativet kanske kan vara att styra varje enskild diod för sig, och låter dem i så fall lysa kontinuerligt (bortsett från att de PWM:as för dimmereffekt). Då kan varje "rad" med dioder styras av ett par shiftregister (och transistorer), och varje rad med shiftregister i sin tur multiplexas på klockan med en räknare (eller om man har adressen direkt på processorns utgångar - det blir ju bara 4 bitars adress.)

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 15:38:10
av sodjan
Få se...

200 RBG LEDs = 600 individuella LEDs.

Säg 100 Hz styrning för att få det flimmerfritt.
Det i sig ger 120.000 på/av per sekund.
Sedan kanske man vill ha 16 ljusstyrkenivåer per LED
vilket ger ca 2 miljoner tänkbara punkter per sekund där
en LED kan sättas på/av. Sedan allt styrt genom en
multiplexhårdvara från 20-30 pinnar till 600 LED-utgångar.
Sedan logik/minne för att hantera "olika mönster/text etc".

"vilken processor som helst..." ?
"Dimningen gör du enkelt..." ?

Hur fasen kan du påstå det ?

> Om du t.ex använder 16 x 16 lysdioder (256 st)

Alltså 16 x 16 x 3 = 768 individuella LEDs. Inte 256.

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 15:42:41
av jesse
jag tänkte på vanliga "enkla" LED's när jag räknade... :oops:

Dimningen fick jag för mig skulle vara "global", dvs, alla dioder dimras samtidigt.

Jag ska fundera lite på det.

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 15:48:40
av dragon9226
oj, oj, oj...

Detta börjar låta komplicerat.
Tror ni det kan vara genomförbart inom en rimlig tidsplan (50-100h) och kanske 2000-4000kr?

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 15:51:45
av sodjan
> Dimningen fick jag för mig skulle vara "global", dvs, alla dioder dimras samtidigt.

Det är en av alla sakar som *vi* inte har en susning om.
Men det är klart att om processorn bara ska styra on/off och
dimningen styrs på annat sätt så är det en helt annan fråga !
Då blir det nästan inget timing problem kvar alls...

> Tror ni det kan vara genomförbart inom en rimlig tidsplan (50-100h) och kanske 2000-4000kr?

Problemet är att det är väldigt otydligt vad det som du kallar "det" är !
Det finns inte en chans att svara på det.

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 16:01:49
av jesse
Nej, för sjutton, detta behöver inte bli så svårt. Ge inte upp redan!

Man kan tänka sig 16 rader med 48 dioder (3x16) i varje. 100 Hz * 16 rader = en ny rad lyser 1600 ggr/sek.

Varje rad "lyser" då i 0.625 mS.
Det ska shiftas ut 48 bitar i varje rad: SPI hastighet 76.8kbps minst. En AVR skickar lätt ut ett par hundra kbps med hårdvaru-SPI.

PWM:en synkas med radshiftningen, dvs 100 Hz. Upplösning i 256 steg ger klocka på 25.6 kHz.
Kanske kan styras av samma timer. PWM:en kanske tom kan fungera som klocka för att byta diodrad. (extern räknare + 16 bitars demultiplexer). Owerflow från timern kan trigga en rutin som skickar ut SPI-data.
osv..

Jag förutsatte att dimningen skulle fungera så att HELA diodarrayen sakta ökar eller minskar i ljusstyrka. Inte varje LED för sig. Korrekt eller? (jag frågar dragon9226 nu)De enskilda LED'arna kan bara vara on eller off med mitt förslag.

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 16:03:36
av Icecap
200 st RGB-LED kostar lite per styck hur man än räknar, har du tur kan de kanske hamna på 4:-/st = 800:-

Om du ska ha extern dimning bör du nästan ha en skiftregister med utgångar till LED'na, oftast klarar de 8 st/krets, alltså blir det 75 kretsar, med mängdrabatt kan de väl gå på 2:-/st (optimistisk räknat) = 150:-

Mönsterkort kostar en del, ska ju etsas osv och med 200 st LED + 75 kretsar är det så pass intressant att helblaskat kan bli ett problem men runt 300-500:- som bäst, sannolikt ett par kkr.

Så materialen kan nog skaffas inom det budget men det blir på håret.

Tidsåtgången vill jag inte ens gissa på, som jag har läst dina frågor har du ett skapligt bra bild av vad du vill ha men kunnandet fungerar inte till att designa detta, alltså skulle jag bedöma att 50 timmer är extremt optimistisk, 500 eller mer skulle jag tro, sannolikt en del mer faktisk.

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 16:08:46
av dragon9226
Tror ni det går att bygga och programmera denna lampa på 50-100h för en budget på 2000-4000kr?

"Lampan/tavlan" med ca 200 RGB leds, kunna dimma alla samtidigt, samt att kunna individstyra dem individuellt i färg väg. (eventuellt 4 i taget för att förenkla det hela).

Behövs någon dimfunktion även för en bättre färgblandning? Så man inte bara kan välja av/på på respektive färg?

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 16:12:20
av Icecap
Om du ska ha de 200 st LED som en "grafisk skärm" där du kan rita olika färger och mönster på behövs varje färg definitivt kunde ställa i intensitet för varje enskild LED vilket leder till det scenario sodjan ritar upp.

Det kanske är dags att faktisk besluta vad du faktisk vill ha och sedan hålla fast på det?

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 16:21:36
av dragon9226
Nu har vi kommit en bra bit på vägen tycker jag.
Detta foruminlägg gjorde jag just precis av detta skäl, att få en bättre inblick i mitt projekt med hjälp av några skarpa hjärnor som är mer insatta i ämnet

Nu har jag insätt att dimmning av varje led inte kommer att fungera på ett praktiskt sätt.
Därför beslutar jag att färgerna/ leden tyvärr inte kommer kunna dimmras en och en.
Så alla dimmras samtidigt, vilket ger wakeup light funktionen.

Men om man begränsar sig till detta, tror ni att det är genomförbart på ca 50-100h och med en budget på 2000-4000kr?

Re: Val av microprocessor, RGB LED styrning

Postat: 8 september 2010, 16:31:22
av Icecap
Budgeten beror ju på om du kan få LED i rätt prisklass. Om du sedan vill styra dimningen av varje färg gemensamt för alla LED men oberoende av varandra kan detta enkelt ordnas, det vill medge många olika färgkombinationer och styrkor vilket ganska säkert skulle kunde fungera bra som WUL.

Eller du kanske skulle göra 4 block som du sedan styrde oberoende av de andra block, då kan du lägga in "liv" i WUL'en, hårdvaran blir ganska lika och programmet likaså.

Plötsligt blir det ganska möjligt, beroende på din programmeringserfarenhet. Jag tror inte att själva dimningen skulle ställa till problem alls, jag tror att själva uppdimningen och kanske "rörelserna" skulle ställa till mer problem.