Welkom! Login voor uitgebreide toegang en gebruiksfuncties.

Updates:

Testbericht: het is bekend dat de zoekfunctie nog niet perfect werkt, er moet een  nieuwe index opgebouwd worden.

Hoe een schaduwstation automatiseren

in Digitaal

Gestart door Dirk, 27 januari 2024 11:47

Vorige topic - Volgende topic

bask185

Ik denk dat de eerste ABC's klaar zijn voor een prototype batch. Ik had vanwege de uitrij module nog iets aangepast. 

Aanvankelijk had ik om bezetmelding door te geven van de een naar de ander een optocoupler zitten. Dat werkt natuurlijk, maar dat is maar 1 richting op. De uitrijmodule die beslist welke ABC groen licht krijgt en wie niet. Om dat te kunnen moet de uitrij print weten welke ABCs bezet zijn. Ofwel de ABC moeten ook naar voren kunnen communiceren. En dat kunnen ze, want ik heb laatste keer een circuit daar voor toegevoegd. Maar dan wordt A de bedrading omslachtiger, en B er zouden aanzienlijk meer dingen op de uitrijprint moeten komen. Dat is natuurlijk ongewenst.

Dus ik dacht, ja weetje.. weg met die optocouplers. Gewoon een los IO lijntje trekken. Dat werkt in de praktijk net zo goed. Het voordeel is dat een ABC nu een puls of signaal kan geven naar voren. Over dat ene lijntje kan dan 2 richting communicatie plaatsvinden.



Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

panto

ik volg nog altijd Bas. ik ben benieuwd  (y)

MartinRT

Citaat van: bask185 op 20 februari 2024 22:20
Over dat ene lijntje kan dan 2 richting communicatie plaatsvinden.

(y)  ik ben héél benieuwd !  Dit is precies wat ik mis op de bestaande modules.

panto

Hoi Bas

En zijn er al vorderingen  ;D , ik ben een beetje nieuwsgierig .

bask185

Nog niet, dan zijn jullie de eerste die het weten  ;). De ABCs waren klaar om besteld te worden. Ik moet nu misschien een ietsie kleine wijziging doorvoeren omdat die relais sinds kort out-of-stock zijn. Ik weet niet wanneer ze weer binnen komen. Er is wel een vervanger, maar die footprints wijken net een millimeter af.

Bovendien ben ik afgelopen bezig geweest met mijn eerste centrale (ding bovenin). Ben nog een beetje aan het stoeien met dat loconet slot manager systeem. Hij werkt al voor de helft  ;D

Hoe gaaf als we straks DCC centrales kunnen kopen van ~€15,- ?


Mvg,

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

panto

Cool, we horen het wel...

15 euro voor een centrale  :o :o :o :o

Mvg Steve

bask185

Ja joh, het zijn de kroonstenen op zo'n print wat praktisch het duurste zijn en zoveel heeft een centrale ze niet.  ::). Verzendkosten die gaan daar per gram ofzo idk  ::).
Train-Science.com
Train-Science github
It ain't rocket science ;-)

Dirk

Bas,

Heb je de chinezen al kunnen wakker schudden?

mvg

Dirk
2-rail digitaal, IB antiek, DR5000, Multimaus, Rosoft servo decoders en diverse Digikeijs spullen,Peco code 100.

bask185

Yes, printen zijn vershipt maar nog niet binnen.
Train-Science.com
Train-Science github
It ain't rocket science ;-)

Dirk

Nice,  zet het water voor de thee dan maar op.
2-rail digitaal, IB antiek, DR5000, Multimaus, Rosoft servo decoders en diverse Digikeijs spullen,Peco code 100.

Dirk

Nog geen vervolg op dit project?

mvg

Dirk
2-rail digitaal, IB antiek, DR5000, Multimaus, Rosoft servo decoders en diverse Digikeijs spullen,Peco code 100.

bask185

Printen zijn binnen, programma is grotendeels klaar. Moet dat nog testen. Met name de communicatie.

Ik hoop volgend weekend mijn programmer terug te hebben (ik moest die even uitlenen voor een SW update bij iemand). Ik heb tevens een extra pogopin clamp besteld voor een extra programmer.

Ik moet nog een dummy diode matrix maken op een breadboard om het een en ander te testen.

Bas
Train-Science.com
Train-Science github
It ain't rocket science ;-)

Dirk

2-rail digitaal, IB antiek, DR5000, Multimaus, Rosoft servo decoders en diverse Digikeijs spullen,Peco code 100.

bask185

Vandaag een stukje detail uitleg over de werking. Ik heb in software een 'Transceiver' class gemaakt en een 'Sender' en 'Receiver' class die beide overerven van de Transceiver.

Een Sender trekt een signaal lijn omlaag, dit is een puls. De lengte van de puls bevat informatie over bezetmelding ed.

Een ABC module die heeft zowel een Sender als een Receiver.

Een Sender verstuurt bezetmeld status van zichzelf en van het volgende blok in down line richting.
Een Receiver ontvangt bezetmeld status van het volgende blok en het blok daarachter (up line richting)

Een Sender kan ipv een ABC module ook een EXIT module zijn. In dat specifieke geval verstuurt de Sender geen bezetmeld statusssen maar hij verstuurt of HOLD_TRAIN of DEPARTURE.

Voor een EXIT module zitten altijd meerdere ABC module. Als de Receiver van een ABC module HOLD_TRAIN of DEPARTURE ontvangt in plaats van bezetmeld statussen, dan kan de Receiver de puls op de signaal lijn vast blijven houden om in up line richting te communiceren dat de ABC een trein heeft. Indien de ABC geen trein heeft, houdt hij de puls niet vast zodat de EXIT module snapt dat deze ABC geen trein heeft.

Ik heb dit getest op een kale arduino met de monitor. Ik maak een Sender object en een Receiver object en ik geef ze dezelfde pin. Het ene object stuurt de pin aan terwijl de andere hem uitleest.

Ik kon dingen controleren door de arduino teksten naar de monitor te laten sturen. Ik kon op dezelfde wijze ook bezetmelding en het vertrek signaal simuleren.
Hieronder zie je het resultaat:


Dit is de header bestand van de drie classes. Een ABC module zal een enkele sender en receiver object krijgen.
Een exit module krijgt een array van meerdere senders om met meerdere ABC modules te kunnen babbelen en tevens krijgt een exit module ook een receiver object krijgen zodat je achter je schaduw station het bloksysteem kan voortzetten. Of in het geval van de TS om daar een entry module te zetten voor het 2e gedeelte van het schaduw station.
Een entry module is precies omgekeerd. Die heeft meerdere receivers om te communiceren met de up line ABC modules. De ABC's geven zo hun bezetmeld statussen door aan de entry module, die dan op zijn beurt wissels kan schakelen.


Nou moet ik nog 1 toevoeging doen aan de Transceiver library, want ik wil dat een ABC kan doorgeven aan een downline module dat een binnenkomende trein de stop melder heeft bereikt. Dit is vooral nodig voor een entry module zodat deze weet wanneer hij de wisselstraat kan vrijgeven.


Mvg,

Bas.

P.S.
De MkII ABC kent geen slow approach, ik heb wel gele seinbeelden getekend, maar dat is eigenlijk weggelegd voor de MkIII die wel slow approach moet gaan kunnen. De MkII heeft wel een aansluiting voor een geel sein, dus het zal puur cosmetisch werken. Een trein op een MkII niet afremmen bij een geel seinbeeld.
Train-Science.com
Train-Science github
It ain't rocket science ;-)

MartinRT

Citaat van: bask185 op  8 mei 2024 12:33
Nou moet ik nog 1 toevoeging doen aan de Transceiver library, want ik wil dat een ABC kan doorgeven aan een downline module dat een binnenkomende trein de stop melder heeft bereikt. Dit is vooral nodig voor een entry module zodat deze weet wanneer hij de wisselstraat kan vrijgeven.
Waar is dat voor nodig ?  Als een trein geheel in de "buffer" zit is immers het voorgaande wisselstraat-baanvak vrijgegeven (niet meer bezet) ?  Of mis ik een clou ?