zaterdag 30 september 2023

Automatisch rijden(4), richting

 In deel 3 ging het over het analyseren van de baan. Dat kan dus. Automatisch vanuit een melder kan worden bepaald hoe de verbindingen zijn naar andere melders. In het baanontwerp is dat een vast gegeven, een railstuk heeft dan altijd een aansluiting waar de trein het railstuk binnenkomt en een aansluiting, of meerdere aansluitingen bij wissels ofzo, waar de trein het railstuk weer verlaat. Dat is in een links en rechts oriëntatie vast te leggen, of zoals werkelijk bij het baanplan van WMapp in een aansluitnummer van 1 totenmet 8. Waarbij het lagere nummer altijd het ingaande en het hogere nummer het uitgaande aansluitpunt is. Ja, beste lezer, nu wordt het ingewikkeld.

Maar wel vast dus. Maar nu die trein, die is gezien de richting niet vast, hij kan vooruit of achteruit rijden en hij kan met zijn neus naar links of naar rechts staan. Verschillende rijrichting dus afhankelijk van deze twee parameters. Ach bij een heen- en weer baanplan redelijk constant, trein staat altijd met zijn neus dezelfde kant op, maar is er een ovaal of rondje of keerlus? Of draaischijf? Dan wisselt deze stand. 

Stand en richting kunnen bij start van het automatisch rijden worden ingegeven in WMapp maar zijn daarna dynamisch en worden in het automatisch rijden proces aanpast. Trein kan keren in een opstelspoor, of wanneer de treinen elkaar hebben vastgezet, deadlock is daar een goed veel gebruikt Nederlands woord voor. 

Bij draaischijven en keerlussen kan de stand van de loc veranderen. 

Daar ben ik dus nu best wel even een paar dagen mee aan het stoeien geweest en denk daar de oplossing voor gevonden te hebben. 

Wordt vervolgt....

vrijdag 15 september 2023

Automatisch rijden (3); Trajecten

Een belangrijk verschil in WMapp met andere trein programma's  of centrales is dat de trajecten en mogelijke routes die een trein kan rijden, niet handmatig hoeven te worden ingegeven maar dat ze automatisch aan de hand van het getekende baanplan worden berekend. 

Zeker was dit even avontuur om goed werkend te krijgen, maar is uitgebreidt getest en werkt feilloos. Nog niet opgenomen in de huidige versie zoals te downloaden, omdat je er in dit stadium als gebruiker nog niks aan hebt. Als maker van WMapp zie ik dit zeker als het bereiken van een belangrijke mijlpaal in de ontwikkeling van het programma.

Een traject in WMapp is de railverbinding tussen twee melders. Een begin melder, waar komt de trein vandaan, en een eindmelder, waar moet de trein naartoe. De melder zelf is een of andere vorm van sensor of schakelaar die actief wordt als er een trein op de plek van de melder is. Bij het automatisch rijden wordt een trein waarvan de positie bekend is, dus het programma weet bij welke melder het staat, gestuurd op een traject waarvan de begin melder overeenkomt met de bekende positie van de trein. Het programma weet dan, wanneer de eind melder van dit traject actief wordt, de nieuwe positie van deze trein. 

Als voorbeeld, in het programma koploper zijn er meerdere schermen waarmee het baanplan kan worden getekend, een ander waarmee blokken in het baanplan kunnen worden gezet en aan de blokken kunnen meerdere melders worden aangewezen. 

In WMapp werkt het anders. In baanontwerp teken je het baanplan met railstukken. Recht, bocht, linkse of rechtse wissel en gelijkvloerse vaste kruising. Aan een recht of bocht railstuk kun je dan een melder toevoegen. Vanzelfsprekend moet de melder ook op de modelbaan op deze plek zitten.

Na het laden van een baanplan, baanplannen kunnen een naam krijgen en kunnen worden opgeslagen in je computer, gaat WMapp het baanplan onderzoeken. Hierbij wordt onder veel meer alle mogelijke trajecten bepaald.

In een traject kunnen een onbeperkt aantal railstukken worden opgenomen. Ook wissels en de stand van deze wissels om het traject te kunnen rijden. Wil WMapp een traject laten berijden, moet het traject vrij zijn. Gekeken wordt of er wissels zijn opgenomen in het beoogde traject die ook zijn opgenomen in andere trajecten die al, door een andere trein, worden bereden. Zo een traject kan dan niet gekozen worden. Een kruising in een traject wordt opgenomen als een blokkade met hetzelfde doel. 

Dit wordt automatisch door WMapp gedaan. Als gebruiker hoef je alleen maar de modelbaan te tekenen. 

Echt uniek in WMapp is de mogelijkheid om in het baanplan ongelijkvloerse kruisingen op te nemen. Een spoor wat over een ander spoor gaat of er onderdoor. Dit is iets anders dan de 'lagen' die je vaak vindt in andere trein programma's of centrales. In WMapp kun je behalve het 'actieve' railstuk ook een railstuk als brug, dus over het actieve railstuk, en een railstuk als tunnel, onder het actieve railstuk, opnemen. Wissels en al het andere waar je op moet kunnen klikken kunnen alleen in het actieve rail worden geplaatst. En voor het plaatsen van een brug of tunnel railstuk moet er ook een actief railstuk in dat vakje zijn. Een brug is altijd een railstuk over een actief railstuk, of een tunnel er onder door.

Dit geeft unieke  mogelijkheden. Zeker kan een baanplan veel realistischer worden getekend zonder de cryptische verwijzingen naar andere lagen. Maar ook het schaduwstation kan in het zelfde baanplan direct worden getekend en verbonden. 

Wordt vervolgt....

maandag 4 september 2023

Melders(2) IRrail Infrarood detectie voor K-rail.

Sensoren, (terug)melders kunnen op meerdere manieren worden gemaakt. Traditioneel kennen we de 'massadetectie' en 'stroomdetectie'. Bij beide methoden moet er van een stukje spoor  1 railstaaf  worden geïsoleerd. Bij massadetectie kan dan dit geïsoleerde deel vaak direct op een detector, een S88 module, worden aangesloten. Bij stroomdetectie is nog wat techniek nodig welke meet of er op het geïsoleerde deel stroom wordt gebruikt. Is dat zo dan wordt de melder actief.

Maar bij beide moet de rails uit de baan worden genomen en geprepareerd. Voor een baan in aanbouw zeker geen probleem, maar een bestaande baan met misschien al scenery is dit zonder sloopwerkzaamheden niet te doen. Ook bij voortschrijdend inzicht, de geplaatste melder zit op de verkeerde plek, of we zijn er een  vergeten is dit een probleem. 

Een melder die bij een bestaande baan zonder slopen kan worden ingezet is dan nodig. Twee methoden zijn populair. Met magnetisme, reedcontacten of HALLsensoren. En de tweede methode is met infrarood licht. 

Er zijn nog meer mogelijkheden, maar daar ga ik nu verder even niet op door.

Beide hebben voor en nadelen. Op de Houten beurs heb ik hall sensoren en IRreflectie sensoren in verschillende uitvoeringen bij me. 

De micro-reflectie sensor heb ik zo gemaakt dat deze tot wel 2cm voorbij rijdende treinen kan detecteren.  Maakt deze sensor wel erg gevoelig voor zonlicht.

Recentelijk heb ik een nog kleinere ir- reflectiesensor gemaakt. Slechts 4x14mm. Deze past tussen de bielzen van K-rails. En misschien ook wel andere railsystemen, dat heb ik nog niet uitgeprobeerd. 

Deze sensor heb ik maximaal ongevoelig gemaakt voor direct daglicht, heeft ook maar een beperkt bereik. Maar de sensor zit in het midden van de rails, waar de reflecterende, stroomafnemer van de locomotief op ongeveer 1mm afstand van de sensor overheen komt.  

De afstand tussen de bovenkant van de sensor en de bovenkant van de 'pukkel'  van de K-rails is ongeveer 1mm. En de sleper, stroomafnemer, onder loc is blank metaal wat heel goed reflecteert. De sleper is ook relatief lang zodat een over de melder rijdende  trein de melder lang bezet houdt. In vergelijking met een naast de baan geplaatse IR sensor of HALLsensor.  Het resultaat een zeer betrouwbare melding.

Wagens hebben doorgaans geen sleper. Door op de onderkant van de wagen een klein, niet zichtbaar, spiegeltje te plakken, kunnen ook deze de melder activeren.

SchakelBord

Tijdje niet gepost. Werk aan WMapp staat even stil omdat ik aan andere projecten momenteel werk. Een robot schip, werknaam RoBoot waarmee st...