Newsgroups: comp.robotics
Path: brunix!news.Brown.EDU!qt.cs.utexas.edu!cs.utexas.edu!csc.ti.com!tilde.csc.ti.com!mksol!strohm
From: strohm@mksol.dseg.ti.com (john r strohm)
Subject: Re: How to control hobby servo with computer ????
Message-ID: <1993Feb15.201114.3939@mksol.dseg.ti.com>
Organization: Texas Instruments, Inc
References: <369@gouche.UUCP> <TPgTyB2w165w@sys6626.bison.mb.ca> <15FEB199310312808@rosie.uh.edu>
Date: Mon, 15 Feb 1993 20:11:14 GMT
Lines: 40

In article <15FEB199310312808@rosie.uh.edu> st1zx@rosie.uh.edu (Sanborn, Chris) writes:
>>                Remember, all you really need to control servos is a 
>>control pulse width between 580 and 3000 micro-seconds, oh yeah, and a 
>>clean pulse would help as well.
>> 
>
>	I'm also interested in information and schematic's regarding a
>servo-controller board.  Could you please post or send to me some further
>information.  It would be greatly appreciated.

RC servo control is really simple.  There are three wires: +5V, ground, and
the control signal.  The control signal is a pulse train, idling at ground,
going to +5 (nominal) for 1-2 msec, and returning to ground.  How long it
sits at +5 controls the output servo position.  1 msec or so is hard over
to one end of the control range.  2 msec is hard over the other way.
Linear scale in between.  I have used a breadboarded 555 astable, running
at NOMINALLY 20 Hz, and it works fine.

Things to be aware of: The servo puts all kind of junk onto the power bus.
Use a big capacitor across the servo +5 and ground lines (220 uF worked
for me).  The motor currents are high: 250 mA for full-rate drive, 500 mA
if the servo is "buzzing" (servo buzz is caused by control system
instability, which is USUALLY caused by the control circuit getting sick
off of the motor noise: see 220 uF above).

One of the Radio Shack Forrest Mims notebooks will teach you enough about
555 circuits to duplicate the above results in an hour or so, after you
have a servo and have chopped a pigtail lead to get access to the wires.

Biggest hassle is servo connectors.  There are about a dozen different
connectors in use, all mutually incompatible.  Pick one and stick with
it.  (I like Airtronics.  Late-model Futaba is also common.)  Best bet
might be to buy a bunch of servos and convert the connectors all at once.

One other thing: You want a reasonably clean pulse, but you don't need or
want ultra-square edges.  The servo is out at the end of the wires, and
it is heavily bypassed.  Depending on your installation, ultra-square edges
may cause more trouble than you would get by keeping the rise/fall times
slower.  Again, I have used the raw output from a 555 and it worked.

