Ettor och n0llor på spåret.

Denna artikel är inte riktigt färdigskriven än, men eftersom många ville ha informationen så har jag lagt upp den i alla fall. Allt eftersom lägger jag till mera och förbättrar lite här och var. Om du har synpunkter går det också bra att maila mig. På grund av all spam så får du sätta ihop mailadressen själv: haba at pdc.kth.se. Hoppas det går bra.

Från att ha varit använt av några få, så börjar nu digitaltekniken göra intåg på spåret på bred front. Till och med traditionellt inriktade klubbar som SMJ börjar införa digitaldrift. Vad vill då modelljärnvägaren uppnå med detta? Som alltid så är vi ute efter så "bra" tågtrafik som möjligt. Bra är ett mycket subjektivt begrepp, men följande nämns ofta: Oberornde styrning av alla lok. Oberornde styrning av alla växlar. Minimering av antalet kablar under modelljärnvägen. Handkontrollrar som antingen är löstagbara eller till och med trådlösa. De flesta håller med att tekniken skall vara till för att kunna köra små tåg och inte tvärtom.

Loken på spåret

Spåret begränsar på ett naturligt sätt antalet ledare mellan omvärlden och loket till två, med fungerande luftledning tre. Inte ens så kallade Märklinister använder fler ledare. I forntiden har det dock funnits försök till multipelstyrning med fler ledare (t ex Trix express) och fler frekvenser (t ex Zimo). Begränsningen till två anslutningar är bra och dåligt på samma sätt. Åt ena sidan så får man mycket färre kablar, åt andra sidan så måste information och kraft överlagras. Idag görs överlagringen m h a digitaltekniken. I loket, växeln eller signalen sitter sedan ett liten krets som avkodar informationen från drivströmmen. Informationen är kodad enligt ett digitalt protokoll. Detta kallas Digital Command Control på engelska och förkortas DCC. Den digitala kodningen görs idag främst på två sätt: Märklin/Motorola och NMRA DCC. (NMRA är det amerikanska standarorganet för MJ, NEM heter den europeiska motsvarigheten. NEM verkar först nyligen ha upptäckt DCC). Märklins protokoll har vid det här laget "reverse engineerats" och NMRAs protokoll har från början varit en öppen specifikation. Den finns att hämta på NMRAs sida om standards där det finns en länk till DCC delen av standardverket. De flesta tillverkare håller på att gå över till att stödja styrprotokollet enligt NMRA. Sedan finns det några mindre system på marknaden med egna standarder, men dessa kommmer antagligen att självdö så småningom. Trix med sitt alldeles egna system som kallas Selectrix är lite av tågsystemens betamax (någon som kommer ihåg betamax video?) om man jämför med orginalsystemet från Märklin/Motorola. Den största skillnaden för en likströmsrallare jämfört med tidigare är att loket innehåller styrningen och därmed så går loket framåt och bakåt istället för till höger och till vänster på spåret när man ändrar körriktningen. Även om det inte är lika tydligt som hos ett ånglok, så har även elektriska och diesellok ett fram- och ett bakände, ofta utmärkta på något sätt. Rikningsstyrning i loket har funnits i märklinlok med hjälp av ett omkopplingsrelä sedan urminnes tider.

Det måste dock poängteras att trots tillverkarnas tappra försök att binda oss modellrallare till sitt system, så är val av digitalsystem oberoende av val av räls. Trots att de flesta som kör med trerälssystemet använder Märklin/Motorola och alla med tvåräls använder NMRA-DCC så finns det inget som föreskriver detta. Det går till och med att blanda dessa system, hur kommer jag att beskriva längre ner.

Men hur ser nu ett digitalsignal ut elektriskt på spåret? Alla digitalsignal är uppbyggda som ett växelströmssignal i form av en rektangelvåg. Jag kommer här att exemplifiera med NMRA-DCC signalen eftersom dess specifikationer finns lätt tillgängliga för alla, men de andra signalkodningar fungerar likadana. Ett NMRA signal på spåret består av en växelströmssignal som är symetriskt runt noll så att likströmslok som råkar stå på samma spår inte rör på sig.

Signalen består av en rektangelvåg (den kallas så eftersom den ser ut så om man tittar på den m h a ett mätinstrument, ett oszilloskop) mellan två spänningsnivåer, till exempel -12V och +12V. Beroende på tågskalan kan spänningen också vara lite högre, upp till 22V. Tabellen upplyser om detaljerna. Informationen som skall överföras till loket representeras av spänningsnivåernas växlingar mellan dessa två nivåer. En växling mellan dessa två spänningar med signalen 52 µsec (mikrosekunder) på -12V och 52 µsec på +12V tyds som en etta. Detta kan skrivas som "_-" På motsvarande sätt representeras en nolla av en växling med signalerna minst 100 µsec på -12V och minst 100 µsec på +12V. Detta kan skrivas som "__--" eller "___---". Om ni nu blir förvirrade när jag förklarar hur DCC signalen ser ut elektriskt, så håll ut, de elektriska detaljerna är i och för sig kul att känna till men inte nödvändiga för att använda digitalsystemet.

Till exempel:


Decimalt: 4711

Binärt: 1  0   0   1 0   0   1 1 0   0   1 1 1

Vågform: _-__--__--_-__--__--_-_-__--__--_-_-_-

Bitnr.:  1 2   3   4 5   6   7 8 9   A   B C D osv.
Om man tittar på värdet ovan, så kan lista ut att det är MSB (mest signifikant bit) först som gäller. Alla håriga detaljer finns i själva NMRA standard 9.2.

Eftersom man nu också vill att det skall gå att styra ett gammalt analogt lok i någon slags "bakåt compat mode", så använder man sig av en teknik som kallas "zero stretching". Det betyder att man gör nollorna osymetriska och därmed får en likströmskomponent:

Binärt: 1  0    0    1 0       0     1 1 0   0     1 1 1

Vågform: _-__---__---_-__------__----_-_-__--__----_-_-_-

Bitnr.:  1 2    3    4 5       6     7 8 9   A     B C D osv.
Oberoende hur mycket nollorna stretchas (upp till ett maxvärde förståss), för digitala lok är detta samma kommando som ovan. I exemplet ovan är nollorna stretchade olika mycket. Genom det kan likströmskomponenten anpassas till en viss spänning.

Detta gör att man kan köra ett likströmslok i den strömkretsen. Man kommer inte riktigt upp i +-12V som förr, men alla lok är i alla fall överväxlade så att det inte är något problem. Vi modellrallare är tyvärr medvena om att det har uppmäts hastigheter på omräknad 500km/timme på stackars ånglok. Zero stretching får man dock till priset att loket tjuter med den valda frekvensen och att man eldar bort mera värme som möjligtvis skadar motorn. Jag har inte råkad ut för det själv men hört talas om att motorer har tagit skada. I riskzonen ligger framför allt N-skalelok med små 3-poliga motorer. Så det blir inte riktigt tummen upp för den lösningen. I längden orkar man i alla fall inte lyssna på tjutet på ungefär 9kHz och kommer att utrusta alla sina modeller med dekoder.

Ingående systemkomponneter

Decoder

Decoder kallas det lilla chippet som avkodar signalerna. För varianten som klarar av en ström på 1A har vi idag kommit ner till storleken eller snarare litenheten på 4 x 9 x 3,8 mm och ett pris på cirka 250kr, så det är inte längre ekonomiskt att bygga själv. Dessutom används det ytmonterade specialkomponenter. Riktigt så liten behöver det dock inte vara om man inte som jag har sina lok i mindre skala än majoriteten. Decoder finns i alla smaker där de enklaste endast kan styra hastighet och ett lyse medans de mer avancerade varianterna klarar fler specialfunktioner och lastreglering genom att känna av strömspikarna när kollektorn roterar. EMF heter det visst. Vad man kan använda fler specialfunktioner än lyse till begränsas av platsen i loket, strömförbrukningen och fantasin. Följande ha setts (eller hörts): Blinkande varningslampa (typiskt USA), hel/halvljus (typiskt Sverige), horn eller vissla, motor eller ångljud (så klart växlande med hastigheten), rök, varningsbeep och bang vid dörrstängning, musik i dansvagn samt höj och sänkbar arbetsplattform (vilket är överkurs). Det finns också rykten om modellrallaren som nästan helt slutade köra tåg när han hade börjat använda sin fjärrstyda kranvagn.

Decodrar finns i stort sett av fyra olika typer:

  1. Lokdekoder för NMRA protokollet
  2. Lokdekoder för Märklin protokollet
  3. Tillbehörsdekoder för NMRA protokollet
  4. Tillbehörsdekoder för Märklin protokollet
Bland dessa finns sedan undertyper som bland annat bestämmer hur många adresser den klarar av. De flesta dekodrarna lyssnar endast på en typ av protokoll, även om få dekodrar av märkena Arnold, ESU och TBU dekodrar lyssnar på datapaket av såväl NMRA och Märklinformat, dvs är en korsning av 1. och 2.

[Fixa Decoder BILD, kanske monterad i lok]

Centralenhet

Digitalsignalen genereras av något som man kallar centralenhet. Den innehåller ett antal kretsar som lägger ut körspänningen med styrinformationen om och om igen. Centralenheter har från början också varit för endast ett system, men på senare år har det kommit centralenheter som klarar av att generera fler än ett protokoll. Centralenheter kan vara inbyggda system eller ett program som körs på en dator.

  Protokoll
Centralenhet Motorola/Märklin DCC FMZ Selectrix
Märklin 6020 X      
Digitrax Chief   X    
Roco   X    
Lenz   X    
Uhlenbrock Intellibox X X   X (1)
Fleischmann Twincenter   X X X (2)
Arnold X X    
Zimo X X    
DDLs erddcd X X    
TrackOne X X    
(1) Inte samtidigt
(2) Icke dokumenterad

Tabellen innnehåller endast de största tillverkarna/format och de som jag har personligen kommit i kontakt med. Här ser man också att vissa protokoll är mer utbredda än andra och framtiden kan vara oviss för alla utom de två stora.

Inbyggda system
Centralenheter finns att köpa som inbyggda system, helt enkelt en liten låda med µCPU som kan en enda sak.

Märklin 6020 eller 6021 är en typisk sådan centralenhet. Den är dessutom inget annat, inte ens en nödstopknapp har man kostad på sig. Det var lite snålt.

Det finns centralenheter som kan lite mer och inkluderar även andra funktioner som körkontroller eller datorinterface: Lenz han en som heter Compact och Uhlenbrock en som heter Intellibox. Lenz är kännd för att konstruera och tillverka åt Atlas, Märklin och Arnold, Uhlenbrock åt Fleischmann.

På tågföreningen har vi bestämmt oss för en Digitrax centralenheten, enda problemet med den hittils har varit en undermåliga bruxanvisningen.

[Fixa bild av centralenhet och boostrar med lite pilar]

Dator med program
En PC med ett speciellt program kan ersätta en inbyggd centralenhet med sin lilla CPU som kör ett enda program vilket slås på när man slår på lådan. Mer om detta nedan.

Körkontroller

Märklin 6035 är en lokkontroller av klassiskt transformatortyp. Det finns även lösa kontroller av "walk around" typen som kan kopplas till en kommandobus som till exempel LocoNet. Dessa kan se ut så här:

[Fixa bild av handkontroller].

Handkontroller kan vara av enkel typ med en ratt och några knappar (tack för att det finns sådana) eller vara korsningar av en videofjärrkontroll och en miniräknare med vilka men genom mer eller mindre kryptiska kommandon kan programmera lokdekodrar eller ställa växlar eller vad vet jag.

Beroende på typ av handkontroller och kommandobus, så kan det vara möjligt att plugga ut och in dessa i farten. Detta kallas för "walk arond" kontroller.

Växelkontroller

Märklin 6040 är i stort sett en låda med en massa knappar på. Jag ser inte riktigt vitsen med en sådan, om jag någonsin kommer att styra mina växlar digitalt kommer det att vara från ett simulerad spårplansställverk på en dator.

Kommandobus

För att koppla handkontroller och andra kontrollenheter till centralenheten finns det olika lösningar. De olika tillvarkarna har hittad på olika hårdvarulösningar som använder olika protokoll. Dessa kan vara hemliga eller så kan protokollet vara publicerad för enskild bruk. Det finns stora skillnader i målgrupp (från ensam modellrallare i sin källare till 100 personer som gemensamt styr en stor klubbana) och i sofistikation. Ungefär som skillnaden mellan joystickport, USB och Ethernet. Märklin använder (fast de säger det inte) något som heter I²C bus som koppas ihop när man sätter ihop de olika systemkomponenterna sida vid sida. Uhlenbrock och Arnold har också passande komponenter till I²C bussen. Lenz kallar sin bus X-bus och Digitrax LocoNet. Av alla dessa är LocoNet det mest intressanta eftersom det är en riktig databus med CSMA/CD á la Ethernet, dock genom att man sänker en ledare med 50mA mot jord. Gränsspänningen är 4V. Digitrax har publicerad specifikationen för hemmabruk.

[Fixa: stoppa in länk till spec - har Digitrax flyttad den igen?!?!?].

  Kommandobus
Centralenhet  I²C  XBus/XpressNet LocoNet MausBus SRCP + TCP/IP
Märklin 6020 X        
Digitrax Chief     X    
Roco   ?   X  
Lenz   X      
Uhlenbrock Intellibox X   X X  
Fleischmann Twincenter X   X X  
Arnold X X      
DDLs erddcd         X
TrackOne         X

LocoNet använder en 6-ledare (RJ12) där pinnarna 2+5 är jord och 3+4 är LocoNets databärare i två parallella ledare med samma potential. Sedan brukar man förvirra användarna genom att man lägger ut en strömbegränsad kopia av rälssignalen mellan ledare 1 och 6 i samma kontakt. Den kan användas för att ansluta fler boosters samt används för att spänningsmata handkontrollrarna, men inte för att överföra information till handkontrollarna.

Interface

För att koppla sin dator som kontrollenhet till centalenheten finns det olika lösningar från tillverkarna. Märklin har sitt interface 6050 som tar in kommandon via RS232 och ger dessa vidare till den interna kommandobussen.

För LocoNet finns en färdig, dyr och dålig (ingen galvanisk avskiljning) samt en billigare oc bättre hårdvara i byggsats för att datorn kan bli en LocoNet enhet och därmed vara LocoNet kontrollenhet. Rent teoretiskt skulle datorn även kunna vara LocoNet centralenhet, men jag har inte sett detta i praktiken än. Det är kanske lite programmering kvar för att förverkliga detta.

Uhlenbrocks intellibox har redan inbyggd RS232. Så om du vill styra centralenhet från datorn, glöm inte att räkna med kostnaden för Interfacet om det inte redan är inbyggd.

Lenz har ett interface kallad LI100 mellan XBus och RS232.

Booster och Rälssignal

Om man har en stor anläggning så vill man dela upp den i ett antal strömmatningsområden. Detta för att begränsa kortslutningseffekten som man annars skulle kunna få. Det är fult med svetsmärken på räls, lokens hjul och strömavtagarbleck, inte att prata om hur fult det är med sönderbrännda plastdetaljer. Ja, det har hänt. Även elsäkerhetsfolket skulle ha synpunkter på en matning på 12V och 500VA. En kortslutningsström på 41A kan vara farlig även med endast 12V. Istället för att bygga ett jätteeffektsteg så distribuerar man en lågeffektssignal till ett antal förstärkare som var och en är effektbegränsade till säg 5A. Naturligtvis lite mera till trädgårdsbanan i skala 1:22,5 och lite mindre till hyllbanan i skala 1:160.

För de som inte är hemma i skalor: Den vanligaste skalan som alla tänker på när det gäller modelljärnväg heter H0 (uttalas Halv-Noll eftersom den är hälften så stor som den som heter noll) och motsvarar 1:87.

Sedan har jag inte sagt att det inte finns personer som töjer lite på reglerna om strömstyrkor på sin trädgårsbana eftersom det inte är någon vits med ett flertågssystem om det inte finns tillräckligt effektuttag för körning av flera lok.

Vändslingeautomatik

Du som kör Märklin med mittkontakt kan hoppa över detta stycke.

Alla banor med tvårälssystem, oberoende om de körs med digital eller analog drift har ett vändslingeproblem när de två motsatta räler med olika polaritet träffar varandra i en vändslinga eller diagonal. I digitaldriftsfallet är problemet dock mycket lätt att lösa: Man isolerar vändslingan eller diagonalen och kopplar in en liten dosa som vänder polerna ifall det blir kortslutning. Eftersom färdriktningen som bekannt sitter i loket, så fortsätter tåget åt samma håll i alla fall. Se bara till att vändslingespåret är så långt att hela tåget får plats, anars blir det kortslutning genom tåget som överbrygger de isolerande rälsskarvarna. Vändslingeautomatiken kan ibland vara inbyggd i effektförstärkaren, ibland behöver man köpa till i en liten låda.

Transformator

All denna elektronik vill vara matad med ström. Som brukligt i MJ sammanhang använder man 16V växelström. Om du inte vill köpa de dyra "Digital"-transformatorerna som tillverkarna säljer och inte heller har kvar en gammal trotjänare från analogtiden, kan du köpa likvärdigt någon annanstans. Du behöver titta på spänning (14-16V), ström (2-6A beroende på behov) och effekt. Effekt är spänning gånger ström, dvs en transformator som levererar 4A vid 16V har en effekt av 64VA. Transformatorer märks i VA och inte i W (Watt), men i vårt fall kan vi säga att det är samma sak. Transformatorn skall dessutom vara säkrad även på lågspänningssidan och det kan vara bra med en automatsäkring. Jag avråder alla från hemmabyggen eftersom en felaktig koppling på transformatorn kan leda till döden. Det finns fina kapslade transformatorer at köpa som är värt sina pengar.

Dator (till exempel PC)

Det mesta som man kan göra med ettt inbyggd system kan man även göra med lämplig programmvara. Dock har en PC vanligtvis inte någon utgång som kan leverera godtycklig vågform (inte färdigtänkt sidotanke: ljudkortet då?) Eftersom man just vill slippa att köpa extra hårdvara och många PC har en serieport, så kan man generera den kontinuerliga vågformen som man behöver till DCC med lite genial programmering samt udda parametrar (custom divisor till UART) på serieporten. Efter detta behöver serieportssignalen endast förstärkas med en booster. Jag har hört talas om köpprogrammvaror som heter WinLok och så finns det DDL som står för Digital Direkt für Linux som jag har goda erfarenheter med. DDL kan dock ställa till små problem för den oinvigde eftersom sådana detaljer som dokumentation och mailinglistor domineras av tyskan. Nyligen har det även dykt upp en "port" till Win* som heter DDW.

Der Mobas digitalprojekt, där hittar man länkar till DDL, DDW och annat av samma sort.

DDL
DDL implementerar ett klient-serversystem där diverse kontrollprocesser som har hand om ett hastighetsreglage eller ett virtuell ställverkspulpet kommunicerar m h a SRCP (Simple Railroad Control Protocol) till en dämon som sedan styr själva tågbanan. SRCP är ett textprotokoll över TCP precis som SMTP dock med kommandon för att sätta hastigheter på lok och lägga om växlar. Det finns ett antal klienter som pratar SRCP, jag vet om följande:
SRCP och LocoNet
En LocoNet devicedriver för Linux är under utveckligen och kopplingen till SRCP diskuteras. Detta är dock inte riktigt klart än. Med detta skulle det även finnas möjligheten att använda datorn som LocoNet centralenhet eller koppla datorbaserade klienter som tex SpDrS60 till en Digitrax centralenhet.

Att köra

Skillnaden när man kör tåg ensam är inte så stor, dock om man börjar köra ett större antal personer tillsammans upplever man en stor frihet i att slippa bry sig hur saker och ting är kopplade under banan. Man pluggar helt enket in sin handkontroller i ett hål på banans framkant, väljer loknummer och kör. Detaljer som att inte två personer skall använda samma lok samtidigt håller centralenheten koll på, och för det mesta funkar det utan problem. Dock har det hänt att Digitrax centralenhet har "glömt bort" en association mellan lok och handkontroller och då vägrar ge mig det loket på en timeout av 200 sekunder. Det känns då lite dummt och det är ett av skälen att jag vill ha kontroll över programmvaran i centralenheten. Men då är hör jag också till den gruppen personer som programmerar själv.

Återkoppling

För att överföra information från växlar eller kontakträls (spårledningar) finns det lite olika lösningar. Mest utbredd är S88 bussen som är ett mäkrlinpåhitt och fungerar som ett stort shiftregister. Andra alternativ är Lens RsBus eller LocoNet som även kan användas till sådant.

Framtiden

Det som håller på att hända nu är att till komplement för återkoppling av växellägen och upptagettillstånd på spår, så kommer det direkt återkoppling från loken (främst hastighet) samt igenkänning av individuella tåg mha data från dekoder för att exakt kunna veta var tågen befinner sig. Om detta innebär en ökning av körglädjen eller bara blir till nöje för automatitionsfreakarna får framtiden utvisa. Tillverkarna hoppas i alla fall redan nu kunna presentera nya funktioner innan de ens hinner leva upp till de leveransproblem som ofta uppstår på elektronikfronten.

Blivande faktaruta

DLL      Digital Direkt für Linux 
NMRA     National Model Railroad Association 
SMJ      Ekenholmsbanan på rosenlundsgatan  (äldst i stan).
SpDrS60  Spurplandrucktastenstellwerk Siemens Bauart 60

Länkar att bygga in

Der Moba - sajten till newsgrppen de.rec.modelle.bahn

Mobas digitalprojekt

SRCP

DDL

S88-bus, SRCP tester och annat av Martin Wolf

dtcltiny

SpDrS60