Railnet

OTO-MD-68, funkce pro Loconet a IMM opcode

Elektronika | Zdeno Janeček, 12. 04. 2024 (1189 zhliadnutí)
 Zkusil jsem vymyslet ovladač pro funkce F0-F68 s 18 tlačítky pro Loconet a pakety IMM.
Zatím jsem vyrobil tři prototypy, protože vlastně kromě mé centrály Centrbox tyto pakety jiná centrála neumí zpracovat. Jsou jiné centrály (hlavně WiFi), které umí zpracovat funkce F29-F68, ale ty nepoužívají  pakety IMM, ale nějaké vlastní kódování.

 

 Taky chybí opcode #D4 pro Uhlenbrock, ale to zabuduji, až když je někdo vymyslí. Tím pádem je hádám každému jasné, že na centrálách Uhlenbrock a jeho klonech to fungovat nebude.
 Vzniklo to vlastně jen proto, že NMRA vydalo normy pro tyto funkce v DCC a já se toho chytil pro vlastní zábavu a potěšení.  
  Abych pravdu napsal, ani mne se nelíbí to obrovské kvantum funkcí, kde není šance si jednotlivé funkce zapamatovat a používat je. Můj  osobní názor je, ze se to dá používat jen na vagony, teda osvětlení interieru, koncové světla vlaku nebo spřáhla na vagonech. V současnosti jsou poněkud nešťastně používané kolizní funkce pro zvuky a na osvětlení vagonů současně. Ale pokud loko vůbec  nepoužívá zvuky, je to celkem použitelné a ničemu to nevadí. 
 
 
Oba spoje jsou ze strany součástek.
 

 Plošné spoje jsou systémem dělicích čar, je to pro mne snadnější vyrobit. A taky není problém používat pistolovou  spájkovačku s tenčím železným hrotem. Jsou dva plošné spoje, jeden je na procesor, enkodér, displej, režii a druhý na klávesnici. Spojené jsou konektorem s grid 2.54mm, 9 pin.   

 Jsou tam tři drátové propojky, ty se osazují jako první. Pak se pokračuje diodami a malými odpory. Není to složité ani pracné, jen je třeba byt pečlivý.  Zapojení nemá žádné záludnosti a dokáže to osadit každý trošku schopny amatér. Opravdu to ale není vhodné pro člověka, co nerozezná odpor od diody a dělá mu problém sespájkovat tři dráty dohromady. 

 Klávesnice má 18 tlačítek, 0 – 9 jsou čísla a 10 – 15 jsou indexy pro násobky 10 až 60. Tlačítko 16 je pro ovládáni dvou úrovní jasu a pokud se dřív podrží stisknutý enkodér, tak to vyvolá Dispatch, teda ovladač ztratí adresu.  Tlačítko 17 vyvolá zrychlené hodiny, pokud jsou funkční. Adresa se pak nahraje jen stisknutím enkodéru ze stavu Dispatch.   

 Programové vybavení má 13.5kByte, je to poplatné 68 funkcím, mapování a režimu pro klávesy 13 – 28, kdy se dá navolit funkce tlačítka nebo přepínače. Pro funkce F29 – F68 jsou zapojeny klávesy jen  jako přepínač. Asi by nebylo vhodné, aby vagony svítily jen po dobu držení tlačítka. 

 S pomocí Petr Šídlo, který mi vytvořil program do JMRI na SV2, lze měnit ID číslo FREMO, mapováni všech 69 funkcí a určit či se funkce 13 – 28 chovají jako tlačítka nebo přepínače. Toto lze měnit jen za pomoci programu JMRI a souboru XML nahraném v Evidenci. Tento soubor je zabaleny na konci článku. 

 Jinak programovat to bylo „zajímavé“, bity jsou 0-7, pole začínají od jednotky, posun v EEPROM je z 0 na 1, displej je po desítkách, byte jsou po osmicích. Kdo nikdy neprogramoval, nepochopí. Udržet v tom nějakou štábní kulturu bylo dost náročné. Ale je to událostmi řízené programování, teda je to hodné usnadněné. To je velká výhoda Loconetu, ze je vymyšlený přímo pro událostmi řízený program.   

 Program prostě čeká na událost, či je to stisk klávesnice, enkodéru, otočení enkodéru a tuto událost vyhodnotí a vykoná se příslušná akce. Ovladač, kromě inicializace nevysílá, nekomunikuje, jen sleduje logický stav na sběrnici a podle posledního přechodu z „0“ na „1“ počítá prioritu a pokud má co vysílat,  tak to ve správný čas a okamžik odešle. Jinak se chová ovladač úplně pasivně. Abych byl úplně přesný, tak jednou zhruba za 2 minuty posílá ovladač tzv Refresh paket na udržení živého slotu v centrále. Jinak priority jsou celkem geniálně vymyšlené, pokud je jich aspoň 512 a odvozuji se z adresy loko, která by měla být jedinečná v layoutu, tak prakticky nedochází ku kolizím a hazardům. A i když ku konfliktu dojde, má Loconet velmi slušné opravné mechanismy, které to hravě vyřeší. 
 
 Docela mne mrzí, že tento procesor Atmega16A nemá bitově ovladatelný registr GPIOR0, který mi velmi chybí při událostmi řízeném chodu programu, kdy se přerušení maximálně využívá. Musí se to udělat složitěji. 
 
 Schéma ovladače
 
 Schema je maximálně jednoduché, protože máme k dispozici opravdu hodně pinů a teda nemusíme nic multiplexovat a každé zařízení má svoje piny jen pro sebe. Je tam příprava pro 7. řadu tlačítek, ale nejsou zapojené.  Teda ovládání výhybek je možné zabudovat. 
 
 Co to umí:
  • režim 127 rychlostí otáčením enkodéru, znamínko mínus na displeji určuje směr jízdy  dozadu
  • první stisknutí enkodéru zastaví loko podle jízdní modelové křivky
  • druhé stisknutí, zapne funkci Okamžitý Stop a přepne směr jízdy
  • stisknutím enkodéru a následně tlačítka Jas vyvoláte stav bez adresy – dispatch
  • nahrání adresy je spuštěné jen stiskem enkodéru ze stavu dispatch
  • stisknutím tlačítek 0 – 9 zavoláte funkce F0 - F9  
  • stisknutím tlačítek indexu 10 až 60 a následně 0 - 9 zavoláte funkce F10 až F68
  • volba F69 vynuluje všechny funkce, zobrazí na displeji F0-0
  • funkce se na displeji zobrazují po jejich stisknutí
  • všechny funkce jsou mapovatelné přes program JMRI v Evidenci
  • funkce F13 až F28 mají volbu přepínač nebo tlačítko, to je taky volitelné jen v JMRI a Evidenci
  • funkce F0 – F8 a F29 až F68 funguji jen jako přepínače, stiskem zapni, druhým stiskem vypni.  
  • odběr podle svitu 6 mA a 8mA, 
  • při startu se zobrazuje adresa ovladače 
  • pokud není rychlost nulová, tak se zobrazí jako první rychlost a směr
  • stisk klávesy 17, alias Time, se zobrazí čas, pokud je v systému použitý 
  • tovární nastavení dosáhnete stisknutím enkodéru a zasunutím kabelu X3
  • ubraním rychlosti se aktivuje výběh motoru, teda motor se ztiší, zapne se funkce F6   
  • přidáním rychlosti se výkon motoru zase zapne, vypne se funkce přes F6

 Zobrazení hodin je udělané trošku jinak, pokud nestisknete klávesu 17, tak se vůbec nic neděje. Pokud ji stisknete, mohou nastat dvě situace, hodiny v centrále běží,pak se hodiny inicializují a po druhém stisku klávesy 17 se zobrazí čas. Pokud hodiny nejsou přítomné, tak se nestane vůbec nic. 

Pokud je rychlost nulová, tak se zobrazí adresa ovladače (loko), pokud ne, tak se zobrazí rychlost.
 
Vyrobeny 3 kusy, nepočítám s tím, že by se prodaly. 
Je to velká exkluzivita s minimálním využitím.
 
 
Foto Centrbox, měřič odběru, 3x OTO 68, bez krabiček 
 
rychlost 27, dozadu,  odběr 6mA,  adresa 133
 
Zdeno
 
[Akt. známka: 0 / Počet hlasov: 0] -      + 

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

Pridať nový komentár