Aristo Craft Revolution Servo Interface
revised 05-05-11

There are many Revolution owners who also operate live steam.  These individuals need to control servos on their live steam engines to adjust the speed and direction of travel of their locomotives.

Because the Revolution does not support servo control an interface is needed that will go between the Revolution receiver and one or two servos.

This project is to design and construct such an interface.  It will allow operation of one or two servos via the auxiliary output port that is on each Revolution receiver.  This port is controlled by pressing the number keys 1, 2, 3, 4, 5 and 6 on the transmitter.  The first three keys will operate the first servo and the second three will operate the second servo.

When button 1 on the transmitter is pressed the first servo will rotate counter-clockwise.  When the button 3 is pressed it will rotate clockwise.  Pressing button 2 will center the servo.  The same applies to the second servo.  Button 4 moves the servo counter-clockwise, 6 clockwise and 5 centers it.

There is one issue with servo control using the auxiliary buttons. A momentary press of a button on the transmitter turns on the output pin on the receiver for a minimum of nearly 1 second making fine control of the servo's position problematic. 

To alleviate this problem the software has been designed to move the servo just a bit if a button is pressed briefly.  Holding a button down for a longer time will accelerate the rate of rotation.  Note that the servo will continue to move for a moment after a button is released.  This is due to the length of the pulses that are generated by the Revolution transmitter.

Another option for finer control is to set buttons 1, 3, 4 and 6 on the transmitter setup to latching.  If you push one of these buttons when it is set to latching the servo will move until you press it again to un-latch it.  Pressing a button twice in rapid secession gives a much shorter pulse and moves the servo a smaller distance than a brief push when set to momentary.  The only problem with setting these buttons to latching is that you MUST press the button a second time to un-latch it or the other keys may not work until you do.  Note that it is easy to lose track of how many times you have pressed a button.  To see the status of the buttons you can press the # key and select Aux  Functions but that can be time consuming.

There are a number of different operation modes and configuration settings that can be changed on the controller.  These options can be accessed and modified by means of a TV Infrared Remote Control.  An LED on the circuit board provides feedback when a command is enter on the TV Remote.

A set of advanced options can give users a great deal of control over what each servo can do.

 Setup & Operation

Configure the auxiliary outputs in the Revolution transmitter so that all six are set to "Momentary".  Note that you do not have to use both servos. 

Solder the seven wires from the auxiliary interface cable to the controller circuit board.  The black wire is ground or common.  It goes to the ground connection labeled with a minus sign (-). The blue wire goes to the contact labeled "1", the green wire goes to "2", yellow to "3", orange to "4", red to "5" and brown to "6".

Connect power to the Revolution receiver and to the interface.  Both will work with DC voltage between 8 and 24 volts.  Lower voltages will allow the system to run cooler.  The Revolution receiver is not polarity sensitive  but the controller is.  Make sure that positive goes to the positive power connection on the interface!  Both the interface and the Revolution receiver can be attached to the same power source.

Connect the two servos to the pins labeled "servo 1" and "servo 2".  The black wire on the servo's three wire cable goes to the terminal on the controller marked with a minus sign (-).

Link the receiver and the transmitter.  Servo 1 can be operated with buttons 1, 2 and 3.  Servo 2 is controlled with buttons 4, 5 and 6.  Pressing 1 or 4 moves the servo counter-clockwise.  Pressing 3 or 6 moves the servo clockwise.  A brief press of one of these buttons moves the control arm about 1.5 degrees.  Holding a button will move is slowly at first then more rapidly if the button is held.

Pressing button 2 or button 5 will return the servo to its center position.

Please note:  It is not necessary to use both servos.  If you wish to use only one servo the other three control buttons can be used for sound activation or other features.

Connections

The board, interface cable for the Revolution receiver and two servos are shown here.  Note that the negative lead on the 3 wire servo cable goes to the left.  With these servos that is the brown wire, on others the negative lead is black in color.  The red and black wires that are to the left go to a source of DC power from 7 to 12 volts.

Here is another view of the same board & connections.

Note the order of the wires from the Revolution interface cable.  The black wire goes to the contact labeled "-", the blue wire goes to the contact labeled "1", green to "2", yellow to "3" and so on.

The surface mount version of the circuit is significantly smaller than the standard version.  The servos connect to the left, as shown.  The Revolution receiver connects to the pins at the top and power comes in from the two pins on the left.

Advanced Configuration

The default operation of the controller is described above.  The servo controller can be reconfigured to have the servos operate in many different ways. 

Configuration changes are done with a hand held TV Remote control.  The options are described below.

Each time the interface is turned on it flashes out the version number of the software.  For example, if the version of the software is 2.5 the LED will flash 2 times, pause then it will flash 5 times.  To start configuration power up the controller, wait till the version number is flashed out, aim the TV remote control at the controller and press the "Return" button.  The controller will respond by turning its indicator LED from rapidly blinking to solidly on.

Once you are in the configuration mode the variables shown in the table can be changed.   

Button on Remote  
1 Servo 1, maximum counter-clockwise position - use <Vol and Vol> to move the servo left and right - when it is in the desired position press Return
2 Servo 1, center position - use <Vol and Vol> to move the servo left and right - when it is in the desired position press Return
3 Servo 1, maximum clockwise position - use <Vol and Vol> to move the servo left and right - when it is in the desired position press Return
4 Servo 2, maximum counter-clockwise position - use <Vol and Vol> to move the servo left and right - when it is in the desired position press Return
5 Servo 2, center position - use <Vol and Vol> to move the servo left and right - when it is in the desired position press Return
6 Servo 2, maximum clockwise position - use <Vol and Vol> to move the servo left and right - when it is in the desired position press Return
7 Behavior of Servo 1 
key 0 button 1 move counter-clockwise in small increments, button 2 center and button 3 clockwise in small increments
key 1--> 9 button 1 and 3 fast move to set position and button 2 to center.  Selecting 1 moves to the set position most rapidly while selecting 9 moves is most slowly.  2-->8 give speeds of movement in between

Note: Wait for fast LED blink before hitting 1 or 2

8 Behavior of Servo 2 
key 0 button 4 move counter-clockwise in small increments, button 5 center and button 6 clockwise in small increments
key 1-->9 button 1 and 3 fast move to set position and button 2 to center.  Selecting 1 moves to the set position most rapidly while selecting 9 moves is most slowly.  2-->8 give speeds of movement in between

Note: Wait for fast LED blink before hitting key 0-->9

9 Time before fast move on Servo 1 - enter 0-9 with 0= no fast move, 1=immediate fast move, 9 long delay before fast move.

Note:  Press 9 briefly and wait for fast LED blink before hitting 0-->9 - holding 9 for more than 1/2 second will enter 9 as the value

0 Time before fast move on Servo 2 - enter 0-9 with 0= no fast move, 1=immediate fast move, 9 long delay before fast move.

Note:  Press 0 briefly and wait for fast LED blink before hitting 0-->9 - holding 0 for more than 1/2 second will enter 0 as the value

Press the POWER button on the TV remote control to complete configuration.

One Button Operation

For some operations the amount of control given with the configuration shown so far is more than is needed.  The system can be set to activate a servo from only one button on the Revolution transmitter so that it rotates from its clockwise (or counter-clockwise) limit to the counterclockwise (or clockwise) limit pauses for a moment and returns to the clockwise (or counter-clockwise) limit.  The limits can be set as shown above and the speed of motion and pause time between the two movements can be modified as shown here.

Button on Remote Single button cycles servo from full counter-clockwise to full clockwise or visa versa
1 same as above to set limit -- after setting limit press a single button (from 1-->9) to activate 1 button sweep - the number used is the pause between clockwise & counterclockwise in 1/2 second increments - servo 1
3 same as above but ccw to cw movement - servo 1
4 same as above cw to ccw - servo 2
6 same as above ccw to cw - servo 2
9 rate of movement - 1=very slow, 9= very fast
0 rate of movement - 1=very slow, 9= very fast
   

Press the POWER button on the TV remote control to complete configuration.

Full Factory Reset

To return the system to the settings that were initially programmed into it at production follow this procedure:

Press the "Return" button on the TV remote.  Press the "V-Chip" button - the LED will flash rapidly.  Press the "Exit" button to reset - press the "Power" button to abort reset.

Video 

This video serves as an introduction to the interface and how it operates.  If you have questions please contact dave bodnar at info@trainelectronics.com

 

 

This video shows two new features - doing a factory reset and controlling the motion of a servo from only one button