ENGR 1200 Design Nature

Control of the servo using two 555 timers
Design Nature Fall 2006

Background

The servo motors have three leads coming out of the case. The black wire is the negative terminal of a 6-volt battery pack, the red wire is the positive terminal. The white wire is used to control the position of the servo. Ideally, if the servo receives a 1.5 millisecond pulse through the white wire, it will center its position. Longer pulses will set positions to one end, proportional to the length of the pulse, and shorter pulses will set positions to the other end. The servos used in the class take pulses from about 0.7 ms to 2.3 ms (1.5 ms +/- 0.8 ms).

Once the servo reaches the position commanded by the pulse width, it should ideally maintain that position. Unfortunately, the servo position drifts over time. Therefore, the position has to be reset continuously. If there is too much delay between pulses, the servo will visibly shake every time a new pulse is received and the servo resets its position. To avoid this shaking, the servo must receive pulses at least every 40 ms to avoid any shaking.

The circuit in this guide produces two train of pulses; one train will command the servo to one extreme, and the other will command the servo to the other extreme. These trains will alternate for the same amount of time at a frequency to be set using a potentiometer.

Steps

1. Construct the circuit shown in a protoboard. Two examples of the physical circuit are also shown.
2. Center both potentiometers and observe the output on pin 3 of the slave 555 (yellow probe) and the output on pin 3 of the master 555 (blue probe) using an oscilloscope. Set the timescale to 10 ms/div. You should observe a 6-volt pulse train with the yellow probe where the thickness of the pulses alternate depending on the voltage on the blue probe.
3. Adjust the 10 kiloohm potentiometer until the short pulse width is about 0.5 ms and the long pulse is about 3.0 ms.
4. Once you have verified that the circuit works as expected, connect the white servo input to the output of the slave 555. Connect also the red and black inputs of the servo to the positive and negative terminals of a 6 volt battery pack. Adjust the 100 kiloohm potentiometers to obtain the desired frequency of oscillation. You may also need to fine tune the 10 kiloohm potentiometer to eliminate shaking and twitching in the servo or to correct travel.
5. Get a PCB board to reduce the size of the circuit and solder all connections. After the board is constructed, test its functionality again. You may need to readjust the potentiometers.