Nieuws:

Wilt u Stichting 3rail steunen? Dit kan eenvoudig via onze Stichting 3rail Webshop :thumbup:

Trainduino: Rocrail Command Station

Gestart door minitreintje zaterdag 23 november 2013, 20:27:59

0 leden en 1 gast bekijken dit board.
Re: Trainduino: S88Wireless deel 2
Electronica Freak
gast

Re: Trainduino: S88Wireless deel 2
Interessant! Mooi project :thumbup:
Re: Trainduino: S88Wireless deel 2
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.
Re: Trainduino: S88Wireless deel 2
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
Re: Trainduino: S88Wireless deel 2
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.
Re: Trainduino: S88Wireless deel 2
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 :mrgreen:

Groeten,

Rauke
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Hoi Dylan,

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

Gr.
René
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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




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.



S88Wireless BASE + de zender van de Intelligent Servo Decoder



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





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


groeten Dylan
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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é
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Lid sinds: 2009

Dwarsliggers op de rails sporen niet

offline
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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 ...
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Lid sinds: 2009

Dwarsliggers op de rails sporen niet

offline
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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)?
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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)
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Lid sinds: 2008

There is no place like 127.0.0.1

offline
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
Lid sinds: 2008

There is no place like 127.0.0.1

offline
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Re: Trainduino: S88Wireless deel 3 + Intelligent Servo Decoder
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
Trainduino: Intelligent Servo Decoder V1.0
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:

  • Kan maximaal 4 servo's aansturen.
  • Volledig DCC compatibel.
  • Optische isolatie tussen DCC en de Intelligent Servo Decoder.
  • CV's lezen en schrijven op het programmeerspoor
  • Programmeerstand eenvoudig te activeren via DCC
  • Wisselstand bepalen a.d.h.v. de ingebouwde servo potmeter van elke wissel
  • Automatische calibratie van de potmeters van de servo's.
  • Geoptimaliseerd voor de Trainduino C-rail wisselaandrijving.
  • Anti-crash functie om te voorkomen dat de decoder blijft hangen.
  • Terugmelding van de wisselstanden door middel van 2.4Ghz radio modules (NRF24L01+) met error correction

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.


12.3 Foto's




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




Onderkant



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


groeten Dylan
Re: Trainduino: Intelligent Servo Decoder V1.0
Dylan,

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

Gr.
Piwie.
Re: Trainduino: Intelligent Servo Decoder V1.0
Hoi Dylan,

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

Gr.
René
Re: Trainduino: Intelligent Servo Decoder V1.0
Speciale Gast Events Team
Lid sinds: 2011

offline
Re: Trainduino: Intelligent Servo Decoder V1.0
Hoi Rene,

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

Gr. Dennis
Re: Trainduino: Intelligent Servo Decoder V1.0
Dylan, ziet er goed uit!

Is zoiets ook mogelijk voor K-Rails?
Re: Trainduino: Intelligent Servo Decoder V1.0
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.
Re: Trainduino: Intelligent Servo Decoder V1.0
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
Re: Trainduino: Intelligent Servo Decoder V1.1
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




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.




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
Re: Trainduino: Rocrail & PIPO X9
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
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:

  • Opensource & gratis, ik stel mijn software vrij ter beschikking dus wil ik zeker ook opensource software voor mijn modelbaan.
  • Compatibel met alle grote besturingssystemen.
  • Al jaren in ontwikkeling
  • Ondersteuning van zowat alle centrales
  • Goede ondersteuning via een forum, wiki, ...
  • Ondersteuning voor terugmelden van de wisselstand via S88 (Intelligent Servo Decoder!)
  • Modulair en aanpasbaar zodat alles naar wens is aan te passen
  • ...

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
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



Testovaaltje, CS1R en Piko NMBS serie 77.



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



Trainduino ovaaltje uitgetekend met wissels & station.


groeten Dylan
Re: Trainduino: Rocrail & PIPO X9
Lid sinds: 2011

Waar zouden we zijn zonder de trein......

offline
Re: Trainduino: Rocrail & PIPO X9
Hoi Dylan,
Ziet er goed uit.... Jammer van de drivers.
Blijf je volgen!
Re: Trainduino: Rocrail & PIPO X9
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:

  • WiFi
  • Display
  • Booten

Werkt er (nog) niet:

  • Touchscreen
  • Ethernet (is eigenlijk een USB -> ethernet adapter)
  • Audio
  • Bluetooth

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
Re: Trainduino: Rocrail & PIPO X9
Lid sinds: 2006

samen staan we sterker

offline
Re: Trainduino: Rocrail & PIPO X9
 :thumbup:
Re: Trainduino: Rocrail & PIPO X9
Hoi Dyan,

Ziet er erg goed uit. :thumbup:

Gr.
René
Re: Trainduino: Rocrail & PIPO X9
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
Re: Trainduino: Rocrail & PIPO X9
Neen hoor ik ken dat niet.
Trainduino: Rocrail Command Station
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:

  • Arduino Pro Micro als HID Gamepad
  • 2 keypads
  • Rotary encoder
  • E-stop
  • En nog wat LED's

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:

  • Snelheid regelen
  • Richting wijzigen
  • Functies F0 - F24 aansturen
  • E-stop met LED aanduiding
  • Kiezen van een locomotief via de snelheidsregelaar (scrollen door de lijst)
  • Virtuele handregelaars zijn ook nog mogelijk

15.3 Filmpje



groeten Dylan
Re: Trainduino: Rocrail Command Station
Dylan,

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

Gr.
Piwie.
Re: Trainduino: Rocrail Command Station
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.
Re: Trainduino: Rocrail Command Station
Als je onbekend bent met elktro moet je hier niet aan beginnen.
Alles bij elkaar een erg mooi project met een fantastich resultaat!
Re: Trainduino: Rocrail Command Station
@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
Re: Trainduino: Rocrail Command Station
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.
Re: Trainduino: Rocrail Command Station
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
Re: Trainduino: Rocrail Command Station
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.
Re: Trainduino: Rocrail Command Station
Keypads maken:

  • Als basis neem ik deze keypads: 4x3 keypad en 1x4 keypad
  • Extra voor het 1x4 keypad: snij een stuk karton van 1 mm dik (ik gebruik de achterkant van een cursusblok, toch nog ergens een nuttig doel voor een student) en prik er 2 gaatjes (3 mm diameter) in boven de locomotief toets en de Fn toets. Hierin komen de LED's in. De grootte van het stukje karton moet je afmeten met het stickervel in stap 3.
  • Ik print een stickervel uit die er perfect over past (ik zal deze samen met het schema op Github zetten) die ik er over kleef. Nu zijn de toetsen het keypad voorzien van de juiste icoontjes
  • Dan plak ik nog een doorzichtige folie over de sticker heen zodat alles beschermd is tegen stof en vuil. De folie die ik gebruik is de deze (maar dan de goedkope van de Action): kaftfolie voor boeken.

Draaiknop maken:

  • Ik gebruik deze encoder: KY-040 deze is vrij goedkoop, de werking is niet optimaal maar in mijn Arduino code zit een filter in die de rommel eruit haalt waardoor deze wel werkt :)
  • Deze is vastgeschroefd in de case (er is een stuk draad getrokken op de encoder hiervoor door diene Chinees) waar ik dan een 3D printed knop opzet maar de Chinezen verkopen er ook: Encoder knob. Opgelet ik heb deze niet en dus niet kunnen passen dus geen 100% garantie dat deze op de KY-040 past! De shaft van de KY-040 is +-6mm en deze zou voor 6mm zijn.

Grote rode E-stop + LED:

Arcade button + LED

Arduino Pro Micro:

Arduino Pro Micro 5V
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
Re: Trainduino: Rocrail Command Station
Het schema, stickers en Arduino sketch staan online op Github:

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

Dylan
Re: Trainduino: Rocrail Command Station
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.
Re: Trainduino: Rocrail Command Station
Hoi Dylan,
Hoe kan ik het *.ino bestand downloaden van github? Ik kan het als tekstbestand lezen maar niet downloaden.

Albert.
Re: Trainduino: Rocrail Command Station
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
Re: Trainduino: Rocrail Command Station
Hoi Dylan,
Het downloaden is gelukt. Ik heb bijna alle onderdelen binnen, alleen de rode drukknop laat nog even op zich wachten.

Albert.
Re: Trainduino: Rocrail Command Station
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

Lukt het niet, dan meld ik me weer.


Alvast bedankt,
Albert.