Quadrature Decoder Circuit

Discussion in 'Homework Help' started by eyecyou2, Feb 6, 2011.

  1. eyecyou2

    Thread Starter New Member

    Feb 6, 2011
    3
    0
    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
     
  2. beenthere

    Retired Moderator

    Apr 20, 2004
    15,815
    282
    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.
     
  3. eyecyou2

    Thread Starter New Member

    Feb 6, 2011
    3
    0
    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.
     
  4. beenthere

    Retired Moderator

    Apr 20, 2004
    15,815
    282
    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?
     
  5. eyecyou2

    Thread Starter New Member

    Feb 6, 2011
    3
    0
    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: Feb 6, 2011
  6. Georacer

    Moderator

    Nov 25, 2009
    5,142
    1,266
    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?
     
  7. Bernard

    AAC Fanatic!

    Aug 7, 2008
    4,170
    395
    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.
     
  8. Bernard

    AAC Fanatic!

    Aug 7, 2008
    4,170
    395
    Sorry, but that will only work if wheel only turns in one direction, if reversals happen, count gets all screwed up.
     
  9. Bernard

    AAC Fanatic!

    Aug 7, 2008
    4,170
    395
    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.
     
Loading...