• DIY velké LED hodiny. Jak si vyrobit vlastní digitální hodiny v retro stylu

    20. srpna 2015 ve 12:34 hodin

    Domácí výroba Digitální hodinky, elementová základna- část 1, měření času

    • DIY nebo DIY

    Pravděpodobně každý geek, který má rád domácí elektroniku, dříve nebo později přijde s myšlenkou vyrobit si vlastní jedinečné hodinky. Nápad je to docela dobrý, pojďme přijít na to, jak a na čem je vylepšit. Jako výchozí bod budeme předpokládat, že člověk ví, jak programovat mikrokontroléry, rozumí tomu, jak poslat 2 bajty přes i2c nebo sériový port, a dokáže připájet několik vodičů dohromady. V zásadě to stačí.

    Je jasné že klíčová funkce hodiny - měření času (koho by to napadlo, že?). A je žádoucí to udělat co nejpřesněji, existuje několik možností a úskalí.

    Jaké metody měření času dostupné v hardwaru tedy můžeme použít?

    CPU vestavěný RC oscilátor

    Nejjednodušší nápad, který vás může napadnout, je jednoduše nastavit softwarový časovač a nechat jej odpočítávat sekundy. No, tenhle nápad nefunguje. Hodiny samozřejmě budou fungovat, pouze přesnost vestavěného generátoru není nijak regulována a může „plavat“ v rozmezí 10% jmenovité hodnoty. Je nepravděpodobné, že by někdo potřeboval hodiny, které trvají 15 minut měsíčně.

    Modul reálného času DS1307

    Správnější možností, která se používá i ve většině „lidových“ produktů, jsou hodiny reálného času. Mikroobvod komunikuje s mikrokontrolérem přes I2C, vyžaduje minimum vazby (quartz a dvojice rezistorů). Emisní cena je asi 100 rublů za čip nebo asi 1 $ na ebay za hotovou desku s mikroobvodem, paměťovým modulem a konektorem baterie.

    Diagram z datasheetu:

    Neméně důležité je, že mikroobvod se vyrábí v balení DIP, což znamená, že jej může pájet každý začínající radioamatér. Vestavěná baterie udržuje hodiny v chodu i po vypnutí napájení.

    Zdálo by se, že je vše v pořádku, nebýt jednoho problému – nízké přesnosti. Přibližná přesnost hodinkového křemene je 20-30 ppm. Označení ppm – části na milion, udává počet částí na milion. Zdálo by se, že 20 miliontin je super, nicméně pro frekvenci 32768 Hz to vyjde 20 * 32768 / 1000000 = ± 0,65536 Hz, tzn. už půl péro. Jednoduchými výpočty lze vidět, že generátor s takovým rozdílem za den „nakliká“ navíc (nebo chybí) 56 tisíc cyklů, což odpovídá 2 sekundám za den. Quartz je jiný, někteří uživatelé psali o chybě 5 sekund denně. Nějak to není příliš přesné - za měsíc takové hodiny zbudou alespoň minutu. To už je slušný rozdíl, patrný pouhým okem (když babiččina oblíbená série začíná v 11:00 a hodiny ukazují 11:05, bude vývojář takových hodinek před příbuznými nepříjemný).

    Protože je ale teplota v místnosti víceméně stabilní a frekvence křemene se příliš nezmění, můžete přidat softwarovou korekci. Další rada uváděná na fórech je používat hodinový quartz ze starých základních desek, tam jsou podle recenzí celkem přesné.

    Modul reálného času DS3231

    Nejsme první, kdo položil otázku přesnosti, a Dallas, který splnil přání, vydal pokročilejší modul - DS3231. Jmenuje se „Extremely Accurate Real Time Clock“ a má vestavěný teplotně korigovaný oscilátor. Přesnost je 10krát vyšší a je 2 ppm. Cena emise je o něco vyšší, ale pouzdro mikroobvodu je určeno pro montáž SMD, pájení není tak pohodlné, ale můžete si koupit hotovou desku na eBay.


    (foto z webu prodejce)

    Přesnost 6 sekund za měsíc je již dobrý výsledek. Půjdeme ale dále – v ideálním případě se hodiny v 21. století nemusí seřizovat vůbec.

    Rádiový modul DCF-77

    Metoda je spíše exotická, ale pro úplnost je třeba ji zmínit. Málokdo ví, ale přesné časové signály byly vysílány rádiem již od 70. let. Vysílač DCF-77 se nachází v Německu u Frankfurtu a přesné časové značky jsou vysílány na frekvenci VHF 77,5 kHz (ano, měly již nástěnné a stolní hodiny které není třeba upravovat).

    Metoda je dobrá, protože obvod má nízkou spotřebu energie, takže rovnoměrný náramkové hodinky s touto technologií. Hotovou přijímací desku DCF-77 můžete koupit na ebay, emisní cena je 20 $.

    Mnoho hodin a meteostanic má schopnost přijímat DCF-77, jediný problém je, že signál prakticky nedosahuje Rusko. Mapa pokrytí z Wikipedie:

    Jak vidíte, na hranici přijímacího prostoru leží pouze Moskva a Petrohrad. Podle recenzí majitelů lze pouze někdy přijímat signál, který pro praktická aplikace samozřejmě se to nehodí.

    GPS modul

    Pokud hodiny nejsou daleko od okna, pak je to docela skutečnou metodou získání přesného času - GPS-modul. Tyto moduly lze levně koupit na ebay (emisní cena 10-15 $). Například Ublox NEO-6M se připojuje přímo k sériovým pinům procesoru a vydává řetězce NMEA rychlostí 9600.

    Data přicházejí přibližně v následujícím formátu „$GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,*1A“ a jejich parsování i pro slabé Arduino není obtížné. Patrioti si mimochodem mohou pořídit dražší modul Ublox NEO-7N, který podporuje (podle recenzí) GPS i Glonass.

    Je zřejmé, že modul GPS neví nic o různých časových pásmech, takže vývojář bude muset přemýšlet nad jejich výpočtem a změnou letního / zimního času. Další mínus Využití GPS- relativně vysoká spotřeba energie (některé moduly však lze uvést do "režimu spánku" samostatnými příkazy).

    WiFi

    A konečně poslední (a v tuto chvíli nejzřejmější) způsob, jak zjistit přesný čas, je vzít si jej z internetu. Jsou zde dva přístupy. První a nejjednodušší je použít něco jako Raspberry PI s Linuxem jako desku s hodinami, pak nemusíte nic dělat, vše bude fungovat hned po vybalení. Pokud chcete "exotiku" - tak nejvíc zajímavá možnost je modul esp8266.

    Jedná se o levný (emisní cena cca 200r na ebay) WiFi modul, který umí komunikovat se serverem přes sériový port procesoru, v případě potřeby jej lze také přeflashovat (firmwaru třetích stran je poměrně hodně) a část logiky (například dotazování na časový server) se provádí v modulu samotném. Spousta všeho je podporována firmwarem třetích stran, od Lua po C ++, takže existuje dostatek možností, jak si „protáhnout mozek“.

    V tuto chvíli lze asi téma měření času uzavřít. V příštím díle se blíže podíváme na procesory, a způsoby zobrazení času.

    Upozorňuji na elektronické hodiny mikrokontroléru. Obvod hodin je velmi jednoduchý, obsahuje minimum detailů, je k dispozici pro opakování začínajícím radioamatérům.

    Konstrukce je sestavena na mikrokontroléru a hodinách reálného času DS1307. Jako ukazatel aktuálního času čtyřmístný sedmisegmentový led indikátor(ultra jasný, modrá barva záře, která vypadá dobře ve tmě a zároveň hodiny plní roli nočního světla). Hodiny se ovládají dvěma tlačítky. Díky použití čipu hodin reálného času DS1307 se programový algoritmus ukázal jako poměrně jednoduchý. Mikrokontrolér komunikuje s hodinami reálného času přes sběrnici I2C a je organizován softwarově.

    Rozvržení hodin:

    Bohužel je ve schématu chyba:
    - závěry MK k bázím tranzistorů musí být připojeny:
    PB0 až T4, PB1 až T3, PB2 až T2, PB3 až T1
    nebo změňte připojení tranzistorových kolektorů k indikačním bitům:
    T1 až DP1 ….. T4 až DP4

    Podrobnosti použité v hodinovém obvodu:

    ♦ mikrokontrolér ATTiny26:

    ♦ hodiny reálného času DS1307:

    ♦ 4místný 7segmentový LED indikátor - FYQ-5641UB -21 společná katoda (ultra jasná modrá):

    ♦ 32,768 kHz quartz, se vstupní kapacitou 12,5 pF (k dispozici od základní deska počítač), přesnost hodin závisí na tomto křemeni:

    ♦ všechny tranzistory jsou struktury NPN, můžete použít jakékoli (KT3102, KT315 a jejich zahraniční analogy), použil jsem BC547C
    ♦ mikročipový regulátor napětí typ 7805
    ♦ všechny odpory 0,125 W
    polární kondenzátory pro provozní napětí ne nižší než napájecí napětí
    ♦ záložní napájení DS1307 - 3V lithiový článek CR2032

    K napájení hodinek lze použít jakoukoli nepotřebnou nabíječku mobilní telefon(v tomto případě, pokud je výstupní napětí nabíječka do 5 voltů ± 0,5 voltu, součástí obvodu je regulátor napětí na čipu typu 7805, lze vyloučit)
    Proudový odběr zařízení je - 30 mA.
    baterie záložní napájení nemůžete nastavit hodiny DS1307, ale pokud dojde k výpadku síťového napětí, bude nutné znovu nastavit aktuální čas.
    Deska plošných spojů zařízení není zobrazena, konstrukce byla sestavena v pouzdře z vadného mechanické hodinky. K oddělení hodin a minut na indikátoru slouží LED (s frekvencí blikání 1 Hz, z výstupu SQW DS1307).

    Tovární nastavení mikrokontroléru: hodinová frekvence- 1MHz, FUSE bitů není třeba se dotýkat.

    Algoritmus hodin(v Algorithm Builderu):

    1. Nastavení ukazatele zásobníku
    2. Nastavení časovače T0:
    — frekvence SK/8
    - přetečení přerušení (při takto nastavené frekvenci se přerušení volá každé 2 milisekundy)
    3. Inicializace portů (piny PA0-6 a PB0-3 jsou konfigurovány pro výstup, PA7 a PB6 pro vstup)
    4. Inicializace sběrnice I2C (piny PB4 a PB5)
    5. Kontrola 7. bitu (CH) nulového registru DS1307
    6. Povolení globálního přerušení
    7. Zadání smyčky pomocí testu kliknutí na tlačítko

    Při prvním zapnutí, popř opětovné povolení při absenci záložního napájení DS307 dochází k přechodu na počáteční instalace aktuální čas. V tomto případě: tlačítko S1 - pro nastavení času, tlačítko S2 - přechod do další kategorie. Nastavit čas – hodiny a minuty se zapisují do DS1307 (sekundy jsou nastaveny na nulu) a pin SQW / OUT (7. pin) je nakonfigurován tak, aby generoval obdélníkové impulsy s frekvencí 1 Hz.
    Po stisku tlačítka S2 (S4 - v programu) jsou přerušení globálně deaktivována, program přejde do podprogramu korekce času. Současně se tlačítky S1 a S2 nastavují desítky a jednotky minut, poté se od 0 sekund stiskem tlačítka S2 zaznamená zadaný čas do DS1307, povolí se globální přerušení a provede se návrat do hlavního programu.

    Hodinky vykazovaly dobrou přesnost, časový posun za měsíc je 3 sekundy.
    Pro zlepšení přesnosti kurzu se doporučuje připojit quartz k DS1307, jak je uvedeno v datovém listu:

    Program byl napsán v prostředí Algorithm Builder.
    Na příkladu hodinového programu se můžete seznámit s algoritmem pro komunikaci mikrokontroléru s ostatními zařízeními po sběrnici I2C (každý řádek je v algoritmu podrobně komentován).

    Fotografie sestaveného zařízení a desky plošných spojů ve formátu .lay od čtenáře webu Anatoly Pilguk, za což mu patří velký dík!

    Zařízení používá: Tranzistory - SMD VS847 a CHIP rezistory

    Přílohy k článku:

    (42,9 kiB, 3038 přístupů)

    (6,3 KiB, 4058 přístupů)

    (3,1 KiB, 2500 přístupů)

    (312,1 KiB, 5 833 přístupů)


    Druhá verze hodinového programu v AB (pro ty, kteří si nestahují tu nejlepší)

    (11,4 kiB, 1842 přístupů)

    Na fotce je mnou sestavený prototyp k odladění programu, který celou tuto ekonomiku zvládne. Druhé arduino nano v pravém horním rohu prkénka nepatří do projektu a trčí tam jen tak, můžete ho ignorovat.

    Něco málo o principu fungování: arduino vezme data z časovače DS323, zpracuje je, pomocí fotorezistoru určí úroveň světla, poté vše odešle do MAX7219 a ten zase rozsvítí potřebné segmenty požadovaným jasem. Pomocí tří tlačítek můžete také nastavit rok, měsíc, den a čas podle potřeby. Na fotce indikátory zobrazují čas a teplotu, která je odebírána z digitálního teplotního čidla

    Hlavním problémem v mém případě je, že 2,7 palcové indikátory se společnou anodou a musely se nejprve nějak skamarádit s max7219, který je naostřený na indikátory se společnou katodou, a za druhé vyřešit problém s jejich napájením, protože potřebují ke záři 7,2 voltů, což jeden max7219 nemůže poskytnout. Když jsem na jednom fóru požádal o pomoc, dostal jsem stejnou odpověď.

    Řešení snímku obrazovky:


    Na výstupech segmentů z max7219 se drží mikroobvod, který invertuje signál a na každém výstupu, který musí být připojen ke společné katodě displeje, se přichytí obvod tří tranzistorů, které také invertují svůj signál a zvyšují napětí. Získáme tak možnost připojit displeje se společnou anodou a napájecím napětím vyšším než 5 voltů k max7219

    Na test jsem připojil jeden indikátor, vše funguje, nic nekouří

    Začínáme sbírat.

    Okruh jsem se rozhodl rozdělit na 2 části z důvodu obrovského množství propojek ve verzi rozvedené mými křivými tlapkami, kde bylo vše na jedné desce. Hodiny se budou skládat ze zobrazovací jednotky a napájecí a řídicí jednotky. Bylo rozhodnuto nejprve sestavit to druhé. Estéti a zkušení radioamatéři, prosím, neomdlévejte kvůli krutému zacházení s díly. Není touha kupovat tiskárnu kvůli LUT, tak to dělám po staru - cvičím na papíře, vrtám díry podle šablony, kreslím fixem, pak leptám.

    Princip upevnění indikátorů vlevo stejný jako na.

    Polohu indikátorů a komponentů označujeme pomocí šablony z plexiskla vyrobené pro pohodlí.

    Proces značkování







    Poté pomocí šablony vyvrtáme otvory na správných místech a vyzkoušíme všechny součásti. Vše do sebe zapadlo bezchybně.

    Kreslíme cesty a jed.




    koupání v chloridu železitém

    Připraveno!
    kontrolní panel:


    indikační deska:


    Řídicí deska dopadla perfektně, stopa na desce displeje nebyla kriticky pohlcena, jde to opravit, je čas pájet. Tentokrát jsem přišel o panenství SMD a zařadil do obvodu součástky 0805. Přinejmenším byly na místo připájeny první odpory a kondenzátory. Myslím, že to dostanu do rukou, bude to jednodušší.
    K pájení jsem použil koupené tavidlo. Pájení s ním je radost, nyní používám lihovou kalafunu pouze na cínování.

    Tady hotové desky. Řídicí deska má sedátko pro arduino nano, hodiny, dále výstupy pro připojení k desce displeje a senzorům (fotorezistor pro automatický jas a digitální teploměr ds18s20) a napájecí jednotku s nastavitelným výstupním napětím (pro velké sedmisegmentové stroje) a pro napájení hodin a arduina, panel displeje a panel displeje pro řešení pro uchycení 2 max10 napájení čtyř velkých sedmisegmentových a hromady propojek.




    zadní ovládací deska

    Zadní indikační deska:

    Příšerná smd montáž:


    zahájení

    Po zapájení všech kabelů, tlačítek a senzorů je čas vše zapnout. První běh odhalil několik problémů. Poslední velký indikátor nesvítil a zbytek svítil slabě. První problém jsem řešil připájením nohou smd tranzistoru, s druhým - úpravou napěťového výstupu o lm317.
    JE TO ŽIVÉ!

    Hodiny se zvukovým signálem budíku časovač pro ovládání domácích spotřebičů.

    Časovač je zařízení, které nastavit čas zapíná nebo vypíná zařízení svými spínacími kontakty. Časovače v reálném čase umožňují nastavit čas provozu v nastavenou denní dobu. nejvíce jednoduchý příklad takovým časovačem bude budík.

    Rozsah časovače je široký:
    - správa osvětlovacích zařízení;
    - řízení zavlažování pokojových a zahradních rostlin;
    - ovládání ventilace;
    - správa akvárií;
    - ovládání elektrických ohřívačů a tak dále.

    Navrhovaný časovač může rychle a levně vyrobit i začínající radioamatér.
    Udělal jsem to na základě konstruktoru hodin. ()

    Potřeboval jsem pomocí časovače ovládat zalévání rostlin v zemi.

    Podívejte se na celý proces výroby ve videu:


    Seznam nástrojů a materiálů
    - jakékoli elektronické hodinky s poplašným signálem;
    -šroubovák;
    - nůžky;
    - páječka;
    - cambric;
    - dvě relé pro 12V;
    - napájení 12V z adaptéru;
    - spojovací vodiče;
    - fóliový textolit pro tištěný spoj nebo prkénko na krájení;
    - časové relé průmyslové nebo domácí;
    -odpor;
    - KT815 tranzistory (nebo analogy);
    -dioda.

    Krok první. Odpájení desky časovače.
    Časovač obvod
    Jediné, co je potřeba, je odpájet součástky podle schématu na prkénko na krájení a připájejte dva vodiče z piezo emitoru hodin. Sbírání nejjednodušší obvod s mezilehlým relé a tranzistorovým spínačem. Když je dán první impuls zvukového signálu z hodin, relé P1 se zapne, normálně otevřený kontakt se sepne a zapne zátěž, současně přes druhý normálně otevřený kontakt relé P1 a normálně zavřený kontakt časového relé se relé P1 samočinně uzamkne. Spolu se zátěží je sepnuto časové relé RV - začíná odpočítávání zadané doby provozu zátěže. Na konci této doby PB rozepne kontakt a relé P1 je bez napětí, zátěž se vypne. Okruh je připraven na další cyklus. Dioda slouží k zamezení zpětného pulsu v hodinovém obvodu (můžete použít jakoukoli nízkopříkonovou diodu). LED pro indikaci zařazení zátěže. V tomto obvodu je potřeba mezilehlé relé se dvěma normálně otevřenými kontakty, ale neměl jsem ho - použil jsem dvě čínská relé (cívky jsou zapojeny paralelně). Pokud je zátěž silnější, musíte použít relé s výkonnějšími kontakty. Měl jsem 12V adaptér, jeho obvod jsem instaloval přímo na prkénko. V zásadě lze použít jakýkoli nízkopříkonový 12V zdroj.


    Pokud je kratší, pak hodiny sepnou zátěž a časové relé se po uplynutí doby expozice vypne.
    Pokud nemáte průmyslové časové relé, můžete to udělat sami podle jednoduchého schématu. Se zvýšením kapacity kondenzátoru C1 se zvyšuje provozní doba relé.


    Krok dva. Kontrola činnosti časovače.
    Můj obvod fungoval, když jsem ho poprvé zapnul.
    Zbývá nastavit čas budíku. Moje hodinky mají dvě nastavení času budíku. V mém případě stačí zapnout zalévání např. ráno v 7 hodin na expozici jedné hodiny a večer ve 20 hodin zase zalévat. Když stisknete tlačítka hodin, zvukové signály, proto při nastavování musí být obvod časovače odpojen, aby se vyloučil falešně pozitivní. Moje hodinky mají funkci „zvonění“ - každou hodinu od 8 do 20 hodin, to znamená, že kromě budíku můžete v případě potřeby použít tyto signály. Pokud není potřeba, to znamená, že funkce „zvonění“ je deaktivována.

    Takhle dopadl design víkendu. Bylo zajímavé válet nové schéma takže vše proběhlo rychle. Do budoucna bude potřeba vyrobit pouzdro a umístit tam desku a časové relé. Vyrobit si takový časovač vlastními silami je v silách začátečníka, aniž by utrácel spoustu času a peněz. A kde je aplikovat, už rozhodněte sami.

    Veškerá práce trvala pár víkendových večerů a 75 rublů (

    Existuje mnoho na prodej různé modely a možnosti pro elektronické digitální hodiny, ale většina z nich je určena pro vnitřní použití, protože čísla jsou malá. Někdy je však nutné umístit hodiny na ulici - například na zeď domu nebo na stadion, náměstí, tedy tam, kde budou pro mnoho lidí viditelné na velkou vzdálenost. Za tímto účelem byl vyvinut a úspěšně sestaven toto schéma velké LED hodiny, ke kterým můžete libovolně připojit (přes interní tranzistorové spínače) LED indikátory velká velikost. Zvýšit Kruhový diagram můžete na něj kliknout:

    Popis hodinek

    1. Hodinky. V tento režim K dispozici je standardní pohled na zobrazení času. Nechybí digitální korekce přesnosti hodinek.
    2. Teploměr. V tomto případě zařízení měří teplotu místnosti nebo venkovního vzduchu z jednoho čidla. Rozsah od -55 do +125 stupňů.
    3. Ovládání napájení je zajištěno.
    4. Výstup informací do indikátoru střídavě - hodiny a teploměr.
    5. Pro uložení nastavení a nastavení v případě výpadku napájení 220V se používá energeticky nezávislá paměť.


    Základem zařízení je ATMega8 MK, který je zableskován odkrytím pojistek dle tabulky:

    Řízení provozu a hodin

    Při prvním zapnutí hodin se na obrazovce zobrazí reklamní úvodní obrazovka a poté se přepne na zobrazení času. Stisknutím tlačítka SET_TIME indikátor se bude pohybovat v kruhu z hlavního režimu:

    • režim zobrazení pro minuty a sekundy. Pokud v tomto režimu současně stisknete tlačítko PLUS A MÍNUS, pak se sekundy vynulují;
    • nastavení minut aktuálního času;
    • nastavení hodin aktuálního času;
    • symbol t. Nastavení doby zobrazení hodin;
    • symbol Ó. Čas pro zobrazení symbolů pro indikaci venkovní teploty (out);
    • hodnota denní korekce přesnosti hodinek. Symbol C a opravná hodnota. Nastavení limitů od -25 do 25 sec. Vybraná hodnota bude denně v čase 0 hodin 0 minut a 30 sekund přičtena nebo odečtena od aktuálního času. Pro více podrobností si přečtěte pokyny, které jsou v archivu se soubory firmwaru a plošnými spoji.

    Nastavení hodin

    Držení tlačítek PLUS/MÍNUS proveďte zrychlené nastavení hodnot. Po změně jakéhokoli nastavení, po 10 sekundách, budou nové hodnoty zapsány do energeticky nezávislé paměti a odtud budou načteny při opětovném zapnutí napájení. Nová nastavení se projeví během instalace. Mikrokontrolér hlídá přítomnost hlavního napájecího zdroje. Když je vypnutý, zařízení je napájeno interní zdroj. Schéma redundantního napájecího modulu je zobrazeno níže:


    Aby se snížila spotřeba proudu, indikátor, senzory a tlačítka se vypnou, ale hodiny samy pokračují v odpočítávání času. Jakmile se objeví síťové napětí 220V, obnoví se všechny indikační funkce.


    Vzhledem k tomu, že zařízení bylo koncipováno jako velké led hodiny, mají dva displeje: velký LED - pro ulici a malý LCD - pro snadné nastavení hlavního displeje. Velký displej je umístěn ve vzdálenosti několika metrů od řídící jednotky a je propojen dvěma kabely po 8 vodičích. Pro ovládání anod externího indikátoru indikátorů se používají tranzistorové klíče podle schématu uvedeného v archivu. Autoři projektu: Aleksandrovich & SOIR.