GPS Hodiny v1
První prototyp GPS hodin.

Už před delším časem jsem si pořídil stavebnici DCF hodin. Moje požadavky byly prosté. Chtěl jsem, aby se hodiny samy seřizovaly a tím pádem šly stále přesně. To hodiny s přijímačem DCF samozřejmě umí. Nicméně díky přenosu signálu na velmi dlouhých vlnách jsou velice náchylné na rušení, a tak se stávalo, že občas i několik dní nebyl dostatečně kvalitní signál, aby se hodiny seřídily. Takže to bylo stálé hledání vhodného místa pro přijímač, a to není zrovna moje představa samostatného chodu.

Proto jsem se s kolegou v práci dohodl, že se pokusíme nějaké hodiny vytvořit. První myšlenka padla opět na řízení DCF signálem s tím, že hodiny budou zobrazovat i vteřiny na rozdíl od mé stavebnice a jako další údaj ještě datum. Toť vše, protože nic víc jsem nikdy na hodinách nepotřeboval.

Po chvilce bádání, jak to nejlépe udělat, a po poradě s dalším kolegou jsme došli k zajímavému a originálnímu řešení hodin. Proč nepoužít pro řízení GPS přijímač? A protože jsem už předtím nějaké pokusy s GPS přijímačem dělal, bylo rozhodnuto. Postavíme hodiny řízené GPS místo DCF.

První bylo nutné pořídit vhodný GPS přijímač. Ten jsem již měl z dřívějška a poměrně dobrý a hlavně i levný. Použili jsme tedy COMPASS NAVIBE GB337, který se dal pořídit kolem 1000 Kč a je vybaven vlastní baterií a rozhraním Bluetooth 2.0 pro komunikaci s okolím. Poté stačilo trochu prohledat internet, abychom zjistili, jak probíhá komunikace s okolím a co a v jakém formátu se odesílá. NMEA formát je velmi přehledný a tak započaly první testy.

V momentě, kdy bylo jasné, že tento GPS přijímač je schopen přijímat alespoň jednu družici i ve sklepě, už nebylo pochyb o tom, že je ideální pro naše GPS hodiny. Pro účely hodin totiž bohatě stačí i jediný satelit, který by pro běžné určení polohy nestačil.

Další problém, který bylo třeba vyřešit, byla komunikace GPS s hodinami. Díky tomu, že přijímač obsahuje Bluetooth, je možné ho pohodlně spojit skoro s jakýmkoli přístrojem vybaveným tímto rozhraním. Pro spojení s hodinami by se ale jako vhodnější způsob jevilo rozhraní RS232. Ani Bluetooth však není překážka, a tak jsme použili mezičlánek ve formě Bluetooth modulu od firmy connectBlue, v Čechách zastoupené firmou Spezial Electronic. Jde o modul OEMSPA310.

Tyto moduly jsou samostatně plně funkční a nevyžadují žádný podpůrný hardware. Je tedy možné je skoro bez úprav přímo propojit s procesorem GPS hodin. Následně už nic nebránilo konstrukci a vznikl první prototyp funkčních hodin.

Schéma zapojení - procesor

Schéma procesorové desky GPS hodin
Schéma procesorové části GPS hodin.

Schéma i celá konstrukce je rozdělena na dvě části, a to desku procesoru a desku displeje. Na tomto obrázku je schéma procesoru.

Schéma zapojení - displej

Schéma displejové desky GPS hodin
Schéma displejové části GPS hodin.

Schéma i celá konstrukce je rozdělena na dvě části, a to desku procesoru a desku displeje. Na tomto obrázku je schéma displeje.

Deska spoje a osazovací plán - procesor

Plošný spoj procesorové desky GPS hodin
Plošný spoj procesorové desky.
Osazovací plán procesorové desky GPS hodin
Osazovací plán procesorové desky.

Plošný spoj je vytvořen na jednostranné desce o velikosti 100x74 mm. Při osazování součástek by neměl nastat žádný problém, nezapomeňte osadit jednu drátovou propojku pod IC3.

Deska spoje a osazovací plán - displej

Plošný spoj displejové desky GPS hodin
Plošný spoj displejové desky.
Osazovací plán displejové desky GPS hodin
Osazovací plán displejové desky.

Plošný spoj je vytvořen na jednostranné desce o velikosti 157x60 mm. Zde je nutné dát si pozor na správné osazení drátových propojek, kterých je 11+6. Těch 6 propojek není nutné osazovat, neboť jde o propojky anod segmentů a ty jsou většinou již propojeny uvnitř displeje. Také je nutné upozornit na fakt, že pořadí vývodů na desce displeje je vůči desce procesoru zrcadlově otočeno. Původně byla deska procesoru připevněna na stropu krabičky, tedy vzhůru nohama. Další desky displejů pro různé zobrazovače najdete v dokumentaci ke konstrukci.

Oživení a nastavení

Toto zapojení nevyžaduje žádné nastavování a pracuje okamžitě po připojení napětí. Jediné, co je snad nutné trochu poladit, je správná volba hodnoty rezistorů pro použité zobrazovače. Hodnota ve schématu je přibližná, konkrétně R2-R9.

Také je nutné nakonfigurovat Bluetooth modul, aby komunikoval s GPS. Tento bod probereme samostatně níže.

Popis zařízení a jeho ovládání

Myslím, že není nutné nějak zvlášť tyto hodiny popisovat. Každý asi ví, co jsou hodiny a k čemu slouží, takže přeskočíme k tomu podstatnému. Hodiny mají jediné tlačítko, které slouží pro dvě věci. Krátkým stiskem je na displeji zobrazen aktuální datum ve formátu DD:MM.RR. Tento datum asi po pěti vteřinách zmizí a hodiny se vracejí do normálního režimu.

Dlouhý stisk, přibližně 3 vteřiny, přepíná letní a zimní čas. Tuto volbu je nutné provádět ručně, protože nebylo dost dobře možné zajistit přepnutí automaticky. Šlo by to řešit naprogramováním kalendáře do hodin, což jsme z důvodu jednoduchosti prozatím zamítli. Je tedy nutné dvakrát do roka přepnout čas. Hodiny si pamatují i při výpadku napájení, v jakém režimu byly naposledy, a po obnovení napájení automaticky přejdou do posledního režimu.

Žádné další nastavení není nutné. Jak už název hodin napovídá, hodiny jsou řízeny a synchronizovány automaticky signálem GPS. Pro zjištění správného času stačí hodinám, respektive GPS modulu, zachytit jediný satelit. Proto umístění GPS přijímače není nijak kritické a bez problémů pracuje kdekoli v domě. Díky tomu, že hodiny jsou propojeny s GPS modulem přes Bluetooth, je možné umístit přijímač v místě dobrého příjmu satelitů až několik desítek metrů od samotných hodin.

Celé zapojení se točí kolem procesoru PIC16F628A. Díky tomu je značně jednoduché. Displej je řízen převodníkem 7446, případně je možné použít starší model D146D. Napájení je řešeno s použitím usměrňovacího můstku a stabilizátoru. Osobně docela rád používám můstek, protože zařízení je s ním odolnější vůči přepólování a lze použít i AC adaptér. Stabilizátor je nutné vybavit menším chladičem.

Původně jsme chtěli přivádět signál z Bluetooth modulu přímo na vstup procesoru. Bohužel se ukázalo, že 5V logika si moc nerozumí s 3,3V logikou Bluetooth modulu, a tak bylo nutné zařadit jednoduchý převodník tvořený tranzistory Q8 a Q9 a okolními rezistory. Poté již přenos signálu fungoval bezchybně. Bluetooth modul se připojuje třemi vodiči: dva jsou napájecí + a - na pinech 2 a 3 konektoru JP1. Pin 1 je datový a je připojený na TX kanál Bluetooth modulu.

Samozřejmě by bylo možné některý jiný GPS modul vybavený rozhraním RS232 připojit přímo k hodinám na JP1 jako výstup Bluetooth modulu. Tím by se Bluetooth modul ušetřil a celé hodiny by se výrazně zlevnily.

Nastavení Bluetooth modulu

Jak už bylo zmíněno výše, je použit modul OEMSPA310 a ten je nutné spárovat s GPS modulem. To se provádí pomocí programu Basic Wizard, který je zdarma k dispozici při zakoupení modulu a je také v dokumentaci pro tuto konstrukci. Protože se mi nechce zdlouhavě popisovat, kde co nastavit, připravil jsem video návod, jak tento modul správně nakonfigurovat. Při této konfiguraci musí být souběžně zapnutý GPS modul, aby ho bylo možné spárovat.

V průběhu konfigurace je nutné nastavit PIN pro GPS modul NAVIBE GB337, tedy 0000, dále komunikační rychlost 38400 B/s a Flow Control na NONE. Dále jsem ještě zapnul možnost konfigurovat modul OEMSPA310 přímo přes Bluetooth, což se může někdy později hodit. První konfigurace je totiž možná pouze po kabelu. Nakonec se provede vyhledání a spárování modulu s GPS.

Všem doporučuji nastudovat dokumentaci k modulu OEMSPA310 a jeho nastavení. Jistě zjistíte, že na tom nic není a jeho možnosti jsou dosti široké.

Takže zde je video, jak to celé nakonfigurovat:

Nastavení Bluetooth modulu OEMSPA310 pro komunikaci s GPS.

A zde se můžete podívat, co taková GPS vlastně posílá:

Ukázka dat odesílaných GPS přijímačem.

Možné chyby

V současnosti by hodiny měly pracovat bez problému. Starší verze firmwaru měly problém se stabilitou a občas se hodiny zasekly a bylo nutné je restartovat.

Seznam součástek

Deska procesoru

OznačeníKsHodnota / typPoznámka
R1110K
R2-R98330RDle použitých zobrazovačů.
R10-R1564,7K
R16, R17282K
R18110K
R19115K
C11470uF/25V
C21100uF/10V
C31100nF
C4, C5233pF
Q11Krystal 10,240MHz
Q2-Q76KC308Nebo podobný PNP.
Q8, Q92KC238Nebo podobný NPN.
B11DB106Nebo jiný 1A můstek.
IC117805Včetně chladiče.
IC217446NNebo D146D.
IC31PIC16F628ANaprogramovaný procesor.
F11Pojistka 200mA/FVčetně držáku do DPS.
JP1, JP22Jumper lišta lámací
S11Tlačítko do DPS 90°

Deska displeje

OznačeníKsHodnota / typPoznámka
RR1, R22100RNebo dle použitých LED diod.
LED1-LED44LED dioda 5mm červená
DL1-DL66BS-AA11RDNebo jiný zobrazovač se společnou anodou.

Dokumentace

No a na závěr si zde můžete stáhnout veškerou dokumentaci pro stavbu. Je zde i projekt pro Eagle a program pro procesor.

Prohlášení

Tato konstrukce je z mé hlavy, a proto není povoleno bez mého souhlasu přejímání na jiné stránky nebo komerční využití. Je povoleno pouze odkazovat na tento web a tuto konstrukci. Pro více informací mne stačí kontaktovat. Zároveň nepřebírám jakoukoli odpovědnost za chování zařízení a případné škody způsobené použitím tohoto zařízení, ať by byly jakéhokoli rázu. Zařízení je určeno pouze k užití pro vlastní potřebu.

V této konstrukci je použit program mikrokontroleru, na který se vztahují autorská práva. Na program je udělena zdarma licence pro užití pro vlastní potřebu. Jakýkoli prodej není bez souhlasu autora možný. Protože nejsem autorem tohoto programu, je zde program uveřejněn se souhlasem jeho autora Botase.