Ú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:
pamäte pre nastavenie rôznych časov pre rôzne materiály, nakoľko som sklerotik a zabúdam
spínanie expozičnej jednotky
spínanie odsávacieho zariadenia (popíšeme si v nasledujúej časti seriálu)
jednoduché ovládanie
2-riadkový displej pre rýchlu orientáciu
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ť.
Konstrukce super Bude to vypadat jako rejpání, ale asi by bylo lepší mít popisky v programu v jednom jazyce, ale to je věc názoru. Jsem ráda, že někdo další používá BasCom kterýžto jazyk jsem si dosti oblíbila vzhledem k jeho jednoduchosti a mé mozkové kapacitě
Můžu mít dotaz? Proč se používá čtyřbitová komunikace s LCD modulem i tehdy, když zbyde hromda volných pinů na procesoru? Je to vidět vlastně všude. Není to výtka, jen by mne to zajímalo, přeci osmibitová komunikace je jendodušší a pokud není třeba šetřit s nožičkami procesoru, tak mi to připadá zbytečné trápit se se čtyřibitovou komunikací.
Ďakujem pekne za pochvalu , čo sa týka komunikácie, na prvých fotkách vidno, že soft sa odlaďoval na breadboarde, a nechcelo sa mi ťahať ďalšie kábliky, a keďže Bascom 4-bitovú komunikáciu má, tak to už tak zostalo - proste lenivosť. A čo sa týka komunikácie - áno, na fotke je anglicko-slovenský mix, zdroják, ktorý je v prílohe je už kompletne preložený do slovenčiny, ak sa teda nemýlim
P.S.: Kolega Andy ma upozornil na jednu dosť nepríjemnú chybu, ktorá sa nedopatrním vlúdila do schémy a dosky, ostal neošetrený analógový napájací vstup AVCC. Vďaka nejakému zázraku je konštrukcia aj napriek tejto chybičke plne funkčná, ale..... proste má to byť tak, ako predpisuje datasheet. V prílohe už je opravená aj schéma aj plošný spoj. Ak ste si to už stiahli a pustili sa do práce, nič sa nedeje postačí jeden krátky kúsok káblika a pripojiť vývod 20 procesora k +5V. Ešte raz moje veľké sorry, ak som niekomu tým spôsobil problémy.
On November 21, 2023, Microsoft announced Azure RTOS will be transitioning to an open source model under the stewardship of the Eclipse Foundation. With Eclipse Foundation as the new home, Azure RTOS becomes Eclipse ThreadX, or "ThreadX" in its short form.
modm is an umbrella project for a handful of stand-alone projects and acts as a curated toolbox for creating custom C++ libraries for embedded targets. [URL adresa]
Stránky generuje redakčný systém e107, a údaje do neho nahadzujú EdizonTN a redaktori. Všetky zverejnené informácie si výhradne po dohode s administrátorom, dajte kam chcete.... Príspevky v diskusnom fóre a komentároch, vyjadrujú názory čitateľov. Redakcia serveru nenesie zodpovednosť za ich obsah. Vyhradzuje si však právo ich odstraňovať. (c) 2009-2022 Sledujte nás cez RSS, BlueSky, X, Facebook, MeWe, Mastodon, Telegram, Discord, reddit, Git-Hub alebo na YouTube . Verzia pre mobily