BeneluxSpoor.net forum
Vraag en antwoord => Digitaal => Topic gestart door: MichMich op 12 July 2017, 19:44:17
-
Mijn lieftallige vader JaJo (https://forum.beneluxspoor.net/index.php?action=profile;u=450) heeft mij voorzichtig de leuke taak in de schoenen geschoven om één van zijn digitale banen te automatiseren met behulp van een Arduino.
Nou kent de Arduino voor mij weinig tot geen geheimen meer (http://michaelteeuw.nl/tagged/arduino), maar zit bij mij vooral de beperking van de kennis in de gebruikte en beschikbare modelspoortechniek. Als ik mijn vader vraag welke decoder hij gebruikt komt hij nog net niet met het antwoord: "zo'n kleine met snoertjes er aan". Maar veel verder dan 'ESU' en 'Multimaus' zijn we nog niet gekomen. Termen die mij (nog) niet veel zeggen.
Een beetje Googlen leert mij dat veel automatiseringssystemen met een CANBUS systeem. Maar of dit betekend dat ik voor zijn ESU systeem een standaard CANBUS kan gebruiken is mij niet duidelijk.
Wat hij graag wil is de trein en eventueel de wissels bedienen. Unidirectioneel, de trein hoeft dus geen data terug te geven. Het triggeren van de treingeluiden die ook via de decoders in zijn loc zitten is ook één van de wensen.
Mijn vraag is niet zozeer of jullie het voor mij willen voorkauwen, maar meer: welke informatie moet ik bij hem los zien te peuteren die mij kunnen helpen in mijn Google avontuur?
Het automatiseren van de een analoge trein is geen enkel probleem. Het gaat hierbij dus echt specifiek om het besturen van zijn digitale baan. (Al dan niet synchroon naast het gebruik van een Multimaus.)
Wat pointers in de juiste richting zijn van harte welkom!
-
Begrijp ik nou goed dat je naar een hybride systeem wil? Dus digitaal en analoog naast elkaar?
Of bedoel je dat hij 2 banen heeft, de een ouderwets analoog en de ander digitaal.
Digitaal, ESU, Multimaus klinkt als DCC. Dus je wilt met een arduino een dcc signaal gaan genereren?
Volgens mij is zoiets al eens uitgevogeld.
Digitale baan besturen kan gewoon met de multimaus, koploper software op een pc en een speciale module van iemand hier op het forum waarmee je die pc aan de multimaus knoopt.
Collin
-
Hi Collin,
Nee de baan is (voor zover ik weet) helemaal digitaal. Wat ik inderdaad wil doen is een dcc signaal genereren. Ik weet dat dit met "koploper" via een PC kan. Ik wil dit echter zonder PC. Dus echt uitsluitend vanaf een Arduino de DCC signalen genereren.
De vraag is dus: hoe verbind ik de Arduino met de baan. (Is dit een kwestie van de Arduino aansluiten op de plek waar je normaal de Multimaus aansluit? En zo ja, dan is natuurlijk het bijbehorende schema het volgende vraagstuk) En is er ergens een protocolbeschrijving beschikbaar waaruit ik kan opmaken welke signalen ik moet genereren?
Ik ga in ieder geval al even Googlen op DCC signalen. Dat is al een goede verwijzing in de juiste richting. Bedankt!
-
Ik zou eens gaan googlen op "digital command control" (DCC). Het komt er op neer dat iedere decoder een eigen adres heeft en alleen reageert op commando's die voor hem bestemd zijn.
Met een Arduino en een H-brug motor driver shield kun je een DCC centrale bouwen om commando' s naar decoders te sturen.
Zie o.a. hier (http://www.clubncaldes.com/2016/02/build-your-own-dcc-command-station-for-8.html).
Met DCC heb je nog geen (blok)beveiliging, dat staat daar los van. Met alleen DCC kun je de treinen heel goed laten crashen... Voor de beveiliging heb je eenvan de genoemde computerprogramma's nodig, of je kunt zelf iets schrijven.
-
Hi 72sonett,
Bedankt voor je hulp. Het bouwen van een DCC met behulp van een H-brug heb ik al eens gedaan. Zie deze post (http://michaelteeuw.nl/post/160993001892/the-train-controller).
Waar ik naar opzoek ben is hoe ik treinen kan besturen die voorzien zijn van een ESU module. Dus een volledig digitaal signaal verwachten.
De vraag is dus hoe kan ik mijn Arduino aansluiten op de 18V digitale baan. En wat is het protocol wat gebruikt wordt door ESU?
(Ik heb inmiddels al weer wat geleerd, Bedankt!)
-
... Het bouwen van een DCC met behulp van een H-brug heb ik al eens gedaan.
Nee, voor zover ik het zie is dat geen DCC maar een slechts een PWM snelheidsregelaar met een rotary encoder en een Arduino.
Kun jij met jouw schakeling meerdere decoders/motoren individueel aansturen?
ESU decoders zijn multiprotocol, dwz ze 'begrijpen' DCC signalen.
-
Zoals jullie zien laat ik het moeilijke werk door anderen doen. ;D
Je bent een toffe zoon Michael! (y)
Groet Jaap
-
Hallo MichMich,
Zoek eens op DCC++, bv op: https://github.com/DccPlusPlus/BaseStation/wiki/What-is-DCC--Plus-Plus.
Hierbij wordt een modelbaan aangestuurd door een Arduino, met treinen die voorzien zijn van een decoder. Wat voor merk decoder maakt niet uit, als het maar DCC is.
Als je het zonder pc wilt doen, moet je wel zelf de commando's ingeven via een terminal.
Weet niet of dit is wat je zoekt/bedoelt, maar misschien haal je er wat bruikbare informatie uit.
-
Kun jij met jouw schakeling meerdere decoders/motoren individueel aansturen?
2 motoren, maar dan wel ieder op een losse baan. Er komen simpelweg 2 PWM signalen uit waarmee ik de snelheid van 2 motors kan regelen. Het werkt dus niet volgens decoders in de trein ...
-
Erg interessant peterha! Hier kan ik inderdaad een hoop waardevolle informatie uithalen.
Ik was zelf dit ook al tegen gekomen. Wellicht is dit iets wat mij verder kan helpen: https://rudysmodelrailway.wordpress.com/2016/04/11/a-dcc-throttle-for-e6
Bedankt voor jullie hulp zover!
-
Zoek op mardec, groetjes
-
Mardec is een luxe decoder, geen DCC centrale.
-
Ik was de Mardec al tegen gekomen. Maar als ik het goed begrijp is dat een Decoder waarmee je de signalen van je baan kunt verwerken. Wat ik nodig heb is een methode om de signalen te genereren. Of heb ik het verkeerd begrepen?
-
Dat heb je goed begrepen. (y)
Het DCC signaal (adres+commando) gaat serieel via de rails naar iedere decoder die op de rails is aangesloten, samen met de voedingsspanning. Iedere decoder filtert het DCC signaal uit die spanning en als het adres overeenkomt met het adres van de decoder voert die het commando uit. Het commando kan vanalles zijn: motor sneller/ langzamer, licht aan/uit, rook aan/uit, geluid aan/uit ...
In plaats van via de rails zou je het DCC signaal ook draadloos (IR, RF) kunnen versturen en dan een constante spanning op de rails zetten. De decoders moeten dan uiteraard een ontvanger hebben, maar het principe blijft hetzelfde.
Het is een master/slave systeem, zoiets als I2C, met één master (de DCC centrale) en meerdere slaves (de decoders).
-
Dat heb je goed begrepen. (y) Ander begin is de NMRA DCC standaard (https://www.nmra.org/index-nmra-standards-and-recommended-practices) zelf.
Of ik het echt een hele praktische oplossing vind om het allemaal via Arduino te doen is een tweede... Bij een computer oplossing zorgt de computer dan ook niet door het DCC signaal, dat doet de centrale. Deze handelt ook de binnenkomst van andere protocollen af zoals LocoNet*. De computer houdt het overzicht ter beveiliging, houdt makkelijk bij waar welke loc is en doet het optrekken en afremmen en mogelijk automatisch rijden. Iets wat veel mensen gelijk denken is dat het automatisch rijden gelijk een must is, dat is niet zo!
Nu weet ik niet precies wat je wilt automatiseren. Wil je alleen een soort blokbeveiliging maken maar nog sturen met de Multimaus? (En daarmee een automatisch bedrijf mogelijk maken omdat er alleen niet gebotst wordt.) Of wil je echt routes kunnen instellen en de trein bij kunnen houden?
Voor het eerste wordt het een stuk eenvoudiger als je dan gaat sturen met remmodules. Doe je dat niet dan zal je altijd het adres van de loc moeten bijhouden / volgen om te moeten weten welk adres je moet aansturen om te remmen. De twee meest voor de hand liggende zijn dan ABC en DCC-remgeneratoren (remmen via DCC broadcast adres). Zie Übersicht über Bremssysteme (Signalhalt) (https://www.digital-bahn.de/info_kompo/bremssysteme.htm). Nadeel van ABC is dat de decoder het moet ondersteunen (ook al is dat bij moderne vaak geen probleem). Voordeel is de eenvoud. Voordeel van de DCC-remgenerator is dat het met elke decoder werkt. Nadeel is (naast meer complex) dat je dan in dat deel werkelijk een ander signaal op de baan zet. Bij overbruggen zal er dus kortsluiting zijn.
Maar goed, vooral dus mijn vraag, wat moet je sturing opleveren? Wat moet het wel en niet doen? En waarom is een PC hier geen optie voor?
Timo
*Welke protocollen exact ligt aan de centrale maar LocoNet is een mooi complete voor van alles en nog wat. Maar bijvoorbeeld de MultiMaus maakt gebruik van XpressNet .
-
Kijk hier even
http://pgahtow.de/wiki/index.php?title=Zentrale
Daar staat obv Arduino en H-bruggen e.e.a. voor aansturen locs via DCC
Hier nog wat
https://forum.beneluxspoor.net/index.php/topic,67739.0.html
Maarrre... Als je al een Locmuis en Roco booster hebt kijk dan eens naar
http://pgahtow.de/wiki/index.php?title=Z21_mobile
Dan kan je pa met een mobiel zijn baan besturen...
Zie ook
https://forum.beneluxspoor.net/index.php/topic,70159.0.html
Mvg
Robert
-
Mag het ook xPressNet zijn Timo ::)
-
XpressNet ::)
-
Ik wil op een pendelbaan een digitale loc heen en weer laten rijden i.p.v. dat ikzelf continu met mijn muis in de weer moet zijn met optrekken- remmen-terug-geluiden-etc.
Maar omdat ik niet zo'n held ben op laptops heb ik aan mijn zoon gevraagd of hij niet iets met zijn arduino-hobby voor mij kan doen.
Groet Jaap
-
Ik wil op een pendelbaan een digitale loc heen en weer laten rijden...
Daar heb je inderdaad geen PC voor nodig, dat kan een Arduino goed alleen doen. De Arduino moet dan wel steeds weten waar de loc zich bevindt, dus er moeten wat positiemelders bij in de vorm van reedschakelaars oid.
-
XpresNet <> XpressNet, kniesoor die daar op let ;D :angel:
Maar owwwww, alleen een stukje pendelen! Is dit altijd dezelfde loc? Dan zou je altijd hetzelfde adres kunnen gebruiken. Of anders een simpele interface waar je het adres, snelheid en functies op in kunt stellen (zeg maar een MultiMaus-muis) maar die vervolgens aan de hand van detectie de snelheid en rijrichting aanpast.
Eventueel zou je de aansturing ook kunnen door de Multimaus-centrale kunnen laten doen door deze op het juiste moment opdrachten te geven via XpressNet.
Of dit ook kan via het broadcast adres weet ik niet. Maar dan zit je nog steeds met de functies die per loc verschillen als je met meerdere locs rijdt.
Timo
Multimaus-muis => dat rode ding in je hand
Multimaus-centrale => de combi van het zwarte doosje en de master multimaus-muis :police:
-
Maar owwwww, alleen een stukje pendelen! Is dit altijd dezelfde loc? Dan zou je altijd hetzelfde adres kunnen gebruiken.
Ja meer niet. :)
Ik denk dat Michael dankzij jullie vlotte hulp een stuk verder komt om zijn vader op dit gebied te helpen (y)
Ik kan beginnen met het uitvogelen wat ik nou precies kan gaan bouwen de komende tijd.
Groet Jaap
-
Hoi Michael,
Hoewel het zelf maken van een DCC centrale ( DCC signaal generator + Versterker etc. etc. ) natuurlijk heel leuk werk is, denk ik dat je het heel wat simpeler kunt doen ;)
Jaap heeft namelijk al zo'n centrale: De MultiMaus + versterker. Deze combo laat zich aansturen via XpressNet, een RS485 bus (65 Kbps) met het Lenz Protocol (http://www.lenzusa.com/1newsite1/Manuals/xpressnet.pdf).
RS485 laat zich makkelijk met een Arduino aansturen.
Het kan nog makkelijker, want zoals al geschreven zul je enige vorm van terugmelding moeten hebben, door 1 van deze producten (http://www.rosoft.securearea.eu/Webwinkel-Product-117874107/s88XPressNetLI_USB.html#) te gebruiken. Dat is weliswaar een USB uitvoering, maar wellicht heeft Wim ook nog de gewone RS232 uitvoering ( zo niet, doe mij even een PB ;) ). De s88XpressNetLI heeft aan de ene kant (PC / Arduino ) een RS232 aansluiting waartegen je makkelijk kunt praten via 'Serial'. De andere kant heeft een RS485 XpressNet aansluiting die aan het MultiMaus systeem aangesloten wordt. De s88XpressNetLI neemt het moeilijke deel van het Lenz protocol voor z'n rekening ( timing, low-level protocol etc. ) En... de s88XpressNetLI heeft een aansluiting om terugmelders aan te sluiten (en handelt deze ook helemaal af ( wederom timing, low-level etc. ). De terugmeld berichten komen uiteraard dan via de RS232 naar de PC / Arduino.
Dus... ik zou het mezelf makkelijk maken ;) En... met de genoemde combo, kan Jaap altijd nog naar P besturing overstappen als hij dat een keer zou willen :P
Grtzz,
Karst
-
Jaap heeft namelijk al zo'n centrale: De MultiMaus + versterker. Deze combo laat zich aansturen via XpressNet, een RS485 bus (65 Kbps) met het Lenz Protocol (http://www.lenzusa.com/1newsite1/Manuals/xpressnet.pdf).
RS485 laat zich makkelijk met een Arduino aansturen.
Hi Karts, DIT is precies wat ik zocht! Perfect. De eindsignalering is prima te doen met wat simpele oplossingen als een optocoupler of hal sensor. Dat is niet zo'n uitdaging. Het ging vooral om het bedienen van de trein en geluidseffecten, zonder dat hiervoor een aanpassing aan de baan of loc nodig was. Ik ga me even inlezen in het Lenz protocol. Bedankt voor je hulp!
-
... eindsignalering is prima te doen met wat simpele oplossingen als een optocoupler of hal sensor. Dat is niet zo'n uitdaging.
Het is niet alleen eindsignalering maar ook signalering of de loc een blok in of uit rijdt, op een pendelbaan is ook de richting belangrijk. Met alleen eindsignalering ben je te laat om nog te stoppen voor het stootblok...
-
Inderdaad, dat hadden we al verzonnen ... dus er komen meer signaleringen op. Maar het signaleren is niet zo lastig. De aansturing was waar ik naar opzoek was.
Inmiddels dit mooie bordje gevonden:
(https://ae01.alicdn.com/kf/HTB1ZDr2KXXXXXcMXFXXq6xXFXXXa/RS485-Board-5V-MAX485-RS-485-Transceiver-Converter-Evaluation-Development-Board-Kit.jpg)
In combinatie met een Arduino kan ik daarmee de XpressNet besturing maken.
Iedereen bedankt voor het meedenken. We houden jullie uiteraard op de hoogte over het resultaat.
-
Wel even opletten of de 'pinning' overeenkomt ;)
-
Maar maar maar :-\ :'(
Eventueel zou je de aansturing ook kunnen door de Multimaus-centrale kunnen laten doen door deze op het juiste moment opdrachten te geven via XpressNet.
Okay, Karst gaf je er wel een handige link bij ;D Maar voor de rest blijft over wat in die reactie staat 8)
Het is niet alleen eindsignalering maar ook signalering of de loc een blok in of uit rijdt, op een pendelbaan is ook de richting belangrijk. Met alleen eindsignalering ben je te laat om nog te stoppen voor het stootblok...
Hoezo? ??? Dat is toch gewoon iets dat je controller dan weet? Zo doen de computerprogramma's het ook... Heb heb jij een ander beeld van eindsignalering? ;D Ik lees dat gewoon als detectie. :angel:
Wat betreft detectie, je kan het wiel opnieuw uitvinden maar er zijn al veel varianten en schema's beschikbaar. De meest populaire is de stroomdetectie. Deze vind ik zelf ook het makkelijkste omdat je alleen een stukje spoor hoeft te isoleren en klaar. Later ook nog relatief makkelijk te verplaatsen, geen aanpassingen aan het materieel nodig* en detectie over een lengte baan. Andere bekende varianten zijn met IR-reflectie, IR-detectie/lichtsluis, licht detectie/LDR's, reedcontacten of schakelrails. Daarvan vind ik IR-reflectie het mooist omdat deze erg ongevoelig voor licht kan zijn, er geen aanpassingen aan materieel nodig is en in tegenstelling tot een lichtsluis er geen zichtlijn over het spoor nodig is maar in de rails verwerkt kan worden.
En bordjes als die zijn wel mooi maar bedenk dat de losse chip ook geen drol kost en eigenlijk alleen een condensator en een weerstand nodig heeft. 8)
Timo
-
Mich, hou je hier bij hoe je dit allemaal gaat doen? Leerzaam voor ons :)
-
Mich, hou je hier bij hoe je dit allemaal gaat doen? Leerzaam voor ons :)
Het resulteert sowieso in een blog op http://michaelteeuw.nl, maar zal t.z.t. hier ook mijn bevindingen posten.
Wel even opletten of de 'pinning' overeenkomt ;)
Yes, bordje heeft de mogelijkheid pins te switchen.
Wat betreft detectie, je kan het wiel opnieuw uitvinden maar er zijn al veel varianten en schema's beschikbaar. De meest populaire is de stroomdetectie. Deze vind ik zelf ook het makkelijkste omdat je alleen een stukje spoor hoeft te isoleren en klaar. Later ook nog relatief makkelijk te verplaatsen, geen aanpassingen aan het materieel nodig* en detectie over een lengte baan. Andere bekende varianten zijn met IR-reflectie, IR-detectie/lichtsluis, licht detectie/LDR's, reedcontacten of schakelrails. Daarvan vind ik IR-reflectie het mooist omdat deze erg ongevoelig voor licht kan zijn, er geen aanpassingen aan materieel nodig is en in tegenstelling tot een lichtsluis er geen zichtlijn over het spoor nodig is maar in de rails verwerkt kan worden.
Hier zijn inderdaad vele mogelijkheden voor. Welke het handigst is komt tzt wel. Eerst maar eens de trein besturen. :)
-
@Timo: dat "Uebersicht Bremssysteme" komt ook mij wel van pas. Bedankt voor die link. (y)
-
RS485 laat zich makkelijk met een Arduino aansturen.
Het kan nog makkelijker, want zoals al geschreven zul je enige vorm van terugmelding moeten hebben, door 1 van deze producten (http://www.rosoft.securearea.eu/Webwinkel-Product-117874107/s88XPressNetLI_USB.html#) te gebruiken. Dat is weliswaar een USB uitvoering, maar wellicht heeft Wim ook nog de gewone RS232 uitvoering
Ja, die is ruim voorradig geen enkel probleem.
Groetjes
-
... Heb heb jij een ander beeld van eindsignalering? Ik lees dat gewoon als detectie.
Ik zie eindsignalering in het geval van een pendelbaan als een bijzondere vorm van detectie, n.l. detectie dat een loc aan een uiteinde is aangekomen. Je zult ook moeten detecteren dat een loc het blok is binnengereden om op tijd te kunnen remmen en stoppen en je moet op één of andere manier de richting weten, dus of de loc het blok in of uit rijdt.
-
Dan zit het hem daarin (y)
Timo
-
... en je moet op één of andere manier de richting weten, dus of de loc het blok in of uit rijdt.
Dit is alleen van belang als er automatisch gereden wordt (met de Arduino). Op dat moment weet de Arduino de rijrichting op basis van het laatst gegeven commando. Dus de rijrichting hoeft niet gesignaleerd te worden. Dat maakt het al iets makkelijker. (y)
-
Misschien zie ik beren op he spoor. :o Ik volg wel hoe je het oplost...
-
Ook voor mij een interessant onderwerp voor mijn 4 meter pendelbaan.
Tot nu toe wordt de baan aangestuurd door z21 en kan hij pendelen door middel van het handmatig bedienen van de richting. stoppen doet hij automatisch aan het einde van de pendelbaan middels ABC breaking. Dit alles zonder PC, koploper, s88, expressnet, bezetmelding enz
Automatisch rijden gebeurt alleen wanneer er kleinkinderen zijn die staan te wachten om hem van richting om te draaien middels de app op de iPhone. Met bijzonder kleine wachttijd tot gevolg ;D
Ik heb hiervoor maar 4 draden nodig. Hiermee kan ik de baan middels n adapter ook aansturen met analoge Viesmannpendelunit of ESU programmer.
Om de loc op m'n baan automatisch te laten rijden zou ik denk ik 'n arduno kunnen gebruiken of anderzins (aansluiten op z21 ?)
om de commando's Loc nr, rijden vooruit, snelheid, licht aan, geluid aan in de geven dat is denk ik wat de app ook stuurt naar de z21. En wachttijd met omkeren zou dan moeten worden toegevoegd
Waar de loc staat bij inschakelen is niet belangrijk, als hij met de voorzijde tegen stootblok staat zal de ABC breaking voorkomen dat hij toch vooruit rijd.
Na verstreken tijd gaat ie gewoon weer achteruit bv, 3 min rijden 5 min wachten, commando omkeren wordt dan gegeven na 8 min.
lijkt simpel, maar heb nog geen simpele unit gevonden die dat kan!
In pricipe is dit ook wat Jaap wil bereiken denk ik. dus ik lees graag mee.....
Regards Caspar.
-
Je zou ook naar LocoNet kunnen kijken. Daar zijn veel standaard project van te vinden voor de treinmodelbouw.
LocoNet is een (tweeweg) bus waar alle commando's op komen.
https://nl.wikipedia.org/wiki/LocoNet
Voordeel is dat je met één LocoNet overal op je baan commando's in kan pluggen (terugmeldingen of fredi's (snelheidsregelaars voor treinen), wisseldecoders, etc..)
Kijk ook even op youtube. Daar staan eindeloos veel projecten.
Louis
-
...middels ABC breaking.
Ik hoop dat je bedoelt ABC braking. ;)