Val av teknik för styra lysdiodsintensitet?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
lakritztrollet
Inlägg: 3
Blev medlem: 26 november 2010, 09:37:14

Val av teknik för styra lysdiodsintensitet?

Inlägg av lakritztrollet »

Jag är en programmerare som brukar fuska lite med elektronik. Nu har jag ett litet intressant projekt hemma.

I min trappa vill jag bygga en effektfull belysning med 3 LED per trappsteg. Jag har således 14 grupper med 3 LED i varje.

För att få de effekter jag vill ha vill jag kunna kontrollera ljusintensiteten på var grupp individuellt, och här börjar det bli besvärligt... Vilken teknik skall man välja för detta? Jag har tittat på ett par alternativa sätt, men inte kommit på 'best practice' än.

Förslag?

Någon??

De sätt jag tittat på är, i korthet, följande:

Använda PWM, men det finns ingen krets med 14 st PWM så denna lösning verkar bli besvärlig. Kan lösas genom att använda exemeplvis 5 PIC med 3 PWM vardera, men sen skall man få dessa att synkronisera sina signaler...

Använda 14 analoga utgångar som styr strömmen med hjälp var sin OP-amp.

Vem sitter inne med en bra lösning???
Senast redigerad av blueint 22 december 2011, 16:40:11, redigerad totalt 2 gånger.
Anledning: caps ; vad det rör sig om
Kägglan
Inlägg: 82
Blev medlem: 4 juli 2011, 20:48:05
Ort: Västerås

Re: VAL AV TEKNIK

Inlägg av Kägglan »

PWM och shiftregister.
Nerre
Inlägg: 27235
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: VAL AV TEKNIK

Inlägg av Nerre »

Det går ju att göra PWM i mjukvara, då behöver du bara 14 digitala utgångar.
Användarvisningsbild
swesysmgr
Inlägg: 14957
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: VAL AV TEKNIK

Inlägg av swesysmgr »

lakritztrollet skrev:I min trappa vill jag bygga en effektfull belysning med 3 LED per trappsteg. Jag har således 14 grupper med 3 LED i varje.
En annan medlems färdiga bygge, lite inspiration kanske?
http://elektronikforumet.com/forum/view ... =3&t=35963
lakritztrollet
Inlägg: 3
Blev medlem: 26 november 2010, 09:37:14

Re: VAL AV TEKNIK

Inlägg av lakritztrollet »

Kägglan skrev:PWM och shiftregister.
Du har inget exempel? (Dumt att uppfinna hjulet igen liksom...)
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Val av teknik

Inlägg av PHermansson »

Gillar du inte att uppfinna hjulet igen är Arduino en bra start. Många utgångar, går även enkelt att använda Shiftregister.
http://www.arduino.cc/en/Tutorial/ShiftOut
Användarvisningsbild
Icecap
Inlägg: 26652
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Val av teknik

Inlägg av Icecap »

Det är inte så svårt faktisk!

Du ska styra 14 utgångar med PWM, det kan man göra med en timerinterrupt och lite fundering samr en µC med pinnar nog.
Hur många nivåer behöver du ljusstyrkan? När du vet det kan du välja hur snabbt interrupten ska komma.

Om vi antar att det är 16 nivåer och att PWM-frekvensen ska vara minst 70Hz för att undvika måste interruptfrekvensen vara 70Hz * 16 nivåer = 1120Hz eller snabbare.

För varje interrupt skickar du ut de två bytes som är uträknad, de nollas därefter och sedan räknar du ut de nya med ett antal:
if(PWM_Nivå_0 > Räknaren) Byte_0_Bit_0 = 1;
if(PWM_Nivå_1 > Räknaren) Byte_0_Bit_1 = 1;
if(PWM_Nivå_2 > Räknaren) Byte_0_Bit_2 = 1;
osv. osv.
Räknaren räknar 15-14-13-12-11...1-0-15-14-13... ett steg per interrupt.

Med shiftregister blir det skapligt jobbigt att dimma varje utgång oberoende av varandra.
jappelino_1
Inlägg: 81
Blev medlem: 13 april 2010, 14:40:04
Ort: Stockholm

Re: Val av teknik

Inlägg av jappelino_1 »

köp två 74hct165 http://se.farnell.com/texas-instruments ... dp/1105982
så kan du skifta in mönstret och ladda ner samtliga utgångar parallelt.

Kanske (troligtvis) behöver du ett ytterligare drivsteg.
Användarvisningsbild
Icecap
Inlägg: 26652
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Val av teknik

Inlägg av Icecap »

Kan ni som rekommenderar shiftregister förklara för mig hur ni anser att kan kan PWM'a de utgångar oberoende av varandra?
Kägglan
Inlägg: 82
Blev medlem: 4 juli 2011, 20:48:05
Ort: Västerås

Re: VAL AV TEKNIK

Inlägg av Kägglan »

lakritztrollet skrev:
Kägglan skrev:PWM och shiftregister.
Du har inget exempel? (Dumt att uppfinna hjulet igen liksom...)
Kör PWM i en mirkokontroller och googla på shiftregister. Har inget exempel på shiftregister men kör du PWM i en mikrokontroller så är det bara att välja en binärkod och loopa den och skicka den på en utgång. Sedan använder du shiftregistret att byta grupp. Så loopar du igenom grupperna.

Edit: Lampa byttes mot grupp.
Senast redigerad av Kägglan 1 december 2011, 15:41:14, redigerad totalt 1 gång.
jappelino_1
Inlägg: 81
Blev medlem: 13 april 2010, 14:40:04
Ort: Stockholm

Re: Val av teknik

Inlägg av jappelino_1 »

Icecap skrev:Kan ni som rekommenderar shiftregister förklara för mig hur ni anser att kan kan PWM'a de utgångar oberoende av varandra?
Du skiftar in det nya mönstret seriellt och laddar sedan ner det med load ingången, detta skulle gå att göra ännu snyggare med en CPLD.
Kägglan
Inlägg: 82
Blev medlem: 4 juli 2011, 20:48:05
Ort: Västerås

Re: Val av teknik

Inlägg av Kägglan »

Icecap skrev:Kan ni som rekommenderar shiftregister förklara för mig hur ni anser att kan kan PWM'a de utgångar oberoende av varandra?
Jag förstår inte vad problemet är.....

Det är bara loopa en serie beroende på vilken ljusstyrka han vill ha, vill han ha en effekt som går t.ex. från ljusare till mörkare behöver han bara en "define" variabel som talar om vilken serie man vill loopa. Samma sak om man vill ha olika utgångar med olika PWM frekvenser, fast då med 2 "define" variabler.
Kägglan
Inlägg: 82
Blev medlem: 4 juli 2011, 20:48:05
Ort: Västerås

Re: Val av teknik

Inlägg av Kägglan »

Hade varit snyggt att kombinera det med lite sensorer så att att det trappsteg man befinner sig på ljuser starkare eller mörkare än övriga.
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7226
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: Val av teknik

Inlägg av psynoise »

Du skiftar in det nya mönstret seriellt och laddar sedan ner det med load ingången, detta skulle gå att göra ännu snyggare med en CPLD.
Det låter komplicerat. Hur reglerar man då ljusintensiteten?

Enligt Icecap förslag behöver man 14 utgångar och där finns det massor av olika mikrokontrollers som fixar den biffen. PWM-kodningen som jag förstår delar upp tiden i intervall mellan varje interrupt. Sedan får varje byte bestämma intensiteten, t.ex 0000 0000 blir helt släkt och 1111 1111 blir helt tänd per utgång.
lakritztrollet
Inlägg: 3
Blev medlem: 26 november 2010, 09:37:14

Re: Val av teknik

Inlägg av lakritztrollet »

Kägglan skrev:Hade varit snyggt att kombinera det med lite sensorer så att att det trappsteg man befinner sig på ljuser starkare eller mörkare än övriga.
Nästan så jag tänkt det....

Tanken är att samtliga trappsteg alltid skall lysa "svagt". När man närmar sig trappan (nerifrån) skall styrkan mjukt glida upp till full, i en rörelse nerifrån och upp. Efter en fördröjning (lagom för att man skall hinna lämna trappan) tonar alla ner igen.
Omvänt när man kommer uppifrån.

Jag skall använda en sorts IR-deckare (som en bekant ordnar fram, ingen aning vad dom heter eller hur dom ser ut) som man kan få att trigga på rörelse i en viss riktning, så att man inte slår på systemet när man lämnar trappan....
Skriv svar