I am trying to use a qudrature Encoder to read the current position of a servo motor (Minas A5). The encoder is a differential ecoder as far as I can tell, because there are positive and negative outputs for the phases A and B (see Picture below)
Unfortunately the Quadrature_Encoder.VI I am using does not work. It does not recognise and count the number of counts.
I dont really understand why. Hopefully somebody can help.
Below I will attach the VI.
Thanks in advance for the help.
What are you using for data acquisition? The DAQ card may not be compatible with the VI. Only some of the cards available can do quad encoder.
I am using a FPGA Card and the NI9375 Digital Input/Output Module
Is this Module also compatible with the example VI?
Do I have to put the Encoder on the Real-Time or on the FPGA?
I have tried it, but the Encoder does not count.
Below are Screenshots of the Encoder built into our FPGA VI as a SubVI.
Thank you 🙂
It doesn't look like the NI9375 has high speed counters. You are going to need a card that has at least 2 high speed counters to set it up as an quad encoder.
thank you for the answer.
I will order a new NI9411 Module.
It should work with that right?
Is the VI correct?
You are using obsolete hardware. Here is my suggestion to know if you can do what you are trying to do:
Open NI Max and try to create a global virtual channel:
Right click and add channel:
Choose counter input and position or angle depending on what you are trying to set up. It should show you the available channels if you have any. You can create a simulated device that is compatible with you system and check until you see the channels that you need. Once you create the channel it will ask you to set up the quad encoder.
This would be the best way I know to make sure you are getting something that will work.
It says, there are no supported devices found. Also not for any other functions like Analog Input,....
But we know, that it is possible to in and output Volages via a NI9263/ NI9215 Module.
Do I first have to create any Virtual Channels?
If so, how do I do that?
Sorry, I am still very new to LabVIEW.