LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

augular encoder

Solved!
Go to solution

Hi,

 

I am using CI angular encoder to get the angular position signal.http://zone.ni.com/devzone/cda/epd/p/id/194

 

I am using NI9411 to connect A,B, and N three pulses and use the counter of chasis 9174.

 

The result is alway 0.

 

But it is working with regular counter.

 

Thank you for your help in advance

 

0 Kudos
Message 1 of 12
(3,554 Views)

After restart the computer, I get some result. the number jump among 7.5, 0, and -7.5.

 

I have set the unit as degree, so I am expecting some result like 5,10,15,.....,360, 5, 10,....

 

Correct me please!

0 Kudos
Message 2 of 12
(3,542 Views)

First thoughts: Do you have the proper excitation voltage going to the Encoder? Are you certain your encoder is a quadrature encodre? Do you have the correct counts per revolution for this encoder? Some info on the encoder you are trying to use would be helpful as well as how you have it wired to the 9411.

 

0 Kudos
Message 3 of 12
(3,532 Views)

Thank you. There are more details:

 

Do you have the proper excitation voltage going to the Encoder?

 

yes, The encoder(hardware sensor) is working. it has 24V signal. A, A*, B, B*, R, R*.

 

 Are you certain your encoder is a quadrature encodre?

 

Yes. A pulse is 90 ahead of B pulse. They are sine waves.

 

Do you have the correct counts per revolution for this encoder?

 

when I use regular counter(counting rising edge), the count doubles per revolution. I guess the regular counter(counting rising edge) counts both A and B pulse. Then I switch to angular encoder counter.

 

Some info on the encoder you are trying to use would be helpful as well as how you have it wired to the 9411.

 

A --DI0a pin1

A*--DI0b pin9

B --DI1a pin2

B*--DI1b pin10

R --DI2a pin3

R*--DI2b pin11

 

I am using ctr0

 

0 Kudos
Message 4 of 12
(3,518 Views)

The wiring is as follows:

 

A --DI0a pin1

A*--DI0b pin9

B --DI2a pin3

B*--DI2b pin11

R --DI1a pin2

R*--DI1b pin10

0 Kudos
Message 5 of 12
(3,512 Views)

That does not sound like a quadrature encoder to me. Digital encoders should have square waves. If you see sine waves you have either a resolver or an analog encoder. Do you have a manufacturer and model number for this thing?  

0 Kudos
Message 6 of 12
(3,510 Views)

only square wave can be refered as quadrature signal?

 

the angular encoder and linear encoder module in Labview is only design for 0,1 square wave?

 

The signal from my encoder is -24V to 24V sinewave(at least the manual said so)

 

 

0 Kudos
Message 7 of 12
(3,504 Views)
Solution
Accepted by topic author IvyWang

That is most definitely analog. NI only supports digital encoders. You will need to either make your own interpolator in RealTime or FPGA with a cRIO or PXI or you will need to get a card from the manufacturer like these from Heidenhain:

 

http://www.heidenhain.com/en_US/products-and-applications/measured-value-acquisition-and-display/int... 

 

I would opt to find a PCI card or reader if I were you. Usually the manufacturer will have one available.

 

Message 8 of 12
(3,498 Views)

How about regular edge counter?

 

If I don't change my wiring, and use ctr0 to count the rising edge. The result is not what I expected either.

 

There are 1024 pulse per revolution, the counter value would be around 4000

0 Kudos
Message 9 of 12
(3,493 Views)

It will not work. You need to read up on sin/con encoders. The counts are measured by amplitude, not edge. Using a counter will not work. I wish NI made an off-the-shelf resolver/syncro/analog reader. Maybe if we all scream enough someday they will. For now you either need to do some coding or use a 3rd party reader.

0 Kudos
Message 10 of 12
(3,489 Views)