Quadrature Decoder Circuit

Thread Starter

eyecyou2

Joined Feb 6, 2011
3
Hello everyone, I am working on a project for school and am extremely stumped at one part.

We are supposed to make a quadtrature decoder circuit that will also increment or decrement a count based on rotation direction. this count will be displayed on a seven segment display (binary to hex decoder circuit provided with display).

My problem is that the display should only be updated with a new count for every cm the wheel rotates (diameter = 20cm). The encoder generates 128 pulses/revolution. From this i have calculated that the display only needs to be updated every 8 or 9 pulses. How do I accomplish this?

I have a limited supply of IC's:

4xNAND - 4
4xNOR - 4
hex inverter - 2
schmitt hex inverter - 1
4xAND - 2
4xOR - 2
dual d-flip flop - 2
dual JK flip flop - 2
up down counter -1
asynchronous decade counter -1
asynchronous binary counter - 1

i also have at my disposal a limited supply of capacitors, 1kΩ resistors and LED's
 

beenthere

Joined Apr 20, 2004
15,819
You might look into how an old ball mouse was able to track motion in both directions. That should let you see how to determine shaft rotation.

After that, it's incrementing or decrementing a counter.
 

Thread Starter

eyecyou2

Joined Feb 6, 2011
3
Right, but for a mouse they want to track every degree of wheel rotation to get the most accurate position possible. i only want to increment or decrement the counter for every 1cm of wheel movement.
 

beenthere

Joined Apr 20, 2004
15,819
The principle of using signals in quadrature to determine the direction of shaft rotation is the same. As you stated, you only need 20 pulses per rotation.

Why not start with that part of the problem?
 

Thread Starter

eyecyou2

Joined Feb 6, 2011
3
well actually i need 20∏ pulses per rotation because the circumference is what we want to track. so how do i turn a 128 p/rev encoder into roughly a 62 p/rev?

*edit*
using only external gating
 
Last edited:

Georacer

Joined Nov 25, 2009
5,182
As you said you want to have an action every 8 or 9 pulses. A 4-bit counter rigged to reset in the right count number will do for that part. Do you know how to do that?
 

Bernard

Joined Aug 7, 2008
5,784
Do you have two outputs from the decoder? If so divide both channels by 8 or 9 before detecting rotational direction. See AAC Volume 4 ch 11, esp last part of 11 for decoder.
 

Bernard

Joined Aug 7, 2008
5,784
Do you have two outputs from the decoder? If so divide both channels by 8 or 9 before detecting rotational direction. See AAC Volume 4 ch 11, esp last part of 11 for decoder.
Sorry, but that will only work if wheel only turns in one direction, if reversals happen, count gets all screwed up.
 

Bernard

Joined Aug 7, 2008
5,784
Something slid by- 20 cm dia = 62.8312+_ cm circumfrence, so at 128 counts per rev is 2 + change counts /cm of circumfrence. Does the encoder have a home position sensor brought out? After decoding count & direction, divide count by 2 and feed into up-dn counter.
 
Top