Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

how to find the velocity of an incremental encoder

Solved!
Go to solution

, i'm using RE22I encoder which can give upto 8192 counts per revolution, i have A,B,Z signals I'm using an fpga as a controller please help me.

how to find velocity of the encoder using these signals i'm having a sysytem clock in the fpga will it be useful.

0 Kudos
Message 1 of 4
(7,288 Views)

What part do you not understand?  Asking specific questions generally gets better and more prompt answers.

 

Can you get the signals into the fpga?

Do you know how to decode A and B to produce a step and direction?

Is your velocity result noisy?

 

Other?

 

Lynn

0 Kudos
Message 2 of 4
(7,272 Views)

@johnsold wrote:

What part do you not understand?  Asking specific questions generally gets better and more prompt answers.

 

Can you get the signals into the fpga?

Do you know how to decode A and B to produce a step and direction?

Is your velocity result noisy?

 

Other?

 

Lynn


I don't know how to decode A & B,

in data sheet it is written that it can give 8192 counts per revolution (13 bits).

what does that mean, will it give 13 pulses on A & B per revolution,

in data sheet there is also another channel Z, when I study about that I've known, it will pulse for every revolution, can I count that signal to find velocity of encoder?

(if I can find velocity using Z channel then what is the use of A & B channels, sorry if it seems silly)

I have to find velocity and direction of the encoder(RE22I) shaft.

Thanks for your reply.

 

0 Kudos
Message 3 of 4
(7,267 Views)
Solution
Accepted by topic author shag

Start by looking at the information on Wikipedia on Rotary Encoders and an NI white paper on encoders.  These articles will give you a basic understanding of the encoder and the signals it produces.

 

With appropriate decoding you can get the direction and a pulse each of the 8192 points on your encoder.  If the shaft can reverse direction (even vibration over a single point while mnearly stationary), the full decoding should be used.  If the data is only of interest while the shaft is rotating in one direction and the speed does not go near zero, a simpler decoding can be used.  Decoding a quadrature encoder is a good way to learn how to use a state machine.  The A and B signals can exist in only four possible combinations, but the possible transitions make things interesting.

 

Defining the deconding is a purely logical exercise and coding it in LabVIEW as a state machine is straightforward.  There are examples, Desing Patterns, or Project Templates (depending on your LV version) which come with LV to help you get started.

 

USing the A and B channels you can update your velocity calculation 8192 times per revolution.  Using Z you only get one update per revolution. Which you use may depend on your application.  The Z pulse also is useful to define a position reference for phase angle measurements.

 

Lynn

Message 4 of 4
(7,255 Views)