Newsgroups: comp.robotics
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!uhog.mit.edu!sgiblab!ga!news
From: sbailey@sensemedia.net
Subject: Re: PC to control servos
Content-Type: text/plain; charset=us-ascii
Message-ID: <1995Jun14.190824.15099@novell.com>
To: payman@hookup.net
Sender: news@novell.com (News Administrator)
Nntp-Posting-Host: sbailey_pc1.scv.novell.com
Content-Transfer-Encoding: 7bit
Organization: Novell, Inc.
References: <payman.25.2FD8D37C@hookup.net>
Mime-Version: 1.0
Date: Wed, 14 Jun 1995 19:08:24 GMT
X-Mailer: Mozilla 1.1N (Windows; I; 32bit)
Lines: 45

Payman

Well, RC servos are easy to use and hook up.  In reading the other 
responses, there appears to be a board to do it, but you can do it 
straight from you parallel port with some clever software.  Most common 
RC servos (I am familiar with the Futaba ones) use a 20 millisecond TTL 
period with a 1 to 2 millisecond high controlling the position and 18 to 
19 millisecond low.

Futaba servos control signal:
    ___ ...                                              ___
   |   |  .                                             |   |
 __|   |__._____________________________________________|   |____
    1 to 2 ms width pulse goes from full CCW to full CW rotation
    20 ms pulse to pulse.

With one of the PC's internal timers cranked up, it is possible to 
control eight servos from a common parallel port with nothing but a 
simple TSR interrupt service routine and a cable.  In fact power can be 
pulled from the disk drive power connector and the PC can run all servos 
directly with no additional hardware.  The only down side is that the PC 
wastes some processing power servicing the interrupt handler.  If you 
need some help with the techniques for writing the TSR, send me a note 
and I'll see if I can send some helpful excerpts to get you going.  <some 
Assembly required> <G>

By the way, I have experimented a little with force feedback using RC 
servo current draw.  It is possible to set up a fairly simple current 
shunt and 8, 555 timer chip type AD circuits which can feed back into the 
same parallel port and be monitored by the same service interrupt.  This 
of course requires a bit of external circuitry and a bi directional 
parallel port, but can add some sense of force feedback, servo stall 
indication, as well as target position achieved and servo idle load.  I 
have considered opening up the servos and hooking onto the position 
potentiometer, but have resisted the temptation.  If I do that, I will 
probably discard the servo control electronics and drive the motor 
directly and only use the position potentiometer and gear housing 
assembly.


Have fun,

Stew Bailey (sbailey@sensemedia.net) or (sbailey@novell.com)


