project koploper

Plaats hier alle onderwerpen die betrekking hebben op Dovetail Games' Train Sim World.
Lees eerst de stickies voordat je een nieuwe vraag stelt.
Gebruikersavatar
Robert5812
Berichten: 2
Lid geworden op: 13 nov 2025, 18:44
Gegeven waarderingen: 0
Ontvangen waarderingen: 2 keren

project koploper

Bericht door Robert5812 »

Ik ben erg benieuwd of er mensen op dit forum ervaring hebben met het omzetten van een echte mechanische bediening naar een bruikbare besturing in Train Sim World 5 (en later eventueel 6).

Samen met mijn broer werk ik aan een bijzonder simulatorproject, waarbij we verschillende mechanische hendels en schakelaars willen koppelen aan softwarematige functies in het spel.

Zelf heb ik al een aantal hendels en knoppen van een Class 66 weten na te maken, die ik aanstuur via een BU0836A-printplaatje. (Leo Bodnar Electronics)
Afbeelding
Dat werkt zeer goed, maar ik kom nu op het moment dat ik hendels moet kunnen bewegen in verschillende standen zoals in dit geval een koploper.

een probleem waar ik nu een beetje mee zit is dat ik bijvoorbeeld de remhendel niet exact gelijk krijg zoals in de echte cabine,
als ik de hendel beweeg gaat hij in het spel helemaal tekeer en vliegt hij heen en weer en doet hij dus niet wat ik van hem verwacht :sweat_smile:

om de bewegingen van de remhendel of zoals de pc het ziet een "joystick" om te zetten van een beweging naar softwarematige beweging maak ik gebruik van TSW2_Controller maar het heeft zo gruwelijk veel opties en functie`s dat ik het gewoon niet goed voor elkaar krijg

Alle tips, ervaringen of voorbeelden van vergelijkbare projecten zijn van harte welkom!

foto`s van het complete project kan ik helaas nog niet delen omdat ik daar van NS geen toestemming voor krijg op dit moment , zodra ik daarover een groen sein krijg :blush: plaats ik uiteraard foto`s en de rest van het verhaal

Robert
Deze gebruikers waarderen Robert5812 voor dit bericht (totaal 2):
HondekopERGamePsycho

GamePsycho
Berichten: 90
Lid geworden op: 15 apr 2020, 10:20
5
Gegeven waarderingen: 102 keren
Ontvangen waarderingen: 140 keren

Re: project koploper

Bericht door GamePsycho »

Zeer mooi project! Zelf heb ik van TS Controllers de flexi-lever (tractie en rem controller) in het bezit. Misschien dat je Dan, maker van deze controllers, om advies kunt vragen hoe hij dit met zijn software heeft aangepakt. Ben je toevallig van plan om in de toekomst ook voor derden custom made Koploper controllers te maken?

sandertje
Berichten: 23
Lid geworden op: 27 apr 2020, 20:09
5
Gegeven waarderingen: 273 keren
Ontvangen waarderingen: 10 keren

Re: project koploper

Bericht door sandertje »

Gaaf project en leuk om te zien wat je al hebt! Altijd leuk zulke projecten.

Een aantal jaar geleden heb ik ook een soort TS-controller voor mijzelf gebouwd. Niet zozeer om een stuurtafel van een specifieke trein na te bouwen, maar het ging mij vooral om wat schakelaars, hendels en lampjes die het rijden in Train Simulator Classic (TSC) net wat levendiger maken.

Mijn aansturing gaat via de Velleman K8055N. Misschien niet het meest praktische interfacekaartje, tegenwoordig zou ik waarschijnlijk voor een Arduino gaan, maar het leek mij toen wel een mooi printplaatje om mee te experimenteren. Voornamelijk ook omdat er een broncode voorbeeld in de programmeertaal Object Pascal (Delphi) werd meegeleverd waar ik toen al enige programmeer ervaring in had.

Uiteindelijk heb ik mijn eigen driver/software in Object Pascal geschreven welke de K8055N aanstuurt en tegelijk met TSC kan communiceren met behulp van de Raildriver.dll.

Afbeelding

Helaas heb ik geen ervaring in Train Sim World en de tool TSW2_Controller. Maar als ik het even snel bekijk lijkt het een mooie tool om mee te beginnen. Ook zie ik op internet dat je eventueel "Ts World Raildriver And Joystick Interface" kan gebruiken: https://forums.dovetailgames.com/thread ... ace.61440/.

Wat bedoel je precies met dat de hendel in het spel heen en weer vliegt? Verspringt de hendel in het spel soms willekeurig ook al raak je jouw hendel fysiek niet aan? Of bedoel je dat de hendel in het spel direct naar de maximale stand gaat wanneer je jouw hendel een klein beetje naar voren duwt?
Deze gebruikers waarderen sandertje voor dit bericht:
GamePsycho

Gebruikersavatar
Robert5812
Berichten: 2
Lid geworden op: 13 nov 2025, 18:44
Gegeven waarderingen: 0
Ontvangen waarderingen: 2 keren

Re: project koploper

Bericht door Robert5812 »

Na twee avonden stoeien met het programma denk ik dat ik aardig in de buurt kom.

Zoals ik het begrijp (corrigeer me gerust als ik ernaast zit) werkt tsw2_controller met pulsen.
Wanneer ik bijvoorbeeld de remhendel wil aantrekken – in mijn geval geprogrammeerd onder toets X – of wil lossen met Z, dan stuurt het programma deze toetsen in nauwkeurig berekende pulsen aan. Tussen elke stand zit een bepaald aantal milliseconden.

Als je de toets X handmatig ingedrukt houdt, trekt de hendel in het spel door tot de snelremstand (noodrem) dit duurt dan iets meer dan 1,5 sec.
dus als ik via het programma naar bijvoorbeeld remstand 5 wil, dan houdt tsw2_controller de toets X precies zo lang ingedrukt als nodig is om exact op die stand uit te komen.
er zit alleen nog wel een kleine vertraging tussen de fysieke rem hendel en de hendel in het spel

Ik weet toevallig 😉 de exacte gradenhoek van de remhendel van de ICM. ( gemeten met hoekmeter van mijn telefoon )

A Afsluitstand 59,5
? Vulstand 41,4
R Rijstand 29,8
R1 Remstand 19,5
R2 Remstand 11,5
R3 Remstand 3,5
R4 Remstand -4,7
R5 Remstand -13,0
R6 Remstand -21,5
R7 Remstand -30,5
T Teststand -45,7
S Snelremstand -61,4

doordat ik weet hoeveel tijd het kost om van remstand 2 naar 3 te gaan in mijn geval 220 miliseconden kan chatgpt berekenen wat de tijden tussen de andere standen moet zijn aangezien tussen tussen remstand 7 en snelremstand meer dan 30 graden zit en tussen de normale remstanden zo`n 8 graden.
sandertje schreef:
17 nov 2025, 21:20
Uiteindelijk heb ik mijn eigen driver/software in Object Pascal geschreven welke de K8055N aanstuurt en tegelijk met TSC kan communiceren met behulp van de Raildriver.dll.
ik ga hier eens naar kijken ( heb heel veel wat uiteindelijk moet kunnen samenwerken met het spel )
werken de hendels in het spel bij jou dan ook vloeiend ik bedoel , de stand waar je hem zet komt hij daar in het spel ook te staan.
GamePsycho schreef:
17 nov 2025, 20:04
Zeer mooi project! Zelf heb ik van TS Controllers de flexi-lever (tractie en rem controller) in het bezit.
heb je daar zelf ook wat voor moeten instellen of was dat gewoon plug and play ?
GamePsycho schreef:
17 nov 2025, 20:04
Ben je toevallig van plan om in de toekomst ook voor derden custom made Koploper controllers te maken?
ik heb wel de machine`s en mensen om me heen om zo iets te kunnen ontwikkelen , maar het kost gewoon zeer veel tijd en ook geld om zo iets kleinschalig te bouwen....

ik puzzle nog wel even verder hier , als ik de exacte instellingen gevonden heb deel ik ze hier uiteraard voor de gene die ze wil gebruiken

mini vraagje : is er een apparte categorie waar je bijvoorbeeld de zelfbouw projecten in kan vinden ? ik ben zoals ik merk niet de enige die iets maakt :blush: maar was het verder nog niet tegengekomen mischien een idee om dit als apparte categorie op de forum toe te voegen

sandertje
Berichten: 23
Lid geworden op: 27 apr 2020, 20:09
5
Gegeven waarderingen: 273 keren
Ontvangen waarderingen: 10 keren

Re: project koploper

Bericht door sandertje »

Als ik dit zo lees dan lijkt mij het tooltje TSW2_controller toch niet zo geschikt. Ik ging er vanuit dat TSW2_controller ook rechtstreeks met de game kon communiceren. Dat is namelijk wat je nodig hebt als je alles vloeiend en betrouwbaar wilt laten functioneren. Het bepalen van de remstand op basis van tijd in milliseconden lijkt mij namelijk behoorlijk onbetrouwbaar. Want wat als je jouw remhendel ineens een flinke zwieperd geeft dan normaal? Of wat als je een andere trein in TSW wilt besturen die meer of minder remstanden heeft?

Mijn remhendel heb ik vastgelijmd op een lineaire potmeter welke rechtstreeks is verbonden met mijn K8055N-printplaatje. Uit die potmeter komt een analoog signaal die in feite de positie van de potmeter aangeeft. Dit signaal laat ik realtime door de pc uitlezen. Vervolgens gebruik ik de Raildriver.dll om rechtstreek met het spel te kunnen communiceren/samenwerken. Vooraf bij het kiezen van een trein vraag ik in-game de maximale + minimale hendel standen van het specifieke voertuig op, zodat ik de positie van mijn remhendel kan laten matchen met de hendel in het spel. Vervolgens controleer ik elke paar milliseconden of de remhendel van positie is gewijzigd. Is dat het geval? Dan stuur ik direct de nieuwe positie rechtstreeks door naar het spel.

Door rechtstreeks met de game te communiceren kan je ook andersom weer dingen aansturen. Ik vraag bijvoorbeeld elke paar milliseconden in-game de status van de dodeman en de treindeuren op. Zijn de deuren vergrendeld, dan gaat de groene LED branden. Gaat het dodeman alarm, dan gaat de blauwe LED branden etc...
ik ga hier eens naar kijken ( heb heel veel wat uiteindelijk moet kunnen samenwerken met het spel )
werken de hendels in het spel bij jou dan ook vloeiend ik bedoel , de stand waar je hem zet komt hij daar in het spel ook te staan.
Ik ben mijn project begonnen met een printplaatje die ik uit een oud toetsenbord heb gesloopt. Vervolgens soldeerde ik daar diverse schakelaars aan zodat bijvoorbeeld de schakelaar voor de pantograaf gelijk door de computer herkent werd als toets P. Later heb ik het uitgebreid met die K8055N-printplaat waardoor ik meer directe input/uitput mogelijkheden kreeg. Hiermee kan ik zoals ik hierboven ook heb beschreven de stand van de hendel bepalen en met behulp van Raildriver.dll doorsturen naar het spel zodat die in dezelfde positie komt te staan. Uiteindelijk heeft de K8055N in vergelijking met een Arduino maar weinig digitale/analoge ingangen en uitgangen. Inmiddels zit ik al aan de limiet met wat je aan een K8055N kan aansluiten en moet ik soms slimme trucjes verzinnen als ik er nog iets aan wil toevoegen.

Ik denk dat voor jouw project uiteindelijk belangrijk is dat je een goede interface printplaat hebt met veel in- en uitgangen (omdat je aangeeft dat je heel veel hebt wat uiteindelijk moet kunnen samenwerken met het spel). Daarnaast is het direct kunnen communiceren met het spel, voor in ieder geval de hendels, ook een must voor een vloeiende en betrouwbare ervaring. Ik weet niet of jij enige ervaring hebt in programmeren en zelf software kan schrijven? Ik zag namelijk dat TSW een eigen API heeft: https://forums.dovetailgames.com/thread ... ort.94488/

Zo niet, dan zou je de tool "Ts World Raildriver And Joystick Interface" eens kunnen proberen.

Terug naar “Train Sim World”