<<< Zpět


Vánoční osvětlení s 320 LED

Protože jsem si před rokem chtěl pohrát s programováním mikročipů, napadlo mě vytvořit rodině nějaké zajímavé blikátko na vánoční stromek. Výsledkem byla centrální řídicí jednotka s procesorem ATmega8, osmi tranzistory BD682 a pěti posuvnými registry TPIC6B595N, která napájela multiplexovanou síť 8x8 segmentů po 5 barevných LEDkách.

Řídicí jednotka: Počítal jsem s chladiči tranzistorů, ale zbytečně, i při plném výkonu byly studené.

Segment LED: Bylo třeba zajistit, aby se plošňák nezkratoval o třásně a aby se vodiče manipulací nelámaly u plošňáku. Proto jsem na zadní stranu plošňáku přilepil izolačku a vše omotal nití a zalil tavnou pistolí. Vím že je to hodně zfušované a věřím že tohle uděláte líp. :-)

Propojení do sítě: Segmenty jsou propojeny do matice 8x8. Horizontálně je to 1 vodič (řádek multiplexu - je přiváděný krajním 8-žilovým kabelem) a vertikálně 5 vodičů (do každého konektoru jsou zapojeny 2 sloupce). Všimněte si na předešlém snímku, že většina vodičů prochází přes segment skrz s využitím vodivých kontaktů v LED, ale 2 vertikální vodiče je nutné propojit drátovými propojkami. Vodiče zvolte lepší než jsem zvolil já. Jsou příliš silné, nepružné, síť se pak špatně umísťuje na stromek (kroutí se to samo) a navíc světlé barvy vodičů jsou na stromku trochu vidět, hlavně ty šedé vícežilové.

Schéma zapojení: Srdcem řídicí jednotky je procesor ATmega8 s krystalem 16 MHz. Spíná přímo budicí tranzistory řádků 8x BD682 a dále vysílá sériová data na 5 posuvných registrů TPIC6B595N (mají je v nabídce např. zde), spínajících sloupce s LED. Posuvné registry mají na výstupu spínací tranzistory DMOS s otevřeným kolektorem a jsou schopné spínat proud až 150 mA (pulzně 500 mA), proto se výborně hodí na buzení multiplexu. Pokud je nahradíte např. s TPIC6C595N, je nutné kromě omezení proudu změnit i plošný spoj (mají jinak rozmístěné vývody).

Osazení: Při návrhu plošňáku jsem se přece jen nevyhnul nějakým drátovým propojkám. Ale snažil jsem se navrhovat tak, aby bylo možné propojky nahradit druhou stranou oboustranného plošného spoje. Jak už jsem se zmínil, tranzistory se nezahřívají a proto je možné je umístit přímo na plošňák (bez chlazení). Posuvné registry by měly být v paticích - lze předpokládat, že nějakou elektrostatikou se prorazí výstup a bude třeba nějaký obvod vyměnit (proto jsem neuvažoval o SMD). Odpory na výstupech posuvných registrů musí být výkonové. Osazení plošňáku segmentu nemám k dispozici (nedělal jsem ho v Eagle), ale to jistě poznáte.

Plošný spoj: Protože používám freeware verzi Eagle, jsou plošné spoje omezené na 10x15 cm. Naštěstí se nejedná přímo o omezení výsledného plošného spoje, ale o povolenou rozteč pájivých míst. Proto jde plošný spoj i trochu "za roh" povoleného rozměru. Plošného spoje na segmenty bylo potřeba 64 kusů. Proto jsem si vytiskl předlohu velikosti A4 - ale stejně nakonec jsem to vytvářel po menších částech, tak velký plošňák bych ani neosvítil. Ty naznačené díry jsem myslel že tudy potáhnu dráty, aby byly upevněné, ale to byl nepraktický nápad.

Software: Jednotka se ovládá propojkou a přepínačem DIL. Propojka určuje, zda se použije některý ze 14 programů zvolených na přepínači DIL nebo zda probíhá automatický režim střídání všech programů. Program obsahuje výsledný "obraz" v poli Img, které představuje posloupnost LED s organizací řádky-sloupce-5 LED. Animační procedury naplní pole požadovaným barevným obrazcem a přerušení od časovače pak toto pole periodicky vysílá na LED s příslušným přemapováním na sériová data. Procesor má nastavené pojistky high=0xc1, low=0x1f.

Alternativa: Ještě se zmíním o alternativě. Jeden z prvních návrhů byl, že namísto multiplexu bude každý segment obsahovat jeden posuvný registr 595 (stačí úplně nejobyčejnější typ pro malý proud) a segmenty budou propojeny do pásů 5-žilovým kabelem. Od této varianty jsem upustil kvůli ceně (potřeba 64 posuvných registrů - i když počet by se dal snížit na polovinu sdílením 4 LED ze 2 segmentů), dále protože segment byl dost rozměrný (na stromku by rušil) a protože jsem měl obavu ze zarušení signálů (byla by potřeba dost vysoká frekvence). Ale stále zvažuji zda přece jen ta varianta nebyla zajímavá. Např. u velkoplošných LED obrazovek se data mezi segmenty (segment je 8x8x3 LED) také posílají sériově.

Download: Zdrojový kód a schéma (WinAVR-20100110, Eagle freeware)
Ukázkové video na YouTube - Ukázkové video download (avi)


Vstup do diskuze Bastlírny

<<< Zpět