Turnout / Signal Control using model aircraft servos
Copyright for items on this page is retained by the authors identified.
The use or misuse for the sale, design, supply, process, installation, delivery, test, repair, servicing, and alteration of the designs, instructions, computer code, photographs, circuits, and any other information that appear on this web site is entirely at the risk of the user or visitor to the web site. The information is made available in good faith without warranty of any kind strictly on the basis that no liability will attach to the Model Electronic Railway Group (MERG), its officers and members.
Servo4 is a microprocessor controlled driver board designed to operate four separate conventional servo motors. The board has four standard servo connectors and provides the power supply and variable width pulses to operate the servos. The power to the board can be either a DC supply of 10 to 15v, either smoothed or unsmoothed, or an AC supply of between 9 and 12v RMS. The supply to the servos is a stabilised 5v and variations in the input voltage will not affect the servo operation.
Each servo has two presettable positions controlled by simple on / off switches or by a logic level of 0 or 5v. Not only can the positions be individually set but the rate of travel is adjustable with the choice of a different rate in each direction for each servo.
The unique feature of the Servo4 board is the way the adjustment is achieved. The board has a standard serial interface (9600B) via a 9 way D type connector. The board can be set, adjusted and tested through this serial interface using either a PC (a laptop is preferred for portability) or a separate purpose built ‘setting’ box. The serial interface sends information to the board without handshake and will operate equally well with a USB connection via a USB to serial converter.
Once the required settings have been established, they are saved in memory on the board. This gives very high reliability as there is no possibility of accidental misadjustment, failure of variable controls or interference from external sources. The settings can always be changed though using the PC interface or the setting box.
Servos are ideal for point mechanisms as they have a high torque, a variable speed and endstop adjustment and consume virtually no current when stationary.
Instructions for use.
Mount the board using screws and spacers in a convenient location to the servos, ensuring that the serial connector is accessible. Connect the DC or AC supply to the large, two way connector ensuring correct polarity if using DC. (It is protected against incorrect polarity but will only work with it the right way round). Plug in the servos with the ‘black’ wire to the edge of the board. A reversed connection here may damage either the servo or the driver. Connect the control wires to the smaller terminal block as per the diagram.
Adjustment using the ‘setting’ box.
If starting ‘from scratch’ it is best to connect one servo at a time. With the power on, plug the setting box into the 9 way connector with the cable supplied. Set the servo selector switch to 1, the function switch to Off, the position control to its central position and press the Run button. (Green light on). Plug a servo into connector 1. The servo should drive to its mid position. Now rotate the position control and the servo should follow it. Set the position you want for the condition where the control input is ‘off’ if using a switch or a logic 5v if using electronic control. Use the step+ and step- buttons for fine adjustment. Each press will move the servo by the smallest possible increment. When satisfied with the setting, press the Save button.
Now turn the function switch to the On position (logic 0) and repeat the setting for the opposite end of the travel. ( Run, adjust and Save).
To set the travel speed, turn Function to S1. Set the Position and Speed knob to a number. 0 is no speed control and the servo runs at its maximum. 1 is the slowest speed gradually increasing to speed step 7. Press Run then Save. Repeat for S2 which is the speed in the other direction.
Now set the other servos. If you set the box to the correct servo number, the position to centre and the run to on, when you plug in the servo it will automatically centre itself. This is useful both for setting the mechanism and preventing strain if the servo runs to one end.
Provided the run light is off, the servos will be controlled by the input states, even though the box is connected. This way you can test the settings and then readjust if necessary. You can also test settings with the Run on without saving them. Just press the Reset button and the previous settings will be restored.
When the servos are set correctly, unplug the setting box. There is no need to remove the power from the driver boards. Also the setting box can be plugged in with the power on.
Setting using a laptop.
The following downloads are available:
- zip file contains this description plus drawings, schematics, board layout and PIC code
- zip file contains the software for setting parameters from PC
Note: Software zip file updated 05-Aug-06, PIC code updated 16-Mar-06
To install the Servoset programme unzip the software file putting all three files into a common directory then run 'setup.exe'.
The process is identical to that for the setting box. Start the Servoset program. The correct serial COM port must entered in the prompt box. Instead of physical controls there are buttons and a slider on the screen. Plug the serial cable into the Servo4 board. Select the servo number and function on the button array. Set the slider to the mid position. Click on Run. Move the slider to set the servo position. Click on the slider ends for fine adjustment. The position number range is displayed. The range is 0 to 255 with 127 being the centre.
Note: (5-Aug-06) Paul King had flagged a minor problem with the existing Servo4 code. During the setting process, other servos, if fitted, also moved although their actual settings were not changed. I had not noticed this myself as I never had more than one servo. I have identified why and the correction to the code was very simple. To correct this use the revised asm and hex code, now at Rev E.
For speed setting, select a slider number from 0 to 7. Settings above 7 will be full speed.
Mike Bolton - 20-Dec-04
Tel. 0161 969 6630