Sadržaj:

Više elektronskih svijeća: 3 koraka
Više elektronskih svijeća: 3 koraka

Video: Više elektronskih svijeća: 3 koraka

Video: Više elektronskih svijeća: 3 koraka
Video: Kako da pamtiš tri puta više nego sad! *ODMAH 2024, Novembar
Anonim
Više elektronskih svijeća
Više elektronskih svijeća

Elektronske svijeće su mnogo puta postavljene na Instructables pa zašto ova?

Kod kuće imam ove male poluprozirne božićne kućice koje imaju LED uvid i malu bateriju. Neke kuće imaju LED diode sa efektom svijeće, a neke imaju LED diode koje su upravo upaljene. Male baterije se relativno brzo prazne, a budući da sam želio imati efekt svijeće u svim kućama, odlučio sam da to učinim PIC projektom. Naravno, možete ga pretvoriti i u Arduino projekt.

Dakle, po čemu je ova elektronska svijeća posebna? Svi PIC i Arduino imaju ugrađen hardver za pulsnu širinsku modulaciju (PWM) koji se može koristiti za stvaranje efekta svijeće pomoću LED -a, ali u mom slučaju želio sam imati 5 nezavisnih elektroničkih svijeća pomoću jednog kontrolera, a to nije prisutno, barem ne koje znam. Rješenje koje sam upotrijebio je da ovih pet nezavisnih PWM signala u potpunosti napravim u softveru.

Korak 1: Modulacija širine impulsa u softveru

Modulacija širine impulsa opisana je nekoliko puta, npr. u ovom Arduino članku:

PIC i Arduino imaju poseban PWM hardver koji olakšava generiranje ovog PWM signala. Ako želimo napraviti jedan ili više PWM signala u softveru, potrebna su nam dva tajmera:

  1. Jedan tajmer koji se koristi za generiranje PWM frekvencije
  2. Jedan tajmer koji se koristi za generiranje radnog ciklusa PWM -a

Oba tajmera generiraju i prekidaju se po završetku, pa se rukovanje PWM signalom vrši u potpunosti prekinuto. Za frekvenciju PWM -a koristim tajmer 0 PIC -a i dopuštam mu da se prelije. Sa internim taktom oscilatora od 8 MHz i predskalom od 64 formula je: Fosc / 4 /256 /64 = 2.000.000 / 256 /64 = 122 Hz ili 8, 2 ms. Učestalost mora biti dovoljno visoka da je ljudsko oko ne može otkriti. Frekvencija od 122 Hz je sasvim dovoljna za to. Jedino što ova rutina prekida tajmera radi je kopiranje radnog ciklusa za novi PWM ciklus i uključivanje svih LED dioda. To radi nezavisno za svih 5 LED dioda.

Vrijednost tajmera za upravljanje radnim ciklusom PWM -a ovisi o načinu na koji stvaramo efekt svijeće. U svom pristupu simuliram ovaj efekt povećavajući radni ciklus s vrijednošću 3 za povećanje svjetline LED diode i smanjujući je s vrijednosti 25 za smanjenje svjetline LED diode. Na ovaj način dobijate efekat sličan sveći. Budući da koristim minimalnu vrijednost 3, broj koraka za kontrolu kompletnog radnog ciklusa s jednim bajtom je 255 /3 = 85. To znači da tajmer radnog ciklusa PWM -a mora raditi s frekvencijom 85 puta većom od frekvencije PWM frekvencijski tajmer koji je 85 * 122 = 10.370 Hz.

Za radni ciklus PWM -a koristim tajmer 2 PIC -a. Ovo je mjerač vremena s automatskim ponovnim učitavanjem i koristi sljedeću formulu: Period = (Ponovno učitavanje + 1) * 4 * Tosc * Vrijednost predskale Timer2. S ponovnim učitavanjem od 191 i predmjerom 1 dobivamo period od (191 + 1) * 4 * 1/8.000.000 * 1 = 96 us ili 10.416 Hz. Rutina prekida radnog ciklusa PWM provjerava je li radni ciklus prošao i isključuje LED diodu za koju je radni ciklus završen. Ako radni ciklus nije prošao, on smanjuje brojač radnog ciklusa sa 3 i završava rutinu. To radi nezavisno za sve LED diode. U mom slučaju ova rutina prekida traje oko 25 us, a budući da se poziva svakih 96 us, već 26% CPU -a se koristi za upravljanje radnim ciklusom PWM -a u softveru.

Korak 2: Hardver i potrebne komponente

Hardver i potrebne komponente
Hardver i potrebne komponente

Shematski dijagram prikazuje konačni rezultat. Iako samostalno kontroliram samo 5 LED dioda, dodao sam šestu LED koja radi zajedno s jednom od 5 drugih LED dioda. Budući da PIC ne može pokretati dvije LED diode na jednom priključku, dodao sam tranzistor. Elektronika se napaja istosmjernim adapterom od 6 V / 100 mA i koristi regulator napona niskog pada za stvaranje stabilnih 5 V.

Za ovaj projekt trebate sljedeće komponente:

  • 1 PIC mikrokontroler 12F615
  • 2 keramička kondenzatora: 2 * 100nF
  • Otpornici: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
  • 6 narandžaste ili žute LED diode, velike svetline
  • 1 tranzistor BC557 ili ekvivalent
  • 1 Elektrolitički kondenzator 100 uF / 16 V
  • 1 regulator niskog napona LP2950Z

Krug možete izgraditi na ploči i ne zahtijeva puno prostora, kao što se može vidjeti na slici.

Korak 3: Preostali softver i rezultat

Preostali dio softvera je glavna petlja. Glavna petlja povećava ili smanjuje svjetlinu LED dioda nasumičnim podešavanjem radnog ciklusa. Budući da povećavamo samo vrijednost 3 i umanjujemo vrijednost 25, moramo se pobrinuti da se smanjenje ne događa tako često kao prirasti.

Pošto nisam koristio nijednu biblioteku, morao sam da napravim generator slučajnih naslova koristeći linearni povratni registar, vidi:

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

Na učinak svijeće utječe brzina mijenjanja radnog ciklusa PWM -a, pa glavna petlja koristi kašnjenje od oko 10 ms. Ovo vrijeme možete prilagoditi da promijenite efekt svijeće prema svojim potrebama.

Priloženi video prikazuje krajnji rezultat gdje sam koristio kapu preko LED-a kako bih poboljšao učinak.

Koristio sam JAL kao programski jezik za ovaj projekat i priložio izvornu datoteku.

Zabavite se čineći ovaj Instructable i radujemo se vašim reakcijama i rezultatima.

Preporučuje se: