Skip to content

Train hardware

Marton Bur edited this page Jun 2, 2016 · 7 revisions

Train hardware

Component owners: Zsolti, Bálint
Date of assessment: 2016-05-06

Current status

  • Railroad network: condition is OK. Parts:

    • 15 sections

    • 5 regular switches

    • 1 English switch

    • 7 switch controller (English switch uses 2)

  • Ethernet network:

    • Two ethernet switches

    • 6 BeagleBone Black (BBB) units (1 for each switch).

    • DCDC converter shields for each BBB (12V → 5V)

  • Expanders for BBBs:

    • Section controller (uses GPIO to generate STOP signal for the engine on the segment).

    • Switch change detector captures signals that order the switch to select a route. Currently, the state of a switch cannot be polled. For this reason a manula init is required, which involves sending out a signal to the switches to select the initial directions.

  • Section Occupancy Controller (connected to an Arduino): COTS solution for detecting occupancy of a train on a segment. (Using the S88 protocol) polls the detector, then using MQTT returns the result. (the name is confusing it does not control anything but detects the presence of a train on a segment)

  • Raspbery PI: MQTT broker listening on a fix IP on the Ethernet network

  • Wooden frame on the table: control electronics. (COTS devices)

    • 1 switch decoder

    • 3 section occupancy detector

    • 1 loop module (to allow rail segments to connect with different polarity)

    • 2 custom PCBs (each have its corresponding pair below the desk): aggregates the signals. They are used to connect the two parts of the table

  • Black box: DCC amplifier that generates the control signals for the train engines. PC can be connected to this module (however, a PC can only be a slave)

  • Red multimouse: send controls for trains and switches

  • Ansible is used for deploying software to the platform

Issues and TODOs

  • Switch control can burn out easily. Assumed reason: the low quality switch decoder. This issue is non-blocking. Workaround: cache a backup module (approx. price: 5000 HUF).

  • Integration of the PC adapter card. Using this device, a PC can also control the switches and trains, but cannot be a master controller, which means a master multimouse has to be connected as well. Further drawback: the JMRI library (Java Model Railroad Interface) is incredibly slow (~6sec delay on switch control signals)

  • Move hardware designs to the open source repository

Development directions and plans

  • Eliminate SPOFs. It is a challenging task, because in the current version every item is a SPOF when the system is running

  • RaspberryPI: hot backup can easily be added to the current configuration

  • The others are hard to replicate

  • Optimize the speed of the PC adapter card

  • Replace the wooden desk. Bálint finds this task to be too time consuming, and Zsolti also has other things to do.

  • Configuration and monitoring dashboard: show the deployed softwares and their state (running/stopped)

  • local monitor (powered by a raspberry PI) with a screen

  • Bálint can use the MoDeS3 as a case study for his work during his MSc studies (executing CEP on the PRU). In Summer he plans to work on the project, but he is not planning to participate in a 7/24 shift.

  • Zsolti is going for a passive semester and will continue to work at his current workplace. His time depends on his boss at the firm.

Clone this wiki locally