Sida 1 av 2

Val av teknik för styra lysdiodsintensitet?

Postat: 1 december 2011, 11:31:22
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???

Re: VAL AV TEKNIK

Postat: 1 december 2011, 11:38:32
av Kägglan
PWM och shiftregister.

Re: VAL AV TEKNIK

Postat: 1 december 2011, 11:42:10
av Nerre
Det går ju att göra PWM i mjukvara, då behöver du bara 14 digitala utgångar.

Re: VAL AV TEKNIK

Postat: 1 december 2011, 11:45:22
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

Re: VAL AV TEKNIK

Postat: 1 december 2011, 13:16:11
av lakritztrollet
Kägglan skrev:PWM och shiftregister.
Du har inget exempel? (Dumt att uppfinna hjulet igen liksom...)

Re: Val av teknik

Postat: 1 december 2011, 13:30:59
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

Re: Val av teknik

Postat: 1 december 2011, 13:32:34
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.

Re: Val av teknik

Postat: 1 december 2011, 14:13:17
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.

Re: Val av teknik

Postat: 1 december 2011, 14:17:20
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?

Re: VAL AV TEKNIK

Postat: 1 december 2011, 14:20:58
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.

Re: Val av teknik

Postat: 1 december 2011, 15:25:46
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.

Re: Val av teknik

Postat: 1 december 2011, 15:45:02
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.

Re: Val av teknik

Postat: 1 december 2011, 15:46:17
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.

Re: Val av teknik

Postat: 1 december 2011, 15:47:53
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.

Re: Val av teknik

Postat: 1 december 2011, 15:52:24
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....