Newsgroups: comp.robotics
Path: brunix!news.Brown.EDU!agate!howland.reston.ans.net!cs.utexas.edu!uunet!news.tek.com!tvnews!soul.tv.tek.com!johnr
From: johnr@soul.tv.tek.com (John Reynolds)
Subject: Re: idea for shaft encoder feedback
Message-ID: <1994Feb4.230614.3653@tvnews.tv.tek.com>
Sender: news@tvnews.tv.tek.com (news user)
Organization: Tektronix TV Products
References: <2iombo$7vu@news.iesd.auc.dk>
Date: Fri, 4 Feb 1994 23:06:14 GMT
Lines: 31

In article <2iombo$7vu@news.iesd.auc.dk> sk@goya.vision.auc.dk (Steen Kristensen) writes:
>Hi robot-builders,
>
>I just happened to come across a very nice idea in Electronics
>World + Wireless World for shaft encoder feedback on robot
>DC-motors. 
>
>The whole trick is to sense the supply voltage of
>the DC-motor and run it through a high-pass filter and an
>op-amp, and voila you've got nice velocity feedback.
>

Another way to sense motor velocity is to directly measure the motor's back EMF
while its running.  This requires that you drive the motor with a PWM signal
that has a minimum off time. You put a diode between the PWM driver and the
motor and while the PWM driver is off (not supplying current to the motor),
you measure the voltage across the motor's terminals.  This voltage is directly
proportional to the motor speed.  

I built a model railroad controller that used this technique to measure the
speed of a locomotive.  Key components were a 6502 and an AD7584(?) 8-bit ADC.

BTW, the reason this works is because the DC motor continues to spin even
when the PWM driver is off (due to inertia) and the motor acts as a generator.
The series diode prevents the PWM driver from loading the motor/generator 
while the ADC makes its voltage measurement.


John Reynolds
Tektronix TV Division
Beaverton, OR
