DIY LED hodiny. Domácí náramkové hodinky. Domácí pouzdro pro LED hodinky

20. srpna 2015 ve 12:34 hodin

Domácí elektronické hodinky, elementová základna- část 1, měření času

  • DIY nebo Udělej si sám

Pravděpodobně každý geek, který se věnuje domácí elektronice, 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 co je nejlepší vyrobit. 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čí.

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

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

Vestavěný CPU RC oscilátor

Nejjednodušší nápad, který může přijít na mysl, je jednoduše nastavit softwarový časovač a použít jej k odpočítávání sekund. Takže tento nápad není dobrý. Hodiny budou samozřejmě fungovat, ale přesnost vestavěného generátoru není žádným způsobem regulována a může „plavat“ v rozmezí 10% jmenovité hodnoty. Je nepravděpodobné, že by někdo potřeboval hodinky, které zaberou 15 minut měsíčně.

Modul reálného času DS1307

Více správná možnost, také používané ve většině „lidových“ produktů, jsou hodiny reálného času. Mikroobvod komunikuje s mikrokontrolérem přes I2C a vyžaduje minimum kabeláže (quartz a pár rezistorů). Cena je asi 100 rublů za čip, nebo asi 1 $ na eBay za hotovou desku s čipem, paměťovým modulem a konektorem baterie.

Schéma z datasheetu:

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

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, ale pro frekvenci 32768Hz to vyjde 20*32768/1000000 = ±0,65536Hz, tzn. už půl hertzu. Jednoduchými výpočty lze vidět, že generátor s takovým rozdílem za den „nacvaká“ 56 tisíc cyklů navíc (nebo chybějících), což odpovídá 2 sekundám za den. Existují různé druhy křemene, někteří uživatelé psali i o chybě 5 sekund za den. Nějak to není moc přesné – za měsíc takové hodinky zaberou minimálně minutu. To je již významný rozdíl, patrný pouhým okem (když babiččin oblíbený televizní seriál začíná v 11:00 a hodiny ukazují 11:05, bude vývojář takových hodinek před příbuznými v rozpacích).

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

DS3231 modul reálného času

Nejsme první, kdo si klade otázku přesnosti, a společnost Dallas na základě přání vydala pokročilejší modul - DS3231. Jmenuje se „Extremely Accurate Real Time Clock“ a má vestavěný generátor s teplotní korekcí. Přesnost je 10krát vyšší a je 2 ppm. Cena je trochu vyšší, ale tělo čipu je určeno pro osazení SMD, pájení není tak pohodlné, ale na eBay se dá koupit již hotová deska.


(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 ji nelze ignorovat. Málokdo ví, ale přesné časové signály byly vysílány přes rádio od 70. let. Vysílač DCF-77 se nachází v Německu u Frankfurtu a na frekvenci VHF 77,5 KHz se vysílají přesné časové značky (ano, už měly zeď a stolní hodiny, které není třeba upravovat).

Dobrá věc na této metodě je, že obvod má nízkou spotřebu energie, takže nyní dokonce vyrábí náramkové hodinky s touto technologií. Hotovou přijímací desku DCF-77 lze zakoupit na ebay, požadovaná cena je 20 $.

Mnoho hodinek 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í zóny leží pouze Moskva a Petrohrad. Podle recenzí majitelů lze jen někdy přijímat signál, který pro praktická aplikace Samozřejmě, že to nepůjde.

GPS modul

Pokud jsou hodiny umístěny blízko okna, pak je to docela skutečnou metodou získání přesného času - GPS modul. Tyto moduly lze levně zakoupit na ebay (emisní cena je 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 rozbor není obtížný ani pro slabé Arduino. Mimochodem, patrioti si mohou pořídit dražší modul Ublox NEO-7N, který podporuje (podle recenzí) GPS i Glonass.

Je zřejmé, že GPS modul neví nic o různých časových pásmech, takže se vývojář bude muset nad jejich výpočtem a změnou letního/zimního času zamyslet sám. Další mínus pomocí GPS- relativně vysoká spotřeba energie (některé moduly však lze přepnout do „režimu spánku“ pomocí samostatných příkazů).

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 něco „exotického“, pak nejzajímavější možností je modul esp8266.

Jedná se o levný (emisní cena je asi 200 rublů na ebay) WiFi modul může komunikovat se serverem přes sériový port procesoru, v případě potřeby jej lze také přeflashovat (existuje poměrně hodně firmwaru třetích stran), a část logiky (například dotazování časového serveru) lze provést v modulu samotném. Firmware třetí strany Je podporováno mnoho všeho, od Lua po C++, takže existuje poměrně dost možností, jak „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 metody časového výstupu.

S dynamickým displejem. Neexistují žádné stížnosti na provoz hodinek: přesný pohyb, pohodlné nastavení. Ale jedna velká nevýhoda je, že je špatně vidět ve dne. LED indikátory. Abych problém vyřešil, přešel jsem na statický displej a jasnější LED. Jako vždy v software Děkuji moc Soir. Obecně upozorňuji na skvělé pouliční hodiny se statickou indikací zůstávají funkce nastavení stejné jako u předchozích hodinek.

Mají dva displeje - hlavní (venku na ulici) a pomocný na indikátorech - uvnitř, na těle zařízení. Vysoký jas je dosaženo použitím ultrajasných LED diod s provozním proudem 50 mA a čipů ovladače.

Systém elektronické hodinky venkovní s jasnými LED diodami

Chcete-li aktualizovat firmware ovladače pomocí souborů a použít následující nastavení pojistek:

Desky plošných spojů hodin, řídící jednotky a externí modul, ve formátu LAY, .


Vlastnosti tohoto hodinového obvodu:

- 24hodinový formát zobrazení času.
- Digitální korekce přesnosti zdvihu.
- Vestavěné ovládání hlavního napájení.
- Energeticky nezávislá paměť mikrokontroléru.
- K dispozici je teploměr, který měří teplotu v rozmezí -55 - 125 stupňů.
- Na ukazateli je možné střídavě zobrazovat informace o čase a teplotě.


Stisknutím tlačítka SET_TIME posunete ukazatel v kruhu z režimu hlavních hodin (zobrazení aktuálního času). Ve všech režimech se podržením tlačítek PLUS/MINUS provede zrychlená instalace. Nastavení se změní po 10 sekundách od poslední změna hodnoty budou zapsány energeticky nezávislá paměť(EEPROM) a odtud bude načten při opětovném zapnutí napájení.


Dalším velkým plusem navrhované možnosti je, že se jas změnil, nyní za slunečného počasí je jas vynikající. Počet vodičů se snížil ze 14 na 5. Délka vodiče k hlavnímu (venkovnímu) displeji je 20 metrů. S výkonem elektronických hodinek jsem spokojen, ukázaly se jako plně funkční hodinky - ve dne i v noci. S pozdravem Soir-Alexandrovich.

Tyto hodiny jsou sestaveny na známé čipové sadě - K176IE18 (binární čítač pro hodiny s generátorem zvonkového signálu),

K176IE13 (počítadlo hodin s budíkem) a K176ID2 (konvertor binární kód v sedmi segmentech)

Po zapnutí napájení se do počítadla hodin a minut a do registru paměti budíku čipu U2 automaticky zapisují nuly. Chcete-li nainstalovat

čas, stiskněte tlačítko S4 (Time Set) a podržte jej stiskněte tlačítko S3 (Hour) - pro nastavení hodiny nebo S2 (Min) - pro nastavení

zápis. V tomto případě se hodnoty odpovídajících indikátorů začnou měnit s frekvencí 2 Hz od 00 do 59 a poté znovu 00. V okamžiku přechodu

od 59 do 00 se počítadlo hodin zvýší o jednu. Nastavení času budíku je stejné, stačí jej podržet

tlačítko S5 (Alarm Set). Po nastavení času budíku je třeba budík zapnout stisknutím tlačítka S1 (kontakty

ZAVŘENO). Tlačítko S6 (Reset) se používá k vynucení resetu indikátorů minut na 00 během nastavování. Svou roli hrají LED diody D3 a D4

dělící body blikající frekvencí 1 Hz. Digitální indikátory ve schématu jsou umístěny v ve správném pořadí, tj. přijít první

ukazatele hodin, dvě dělící tečky (LED D3 a D4) a ukazatele minut.

Hodiny používaly odpory R6-R12 a R14-R16 s příkonem 0,25W, zbytek - 0,125W. Quartzový rezonátor XTAL1 na frekvenci 32 768 Hz -

obyčejná hlídka, tranzistory KT315A lze nahradit jakýmkoli nízkovýkonovým křemíkem příslušné struktury, KT815A - s tranzistory

průměrný výkon se statickým základním koeficientem přenosu proudu alespoň 40, diody - jakýkoli křemík s nízkou spotřebou. Výškový reproduktor BZ1

dynamický, bez vestavěného generátoru, odpor vinutí 45 Ohm. Tlačítko S1 je přirozeně uzamčeno.

Použité indikátory jsou TOS-5163AG zelené, můžete použít jakékoli jiné indikátory se společnou katodou bez redukce

odpor rezistorů R6-R12. Na obrázku můžete vidět pinout tohoto indikátoru, závěry jsou zobrazeny podmíněně, protože prezentovány

pohled shora.

Po sestavení hodinek možná budete muset upravit frekvenci krystalového oscilátoru. To lze nejpřesněji provést digitálním ovládáním

při použití frekvenčního měřiče je doba kmitání 1 s na kolíku 4 mikroobvodu U1. Ladění generátoru v průběhu hodin bude vyžadovat podstatně vyšší náklady

čas. Možná budete muset také upravit jas LED diod D3 a D4 výběrem odporu rezistoru R5, aby vše

rovnoměrně jasně zářil. Proud spotřebovaný hodinami nepřesahuje 180 mA.

Hodiny jsou napájeny z pravidelný blok napájecí zdroj namontovaný na kladném mikroobvodovém stabilizátoru 7809 s výstupním napětím +9V a proudem 1,5A.

Zápěstí domácí hodinky na indikátoru vakua, vyrobený ve stylu steampunk. Materiál převzat z www.johngineer.com. Tyto náramkové hodinky jsou sestaveny na základě displeje IVL-2. Původně jsem si koupil několik těchto indikátorů, abych vytvořil standardní stolní hodiny, ale po chvíli přemýšlení jsem si uvědomil, že bych si také mohl postavit stylové náramkové hodinky. Indikátor má řadu funkcí, díky kterým je pro tento účel vhodnější než většina ostatních sovětských displejů. Zde jsou parametry:

  • Jmenovitý proud vlákna je 60 mA 2,4 V, ale pracuje s 35 mA 1,2 V.
  • Malá velikost- pouze 1,25 x 2,25"
  • Může pracovat s relativně nízké napětí sítě 12V (až 24)
  • Spotřebuje pouze 2,5 mA/segment při 12,5 V

Všechny fotografie lze zvětšit kliknutím na ně. Největší překážkou úspěšného dokončení projektu bylo jídlo. Vzhledem k tomu, že tyto hodinky byly zamýšleny jako součást kostýmu, nezáleží na tom, že baterie vydrží pouze 10 hodin. Usadil jsem se na AA a AAA.

Schéma je celkem jednoduché. Mikrokontrolér Atmel AVR ATMega88 a hodiny reálného času - DS3231. Ale existují i ​​jiné čipy, mnohem levnější, které budou fungovat stejně dobře v generátoru.

VFD displej je řízen MAX6920 - 12bitovým posuvným registrem s vysokonapěťovými (až 70V) výstupy. Snadno se používá, je velmi spolehlivý a kompaktní. Ovladač displeje také mohl připájet spoustu samostatných součástek, ale to bylo nepraktické kvůli prostorovým omezením.

Napětí baterie také napájí 5V boost konvertor (MCP1640 SOT23-6), který je potřebný pro normální provoz AVR, DS3231 a MAX6920 a také funguje jako vstupní napětí pro druhý zesilovací převodník (NCP1403 SOT23-5), který vytváří 13V pro napětí sítě indikátoru vakua.

Hodinky mají tři senzory: jeden analogový a dva digitální. Analogový senzor je fototranzistor a používá se k detekci úrovně světla (Q2). Digitální senzory: BMP180 - tlak a teplota a MMA8653 - akcelerometr pro detekci pohybu. Obě digitální senzor připojeno přes I2C sběrnici k DS3231.

Pro krásu a ochranu skleněného displeje náramkových hodinek jsou připájeny mosazné trubičky a pro připevnění koženého řemínku jsou použity měděné dráty o tloušťce 2 mm. Plný schéma zapojení není v původním článku uveden - viz datasheet zapojení na uvedené mikroobvody.

Hodiny od LED podsvícení a pulzující minutová ručička dál Mikrokontrolér Arduino
Tyto unikátní hodinky s LED podsvícením a pulzující minutovou ručkou byly vyrobeny pomocí čipu TLC5940 PWM ovladače. Jeho hlavním úkolem je rozšíření počtu kontaktů s PWM modulací. Další vlastností těchto hodinek je přepracovaný analogový voltmetr do zařízení, které měří minuty. Za tímto účelem bylo na standardní tiskárně vytištěno nové měřítko a nalepeno na staré měřítko. Jako taková se 5. minuta nepočítá, pouze během páté minuty ukazuje počítadlo času šipku ukazující na konec stupnice (mimo stupnici). Hlavní ovládání je implementováno na mikrokontroléru Arduino Uno.

Aby podsvícení hodin v tmavé místnosti nesvítilo příliš jasně, byl implementován obvod pro automatické nastavení jasu v závislosti na osvětlení (byl použit fotorezistor).

Krok 1: Požadované komponenty



Zde je to, co budete potřebovat:

  • 5V DC modul analogového voltmetru;
  • Mikrokontrolér Arduino UNO nebo jiné vhodné Arduino;
  • Shromáždění Deska Arduino(proto deska);
  • DS1307 modul hodin reálného času (RTC);
  • Modul s PWM regulátorem TLC5940;
  • Petal LED podsvícení – 12 ks;
  • Komponenty pro sestavení obvodu automatická regulace jas (LDR).

Také pro výrobu některých dalších součástí projektu je žádoucí mít přístup k 3D tiskárně a laserovému řezacímu stroji. Předpokládá se, že máte tento přístup, takže pokyny budou obsahovat výrobní výkresy v příslušných fázích.

Krok 2: Vytočte




Číselník se skládá ze tří dílů (vrstev) vyřezaných na laserovém řezacím stroji z 3mm MDF plechu, které jsou k sobě připevněny šrouby. Deska bez štěrbin (na obrázku vpravo dole) je umístěna pod další deskou pro umístění LED diod (vlevo dole). Poté se do příslušných slotů umístí jednotlivé LED diody a navrch se nasadí přední panel (na obrázku nahoře). Podél okraje číselníku jsou vyvrtány čtyři otvory, kterými jsou všechny tři díly zajištěny k sobě šrouby.

  • Pro testování výkonu LED v této fázi byla použita knoflíková baterie CR2032;
  • Pro zajištění LED byly použity malé proužky lepicí pásky, které byly nalepeny na zadní stranu LED;
  • Všechny nohy LED byly odpovídajícím způsobem předem ohnuté;
  • Byly převrtány otvory podél okrajů, kterými bylo provedeno šroubování. Ukázalo se, že to bylo mnohem pohodlnější.

Technický výkres dílů číselníku je k dispozici na:

Krok 3: Navrhněte obvod



V této fázi byl vyvinut elektrické schéma. Sloužily k tomu různé učebnice a příručky. Nebudeme se tímto procesem zabývat příliš hluboko; dva soubory níže ukazují hotový elektrický obvod, který byl použit v tomto projektu.

Krok 4: Připojení obvodové desky Arduino





  1. Prvním krokem je odpájení všech kontaktů jehly na deskách plošných spojů a deskách sekcí;
  2. Dále díky tomu, že 5V napájení a GND používá tolik desek a periferní zařízení, pro spolehlivost byly na desce plošných spojů připájeny dva vodiče pro 5V a GND;
  3. Dále byl vedle použitých kontaktů instalován řadič TLC5940 PWM;
  4. Poté se připojí regulátor TLC5940 podle schématu zapojení;
  5. Aby bylo možné používat baterii, byl na okraj obvodové desky instalován modul RTC. Pokud jej připájete doprostřed desky, značky kolíků nebudou viditelné;
  6. Modul RTC byl připojen podle schématu zapojení;
  7. Byl sestaven obvod automatického řízení jasu (LDR), můžete si jej prohlédnout na odkazu
  8. Vodiče pro voltmetr jsou připojeny připojením vodičů na pin 6 a GND.
  9. Nakonec bylo připájeno 13 vodičů pro LED (v praxi se ukázalo, že je lepší to udělat před krokem 3).

Krok 5: Kód

Níže uvedený kód byl sestaven z různých částí hodinových komponent nalezených na internetu. Byl plně odladěn a nyní je plně funkční a bylo přidáno několik doplňků podrobné komentáře. Před načtením do mikrokontroléru však zvažte následující body:

  • Před flashováním firmwaru Arduino musíte odkomentovat řádek, který nastavuje čas:
    rtc.adjust(DateTime(__DATE__, __TIME__))
    Po zablikání ovladače tímto řádkem (čas je nastaven) je potřeba to znovu okomentovat a ovladač znovu zablikat. To umožňuje RTC modul Použijte baterii k zapamatování času, pokud dojde k výpadku hlavního napájení.
  • Pokaždé, když použijete "Tlc.set()", musíte použít "Tlc.update"

Krok 6: Vnější kroužek

Vnější prsten hodinek byl vytištěn 3D pomocí tiskárny Replicator Z18. Připevňuje se k hodinkám pomocí šroubů na ciferníku hodinek. Níže je soubor s 3D modelem prstenu pro tisk na 3D tiskárně.

Krok 7: Sestavení hodin


Mikrokontrolér Arduino s veškerou další elektronikou byl připevněn k zadní části hodin pomocí šroubů a matek jako distančních podložek. Poté jsem připojil všechny LED, analogový voltmetr a LDR k vodičům, které byly předtím připájeny k desce plošných spojů. Všechny LED jsou propojeny jednou nohou a připojeny k pinu VCC na ovladači TLC5940 (kousek drátu je jednoduše připájen do kruhu).

I když to vše není příliš dobře izolované zkraty, ale práce na tom budou pokračovat v budoucích verzích.




Nahoru