C-Bus

Updated Layout Control Panel Using JMRI

JMRIPanel

Here is an updated version of my layout's control panel implemented using JMRI, an open source model train software tool.

I have evolved this control system to include the full layout (including the yard switches) and more importantly to include "Train on Track" sensors. With these sensors, the signal system is now fully automated and interlocked. As a train passes a signal, it trips a sensor and the signal immediately changes to "Danger". The signal will progressively clear through "Caution" and "Proceed" aspects depending on the state of the signal blocks ahead.

Initially I was going to implement the train detection using a current feedback sensor on the power feeds to the track (similar to the prototype's track circuit). However, I wanted this system to operate with non metal/9V/DCC powered trains, i.e. battery/Power Functions trains. Therefore, I elected to use optical sensors embedded discretely in the track. The sensor consists of a 3mm phototransistor which is buried in a hole drilled within the ties. The sensor detects light being blocked by the presence of a train passing overhead. Each sensor is tunable to account for varying ambient light conditions depending on where the layout is setup.

The sensors as well as the actuators for the signals and turnouts are all connected using MERG's C-bus network. There are at least 16 different micro controllers lurking under the layout tables all communicating via C-bus to a central controller connected to my laptop PC via USB. The same central controller has an integrated DCC command station which drives the track power. Therefore, even the control of trains is achieved with the computer via virtual "throttles". It isn't too difficult to imagine the next step: complete automation of train operation! Well, not so fast, I still like to drive my trains too!

JMRI is a very powerful software suite of tools; however, it has a steep learning curve. For those of you with a technical interest, it is worth checking out.