Audio/Servo Driver Circuit

by Scary Terry

 

  This is a circuit I've developed to drive a servo using a variety of audio sources. My goal in creating this was for a relatively simple, inexpensive and reliable circuit that doesn't require programming a microcontroller for each individual movement. I've used several of these circuits over the last several Halloweens to provide mouth movements on Bucky skulls and other animatronic heads. They have been a very reliable addition to my haunt. For audio sources I either use inexpensive CD or MP3 players or Winbond Chipcorders. Click here for a variation on the circuit that incorporates Chipcorders. Here's a web page I've put together showing how-to install a servo in a Bucky skull.

As long as there is sound present, the servo will drive to its "max" position. If the sound is short in duration, the servo will not have time to drive to "max" but will drive part way and return to "min" position. While this method of moving a mouth is not perfect, it's pretty good and I'm very happy with the effect. It's important to remember that any sound will drive the servo, voice, music or noise, so if you're trying to make a Bucky mouth move to a voice track, you shouldn't have music in the background of that particular track. There is a way to include music or other sounds and still have the appropriate jaw movement. Jeff Stevens came up with a solution and I include his email at the bottom of this page.

If you have questions or comments, please contact me.

 

 
First of all, if you want to do it the easy way.......
 

Cowlacious Designs offers this circuit as a kit (or completely assembled). Believe me, this is a much easier way to build this circuit than trying to do it from scratch and the kit is only a few bucks more than buying the individual parts. (Note: I am not affiliated with Cowlacious Designs. I have given them permission to use my design, but I make no money from the sale of the product).


   
  Click on the schematic for a pdf version.  
   

  Parts List
 
C1 0.1 uf 50 volt capacitor
C2 10uf 35 volt capacitor (see text below)
C3 0.1 uf 50 volt capacitor
C4 0.01uf 100 volt capacitor
C5 470 uf 35 volt capacitor
C6 0.1 uf 50 volt capacitor
R1 1k 1/4 watt resistor
R2 47k 1/4 watt resistor
R3 5k trimmer pot
R4 47k 1/4 watt resistor
R5 10k 1/4 watt resistor
R6 1k trimmer pot
R7 10k 1/4 watt resistor
R8 470 ohm 1/4 watt resistor
R9 220k 1/4 watt resistor
R10 50k trimmer pot
R11 4.7k 1/4 watt resistor
R12 10k 1/4 watt resistor
R13 10k 1/4 watt resistor
R14 2.2k 1/4 watt resistor
R15 10k 1/4 watt resistor
U1 1458 dual op amp
U2 4066 cmos quad switch
U3 555 timer
D1 1N914
D2 LED
Q1 2N2222 npn transistor
J1 3 pin male jack for servo connection
  Two 8 pin IC sockets
  One 14 pin IC socket
  Audio Connector (your option)
  Power Connector (your option)
  Circuit board (it will all fit on a Radio Shack 276-150 or equiv.)
   

 

Circuit Description From the output of your audio source, the center conductor goes to "Audio In", the outer shield goes to ground. The signal is amplified by U1a whose gain is controlled by R3. You should be able to use audio sources from a line level to a "reasonable" speaker level source and adjust the gain using R3. U1b compares the audio from U1a to a reference voltage set by R6 and sends a switched output voltage through diode D1 to CMOS switch, U2. R6 should be adjusted so that with no signal, LED D2 just turns off. Once a signal is present, R6 can be used to fine tune the servo action. Capacitor C2 is used to smooth the servo operation. I show a 10uf capacitor but have used values as low as 2.2uf depending on need. Lower values make things jerky, higher values slow down the servo action. I recommend experimenting to find out what's best for your situation. You may want to consider just putting in a 0.1" spacing socket in place of C2 so it will be easy to substitute different value capacitors. That's how Cowlacious is shipping their kits now.

U2 is simply used as a switch. In this case, a high on pin 12 closes a switch between pins 10 and 11, triggering the servo driver (actually, it's not a full closure but about 90 ohms of resistance). A high on pin 13 closes the switch between pins 1 and 2, which is what lights the LED. (The LED is optional, but it really makes it easier to make adjustments and insure the circuit is working correctly. If the LED is not used, pin 13 should go to ground). There are two additional switches that may be used in this IC, pin 5 controls the switch between pins 3 and 4, and pin 6 controls the switch between pins 8 and 9.

The circuitry surrounding U3 is the servo driver. In its original form, the circuit was a "servo tester". I've made some modifications to make it suitable for this application. Variable resistor R10 sets the starting point of the servo, so at one extreme, the servo will start at 0 % and go all the way to 100% while at the other extreme, the servo will start at 99% and go to 100% of its travel. Capacitor C5 helps to keep the power supply stable during servo operation. J1 is the connector for the servo.

This circuit, without a servo attached, only draws about 2 ma, but actively driving a servo, draws around 600 ma. I'd recommend a 5 volt power supply of at least 1 amp. I've found good sources for this type of supply to be MPJA and All Electronics.

My favorite place to purchase servos is ServoCity. They've got good prices and I've never had any problems with their service. My current favorite standard servo is the Hitec HS-425BB. With dual ball bearings and nylon gears, it's a good compromise between performance and price.

I've had a report of one guy driving seven servos off the one circuit and it worked fine. The important thing to keep in mind when driving multiple servos is that you need a power supply that will handle the combined current of the servos.

 

 
For reference, here are part numbers and prices for DigiKey, taken from their web site 10/2007.
Part DigiKey number cost each Total
C1,C3,C6 P4593 1.29/10 1.29
C2 P1187 0.24 0.24
C4 P4797 1.16/10 1.16
C5 P10301 0.72 0.72
R1 1.0KQBK 0.27/5 0.27
R2, R4 47KQBK 0.27/5 0.27
R5, R7, R12, R13, R15 10KQBK 0.27/5 0.27
R8 470QBK 0.27/5 0.27
R9 220KQBK 0.27/5 0.27
R11 4.7KQBK 0.27/5 0.27
R14 2.2KQBK 0.27/5 0.27
R3 AAS53CT 0.50 0.50
R6 AAS13CT 0.50 0.50
R10 AAS54CT 0.50

0.50

U1 LM1458NFS 0.55 0.55
U2 CD4066BCN 0.51 0.51
U3 LM555CNNS 1.24 1.24
D1 1N914TRCT 0.05 0.05
D2 67-1110 1.15/10 1.15
Q1 PN2222AFS 0.11 0.11
8 pin ic socket ED3108 0.45 0.90
14 pin ic socket ED3114 0.79 0.79
J1 WM4001 0.33 0.33
Circuit Board Radio Shack 276-150 1.99 1.99
TOTAL     14.42
 

  As I mentioned at the beginning, the servo will respond to any sounds it's given, so if you have a voice track with music in the background, the servo will not only respond to the voice but the music as well. Jeff Stevens had a way to solve this problem and here is his email to me.....  
  Dear Scary-Terry, I am writing you about a new method for using your audio-servo driver. Here’s how you do it. First, you record your sounds on a two channel cd and player. On one of the channels have the voice and all other audio effects that you want people to hear, such as music or thunder etc. On the other channel, whether it is the left or right it doesn’t matter, you record the sounds that you want to drive the audio-servo driver. You connect this channel to the audio driver. You then use a y-splitter to take the first channel, the one you want people to hear, and connect it to both channels on the amplifier or amplified speakers. You now have the ability to have music without it activating the skull. The effect sounds stereo because it is coming out of two speakers, but both are playing the same thing. That is the only disadvantage. Let me know what you think. -Jeff Stevens  

  Halloween Home last updated 4/2008