View Single Post
  #2   Spotlight this post!  
Unread 18-01-2006, 20:57
Joe Hershberger Joe Hershberger is offline
National Instruments
AKA: jhersh
FRC #2468 (Appreciate)
Team Role: Mentor
 
Join Date: Nov 2005
Rookie Year: 1997
Location: Austin, TX
Posts: 148
Joe Hershberger is a name known to allJoe Hershberger is a name known to allJoe Hershberger is a name known to allJoe Hershberger is a name known to allJoe Hershberger is a name known to allJoe Hershberger is a name known to all
Re: Turning a gear-tooth sensor into a quadrature output encoder

Quote:
Originally Posted by Abwehr
Hi,

Given the problems I've had writing working code for direction sensing with the hall-effect sensors in the kit (and apparently Kevin Watson is having the same problems), I was wondering if there was some kind of very simple circuit I could build that translates the different pulse widths into a single digital channel (if 0, forward, if 1, reverse), thus making the programming identical to that of to that of a quadrature encoder.

What about an independently-clocked counter IC? The rising edge of a pulse starts the counting, the falling edge stops it. You could then read the count line corresponding to the highest power of two that differentiates the two types - if you get zero you have a short pulse, if one you have a long one.

I.e. get an 8 bit counter (0-255). Start a count on rising edge. Use an external clock of 1MHz to increment the counter after that. Stop the clock on falling edge. Now read bit 5 (2^6 = 64). If bit 5 is 1, you have been counting for at least 64usec and you know your direction. After reading, simply reset the counter to 0.

Or, is there a way to translate from pulse widths to an analog voltage (like the analog-to-PWM conversion in the RC in reverse?)

My expertise is more in software, so someone with a mind in hardware would probably have a better idea.
If you are interested in an external part, you'd probably be best of with a small microcontroller to handle it for you. Then you can write more software.

-Joe