Modelspoor, praktijk > Modelspoor-elektronica met microcontrollers

Trainduino: Rocrail & PIPO X9

(1/11) > >>

minitreintje:
Misschien dat er al sommige dit topic in de gaten houden op het 3Railforum.nl maar ik wou dit niet onthouden voor de anderen :)
Ik ga niet het hele topic copy-pasten maar een samenvatting ervan geven zodat ik er later verder in kan posten

Trainduino
Dit project is OPENSOURCE! Alle sketches & EAGLE printontwerpen worden geplaatst op Github.
GITHUB LINK

De 3D ontwerpen kan je vinden op Thingiverse:
THINGIVERSE LINK
INDEX

* Wat is dat? + S88Wireless
* S88Wireless deel 2
* S88Wireless deel 3 + Intelligent Servo Decoder
* Intelligent Servo Decoder V1.0
* Intelligent Servo Decoder V1.1
* Rocrail & PIPO X9
* Rocrail Command Station
1. Wat is dat? + S88Wireless

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

1.1 RandomLEDController

Het eerste project in deze reeks. Deze print moet de straatverlichting en de verlichting de huizen regelen.
Doormiddel van een timer wordt er bijgehouden in welk 'deel' van de dag de Arduino sketch zich bevindt, een dag (24 uur) is in de sketch slechts 24 minuten natuurlijk.

Er zijn 4 mogelijke toestanden:

* Ochtend: 9 van de 14 uitgangen maximaal AAN (mensen staan op)
* Dag: 4 van de 14 uitgangen maximaal AAN (mensen zijn op het werk)
* Avond: 11 van de 14 uitgangen maximaal AAN (mensen komen thuis)
* Nacht: 2 van de 14 uitgangen maximaal AAN (mensen slapen)De toestanden gaan volledig automatisch in elkaar over of door middel van een DCC adres kan de gewenste stand worden geselecteerd.

1.2 RGBLEDController

Een RGB ledstrip die wordt aangestuurd samen met een witte ledstrip. Zo kan een bijna 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.
Ook hier kan de stand worden gekozen met een DCC adres, deze is natuurlijk dezelfde als die van de RandomLEDController.

1.3 DCCSwitchDecoder

De DCCSwitchDecoder is een DCC decoder met een extra toets, speciaal voor diegene die graag rijwegen willen gebruiken maar met meer instelmogelijkheden als de commerciële centrales.
De decoder kan 1 NMBS signaal (4 LED's), 2 wissels en één afremmodule aansturen. Deze decoder was vroeger nuttig voor mij maar nu niet meer sinds ik wens over te stappen op PC sturing.

1.4 S88Wireless

Het nieuwste project: een draadloos S88 terugmeldsysteem, door middel van 2.4Ghz radio's worden de terugmeldingen van elke 'slave' doorgestuurd naar een 'base' die de data uitschrijft naar het command station. Dankzij het poll principe kan geen enkele slave 'praten' zolang de 'base' dat niet wil. De base kan tot 32 S88 modules simuleren maar ik heb deze beperkt tot 10 omdat anders de s88 terugmeldingen niet snel genoeg worden geüpdatet, de oorzaak is de snelheid waarmee de data draadloos wordt verstuurd.

De voordelen van dit systeem zijn natuurlijk dat je geen kabels meer moet trekken langs je baan en je geen storingen op deze kabels kan krijgen.
De draadloze radio's gebruiken CRC en ACK om de data te valideren hierdoor is de kans dat de data corrupt is veel kleiner.

Het nadeel is dat de draadloze oplossing niet zo snel is als de bedrade oplossing maar toch nog voldoende om te gebruiken.



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.



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.



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.

groeten Dylan

P.S.: Ik bedank Patrick (Sattrickske) voor zijn hulp voor de S88 Wireless sketch! Zonder zijn hulp was het niet gelukt :)

dani:
interessant project, Dylan...
Bedankt om het hier ook te delen.   en benieuwd hoe dit verder gaat evolueren, het ziet er veelbelovend uit.

philippe_007:
Inderdaad interessant,
ben reeds wat bezig met de arduino, maar waarom het warm water opnieuw uitvinden als het als bestata he....

Frank_N:
Interessant! Deze ga ik ook volgen ;)
Dank voor het delen, Dylan!

minitreintje:
@Iedereen

Mercikes :)
Ik heb nu nog wat de settings geoptimaliseerd van de RF24 radio waardoor alles nog wat stabieler is maar ook sneller.
De 2de slave heb ik nu ook meedraaien in het systeem en dat gaat goed :)
Aan de slaves heb ik dan maar 2 Arduino's gehangen die wat pinnen van HIGH naar LOW brengen.
Hierdoor denkt de slave dat er een melding is (locomotief massacontact) en kan ik testen of het werkt wanneer er actief meldingen worden gemaakt.


groeten Dylan

Navigatie

[0] Berichtenindex

[#] Volgende pagina

Naar de volledige versie