[ale] [Almost totally OT] Rotating hardware interface.

John Mills johnmills at speakeasy.net
Fri Dec 3 11:43:21 EST 2004


Joe -

On 1 Dec 2004, Joe Knapka wrote:

> The OFF-topic bit is that interfacing the parallel port to the
> spinning gizmo presents a mechanical engineering problem that I'm
> having trouble solving effectively, and I don't know where to begin
> looking for the "right" answer. The angular velocity is on the order
> of 300 RPMs. At the moment, for proof-of-concept, I've got the I/O
> pins on the spinning thingy connected to some 22-gauge wires that just
> crudely wrap around the motor shaft, and another jury-rigged set of
> stationary brushes (also made from 22-gauge wire) that make annoyingly
> intermittent contact with those loops, and to which the parallel port
> is connected. It kinda works, but it's not very reliable, and the
> crappy brush mechanism places a noticable mechanical load on the motor
> (RPMs decline significantly when the brushes are in contact with the
> loops, even though the motor power supply is completely isolated from
> the power source driving the electronics).

As a once-and-future machinery controller, ...

First, I wouldn't expect any home-made slip ring assembly to last long,
expecially at 300 RPM. Go looking for surplus materials. (I used to find
such at Servo-Systems [http://www.servo-systems.com]; they only list
stepping motors on their current web page, but it might be worth a call
(440-779-2780) to see if they have any suggestions. (It's been a while 
since I was in this business!!) In a _far_ earlier life I haunted Eli 
Heffron and Sons in Cambridge, MA [http://www.eli.com] - they seem to sell 
primarily computers now, but again a call (617-547-4005) might turn up a 
lead.

Second, Keith is dead on-target about serializing the data. The fewer
contacts, the less noise and maintenance by some large exponential factor.  
National Semiconductor used to build i.c.s that would 'image' a number of
parallel lines (bidirectional IIRC, and they could be daisy-chained for
more numerous signals) over a few serial connections (one signal-pair each
direction, plus a clock or two, probably). If you only need 8 signals
(plus a couple of On/Off or hand-shake liness), a pair of ordinary
U[S]ARTs might be fine. You can really take that 'S' seriously and use
them in synchronous mode, pretty transparently.

You can assign some microcontroller [think PIC?] to handle the signals and
use some simple byte protocol over its serial I/O.

You probably[!!] need some filtering/debouncing/conditioning if you go
through spinning mechanical contacts. Modulation, filtering, or digital
shift/sum registers can do this, or use latches with large hysteresis on
their inputs. (See someone's design manual on linear and/or interface
i.c.s.) The parallel/serial/parallel components usually make some
provision for this; if you code up some kind of 'bit-banger' port [think
PIC?], the filtering can also be coded-in.

You may find some optical couplers -- that would reduce or eliminate the
bounce and wear problems. I'ld give this a _serious_ shot [maybe
Digi-Key??]. Then you only have to get power through the rings, and DC
power is [relatively] easy to filter.  Likewise, rotary tranformers
cleanly pass modulated AC, and you might find some of those surplus.

There's always a tradeoff of
quantity/performance/bandwidth/service-life/size/cost in this type
problem, but you didn't give any guidance for that.

Maybe those thoughts will kick off someone else's gray cells and you'll
get better and more specific suggestions.

Bottom line: if it has to last, the solution is probably non-trivial.

DISCLAIMER: IT'S BEEN A LOONNNGGG WHILE SINCE I DID THIS!!

 - John Mills
   john.m.mills at alum.mit.edu





More information about the Ale mailing list