Hardware

Besturing
Systeem

Systeem

Er zijn prachtige digitale systemen te koop om je trein met de computer te besturen. Maar vaak is het erg kostbaar en al je treinen, wissels en seinen moeten worden voorzien van een stukje extra elektronica. Daarom heb ik geprobeerd om zelfs iets hiervoor te bouwen. Veel goedkoper en veel leuker.

De treinbaan moet zowel analoog (met de hand) als digitaal (met de computer) kunnen worden bestuurd. Dan kinderen de kinderen de baan bedienen en kan ik plezier beleven aan de computerbesturing.

De treinbesturing bestaat uit een elektronisch circuit dat is aangesloten op de printerpoort van de computer. Märklin maakt gebruik van 16 Volt wisselspanning en dat is lastig omdat de meeste elektronische circuits uitgaan van gelijkspanning. Ik heb daarom gebruik gemaakt van een relais. Dat is een elektrische schakelaar die de stroomkring van 16 Volt wisselspanning kan schakelen. Ik heb zelf geen verstand van elektronica dus het moet wel simpel blijven! Door gebruik te maken van een relais blijven de stroomkring van de computer en de Märklin-trein gescheiden. Een veilig idee als er kortsluiting ontstaat.

 

De behuizing

De electronica en de trafo’s heb ik ingebouwd in een oude PC-kast. De LED’s laten zien welk relais wordt geschakeld en laten zien of de spanning er op staat. De LED’s dienen alleen ter controle. Schakelt de software de juiste relais in en komt er een terugmelding van de railcontacten? Voor de eindgebruiker wordt op het beeldscherm getoond wat er gaande is op de modelspoorbaan. Dat is de interface die uiteindelijk voor de “seinwachter” relevant is.

Aan de achterkant heb ik kroonsteentjes gemonteerd om de bedrading van wissels en seinen makkelijk aan te kunnen sluiten. En natuurlijk noteren wat waarvoor is!

 1

Sein 1 –

 1

Sein 1 /

1

Contactrail 1

 2

Sein 2 –

 2

Sein 2 /

 2

Contactrail 11

 3

Sein 3 –

 3

Sein 3 /

 3

Contactrail 2

 4

Wissel 1 –

 4

Wissel 1 /

 4

Contactrail 12

 5

Wissel 2 –

 5

Wissel 2 /

 5

Contactrail 3

 6

Wissel 3 –

 6

Wissel 3 /

 6

Contactrail 13

 7

Wissel 4 –

 7

Wissel 4 /

 7

 8

Ontkoppelrail

 8

 8

 9

 9

Stuurspanning IN

 9

 Handstuursp IN

 10

 10

GND

 10

 Sp1 span. UIT

 11

 11

Sp1 cst. span. IN

 11

 Sp2 span. UIT

 12

24 Volt UIT

 12

Sp2 cst. span. IN

 12

Sp3 span. UIT

13

Sp3 cst. span. IN

Centronics I/O
Printerpoort

Printerpoort

De printerpoort van de computer heeft acht pinnen die je aan (1) of uit (0) kunt zetten. Wel of geen stroom op het pinnetje. Met deze uitgangen worden de relais geschakeld die op hun beurt de wissels en seinen kunnen schakelen.

De computer levert niet genoeg stroom op de printerpoort om het relais te bedienen. Er is een aparte trafo nodig om de 5 Volt gelijkspanning te leveren.

De printerpoort heeft ook vier pinnen waarmee je een stroom kunt detecteren. Aan (1) betekent 5 Volt gelijkspanning, en uit (0) als er geen spanning is. Deze ingangen gebruik ik om de railcontacten “uit te lezen” om te weten waar de treinen rijden.

De printerpoort kun je met de programmeertaal Basic bedienen. Simpel en doeltreffend. Meestal zitten de uitgangen op adres &H378, en de ingangen op adres &H379. Dit kun je controleren op je computer bij apparaatbeheer, hier staat welk geheugengebied is gereserveerd voor de printer.

Voorbeeld GWBasic:
POKE &H378,3 :REM  Zet spanning op pin 1 en pin 2
PEEK (&H379) :REM Leest de waarde van de ingangen (10 t/m 13)

Voorbeeld QBasic:
OUT &H378,0 :REM Alle pinnen zonder stroom
INP (&H378) :REM Leest de waarde van de ingangen (10 t/m 13)

Configuratie parallelle poort:

Functie 

Pin 

Pin 

Functie

Ground/massa GND

 1

19

 GND

Bit 0 t/m 3, &H378, PB0

 2

 20

 GND

Bit 0 t/m 3, &H378, PB1

 3

 21

 GND

Bit 0 t/m 3, &H378, PB2

 4

 22

 GND

Bit 0 t/m 3, &H378, PB3

 5

 23

 GND

Bit 4 t/m 7, &H378, PB4

 6

 24

 GND

Bit 4 t/m 7, &H378, PB5

 7

 25

 GND

Bit 4 t/m 7, &H378, PB6

 8

 26

 GND

Bit 4 t/m 7, &H378, PB7

 9

 27

 GND

 IN ACK

 10

 28

 GND

 IN Busy

 11

 29

 GND

 IN PE

 12

 30

 IN Select

 13

 31

 14

 32

 15

 33

 GND

 16

 34

 GND

 17

 35

 18

 36

De rechtsreekse aansturing van de printerpoort is bij Windows XP niet meer mogelijk. Hiervoor moet je stukje software downloaden die dit probleem oplost, te weten Direct I/O. Bij de voorgaande versies van MS Windows en bij MS DOS is dit niet nodig.

Nu maak ik gebruik van een oude laptop met Windows 98 dus zijn er geen speciale voorzieningen nodig. Helaas krijg ik op deze computer maar 1 “IN” poort werkend. De software kan maar 1 inputsignaal verwerken. Ik heb niet kunnen ontdekken waarom de andere IN-pennetjes niet functioneren. Bij mijn vorige PC werkten alle poorten zoals het hoorde, dat maakte het een stuk eenvoudiger omdat je meer signalen hebt om te bepalen waar de trein rijdt. Je kunt dan 4 railcontacten uitlezen.

Deze schakeling is bedacht in de tijd dat internet nog niet zo gangbaar was. Als je nu ‘googled’  vind je diverse sites met uitleg over elektronische circuits die je kunt aansluiten op de printerpoort van de computer. (Zie ook centronics poort of parallelle poort.)

Circuit

Om een relais te bedienen met de computer is een klein stukje elektronica nodig.

De computer levert de stuurspanning (1)  op een uitgang van de printerpoort. Het circuit schakelt het relais in. Als het relais is ingeschakeld gaat een LED branden.
Op een relais kun je een wissel of een sein aansluiten. Een Märklin-wissel werkt met twee spoelen. Eén om de wissel om te zetten en één om deze weer terug te zetten. Je hebt twee relais nodig om een wissel te kunnen bedienen. Een korte puls op de pin van de printerpoort (&H378) stuurt het relais aan en zet de wissel om. (Het relais verbindt één van de blauwe draden van de wissel met de massa.) Een puls op het tweede relais zet de wissel terug.

Naast deze PC-besturing heb ik ook de handmatige bediening nog aangesloten om eventueel in te kunnen grijpen.  En ook leuk dat de kinderen de trein dan kunnen bedienen.

Het aantal relais is hier beperkt tot acht (8 pinnen op de printerpoort). Hiermee kun je in feite maar vier wissels bedienen. De schakeling kun je uitbreiden met een multiplexer waarmee je 4 pinnen naar 16 pinnen kunt uitbreiden.

Er zijn relais te koop die twee afzonderlijke stroomkringen tegelijk kunnen schakelen daarmee heb je ook meer mogelijkheden. Je kunt natuurlijk ook gewoon twee relais tegelijk schakelen.

Daarnaast schakel ik meestal wisselparen tegelijk. De wissels kun je combineren in groepen zodat je meerder wissels tegelijk omzet met 1 schakelaar.Je moet altijd twee wissels omzetten om van baanvak I naar baanvak II te komen, die kun je net zo goed tegelijk omzetten met één knop.

Railcontacten

Een wissel omzetten kan natuurlijk niet als er een trein overheen rijdt. Om te weten waar de trein rijdt maak ik gebruik van railcontacten van Märklin.

Het railcontact schakelt een relais in. De elektronische schakeling zorgt er voor dat de wisselspanning van ongeveer 6 volt kan worden gebruikt om het relais met gelijkspanning te bedienen.

Het relais verbindt de ingang van de printerpoort (pin 10, 11, 12, of 13) met de GND van de PC. Het computerprogramma registreert de klik van het railcontact door het uitlezen van het adres van de printerpoort (&H379). Het uitlezen van de railcontacten levert een waarde van poort &H379. Om te bepalen welke contacten een signaal geven gebruik ik de onderstaande. In feite het omrekenen van het decimale getal naar bits (0 of 1):

De railcontacten zijn het zwakste punt in de treinbesturing want deze blijken niet altijd betrouwbaar; soms  schakelen ze slecht of “blijven plakken”. Het is mooier om iets te doen met stroomdetectie zodat je weet in welk baanvak de rijdt rijdt, maar dat is nogal ingewikkeld om te maken bij wisselspanning en daarvoor heb ik te weinig verstand van elektronica.

Baanspanning

De baanspanning moet regelbaar zijn. Dit houdt in dat de spanning van

0 tot 16 Volt wisselspanning moet kunnen worden ingesteld. Hiervoor gebruik ik een lichtdimmer met afstandsbediening. De dimmer regelt de spanning op een stopcontact van 0 tot 220Volt. De trafo voor de baanspanning wordt aangesloten op het dimmer-stopcontact.

Dimmer laat de spanning oplopen en aflopen

Afstandbediening dimmer
De afstandsbediening heeft een knop aan/uit en een knop om het lichtniveau te regelen. Eén klik en de spanning neemt geleidelijk toe, nog één klik en de spanningstoename stopt. Als de spanning op zijn maximum is daalt de spanning vervolgens geleidelijk weer af tot 0.

Om goed te zien wat er gebeurt heb ik behalve de trafo ook een lamp aangesloten op de dimmer. Als de lamp brandt rijdt de trein.

De aan/uit-knop en de regelknop van de lichtdimmer heb ik ook weer op een relais aangesloten. De baanspanning wordt nu geregeld door de computer die de relais aan en uit kan schakelen.

De maximale regelspanning moet gelijk zijn aan de constante baanspanning van 12 Volt. Overschakelen van de constante spanning naar de regelspanning gaat dan ongemerkt.

De maximale baanspanning is 12Volt in plaats van 16Volt. Het oogt op een kleine treintafel mooier als de treinen wat langzamer rijden. Met behulp van de terugmelding via de contactrails kun je meten hoe snel de trein rijdt. Een ovaal heeft een bepaalde raillengte. Door de tijd te meten die de trein erover doet om telkens de contactrail te passeren kun je uitrekenen hoe hard de trein rijdt.

Een rechte rail is 180mm lang, een normale bocht is 187mm lang. Bij 12Volt doet de trein er 10 seconden over om een ovaal met afstand van 2160 millimeter te rijden. Uitgerekend in kilometers per uur(3600sec) is dat ongeveer 78km/uur. Bij bebouwing is dat een normale snelheid en voor bergtrajecten gaat dat zelfs erg hard.

Complete schakeling
Schema

Schema

Om voldoende wissels en seinen te kunnen schakelen heb ik de schakeling uitgebreid met een multiplexer(74LS154). Deze IC (Intergrated Circuit) zet vier pinnen om naar 16 pinnen. Hierdoor wordt de schakeling fors uitgebreid. Het nadeel van de multiplexer is dat je maar 1 pin tegelijk kunt selecteren, en alle pinnen zijn standaard 1 (hoog). De geselecteerde pin wordt 0 (laag). Precies verkeerd om dus. Door een inverter(7074) toe te voegen die het signaalomkeert (1 wordt 0, 0 wordt 1) los je dit probleem op.  Maar daardoor flink wat extra draadjes in je schakeling. Het wordt een heel breiwerk.

De complete schakeling met 8 dubbele relais, 7 enkele relais, 4 railcontact-melders. De eerste 4 pinnen van de printerpoort zijn in gebruik voor de multiplexer. De eerste in van de mutliplexer gebruik ik niet omdat er ook een stand nul moet zijn waarbij er niets gebeurt. Alle pinnen op de printerpoort zijn 0.

Alle electronica heb ik in een oude PC-behuizing ingebouwd. Een voordeel was dat ik de trafo van die oude computer nog kon gebruiken als voeding voor het 5 Volt-gelijkspanning circuit.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *