Stichting 3rail Forum

Modelbaanbouw & Scenery => Elektronicatechniek => Topic gestart door: minitreintje op zaterdag 23 november 2013, 20:27:59

Titel: Trainduino: Rocrail Command Station
Bericht door: minitreintje op zaterdag 23 november 2013, 20:27:59
Trainduino

Dit project is OPENSOURCE! Alle sketches & EAGLE printontwerpen worden geplaatst op Github.
GITHUB LINK (https://github.com/modulebaan/Trainduino)


De 3D ontwerpen kan je vinden op Thingiverse:
THINGIVERSE LINK (http://www.thingiverse.com/modulebaan/designs)

INDEX

1. The start of something big!

1.1 Waarom dit nu alweer?

Het idee achter Trainduino kwam nadat ik voor de eerste keer met Arduino kennis maakten. Ik was het beu die K83,K84,S88, ... toestanden.
Altijd combinaties maken om een aantal beperkte functies uit te voeren. Bovendien is de reset functie van het CS1R NOT done!
Na een noodstop vergeet het CS1R de stappen van een rijweg die nog niet voltooid zijn. Dat brengt natuurlijk een pak miserie met zich mee!

Hierna kwam ik de Arduino (http://www.arduino.cc) tegen, een opensource ontwikkelplatform met een zeer grote community.
De programmeertaal is zeer simpel te leren, dus de instapdrempel is erg laag terwijl je een volwaardige microcontroller hebt.

BTW: Ik zit al veel langer met dit project in mijn gedachten, maar nu krijgt het wat meer 'vorm'. Zo was er al een prototype klaar, helaas was er iets mis mee  :-(

1.2 De naam 'Trainduino'

De naam Trainduino is simpelweg een samenstelling van 'Train' en 'Arduino'. Dit project gaat immers over treinen in combinatie met Arduino :-)

1.3 RandomLEDController

Het eerste project in deze reeks. De aansturing van de straatverlichting en de verlichting in de huizen aansturen.
Door de tijd te meten kan men een dag/nacht schakeling bekomen. Elke cyclus duurt 24 minuten. Elke minuut wordt er een 'uur' bijgeteld op de teller.
Dat prototype was dus dit :) Helaas bij het solderen is iets misgelopen, de transistoren waren fout gesoldeerd en de baantjes waren nog niet perfect gefreesd.
Dit wordt opgelost in een nieuw prototype en door het toepassen van Autoleveller met een 'probe' op de CNC. Deze is verbonden met LinuxCNC.
Wanneer de tool de PCB raakt, geleidt deze de stroom en krijgt LinuxCNC de melding dat het oppervlak is bereikt. Door dit in een raster toe te passen
worden de oneffenheden eruitgehaald. Het voordeel is dat de freesjes minder diep gaan bij oneffenheden, dus de freesjes breken minder gemakkelijk
terwijl de baantjes netter gefreesd worden :)

1.4 RGBLEDController

Het tweede project in deze reeks. Hierbij wordt een RGB ledstrip aangestuurd samen met een witte ledstrip. Zo kan een perfecte dag/nacht schakeling worden bekomen.
De aansturing werkt volgens het principe van de RandomLEDController, dus met een cyclus van 24 minuten. Hierdoor loopt deze synchroon met de RandomLEDController.

1.5 What's next?

Ja, ik weet dat er nog projecten gaan volgen en ook dewelke... Maar het is nog te vroeg om hier iets over te posten. Ik zou eerst een echte (bijna) werkende sketch
willen, vooraleer ik alles uit de doeken doe :)


groeten Dylan
Titel: Re: Trainduino: The start of something big!
Bericht door: Assembler op zondag 24 november 2013, 00:57:25
Zeer interessant altijd, dit soort topics. Ik ga 'm in ieder geval volgen.
Voor DCC is er alvast een hoop voorwerk gedaan, en is er al van alles beschikbaar.

Hier wat (mogelijk) interessante links:

Veel succes Dylan, en houd ons op de hoogte!
Titel: Re: Trainduino: The start of something big!
Bericht door: Dennis op zondag 24 november 2013, 08:56:42
Klinkt erg interessant.

groetjes Dennis
Titel: Re: Trainduino: The start of something big!
Bericht door: minitreintje op zondag 24 november 2013, 09:26:16
@Assembler: ssssst straks verklap je nog alles  :mrgreen:
Nee grapje! Ik ben inderdaad al wat bezig met DCC maar ik ben nog aan het twijfelen over een aantal dingen. Daarom dat ik eerst de eerste 2 wil af hebben.

@dennisreij: Dankje! Maar nu staat er nog niet veel leuks op... Wacht maar binnen een week ofzo.  :-)


groeten Dylan
Titel: Re: Trainduino: The start of something big!
Bericht door: Dennis op zondag 24 november 2013, 21:49:40
ik ga afwachten haha.
Titel: Re: Trainduino: The start of something big!
Bericht door: LibertyCity op zondag 24 november 2013, 22:25:33
Boeiende topic. Mijn ervaring is dat je vaak even wat geduld moet hebben in het begin als je aan iets nieuws begint. Vroeger met HTML kon ik basis over weg. Inmiddels moet je voor Appache bijvoorbeeld giga boeken leren alvorens je iets kan maken.

Ik zal het met veel belangstelling gaan volgen.
Titel: Re: Trainduino: The start of something big!
Bericht door: Haradigi op zondag 24 november 2013, 22:55:23
Ik ga dit hier in volle interesse volgen.

groet
Harald
Titel: Re: Trainduino: The start of something big!
Bericht door: M - rail op maandag 25 november 2013, 17:34:17
Hallo Dylan,


Ik ben ook erg nieuwschierig.
dus ga dit zeker ook volgen zoals zovelen hier denk ik


mvg Frans
Titel: Re: Trainduino: The start of something big!
Bericht door: Frinka op dinsdag 26 november 2013, 16:09:57
Mijn interesse is ook gewekt zeker als detectie en besturing van de treinen op deze manier gaat lukken
Titel: Re: Trainduino: The start of something big!
Bericht door: minitreintje op dinsdag 26 november 2013, 19:15:10
Dank jullie allemaal voor jullie belangstelling al... Helaas nog geen freesjes binnen, dus prototype moet een beetje wachten helaas.
Ik verwacht toch deze week te kunnen frezen.

groeten Dylan
Titel: Re: Trainduino: The start of something big!
Bericht door: wimhelsen op maandag 23 december 2013, 11:27:57
Hoi Dylan,

wat een leuk project weer.
Ik sta te popelen om er van te leren.

Laat maar komen

modelspoorse groeten

Wim
Titel: Re: Trainduino: The start of something big!
Bericht door: minitreintje op maandag 23 december 2013, 16:53:11
Ja ik ook :O alleen zijn de PCB's op pfff heb er nieuwe besteld.



groeten Dylan
Titel: Re: Trainduino: RELEASE van de RandomLEDController V1.0
Bericht door: minitreintje op zaterdag 04 januari 2014, 21:09:56
2. RELEASE van de RandomLEDController V1.0

Pfff ze hebben mijn Thumb Up weggehaald in de berichticoontjes, dan maar een +1 :p

De afgelopen weken heb ik de code van de RandomLEDController afgerond... Deze is nu verkrijgbaar op Github.
De RandomLEDController beheert 18 LED's dus 18 verschillende kamers in huisjes. Helemaal random zowel de uitgang als de tijd.
Bovendien is er een dag/nacht modus ingebouwd die loopt van 7:00 tot 19:00. Over dag gaan de uitgangen aan of uit terwijl s' nachts deze geleidelijk aan uit gaan.
s' Nachts gaat er ook één LED aan, deze is eigenlijk de straatverlichting.

Hieronder nog een foto van de PCB, een developmentshield gemaakt door de CNC en speciaal voor de RandomLEDController ontwikkeld:


(https://imageproxy.3rail.nl/fit,1600x1200,q100,s_wrgmnX2BOE9PO69tL3oKpdNYs9UaBW3CrMT95uCP58=/http://www.modeltreinen.comze.com/images/RandomLEDController1.jpeg)

Bovenkant.

(https://imageproxy.3rail.nl/fit,1600x1200,q100,sT6fY7uyH5EUCMzduWDjSSMtmmi3SDVEV3ehYcNqVxXk=/http://www.modeltreinen.comze.com/images/RandomLEDController2.jpeg)

Onderkant.

De soldering is niet super super mooi maar het is ook maar een shield om de code goed te kunnen testen en te debuggen :)

En een filmpje:

http://www.youtube.com/watch?v=d1bC_fMqO1M

De echte PCB die niet afhankelijk is van de Arduino zal binnen enkele weken gebouwd worden.
Ik sta open voor suggesties :) En als er iemand interesse heeft in de schakeling,de Arduino sketch, ... check Github (http://github.com/modulebaan/Trainduino)!

groeten Dylan
Titel: Re: Trainduino: RELEASE van de RGBLEDController V1.0 en RandomLEDController V1.1
Bericht door: minitreintje op dinsdag 11 februari 2014, 19:09:27
3. RELEASE van de RGBLEDController V1.0 en RandomLEDController V1.1

Ik mag een nieuwe release aankondigen van TrainDuino: De RGBLEDController is vanaf nu gereleased!
De RGBLEDController similuleert de dag/nacht door 2 ledstrips (1 RGB en 1 gewone warm witte) aan te sturen.
De cyclus is hetzelfde als bij de RandomLEDController zodat alles netjes synchroon loopt.

Ik ben overgestapt op Arduino Pro Micro, een zeer kleine Arduino die ontworpen werd door Sparkfun, alles is compacter omdat de voeding, het crystal, ... allemaal al op één bordje zit.
Bovendien is het nog goedkoper dan alles apart te kopen. Er zit zelfs een USB stekker op, veel gemakkelijker om te programmeren dus.
De reden was vooral omdat de timing niet goed werkte op één of andere manier. Hierdoor werkte de code niet op de PCB's.
Nu dus wel :)

Ook de RandomLEDController heeft een update gekregen. De LED's zullen nu veel rustiger AAN/UIT gaan. Bovendien is deze versie aangepast voor Arduino Pro Micro en Leonardo.
Deze versie is dus zonder wijzigingen niet meer compatibel met Arduino Uno, Pro Mini, ... . Daarvoor moet je enkel wat outputpins wijzigen. Maar de bijgeleverde PCB is voorzien van een Arduino Pro Micro. Dus dat mag geen probleem zijn.

Files:

Filmpjes:

http://www.youtube.com/watch?v=uZG5JzoW048

http://www.youtube.com/watch?v=bcuxPEXce7A


groeten Dylan
Titel: Re: Trainduino: RELEASE van de RGBLEDController V1.0 en RandomLEDController V1.1
Bericht door: Looney Tunes op dinsdag 11 februari 2014, 20:07:00
Hey Dylan,

Ziet er goed uit  :thumbup: :thumbup:

Loop jou cyclus nu geheel autonoom, volgens een vaste tijd? En je RGB ledstrip veranderd van wit bij dag naar cyaan bij nacht, of zie ik dat verkeerd?

Gr, John
Titel: Re: Trainduino: RELEASE van de RGBLEDController V1.0 en RandomLEDController V1.1
Bericht door: minitreintje op dinsdag 11 februari 2014, 20:50:32
Ja, volledig autonoom. Door dezelfde tijdsklok te gebruiken in ieder programma loopt alles gelijk.
Die RGB kleur voor nacht is zowat een 'raar' blauw. Vooral op de camera, in het echt valt het mee.
Als alles is opgehangen kan ik de kleuren nog wat tunen want dan krijg je ineens iets totaal anders :)


groeten Dylan
Titel: Re: Trainduino: RELEASE van de RGBLEDController V1.0 en RandomLEDController V1.1
Bericht door: Looney Tunes op dinsdag 11 februari 2014, 21:40:20
Dat is wel zo simpel ja, bij mijn systeem is de tijd instelbaar, dus dat zit iets complexer.
Een camera vervormt de kleur vaak wel ja.
En het is vaak zo dat je pas het geheel kan finetunen als het helemaal hangt.

Succes verder,

Gr, John
Titel: Re: Trainduino: RELEASE van de RGBLEDController V1.0 en RandomLEDController V1.1
Bericht door: minitreintje op woensdag 12 februari 2014, 16:59:02
De tijd is ook instelbaar. Ik kan perfect het aantal uren dag en nacht bepalen.
Thanks! Jij ook.

groeten Dylan
Titel: Re: Trainduino: RELEASE van de RGBLEDController V1.0 en RandomLEDController V1.1
Bericht door: Piwie op donderdag 13 februari 2014, 18:30:44
Hallo Dylan,

Dat is een prachtig project, blijf ik zeker volgen.

Is er ook een optie om een DMX signaal te sturen om bv RGB LED buizen aan te sturen?

Gr.
Piwie.
Titel: Re: Trainduino: RELEASE van de RGBLEDController V1.0 en RandomLEDController V1.1
Bericht door: minitreintje op vrijdag 14 februari 2014, 07:25:30
Dankje!

Ja zeker, er is daarvoor zelfs een library beschikbaar. DMX is al redelijk ver gevorderd bij Arduino.
http://playground.arduino.cc/Learning/DMX (http://playground.arduino.cc/Learning/DMX)


groeten Dylan
Titel: Re: Trainduino: RELEASE van de DCCSwitchController V1.0
Bericht door: minitreintje op vrijdag 14 februari 2014, 17:34:25
4. RELEASE van de DCCSwitchController V1.0

De RGBLedController en RandomLEDController zij nog maar net gereleased en ik kan al een nieuw item van Trainduino releasen:

De DCCSwitchController V1.0, we ontleden de naam:

Met deze DCCSwitchController kunnen we het rijwegsysteem van het ESU Central Station Reloaded/Ecos omzeilen.
Het probleem hiermee is dat er weinig instellingen te vinden zijn om de rijweg te vertragen. Bovendien is het zo dat na een noodstop men vergeet hoe het zit met die rijweg.
Dus de PCB werkt volledig autonoom als het om rijwegen gaat. Enkel een start (DCC) signaal is nodig om de rijweg te activeren.

Er is nog geen ondersteuning voor CV's uit te lezen en te schrijven. Die ondersteuning verwacht ik in volgende (grote) versie toe te voegen.
Eerst eens uitzoeken wat een goed ACK circuit is voor het DCC signaal.


Na lang denken blijkt dat niet echt nodig te zijn. Dus dit zal niet worden toegevoegd.

Files: http://github.com/modulebaan/Trainduino/tree/master/DCCSwitchController (http://github.com/modulebaan/Trainduino/tree/master/DCCSwitchController)

Filmpje:

http://www.youtube.com/watch?v=djUArOfO8qo


groeten Dylan
Titel: Re: Trainduino: RELEASE van de DCCSwitchController V1.0
Bericht door: Lokkie op vrijdag 14 februari 2014, 18:37:01
Hoi Dylan,

Je bent goed bezig. :thumbup:

Gr.
René
Titel: Re: Trainduino: RELEASE van de DCCSwitchController V1.0
Bericht door: Dennis op vrijdag 14 februari 2014, 18:50:21
Hoi Dylan,

ik moet voor school ook met een Arduino gaan programmeren. Erg leuk.
Nu wil ik straks proberen om seinbeelden te maken en te laten verspringen, maar dat is een latere zorg.
Ik vraag me alleen af welke voeding ik het beste kan gebruiken aangezien de Ecos te veel spanning levert en de witte Marklin trafo wisselstroom levert en ook teveel spanning levert.

Verder wil ik nog kwijt dat ik echt respect heb voor je programmeerkunsten  :thumbup:
Ik ben zo ver nog lang niet.

Groetjes Dennis
Titel: Re: Trainduino: RELEASE van de DCCSwitchController V1.0
Bericht door: minitreintje op vrijdag 14 februari 2014, 19:20:41
@Lokkie

Dankje! :p

@Dennisreij
Je wilt een DCC seindecoder maken?

Seinbeelden laten verspringen is een koud kunstje als deze op niks moeten reageren maar enkel over moeten gaan van de ene naar de andere. Bij het reageren op DCC is dat wat anders, gelukkig bestaan er libraries hiervoor  :thumbup:
Als voeding bij een normaal Arduino board 7V - 12V. 12V is het maximum wel! 9V is het beste. Maar als je programmeert kan je ook voeden vanuit de USB.

Neem wat LEDjes, weerstanden, Arduino UNO en launch wat examples. Je zal er snel mee weg zijn.
Vragen stel ze gerust :)

groeten Dylan
Titel: Re: Trainduino: S88 & Arduino TEST
Bericht door: minitreintje op woensdag 19 februari 2014, 17:20:28
5. S88 & Arduino TEST

Aangezien ik nu al een RandomLEDController, RGBLEDController en een DCCSwitchController heb mag een S88WirelessController niet ontbreken.
Daarom heb ik een oude kapotte (de print was beschadigd) AJ S88-module zijn IC's (4014) er afgehaald en de schakeling op een breadboard gezet.
De inputs van de 4014 met de Arduino verbonden en de schakeling van Geert opgebouwd:
http://users.telenet.be/RedDeBist/MBAAN/S88%20terugmelder.htm (http://users.telenet.be/RedDeBist/MBAAN/S88%20terugmelder.htm)

En voila terugmelding S88 via de Arduino, de CS1R heeft niks in de gaten dat ik hem nu eens goe liggen heb  8o. Moet ik toch niet beginnen met een schuifregister te gaan simuleren,
veel te veel werk zeker met het wireless gedeelte erbij. Bovendien kosten die IC's geen drol.

Ik veronderstel dat een CD4014 = CF4014 = HEF4014???


groeten Dylan
Titel: Re: Trainduino: S88 & Arduino TEST
Bericht door: AlbertG op woensdag 19 februari 2014, 18:58:37
Hey Dylan,
Ik heb geen verstand van elektronica, maar wat heb je nu precies draadloos gemaakt? Ligt er geen draadje meer tussen je rails en de S88?

Albert.
Titel: Re: Trainduino: S88 & Arduino TEST
Bericht door: minitreintje op woensdag 19 februari 2014, 20:07:30
Euhm nee, het draadloos gedeelte is nog niet af... De Arduino kan al gewoon de S88 chip manipuleren alsof er een melding is.
Er komt dus een zendprint, verbonden met de rails en een ontvangprint verbonden met het CS1R.

groeten Dylan
Titel: Re: Trainduino: S88 & Arduino TEST
Bericht door: Looney Tunes op donderdag 20 februari 2014, 18:26:52
Hey Dylan,

Het ziet er allemaal  :thumbup: :thumbup: uit.

Zo te zien is je printplaat dus gelukt.

Gr, John
Titel: Re: Trainduino: S88 Wireless & Railcom functie clone :O
Bericht door: minitreintje op zondag 23 maart 2014, 18:56:52
6. S88 Wireless & Railcom functie clone :O


6.1 S88 Wireless basisfuncties

Eindelijk is de laatste basiscomponent van Trainduino bijna af! De S88 Wireless module, deze 2 modulen (zender - ontvanger) zorgen ervoor dat het S88 systeem draadloos kan worden gebruikt.
Het systeem werkt op 2,4 Ghz en kan op 100+ kanalen ingesteld worden zodat verstoringen met WiFi, Bluetooth, ... geen probleem mag vormen. De ontvanger kan meer dan 10 S88 modulen simuleren tegelijkertijd. Momenteel draait het systeem op slechts 1 S88 module omdat ik nog bezig ben met extra zenders te bouwen, maar in theorie is het zeker mogelijk (praktijk ook bijna :) ).

De ontvanger polt elke zender voor informatie, als één van de zenders hun adres ontvangen zal die zender reageren en zijn informatie terugzenden naar de ontvanger. De ontvanger plaatst deze informatie in een grote 'opslagplaats' (array) waar alle data van alle slaves (zenders) bewaart wordt. Dan plaats hij deze 0'tjes en 1'tjes in de S88 simulatie, de CS1R denkt dan dat hij echte S88 modules aan zijn S88 bus heeft hangen  :mrgreen:

6.2 S88 Wireless Railcom functie clone

Aangezien het CS1R geen global detector aan boord heeft voor Railcom :confused:, moet ervoor magneetartikelen, ... een andere mogelijkheid worden gevonden om deze terug te melden naar de centrale. Bij één van de laatste updates van het CS1R is er bij de magneetartikelen een functie bijgekomen bij protocollen: 'no track signal'. Een dummy dus, ideaal om deze te gaan beheren.
Dus we maken een dummy aan en 2 rijwegen die de dummy aansturen. Mijn S88 Wireless systeem zal via een speciale bus 'TrainDuino Extension Bus' data uitlezen van bijvoorbeeld DCCOutputDecoder. De zender converteert deze data naar 1 S88 contact per magneetartikel. Als dat contact vrij is zal de wissel bijvoorbeeld rechtdoor staan en anders op afbuigen.

6.3 Nog te doen

Enkele foto's van dit stukje techniek:


(https://imageproxy.3rail.nl/fit,1600x1200,q100,s2v-Mnf4oJlORKoHjRyfBjfvIoObL9dMwt9nqu-w2TmY=/http://www.modeltreinen.comze.com/images/S88Wireless1.jpeg)

De test opstelling, van links naar rechts: de 3,3V voeding voor de transceiver nRF24L01,
de slave, de master en het CS1R.

(https://imageproxy.3rail.nl/fit,1600x1200,q100,sQ1yaLXNbrHScGfGTDiWBwf1PrwOaYTpf3yg_pEnuUkQ=/http://www.modeltreinen.comze.com/images/S88Wireless2.jpeg)

Actuele status van de S88's. De 8 eerste AAN zijn expres AAN voor test doeleinden.
Later pas ik in de slave de code een klein beetje aan die de boel inverteert naar 0'tjes :p
Bij enkele wordt de S88 data herhaald daarom dat 1,5,8 dezelfde informatie tonen.

(https://imageproxy.3rail.nl/fit,1600x1200,q100,sMimcUy0dr6NMOhzYIMuNCAHC87KVHrzSKJ8p0nUGqC0=/http://www.modeltreinen.comze.com/images/S88Wireless3.jpeg)

We houden even een draadje verbonden met de massa aan een digital input van de slave...

(https://imageproxy.3rail.nl/fit,1600x1200,q100,sOazuzFZXBydb_npgbGw9JSzsRuMK-A17h0go1h7O4gE=/http://www.modeltreinen.comze.com/images/S88Wireless4.jpeg)

En tadaa! Die is niet meer bezet!



groeten Dylan
Titel: Re: Trainduino: S88 Wireless & Railcom functie clone :O
Bericht door: Lokkie op zondag 23 maart 2014, 19:17:47
Hoi Dylan,

Dat heb je netjes voor elkaar. :thumbup:
Welke library gebruik je voor 2.4Ghz modules :?:

Gr.
René
Titel: Re: Trainduino: S88 Wireless & Railcom functie clone :O
Bericht door: minitreintje op zondag 23 maart 2014, 19:21:27
MiRF, een tutorial vind je op de Arduino website.
De RF24 van Maniacbug is wel uitgebreider.

groeten Dylan
Titel: Re: Trainduino: S88 Wireless & Railcom functie clone :O
Bericht door: Lokkie op zondag 23 maart 2014, 19:22:39
Ok, bedankt. :)

Gr.
René
Titel: Re: Trainduino: ALPHA van de RandomLEDController V1.2
Bericht door: minitreintje op zondag 15 juni 2014, 19:10:31
Neen, dit draadje is nog niet dood... Ik heb eindelijk nog wat tijd gevonden om wat te developpen aan TrainDuino nu een ander niet-modelspoorprojectje in de 'koelkast' ligt te wachten tot ik alle onderdelen ervoor heb.

7. ALPHA van de RandomLEDController V1.2

7.1 Is dat nu nog niet goed genoeg?
Neen! Ontwikkelen op éénzelfde PCB kan blijven duren zolang de hardware het toelaat natuurlijk.
Ik heb daarom de basisversie van de RandomLEDController eens flink uitgebreid met een groot deel nieuwe functies!

7.2 Nieuwe functies?
Ik wou ook zoals John de cyclus kunnen beheren van het dag/nacht systeem zoals welke fase actief is en deze ook manueel kunnen bedienen (handig als je een foto wilt maken in nachtsfeer bijvoorbeeld).
Maar hier moet wel een klein stukje hardware worden bijgevoegd voor deze functie. Ik moet toch nog de massaproductie beginnen voor de baan dus dat is helemaal geen probleem :)

Ook was mijn wens om de dag/nacht cyclus realistischer te maken. Door 'ochtend' en 'avond' aan de cyclus toe te voegen krijg je al meer een realistischer beeld van een echte dag.
Maar dat is natuurlijk niet voldoende door er 2 fases bij te voegen er moet dan ook iets echt veranderen... Door bij te houden hoeveel uitgangen er actief zijn kan je gaan spelen met het maximum uitgangen dat actief mag zijn in elke fase en dat heb ik hier dus ook toegepast!
Deze waarden kunnen aangepast worden per module afhankelijk wat de gebruiker zijn wensen zijn. Zo kan je bijvoorbeeld het omgekeerde gaan toepassen als je met de RandomLEDController een kantoorgebouw, fabriek, ... verlicht. Voor de diegene die het willen gebruiken moeten nog even wachten. Ik heb momenteel geen freesjes meer voor PCB's dus ik kan geen test prototype maken.
Normaal moet de code correct werken.

Iemand nog ideetjes die essentieel zijn voor een dag/nacht schakeling?

Groeten Dylan
Titel: Re: Trainduino: BETA van de RandomLEDController V1.3 & RGBLEDController V1.2
Bericht door: minitreintje op maandag 16 juni 2014, 17:07:19
8. BETA van de RandomLEDController V1.3 & RGBLEDController V1.2

Gisteren kondigde ik al een nieuwe versie van de RandomLEDController aan. Die nieuwe versie is voorzien van allerlei nieuwe functies.
Alles is al getest met uitzondering van het DCC gedeelte maar ik verwacht geen problemen aangezien de code netjes gekopieerd is van de DCCSwitchController.

Ook De RGBLEDController heeft dezelfde metamorfose ondergaan en kan nu meedraaien met de RandomLEDController.
Aangezien deze ook getest is geweest met uitzondering van het DCC gedeelte upload ik de code vandaag nog op Github.

GITHUB link (https://github.com/modulebaan/Trainduino/tree/master/BETA)

Groeten Dylan
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: minitreintje op woensdag 20 augustus 2014, 20:59:43
9. S88 Wireless V1.0 RELEASE

Eindelijk! Na maanden (!) code te schrijven en te herschrijven werkt het Wireless S88 Systeem.
Op een kleine week heb ik de hele code herschreven zowel van de melders als de basis met wat hulp en dat loont. Want de eerste versie was niet erg efficient.
De code kan nu tot wel 32 S88 units simuleren met elk 16 terugmeldcontacten (beter gezegd het maximum dat de S88 bus aan kan).

Het voordeel is dat je geen storingen meer kan hebben op de S88 bus maar de snelheid waarbij de S88 terugmeldcontacten worden geüpdatet is wel lager.
Daarom heb ik de Wireless versie beperkt tot 10 S88 units of te wel 80 terugmeldcontacten, meer kan ook maar zo blijft de update snelheid nog aangenaam.
Bovendien heb ik meer als genoeg met 80 terugmeldcontacten :-). Als je het sneller wilt laten lopen kan je ook overwegen een 2de Basis op te zetten en
zo het werk te verdelen (moet je nog wat aanpassingen verrichten).

Wat ik nog wil toevoegen is een simpele drukknop die de 'base' automatisch een nieuwe 'slave' laat 'paren'. Hierdoor moet je niet telkens het slave adres in de code aan te passen.
Door de drukknop in te houden voor 10 seconden 'reset' je de adressen en moet je elke slave opnieuw paren.

(https://imageproxy.3rail.nl/fit,1600x1200,q100,se__lW0Qf3AzOrIhtOFFF-C55TI3isvZI5DMbXkwRV6k=/http://www.modeltreinen.comze.com/images/S88Wireless5.jpeg)

De slave die 10m verder in de keuken ligt: een Arduino MEGA met een breakout board voor de RF24L01+ radio omdat deze op 3.3V werkt en de Arduino MEGA op 5V.

(https://imageproxy.3rail.nl/fit,1600x1200,q100,sunpzkrGdb7bkiCksuUTJ5vtQv9DLNb_z116k4nMaWU8=/http://www.modeltreinen.comze.com/images/S88Wireless6.jpeg)

De base: een Arduino UNO ook met zo'n breakout board en wat jumpers om de Arduino te verbinden met de S88 bus van het CS1R.
De LEDjes geven de status aan van de S88 en de 2.4 Ghz connectie.


(https://imageproxy.3rail.nl/fit,1600x1200,q100,s4mhrWE7T-6lMPpIXGERM6JRpUQWGHr07egmEFEmTmnc=/http://www.modeltreinen.comze.com/images/S88Wireless7.jpeg)

Zo, het resultaat. Ik heb slechts 1 slave in werking en die werkt met de 10 verschillende slave adressen.
In de 'echte' versie bedient elke slave slechts 1 slave adres natuurlijk :D


OPGELET: De S88 Wireless module moet achteraan in de S88 bus aangesloten worden want hij leest geen data in van andere S88 units.

GITHUB link (https://github.com/modulebaan/Trainduino/tree/master/S88-Wireless)

Groeten Dylan
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: nkeer3 op woensdag 20 augustus 2014, 21:08:31
Interessant draadje 

ik vond deze link op youtube misschien heb ie der wat an

http://www.daniel-spilker.com/blog/

Doorgaan hoor!

Gr Ruud
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: Dennis op woensdag 20 augustus 2014, 21:17:56
Knap dat t gelukt is. Ik kan t niet.
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: minitreintje op woensdag 20 augustus 2014, 21:20:43
@nkeer3
Dat was de inspiratiebron :)
Thanks!

@dennisreij
:thumbup:

groeten Dylan
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: memen45 op woensdag 20 augustus 2014, 23:30:36
Citaat van: minitreintje op woensdag 20 augustus 2014, 20:59:43

Het voordeel is dat je geen storingen meer kan hebben op de S88 bus maar de snelheid waarbij de S88 terugmeldcontacten worden geüpdatet is wel lager.
Daarom heb ik de Wireless versie beperkt tot 10 S88 units of te wel 80 terugmeldcontacten, meer kan ook maar zo blijft de update snelheid nog aangenaam.

Hoe kan het dat het zo langzaam gaat? De draadloze module is niet echt traag toch? Ik ben wel benieuwd hiernaar omdat ik in de toekomst ook iets met zo'n draadloze ontvanger wil gaan doen.

Verder een leuk project, vooral voor grote banen handig denk ik.

Groeten,

Rauke
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: minitreintje op donderdag 21 augustus 2014, 08:01:39
Zo traag is het nu ook niet maar je merkt toch een kleine vertraging als er heel veel melders gepolld worden. Hou je het bij 3-4 zie je geen verschil. Maar misschien als ik de draadloze adapter zijn interrupt pin gebruik kan misschien de code nog sneller verlopen.

Groeten Dylan
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: minitreintje op donderdag 21 augustus 2014, 15:26:55
Uiteindelijk is de draadloze adapter helemaal niet traag, kwestie van wat settings aanpassen verbeterd de stabiliteit en snelheid aanzienlijk.
Je verbindt een pin naar de GND en de melder gaat oplichten zo goed als meteen.

Nu draaien er 2 slaves mee met de base om de boel eens deftig te testen. De slaves hun pins worden één voor één getriggered om wat meldingen te simuleren en dat werkt tot nu toe vlekkeloos.

groeten Dylan
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: memen45 op donderdag 21 augustus 2014, 22:05:58
Ah oke, mooi dat de snelheid toch nog wat omhoog kon. Zou het niet nog sneller kunnen (en dus meer draadloze S88's ondersteunen) als je in plaats van polling alleen data verstuurt als er iets verandert aan de s88-input? Dit zou voor de draadloze slaves behoorlijk wat energie kunnen schelen (transceiver kan uit/in sleep) en voor de master scheelt het heel wat dataverkeer. Om zeker te weten dat alle slaves nog wel werken, zou je ze bijv. elke seconde een bericht naar de master kunnen laten sturen?

Groeten,

Rauke
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: minitreintje op vrijdag 22 augustus 2014, 12:46:23
Ja eigenlijk wel maar dan moet je zien hoe je de slaves kunt laten zwijgen als er eentje al aan het praten is. Dan kan het sneller als je daarvoor een oplossing hebt.

Die alive-message is hetzelfde als nu maar de slave stuurt die dan in plaats van de base en bovendien is het dan ook weer ingewikkelder aangezien slechts 1 van de slaves maar eentje tegelijk mag praten.

Maar ik ben nog bezig de S88Wireless te finetunen om nog meer performance uit te halen.

Groeten Dylan
Titel: Re: Trainduino: S88 Wireless deel 2
Bericht door: minitreintje op dinsdag 16 september 2014, 18:48:59
10. S88Wireless deel 2

Vorige keer had ik al het grootste deel van de S88Wireless uit de doeken gedaan maar sinds vandaag is het ook klaar voor gebruik!
De base en de slaves zijn nu op PCB's gemonteerd en met DIP schakelaars kunnen tot 63 modules ingeschakeld worden. Dus de volledige S88 bus kan worden gesimuleerd op slechts 1 base.

10.1 Adressering

De adressering gebeurt via een binair getal waarvan de eerste 6 bits ingesteld kunnen worden via de DIP schakelaar. Dit is hetzelfde principe als het zogenaamde 'muizenklavier' bij decoders van Märklin en andere merken. Bij het opstarten wordt het adres uitgelezen bij de slave via 3 analoge ingangen.

Via een weerstandsnetwerk krijg je dus andere spanningen op de analoge pin als je schakelaar 1 aanzet t.o.v schakelaar 2 of nog een andere waarde als je beide aanzet. Hiermee heb ik mijn I/O tekort opgelost bij de slave. De base had nog genoeg I/O's over dus daarom heb ik daar gewoon gewerkt met een digitalRead() statement, de DIP schakelaars van de base bepalen hoeveel slaves de base moet pollen. Eén probleem is er wel dat de weerstandswaarde verschilt van weerstand tot weerstand een beetje en daarom moet je soms de waarde van de schakelaars hercalibreren per PCB. Gelukkig is dat slecht éénmalig...

10.2 Veiligheid & betrouwbaarheid van de S88 terugmeldingen

Omdat de terugmeldingen draadloos worden verstuurd moet er een extra veiligheid worden ingebouwd om te voorkomen dat er slaves niet meer reageren om de base of foutieve data zenden, enz...
Zo zit er al standaard CRC en ACK in van de NRF24L01+ radio module om de data te checken maar dat is onvoldoende! Een slave die niet meer reageert zal door de NRF24L01+ aangeduid worden maar wat kan de base dan doen om de veiligheid van de treinen te garanderen? Als er een korte storing is zal de base eerst nog een aantal pogingen doen om de communicatie terug op gang te krijgen, lukt dat dan gaat de ERROR_LED terug uit. Lukt dat niet zal de base de centrale afschakelen via de DCC-booster kortsluitdetectie ingang van de centrale, zodra er een probleem is schakelt een transistor naar de GND en de centrale gaat over in kortsluitmodus.
Ik heb op de PCB rekening gehouden dat mensen ook een HSI-S88 gebruiken hierdoor heb ik een extra GND ingang geplaatst voor de kortsluitdetectie want de GND van de HSI-S88 en de centrale zijn dan normaal gescheiden. Gebruik je een CS1R/Ecos/... met zijn eigen terugmeldbus zoals ik dan is de GND normaal doorverbonden. Dan is die extra GND aansluiting natuurlijk overbodig.

De terugmelddata zelf is ook voorzien van een extra veiligheidslaag namelijk de anti-spookmeldingen beveiliging. Een melder wordt pas geactiveerd als hij binnen de leescyclus X keer positief is gelezen. Dus een valse melding wordt zo gefilterd uit de terugmelddata.

10.3 Testperiode

Vanaf vandaag zal deze versie een testperiode ondergaan van enkele weken om de stabiliteit van het systeem te testen. Dit in een omgeving waarin veel 2.4Ghz communicatie aanwezig is.

2.4 Foto's


(https://imageproxy.3rail.nl/fit,1600x1200,q100,s4TzaTVQ52B5THSUuCiv4JIZONNkLRXJiL2be8j45Crk=/http://www.modeltreinen.comze.com/images/S88Wireless8.jpeg)

De base PCB, hij haalt zijn voeding van de S88 bus van de centrale. Dat is simpel en cheap :P
De S88 pins zijn volgens de S88 specificatie dus je kan je eigen S88 kabel inpluggen zonder probleem.
De NRF24L01+ pins zijn niet in de juiste volgorde omdat ik anders een dubbelzijdige PCB moet hebben.
In dit geval is dat geen probleem aangezien je met jumpwires (Dupont kabels) werkt die je kan verplaatsen  ;)

(https://imageproxy.3rail.nl/fit,1600x1200,q100,skgm4oLJ1qYQj7m5PEF9NO_MHcmHCgCFoTn-2PpVwXzU=/http://www.modeltreinen.comze.com/images/S88Wireless9.jpeg)

De connecties van de base PCB naar de centrale CS1R.
Van links naar rechts: de DCC kortsluitbus, de S88 bus.

(https://imageproxy.3rail.nl/fit,1600x1200,q100,sewelHW-94hRYHp9iM56gQ95rs19NVqut9sdXKGHSgmk=/http://www.modeltreinen.comze.com/images/S88Wireless10.jpeg)

De slave PCB, zo moet ik er nog een aantal solderen...
De voeding wordt geleverd door een 7805 en een 1000uF buffer condensator, een ideale ingangspanning is 12V DC.
Ook hier zijn de NRF24L01+ pins niet in de juiste volgorde door dezelfde rede.

Groeten Dylan
Titel: Re: Trainduino: S88 Wireless V1.0 RELEASE
Bericht door: Assembler op dinsdag 16 september 2014, 19:17:48
Prachtig gemaakt Dylan! Ziet er zeer goed, en veelbelovend uit!
Het zou me niks verbazen als deze oplossing commercieel vatbaar is.
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: minitreintje op dinsdag 16 september 2014, 19:21:37
Dankje Simon!
Het heeft wat tijd gekost maar het werkt en ik heb er heel veel van bijgeleerd.  :thumbup:

groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: Lokkie op dinsdag 16 september 2014, 19:58:59
Hoi Dylan,

Ik ben onder de indruk van dit project. :thumbup:
Met hoeveel modules ga je de testperiode doen :?:
En hoe lang moet de communicatie uitvallen voor dat je centrale afschakeld :?:

Gr.
René
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: minitreintje op dinsdag 16 september 2014, 20:03:07
Mercikes :p
Voorlopig 2 maar ik moet er nog bijmaken (lees kabeltjes aansluiten). Het zouden er om te beginnen 3 zijn.
De centrale schakelt af zodra er 20 pogingen zijn geweest die mislukt zijn. Dat lijkt veel maar het duurt slechts een 5 - 10 tal seconden...

groeten Dylan

EDIT: Blijkt dat ik niet genoeg jumpwires meer heb voor 4 slaves + 1 base... Dan maar 3 slaves.
Titel: Re: Trainduino: S88 Wireless & Railcom functie clone :O
Bericht door: Jan22 op woensdag 17 september 2014, 19:51:14
Citaat van: minitreintje op zondag 23 maart 2014, 18:56:52
Het systeem werkt op 2,4 Ghz en kan op 100+ kanalen ingesteld worden zodat verstoringen met WiFi, Bluetooth, ... geen probleem mag vormen. De ontvanger kan meer dan 10 S88 modulen simuleren tegelijkertijd. Momenteel draait het systeem op slechts 1 S88 module omdat ik nog bezig ben met extra zenders te bouwen, maar in theorie is het zeker mogelijk (praktijk ook bijna :) ).
Ik ben blij dat je al zover bent gekomen. Ik zit me af te vragen hoe snel of hoe traag de doorgifte is, en of dit veroorzaakt wordt door het protocol, door de gebruikte IC's of de arduino versie.

Als ik op deze manier kijk naar een treinbaan dan heb je per sectie meestal 2-6 draadloze adapters. Dat aantal loopt voor de infrastructuur in een beetje baan vrij snel op. En je moet dus rekening houden dat je al die adressen frequent moet kunnen pollen met pak 'm beet 2 Ghz per seconde (of zou 1 Mbit ook al voldoen). Dus je aantal mislukte en gelukte polls moet ongelooflijk groot zijn.
Mij lijkt 5-10 seconde te lang. Maar je kunt strategisch verwachten dat bepaalde activiteiten zich daar concentreren waar al activiteiten zijn gemeld. Oftewel, software matig valt hier een slimme algoritme op los te laten die maakt dat je niet willekeurig alles hoeft te pollen, en veel gerichter pollt.
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: minitreintje op donderdag 18 september 2014, 07:38:31
Momenteel draaien hier 3 zenders (slaves) en één ontvanger (base) op 250Kbps. En dat verloopt zeer vlot... Er moet slechts 1 byte verstuurd worden (1 byte voor de poll instructie/ zender adres vanuit de ontvanger en 1 byte met de data vanuit de zender) dus veel data is het niet (beste geval duurt een poll slechts 0,030 seconden dus voor 32 modules (256 melders) is dat 0,960 seconden bijna 1 seconden, dat is zeker niet slecht). Daarvoor heb ik eigenlijk speciaal gekozen om zo weinig mogelijk data te versturen per zender.

5 - 10 seconden duurt het zeker niet, dat is de tijd dat de ontvanger de centrale afschakelt in geval van storingen.

Ik heb ook gemerkt dat het CS1R een vertraging heeft wat betreft de weergave van S88 modules (getest met een gewone S88 module).
Maar de meldingen worden zeer snel doorgegeven vind ik.

Een slim algoritme? Je kan nooit weten waar er een melding zal komen... De originele S88 modules hebben ook een vertraging bij veel modules...


groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: Electronica Freak op donderdag 18 september 2014, 09:04:08
Interessant! Mooi project :thumbup:
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: Assembler op donderdag 18 september 2014, 09:09:30
Je zou het zo kunnen doen dat de master niet alles poll't elke keer, maar dat de slaves pushen zodra ze een wijziging constateren.
Om storingen te detecteren zou je periodiek de master kunnen laten poll'en zodat je zeker weet dat je alle data hebt en alle slaves nog bereikbaar zijn.
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: minitreintje op donderdag 18 september 2014, 14:36:25
Dat kan ook inderdaad maar dan kom je weer met een probleem dat er slechts 1 slave tegelijk mag praten...
En de master moet dan ook aan het luisteren zijn op dat moment ipv te pollen of de slaves alive zijn.


groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: Assembler op donderdag 18 september 2014, 14:56:47
Het laatste is het makkelijkst op te lossen, op het moment dat de slaves worden gepollt zorgen deze er zelf voor dat ze niet gaan pushen.
Voor het eerste kun je een preambule oid sturen. Ik ben niet bekend met de NRF24L01, maar in het algemeen werkt dat volgens mij op die manier.
Titel: Re: Trainduino: S88Wireless deel 2
Bericht door: memen45 op vrijdag 19 september 2014, 22:57:06
Citaat van: Assembler op donderdag 18 september 2014, 09:09:30
Je zou het zo kunnen doen dat de master niet alles poll't elke keer, maar dat de slaves pushen zodra ze een wijziging constateren.
Om storingen te detecteren zou je periodiek de master kunnen laten poll'en zodat je zeker weet dat je alle data hebt en alle slaves nog bereikbaar zijn.

http://forum.3rail.nl/index.php?topic=47202.msg904496#msg904496 (http://forum.3rail.nl/index.php?topic=47202.msg904496#msg904496) :mrgreen:

Groeten,

Rauke
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: minitreintje op vrijdag 26 december 2014, 21:39:23
11. S88Wireless deel 3 + Intelligent Servo Decoder

11.1 S88Wireless upgrade

De S88Wireless heeft een lange testperiode ondergaan en de test is succesvol geslaagd! De terugmelding werkt perfect en snel.

Aangezien ik niet snel tevreden ben, heb ik de S88Wireless nogmaals verbeterd.
De NRF24L01+ heeft een IRQ-pin, deze wordt normaal aan een interrupt gehangen van de microcontroller.
Een interrupt (Nederlands: onderbreker) is een pin op de microcontroller die eens geactiveerd een bepaalde functie kan voorrang geven.
De microcontroller stopt dan even, voert de functie uit en gaat dan verder met zijn normaal programma.
Maar ik had helaas geen pin meer vrij om een interrupt te gebruiken, ik had nog wel 2 gewone digitale pins vrij.

Door in de loop() functie (het normale programma dat steeds herhaalt wordt) zo'n digitale pin uit te lezen met digitalReadFast() waar de IRQ-pin aanhangt,
is de functionaliteit vrij gelijk. De S88Wireless loopt hierdoor nog een stuk sneller en efficiënter doordat de microcontroller het draadloos gedeelte overslaat
als er geen data is die moet worden uitgelezen. Nu is de S88 data sneller bijgewerkt dan dat het CS1R de S88 bus kan pollen.

11.2 Intelligent Servo Decoder

Nieuw in ontwikkeling is de Intelligente Servo Decoder, een DCC decoder voor het aansturen van servomotoren.
Deze is vooral geschikt voor de goedkope SG90 servomotoren van Ebay. Deze servo decoder is geen gewone servo decoder zoals al op de markt is.
Heeft er iemand een servo decoder waarvan men zeker weet dat de wissel is omgezet op elk moment?
Neen! Zelfs Railcom+ kent dat niet, deze leest alleen maar de commando's uit die de Railcom+ decoder zendt naar de servo's.
Er is geen tweerichtingsverkeer mogelijk omdat servo's dat simpelweg niet ondersteunen.

Maar wat zijn we nu met die echte posities van de servo's als we ze niet naar onze centrale kunnen sturen?
Niks! Daarom heb ik er de Intelligente Servo Decoder ook voorzien van S88Wireless. Dus de decoder leest de stand van de wissels uit met hall sensoren,
dat zijn sensoren die reageren op een magnetisch veld. Verzamelt die data en stuurt deze door via dezelfde software als in de S88WirelessSlave draait.
Bij het programmeren bleek de microcontroller de opdrachten niet snel genoeg te kunnen verwerken, daarom heb ik de upgrade van S88Wireless uitgevonden.
Toen bleek dat zeer goed te werken en heb ik maar de S88Wireless zelf ook maar voorzien van een update.

Het enige verschil met de S88Wireless is dat er geen I/O pins over waren voor een DIP-switch te plaatsen om de adressen te kunnen instellen voor DCC en S88Wireless.
Voorlopig gebeurt dit door een 'learning button' waarbij de decoder in programmeermodus komt. Maar doordat ik opnieuw een tekort komt aan I/O pins wil ik dit realiseren met CV's.

Bovendien is er ook een Power Save Mode ingebouwd. Deze ontkoppelt de servo's zodra ze hun beweging hebben uitgevoerd en is jitteren ook verleden tijd bij mijn servo decoder.
Hierdoor ontvangen de servo's niet opnieuw de gevraagde positie en stopt het positioneren ook. Dat positioneren bij goedkope servo's is de oorzaak van de jitter.
De servo's onthouden wel dan hun laatste positie zolang ze onder spanning staan en passen die aan indien de servoarm zijn positie verliest.
Deze functie is ook beschikbaar bij de ESU Switchpilot Servo.

Als de decoder opstart na een stroomonderbreking zal hij de laatste positie van elke servo instellen zoals hij die heeft ontvangen van de centrale.
Zo wordt er voorkomen dat de servo's een onverwachte uitslag maken omdat ze meteen het servosignaal krijgen met de positie waar ze zich op bevinden.

En een laatste musthave functie is natuurlijk de 'kickback' functie, deze zet heel kort extra druk op de wissel wanneer deze zijn eindpositie bereikt.
De wisseltong zal dan zeker zijn eindpositie bereiken, deze functie is ook beschikbaar bij de OC32.



De realisatie van de Intelligente Servo Decoder zal voor zeer binnenkort zijn, momenteel ben ik nog de laatste hand aan het leggen (lees: debuggen) aan de Arduino sketch.
Volgende keer zeker foto's en filmpjes!


groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: Lokkie op vrijdag 26 december 2014, 21:59:30
Hoi Dylan,

Klinkt erg goed allemaal. :thumbup:
Ik ben benieuwd naar de foto's en filmpjes.

Gr.
René
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: minitreintje op maandag 29 december 2014, 15:27:06
11. S88Wireless deel 3 + Intelligent Servo Decoder

Ondertussen heb ik nog CV support van de NMRA DCC library in de code gestopt zodat ALLES instelbaar is via CV's.
Enkel schrijven is toegelaten, lezen/bevestigen geeft een foutmelding.

Ook heb ik nog een Watchdog timer meelopen nu welke kijkt of het programma nergens vastloopt. Loopt het vast, dan zal de Watchdog timer de microcontroller resetten.

Als laatste heb ik nog een functie geschreven welke de foute lezingen van de hallsensoren uitsluit omdat hallsensoren reageren op magnetische velden en motoren van loks, servo's, ...
produceren magnetische velden. Deze functie zit ook ingebakken in de S88Wireless SLAVE om valse meldingen te detecteren door o.a. vuil op het spoor.

11.3 Foto's & filmpje


(https://imageproxy.3rail.nl/fit,1600x1200,q100,s_N-oF8jo_FYWRH2y-rd_HXFVD8qUUQ6bhgeNrxXkeDo=/http://www.modeltreinen.comze.com/images/IntelligentServoDecoder1.jpeg)

Servo's, hall sensoren, DCC lees circuit met optocoupler, LED om allerlei zaken aan te geven
en een condensator om de servo power te backuppen.

(https://imageproxy.3rail.nl/fit,1600x1200,q100,sQwHni5R2jKcY1Y8vYivr8yYc0guN5fOuug0F2ms2sGc=/http://www.modeltreinen.comze.com/images/IntelligentServoDecoder2.jpeg)

S88Wireless BASE + de zender van de Intelligent Servo Decoder

(https://imageproxy.3rail.nl/fit,1600x1200,q100,sDyNWlzto_Vdm9YERFR6ANxLJ9jvGtO-XndYks48UTNc=/http://www.modeltreinen.comze.com/images/IntelligentServoDecoder3.jpeg)

De hall sensoren en een magneetje gekoppeld aan een servo arm om alles deftig te testen.



http://www.youtube.com/watch?v=BGdAf4qTFdk

Filmpje van de Intelligent Servo Decoder.
De kickback functie is hier wat overdreven om het zichtbaar te maken.


groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: Lokkie op maandag 29 december 2014, 16:02:14
Hoi Dylan,

Ik was benieuwd hoe je met de hall sensor de wisselstand ging controleren, maar nu snap ik het. :)
Ziet er goed uit. :thumbup:

Gr.
René
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: minitreintje op maandag 29 december 2014, 19:02:00
Dank u René!

Het hall sensor gedeelte is nog helemaal niet af... Ik dacht van wel maar er is iets mis met de code.
Dat wordt debuggen...

groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: Jan22 op dinsdag 30 december 2014, 12:16:05
Citaat van: minitreintje op maandag 29 december 2014, 15:27:06
Als laatste heb ik nog een functie geschreven welke de foute lezingen van de hallsensoren uitsluit omdat hallsensoren reageren op magnetische velden en motoren van loks, servo's, ...
Hallsensoren kunnen op van alles reageren, dat is waar. Maar welk type gebruik je, en met welke gevoeligheid dat je daar last van kunt ondervinden? Gebruik je er een met ingebakken eeprom of eentje die dat niet heeft?

Het begint me duidelijk te worden waarom breadboards onmisbaar zijn ...
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: minitreintje op dinsdag 30 december 2014, 16:00:58
Dat is eentje zonder ingebakken EEPROM... Het is de 3144 hall sensor van Allegro afkomstig van Ebay.

Ondertussen werkt de code wel, zat nog een kleine bug in die alles om zeep hielp...

groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: Jan22 op woensdag 31 december 2014, 00:01:58
Fijn om te horen dat het werkt, en dat dit kan met een Allegro 3144.
CiteerDe hall sensoren en een magneetje gekoppeld aan een servo arm

Sorry voor mijn nieuwsgierigheid, maar:
-Gebruik je 2 of meer sensoren voor een servo-arm?
-Meet je daarmee de begin- en eindstand, of ook stappen daar tussenin?
-Zit de magneet op de arm pal bij de servomotor of juist verder af dan de gevoeligheidsafstand (van de sensor om de servo-motor te kunnen waarnemen)?
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: minitreintje op woensdag 31 december 2014, 07:45:26
Ik gebruik 2 sensoren voor de begin- en eindstand te meten. Op de ijzerdraad gekoppeld aan de servo hangt een magneetje welke in een gleuf beweegt waar de hallsensoren zitten.

Ik gal later ook nog een printje posten welke een servo + 2 hallsensoren bevestigd onder een C-rail wissel.

groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: Assembler op woensdag 31 december 2014, 11:05:12
Wat ik mij nog afvroeg: Waarom wil je de wisselstand eigenlijk uitlezen met sensors?
Je weet immers op welke stand je 'm het laatst gezet hebt, en volgens mij zou je de decoder gewoon die stand kunnen laten doorgeven.
(+ wegschrijven naar EEPROM om bij een opstart de laatste stand te achterhalen)
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: minitreintje op woensdag 31 december 2014, 13:43:06
Dat is waar, maar stel dat de servo niet reageert?
Daarom wil ik de stand uitlezen om zeker te zijn dat de wissel daar staat. De wisselstand die het laatste werd ontvangen via DCC wordt in het EEPROM opgeslagen.

groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: sn00zerman op woensdag 31 december 2014, 15:26:05
dylan,

Mooi project :-) gebruik jij ZigBee voor draadloze communicatie ? rete-duur spul hé !
Je moet eens naar ESP2866 modules kijken, is gewoon seriële communicatie over WIFI ! En die dingetjes kosten minder dan 3 euro per stuk !
je hebt GND/+3.3V , RX & TX, niks speciaal, baudrate op 57K6 of 115K ofzo, en je hebt fullduplex seriële communicatie over wifi :-)
Op m'n website staat een artikeltje hoe je die dingen kan aansluiten in inialiseren enzo (is echt niet meer dan er serïeel een paar commandos naartoe sturen)
Geeft je meteen ook de mogelijkheid voor toekomstige projecten, om gewoon via een TCP socket ofzo in je programma dat op een PC of RaspBerry Pi draait ofzo,
te communiceren met zo'n modules :-)


succes nog,
Kris
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: minitreintje op woensdag 31 december 2014, 16:34:06
Neen de goedkope NRF24L01+ modules ( < 1 euro/stuk) welke werken op een frequentie van 2.4 Ghz.
Aangezien die ook op 3.3V werken en Arduino's meestal op 5V hangt er nog een adaptertje tussen waarop een 3.3V voeding zit (1 euro/stuk).

Die ESP2866's zijn leuke dingen :) handig als ik volgend jaar voor de hoge school een projectje moet doen.
Dan ga ik leren programmeren in Assembler en daar werken de Arduino libraries niet voor o.a. de NRF24L01+ :(

Wat is het bereik ongeveer?


groeten Dylan
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: sn00zerman op donderdag 01 januari 2015, 10:47:26
Hoi Dylan,

idd, die NRF24L01, daar heb ik er ook nog een dikke honderd van op voorraad, vrees da'k die nooit meer ga gebruiken ... (sinds ik die ESP-modules ontdekt heb)
Bereik, geen idee, volgens de specs een paar honderd meter. Als ik via die ESP module een request doe naar SSIDs die hij kan vinden, ziet hij zelfs Wifi routers van een straat verder.
(ik weet dat die een straat verder zijn, omdat ik die zelf ben gaan installeren bij die buren)
Die routers kan ik hier met de beste wil van de wereld niet zien op eender welke PC of apple spul ...
Nuja, die ESP modules aansturen in assembler, lijkt me een koud kunstje, je hebt helemaal geen library ofzo nodig, is een pure seriële verbinding hé.

Ik was hier bezig met elke plafondspot in huis, te voorzien van RGB LED en 2 servos, en wilde dit eerst via die NRF24L01 doen, maar die zitten dan per 6 in een groep, en zo'n mesh network is echt een heel gedoe via zo'n NRF24L01 hé.
(I know, er zijn ook daar libraries voor, maar ik wil die dingen gewoon via een PIC gaan gebruiken i.p.v. Arduino)

Desalnietemin, mooi project, keep up the good work, en véél fun in 2015 hé :-)


groeten,
Kris
Titel: Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Bericht door: minitreintje op donderdag 01 januari 2015, 10:52:11
Daarom zijn deze interessanter dan de NRF24L01+ doordat er geen libraries voor nodig zijn :)
Die hebben dus echt een super bereik :) technologie evolueert met de dag.

Voor jou ook Kris (en alle anderen natuurlijk ook) veel fun en spetterend 2015!

groeten Dylan
Titel: Trainduino: Intelligent Servo Decoder V1.0
Bericht door: minitreintje op zondag 16 augustus 2015, 17:50:18
12. Intelligent Servo Decoder V1.0

12.1 Eindelijk gereed!

Zoals eerder vermeld in dit topic was ik bezig met een DCC servo decoder dat ook terugmelding voorziet naar de centrale via de Trainduino S88-Wireless.
Na 8 maanden is hij eindelijk klaar: de Trainduino Intelligent Servo Decoder!

Deze decoder bezit de volgende functies:

12.2 C-rail servo wisselaandrijving

Het ontwikkelen van de Intelligent Servo Decoder was een heel gedoe, eerst en vooral hadden we natuurlijk de mislukte constructie van de servoaandrijving met hall sensoren. Daarna volgde nog wat problemen met de draadloze terugmelding. Maar goed alles is uiteindelijk nog opgelost geraakt en werkt nu bijna voortreffelijk :) Ik moet de PCB opnieuw tekenen want ik heb een grote fout gemaakt bij de ADC van de Arduino. De afstand tussen de ADC en de connector die naar de servo loopt is veel te lang waardoor er ruis op die pin komt. De analoge waarden fluctueren hierdoor en zijn dus onbruikbaar. Nu heb ik een draadje rechtstreeks naar de servo aangebracht waardoor ik de connector ontwijk en is het probleem gefikst :)

Omdat een goede aandrijving de helft is van een wisseldecoder heb ik zelf een aandrijving ontwikkeld die onder het ballastbed van een C-rail wissel kan worden geplaatst. Na enkele weken heb ik nu een volledig compatibele C-rail wisselaandrijving die werkt met een Chinese SG90 servo van Ebay. De bestanden voor deze aandrijving zullen beschikbaar zijn op Thingiverse. Ik heb nog steeds geen originele Märklin C-rail wisselaandrijving schroeven kunnen bemachtigen, ze zijn in bestelling en zullen geleverd worden pas midden september. Ik ben vrij zeker dat het ontwerp past daarom release ik de files al. Indien het niet zo zou zijn zal ik het wel horen hier.


Trainduino C-rail wisselaandrijving (http://www.thingiverse.com/thing:970883)

12.3 Foto's


(https://imageproxy.3rail.nl/fit,1600x1200,q100,sDITan8WmS0hULaPIfncEz57zuCJDQzE3bg_uknXmaTU=/http://www.modeltreinen.comze.com/images/IntelligentServoDecoder4.jpeg)

De bijna definitieve Intelligent Servo Decoder, de draden van de NR24L01+
moeten nog vervangen worden door afgeschermde/shielded meeraderige kabel


(https://imageproxy.3rail.nl/fit,1600x1200,q100,sZ-Li8dT0GdM9--FtFLRE82XiHVbWGOP-jHf0pWmjK2A=/http://www.modeltreinen.comze.com/images/Wisselaandrijving1.jpeg)

Onderkant

(https://imageproxy.3rail.nl/fit,1600x1200,q100,ssPg9AUlZ04GHypFai7_WAoiRc6N8KJIFWFTUhdhOIJ4=/http://www.modeltreinen.comze.com/images/Wisselaandrijving2.jpeg)

Zijkant, de bouten zijn nog steeds niet ingekort...


groeten Dylan
Titel: Re: Trainduino: Intelligent Servo Decoder V1.0
Bericht door: Piwie op maandag 17 augustus 2015, 09:46:08
Dylan,

Weer een mooi project, je wisselaandrijving ziet er geweldig uit, heb je deze met een 3d printer gemaakt?

Gr.
Piwie.
Titel: Re: Trainduino: Intelligent Servo Decoder V1.0
Bericht door: Lokkie op maandag 17 augustus 2015, 12:14:06
Hoi Dylan,

Dat ziet er erg goed uit. :thumbup:
Waar heb je de potmeters verborgen, waarmee je de servo stand instelt :?:

Gr.
René
Titel: Re: Trainduino: Intelligent Servo Decoder V1.0
Bericht door: Dennis op woensdag 19 augustus 2015, 21:24:44
Hoi Rene,

Ik denk dat de servo's via de ardrino aangestuurd worden. Potmeters heb je dan volgens mij niet nodig.

Gr. Dennis
Titel: Re: Trainduino: Intelligent Servo Decoder V1.0
Bericht door: wautah91 op vrijdag 21 augustus 2015, 09:11:16
Dylan, ziet er goed uit!

Is zoiets ook mogelijk voor K-Rails?
Titel: Re: Trainduino: Intelligent Servo Decoder V1.0
Bericht door: ronaldk op vrijdag 21 augustus 2015, 10:44:11
Citaat van: wautah91 op vrijdag 21 augustus 2015, 09:11:16
Is zoiets ook mogelijk voor K-Rails?

Bij K-rails gewoon onder de baan monteren en een steldraad naar boven. Je kan eventueel een gaatje in de stelbalk boren om daar de steldraad door te jassen.

Groet Ronald.
Titel: Re: Trainduino: Intelligent Servo Decoder V1.0
Bericht door: minitreintje op vrijdag 21 augustus 2015, 15:28:58
De potmeters zijn de potmeters die de servo zelf gebruikt :) die worden gelezen door de Arduino.
K-rail kan maar dan moet er een heel ander systeem worden toegepast... Dit is eigenlijk een aanpassing van het ontwerp door Märklin.

groeten Dylan
Titel: Re: Trainduino: Intelligent Servo Decoder V1.1
Bericht door: minitreintje op zaterdag 05 september 2015, 18:20:24
13. Intelligent Servo Decoder V1.1

13.1 Nieuw ontwerp voor de PCB

In het eerste ontwerp zat een kleine ontwerpfout waardoor de Arduino steeds foute waardes van de servopotmeters binnen kreeg.
Hierdoor wipte de terugmelding van de wissels telkens heen weer. Helaas moest ik wel de print hierdoor helemaal opnieuw tekenen...
Nu is de print zelf kleiner geworden op het formaat van de S88Wireless slave, wat wel gemakkelijker is om te CNC'en.

Er zijn extra anti-stoor maatregelen (condensators, shielded cable, ... ) getroffen om de stabiliteit te verbeteren van de Intelligent Servo Decoder.

13.2 Bijgewerkte software

De software is aangepast waardoor deze compatibel is met de nieuwe hardware. Er is o.a. een LED verdwenen waardoor de functie die beide LED's aanstuurde aangepast moest worden.
Bovendien zijn er nog redelijk wat kleine bugs uit gehaald die de werking van de Intelligent Servo Decoder wat stoorde.


13.3 Foto's


(https://files.3rail.nl/tinypic/14nfleh.jpg)

De nieuwe PCB, de jumper kabel is speciaal gekozen zodat de servo signaal draden afgeschermd blijven.
Dit verminderd drastisch de storingen die kunnen optreden met de radio.


(https://files.3rail.nl/tinypic/t5t11k.jpg)

Als extraatje, een fotootje van de wisselaandrijving met originele Märklin schroeven (M2.2 x 5.0),
beter vastzitten kan niet! Ze is nu ook op dit punt gelijkaardig aan de Märklin spoelaandrijving



groeten Dylan
Titel: Re: Trainduino: Rocrail & PIPO X9
Bericht door: minitreintje op woensdag 11 november 2015, 21:22:04
14. Rocrail & PIPO X9

14.1 PIPO X9

Voor de modelbaan te besturen hebben we een handige controller nodig die Windows/Linux/... kan draaien, WiFi, Ethernet, USB en touchscreen aan boord heeft.
Al deze zaken brengt ons snel naar een tablet met Windows 10 op, welke vandaag voor 100 - 150 euro te krijgen zijn met een Intel Quad core (1.33 Ghz) en 2 GB RAM.
Voor die prijs kan ik geen touchscreen en PC kopen. Maar een echte tablet heeft een batterij aan boord en deze altijd aan de lader hangen is geen optie,
tot ik de PIPO X9 tegen kwam op van Geekbuying. Deze werkt enkel op een stroomadapter, ideaal voor mijn doel dus.
Uiteindelijk heb ik hem besteld op Amazon, kwestie van garantie wat niet altijd gegarandeerd is bij onze Chinese buren.

Linkje naar Amazon.fr (http://www.amazon.fr/X9-Windows10-Android4-4-Computer-802-11b/dp/B015W1YTBM/ref=sr_1_1?ie=UTF8&qid=1447272082&sr=8-1&keywords=PIPO+X9)
Ik weet niet of ik hier naar mag linken, zo niet stuur me een PM en ik pas het aan.

Vorige week werd het eindelijk geleverd en meteen uitgepakt natuurlijk!  :lol:
De WiFi verbinding is beter dan op mijn laptop en de ethernet verbinding haalt 80 Mbps op Speedtest.net wat tevens
de maximale snelheid is van mijn verbinding. Bovendien bevat deze een dual boot Windows 10/Android,
9 inch touchscreen, WiFi, Bluetooth 4.0, 4x USB 2.0, speakers, HDMI-out, ... Een koopje dus!   :)
De Windows 10 en Android 4.4 versies zijn volledig vrij van bloatware, enkel heb ik een pak instellingen van Windows 10 veranderd
maar dat geldt voor elke Windows 10 computer (echt geen fan van maar er zijn geen drivers voor Ubuntu...)  :?

14.2 Keuze voor Rocrail als automatisatiesoftware

Bij mijn zoektocht naar de geschikte software om mijn modelbaan te besturen had ik een aantal criteria opgesteld waaraan de software zeker en vast moest voldoen:

Dus de keuze tussen Koploper, iTrain, JMRI, Rocrail, ... was eigenlijk vrij simpel aangezien een deel al closed source en betalend was.
Hierdoor blijven er slechts 2 spelers over: JMRI & Rocrail. Maar Rocrail heeft een betere Europese ondersteuning aangezien het ontwikkeld
word in één van onze buurlanden.

Na Rocrail te hebben gedownload en geïnstalleerd van de Rocrail website (http://wiki.rocrail.net/doku.php)
de instructies gevolgd om een demo baantje te laten draaien, wat eigenlijk super simpel was.

14.3 Trainduino & Rocrail

Rocrail geeft de optie om bij wissel in te vullen welke melders je wilt gebruiken als terugmelding. Bovendien kan je de wisselstand forceren op basis van de terugmelding.
Zo zal Rocrail de wisselstand niet onthouden maar uitlezen uit de melders. Als de melders allebei uit zijn zal er een rood vierkant rond de wissel staan om aan te duiden
dat de wissel zijn eindstand nog niet heeft bereikt. Dit werkt uitstekend in combinatie met de Trainduino Intelligent Servo Decoder!  :thumbup: :thumbup: :thumbup:
Het is fantastisch om de wissels, locomotieven, ... te kunnen bedienen op een kleuren touchscreen in tegenstelling tot de CS 1R.

14.4 Foto's

(https://files.3rail.nl/tinypic/mu9bew.jpg)

Testovaaltje, CS1R en Piko NMBS serie 77.

(https://files.3rail.nl/tinypic/29yjr89.jpg)

Rocrail geïnstalleerd op de PIPO X9.
Het "lange zwarte ding" is de heuse WiFi antenne, 2x zoveel netwerken als met de laptop :O

(https://files.3rail.nl/tinypic/28icd8z.jpg)

Trainduino ovaaltje uitgetekend met wissels & station.


groeten Dylan
Titel: Re: Trainduino: Rocrail & PIPO X9
Bericht door: Leeeke op donderdag 12 november 2015, 23:25:41
Hoi Dylan,
Ziet er goed uit.... Jammer van de drivers.
Blijf je volgen!
Titel: Re: Trainduino: Rocrail & PIPO X9
Bericht door: minitreintje op vrijdag 13 november 2015, 07:34:49
Er is een kant-en-klare versie van Ubuntu beschikbaar welke goed werkt buiten de drivers.
Misschien als ik moeite doe kan ik de rest van de PIPO wel werkend krijgen...

Wat werkt er wel:

Werkt er (nog) niet:

HDMI out heb ik niet getest. Maar dit is allemaal wel met de kernel van Ubuntu 14.04.3 ergens 3.21 ofzo. Nu is er al de 4.2 uit misschien dat er dan al nieuwe drivers zijn bijgekomen...
Daarvoor zou ik een microSD moeten gebruiken om Ubuntu daar definitief op te installeren zodat ik kan updaten en upgraden. Want ik heb enkel de live-cd mode nu gebruikt om eens te zien wat werkt en wat niet.

groeten,
Dylan
Titel: Re: Trainduino: Rocrail & PIPO X9
Bericht door: Wim op vrijdag 13 november 2015, 09:38:33
 :thumbup:
Titel: Re: Trainduino: Rocrail & PIPO X9
Bericht door: Lokkie op vrijdag 13 november 2015, 12:10:18
Hoi Dyan,

Ziet er erg goed uit. :thumbup:

Gr.
René
Titel: Re: Trainduino: Rocrail & PIPO X9
Bericht door: minitreintje op vrijdag 13 november 2015, 19:02:32
Thanks!
Momenteel ben ik nog iets aan het ontwikkelen voor de PIPO X9 dus stay tuned (kan nog wel ff duren, want tijd is vaak een probleem... Maar dat kennen we wel allemaal) :)


groeten,
Dylan
Titel: Re: Trainduino: Rocrail & PIPO X9
Bericht door: Johnnytrein op zaterdag 14 november 2015, 11:34:45
Neen hoor ik ken dat niet.
Titel: Trainduino: Rocrail Command Station
Bericht door: minitreintje op vrijdag 27 mei 2016, 14:52:14
15. Rocrail Command Station

15.1 Idee

Rocrail is een fantastisch programma om je modelbaan mee te besturen maar mijn PIPO X9 heeft een te klein touchscreen scherm om zowel de handregelaar als de baan te tonen op het scherm.
En niets is leuker dan een handregelaar die fysiek naast je PC staat dan eentje die virtueel met de muis moet worden bestuurd. Daarom heb ik voor Trainduino Rocrail Command Station ontwikkeld.

15.2 Componenten & functies

Trainduino's Rocrail Command Station gebruikt slechts een paar componenten om te praten met Rocrail:

De Arduino Pro Micro doet zich voor als een gamepad zodat Rocrail de commando's kan ontvangen. Hierdoor moest ik geen heel protocol en communicatie opzetten tussen de Arduino & Rocrail.
Alles wordt gevoed vanuit de USB poort op de PIPO X9, communicatie en voeding in één  :)

De volgende zaken worden ondersteund:

15.3 Filmpje

http://www.youtube.com/watch?v=lDbwhhd7UgQ


groeten Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: Piwie op zaterdag 28 mei 2016, 08:52:44
Dylan,

Het heeft best even geduurd maar het resultaat mag er wezen.
Prachtig gedaan :thumbup: :thumbup: :thumbup:.

Gr.
Piwie.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op zaterdag 28 mei 2016, 17:30:48
Knap werk Dylan.
Komt er nog een beschrijving van hoe dit apparaat na te bouwen, als dat al mogelijk is voor iemand die nagenoeg onbekend is met elektronica?

Groeten,
Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: Maarten op zaterdag 28 mei 2016, 23:29:11
Als je onbekend bent met elktro moet je hier niet aan beginnen.
Alles bij elkaar een erg mooi project met een fantastich resultaat!
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op zondag 29 mei 2016, 15:20:59
@Piwie & Maarten
Dank u !

@AlbertG

Als jullie willen kan ik een beschrijving maken. Hoe zou het er dan moeten uit zien? Stap-voor-stap met links naar de componenten?
De electronica is eigenlijk vrij simpel, alles wordt softwarematig afgehandeld. Je hebt wel enige soldeerervaring en een basiskennis electronica nodig.

De hardware bestaat uit een Arduino Pro Micro (microcontroller met USB) die zich voordoet als een ouderwets gamepad.
Aan die Arduino hangt enkel wat knoppen en LED's (ziet er fancy uit maar is eigenlijk dus niks speciaal :p ).

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op maandag 30 mei 2016, 18:24:59
Hoi Dylan,
Bedankt voor je aanbod. Ik ben echt een leek als het gaat om elektronica en ik heb geen 3D printer voor het omhulsel. Misschien kun je wat foto's plaatsen van de binnenkant zodat ik een idee krijg van wat er in zit. Moet je ook PIC's programmeren of is beperkt tot de Arduino?

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op maandag 30 mei 2016, 20:39:10
Het is beperkt tot het downloaden van de Arduino IDE, uploaden van mijn sketch via USB en de knoppen aan de juiste pinnentjes koppelen.
Ik heb geen PCB getekend omdat ik dit niet 10x moet maken waardoor alles op een gaatjesprint zit met redelijk wat kabelbrugjes.

Volgens mij ga je meer zijn met een schema waarop alle kabeltjes aangeduid zijn want binnenin ga je niet veel van snappen zonder een schema (ik ook niet trouwens :p ). Is dat goed?


Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op dinsdag 31 mei 2016, 21:07:25
Hoi Dylan,
Hoe heb je de keypads met de drukknoppen en de draaiknoppen gemaakt?
Als je een simpel schema kunt plaatsen kijk ik wel of ik er uit komt.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op woensdag 01 juni 2016, 12:45:42
Keypads maken:

Draaiknop maken:

Grote rode E-stop + LED:

Arcade button + LED (http://www.aliexpress.com/item/FREE-SHIPPING-12V-LED-CHROME-Plated-illuminated-button-switch-push-button-microswitch-for-DIY-arcade-joystick/32657127691.html?ws_ab_test=searchweb201556_7,searchweb201602_2_10037_507_10032_10020_10017_10021_10022_401_10009_10008_10018_101_10019,searchweb201603_3&btsid=2f7c9fac-63a2-41cb-9069-8203e6b214d2)

Arduino Pro Micro:

Arduino Pro Micro 5V (http://www.aliexpress.com/item/Mini-Leonardo-Pro-Micro-ATmega32U4-5V-16MHz-Module-For-Arduino-Best-Quality/32284746884.html?ws_ab_test=searchweb201556_8,searchweb201602_1_10017_10021_507_10022_10020_10009_401_10008_10018_10019_101,searchweb201603_9&btsid=44c2c8da-e5f3-4d5b-b902-05fb233e1db3)
Een Arduino Pro Mini of Nano zal niet werken omdat deze zich niet als HID Gamepad kan voordoen aan de PC met Rocrail op. Een Arduino Leonardo werkt wel want is dezelfde chip als de Arduino Pro Micro alleen groter en iets duurder.

Ik zal één van deze dagen eens een schema maken en op Github plaatsen samen met het stickervel en de Arduino sketch.

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op donderdag 02 juni 2016, 15:40:02
Het schema, stickers en Arduino sketch staan online op Github:

https://github.com/modulebaan/Trainduino/tree/master/RocrailCommandStation (https://github.com/modulebaan/Trainduino/tree/master/RocrailCommandStation)

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op donderdag 02 juni 2016, 22:06:47
Hoi Dylan,
Bedankt voor de informatie. Ik ga eens kijken wat ik er mee kan.

Edit 04-06-2016
Ik heb de onderdelen besteld. Voor die 12 dollar wil ik de gok wel wagen.


Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op vrijdag 01 juli 2016, 15:05:57
Hoi Dylan,
Hoe kan ik het *.ino bestand downloaden van github? Ik kan het als tekstbestand lezen maar niet downloaden.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op vrijdag 01 juli 2016, 15:26:45
https://github.com/modulebaan/Trainduino (https://github.com/modulebaan/Trainduino)

Je kan daar op 'Download' klikken. dan gewoon naar de map RocrailCommandStation gaan.

Ik hoop dat het lukt, normaal wel :)
Indien Rocrail niks doet, kan je best even testen met de ingebouwde tester van Windows. Die vind je bij 'Apparaten' -> 'Arduino Pro Micro (rechtermuisknop)' -> in dat menu vind je iets van instellingen ofzo.

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op vrijdag 01 juli 2016, 18:17:45
Hoi Dylan,
Het downloaden is gelukt. Ik heb bijna alle onderdelen binnen, alleen de rode drukknop laat nog even op zich wachten.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op zaterdag 02 juli 2016, 17:19:14
Hoi Dylan,
Ik hoop dat je me nog even op weg wilt helpen. Ik heb hier de Arduino Pro Micro liggen en ik kan je schema niet plaatsen. Op de Arduino zie ik 12 aansluitingen aan elke kant.
In je schema nummer je aan de rechterkant 16, 15, 14 van boven naar beneden. Op de Arduino zie ik 10, 16, 14, 15 van boven naar beneden (als ik hem omdraai  ;) ).
Bijgaand een foto van de Arduini Pro Micro.

Edit:
Bij nader inzien probeer ik er eerst met dit plaatje uit te komen:
Klik (https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/hardware-overview-pro-micro)

Lukt het niet, dan meld ik me weer.


Alvast bedankt,
Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op zondag 03 juli 2016, 19:34:28
Het maakt niet uit hoe het op het schema staat. Alleen de juiste nummer van op het schema moet overeenkomen met het nummertje op de Arduino.
De tekening van de Arduino op het schema is niet 100% gelijkaardig aan de Arduino Pro Micro.

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op zondag 03 juli 2016, 22:18:56
Daar ben ik inmiddels achter, Dylan. Bedankt.
Hoe zit het met de nummering van de keypads? Is dat van links naar rechts als je er van boven op kijkt? Ik heb ze binnen maar er staat geen enkele aanduiding op de aansluiting.

Ik heb de Arduino aangesloten en één van de voorbeeldprogramma's er op gezet. Tot zover is het dus gelukt.

Bedankt voor je hulp.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op maandag 04 juli 2016, 08:28:18
Op de headers van de keypads zou een '1' moeten staan ergens. Daar begin je te tellen van de pin nummering.
Staat het er niet op dan volg je de volgorde van de draadjes en kan je de connector altijd 180° draaien moest het niet werken.

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op maandag 04 juli 2016, 17:31:55
Bedankt voor je hulp , Dylan. Ik wacht nog even op de breadboard en de kabeltjes en dan ga ik het in elkaar zetten. Ik houd je op de hoogte.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op maandag 04 juli 2016, 19:26:40
Super! Als er problemen zijn, laat het maar weten :)

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op zondag 10 juli 2016, 20:38:12
Hoi Dylan,
Ik heb de aansluitpinnen op de Arduino gesoldeerd. Het uploaden van de sketch op de Arduino was zo gepiept.
De keypads werken, ook in Rocrail. In Lubuntu is standaard geen ondersteuning voor een joystick aanwezig dus in eerste instantie gebeurde er helemaal niets. Ik heb een programma jstest-gtk geïnstalleerd en daarmee zie ik ook meteen welke getallen ik in Rocrail in de gamepad settings moet invoeren.

Ik heb de draaiknop voor de loc-selectie ook aangesloten. De draaiknop doet het in jstest wel, maar in Rocrail niet. Als ik de draaiknop indruk gebeurt er zowel in jstest als in Rocrail niets. Heb je een suggestie van wat er aan de hand kan zijn?
De overige aansluitingen volgen later, of is er een verband tussen de niet werkende draaiknop en de ontbrekende onderdelen?

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op dinsdag 12 juli 2016, 07:15:28
De druk toets is bij mij niet aangesloten.
Heb je de laatste versie van Rocrail geinstalleerd?

http://forum.rocrail.net/viewtopic.php?f=50&t=11910 (http://forum.rocrail.net/viewtopic.php?f=50&t=11910)

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op zaterdag 16 juli 2016, 22:15:57
Hoi Dylan,
Ik heb alles aangesloten. maar ik loop tegen een paar problemen aan:
1) Als ik de knoppen op de pads te snel achter elkaar indruk gebeurt niets. Ik moet echt een paar seconden wachten.
2) De draaiknop werkt niet goed. Ik heb de laatste versie van Rocrail geïnstalleerd (Windows 10). Het duurt vrij lang voordat Rocrail reageert op de draaiknop. En het maakt niet uit welke kant ik de knop op draai, de snelheid gaat altijd omhoog. Dat geldt ook voor het loc selectie venster. In Linux werkt de draaiknop helemaal niet ondanks dat ik een recentere versie heb dan waar je in je link naar verwijst.
3) De LED voor de Shift functie brandt niet. De Shift functie zelf werkt wel.

Ik heb 2 Arduino's gekocht en 2 draaiknoppen. Beide Arduino's hebben dezelfde problemen. Ik heb de aansluitingen diverse malen gecontroleerd en die zitten wel goed.

Ik hoop dat je me nog verder kunt helpen.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op zondag 17 juli 2016, 20:06:23
Dag Albert,

Helaas kan ik geen van je problemen vaststellen bij mij.
Zelf werk ik op Linux maar voor Rocrail heb ik Windows 10 LTSB versie draaien.
1 + 2. Test eens de knoppen eens in Windows bij Aparaatbeheer kan je een joystick testprogramma draaien als je bij eigenschappen van de Arduino gaat.
3. Als de LED niet brand moet je de aansluiting eens nakijken. Geen slecht contact of verkeerde pin?

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op maandag 18 juli 2016, 16:55:02
Hoi Dylan,
Bedankt voor je reactie.
Kan het zijn dat je niet de laatste versie van je sketch op github hebt staan?
Ik heb het probleem met de Fn led opgelost door een regel code toe te voegen:

   pinMode (shiftStatusLED, OUTPUT);

De Fn lamp brandt nu wel als ik deze bijgehorende toets indruk.

Ik heb de shiftStatusLED en de changeLocomotiveLED in de sketch omgedraaid en toen brandde de shiftStatusLED wel en de changeLocomotiveLED niet. Het moest dus m.i. wel in de software zitten.
Ik heb geen kennis van elektronica maar ben niet helemaal onbekend met programmeren. Ik ben me in de code gaan verdiepen en kwam tot deze aanpassing.
Ik ben ondertussen wel een beetje gegrepen door het Arduino virus.

En nog een vraag: welk getal moet ik invullen in Rocrail gamepadsettings bij de V? alle andere getallen heb ik kunnen vinden maar deze niet.



Ik hoor graag van je.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op dinsdag 19 juli 2016, 14:25:10
V gebruik ik niet :p
Normaal was dat de laatste versie, bij mij werkte die shiftStatusLED wel ondanks ik die regel was vergeten.
Ik heb de sketch op Github geupdated ;)

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op dinsdag 19 juli 2016, 14:53:58
Hoi Dylan,
Bedankt voor de update  :thumbup:.
Ik ga hier mee verder en ik neem aan dat het dan wel goed komt.
Het kan even duren aangezien de zon zich eindelijk laat zien.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op woensdag 20 juli 2016, 08:43:01
Ik heb ook in het begin wat moeten proberen vooraleer het werkte.
Maar bij mij detecteerde Windows alle commands perfect en was Rocrail de boosdoener...

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op woensdag 20 juli 2016, 09:39:49
Ik constateer ook dat er een verschil zit in werking onder Windows en Linux.
Verder vraag ik me af in hoeverre de kwaliteit van de Chinese producten van invloed kan zijn op het slagen van het project.
Kan het feit dat de LED bij jou wel brandt en bij mij niet met dezelfde code veroorzaakt worden door verschillende kwaliteiten van de Arduino?
Als ik daarnaast even google op KY-040 dan kom ik diverse berichten tegen waar uit blijkt dat deze met of zonder weerstanden aan de onderkant geleverd wordt. Die van mij heeft 3 weerstanden aan de onderkant van 10 kOhm. En ik lees nogal wat discussie over wat nu de beste methode is om de regelaar uit te lezen.
Maar al doende leer ik weer bij. Ik vind zelf dat ik al een heel eind gekomen ben en het is een leuke uitdaging om het werkend te krijgen. Bedankt voor je hulp daarbij.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op woensdag 20 juli 2016, 10:48:01
Die KY-040 is een beetje een ongelukkig ding maar ik had geen andere...
Het LED probleem ligt niet aan de kwaliteit is gewoon geluk hebben dat die van mij het wel doet eerst, normaal zou dat niet mogen.

Die weerstanden zijn pullups, best laten zitten. Die zorgen ervoor dat het signaal clean is als er geen data is. Je kan die KY-040 ook vervangen door een potmeter of een paar drukknoppen.
In dat geval moet de code licht gewijzigd worden.

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op dinsdag 02 augustus 2016, 21:05:13
Hoi Dylan,
Ik heb een werkende Trainduino, Rocrail Command Station, dat wil zeggen in Windows. Ik heb uiteindelijk een Leonardo gekocht en aangesloten omdat het met de Pro Micro niet ging werken. Ik moest op de Leonardo een paar andere pinnen kiezen voor de 1 x 4 pad en het is me gelukt de sketch daar op aan te passen.
De draaiknop ging pas goed werken nadat ik in Rocrail bij de Gamepad definities de 'Repeat' op 1 heb gezet, die stond op 500.

Op Linux Mint weigert de draaiknop in Rocrail zijn werk te doen hoewel die in het testprogramma wel werkt. Dat is jammer omdat mijn computers voor de treinbaan op Linux Mint draaien. Ik heb wat gezocht met google en ik krijg de indruk dat de joystick ondersteuning in Linux wat extra werk vereist.

De 2 stuks Arduino Pro Micro die ik eerst gebruikte waren toch niet helemaal goed. Ik zal je de details besparen. Uiteindelijk is er 1 overleden nadat ik een 9V adapter er op aangesloten had. Voordeel van de Leonardo is dat ik geen headers hoef te solderen dus daarmee kan ik hem niet vernielen alhoewel ik niet de indruk had dat dat aan de hand was aangezien beide Micro's dezelfde problemen hadden.

Bedankt voor je hulp en succes met verdere ontwikkelingen van de Arduino.

Albert.


Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op woensdag 03 augustus 2016, 09:30:03
Ik ben blij dat het werkt :)
Ik heb het enkel getest in Windows, in Linux kan je dit ook aan de praat krijgen door met de config files te spelen van Rocrail.
In de Rocrail wiki staat dit uitgelegd: klik (http://wiki.rocrail.net/doku.php?id=rocgui-gamepad-en)

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op woensdag 03 augustus 2016, 10:18:08
Hoi Dylan,
Bedankt voor de tip. De Rocrail instellingen op beide PC's zijn gelijk. Na de vakantie ga ik verder puzzelen.

Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: minitreintje op woensdag 03 augustus 2016, 11:24:37
Ja maar het zit hem in de config file van Rocrail niet de settings.
Die file die connect elke toets van het gamepad met een bepaalde functie in Rocrail. Ik denk dat Linux die commands van het gamepad anders 'begrijpt' en daarom die config file moet worden aangepast.

Dylan
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op woensdag 03 augustus 2016, 12:20:29
Het blijkt dat Rocrail in Linux alleen 'pad_down' ontvangt, of ik de knop nu linksom of rechtsom draai. Ik kwam er achter toen ik de tracé files van beide pc's met elkaar vergeleek. Nu nog kijken hoe ik dat op kan lossen. Zal even duren want ik ga eerst met vakantie .

Groeten,
Albert.
Titel: Re: Trainduino: Rocrail Command Station
Bericht door: AlbertG op dinsdag 22 november 2016, 21:01:40
Dylan,
Ik heb de C-rails wisselaandrijving laten printen. Nu ben ik op zoek naar de juiste boutjes om deze in het wissel te monteren. Kun je me vertellen welke je gebruikt hebt en waar je die besteld hebt?

Bedankt voor het beschikbaar stellen van de 3D files

(Het Rocrail Command Station heb ik in de ijskast gezet. Het werkt wel, maar alleen op een Windows PC en mijn baan draait op Linux. Ik heb er verder geen tijd meer in gestopt om het werkend te krijgen)

Albert.