Hodinárium Děčín

grafika
logo český spolek Horologický
grafika3b
www.orloj.eu
grafika3b
facebook
grafika3b
počitadla
grafika3bValid XHTML 1.0 Transitionalgrafika
grafika 7b


HOME


Novinky


Mapa


Kontakt


Vyhledávání



  

 

 

 

 


grafika

Hlavní hodiny na bázi Arduino zejména pro třídrátový rozvod dle IBM

Elektronika je stále výkonnější a levnější. I elektronické hodiny jsou stále přesnější, případně synchronizované dle DCF 77, GPS, sítě mobilních operátorů nebo z Internetu. Pomalu ztrácí význam řešit sítě jednotného času na bázi rozvodů polarizovaných či stejnosměrných impulzů. Přesto jsou místa, kde takové sítě jsou vhodné. Stroj podružných hodin IBM Internacional

Dnes se někdejší "fabrické hodiny" stále častěji stávají cílem sběratelů. Lze občas získat i podružné hodiny pro třídrátový rozvod systému IBM (INTERNATIONAL) původně řízené poměrně složitějšími elektromechanickými kyvadlovými hodinami. Hlavní hodiny IBM se však na trhu se starožitnostmi tak často neobjevují, proto jsou někdy "třídrátové" podružné hodiny připojovány na dvoudrátový rozvod, čímž ztratí schopnost částečného seřízení a jejich hlavní přednost je tak degradována. (Více na stránce Třídrátový rozvod IBM. ) Na fotografii stroje jsou vidět přepínací vačky  59. minuty mezi dráty A a B.

Přistoupili jsme k vývoji co nejlevnější varianty elektronických hlavních hodin na bázi Arduina v několika variantách, zejména však pro třídrátový rozvod hodin INTERNATIONAL. Řešení je minimalistické, bez zbytných zobrazovacích prvků. Navržené hlavní hodiny mají sekundovou přesnost danou buď použitými přesnými hodinami reálného času nebo synchronizací ze internetového serveru NTP nebo ze sítě GPS. Přesto je pořizovací cena potřebných modulů  Arduina jen několik stokorun. 

Základní požadavky na hlavní hodiny řízené Arduinem

Použitý HW pro NTP a nepolarizované impulzy

Toto řešení má nesporné výhody. Výstupní napětí údajně až do 46 V, proud může dosáhnout 3 A MAX dlouhodoběji 2 A do výkonu 25 W. Pro výstup polarizovaných impulzů je použit jeden z dvojice H můstků v modulu. Pro soustavu třídrátového rozvodu dle IBM používající nepolarizované pulzy se použijí poloviny obou H můstků. Výhodou modulu je, že jeho původní určení je pro řízení motoru. Proto vestavěné ochranné diody můstku dokáží zvládnout indukční zátěž cívek z hodin. Modul má možnost napájet svou logickou část napětím 5 V z vnitřního usměrňovače. Přestože deska WeMos má pracovní napětí 3,3V může ovládat pěti voltovou logiku H můstku. (Měřené pracovní napětí musí být ale upraveno tak, aby nepřesáhlo 3,3 V.)

Vlastnosti a funkce hlavních hodin pro třídrátové řešení IBM  - NTP impulser IBM

Podružné hodiny systému IBM normálně reagují na stejnosměrné impulzy po vodiči A. V své 59. minutě přepnou na vodič B. Umožní tak částečné seřízení na celou hodinu. Velká výhoda systému je, že drobné chyby (do 15 minut) v nastavení jednotlivých hodin se v každou celou hodiny ztotožní se skutečným časem. Podrobněji na stránce těchto hodin. Zde rekapituluji jen lehce upravená pravidla vysílání impulzů. Modul L298N

1. až 45. minuta minutové impulsy po vodičích A i  normální chod 
 46. až 59. minuta minutové impulsy pouze po vodiči A zastavení předbíhajících se hodin 
 59. minuta  15 impulsů po vodiči  dokrokování zpožděných hodin 
 60. minuta a dál minutové impulsy po vodičích A i B  normální chod 

Protože bylo uvažováno o použití v prostoru s kvalitním WiFi signálem internetu, byla použita synchronizace NTP  bez hodin reálného času. Synchronizace je dostatečně častá, aby se dalo využít interního počítání času mikroprocesorem. Zařízení používá  vývojovou desku ESP8266 ESP-12E OTA WeMos D1 CH340 WiFi a  H DUO  můstek L298N. H můstek na obrázku vpravo.

bude doplněno vypínači pro rychlý chod a zastavení hodin. (Na fotografii ještě nejsou) 

Čas GMT je získáván WiFi klientem z NTP serveru. Po startu program čeká na první nastavení času. Pokus o synchronizaci během chodu probíhá pak každých 15 minut. I při výpadku připojení impulser dále pracuje s dostatečnou přesností podle oscilátoru procesoru. Čas je předáván je ve formě EpochTime, což je počet sekund od 1.1.1970. Program kontroluje, zda toto časové razítko spadá do let 2021 až 2041, aby se ověřilo správné čtení časové informace.  Dokud bude používán letní čas, program impulseru použije přepočet. pro období, ve kterém je čas platný. Období letního času pro SELČ je zadáno tabulkou do roku 2025. Změna si vyžádá novou kompilaci programu.

Na obrázku je prototyp NTP impulser IBM_v1. Vyžaduje pracovní napájecí napětí 24V a samostatné napájení desky WeMos AD1 5V. Ačkoliv podle některých materiálů i vývojovou desku by bylo možné napájet zdrojem 24V. ( Zdá se však, že není možné současně zapojit USB do PC a napájecí zdroj s vyšším napětím než 5V.) Svítící diody signalizují impulz po vodičích A (zelený) nebo B (fialový). Modré tlačítko aktivuje rychlý pohyb vpřed, kdežto žluté tlačítka naopak linku zastaví. Obě tlačítka při uvolnění nastaví čas linky na současný čas. Vývojová deska je v plexisklovém boxu, H můstek je přišroubován na víku a univerzální plošný spoj je kolíkovou lištou zasunut do konektorů vývojové desky. 


NTPimouslerIBM_v1 prototyp

Prvotní zadání jména a hesla WiFi sítě

Impulser nemá vlastní nastavovací prvky, proto umožňuje zadání WiFi sítě pomocí mobilního telefonu či notebooku. Pokud jsou při startu cca 3 sekundy současně zapnutá tlačítka Rychlý chod a Stop, spustí se na Arduinu WiFi přístupový bod (AP) hlásící se jako "NTPimpulser". Po připojení (bez hesla) například mobilním telefonem nebo notebookem je možné se připojit k webu na pevné IP adrese  192.168.4.1. V zobrazeném formuláři je třeba zadat jméno a heslo WiFi sítě, ke které se má impulser připojit. Po odeslání dat impulser restartuje a bude se pokoušet připojit na zadanou síť. Celou akci můžete sledovat na sériové lince na USB konektoru s nastavenou rychlosti 57600 baudů, 8 bit bez parity. Během připojování bliká modrá LED na základní desce.

Pokud je připojení úspěšné modrá LED přestane blikat. Impulzer ze sítě získá IP adresu a pokusí se připojit na NTP server a podle získaného přesného času a zapamatovaného stavu linky nastaví hodiny na aktuální čas. 

web monitoru

Monitory chodu dostupné na WiFi síti

Monitory chodu jsou dva, interní a externí. První je dosažitelný jen z místní sítě a kromě zobrazení stavu umožňuje nastavení parametrů a hlavně seřízení linky a zobrazení 25 posledních událostí z protokolu. Hlavní stránka je na obrázku vpravo. Není indikován stav "Ztráta spojení", protože  v té době není monitor samozřejmě dostupný. Refresh stránky je po 15 sekundách. Při zadání hodnot tedy příliš neotálet. Kódy stavu jsou následující:

  • GOAB = Normální chod.
  • GOA_ = Pulzy jen po drátu A; zastavení hodin, které jsou v předstihu.
  • GOAA = Rychlé pulzy po drátu A; dohnání zpoždění jednotlivých hodin.
  • FAST = Rychlý krok celé linky pro dosažení aktuálního času po výpadku.
  • WAIT = Čekání, až dojde ze ztotožnění času a stavu linky. Používá se maximálně pro odchylku 20 minut.  
  • STOP = Linka zastavena pro ztrátu pracovního napětí. Po obnovení napájení, bude linka nastavena na aktuální čas.

Externí monitor dostupný z internetu zobrazuje jen čas poslední informace, kódový stav systému a nastavení linky. Na této stránce můžete sledovat externí monitor instalace v Hodináriu. Aktuální je však jen v provozní době Hodinária. Zdůrazňuji, že vlastní NTPimpulerIBM není ve veřejné síti. Zatím neuvažujeme o možnosti dálkového ovládání. Odeslání dat pro externí monitor naznačí bliknutí modré LED.
 

Nastavení linky na správný čas

Nestačí, aby správný čas měl NTP impulser IBM získaný z internetové sítě. Musí tak být nastavena i linka. Do této úvahy nezahrnujeme automatickou synchronizaci podružných hodin třídrátového systému v celou hodinu v rozsahu +- 15 minut. Instalace na panelu č5 v Hodináriu( Jednotlivé podružné hodiny, které se od správného času neodchylují více než je tato patnáctiminutová tolerance, se srovnají v celou hodinu. )

Existují tři možnosti nastavení:

  1. Tlačítka. Stisknutím tlačítka informujeme centrální jednotku, že linka bude v okamžiku uvolnění správně nastavena. Pokud je drženo tlačítko rychlého chodu ( na prototypu modré ) jsou po obou drátech vysílány rychlé impulzy. Pokud je drženo tlačítko Stop ( na prototypu žluté ), žádné impulzy vysílány nejsou. Tlačítko pustíme v okamžiku, kdy čas odpovídá poloze ručiček. Tato metoda je vhodná spíše pro malé rozdíly v nastavení. 
  2. Webové rozhraní. Pokud se chytrým telefonem či notebookem připojíme k téže interní WiFi síti, můžeme se pokusit zobrazit interní monitorovací a ovládací stránku, jakou vidíte na předcházejícím obrázku. Hodiny nastavíte tak, že zadáte ve tvaru hhmm co ukazují ručičky nyní. Impulser podle této informace nastaví ručičky rychlým chodem vpřed nebo u předcházení o méně než 20 minut vyčká na dosažení času. Nastavit zde můžete i délky pulzů a délku minimálních mezer mezi pulzy. Můžeme si zobrazit i poměrně podrobný protokol posledních 25 událostí. Má to však dvě úskalí. IP adresa webu monitoru je automaticky přidělená. Nejprve tedy musíme nějak zjistit, jaká ta adresa je. ( Scan IP adres například pro Windows programem Advanced IP Scaner nebo pro Android programem Network IP Scaner ). Pokud máme štěstí, může scan IP adres odhalit i hostname NTPimpulserIBM. Bohužel ne všechny AP to podporují. IP adresa byla protokolována na sériovou linku při připojení k WiFi (viz bod 3). Adresa často bývá stejná i při novém připojení. Zásadním problémem může být, že některé WiFi sítě mohou zakázat komunikaci mezi klienty a tak bude monitor nepřístupný. Pokud ovšem máte přístup ke konfiguraci routeru, můžete se problémům vyhnout. 
  3. Sériovou linkou po USB. Pokud se můžeme kabelem připojit přímo na USB konektor, můžeme na notebooku a telefonech (telefon by měl podporovat USB OTG) spustit monitor sériové linky s rychlostí 56 000 Bd, 8 bit bez parity.... V tom okamžiku začneme dostávat podrobné informace o stavu a činnosti centrálních hodin. Pokud po sériové lince pošleme informaci o nastavení rafiček (ve tvaru hhmm) impulser tuto informaci vezme na vědomí a nastaví linku na správný čas. Nastavit můžete i délku pulzů či mezer povelem začínajícím písmenem P nebo M a časem v milisekundách. 



NTP impulser E

Od NTP impulseru IBM byl odvozen NTP impulser E, který generuje polarizované impulzy. Použita je stejná technika a kromě vlastního generování polarizovaných impulzů zachová ostatní softwarové funkce. Pracuje však v intervalu 24 hodin. (Doplněn může být i  nastavovací povel P1.) 

V pravém okně běží externí monitor NTP impulseru E. Místo kódu stavu GOAB  používá kódy GO+1 pro kladný impulz a GO-1 pro záporný impulz. 




GPS impulser E

Na společném základě vyvíjíme i hlavní hodiny pro polarizované pulzy řízené časem z GPS a následně z hodin reálného času. Používáme vývojovou desku Klon Arduino UNO AR3 CH340H DUO  můstek L298IN, hodiny reálného času DS3231 synchronizované GPS přijímačem GPS NEBO-6UM GYNEO6MV2 Modul s Anténou. Zatím v prototypu na obrázku. 

Z modulu L298N je použit jeden z H můstků pro vytvářených polarizovaných impulzů 24 V. Jako hlavní časový zdroj synchronizovaný časem z GPS je použit modul  reálného času DS3231 AT24C32 IIC, což je low-cost a extrémně přesný I2C modul reálného času (RTC) s integrovaným teplotně kompenzovaným krystalovým oscilátorem. Použití tohoto modulu je pro spolehlivou funkci podstatné, protože kvalitní příjem GPS signálu nemusí být celodenně zaručen. Modul RTC je vybaven zálohovacím akumulátorem, případně baterií. 

Pro synchronizaci času z GPS zvolen modul GPS NEO-6M GYNEO6MV2 Modul s Anténou. Modul autonomně vyhodnocuje signály z GPS. Výsledky posílá po sériové lince do Arduina. Obsahuje zálohovací baterii, která umožňuje rychlejší "fixnutí" polohy, pokud hodiny jsou ve stejné lokalitě. Jeden z výstupů module je i signál PPS, tedy přesná frekvence jeden pulz za sekundu ( Pulse-Per-Second ). Tato přesnost však není v našem řešení využívána. 

Zařízení Protože zůstává jeden H můstek nevyužitý, nabízí se několik možností:

  • Druhá podružná linka se samostatným ručním nastavením
  • Sekundové pulzy, půlminutové pulzy, ... 
  • Spínání školního zvonku.
  • Odbíjení hodin.
  • ...
Prototyp GPSimpulser pro polarizované pulzy



Použití modulu L298N u klasických hodinPoužití samotného modulu L298N jako zesilovače pro kyvadlové řídící hodiny třídrátového rozvodu IBM

Zmíněný H můstek lze použít i jen jako zesilovač pro spínání indukční zátěže i u hodin s mechanicky ovládanými kontakty. Za cenu cca 50.- Kč získáte modul pro spolehlivé spínání indukční zátěže. Zapojení je velmi jednoduché. 

Výhodou je, že modul má i vlastní step-down zdroj 5V. Ten můžete s výhodou použít pro napájení logiky spínacích kontaktů, takže potřebujete pouze zdroj pracovního napětí 24 V. 

Výstupy z vačkové logiky A a B vedete na vstupy poloviny každého můstku. Aby nevznikaly při rozpojených kontaktech nejisté stavy, uzemníte tyto vstupy přes odpory 10K.  Pozor, společný bod cívek v hodinách může být zapojen jen na OUT2 nebo OUT3, aby nedocházelo ke zkratu me jednotlivými H můstky. A drát rozvodu je na OUT1, B drát na OUT4. Použití tohoto modulu prakticky znemožní jiskření na kontaktech a zvýší tak spolehlivost funkce. 

Závěr

Lze konstatovat, že na bázi Arduina a modulů z jeho okolí, lze postavit přesné a levné hlavní hodiny. Cena HW příliš nepřevýší běžné nesynchronizované elektronické generátory minutových impulzů. Protože synchronizace obsahuje i údaje o kalendářním datu, lze řešit  automatické přechody letního času. Takže slovy klasika: No a potom už jsou jenom samá pozitiva a sociální jistoty.




Odkazy

Petr Král

8 Přepínač DIL.


Telefon: 603 502 735, email: info (kyselá ryba) orloj . eu