Besturing
Steeds meer treinhobbyisten schakelen over naar de (dure) digitale wereld. Onmiskenbaar zijn de voordelen: minder bedrading en meer functies, een beter rijgedrag en de mogelijkheid tot automatische besturing via de PC. Daar staat tegenover dat er voor een flinke modelbaan nogal wat investeringen nodig zijn om alles digitaal te besturen. Daarnaast ben je verplicht om in iedere loc een decoder in te bouwen, waardoor oudere loc's vaak niet meer gebruikt kunnen worden omdat er geen inbouwruimte is of omdat de motor zich er niet voor leent. Ook betaal je al gauw 30 Euro extra voor een decoder. En de techniek staat ook niet stil; ieder jaar komen er meer nieuwe soorten met weer een nieuwe interfaceplug, waardoor de uitwisselbaarheid er niet beter op wordt. Verder zijn er diverse software protocollen in omloop, waardoor de ene centrale de andere niet begrijpt, een enkele uitzondering daargelaten. Tenslotte kun je een decoder fout inbouwen, zodat die een snelle dood sterft.
Ik heb er eens over nagedacht en heb besloten om mezelf deze narigheden te besparen, zelf de baas te blijven over mijn modelbaan en daarmee een uitdaging aan te gaan: bouw een door de PC geregelde besturing, die werkt zonder loc decoders, zodat al mijn loc's bruikbaar blijven en een aantal van de voordelen van digitale besturing krijgen.
Ik heb mezelf de volgende specificatie opgelegd:
- Één van de loc´s moet handmatig bestuurd kunnen worden zonder de verkeersveiligheid in gevaar te brengen.
- De baan wordt verdeeld in een aantal baanvakken, die op beide rails galvanisch van elkaar gescheiden zijn, dus een conventionele indeling, echter zonder sub-baanvakken.
- Continu verlichting in loc's en rijtuigen -ook bij stilstaande trein moet mogelijk zijn.
- Een goede snelheidsregeling m.b.v. pulsbreedtemodulatie (PWM).
- Het aantal snelheidstrappen heb ik beperkt tot 32 vooruit- en 32 achteruitrijdend. De overgangen tussen de snelheidstrappen wordt door de locbesturing (BVB) soepel opgevangen.
- De geluiden van startende motoren, piepende remmen, e.d. worden evt. met geluidsfragmenten op het juiste moment afgespeeld via de PC audio, zodat er ook geen sound decoders nodig zijn.
- Gebruik van een programma dat gemaakt is met MS-Excel op een PC met het 'Windows XP professional' besturingssysteem of hoger.
- Gebruik van de printerpoort voor de interfaceschakeling tussen PC en overige elektronica. Dit betekent dus parallel aansturen van data- en adreslijnen.
- De elektronische componenten mogen niet duur zijn en moeten gemakkelijk door iedereen nagebouwd kunnen worden.
- De terugmeldingen van de loc worden gedaan door uitlezen van de BVB bezetmelders voor zowel vooruit als achteruit. Hiermee wordt de lokale snelheid geregeld en kan het programma 'zien' waar een trein zich bevindt.
- Wisselstraten worden automatisch ingesteld door de plaats van de rijdende trein in combinatie met het gewenste traject.
- De besturing van de seinen wordt apart geregeld met SB of DSB voor de dwergseinen.
- De beveiliging van rijwegen moet in de software gewaarborgd zijn.
- Kortsluitbeveiliging in de voedingen moeten schade aan apparatuur voorkomen.
- Een dodemansknop moet de loc's snel laten stoppen bij calamiteiten.
- De snelheden van de loc's moeten op vaste waarden afgesteld kunnen worden in beide rijrichtingen.
Omdat ik verschillende loc's heb die allemaal bij een gewenste snelheid op dezelfde regelaar ook de juiste schaalsnelheid moeten rijden en alle loc's bij een bepaalde stand van de regelaar toch een afwijkend gedrag vertonen, heb ik besloten om voor iedere loc een softwarematige oplossing te zoeken in de vorm van een correctietabel. In Excel is dat als een éénmalige instelling prima te regelen. Desondanks zijn er loc's die ofwel de gewenste maximum snelheid niet halen ofwel de gewenste minimum snelheid. Dit moet helaas gecompenseerd worden ten koste van snelheidstrappen.
Er wordt per baanvak 1 regelaarprint gebruikt, Per BVB zijn 4 datalijnen nodig voor de rijrichting en de snelheid. Eén adreslijn stuurt de snelheid en een tweede stuurt de richting en de terugmelders. De adresbus bevat 8 bits die via een adresdecoder (AD) wordt omgezet naar 256 adreslijnen.
Omdat er veel terugmeldingen nodig zijn, is de uitlezing wat lastig te realiseren. Ik heb daarom een extra adres gereserveerd voor iedere BaanVak TerugMelder.
Met 8 adres lijnen kunnen er theoretisch 2^8=256 adressen aangestuurd worden, terwijl de printerpoort 8 lijnen kan aansturen via zijn 'Data'register. Het maximum aantal benodigde data lijnen is 4, om 2^4=16 mogelijkheden te krijgen per adres. Hiervoor gebruik ik het 'Control' register van de printerpoort. Voor de terugmelders gebruik ik het 'Satus' register (eveneens 4 lijnen).
Deze vorm van besturing werkt goed met Excel op een 2,8 GHz PC met 2 Gb geheugen bij gelijktijdig rijden van 4 treinen.
Systeem specificaties
Unit | Omschrijving | Stuurt | Data | Adressen |
---|---|---|---|---|
BVB | Baanvakbesturing | 1 baanvak voor snelheid, terugmelder en rijrichting | 0..15 | 2 adressen per BVB |
BVC | BaanvakClock | Alle BVB´s zijn hierop aangesloten om synchrone pulsen te krijgen bij baanvak wisseling | geen | geen |
WBR | Wisselbesturing | 8 wisselmotoren | 0..15 | 1 adres per WBR |
WBR-puls | Wisselbesturing met servo´s | 8 servo´s | 0..15 | 1 adres |
LPT_IO | Interface schakeling naar de PC | Adresbus 8 bit Databus 4 bit buffering terugmeldbus 4 bit | geen | geen |
KB | Kruispuntbesturing | 8 kruispunten of 4 stuks KR | 0..15 | 1 adres per KB |
KR | Kruispuntregeling | 2 kruispunten | geen | geen |
AD | Adresdecoder | 8 bit adresbus in en 32 adreslijnen uit | geen | geen |
SB | Seinbesturing | voor 4 hoofdseinen met evt. een lichtbak | 0..15 | 1 adres |
DSB | Dwergseinbesturing | 10 Dwergseinen | 0..15 | 10 adressen per DSB |
SD | Servo driver die schakelt tussen 2 uiterste standen met een hoek van 90° | Stuurt 1 of 2 servo´s in 5 sec (spoorbomen) of 1 sec (wissels) | geen | keuze uit 1 ms puls of 2 ms puls |