Zdravím všetkých milovníkov mikrokontroléra DIY, Ak ste šťastným majiteľom domáceho akvária, možno vás bude tento článok zaujímať. V ňom podrobne opíšem celý proces vytvorenia jednoduchého, ale veľmi užitočného domáceho - vodného riadiaceho zariadenia, ktorý má uľahčiť život majiteľovi malého podmorského sveta.
Ako viete, každý úspešný projekt sa začína prípravou technických špecifikácií. Nasledujú základné požiadavky a funkcie, ktoré som chcel získať od ovládača aqua:
- nízke náklady a dostupnosť komponentov;
- prispôsobiteľný čas na zapnutie a vypnutie svetla v akváriu;
- režim podávania (filter sa vypne a automaticky sa spustí po 15 minútach);
- zahrnutie harmonogramu kŕmenia;
- meranie teploty a vlhkosti okolitého vzduchu (ako doplnok);
- zobrazenie aktuálneho dátumu, času a ďalších parametrov na LCD displeji;
- ovládanie a nastavenie parametrov pomocou menu pomocou 4 tlačidiel (Hore, Dole, Ok, Zrušiť);
- prispôsobiteľný čas na zapnutie a vypnutie svetla v akváriu;
- režim podávania (filter sa vypne a automaticky sa spustí po 15 minútach);
- zahrnutie harmonogramu kŕmenia;
- meranie teploty a vlhkosti okolitého vzduchu (ako doplnok);
- zobrazenie aktuálneho dátumu, času a ďalších parametrov na LCD displeji;
- ovládanie a nastavenie parametrov pomocou menu pomocou 4 tlačidiel (Hore, Dole, Ok, Zrušiť);
Na základe vyššie uvedeného sa zrodil obvod znázornený na obr.
Hlavným prvkom je doska Arduino prepáčizískané v Číne. Ako sa neskôr ukázalo, bol naň nainštalovaný radič ATmega168 namiesto ATMEGA328, Toto ma prinútilo pohladiť sa s optimalizáciou programu, pretože sa ukázalo byť pre tento radič neznesiteľné kvôli polovičnej veľkosti pamäte typu flash.
Na zobrazenie informácií bol vybraný dobre známy dvojriadkový 16-znakový LCD displej. V projekte je pripojený Arduino na 4-vodičovej dátovej zbernici.
Digitálny senzor je zodpovedný za meranie teploty a vlhkosti. DTH11, Na domáce potreby to stačí. V skutočnosti nemá konkrétny účel a je pridaný iba ako doplnok k celkovému obrazu.
Na ovládanie žiarivky a filtra som použil dva simistorové kanály, vyrobené na zväzku optoimistorov MOC3063 a výkonový simistor BT137-600E, To nám umožnilo zbaviť sa obvodu mechanických relé, z čoho sa z nejakého dôvodu necítim súcit.
Tlačidlá pre správu - zvyčajné hodiny, bez stanovenia.
Pretože všetky nastavenia sú viazané na konkrétne časové obdobie, musí zariadenie nevyhnutne obsahovať hodiny v reálnom čase.V tomto prípade som použil modul TinyRTC na základe mikroobvodu DS1703, Modul je riadený protokolom i2c a obsahuje konektor na inštaláciu batérie, ktorý vám umožňuje uložiť dátum a čas pri vypnutí napájania. Externý napájací modul je zobrazený na fotografii č. 2
Foto č. 2 - modul hodín v reálnom čase
Požiadavky sú definované, schéma je zostavená - môžete prejsť do fázy návrhu dosky plošných spojov. Online služba EasyEda mi úspešne pomohla zvládnuť túto úlohu. Aby som sa neobťažoval s vŕtanými dierami, rozhodol som sa umiestniť všetky horné vrstvy, ktoré prenášajú prúd a komponenty. Po troške krútenia detailov v editore som dostal návrh DPS s iba tromi prepojkami. Vzhľad dosky je znázornený na obrázku 3.
Obrázok 3 - Vzhľad dosky plošných spojov aquacontrol
Tí, ktorí chcú projekt zopakovať, si môžu stiahnuť súbor PCB z tohto odkazu:
Zobraziť online súbor:
Zobraziť online súbor:
Akým bodom by ste teda mali venovať pozornosť. odpor R4 a R8 - dvojče, všetky ostatné sú vyrobené SMD bývanie 1206, Tlačidlá hodín majú veľkosť 12x12, Doska má tiež čínsky menič napätia 220 V / 5 V, ktorého vzhľad je znázornený na fotografii č. 4.
Fotka č. 4 - menič napätia 220V / 5V.
Displej LCD a modul hodín v reálnom čase sa plánujú namontovať na palubné stojany, ktorých úlohu som úspešne plnil brúsenými plastovými kolíkmi.
Na tomto sú definované všetky funkcie inštalácie a zostáva len preniesť dosku z obrazovky monitora do nášho fyzického sveta. Na tento účel bola zvolená dobre známa metóda. LUT, čo znamená prítomnosť laserovej tlačiarne a žehličky. Pre tých, ktorí nie sú oboznámení s touto technológiou budúcnosti, bude proces výroby dosky s plošnými spojmi v mojej kúpeľni opísaný nižšie.
Takže pre začiatočníkov vyhľadajte akýkoľvek časopis s lesklými stranami alebo listom fotografického papiera. Dosku tlačíme na laserovú tlačiareň bez toho, aby sme ju zabudli prevrátiť. Pripravíme kúsok skleneného texalitu potiahnutého fóliou podľa veľkosti blanku a medený povrch zbrúsime jemnozrnným brúsnym papierom na lesk. Malo by to byť niečo také (foto číslo 5).
Ďalej vytlačíme výtlačok na fóliu a aplikujeme ju na DPS. Potom papier ideme s horúcou žehličkou asi 3 minúty. Čas zahrievania sa tu môže líšiť v závislosti od teploty žehličky a skúsenosti umelca tohto tajného rituálu. Vizuálne to vyzerá takto (foto č. 6):
Po pevnom priľnutí papiera k DPS vypnite žehličku a nechajte dosku vychladnúť. Teraz musíte opatrne odstrániť vrstvu papiera a zároveň nepoškodiť lepivý toner. Aby bol prípad úspešný, musí sa papier zvlhčiť a odstrániť zvitkom prstov. Tento proces je zreteľnejšie znázornený na fotografii č. 7.
Niekedy sa stáva, že na niektorých miestach sa toner jednoducho nelepí. V takom prípade je možné tieto oblasti doplniť trvalým značkovačom. Fotografia č. 8 ukazuje dosku po vybratí papiera. Vezmite prosím na vedomie, že v ľavej hornej časti nie je žiadna časť obrázku, ktorá bude následne obnovená vyššie uvedeným spôsobom.
Po odstránení všetkých nepríjemných okamihov môžete začať leptať. Na tento účel som použil roztok chloridu železitého ako jednu z najdostupnejších a najbezpečnejších možností. Po vyleptaní dosky dosku dôkladne opláchnite rozpúšťadlom, aby sa zo stôp odstránil toner. Potom opäť vyčistíme jemným brúsnym papierom, odmasťujeme a cínujeme. Výsledok je znázornený na fotografii č. 9.
Jedna z hlavných etáp je dokončená. Ďalšou fázou je inštalácia a spájkovanie rádiových komponentov. Je to kreatívny a čisto individuálny proces. Ak máte akékoľvek otázky, som pripravený odpovedať na ne v komentároch, ale teraz vám ukážem, čo mám (foto 10):
Ako som už písal vyššie, displej a modul hodín sa zdvíhajú nad dosku pomocou plastových stojanov vyrobených z hmoždiniek na rýchlu inštaláciu a ich kontakty sa spájajú na dosku tenkými drôtmi.Snímač teploty a vlhkosti sa zobrazuje osobitne na vrchu zariadenia. Podľa môjho názoru budú s týmto usporiadaním údaje presnejšie. Pre svetelné kanály a filter sa v dolnej časti dosky zobrazujú dva vonkajšie výstupy. Výška gombíkov tiež nebola dostatočná, takže ich plánujem zväčšiť plastovými puzdrami. Po niekoľkých manipuláciách sa zariadenie prejaví takmer hotovým vzhľadom, ako je znázornené na fotografii č. 11.
Pred zapečatením vrchnej časti puzdra musíte napísať firmvér Arduino ProMini, Aby som to urobil, vložil som kolíky na dosku spojenú s kontaktmi VCC, GND, RX a TX, Na programovanie Arduino ProMini najjednoduchšie použitie Programátor USB, ale toto nebolo k dispozícii. Jeho úlohu úspešne plnila iná rada Arduino uno s odstráneným ovládačom. Nebudem sa zaoberať podrobnosťami tohto procesu, pretože na internete existuje veľa článkov o tejto téme. Kvôli prehľadnosti dám iba fotografiu č. 12.
Teraz hovorme o samotnom programe. Po zapnutí napájania sa zobrazí hlavná obrazovka. Zobrazuje informácie o aktuálnom dátume, čase, teplote a vlhkosti. Tiež sa zobrazuje niekoľko špeciálnych znakov v závislosti od aktuálneho stavu systému, a to: svetlo svieti - ikona slnka; ikona vypnutá - mesiac; filter on - ikona filtra; prebieha kŕmenie - ikona ryby. Po kliknutí na tlačidlo OK vstúpi používateľ do ponuky, kde je možné nakonfigurovať parametre, ako napríklad:
- režim ovládania osvetlenia. V tejto časti môžete zapnúť a vypnúť svetlo manuálne výberom zodpovedajúcej položky ponuky a tiež nastaviť čas zapnutia a vypnutia podľa plánu.
- režim ovládania filtra. Umožňuje manuálne zapínanie a vypínanie filtra, vyberte funkciu „podávanie“ (fedding) a nastavte rozvrh kŕmenia. V režime podávania sa filter zastaví a obnoví sa automaticky po 15 minútach.
- nastavenie aktuálneho dátumu.
- nastavenie aktuálneho času. Dáta o dátume a čase sa zaznamenávajú v hodinovom module a po vypnutí napájania sa nevymažú, ak je v ňom nainštalovaná batéria.
Pre lepšie pochopenie je na obrázku 13 znázornená štruktúra ponuky.
- režim ovládania osvetlenia. V tejto časti môžete zapnúť a vypnúť svetlo manuálne výberom zodpovedajúcej položky ponuky a tiež nastaviť čas zapnutia a vypnutia podľa plánu.
- režim ovládania filtra. Umožňuje manuálne zapínanie a vypínanie filtra, vyberte funkciu „podávanie“ (fedding) a nastavte rozvrh kŕmenia. V režime podávania sa filter zastaví a obnoví sa automaticky po 15 minútach.
- nastavenie aktuálneho dátumu.
- nastavenie aktuálneho času. Dáta o dátume a čase sa zaznamenávajú v hodinovom module a po vypnutí napájania sa nevymažú, ak je v ňom nainštalovaná batéria.
Pre lepšie pochopenie je na obrázku 13 znázornená štruktúra ponuky.
Stiahnite si firmvér pre Arduino Pro Mini a všetky potrebné knižnice môžu byť tento odkaz
Po napísaní programu do mikrokontroléra môžete prípad uzavrieť a vykonať testy v reálnych podmienkach. Pred napísaním tohto článku uplynulo asi týždeň prevádzky. Ovládač akvakultúry fungoval bez akýchkoľvek porúch, takže mi v prípade potreby ušetril neustále ťahanie vidlíc, aby som kŕmil ryby alebo zhasol svetlá. Výsledok môjho úsilia je uvedený na fotografii č. 16.