Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Find index with a linear encoder does not work

I have a NI 7334 motion card and linear encoder by heidenhain under LV 7.0 and NI Motion 6.1.3. The hardware (seems to) work fine.
But the find index function does not work. Nor switching on or off the smart enable nor the closed loop feature will work. The running stepper motor (and encoder) ignores the index signal (shown on the oscilloscope). The tips in the NI knowledge base (e.g. Document ID: 2IL8MHNV) did not help.
Does anyone have a good idea?
0 Kudos
Message 1 of 5
(4,112 Views)
I'm using a HeidenHain RON 275 (angular) with a PCI-7342 without any problem.

Which type of encoder are you using and how do you interface it ?
See attached screen capture of my interface.

Or there is something wrong in your software...
0 Kudos
Message 2 of 5
(4,112 Views)
We use the original Flex Motion VIs written by NI.
Our encoder is a LIDA 171C. I think that our problem has to do with the signals.So we have only 1 m cable length at this moment, we do not use an amplifier. But the two wire cable has an 120 Ohms load and we use the inverted Ua1 and Ua2 signal and for Index the inverted Ua0 output.
I'm quite sure that our hardware interface generates the same signals as described in your schema.
One difference to the example given by NI is, that index level is already low if A and B signal is getting low and stays a little longer at low level. In our case (Heidenhain) the inverted Ua0 is only low exactly at the same time that inverted Ua1 and Ua2 are low. If NI-7334 triggers at high low transit of A or B, it might mi
ss the information of Index input.
I do not know about zero mark at the rotary systems of Heidenhain, but I think they have a narrow pulse too, lasting only a quarter of pulse length of A signal period.
0 Kudos
Message 3 of 5
(4,112 Views)
We had similar problems with rotary encoders (not from Heidenhain). We were still using FlexMotion v5.x at that time. It finally turned out that it was a phase relationship problem since v5.x does not allow for setting the phase conditions for A, B and index channel as v6.x does.

However, maybe there is a general problem with your drive. Which stepper motor resolution do you use? If one (micro)step of the drive is more than one full step of encoder output, i.e. if the step resolution of the drive is bigger than the resolution of the encoder, the drive will run across the index mark (and you will see it on the scope, too) but FlexMotion will not recognize it. The drive will 'hop' across the index mark since in most cases it lasts only as lon
g as one full encoder pulse or is even shorter. Step resolution of the motor should always be smaller or just equal the encoder resolution.
0 Kudos
Message 4 of 5
(4,112 Views)
The last condition is true in our system. The phase conditions were indeed our problem, the polarity of the A and B signals. Now it works fine. THX
0 Kudos
Message 5 of 5
(4,112 Views)