Detektor obsazení pro LocoNet s RailCom

Rozhodl jsem se vyzkoušet detektor zveřejněný na Stummiforu, stručný popis je nyní k dispozici i na stránkách Philippa Gahtow a software ke stažení na sourceforge.net

Protože si lze popis přečíst na výše zmíněném Stummiforu, napíšu jen základní informace. Tento 8-násobný detektor obsazení slouží k detekci lokomotiv(y) ve sledovaných úsecích. Detektor není dostatečně rychlý na to, aby mohl číst data RailCom komunikace, proto čte pouze data ze signálu DCC. K tomuto čtení jsou použity cyklicky se opakující pakety adresované lokomotivním dekodérům. Pokud detektor (za pomoci ADC převodníku) ve sledovaném úseku zachytí odpověď lokomotivního dekodéru v druhém kanálu RailCom, zobrazí adresu lokomotivy a její směr jízdy na displeji. Aby mohlo dojít ke správné identifikaci lokomotivy, je nutné, aby všem sledovaným lokomotivám (dekodérům) byl alespoň jednou odeslán příkaz (rychlosti nebo funkce). Většina software (testováno s RocRail) může tento příkaz (např. nulové rychlosti) poslat všem požadovaným lokomotivám při startu aplikace. Podle verze hardwaru a softwaru lze displej použít pro každý úsek, tzn. až 8 displejů (zde byl použit 1 displej pro vstup A0). Na jeden úsek lze načíst a zobrazit až 4 adresy lokomotiv (bylo by možné načítat i více, ale je to zbytečné, softwarově omezeno). 

Informace o obsazení je odesílána přes LocoNet. 

Jako číslo prvního úseku lze přiřadit libovolnou hodnotu. Tuto hodnotu lze následně nastavit pomocí LNCV. 

Detektor je napájen z DCC trakce, LocoNet je opticky oddělen.

Alternativně lze použít dva opticky izolované výstupy Arduina D11 a D12 pro spínání externích zařízení, např. přepínání relé vratné smyčky (tuto funkci lze povolit makrem #define WENDE). 

Další rozšíření (lze povolit makrem #define MIRKO) umožní při detekci obsazení úseku vyslat přes sběrnici LocoNet příkaz pro dekodér příslušenství, nebo dekodér lokomotivy. 

Zatím jsem se dostal pouze k návrhu a zhotovení konstrukce. Provedené úpravy zapojení:

Upozornění: Autor přidává do programu opravy a nové funkce (signál LN_TX je v novějším software přesunut na pin D7, přidáno tlačítko pro kalibraci na pinu D5 a od verze 41 zápis hodnot pomocí LNCV), schéma zapojení i deska se tak mohou ještě změnit.

První prototyp jsem dostal do stadia testování. Protože nevlastním jinou LocoNet centrálu, zkouším pouze s centrálou Z21PG a softwarem RocRail. Informace o adrese lokomotivy a zprávy o obsazení se v RocRailu zobrazují korektně, indikátor směru lokomotivy však zobrazuje vždy stejný směr. Zkoušel jsem, jaká data zobrazí displej při připojení na centrálu NanoX. Zobrazí se všechny ovládané lokomotivy, i když na koleji stojí pouze jediná. Tento stav způsobují dekodéry Kuehn N45, které vysílají na kanálu 2, i když nejsou adresovány (neodpovídají tak specifikaci RailCom)  (viz. foto níže). Starší dekodéry Kuehn N45 zase na kanálu 2 nevysílají vůbec,  nastavení  ověřeno (#CV28 = 3). 

Pokud nepoužíváte displej, je nutné detektor pro kalibraci připojit k počítači (pomocí USB na Arduinu). Pozn.: platí pouze pro starší verze, novější verze lze kalibrovat pomocí tlačítka na pinu D5. Následný text tak platí pro případ, že budete při ladění připojovat USB Arduina k počítači při současném připojení detektoru k DCC napájení. Jak vyplynulo z fóra, není některým konstruktérům jasné, jak Arduino bezpečně připojit. Základním předpokladem je, použít pro napájení DCC centrály k tomu schválený zdroj (viz. níže), tj. takový, který nemá žádné spojení sekundární strany s ochranným uzemněním (zdroj SELV). Většina desktopových počítačů mívá uzemněné šasi a taktéž i záporný pól zdroje, některé zdroje pro notebooky mívají také uzemněný záporný pól zdroje (zdroje PELV). Pokud váš počítač používá zdroj PELV a pro centrálu použijete také neoddělený zdroj (PELV), připojením způsobíte zkrat a v lepším případě vám centrála vypne výstup DCC. Aby obvod zůstal izolovaný (bezpečný) je důležité, aby připojený notebook pracoval pouze na baterii (bez připojeného zdroje napájení). Jako další je třeba zabránit tomu, aby Arduino nebylo napájeno ze dvou zdrojů. Většina klonů Arduina má před takovým připojení vestavěnou ochranu, přesto raději před připojením detektoru k počítači rozpojte propojku JP1, Arduino tak bude napájeno pouze z připojeného počítače.

Zdroj použitý pro napájení kolejiště musí splňovat ČSN EN 61558-2-7 ed. 2 Bezpečnost výkonových transformátorů, napájecích zdrojů, tlumivek a podobných výrobků - Část 2-7: Zvláštní požadavky a zkoušky pro transformátory pro hračky a pro napájecí zdroje hraček. Zdroj splňující tyto požadavky je označen grafickou značkou vláčku. 

Pokud se z jakýchkoli důvodů rozhodnete použít jiný zdroj, měl by to být ochranný oddělovací transformátor, odolný proti zkratu.

Grafické označení transformátoru pro napájení hraček

Grafické označení bezpečnostního oddělovacího transformátoru, odolného proti zkratu

Pozor! Testuji pouze s centrálou Z21PG. Autor softwaru testoval i s DR5000 a z21 start. Nemohu zaručit, že bude tento detektor funkční s vaší centrálou. Podklady pro výrobu tak poskytuji bez jakýchkoli záruk na správnost a funkčnost.

Pro ladění jsem připojil detektor na analyzátor. Na snímku můžete vidět v prvním kanále (šedý) začátek a konec sledování RC kanálu 1, v druhém (hnědý) začátek a konec sledování (vzorkování ADC převodníku) RC kanálu 2. Ve třetím kanále (červený) je zachycen výřez v signálu DCC a ve čtvrtém (žlutý) vysílaná RailCom data.

Detektor RailCom

Popis technologie RailCom a informace o přenosu dat najdete na stránkách OpenDCC a ve specifikaci S-9.3.2 na stránkách NMRA. "RailCom" je registrovaná značka na jméno Lenz Elektronik. Překlad dokumentu RCN-217, tak jak jej vyplivl překladač, si můžete prohlédnout zde

Pro oživování prototypů jsem sestrojil detektor podle výše zmíněného dokumentu. 

Vzhledem k jednoduchosti zapojení jsem detektor osadil na univerzální desku plošných spojů, návrh finální desky byl vytvořen až později. Pro připojení analyzátoru logických úrovní byl návrh detektoru doplněn o přizpůsobení úrovní DCC signálu. Také byl přidán optočlen pro oddělení obvodů trakce a signálu RailCom. Výstupní člen NOR logického obvodu byl v tomto návrhu nahrazen tranzistory. Na místě D5 a D6 bych upřednostnil rychlejší typ diod (trr < 0.5µs), např. UF540x, FR30x, HER30x, mohou být i Schottky SB330, SR330.

Po připojení analyzátoru k detektoru lze získat záznam průběhu signálů, jaký můžete vidět na snímku obrazovky níže.

RailCom display

Tento zobrazovač RailCom komunikace vychází opět z Pacových stránek. Překlad manuálu si můžete prohlédnout zde.

RailComDisplay je lokální detektor, který zobrazuje data přenášená z dekodérů RailCom. Když lokomotiva vjede do izolované sekce připojené k RailComDisplay, zobrazí se data přenášená dekodérem: jeho adresa a v závislosti na dekodéru jeho rychlost, teplota a zatížení. Nezáleží ani na tom, zda lokomotiva v tomto úseku stojí nebo je v pohybu, data jsou odesílána průběžně. Pokud je lokomotiva v izolované sekci, mohou být také zobrazeny hodnoty CV, pokud jsou čteny pomocí PoM.

Detektor se připojuje do oddělené sekce, která musí být delší než nejdelší použitá lokomotiva. 

Rezistor pro nastavení kontrastu R15 může být nahrazen trimrem o hodnotě 2k2, nastavení hodnoty napětí na vstupu V0 může být u různých displejů odlišné. Do obvodu detekce jsou přidány rychlé diody D5 a D6, rezistor R5 je tak při zkratovém proudu v úseku chráněn. Schéma zbytku zapojení zůstalo zachováno, návrh desky je však proveden tak, aby běžný displej (šířka 80mm) mohl být k základní desce fixován. 

Protože je celý obvod napájen z DCC trakce je použit displej bez podsvícení.

Na desce byly osazeny nízkoprofilové elektrolytické kondenzátory.