Model Railway Layout With Automated Passing Siding (V2.0)

by KushagraK7 in Circuits > Arduino

6087 Views, 14 Favorites, 0 Comments

Model Railway Layout With Automated Passing Siding (V2.0)

IMG_1508.JPG

This project is an update of one of the previous model railroad automation projects, The Model Railway Layout with Automated Siding. This version adds the feature of coupling and decoupling of the locomotive with the rolling stock. The operation of the railway layout is as follows:

  • The locomotive will start from the mainline and proceed into the siding to couple with the rolling stock.
  • The locomotive will couple and take the train out of the siding on to the mainline.
  • The train will start to move, speed up, take a couple of loops around the layout and slow down.
  • The locomotive will take the train back to the siding in the final loop where it will decouple from the rolling stock and proceed further.
  • The locomotive will make one loop around the track, slow down and stop where it started from in the beginning.
  • The locomotive will wait for a set amount of time and the whole operation will be repeated again.

So without further ado, let's get started!

Watch the Video

Model railway layout with automated passing siding(V2.0) | Arduino based | Automation project

Watch the video to get a complete idea of how the entire railroad operation explained in the previous step takes place.

Get All the Parts and Components

IMG_1442.JPG

So now you know how stuff is going to go, so get all of the parts and components listed below to get started!

  • An Arduino microcontroller(Any Arduino board can be used but take care of pin connections.)
  • An L298N motor driver module(This type of motor driver is recommended, regarding its capacity and price.)
  • 5 male to female jumper wires(To connect the motor driver's input pins to the digital output pins of the Arduino board.)
  • Set of 3 male to female jumper wires, a total of 6(To connect the sensors to the Arduino board.)
  • 6 breadboard jumper wires(Two to connect track power to one output of the motor driver and four to connect two turnouts of the siding to the other output of the motor driver.)
  • Two 'sensored' tracks.
  • A 12-volt power supply(Current capacity of at least 1A.)
  • An appropriate USB cable to connect the Arduino board to a computer(For programming).
  • A computer(Obviously : )
  • Tracks to make the layout.

Upload the Arduino Program to the Arduino Microcontroller

Arduino code.PNG

Get the Arduino IDE from here. Go through the code to understand how the operation will work.

Make the Layout

IMG_1466.JPG

The layout will contain a passing siding with a magnetic uncoupler track at the exit of the siding to let the locomotive uncouple from the rolling stock before leaving the siding. A 'sensored' track will be installed just after the siding to let the microcontroller know when the locomotive leaves the siding or crosses that particular section of the track.

Another 'sensored' track will be installed before the siding such that the length of track between this 'sensored' track and the siding with respect to the train's direction of movement is greater than the length of the train.

After setting up the layout, make sure the track rails are clean to ensure the smooth running of the train.

Connect the Turnouts to the Motor Driver

IMG_1467.JPG

Connect both the turnouts in parallel(+ve and -ve of one to the +ve and -ve of the other respectively). Connect the parallel wired turnouts to the output pins of the motor driver module marked 'OUT1' and 'OUT2'. You might need to reverse the turnout connection to the motor driver's output if they switch to the wrong direction after powering up the setup.

Connect the Motor Driver to the Track Power Feeder

IMG_1468.JPG

Connect the track power feeder's wires to the output pins of the motor driver marked 'OUT3' and 'OUT4'. You might need to reverse the polarity of the wiring connection if the locomotive starts to move in the wrong direction after powering up the setup.

Connect the Motor Driver to the Arduino Board

IMG_1471.JPG

Remove the jumper connector from the pin of the motor driver marked 'ENB'. Connect the '+12-V' terminal of the motor driver module to the 'VIN' pin of the Arduino board. Connect the 'GND' pin of the motor driver module to the 'GND' pin of the Arduino board. Make the following connections between the motor driver and the Arduino board:

Motor driver -> Arduino board

IN1 -> D12

IN2 -> D11

IN3 -> D9

IN4 -> D8

ENB -> D10

Connect the 'sensored' Tracks to the Arduino Board

IMG_1476.JPG
IMG_1477.JPG
IMG_1478.JPG

Connect the 'VCC' pins of the sensors to the '+5-volt' pin of the Arduino board. Connect the 'GND' pins of the sensors to the 'GND' pin of the Arduino board.

Connect the 'OUT' pin of the sensor at the exit of the siding to the pin 'A1' of the Arduino board. Connect the 'OUT' pin of the remaining sensor to the pin 'A0' of the Arduino board.

Connect the Arduino Board to Power

Connect the Arduino board to a 12-volt DC power source through the power jack.

Place the Rolling Stock and the Locomotive on the Tracks

IMG_1474.JPG
IMG_1475.JPG

Using a rerailing tool, position the locomotive on the mainline and the rolling stock in the siding.

Check All the Wiring Connections and the Trains

Make sure the locomotive and the rolling stock are not derailed. Double-check all of the wiring connections and take care of the polarity of the power connections.

Turn on the Power and Get the Train Running

Arduino controlled model train layout with automated siding V2.0 | Arduino based

If everything went well, you should see your locomotive starting to move and run as in the video. If the locomotive starts to move in the wrong direction or the turnouts switch in the wrong direction, reverse the polarity of their wiring connection with the output terminal of the motor driver module.

Modify the Project

Go ahead and tinker with the Arduino code and the design to add more functions, run more trains, add more turnouts and so on. Whatever you do, all the best!