Kazalo:

Več elektronskih sveč: 3 koraki
Več elektronskih sveč: 3 koraki

Video: Več elektronskih sveč: 3 koraki

Video: Več elektronskih sveč: 3 koraki
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Več elektronskih sveč
Več elektronskih sveč

Elektronske sveče so bile večkrat objavljene na Instructables, zakaj torej ta?

Doma imam te majhne polprozorne božične hiše, ki imajo LED vpogled in majhno baterijo. Nekatere hiše imajo LED z učinkom sveče, nekatere pa imajo svetleče diode. Majhne baterije se razmeroma hitro praznijo in ker sem želel imeti učinek sveč v vseh hišah, sem se odločil, da bom projekt PIC. Seveda ga lahko spremenite tudi v Arduino projekt.

Torej, kaj naredi to elektronsko svečo posebno? PIC in Arduino imata na stroju strojno opremo za pulzno širinsko modulacijo (PWM), ki jo je mogoče uporabiti za ustvarjanje učinka sveče z uporabo LED, v mojem primeru pa sem želel imeti 5 neodvisnih elektronskih sveč z enim krmilnikom, ki pa vsaj ni prisoten ki ga poznam. Rešitev, ki sem jo uporabil, je, da teh pet neodvisnih signalov PWM v celoti izdela v programski opremi.

1. korak: Modulacija širine impulza v programski opremi

Modulacija širine impulza je bila večkrat opisana, npr. v tem članku Arduino:

PIC in Arduino imata vgrajeno posebno strojno opremo PWM, ki olajša ustvarjanje tega signala PWM. Če želimo v programski opremi narediti enega ali več PWM signalov, potrebujemo dva merilnika časa:

  1. En časovnik, ki se uporablja za ustvarjanje frekvence PWM
  2. En časovnik, ki se uporablja za ustvarjanje delovnega cikla PWM

Oba časovnika generirata in prekineta, ko se dokončata, zato se upravljanje signala PWM izvede v celoti prekinjeno. Za frekvenco PWM uporabljam časovnik 0 PIC in pustim, da se prelije. Z notranjo uro oscilatorja 8 MHz in predrazmerjem 64 je formula: Fosc / 4 /256 /64 = 2.000.000 / 256 /64 = 122 Hz ali 8, 2 ms. Frekvenca mora biti dovolj visoka, da je človeško oko ne zazna. Za to zadostuje frekvenca 122 Hz. Edino, kar naredi ta časovna prekinitev, je kopiranje delovnega cikla za nov cikel PWM in vklop vseh LED. To naredi neodvisno za vseh 5 LED.

Vrednost časovnika za obratovanje delovnega cikla PWM je odvisna od tega, kako naredimo učinek sveče. V svojem pristopu simuliram ta učinek tako, da povečam obratovalni cikel z vrednostjo 3 za povečanje svetlosti LED in ga zmanjšam z vrednostjo 25, da zmanjšam svetlost LED. Na ta način dobite učinek, podoben sveči. Ker uporabljam minimalno vrednost 3, je število korakov za nadzor celotnega obratovalnega cikla z enim bajtom 255 /3 = 85. To pomeni, da mora časovnik delovnega cikla PWM teči s frekvenco 85 -krat večjo od frekvence PWM frekvenčni časovnik, ki je 85 * 122 = 10.370 Hz.

Za delovni cikel PWM uporabljam časovnik 2 PIC. To je časovnik z avtomatskim ponovnim nalaganjem in uporablja naslednjo formulo: Obdobje = (Ponovno naloži + 1) * 4 * Tosc * Vrednost predčasovnika Timer2. S ponovnim nalaganjem 191 in predštevilko 1 dobimo obdobje (191 + 1) * 4 * 1/8.000.000 * 1 = 96 us ali 10.416 Hz. Delovni cikel PWM prekine rutinsko preverjanje, ali je obratovalni cikel minil, in izklopi LED, za katero je obratovalni cikel zaključen. Če delovni cikel ni opravljen, se števec delovnega cikla zmanjša s 3 in zaključi rutino. To počne ločeno za vse LED diode. V mojem primeru ta rutina prekinitev traja približno 25 ljudi in ker se kliče vsakih 96 ljudi, se že 26% CPE -ja uporablja za upravljanje delovnega cikla PWM v programski opremi.

2. korak: Strojna oprema in potrebne komponente

Strojna oprema in potrebne komponente
Strojna oprema in potrebne komponente

Shematski diagram prikazuje končni rezultat. Čeprav samostojno upravljam samo 5 LED, sem dodal šesto LED, ki deluje skupaj z eno od 5 drugih LED. Ker PIC ne more poganjati dveh LED na enem vtiču, sem dodal tranzistor. Elektronika napaja enosmerni adapter 6 voltov / 100 mA in uporablja regulator nizke napetosti za stabilnih 5 voltov.

Za ta projekt potrebujete naslednje komponente:

  • 1 mikrokrmilnik PIC 12F615
  • 2 keramični kondenzatorji: 2 * 100nF
  • Upori: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
  • 6 oranžnih ali rumenih LED, visoka svetlost
  • 1 tranzistor BC557 ali enakovreden
  • 1 Elektrolitski kondenzator 100 uF / 16 V
  • 1 regulator nizke napetosti LP2950Z

Vezje lahko zgradite na plošči in ne zahteva veliko prostora, kot je razvidno iz slike.

3. korak: Preostala programska oprema in rezultat

Preostali del programske opreme je glavna zanka. Glavna zanka poveča ali zmanjša svetlost LED z naključnim nastavljanjem delovnega cikla. Ker povečujemo samo vrednost 3 in zmanjšujemo vrednost 25, moramo paziti, da se zmanjšanja ne dogajajo tako pogosto kot prirastki.

Ker nisem uporabljal nobene knjižnice, sem moral narediti naključni generator z linearnim registrom premika povratnih informacij, glej:

en.wikipedia.org/wiki/Linear-feedback_shif…

Na učinek sveče vpliva hitrost spreminjanja delovnega cikla PWM, zato glavna zanka uporablja zakasnitev približno 10 ms. Ta čas lahko prilagodite tako, da učinek sveče spremenite glede na svoje potrebe.

V priloženem videoposnetku je prikazan končni rezultat, pri katerem sem za izboljšanje učinka uporabil pokrovček nad LED.

Za programski jezik sem za ta projekt uporabil JAL in priložil izvorno datoteko.

Uživajte v izdelavi tega navodila in se veselimo vaših odzivov in rezultatov.

Priporočena: