Need an IC to read encoder pulses and return direction

OK, I am attempting to build a servo controller on my own to control a servo with a 2000 count optical encoder.

I can’t get the Arduino to work quickly enough to handle all of the data pouring out of the encoder, So I am planning on using integrated circuits on chip to do some of the bull work for me.

Regretfully I’m an absolute clueless moron when it comes to electronics, and need some help from you guys to determine what type and which one of the many ICs to use just for determining direction.

I want to use the output a and the output be begin parenthesis the pulses of the encoder and parenthesis, has regretfully I’m an absolute clueless moron when it comes to electronics, and need some help from you guys to determine what type and which one of the many ICs to use just for determining direction.

I want to use the A and B outputs of the encoder as inputs on an IC, and have that IC output HIGH or LOW depending on which way the encoder is spinning.

Anyone got tips/ chip models/ etc to share for this purpose?

You miss to specify the type of encoder, absolute or relative.

For relative encoders use an edge triggered D type flip-flop, connect one encoder channel to clock and the other one to D, read the direction on Q. But you can do that in software as well, and not slower than a digitalRead(dirPin).

I want to use the A and B outputs of the encoder as inputs on an IC, and have that IC output HIGH or LOW depending on which way the encoder is spinning.

Why?
Because you already know what direction the motor is spinning because your code is controlling the motor.

Sorry for leaving that out. Duh...

Encoder Specs: UNAVAILABLE. Proprietary component.
However...
By testing and by making reference to the engineering handbook for the machine that this came out of I can tell you it is:

5v
Differential signal indexed quadrature encoder.
2000 ticks/rev at base resolution (capable of 8000 ticks per rev if the full quadrature is utilised).
Channels: A, A+, B, B+, Z, Z+.

It is 'known-good' - I have had it up and running and it produces outputs as expected. I just can't track the 2000 pulses fast enough on the Arduino alone.

Need to use ICs for A) Counting ticks and B) Tracking rotation direction.

Am working out which IC to use for A.
This post is to help me determine what IC to use for B.

Grumpy_Mike:
Why?
Because you already know what direction the motor is spinning because your code is controlling the motor.

Wrong.
I can determine DESIRED direction by what I input, and I can know what actual signal the Arduino is sending to the L298N at any given moment - but I cannot actually tell what direction the motor is moving in any given moment without directly measuring it.

Remember, I'm trying to build a servo drive here - which is a feedback loop.

It will take input of desired location, direction, and speed and use that against the real-world measure of location/rotation/speed, and then send movement commands to the motor that will achieve desired location at desired speed on desired rotation.

Which rpm should be taken into account?

MrBinNZ:
Anyone got tips/ chip models/ etc to share for this purpose?

There's this:

http://hades.mech.northwestern.edu/index.php/Using_the_LS7366R_SPI_Quadrature_Counter

Maybe it'll help.

In most applications the Arduino is the IC that counts pulses and tracks position.

MrBinNZ, Did you ever find a discreet component solution to your project? I need the same info from my encoder. Direction Only. High or Low.

dfwilbanks:
MrBinNZ, Did you ever find a discreet component solution to your project? I need the same info from my encoder. Direction Only. High or Low.

See reply #1 for the common method with a single IC.

This is extremely simple to do on an arduino if you have two available input pins and can use one to trigger an interrupt.

MrBinNZ:
It is 'known-good' - I have had it up and running and it produces outputs as expected. I just can't track the 2000 pulses fast enough on the Arduino alone.

2000 pulses in what kind of timespan?

The original post was from over a year ago, so unlikely you will get an answer.

dfwilbanks:
MrBinNZ, Did you ever find a discreet component solution to your project? I need the same info from my encoder. Direction Only. High or Low.

Here is the circuit you need.

The circuit is at 6:04. If you have an optical encoder ignore all to left of 7414 input. Connect encoder A and B to 7414. If your encoder output is clean and short cable you can eliminate the 7414 and go to the CD4013 direct.