Modele kolejowe

DCC (Digital Command Control)

czyli
Wprowadzenie do sterowania cyfrowego w modelarstwie kolejowym ze szczególnym uwzględnieniem systemu DCC".

Artur Czartowski



Oto garść wiadomości na temat sterowania cyfrowego:

Systemy sterowania cyfrowego (moje ulubione). Obecnie najpopularniejsze są: DCC (preferowany przez NMRA) i Marklin (od nazwy firmy). Oba systemy działają na podobnej zasadzie. Różnią się tylko formatem danych. W skrócie polega to na tym, ze w szynach (wszystkich) płynie prąd przemienny i dane są przesyłane podobnie jak w połączeniu RS232. Impulsy krótsze to jedynki, dłuższe to zera. Każda lokomotywa, zwrotnica ma swój dekoder i swój unikalny adres i każda komenda zawiera adres urządzenia, którego dotyczy. Jako, ze w całym układzie płynie prąd przemienny urządzenia mogą być zasilane z szyn, a jednocześnie czerpać z nich informacje. Całością steruje bądź specjalna centralka (command station) lub komputer, do których można przyłączać sterownice dla poszczególnych lokomotyw, rozjazdów, wyświetlacze sytuacji na makiecie itp. Centralkę dołącza się do boostera, który dane sterujące wzmacnia do poziomu napięcia na szynach. W zależności od wielkości makiety stosuje się boostery o rożnej wydajności prądowej lub nawet kilka dołączonych do rożnych fragmentów makiety.

Na serwerze NMRA jest szczegółowy opis standardu DCC http://www.nmra.org
Na tym serwerze jest sporo odnośników: http://www.tttrains.com/dcc/
Oto całkiem niezły adres: http://www.miba.de/workshop/steuer.htm
Maja tam cale mnóstwo programów do sterowania kolejkami.

Poniższy tekst zawiera podstawowe informacje na temat DCC (Digital Command Control). Jest to system stosowany do sterowania makietami kolejowymi zarówno dużymi jak i małymi.

Warstwa "fizyczna" jest dosyć prosta. Otóż na "tory" podawany jest "wzmocniony" sygnał sterujący z komputera/centralki o przebiegu prostokątnym. "Wzmacniacz" tzw. booster, który podaje sygnał (ok. 4 do 18 woltów w zależności od skali) z odpowiednią wydajnością prądową wystarczającą do uruchomienia lokomotyw (i/lub zwrotnic, semaforów itp, od 0.5A do 6A i więcej). Sygnał ten ma częstotliwość paru/parunastu kilo herców (standard NMRA przewiduje aby np. dekodery miały pasmo do 100kHz). W praktyce stosuje się 4-9kHz. I teraz sedno (wg NMRA) . "Jedynki" maja czas nominalnie 58 mikrosekund, natomiast zera 100 mikrosekund i więcej. Jest to "trochę" podobne do transmisji szeregowej. Dekoder nasłuchuje, i w ciągach zer i jedynek czeka na "ramkę" (sekwencję), która jest adresowana do niego i gdy taką dostaje wykonuje odpowiednie polecenie: steruje silnikiem (impulsowo podaje przez układ H-bridge np. tylko dodatnie połówki przebiegu lub tylko ujemne), włącza/wyłącza światła itd. itp. To znowu trochę przypomina działanie sieci ethernet, wszystkie dekodery nasłuchują i czekają na ramkę adresowaną do siebie bądź na ogłoszenie adresowane do wszystkich. Napięcie do zasilania układu dekodera i układów wykonawczych pobierane jest z szyn i prostowane, tak jak w gniazdku.

Program do sterowania makietą jest do obejrzenia na stronie:
http://www.freiwald.com/


Oto parę projektów dekoderów DCC na sieci:

http://animation.acmecity.com/triangle/130/decopic.html

http://ourworld.compuserve.com/homepages/deano32/railroad.htm

DEKODER do Zetki !!!!!!!!!!!!!!!

http://elnus.etech.hs-bremen.de/dcc_decoder.html


Dekoder do akcesoriów, ale bez software'u

http://www.users.bigpond.com/pbhandary/dcc/AccDecoder.html


Co do centralki do sterowani cyfrowego makietami to na sieci jest tego dosyć dużo. Cześć tych stron jest po niemiecku, ale Niemcy to potęga w Europie, jeśli chodzi o "kolejki".

Freiwald

http://www.freiwald.com/ (kosztuje 99$)


Linki do stron z softwarem do DCC:

http://www.miba.de/workshop/steuer.htm (linki do stron z softwarem)

http://users.lanminds.net/~sljkrr/

http://modelrailroad.miningco.com/msub016.htm (mnóstwo Inków)

http://members.home.net/rrsim/resources.html Control Concepts Resource Page (jest tu prawie wszystko co dotyczy sterowania kolejkami, tzn. linki)

A to trochę linków o projektach DCC, centralki, sterowanie itp.:

http://www.geocities.com/ResearchTriangle/Thinktank/1096/detector.html

DCC Compatible Block Occupancy Detector

http://jdb.psu.edu/nmra/dccfiles.html NMRA Electrical Committee: Digital Command Control Files for FTP

http://hoflink.com/~kjesser/ Using that old PC for DCC

http://www.geocities.com/CapeCanaveral/7396/ Digital Command Control Experimenter's Corner

http://www-public.tu-bs.de:8080/~i7120201/dcc/dcc_d.htm DCC meets FREMO http://www3.sympatico.ca/robert.cote/dcc.htm A DCC do-it-yourself project...

http://www.muenster.de/~amuehl/dcc2.htm DCC-Selbstbauprojekte und weitere Informationen:

http://www.geocities.com/CapeCanaveral/Lab/2459/DCC.HTM Digital Command Control Tips for building your own DCC System

http://www.geocities.com/CapeCanaveral/Lab/2459/ Martin Pischky's HomePage

http://www.geocities.com/CapeCanaveral/Hall/3892/ Mathias Hellmann´s HomePage

http://pages.sssnet.com/donc/detector.html Opto-Isolated Input Block Detector

http://www.geocities.com/SiliconValley/Lakes/6365/ Stefan Haack´s Homepage

http://personal.riverusers.com/~stepmurr/DCC.html Steve's DCC Project

http://www.geocities.com/CapeCanaveral/7706/ Tillorps Mekaniska (The Tillorp Locomotive Works)

Moje ulubione linki:

http://www.ida.net/biz/tetonsl/railroad/DCCboost.htm DIGITAL COMMAND CONTROL ON THE TETON SHORT LINE (POWER BOOSTERS)

http://www.launet.baynet.de/o.spannekrebs/franken-dcc.html

Franken-DCC-Zentrale

http://www.users.bigpond.com/pbhandary/dcc/DccHome.html The DCC Project

http://web.syr.edu/~mobrandt/dcc-mb/dccmbhom.htm The DCC-MB Home Page

http://www.geocities.com/CapeCanaveral/7706/hw.html TMWDCC Hardware

Dekodery DCC do samodzielnego "montażu" (tez moje ulubione)

http://elnus.etech.hs-bremen.de/dcc_decoder.html DCC goes Z

http://animation.acmecity.com/triangle/130/decopic.html NMRA-DCC Minidecoder für Analogmotore Hardwarebeschreibung:

Mój faworyt

http://ourworld.compuserve.com/homepages/deano32/ndecoder.htmN Scale Decoder DCC w pigułce:

http://www.mindspring.com/~drre/aboutdcc.htm Digital Command Control: The Wave of the Future

http://jdb.psu.edu/nmra/faq_19.html NMRA Electrical Committee: Digital Command Control Working Group FAQ (Frequently Asked Questions) Version 1.9

http://www.digitrax.com/clinic.htm Digital Command Control: The Wave of the Future

http://privat.schlund.de/R/RMueller/dcc/decoders.htm DCC-Decoder-Praxis

http://www.muenster.de/~amuehl/dcc.htm Digital Command Control(DCC)

http://www.cvpusa.com/dcc/command_station_operations.html EasyDCC Command Station Basic Operation

http://www.uni-duisburg.de/FB9/NGA/mitarbei/bruck/nem/nem-s.htm Eine digitale Schnittstelle für alte N-Loks

http://www.geocities.com/SiliconValley/3201/Links.html A UK based group promoting interest in the application of electronics (including computers) to all aspects of railway modelling

http://www.muenchen.roses.de/~rguenther/nem651.htm NEM651 (S) Schnittstelle

http://jdb.psu.edu/nmra/dcc.html Digital Command Control Working Group's Web and Archive Site

http://members.aol.com/lareyman/ CUSTOM INSTALLATIONS Info, Pricing and Links

http://www.jps.net/dlball/aboutdcc.htm DCC Shop

http://www.tttrains.com/dcc/dcctips.htm DCC Tips

http://www.tttrains.com/dcc/ The World Of DCC

http://members.aol.com/wire4dcc/diy.htm Do It Yourself Links

http://members.aol.com/locochaser/switches.htm Wiring Turnouts

Linki DCC:

http://www.german-railways.com/Models/DCC.htm Digital Command Control (DCC)

http://www.geocities.com/ResearchTriangle/Thinktank/1096/dcclinks.html DCC Links of interest.

http://www.muenster.de/~amuehl/dcc2.htm DCC-Selbstbauprojekte und weitere Informationen:

http://www.hobbylinc.com/train/links/elect.htm Products / Trains / Links / Electronics

http://www.geocities.com/Heartland/Estates/6675/ Model Railroading With Larry Puckett

http://members.home.net/rrsim/ The Model Railway Control Concepts Exchange

http://people.frankfurt.netsurf.de/wky/mbahn.htm#table11 Modelleisenbahn-Links

http://pages.sssnet.com/donc/links.html Must have Links.

http://ourworld.compuserve.com/homepages/PGuertler/Z-Links.htm Main Z-Scale Links.

http://www.rrhistorical.com/nmra/modelec.html NMRA Directory... Model Railroading: Electronics/DCC

http://www.rrhistorical.com/nmra/railfanw.html NMRA Directory...Modern Railfanning: World Alphabetized by country...

Sporo tego, ale jak widać w sieci temat jest dosyć popularny.

Ja osobiście mam zamiar wykorzystać port szeregowy z PC'ta bo sygnał z RS'a wystarczy wzmocnić w boosterze bez dodatkowych układów zamieniających transmisję równoległą z portu drukarki na szeregowy sygnał potrzebny boosterowi. Szybkość raczej nie ma wielkiego znaczenia bo port szeregowy ma dosyć duże pasmo (standardowo 112kbps). A to dużo więcej niż nam potrzebne do DCC.

A tak a propos to na sieci znalazłem nawet prosty układ, który służy do podsłuchiwania sygnału DCC wykorzystujący kartę dźwiękową.

http://www.digitoys-systems.com/ShowDCC_e.html


Małe FAQ dotyczące DCC

Czy lokomotywa przesyła jakieś informacje do centralki ?

W zasadzie lokomotywa nie przesyła potwierdzenia. Jedynie w modzie serwisowym.

Co do czasów trwania poszczególnych sygnałów to zobacz pod adresem:

http://www.tttrains.com/nmradcc/s91.html Electrical Standard for Digital Command Control, All Scales

Cytat:

"In a "1" bit, the first and last part of a bit shall have the same duration, and that duration shall nominally be 58 microseconds(2), giving the bit a total duration of 116 microseconds. Digital Command Station components shall transmit "1" bits with the first and last parts each having a duration of between 55 and 61 microseconds. A Digital Decoder must accept bits whose first and last parts have a duration of between 52 and 64 microseconds, as a valid bit with the value of "1". In a "0" bit, the duration of the first and last parts of each transition shall nominally be greater than or equal to 100 microseconds. To keep the DC component of the total signal at zero as with the "1" bits, the first and last part of the "0" bit are normally equal to one another. Digital Command Station components shall transmit "0" bits with each part of the bit having a duration of between 95 and 9900 microseconds with the total bit duration of the "0" bit not exceeding 12000 microseconds. A Digital Decoder must accept bits whose first or last parts have a duration of between 90 and 10000 microseconds as a valid bit with the value of "0". Figure 1 provides an example of bits encoded using this technique."


Czy dekoder sie stroi ?

Jeśli trochę znasz się na sieciach komputerowych to mój wykład będzie trochę za długi, ale może inni mniej doświadczeni będą zainteresowani. Otóż w tym przypadku nie ma zastosowania strojenie czy czułość. O ile dobrze pamiętam to zakres napięcia, które powinien rozpoznawać dekoder mieści się od +-4V do +-18V. To co odbiera dekoder to tylko fala prostokątna z zakodowanymi "0" i "1" poprzez zmianę długości trwania poszczególnych impulsów. Ten ciąg zer i jedynek dekoder musi dekodować na bieżąco i gdy natrafi na przynajmniej 10 jedynek i następujące po nich zero, zaczyna to interpretować jako rozkaz. Przykładowy rozkaz:

1111111111 0 11111111 0 00000000 0 11111111 1

Preambuła Bajt pierwszy Bajt drugi Bajt trzeci


Bajt pierwszy to adres dekodera do którego rozkaz został wysłany

Bajt drugi to rozkaz

Bajt trzeci to bajt kontrolny będący wynikiem funkcji EX-OR na bajtach pierwszym i drugim.

Dopiero po odebraniu i sprawdzeniu zgodności tego pakietu dekoder stwierdza czy ten rozkaz jego dotyczy czy nie. Rozkazy mogą być adresowane wyłącznie do jednego dekodera (szybkość, włącz światła itp.) lub do wielu jednocześnie (np. reset wszystkich dekoderów, zatrzymanie awaryjne całej makiety, idle mode - czy zawieszenie makiety itp).

Oczywiście aby uniknąć przekłamań lub nieodebrania rozkazu są one powtarzane co wyznaczony normą czas.

Poniżej adres strony, z której zaczerpnąłem tę wiedzę:
http://www.tttrains.com/nmradcc/s92.html

A to adres strony dotyczącej standardu DCC wg NMRA:
http://www.tttrains.com/nmradcc/


Adres dekodera jest przechowywany w pamięci EEPROM lub FLASH procesora sterującego dekodera. A nadaje się ten adres wykorzystując tryb serwisowy dekodera. W skrócie polega to na tym:
na makiecie (lub poza nią) wyznacza się tor serwisowy dla pojazdów (dla dekoderów stacjonarnych oddzielne podłączenie). Booster serwisowy może mieć małą moc bo służy tylko do wysyłania rozkazów do dekodera, więc musi mieć moc wystarczająca jedynie do zasilania dekodera. Dodatkowo booster serwisowy powinien mieć możliwość czytania odpowiedzi z szyn (z podłączenia dla stacjonarnych). Służy to do odczytania czy dekoder ma prawidłowo zapisane ustawienia w rejestrach. A te ustawienia to nie tylko adres. Można tam również ustawić tablice kodowania prędkości. Bo jak wykazują badania w poważnych pismach dla modelarzy, charakterystyka prędkości w funkcji napięcia na zaciskach silnika nie jest liniowa. Ponadto można tu tez uwzględnić np. jazdę ze składem i np. podać większe napięcie aby uzyskać te sama prędkość. Zmiennych do ustawienia wg standardu NMRA jest... 512 dla dekoderów tzw. multi-function, z czego do ustawiania jest ok 100, bo reszta jest zarezerwowana, dwie są tylko do odczytu (ID producenta i numer wersji) i kilka zarezerwowanych dla ustawień producenta. Dekodery dla akcesoriów mają 1024 zmienne z czego ustawia się ok 20, reszta zarezerwowana. Po ustawieniu albo przestawia się lokomotywę na tory normalne makiety. Ale bardziej eleganckim rozwiązaniem jest przełącznik, który dołącza do torów serwisowych raz booster serwisowy, a raz booster makiety. I po ustawieniu parametrów np. lokomotywa spokojnie sobie wyjeżdża na makietę.

Na torze serwisowym może w danym momencie stać tylko jeden pojazd, ponieważ rozkazy serwisowe nie mają adresu i gdyby stały tam np. dwie lokomotywy, obie miałyby te same ustawienia. Nie wiem jak to jest w praktyce ale taka sytuacja mogłaby mieć hipotetyczne zastosowanie jedynie w trakcji wielokrotnej. Ale i tak nie dałoby się poprawnie odczytać stanu rejestrów ustawień lokomotyw bo nie wiadomo by było, która odpowiedziała.


Jak steruje się urządzeniami na makiecie?


Do sterowania szeroko pojętymi akcesoriami stosuje się w najprostszym przypadku ten sam booster co do pojazdów na szynach. Tyle, ze dekodery akcesoriów są podłączone na stałe kablami. W tym przypadku problemem może być zapewnienie odpowiedniej mocy. Przy sterowaniu komputerem może się zdarzyć, że w jednym momencie zostanie przełączonych więcej urządzeń i wzrośnie zapotrzebowanie na moc z boostera. W skrajnych przypadkach może to wpłynąć na płynność ruchu pojazdów. Najlepiej jednak chyba zastosować drugi booster. Co do najlepszych boosterow to mogę polecić trzy projekty.

1. na układzie L298 (DUAL FULL-BRIDGE DRIVER) do ok. 4A.

http://web.syr.edu/~mobrandt/dcc-mb/941202_s.gif

Pozwala on na zbudowanie dwóch boosterów wykorzystując jeden układ scalony. Rozwiązanie jest o tyle dobre, ze ma wewnętrzne zabezpieczenie temperaturowe, jest w miarę proste i polecane przez autorów "DCC-MB Booster"

http://web.syr.edu/~mobrandt/dcc-mb/dccmbboo.htm)

Jedynym problemem może być zdobycie scalaka. Ale w dzisiejszych czasach nie powinno być problemów ze sprowadzeniem tego przez jakiś sklep z częściami elektronicznymi lub przez Internet (!).


2. na tranzystorach IRLZ34 (power booster) do ok. 3A.

http://www.ida.net/biz/tetonsl/railroad/DCCboost.htm

W miarę przyzwoity układ. Tutaj problemem może być zdobycie tranzystorów IRLZ34. Ale do przeskoczenia. Jest tam tez projekt boostera do programowania.

3. bazujący na L298 ze strony "TMWDCC Hardware"

http://www.geocities.com/CapeCanaveral/7706/hw.html

Można go wykonać w dwóch odmianach NMRAF7 i NMRAF8 odpowiednio 3A i 6A. W drugim przypadku obie połowy L298 zostały połączone równolegle, co dało większą wydajność prądową (6A). Na tej stronie są jeszcze projekty Miniboostera i Midiboostera.

W systemach ze sterowaniem DCC stosuje się podobne układy jak w sterowaniu blokowym. Na sterowaniu blokowym się nie znam. Może ktoś z grupowiczów wie, albo sam coś robił? W DCC stosuje się detektory, które reagują na pobór prądu przez urządzenie na izolowanym odcinku.

http://pages.sssnet.com/donc/detector.html

http://www.geocities.com/ResearchTriangle/Thinktank/1096/detector.html

http://www.ida.net/biz/tetonsl/railroad/detector.htm

Wyjścia detektorów dołącza się do wielowejściowych kart I/O. Teraz to już tylko problem oprogramowania, żeby zlokalizować pociąg. Jako uradzenia śledzone przez detektory mogą być użyte również wagony po zwarciu kół zestawu kołowego opornikiem o odpowiedniej rezystancji. To tyle co wiem. Praktyki nie mam ale popatrz pod w/w adresy, tam jest więcej i praktyczniej.


Źródła:

    Internet (cokolwiek to oznacza)




Opracował: Artur Czartowski