RocRail – Pienoisrautatien ohjaus tietokoneohjelmalla
Digitaaliset ohjausjärjestelmät ovat tuoneet mahdollisuuden pienoisrautatien toimintojen ohjaamiseen automaattisesti tietokoneohjelmiston avulla. Ohjelmistoja on saatavana sekä maksullisia, että ilmaisia. Yksi suosituimmista ilmaisista ohjelmistoista on RocRail. Ohjelmisto on vapaasti netistä ladattavissa osoitteesta https://wiki.rocrail.net/doku.php. Osiosta ”Download” löytyy ladattava tiedosto ja asennusohjeet. Osiosta ”Wiki Documentation” löytyy ohjelmiston ohjeet usealla eri kielellä, ei tosin suomeksi.
Aivan ensimmäiseksi automaattiohjaukseen perustuvaa pienoisrautatietä suunnittelevan on syytä tiedostaa pari faktaa. Ensiksikin automaattiohjauksen vaatimat lohkojaot johdotuksineen on luonnollisesti helpointa toteuttaa radan rakennusvaiheessa. Valmiin radan, varsinkin alustaan kiinnitetyn ja sorastetun, osittaminen lohkoiksi ja johdottaminen on varmasti työläs operaatio.
Toiseksi automaattiohjaukseen perustuvaa rataa rakentaessa on hyvä tehdä huolellinen suunnitelma ratakaaviosta, ja pohtia tarkasti millaisia liikennöintireittejä haluaa. RocRail ei ole radan suunnitteluohjelma, mutta virtual-tilassa voi kyllä luoda kuvitteellisia ratakaavioita lohkoineen, ja testata erilaisia reitityksiä. Mieluisan lopputuloksen jälkeen voi alkaa sitten rakentamaan todellista rataa.
Miksi sitten tietokoneohjattu automatisointi
Pienoisrautatien automatisointia on mahdollista toteuttaa muillakin menetelmillä, esim. Arduinon mikroprosessoreilla. Rata jaetaan siinäkin lohkoihin, ja mikroprosessori koodataan antamaan tai katkomaan releen välityksellä lohkoihin tulevaa virtaa, jolloin voidaan vaikuttaa junan etenemiseen radalla. Samoin releillä voidaan ohjata vaihteita.
Tietokoneohjelmistolla toteutettava automatisointi on mielestäni edellistä huomattavasti joustavampi. Ohjelmistoon voidaan määritellä useita eri ”aikatauluja” junalle. RocRailissa näitä kutsutaan termillä ”schedule”. Arduinon tapauksessa haluttaessa vaihtaa reittiä joudutaan uusi koodi lataamaan mikroprosessoriin, ja vain tämä reitti on sitten käytettävissä. RocRailissa valitaan listasta haluttu aikataulu, ja laitetaan juna matkaan. Aikatauluja voidaan myös yhdistää peräkkäisiksi tapahtumiksi, näitä kutsutaan termille ”route”, reitti.
Tarvittavat komponentit
Tietokoneohjatun automaattiohjauksen perustana on digitaalinen rata. Analogisella ohjauksella toteutettua rataa ei voi hallita RocRail-ohjelmistolla. Tarvitaan siis digitaalinen ohjausyksikkö (Roco, Digikeijs, Lenz, ESU, Piko tms.). RocRailin sivustolla on lista soveltuvista ohjausyksiköistä https://wiki.rocrail.net/doku.php?id=english#command_stations.
Ohjausyksikön lisäksi tarvittavia komponentteja ovat ”feedback module” (vaikea keksiä hyvää suomennosta termille), eli digitaalinen tiedonkeruuyksikkö sekä vaihdedekooderi. ”Feedback module” kerää nimensä mukaisesti tietoa radasta ja paikantaa sillä olevia vetureita. Paikannus perustuu joko jännitteen muutoksen tunnistamiseen (occupancy detector) tai optiseen havaintoon (optical detector). Omassa radassani on jännitteen muutokseen perustuva systeemi, joten keskityn siihen.
Kolmas tärkeä komponentti on digitaalinen vaihdedekooderi. Laite mahdollistaa RocRailin tunnistamaan ja ohjaamaan vaihteita. Vaihteen kääntäjä voi olla joko sähkömagneettinen solenoid-tyyppinen (douple-coil), sähkömoottori tai servomoottori. Vaihdedekooderin tyyppi riippuu em. vaihteen kääntäjän tyypistä.
Radan jako lohkoihin
Rata jaetaan lohkoihin katkaisemalla raiteen toinen kisko kahdesta kohtaa tai laittamalla kiskoja yhdistämään eristeliitin. Katkojen pitää olla aina samalla puolella, kts. kuva 1. Esimerkkikuvassa radassa on kolme lohkoa. Kuvaan piirretyt lohkot A, B ja C ovat yksinkertaisinta mahdollista tyyppiä varustettuna vain yhdellä sensorilla. Vaihteet eivät voi sisältyä lohkoon. Lohkojen välissä voi olla ns. normaali raideosuus, mutta silloin on varmistettava katkojen puolella olevan kiskon virran saanti.

Kuten edellä on esitetty, niin ratatoimintojen automatisointi perustuu lohkoihin (blocks), joille määritellään sensoreiden avulla toimintoja kuten junan nopeuden hidastuminen, pysähtyminen, suunnan muutos. Lisäksi lohkoille voi määritellä erikoistoimintoja (action), kuten vaikkapa äänimerkin anto. Kuvassa 2. on esitetty yksinkertainen ratakaavio, jolle on perustettu viisi lohkoa. Ja esimerkki laaditusta aikataulusta (schedule) voisi olla vaikka seuraavanlainen; juna 1 lähtee lohkosta A, ja kulkee lohkojen B ja C kautta asemalohkolle D, ja pysähtyy. Pysähdyksen jälkeen juna etenee jälleen lohkojen B ja C kautta takaisin lohkolle A pysähtyen siihen. Junalle 2 voidaan luoda esim. aikataulu, jossa juna lähtee lohkolta E, kulkee lohkojen C, D ja B kautta lohkolle C, pysähtyy ja vaihtaa suuntaa peruuttaen takaisin lohkolle E.

Aikatauluja voi yhdistää reitiksi (route), mutta vain saman junan osalta, ja edellytyksenä on, että aikataulun päättymislohko on sama kuin uuden aikataulun alkamislohko. RocRailissa ei pysty tekemään reititystä, jossa junan 1 aikataulun perään liitettäisiin junan 2 aikataulu. Jos yllä kuvattujen junien 1 ja 2 toiminnot halutaan automaattisesti peräkkäin tapahtuviksi, pystytään se tekemään seuraavasti. Kellotetaan junan 1 matkaansa käyttämä aika, ja asetetaan junan 2 lähtöaikaan kyseisen ajan pituinen viive. Junat käynnistetään yhtäaikaa. Juna 2 lähtee liikkeelle odotettuaan määritellyn ajan.
Lohkoissa tapahtuvat toiminnot toteutetaan siis sensoreiden avulla. Yksinkertaisin tapaus on yhdellä sensorilla varustettu lohko, kuva 3, kohta 1. Sensorille määritellään tominnoksi enter2in, eli saapuminen (enter) ja pysähtyminen (in) yhdistetään. Junan pysähtymiskohta täytyy määrittää sensorin asetuksissa asettamalla aika, jonka juna käyttää lohkolle saapumisesta pysähtymiseen. Saapuessaan lohkolle juna hidastaa vauhtiaan, ja jos pysähtymismatkan aika on määritelty oikein, juna pysähtyy ennen lohkon päättymistä. Jos aika on liian pitkä, juna ehtii lohkon päättymiskohdan yli, ja kiihdyttää vauhtinsa takaisin matkanopeuteen. Ajan määrittäminen vaatii yleensä muutamia kokeiluja ennen kuin oikea aika löytyy. Junan on mahdollista lähestyä lohkoa kummasta suunnasta tahansa, aika voidaan määritellä molemmista suunnista.

Tarkemman pysähtymiskohdan junalle saa määritettyä käyttämällä lohkolla kahta sensoria, kuva 3, kohta 2. Toinen on enter ja toinen in. Lohko jaetaan kahteen osaan, joista enter on pidempi ja in lyhyempi. Enter-sensorin vaikutuksesta juna hidastaa vauhtiaan ja saavuttaessaan in-sensorin pysähtyy. Tässä tapauksessa juna voi lähestyä lohkoa vain enter-suunnasta.
Kolmannessa esimerkissä lohkolle on asennettu kolme sensoria, enter, pre2in ja in. Pre2in on alue jolla juna hidastaa, ja saavuttaessaan in-sensorin pysähtyy. Tämä setup on käyttökelpoinen kun halutaan antaa mahdollisuus lähestyä lohkoa kahdesta suunnasta. Lohkoissa on aina + ja – puoli, ja vaikka sensorit ovat samat voidaan kummallekin puolelle määritellä sensoreille omat asetukset.