Česky | English

Časový spínač

V poslední době se na trhu objevuje čím dál více nejrůznějšího aku nářadí pro kutily. To se vyznačuje především nízkou cenou, která se někde musí projevit. Proto u většiny nářadí tohoto druhu není žádným způsobem kontrolováno nabíjení aku bloků. Kontrola se nechává pouze na Vás. Určitě jste asi již někdy aku blok nechali přebít (což mu jistě na životnosti nepřidá). Popisovaná konstrukce není nic jiného než obyčejný časový spínač, který tomu zamezuje.

Základní technické parametry

Popis zapojení

Základem je levný mikrokontrolér PIC řady 12C5xx fy Microchip, který je taktován interním RC oscilátorem (kalibrován výrobcem), jehož přesnost je pro uvedenou aplikaci zcela dostačující. Dále se využívá interních pull-up rezistorů u vstupů (piny GP0, GP1), kterými se provádí prodloužení základního času nabíjení. Ten je nastaven na 3 hod., většina výrobců doporučuje dobu nabíjení 3-6 hod nebo podobnou. Provést případnou změnu tohoto času je ve zdrojovém kódu triviální. Přivedením log. 0 na pin GP0 se čas prodlouží o 30 min, na pinu GP1 to je o 60 min.

Časový spínač může pracovat ve dvou režimech spouštění. Zapojení pinu GP3 určuje volbu tohoto režimu. Rozhodující je log. úroveň na tomto pinu po přivedení napájecího napětí. V případě log. 0 (trvale uzemněn) je zvolen režim automatický, tzn. ihned je spuštěn časovač. Po celou požadovanou dobu je pin GP2 v log. 1, po uplynutí cyklu přechází do log. 0. Nové spuštění je možné opětovným přivedením napájecího napětí (musí dojít k restartu). Tento režim má např. smysl, pokud je odvozeno napájení mikrokontroléru od vložení aku bloku do nabíječe. Druhý (manuální) režim je asi více pravděpodobný - log. 1 na pinu GP3 s připojeným startovacím tlačítkem. Jediný rozdíl ve funkci časovače je, že ho lze po skončení cyklu znovu spustit bez resetu procesoru (chcete-li bez vyndání aku bloku). Nevýhodou zůstává dodělání tlačítka pro "odstartování" časovače.

Napájecí část a zapojení výstupních obvodů záleží pouze na tom, jak je mikrokontrolér do nabíječe připojen, mechanickém provedení "kolébky" a na volbě režimu časovače. Dále se předpokládá, že doba cyklu je nastavena "jednou provždy". Proto je uvedeno pouze ilustrativní zapojení. Mikrokontrolér je schopen dodat na výstupu proud až 20 mA, proto lze přímo ovládat určité typy relé přímo, bez spínacího tranzistoru. Protože celý časovač tvoří v podstatě pouze jediná součástka a k výše uvedeným důvodům, nebyl realizován plošný spoj.

Popis firmware

Jak již bylo uvedeno používá se mikrokontrolér PIC12C5xx. Pravdou je, že v dnešní době jsou více oblíbené mikrokontroléry reprogramovatelné, tedy s pamětí FLASH, např. řada 12F6xx, které jsou nabízeny v podstatě za stejnou cenu. Zvolení tohoto staršího typu je ale v dostupnosti překladače jazyka BASIC [1], ve kterém je napsán firmware. Přestože jsem stále zastáncem assembleru, musím ale přiznat, že psaní programu ve vyšším programovacím jazyce je příjemné a možná i jednodušší.

Na začátku programu se provádí deklarace proměnných, definice jednotlivých pinů mikrokontroléru (vstupy/výstupy). V dalším kroku se nastavuje příznak režimu spouštění (viz. Popis zapojení), který se vyhodnotí na začátku a na konci spuštění časovače. Následuje nastavení hodnoty základního času (v sekundách) a její případné zvětšení - v případě log. 0 na pinech GP0 a GP1. Tímto celkem jednoduchým způsobem lze při uzemnění obou pinů prodloužit dobu o 90 min. Poslední částí je vlastní časová smyčka. Toto je v podstatě celý program.

Omezení LITE verze kompilátoru spočívá především v možnosti výběru pouze z 3 "klasických" typů mikrokontroléru (12C508, 16F84 a 16F877) a v počtu řádků zdrojového kódu, kterých nemůže být více než 50 (včetně komentovaných). To se může zdát málo, ale na základní úlohy to postačuje (čehož je tato aplikace důkazem). Zdrojový kód, stejně jako přeložený hex soubor je k dispozici pod GNU/GPL licencí. Kód je komentovaný a doufám srozumitelný také jako příklad. Mohl by být kratší, ale to nebylo záměrem. Chtěl jsem ukázat, že programovat lze i bez větší znalostí assembleru...

Pozn: Celá konstrukce a text se váže k verzi kompilátoru 2.1.3, v současné době je k dispozici kompletně nová verze, která přináší trochu "měkčí" omezení a nové možnosti, mj. podporu pro zmíněnou řadu 12F6xx.

Literatura

Schema zapojení

Časový spínač - schema

Soubory ke stažení

Viz. odkaz "Download"

« zpět do kategorie "Elektronika"