Zpět

Jednoduchý blikač s PIC

Vágner Vlastimil

I když je schémat zapojení blikačů určených nejenom na vánoce velké množství, navrhl jsem pro sebe a kolegu pro použití jednou v roce toto jednoduché schéma blikače s využitím starého, ale dobrého PIC 16F84A-04 I/P (lze samozřejmě použít jeho přímé náhrady). Uvedené zapojení je určeno pro inspiraci dalším zájemcům o podobné hobby. Ti, kdož programují, si jistě napíší svůj vlastní program vyhovující individuálnímu použití. Programem ani schématem zapojení blikače nechci v žádném případě konkurovat opravdovým návrhářům jak podobných zapojení, tak ani profesionálním programátorům těchto typů procesorů.

Funkce blikače

Blikač postupně rozsvěcí LED diody dle tabulky 1. Každý řádek je programem rozsvěcen vždy dvakrát do jedné vteřiny: diody odpovídající jedničkám v tabulce tedy dvakrát za vteřinu bliknou.

B7B6B5B4B3B2B1B0A3A2A1A0
011100110100
101010101010
010101010101
001100111010
101010101010
000111000111
111000111000
001100110011
110011001100
010101010101
101010101010
011100110100
101010101010
010101010101
011100110010
101010101010
000111000111
111000111000
001100110111
110011001100
010101010101
101010101010

Tabulka 1

Popis zapojení

Schéma zapojení blikače je na obrázku č. 1. Napájecí napětí jsem zde zvolil 12 V =. Toto napětí je stabilizováno pomocí IO1, což je osvědčený stabilizátor 7805 na napětí 5 V =. Toto napětí je použito pro napájení IO2, což je procesor PIC, a dále napájí IO3 a IO4. Každý z těchto dvou integrovaných obvodů obsahuje osm tranzistorů v Darlingtonově zapojení. Spínací tranzistory v IO3 a IO4 již připojují LED diody na kladné napájecí napětí, které je zde 12 V =. Uvedené IO3 a IO4 mají maximální zatížení jednoho výstupu do 0,5 A. Řídicí vstupy IO3 a IO4 jsou slučitelné s logikou TTL, proto jsem zvolil tyto IO, při stavbě je však možné použít obyčejné NPN tranzistory a kolektorový proud volit dle proudu LED diod. Počet LED na jednom výstupu IO3/4 je zde při napětí 12 V a napětí jedné LED diody 3 V tři kusy, proud je zvolen na 80 mA. Použité LED mají maximální napájecí napětí v propustném směru 3,6 V a maximální proud 100 mA. Při tomto počtu LED diod a proudu vycházejí předřadné odpory R2 až R17 výpočtem: R = (Unapájecí-ULED (součet v jedné větvi))/ILED = (12-9)/0,08 = 37,5 Ω, zatížení rezistoru pak vychází R*I2 = 37,5*0,082 = 0,24 W. Nejbližší hodnota v řadě E24 je 36R nebo 39R, což nepatrně při hodnotě 36R zvýší a při hodnotě 39R sníží proud procházející LED diodami v jedné větvi. Obdobným způsobem přepočítáme předřadné rezistory R2 až R17 pro jakékoli jiné LED diody, které zrovna máme doma. Celkový proud ze zdroje 12 V DC je závislý na použitých LED.
V zapojení použitý procesor PIC má všechny I/O porty naprogramovány jako výstupní. Výstup procesoru označený A4 je nevyužitý; jde o výstup s otevřeným kolektorem a v zapojení je vynechán. Výstupy procesoru označené B0 až B7 spínají vstupy (báze) tranzistorů v IO3, výstupy A0 až A3 spínají vstupy v IO4. Zde jsou zapojeny tak, že A0 ovládá dva vstupy IO4, stejně tak i A1, A2 a A3. v případě potřeby se takto zapojené vstupy IO4 mohou upravit a výstupy procesoru A0 až A3 mohou spínat pouze čtyři vstupy IO4.

Stručný popis programu

Program je upravený z jiného zapojení. Při programování mám v programovacím programu trvale nastaveno WDT ON včetně zapnuté časové prodlevy při připojení procesoru na napájecí napětí, což je ale jednoduché individuálně upravit dle potřeby. Program dle tabulky postupně přepíná I/O linky naprogramované jako výstupy. To, který výstup je v logické 1 a který v logické 0, je dáno zápisem MOVLW B'00101000'. Potom pokračujeme zápisem do portu B: MOVWF PORTB. Stejně se zadávají i hodnoty pro vývody procesoru označené A3 až A0: MOVLW B'00001111' a opět zápis do portu A, MOVWF PORTA. Časová smyčka je v podprogramu ČEKEJ. Zde je možné si měnit hodnoty a tím se změní i doba, kdy budou LED diody svítit nebo budou vypnuté. Zde stačí změnit hodnotu MOVLW 2 za hodnotu 3 nebo 4, čímž prodloužíme jak dobu svitu, tak současně dobu, kdy budou všechny LED zhasnuté. Další časové úpravy jsou možné změnou čísel za řádky s hodnotami 200. Dále je použit podprogram NULUJ, který vyšle naráz na porty A i B logické 0 a tím zhasnou všechny rozsvícené LED diody.

Seznam součástek

Schéma zapojení

Obr. 01 - schéma zapojení blikátka

Řídicí program najdete zde.

Hodně inspirace při programování přeje Vágner Vlastimil.

Zpět

Reklamy: