Railnet

Centrála zrychleného času

Elektronika | Zdeno Janeček, 24. 10. 2017 (2654 zhliadnutí)

Požádal mne Martin Vaňo o centrálu hodin zrychleného času i pro ovladač Oto, který umožňuje zobrazit zrychlený čas a zároveň by centrála dokázala běžet spolu s centrálou Intelibox od Uhlenbrock. Navrhnul jsem mu, že zkusím objednat panely 8x8 dot matrix na zobrazení časových údajů. Tím bude displej větší a bude moci sloužit jako centrální displej pro modulové ježdění.

Panely jsou veliké 34 x 34 mm a jsou uloženy do 2 x 4 pozice. Teda displej má celkové rozměry 68 x 136 mm. Mohl bych to zvětšit, ale to už přesahuje moje mechanické schopnosti. Musel bych použít velký procesor s množstvím vývodů, protože každý segment musí být řízený samostatně. Pokud bych použil skládačku 3 x 8 segmentů, tak to vyžaduje 24 vývodů ChipSelect enable a to už je fakt síla. A procesory se 40 vývody nejsou až tak laciné. Snad jedině by se dalo použít Arduino2560, to by bylo celkem reálné a celkem laciné. Ale vůbec ne snadné, kabeláž by byla dost extrémní. Ku každému modulu musí jít 5-žílový kabel. Při poctu 24 kusů je to opravdu dost.

Při mém řešení jsem káblování obešel větší deskou plošného spoje, kde mám velikost 130 x 110 mm a kde se mi vejde všechno bez káblování.

Schéma je zase extrémně jednoduché, ale to trosku klame, protože tam nejsou zakreslené všechny konektory a propojky a moduly displejů.

Rozložení součástek na desce plošných spojů. 110 x 130 mm. Je tu poměrně dost propojek, je to cena za nepoužití dvojstranné desky a prokovených otvorů.

Popis součástek v zapojení

Součástka, na kterém základě je postavena tato centrála hodin. je Maxim7219, která umožňuje řízení 8-segmentového displeje anebo matice 8x8 bodů, složeného z jednotlivých LED diod. Použil jsem variantu na řízení matice 16 x 32 bodů velkého displeje. Jeden znak je teda veliký 6 x 15 bodů LED červené barvy..

Srdcem centrály je procesor Atmega88/168/328, která umožňuje zapsat všechen kód a má taky příslušné periférie na obsluhu všeho potřebného. Atmega je řízena krystalem 8MHz, který je vydělen 2 na 4MHz, které úplně stačí na zprovoznění centrály.

Centrála hodin je napájená z USB nabíječky, která musí dát aspoň 500mA při 5V, protože je nemožné to napájet z Loconet rozvodu. Centrála je schopná při plném svitu potáhnout si opravdu těch 500mA. Sběrnice Loconet , přesněji rozvod X3, není vůbec proudově zatěžován.

K ovládání je použit enkodér s tlačítkem, protože se mi nějak nechtělo použít klávesnici a taky proto, že pro klávesnici by bylo potřeba spousta místa.

Jinak je potřeba spousta konektorů na uchyceni displejů, protože by to asi nebylo dobré pájet natvrdo.

Popis činnosti

Jeden strojový takt trvá 250nS a tak je čítač 1 nastavený s předděličkou 64 a následně se počítá 62500, to je přesně jedna vteřina. To znamená, že hodiny se trosku zpomaluji asi o 5 vteřin za celý den při normálním čase. Je to proto, že obsluha přerušení taky chvilku trvá. Při zrychleném čase je to ale celkem podružné, protože ten čas nemusí být přesný, ale synchronizovaný pro celý layout. Zrychlené hodiny se vypočítají tak, ze se vydělí 62500 / zrychleni = zrychleny čas a tento údaj se zapíše do porovnávacího registru čítače 1. Pochopitelně je hodnota nula zakázána, aby to neudělalo zbytečné problémy. Centrála hodin nepoužívá EEPROM paměť, proto se při každém vypnutí musí znovu nastavovat.

Při prvním startu je nastavena rychlost = 1, svit = 1, čas = 00:00

Pokud dostane centrála hodin paket < BB 7B 00 38 > , tak odpoví paketem s údaji o aktuálním čase, přesně podle normy.

Při chodu hodin bliká dvojtečka podle rychlosti hodin.

Ovládání centrály hodin

Na ovládání jsem navrhnul použití enkodéru s tlačítkem, protože to je celkem jednoduchá konstrukce a není důvod používat drahou a velikou klávesnici. Při zadávání údajů si centrála hodin pamatuje poslední stav a při změně ho jen upravujete.

  1. Pokud nestlačíte enkodér, tak se otáčením enkodéru volí svit displeje v 15 stupních jasu.
  2. První stisknutí tlačítka enkodéru - vysvítí se 2x pozice hodin vlevo a zhasne 2x pozice minut vpravo a je možné otáčením enkodéru navolit hodiny od 00 až po 23.
  3. Druhé stisknutí tlačítka enkodéru - zhasne 2x pozice hodin vlevo a rozsvítí se 2x pozice minut vpravo a je možné otáčením enkodéru navolit minuty od 00 až po 59.
  4. Třetí stisknutí tlačítka enkodéru - vypíše se znak “r =“ a je možné nastavit čas zrychlení od 1 do 30.
  5. Čtvrté stisknutí tlačítka enkodéru - ukončí zadávání hodnot, zapíšou se hodnoty a posle se paket s údaji do Loconetu a rozsvítí se aktuální údaje a začne blikat dvojtečka podle zvolené rychlosti hodin.

[Akt. známka: 0,80 / Počet hlasov: 10] -      + 

K tomuto článku nebol doposiaľ priradený žiadny komentár!

Pridať nový komentár