Vybavenie dielne I. - Osvitka na DPS III.
Časovač na báze ATmega8
Dali2, 18.03.2013-00:00

Úvod
Ako som sľúbil v predošlých dieloch, dnes si predstavíme konštrukciu jednoduchého časovača riadeného mikrokontrolérom ATmega8.
Ale poďme pekne po poriadku. Po zhotovení mechanickej časti som dosť dlho prevádzkoval osvitku v "manuálnom" móde - teda s spínačom na sieťovej šnúre v jednej ruke a so stopkami v druhej ruke. To je ale dosť unavujúce pri dlhších časoch a nepresné, ak si človek odbehne na sekundu a niekto ho zdrží dve minúty..... však viete, na čo myslím. Tak som sa rozhodol pre konštrukciu časovača, ktorý by bol zabudovaný priamo v osvitke.

Základné požiadavky boli:






V prvej fáze bol zvolený mikrokontrolér ATtiny2313, ktorý sa na to úžasne hodí, avšak ako sa postupne vyvíjal obslužný program, zistil som, že sa ani omylom nezmestím do 2KB FLASH, ktorá bola k dispozícii, a keďže jeho väčší brat ATtiny4313 je jednak zle dostupný a jednak drahý, voľba padla automaticky na ATmega8.

Ako spínacie prvky boli zvolené tie najjednoduchšie - relé, celý časovač som chcel urobiť ako jeden konštrukčný celok a pokiaľ možno na jednostrannej doske spojov, čo sa nakoniec aj podarilo - ostatne posúďte sami.

Schéma
Schéma je v podstate triviálna - ATMega sa inak hádam ani zapojiť nedá, ako ovládacie prvky boli zvolené mikrospínače - 4 na ovládanie smeru v menu a dva riadiace - Enter a Edit, ktoré zároveň ovládajú aj funkcie Start a Stop. Displej je zapojený v 4-bitovom paralelnom móde, ako posledný prvok je tam piezokeramický menič, ktorý indikuje stlačenie kláves resp. ukončenie aktuálnej činnosti.
Súčasťou je aj jednoduchý napájací zdroj, ktorý je na DPS ako samostatný modul, ktorý je možné odrezať a pripojiť k doske buď káblikom alebo použiť iný zdroj.



Konštrukcia
Schéma a DPS sú zhotovené v mojom obľúbenom programe KiCad, všetky potrebné podklady nájdete v priloženom archíve na konci článku. Doska je jednostranná, osadená súčiastkami z oboch strán, pričom zo strany spojov je osadený len displej a mikrospínače.

Mechanická konštrukcia vychádza z rozmerov už hotového rámu - panel z 10mm drevotriesky nahradil nový panel z 5mm extrudovaného PVC (materiál používaný na reklamné panely), ktorý sa dobre obrába a spracováva. Diely sú narezané 19mm lámacím nožom, obrúsené klasickým brúsnym papierom nalepeným na kus rovnej dosky a lepené sekundovým lepidlom. Následne sú špáry pretmelené dvojzložkovým karosárskym polyesterovým tmelom, vybrúsené, nastriekané základnou farbou a následne lesklou bielou farbou v spreji, obrázky napovedia viac. Zámerne mechanickú konštrukciu nepopisujem detailne, každý si zrejme zvolí vlastný spôsob.

















Programové vybavenie
Program je napísaný v Bascom-e pre AVR. Jednak na takýto projekt mi to príde ako lepší jazyk, nakoľko to môžu využiť začiatočníci v programovaní a aj prípadné individuálne úpravy sú jednoduchšie. Na preklad postačí neregistrovaná free verzia BASCOM-u, nakoľko preložený program sa zmestí do 4KB, čo je jej limit.
Stále je tam dosť pamäti pre prípadné úpravy, resp rozšírenia, ak niekto bude mať chuť.
Program aj konštrukcia sú free pre nekomerčné účely.

Program má nasledovné možnosti:
- 8 pamätí pre nastavenia, pričom je možné nastaviť popis v dĺžke 12 znakov a expozičný čas 1-999s, čo myslím si bohate stačí. Tieto údaje sú uložené v pamäti EEPROM, a teda zostávajú nám aj po vypnutí. Týmito údajmi je pamäť EEPROM momentálne plne obsadená (Oprava - platilo pre ATtiny2313, v ATmega8 je ešte voľného miesta dosť, samozrejme ).
Beh programu je zhruba nasledovný:
Šípkami naľavo alebo napravo nastavíme príslušný program, klávesou Edit prejdeme do editačného režimu, kde šípkami vľavo a vpravo meníme pozíciu editovaného znaku a šípkami hore a dole meníme hodnotu znaku, pričom k dispozícii je celá znaková sada. Stlačením klávesy Enter uložíme zmeny, resp klávesou Edit/Cancel zmeny zrušíme. Ak sme si vybrali/upravili príslušnú pamäť, stlačením klávesy Enter túto pamäť zvolíme a ďalším stlačením klávesy Enter/Start spustíme samotný proces osvitu. Ten pozostáva z dvoch krokov - najprv sa spustí odsávanie (zopne prvé relé), tento krok je nastavený fixne na 15s (samozrejme sa dá v zdrojovom programe pred prekladom zmeniť), po skončení sa spustí samotná procedúra osvitu. Po jej skončení sa vypne odsávanie, osvetlenie a na displeji sa vypíše správa a ukončení operácie. Jednoduché.

Program obsahuje dve skryté funkcie - po nahratí programu a po prvom spustení skontroluje obsah EEPROM a vymaže ju (resp. prednastaví pre všetky pamäte prázdny text a čas 000s), resp. ak zapnete napájanie pri súčasnom stlačení kláves Start a Stop, spustí sa procedúra, ktorá umožní výmaz všetkých pamätí.

Táto verzia programu je prvá, ktorá mala umožniť aspoň ako-také používanie a využitie free verzie BASCOM-u, pripravujem ďalšiu verziu, ktorá troška skomfortní používanie (auto-repeat pre klávesy, nastavenie času odsávania, resp. vypnutie tejto funkcie priamo z menu a nie pri preklade).

Ostatne myslím, že celé ovládanie je vysoko intuitívne a dá sa naučiť za malú chvíľku. Operáciu osvitu resp. odsávania možno kedykoľvek zrušiť podržaním tlačidla STOP, nasleduje zvukové znamenie a po uvoľnení tlačidla dôjde k zastaveniu aktuálne prebiehajúcej operácie.

Celé zariadenie si bude možné v krátkom čase zakúpiť vo forme stavebnice na našom spriatelenom webshope, resp. aj po častiach -
plošný spoj, naprogramovaný procesor, sadu súčiastok alebo ich časť.


tento článok je z mikroZONE
( https://www.mikrozone.sk/pluginy/content/content.php?content.111 )