Obsah:

Více elektronických svíček: 3 kroky
Více elektronických svíček: 3 kroky

Video: Více elektronických svíček: 3 kroky

Video: Více elektronických svíček: 3 kroky
Video: Japonské svíčky III | Jednoduchý Návod | Svíčkové formace | Naučme se obchodovat 2024, Listopad
Anonim
Více elektronických svíček
Více elektronických svíček

Elektronické svíčky byly mnohokrát zveřejněny na Instructables, tak proč tato?

Doma mám tyto malé poloprůhledné vánoční domky, které mají LED přehled a malou baterii. Některé domy mají LED diody se svíčkovým efektem a některé LED diody, které právě svítí. Malé baterie jsou poměrně rychle vybité a protože jsem chtěl mít ve všech domech efekt svíčky, rozhodl jsem se z toho udělat projekt PIC. Samozřejmě z něj můžete udělat také projekt Arduino.

Čím je tedy tato elektronická svíčka výjimečná? PIC a Arduino mají na desce hardware PWM (Pulse Width Modulation), který lze použít k vytvoření efektu svíčky pomocí LED, ale v mém případě jsem chtěl mít 5 nezávislých elektronických svíček pomocí jednoho ovladače a ten není k dispozici, alespoň ne že vím. Řešení, které jsem použil, je vytvořit těchto pět nezávislých signálů PWM zcela softwarově.

Krok 1: Modulace šířky pulsu v softwaru

Modulace šířky pulsu byla popsána několikrát, např. v tomto článku Arduino:

PIC a Arduino mají na desce speciální hardware PWM, který usnadňuje generování tohoto signálu PWM. Pokud chceme v softwaru vytvořit jeden nebo více signálů PWM, potřebujeme dva časovače:

  1. Jeden časovač, který se používá ke generování frekvence PWM
  2. Jeden časovač, který se používá ke generování pracovního cyklu PWM

Oba časovače generují a přerušují po dokončení, takže zpracování signálu PWM se provádí plně řízeno přerušením. Pro frekvenci PWM používám časovač 0 PIC a nechávám jej přetéct. S taktem interního oscilátoru 8 MHz a předvolbou 64 je vzorec: Fosc / 4/256/64 = 2 000 000/256/64 = 122 Hz nebo 8, 2 ms. Frekvence musí být dostatečně vysoká, aby ji lidské oko nemohlo detekovat. K tomu je dostačující frekvence 122 Hz. Jediná věc, kterou tato rutina přerušení časovače dělá, je zkopírovat pracovní cyklus pro nový cyklus PWM a zapnout všechny LED diody. Dělá to pro všech 5 LED nezávisle.

Hodnota časovače pro zpracování pracovního cyklu PWM závisí na tom, jak vytváříme svíčkový efekt. V mém přístupu simuluji tento efekt zvýšením pracovního cyklu o hodnotu 3 pro zvýšení jasu LED a jeho snížení o hodnotu 25 pro snížení jasu LED. Tímto způsobem získáte efekt podobný svíčce. Protože používám minimální hodnotu 3, počet kroků k řízení celého pracovního cyklu s jedním bajtem je 255/3 = 85. To znamená, že časovač pracovního cyklu PWM musí běžet s frekvencí 85krát vyšší než frekvence Frekvenční časovač PWM, který je 85 * 122 = 10,370 Hz.

Pro pracovní cyklus PWM používám časovač 2 PIC. Toto je časovač s automatickým opětovným načtením a používá následující vzorec: Období = (Znovu načíst + 1) * 4 * Tosc * Předvolba časovače2. Při opětovném načtení 191 a předvolbě 1 získáme periodu (191 + 1) * 4 * 1/8 000 000 * 1 = 96 us nebo 10,416 Hz. Rutina přerušení pracovního cyklu PWM kontroluje, zda pracovní cyklus prošel, a vypne LED, pro kterou je pracovní cyklus dokončen. Pokud pracovní cyklus neprojde, sníží čítač pracovního cyklu o 3 a ukončí rutinu. To dělá pro všechny LED nezávisle. V mém případě tato rutina přerušení trvá asi 25 us a protože se nazývá každých 96 us, již 26% CPU je použito pro správu pracovního cyklu PWM v softwaru.

Krok 2: Hardware a požadované součásti

Hardware a požadované součásti
Hardware a požadované součásti

Schematický diagram ukazuje konečný výsledek. Přestože nezávisle ovládám pouze 5 LED, přidal jsem 6. LED, která běží společně s jednou z 5 dalších LED. Protože PIC nemůže řídit dvě LED diody na jednom pinu portu, přidal jsem tranzistor. Elektronika je napájena stejnosměrným adaptérem 6 voltů / 100 mA a pomocí regulátoru nízkého poklesu napětí vytváří stabilních 5 voltů.

Pro tento projekt potřebujete následující komponenty:

  • 1 PIC mikrokontrolér 12F615
  • 2 keramické kondenzátory: 2 * 100nF
  • Rezistory: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
  • 6 oranžových nebo žlutých LED diod, vysoký jas
  • 1 tranzistor BC557 nebo ekvivalent
  • 1 elektrolytický kondenzátor 100 uF / 16 V
  • 1 regulátor nízkého poklesu napětí LP2950Z

Obvod můžete postavit na prkénko a nevyžaduje mnoho místa, jak je vidět na obrázku.

Krok 3: Zbývající software a výsledek

Zbývající část softwaru je hlavní smyčka. Hlavní smyčka zvyšuje nebo snižuje jas LED diod náhodným nastavením pracovního cyklu. Protože zvyšujeme pouze hodnotu 3 a snižujeme hodnotu 25, musíme zajistit, aby se dekrementy nestávaly tak často jako přírůstky.

Protože jsem nepoužíval žádné knihovny, musel jsem vytvořit náhodný generátor pomocí posuvného registru lineární zpětné vazby, viz:

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

Svíčkový efekt je ovlivněn tím, jak rychle se mění pracovní cyklus PWM, takže hlavní smyčka využívá zpoždění asi 10 ms. Tuto dobu můžete upravit tak, aby se efekt svíčky změnil podle vašich potřeb.

Přiložené video ukazuje konečný výsledek, kde jsem ke zlepšení efektu použil krytku nad LED.

Použil jsem JAL jako programovací jazyk pro tento projekt a připojil zdrojový soubor.

Bavte se při vytváření tohoto Instructable a těšte se na vaše reakce a výsledky.

Doporučuje: