Odpojovač trakce DC-01

24.9. 2023

Odpojovač trakce DC-01 je bezpečnostní zařízení vyvinuté členem našeho klubu Janem Horáčkem, jehož účelem je zabránit kolizi vlaků z důvodu poruchy řídicích mechanismů kolejiště. Tento článek popisuje, jak zařízení funguje a proč jsme se rozhodli jej vyvinout.

Jízdu vlaků na všech našich klubovní kolejištích řídíme pomocí standardní DCC centrály. Každé kolejiště má jedinou centrálu, která je povelována z řídícího počítače – tzv. serveru. DCC signál z centrály rozvádíme do zesilovačů, z nichž jde výkonový signál přes detektory obsazení kolejových obvodů rovnou do kolejí. Tento (standardní) způsob zapojení je znázorněn na obrázku 1.

Obrázek 1. Zapojení centrály a zesilovačů na běžném DCC kolejišti.

Výjimečně se může stát, že dojde k zaseknutí centrály, pádu řídícího softwaru počítači, hardwarové poruše řídicího počítače či DCC centrály. V takové situaci se stane, že obsluha kolejiště není schopna zasáhnout do řízení kolejiště. Z principu DCC vlaky pokračují svými rychlostmi, čímž se stávají prakticky neovladatelnými. Účelem DC-01 je v takové situaci vlaky zastavit.

Jak často riziková situace nastává?

Situace popsaná v předchozím odstavci nastává velice zřídka. Za několik let nasazení stavědla hJOP na klubovních kolejištích se stala tolikrát, že by se tyto případy daly spočítal na prstech jedné ruky. Ovšem pokaždé, když k této situaci došlo, vzniklo veliké riziko kolize a tudíž poničení soupravy a vybavení kolejiště. Na velkém klubovním kolejišti bývá v provozu zároveň třeba 10 vlaků, obsluha dopravny mnohdy řídí dálkově a spoléhá se, že vlaky budou řízeny bezpečně.

V praxi jsme byli svědky i kuriózní situace, kdy jsme byli schopni centrálu Digikeijs DR5000 zaseknout tak, že sice generovala DCC signál, ale nereagovala ani na tlačítko nouzového zastavení na centrále fyzicky umístěné, ani na příkazy jí poslané.

Jednou z možností, jak tento problém řešit, je řádně vyškolit obsluhu – tak, aby situaci co nejdřív rozpoznala a sáhla po nejbližším STOP tlačítku nezávislém na hJOP. Tento přístup však osobně považuji za nešťastný – z podstaty problému obsluha takovou situaci nebude pravidelně zažívat, navíc projevy jsou různé podle toho, která komponenta selže. Existuje tedy nemalé riziko, že obsluha nezareaguje správně nebo včas.

S přihlédnutím k výše uvedenému jsem se rozhodl řešit problém pomocí speciálního zařízení nezávislého na lidském faktoru.

Architektura řízení s DC-01

DC-01 je zařízení, které se vloží do cesty DCC signálu z centrály do zesilovačů. DC-01 komunikuje s řídicím počítačem kolejiště. V případě poruchy dojde k přerušení signálu DCC z centrály do zesilovačů, což má za důsledek vypnutí napájení do kolejí. Tato architektura je zobrazena na obrázku 2.

Obrázek 2. Odpojovač trakce v řízení kolejiště.

Tato koncepce stojí na myšlence, že zesilovače signálu DCC jsou bezpečně schopny detekovat, že na vstupu nemají DCC signál, a v takové situaci vypnout výstup. Pokud by tato bezpečnostní funkce byla narušena, může vzniknout velký problém. Některé dekodéry by se mohly přepnout do režimu „analog“ (protože na vstupu mají stejnosměrné napájení) a neřízeně rozjet lokomotivu. V našem klubu se traduje, že taková situace se jednou stala. Já osobně jsem ji nezažil, ale analogový režim radši v dekodérech preventivně vypínáme.

Hardware DC-01

Odpojovač trakce DC-01 se skládá ze 4vrstvé desky plošných spojů se součástkami a krabičky. Krabička je standardní krabička na komponenty Digikeijs (nyní bohužel hůře k sehnání). Fólie na horní straně krabičky obsahuje popis všech dostupných prvků a stručné schéma vnitřního zapojení DC-01.

Základní vlastnosti zařízení:

  1. Připojení DCC pomocí svorkovnic nebo RJ12 konektorů.
  2. Připojení počítače pomocí USB-C konektoru, využití standardu CDC (připojení z PC pomocí sériového portu).
  3. LED indikující stav zařízení.
  4. Možnost manuálního vypnutí DCC.
  5. Možnost manuálního zapnutí DCC („Přemostění kontrol softwaru“).
  6. Napájení pouze z USB.
  7. Automatické vnitřní testy.

Bezpečnost

DCC je mezi dvěma symetrickými stranami odpojovače přerušováno pomocí 2 relé zapojených v sérii, přičemž každé relé je dvoukontaktní a odpojuje oba vodiče DCC.

Obrázek 3. Schéma části DC-01, která řeší přerušování DCC.

V základním (nevybuzeném) stavu je DCC odpojeno, tedy DC-01 bez napájení automaticky odpojuje trakci.

DC-01 odpojí trakci i tehdy, když 3 ze 4 rozpínacích kontaktů selžou a zůstanou v nežádoucím sepnutém stavu. DC-01 detekuje první poruchu relé, aby zabránilo nemožnosti odpojit DCC, a to pomocí vnitřních testů, kdy se při přivedeném DCC zkouší postupně vypínat nejprve pouze první a pak pouze druhé relé a detekuje se, že na výstupu vždy DCC zmizí. Pokud by test neprošel, DC-01 se odstaví. Zhoršení časových parametrů testů je indikováno ještě před odstavením do řídícího softwaru, takže údržba může včas přistoupit k výměně zařízení začínajícího vykazovat poruchy.

Zapojení odpojování DCC je znázorněno na obrázku 3. Zařízení obsahuje integrované PTC pojistky pro ochránění relé (možné svaření kontaktů), součástky pro detekci DCC na obou stranách pro účely vnitřních testů a indikační LED.

Obrázek 4. Řízení buzení relé pomocí monostabilního klopného obvodu.

DC-01 je postaveno na procesoru rodiny STM (architektura ARM). Aby se předešlo tomu, že relé odpojující trakci budou neustále vybuzena z důvodu poruchy procesoru či chyby ve firmwaru, jsou relé řízena pomocí monostabilního klopného obvodu, viz schéma na obrázku 4. Trakce je propojena jen tehdy, pokud procesor generuje dynamický signál, který resetuje klopný obvod. Pokud se procesor zasekne, jsou relé hardwarově odpojena. Za nápad na použití monostabilního klopného obvodu děkuji kolegovi Michalu Petrilakovi.

Pro úplnost ještě doplníme kořenové schéma DC-01, viz obrázek 5.

Obrázek 5. Kořenové schéma DC-01.

DC-01 je navržen jako openhardware v otevřeném softwaru KiCad 6. Všechna schémata a výkresy desek plošných spojů jsou k dispozici zdarma v repozitáři.

Obrázek 6. 3D model DPS DC-01 se součástkami v SW KiCad.

Firmware

Mozkem odpojovače trakce je procesor STM32F103. Volba padla na rodinu STM, protože tyto procesory jsou relativně levné, rozšířené a především STM má perfektní podporu programování a on-chip debugování. Volba na tento konkrétní procesor padla díky jeho hardwarové podpoře USB a rozšířenosti.

Firmware využívá knihovnu STM32, je opensource a k dispozici zdarma v repozitáři na GitHubu.

Hlavní funkcionalitou firmwaru je kontrolovat, že v poslední 1 sekundě přišel z počítače příkaz k sepnutí DCC signálu. Pokud příkaz nepřišel po dobu 1 s, je DCC odpojeno. Počítač si může také sám vyžádat odpojení DCC. Pokud software v počítači libovolným způsobem selže, důsledkem bude neposílání pravidelných příkazů a po vypršení 1 sekundy dojde k přerušení DCC. Počítač by měl obnovovací příkazy posílat každých zhruba 400 ms – pokud poslední příkaz v DC-01 zastará více než 500 ms, je tento stav indikován jako varování pomocí žluté LED.

Komunikační protokol s počítačem je jednoduchý – zájemci si jej mohou prohlédnout v tomto souboru.

Za zmínku stojí vnitřní test zařízení, který nazýváme Big relay test (BRtest). Test je spuštěn, jakmile se objeví na jedné straně DC-01 DCC a DC-01 přechází nebo přešlo ze stavu odpojeno do stavu propojeno. Test postupně budí obě relé a kontroluje, že na druhé straně se DCC vždy objeví a po odbuzení zmizí. Viz detailní popis.

Zajímavostí ve funkcionalitě je DC-01, že zařízení musí detekovat aktivní DCC na vstupu i pokud v DCC jsou railcom přerušení. Správná detekce přítomnosti DCC tedy není úplně triviální záležitostí.

Software

Pro komunikaci s DC-01 z počítače vznikl jednoduchý program hjop_watchdog v jazyce Python, který monitoruje činnost SW hJOP (pomocí hJOP řídíme naše kolejiště). Pokud hJOPserver „spadne“ či sám vydá příkaz k přerušení DCC, watchdog vyšle příkaz k přerušení DCC do DC-01. Pokud samotný watchdog selže („spadne“, zasekne se či něco podobného), DC-01 samo detekuje, že nedostalo obnovovací příkaz v poslední 1 sekundě a DCC přeruší.

Součástí návrhu DC-01 je výstup na sirénu, který je krátce aktivován při přerušení DCC, takže obsluha je jasně zpravena o tom, proč se právě zastavily všechny soupravy na kolejišti. Jiné řešení moc není možné – indikace na počítačích z principu nemůže fungovat, protože tato indikace by se měla rozeznít právě v případech, kdy počítač selže. Kontroluje se pouze běh hJOPserveru, obslužné počítače stanic se nekontrolují, neboť ty nevykonávají žádnou bezpečnostně relevantní operaci (např. zastavování vlaku před návěstidly) nebo jsou tyto operace kontrolovány jinými prostředky.

hJOPserver sám o sobě může vydat povel k přerušení DCC. Tento povel je vydán v momentě, kdy hJOPserver běží, ale nedostal od centrály odpověď na příkaz k nastavení rychlosti vlaku, nouzovému zastavení lokomotivy či pokud hJOPserver přímo detekoval přerušení spojení s centrálou, přestože samotný hJOPserver nadále běží. hJOPserver svůj stav hlásí pomocí PTserveru. hJOPserver nemá zpětnou vazbu o tom, že DC-01 zareagovalo – pouze ví, že došlo k výpadku DCC na vstupech zesilovačů.

Open hardware, open software

DC-01 je otevřený projekt, veškeré výrobní materiály a firmware jsou k dispozici zdarma v repozitáři. Naší ambicí je vybavit DC-01 všechna klubovní kolejiště. Pokud by si někdo chtěl DC-01 vyrobit nebo upravit k obrazu svému, má všechny materiály k dispozici.

Výroba, cena

Přímé náklady na vyrobení jednoho kusu se v roce 2023 pohybovaly okolo 500 Kč bez sirény a okolo 700 Kč se sirénou. Při výrobě DPS bylo s výhodou využito automatické osazování součástek na JLCPCB. Například procesor STM32F103 lze pořídit na JLCPCB za 40 Kč, na českém obchodě TME za zhruba 200 Kč. Ke 40 Kč je třeba přičíst clo a DPH, ale pořád se takový nákup vyplatí. A hlavně – není třeba procesor osazovat ručně, osazení proběhne automaticky!

Obrázek 7. Umístění automaticky osazovaných součástek na DPS DC-01. Zdroj: screenshot z webového rozhraní jlcpcb.

Kusové součástky a THT součástky jsou osazovány vlastními silami ručně, přesto automatické osazení SMD součástek přináší velké snížení pracnosti i nákladů výroby. Na obrázku 7 je znázorněna DPS DC-01 s těmi součástkami, které jsou automaticky osazovány.

Detailnější rozpis cen jednotlivých komponent DC-01 následuje.

Co Částka
Výroba DPS JLCPCB (včetně DPH, cla a poštovného) 45 Kč
Součástky + osazení JLCPCB (včetně DPH, cla a poštovného) 160 Kč
Krabička 153 Kč
2× Relé AZ850-5 41 Kč
Přepínač MFP113D 28 Kč
4× svorkovnice MV132-3.5-V-L 23 Kč
USB-C konektor 18 Kč
2× RJ12 konektor 11 Kč
74HC123D 7 Kč
ESDA6V1 4 Kč
2× PTC pojistka 4 Kč
Fólie (potisk krabičky) 4 Kč
Piezobzučák KPEG222A 40 Kč
Konektory k siréně 80 Kč
Krabička k siréně 60 Kč

Závěr

DC-01 momentálně máme nasazeno na modulovce TT v ověřovacím provozu. Po vyladění bych rád DC-01 nasadil i na velké klubovní kolejiště.

Pevně věřím, že toto zařízení bude bezúdržbové a v běžném provozu si jej obsluha ani nevšimne. Bude však tiše bdít nad stavem kolejiště a zabrání potenciální krizové situaci.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *