Detekce DCC Lokomotivy

Odpovědět
Uživatelský avatar
petr-kubac
Příspěvky: 129
Registrován: 24 úno 2013, 15:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

Detekce DCC Lokomotivy

Příspěvek od petr-kubac »

U nás doma se každé vánoce Google zblázní a nabízí v reklamách blbosti - předloni mě až do podzimu otravoval koupí námořní jachty a maželce vnucoval paruky.

Letos jsem zaplaven modelářskou železnicí - a protože kdysi za firmy PIKO z NDR jsem měl dosti velké kolejiště dokonce s jednoduchoučkým relátkovým zabezpečovacím systémem, aby se vlaky nesrazily, tak jsem začal studovat jak doba pokročila a narazil jsem na digitální ovládání DCC, ke kterému mám jeden nepodstatný a jeden fundamentální dotaz.

1. Nepodstatný dotaz - lokomotivy berou data i proud z kolejnice,.... výhybky mají své DCC dekodéry často pro 4 výhybky najednou - není mi však úplně jasné, jestli dekodéry pro výhybky mohou brát data z kolejnice nebo musí mít vlastní "sběrnici"

2. Fundamentální dotaz(y) - jak se s DCC dělají zabezpečovací úseky, které se kdysi dělaly tak, že mašina vjela do úseku - zkratovala "spínací kolejnici" a tento impuls přehodil relátko, které vypnulo úsek za mašinou (a v některých místech i před ní) , kdyby tam něco jelo aby se to zastavilo a nesrazilo.

Umí DCC nějak detekovat že tady a tady je lokomotiva s adresou 03 a tudíž se jí na adresu 03 má poslat příkaz "zastav" ?
Nebo se to - i v době Arduina - dělá tak že v "zabezpečeném" úseku se vypne samotné DCC ?
Co udělá DCC lokomotiva když se jí přeruší napájení a po chvíli se znovu zapne - zůstane ve stopu nebo obnoví minulý stav = jízdu ?
Ptám se protože jsem na to nikde nenarazil a naopak jsem narazil na to jak Američani si na DCC kolejišti dělají výhybky úplně klasicky dvěma tlačítky - jak za firmy PIKO Modelbau.
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Uživatelský avatar
fulda
Příspěvky: 1442
Registrován: 04 led 2016, 17:18

Re: Detekce DCC Lokomotivy

Příspěvek od fulda »

Hodně otázek, znám fundovanou odpověď na všechny a ještě víc odpovědí než si myslíš....
... za chvíli půjdu na oběd, tak to bude takový seriál.
petr-kubac píše: 17 led 2025, 09:24 U nás doma se každé vánoce Google zblázní a nabízí v reklamách blbosti - předloni mě až do podzimu otravoval koupí námořní jachty a maželce vnucoval paruky.
Někdy jsme hráli hru, kdo lépe vnutí googlu nějakou představu. Třeba tak, aby na maximu z 10 otevření nějaké stránky byl v reklamně použit obrázek králíčka. Stránka se definovala předem pochopitelně.
petr-kubac píše: 17 led 2025, 09:24 Letos jsem zaplaven modelářskou železnicí - a protože kdysi za firmy PIKO z NDR jsem měl dosti velké kolejiště dokonce s jednoduchoučkým relátkovým zabezpečovacím systémem, aby se vlaky nesrazily, tak jsem začal studovat jak doba pokročila a narazil jsem na digitální ovládání DCC, ke kterému mám jeden nepodstatný a jeden fundamentální dotaz.
PIKO z NDR existuje dodnes, patří k vrcholům ve zpracování detailů. Podívej se třeba na jejich provedení české "laminátky".

Pro začátek - jeden hodný pán píše divné blogy o DCC, obsahují samá schémata a tak: https://fucik.name/DCC/
petr-kubac píše: 17 led 2025, 09:24 1. Nepodstatný dotaz - lokomotivy berou data i proud z kolejnice,.... výhybky mají své DCC dekodéry často pro 4 výhybky najednou - není mi však úplně jasné, jestli dekodéry pro výhybky mohou brát data z kolejnice nebo musí mít vlastní "sběrnici"
V principu existuje jedna sběrnice. Jestli jí k výhybkám vedeš kabelem, nebo stahuješ z kolejnic je jen otázka mechanické konstrukce. Existují i "extrémní" případy, kdy používáš kolejnice s podložím a pak máš v kolejnici rovnou nacpanou potřebnou elektroniku. Takže prostě připojíš na koberci výhybku a ona rovnou funguje: https://fucik.name/masinky/iTrack/itrack.html (projekt na sourceforge už asi přišel o život pro neaktivitu).
To, že se běžně dělají dekodéry pro čtyři výhybky je jen otázka lenosti či pohodlnosti. Čtyři výhybky = 8 výstupů = právě jeden bajt. Nic dalšího za tím nehledej.
petr-kubac píše: 17 led 2025, 09:24 2. Fundamentální dotaz(y) - jak se s DCC dělají zabezpečovací úseky, které se kdysi dělaly tak, že mašina vjela do úseku - zkratovala "spínací kolejnici" a tento impuls přehodil relátko, které vypnulo úsek za mašinou (a v některých místech i před ní) , kdyby tam něco jelo aby se to zastavilo a nesrazilo.
Je potřeba si uvědomit, že distribuce energie a jízda vlaku jsou oddělené. U DCC máš tu výhodu, že se jedná o obdélníkový signál a každá hloupá metoda měření protékajícího proudu funguje dobře. Takže - nejčastěji se používá metoda detekce protékajícího proudu v nějakém úseku. Podle toho poznáš, že je úsek obsazený. Já mám rád metodu založenou na tom, že mám v sérii s přívodním vodičem dvě dvojice antiparalelních diod, takže při protékajícím proudu na nich vznikne úbytek dejme tomu 1,4V, který spolehlivě rozsvítí infra ledku v optočlenu. Základní schéma je třeba tady: https://www.fucik.name/masinky/zv/detect4_sch.gif
Svorky X1-1 a X2-3 jsou přívod (dvě kvůli zřetězení) a svorky X1-2, X1-3, X2-1 a X2-2 jsou výstupy ke kolejím. Ano, dvě dvojice antiparalelních diod se nejsnáze koupí jako usměrňovací můstek, česky gretz.
Jsou ale i jiné metody, třeba proudové trafo namotané kolem vodiče a spoustu dalších. Jak říkám, funguje skoro všechno.
petr-kubac píše: 17 led 2025, 09:24 Umí DCC nějak detekovat že tady a tady je lokomotiva s adresou 03 a tudíž se jí na adresu 03 má poslat příkaz "zastav" ?
Ano, ALE....
V obecné rovině je základní DCC, které definuje tok informací od centrály k dekodéru. V takovém případě se adresu lokomotivy nedozvíš.
K tomu existuje rozšíření RailCom, které definuje komunikaci od dekodéru k "detektoru" (slovo detektor se používá proto, že se jich typicky v kolejišti vyskytuje víc a nemají centrální charakter. Často se kombinují s detekcí obsazení z předchozího odstavce). V takovém případě může dekodér posílat celou řadu informací, nejen svou adresu, ale třeba běžnou telemetrii, jako je například teplota motoru. Vyhodnocení a kombinace chování se pak nechávají na nařazeném systému (příkladem je nějaké PC s mohutným softem). RailCom je chápaný jako volitelné rozšíření a tak jej nepodporuje každý systém. Na druhou stranu už je na trhu 15 let,, takže jej podporuje každý "slušný" systém.
petr-kubac píše: 17 led 2025, 09:24 Nebo se to - i v době Arduina - dělá tak že v "zabezpečeném" úseku se vypne samotné DCC ?
Na slušném kolejišti se DCC nikdy nevypíná. Tím by ti přestalo jít osvětlení a zvuk.

Ale nakousl jsi další kapitolu, která se jmenuje "analogové funkce v DCC". Nejčastěji se setkáš se zkratkou ABC. To je simulace diody v analogovém kolejišti. Tedy lokomotiva jede úsekem jen jedním směrem. V obráceném směru zastaví. Vhodné dejme tomu před návěstidlo. Lokomotiva zastaví před návěstidlem kde svítí červená, ale klidně od toho návěstidla odjede v druhém směru.
Trik je poměrně jednoduchý, používá se drobná nesymetrie signálu. V předminulé kapitole jsme se představili čtyři diody, ty se nám vracejí, ale tentokrát jsou zapojené tak, že v "propustném" směru je dioda jedna a v "závěrném" jsou tři. Tím docílíme toho, že signál má dejme tomu 2V rozdíl v úrovni napětí mezi sudou a lichou periodou. Dekodér takový stav snadno detekuje a zařídí se podle potřeby. Zase platí, že napájení a data se řídí odděleně, takže lokomotiva zastaví podle definované křivky, nebo na definované vzdálenosti, vydá u toho správný zvuk a udělá všechny tanečky co udělat má.
petr-kubac píše: 17 led 2025, 09:24 Co udělá DCC lokomotiva když se jí přeruší napájení a po chvíli se znovu zapne - zůstane ve stopu nebo obnoví minulý stav = jízdu ?
zase jednoduchá otázka s komplexní odpovědí.
Pokud je lokomotiva bez napájení a vrátí se na koleje, tak jí pochopitelně nezbývá nic jiného, než zůstat ve stopu.
... ALE ...
Zase se vracíme k tomu, že distribuce energie se odehrává uvnitř lokomotivy a podle pravidel, která jsou užitečná pro danou lokomotivu. Pochopitelně je jednoduché vybavit dekodér dostatečným kondenzátorem, který udrží procesor, nebo alespoň stavovou paměť při životě celkem dlouhou dobu. Takže nějaké drobné poskočení se chápe spíš jako šum při čtení signálu. Pochopitelně existují i "velké" kondenzátory, které udrří při životě všechny funkce i motor. Pak mluvíme o "power packu" a na youtube najdeš videa, kdo na power pack dojel dál.

Další věc, kterou jsi asi zatím neodhalil je, že DCC signál nezná nic jako "ticho". Neexistuje stav, kdy neposíláš žádná data. Když už nemá centrála co říci, tak posílá alespoň příkazy NOP. Nicméně většinu času centrála opakuje příkazy pro lokomotivy, o kterých si myslí že je ovládá. Mluvíme o lokomotivách v zásobníku centrály a existuje celá řada magických algoritmů, jak zařídit, aby lokomotiva dostala vhodný příkaz co nejdříve. Někdy jsem na to téma namaloval TAKOVÝTO obrázek.
petr-kubac píše: 17 led 2025, 09:24 Ptám se protože jsem na to nikde nenarazil a naopak jsem narazil na to jak Američani si na DCC kolejišti dělají výhybky úplně klasicky dvěma tlačítky - jak za firmy PIKO Modelbau.
Ovládat výhybku dvěma tlačítky úplně přesně nevypovídá o tom, co se děje v pozadí. Například pro ty koleje s dekodéry v podloží jsem si udělal TAKOVÝTO ovladač, kde ovládám výhybky pomocí dvou tlačítek, ale ve skutečnosti je to čistý digitál. To nic nemění na tom, že existuje spousta lidí, kteří kombinují různé ne-digitální metody ovládání výhybek s digitálním ovládáním jízdy lokomotiv. Má to spoustu výhod. Třeba tu, že tím pádem nemohou použít žádný počítačový program pro ovládání kolejiště, nebo stavění vlakových cest nebo tak něco. Jejich řešení je vždy unikátní a proto v případě problémů musí vše řešit sami a nikdo jim neporadí. Systém celkem rychle nabírá komplexnost, zejména pokud se rozhodnou používat různé animace, jako je kombinace zvukových a pohybových efektů. A velice brzo zjistíš, že příslušenství nejsou jen výhybky, ale také návěstidla, závory, osvětlení a další a že tohle všechno musíš řešit ručně a sám.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Uživatelský avatar
petr-kubac
Příspěvky: 129
Registrován: 24 úno 2013, 15:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

Re: Detekce DCC Lokomotivy

Příspěvek od petr-kubac »

Díky za odpověď na více otázek než jsem vůbec položil.
Jen nepatrně připodotknu "ovládání výhybek tlačítky" - bylo opravdu analogové ne z tlačítka do DCC kontroleru a odtud do DCC výhybky.

A pak ještě drzý dopňkový dotaz.
Moje reléhová zabezpečovačka při vyšším počtu souprav došla do stavu zapnutý úsek - vypnutý úsek - zapnutý úsek - vypnutý úsek atd... a tento "kruh" se jízdou prvního vlaku posouval dokola. Nutností bylo, aby alespoň v jednom místě kruhu byly dva zapnuté úseky za sebou (tedy jeden zapnutý avšak prázdný sousedící se zapnutým s jedoucí mašinou) - jinak se železnice na principu "zácpy lokomotiv" zastavila....

Jestli věci dobře rozumím - dá se toto udělat i s DCC, tak že úsek, který má být vypnutý se přes 1+3 diody přepne do režimu "nesymetrie DCC" a lokomotiva ukázněně - dle naprogramovaných registrů zastaví a po zrušeni této nesymetrie se stejně ukázněně rozjede ? Přepínání se však již neřeší zkratovacími kolejnicemi a relátky, ale měřením proudu + vyhodnocení procesorem. Představuju si že pro tento účel je k dispozici všechno - od hotových krabiček se svorkami a MCU, přes DIY shield pro Arduino, po interface + Software pro PC nebo dokonce pro smartfouny....

( Mimochodem - na principu reciprocity - mohu pro vážné zájemce poskytnou výklad anglických názvů lodního lanoví a dalších součástek ;-)
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Uživatelský avatar
fulda
Příspěvky: 1442
Registrován: 04 led 2016, 17:18

Re: Detekce DCC Lokomotivy

Příspěvek od fulda »

petr-kubac píše: 17 led 2025, 15:09 Díky za odpověď na více otázek než jsem vůbec položil.
To víš, povánoční slevy - k odpovědi na každou položenou otázku zdarma dostanete odpověď na jednu nepoloženou.
petr-kubac píše: 17 led 2025, 15:09 Jen nepatrně připodotknu "ovládání výhybek tlačítky" - bylo opravdu analogové ne z tlačítka do DCC kontroleru a odtud do DCC výhybky.
Tak to byla ta kombinace, kterou jsem popisoval. Vlastně existuje místo, kde se dá použít. To je případ klubových a modulových kolejišť, kdy mám ovládání stanice jako samostatnou úlohu oddělenou od provozu lokomotiv. Pak je žádoucí, aby ten kdo ovládá stanici tak mohl učinit sám a bez nějakého dalšího systému. Pochopitelně takové kolejiště mohu provozovat pouze v případě, že je každá stanice obsazená výpravčím a nelze použít nějakou globální automatizaci.

A pak ještě drzý dopňkový dotaz.
petr-kubac píše: 17 led 2025, 15:09 Moje reléhová zabezpečovačka při vyšším počtu souprav došla do stavu zapnutý úsek - vypnutý úsek - zapnutý úsek - vypnutý úsek atd... a tento "kruh" se jízdou prvního vlaku posouval dokola. Nutností bylo, aby alespoň v jednom místě kruhu byly dva zapnuté úseky za sebou (tedy jeden zapnutý avšak prázdný sousedící se zapnutým s jedoucí mašinou) - jinak se železnice na principu "zácpy lokomotiv" zastavila....
Ano, to se jmenuje blokové ovládání a v době relátek to bylo celkem populární. Existovalo celkem hodně komplikovaných systémů tohoto typu. Rozšíření, nebo změna, jakékoli cesty znamenala tak zásadní změnu, že to prakticky dokázal jen autor a trvalo mu to ohromnou dobu.
petr-kubac píše: 17 led 2025, 15:09 Jestli věci dobře rozumím - dá se toto udělat i s DCC, tak že úsek, který má být vypnutý se přes 1+3 diody přepne do režimu "nesymetrie DCC" a lokomotiva ukázněně - dle naprogramovaných registrů zastaví a po zrušeni této nesymetrie se stejně ukázněně rozjede ?
Ano, udělat se to dá, to je jedno ze základních použití funkce ABC. Poměrně rychle však zjistíš, že ve světě DCC je to poměrně nevhodný způsob uvažování. Jsme ve světě, kde můžeš rozhodovací logiku "hodit" na nadřazaný systém a pro normální PC program je poměrně jednoduché sledovat vláček jedoucí ze zastávky A do zastávky B přes několik úseků a zároveň sledovat, aby úsek nebyl aktuálně, ani v budoucnu obsazen. Takže v normálním DCC světě se ABC úplně moc nepoužívá. Je to marketingová záležitost pro začátečníky, kteří si myslí, že relátkové ovládání je cool.

petr-kubac píše: 17 led 2025, 15:09 Přepínání se však již neřeší zkratovacími kolejnicemi a relátky, ale měřením proudu + vyhodnocení procesorem. Představuju si že pro tento účel je k dispozici všechno - od hotových krabiček se svorkami a MCU, přes DIY shield pro Arduino, po interface + Software pro PC nebo dokonce pro smartfouny....
Jen bych poznamenal, že je tu dvacátéprvní století, takže ano, obsazení úseku se dělá pomocí měření proudu, ale pak následuje slovo "sběrnice". Takže informaci pomocí nějaké sběrnice odešleš do centrály a ta podle svého nastavení tu informaci posdílí kam je potřeba - do ručního ovladače, do ovládacího panelu, do nějakého PC, po ethernetu do cloudu, pomocí bluetooth do smartphonu....
petr-kubac píše: 17 led 2025, 15:09 ( Mimochodem - na principu reciprocity - mohu pro vážné zájemce poskytnou výklad anglických názvů lodního lanoví a dalších součástek ;-)
Děkuji za nabídku. Zatím jsem úplně přesně nenarazil na potřebu znát tyto pojmy právě v angličtině. A třeba v Chorvatštině, nebo v Řečtině kupodivu ty základní ovládám.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Uživatelský avatar
petr-kubac
Příspěvky: 129
Registrován: 24 úno 2013, 15:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

Re: Detekce DCC Lokomotivy

Příspěvek od petr-kubac »

pro normální PC program je poměrně jednoduché sledovat vláček jedoucí ze zastávky A do zastávky B přes několik úseků a zároveň sledovat, aby úsek nebyl aktuálně, ani v budoucnu obsazen.
AHA - to je jádro pudla, na které jsem potřeboval narazit. Opět jen jestli jsem pochopil správně: Pravověrný "DCC železničář" - má kolejiště rozdělené na úseky, které měří proud jestli tam něco jede a z toho ovládací program v PC dovodí, že souprava 001 je v úseku N a pak že přejela do N+1 atd... pokud zná polohu každého vlaku - je věcí nějakého skriptu dělat celou "zabezpečovačku" virtuálně.

Jediný problém je v tom, že počáteční stav musíš programu nějak sdělit - nejlépe tak, že ti nedovolí napoprvé pustit lokomotivu 001 dokud neklikneš na schéma kolejiště, kde se nachází ( tak bych to alespoň v rámcí "blbuvzdornosti" programoval já )

Věřím že hardcoroví DCC železničáři možná ani proud neměří a věří rychlostem, které dodržují DCC dekodéry v lokomotivách ( ale ne-to mi připadá dost šílené - jako navigace robota jen z otáček kol.....)
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Uživatelský avatar
fulda
Příspěvky: 1442
Registrován: 04 led 2016, 17:18

Re: Detekce DCC Lokomotivy

Příspěvek od fulda »

V zásadě máš pravdu. Možností, jak se seznámit s "novou" lokomotivou v kolejišti je několik. Jedna je taková, že lokomotivu nakolejuješ vždy v úseku, kde máš RailCom a ovladače si mohou stáhnout informaci co je to za lokomotivu. Druhá možnost je, že postavíš lokomotivu na koleje a PC programu zaklikáš, co to je za lokomotivu. Další možnosti jsou, že třeba PC pasivně čeká, než se lokomotiva pohne pomocí ručního ovladače.
Navíc jsou lidé, kteří ovládají kolejiště ručně, nebo jen pomocí signalizačních robotů.
Prostě DCC je jen popis, jak tečou data, ale co s datama uděláš je tvoje hra.
A půlení úseků podle času jízdy některé programy umožňují, ale většinou jen omezeně. Například umožňují nastavit, že lokomotiva ve dvou třetinách úseku zahouká.
Odometrie u vláčků existuje, používá se BEMF a počítání "přeskočení" komutátoru. To má docela přijatelnou přesnost.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Uživatelský avatar
petr-kubac
Příspěvky: 129
Registrován: 24 úno 2013, 15:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

Re: Detekce DCC Lokomotivy

Příspěvek od petr-kubac »

OK díky - Jelikož mě pravděpodobně dříve trefí mrtvice (z manželky, nebo z baráku), než bych se do modelové železnice skutečně pustil - je tato informace více než dostatečná. Ačkoliv ty americké "konferenční stolečky" v obyváku, kde pod sklem je celé kolejiště - jsou opravdu žrádlo.
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Uživatelský avatar
petr-kubac
Příspěvky: 129
Registrován: 24 úno 2013, 15:43
Bydliště: Prostřední Suchá
Kontaktovat uživatele:

Re: Detekce DCC Lokomotivy

Příspěvek od petr-kubac »

Dovolím si ještě jeden poslední Off Topic post pro paranoiky.

Google patrně po delším čase - prosurfoval tuto diskusi, protože po týdnu úplného klidu, kdy jsem (konečně) neviděl žádnou reklamu na vláčky - mi celý víkend na YouTube - úporně jak střevní chodoba - vyskakovalo asi 100 tutoriálů na téma "určení polohy DCC lokomotivy v DCC kolejišti." - bohužel jsem musel malovat pracovnu pro manželku, takže se nemohu vyjádřit k tomu jestli to Fulda má lepší než Američani, nebo ne.
"The best computer language is a solder" - "Nejlepší programovací jazyk je pájka" - Bob Pease
Odpovědět