First of all, we have to be sure that your encoders are correctly configured. Did you try to contact Micro Epsilon? Maybe they could give you some advice regards to correctly configure your system. Then after verified this, we can perform the next step in evaluating your problem.
I would like to express my bewilderment for the problem I had and I still have.
It has been more than one month from my first post. From my side, I didn't put so much pressure on the NI technical support bacause I was busy with lots of other stuff, but also from your side I got no useful advice. Now the time to have everything working properly is getting closer. The setup has to be ready in one week. I will appreciate any suggestion from you.
Thanks a lot.
My only past experience with a similar asymmetric counting behavior was tracked down to the following 2 issues:
A. Poor ground referencing. The screw terminal was clamping the power supply's ground reference on the insulation rather than the conductor.
B. The power supply had been set at too low a current limit. With the system running and the current limit kicking in, the voltage dropped down to less than 4 volts.
We didn't observe consistent differences when counting in opposite directions, but we *did* see a tendency for the count to drift in a specific direction. So it's kinda sorta similar. So my best guess at this point is to *really* check out your digital ground consistency among DAQ board, power supply, encoder, whatever else. Take ohm measurements with the DAQ cable disconnected from the board and with the power supply off to make sure you have good ground contact. (Sometimes a voltage measurement may "happen" to read 0V potential even if there isn't truly a good grounding connection.)
There's still a bit of uncertainty over whether A and /A are TTL inverses of each other or whether they are a differential pair. There are a variety of types of differential, some of which operate between 0V and 5V and are said to be TTL-compatible. I've had past experience where I wired that kind directly into counter inputs and they seemed to work fine. It got me through some quick-and-dirty testing, but I wouldn't advise relying on it for the long haul.
I was just in a very recent thread where the poster used a neat technique that *appears* to solve the E-series problem of miscounts during direction change / vibration. He hooked up A & B for the directional event counting on counter 0 and hooked up /A and /B the same way on counter 1. Then he summed the count values of the two counters in software. The result *appears* to be a good 2X quadrature reading. That means you increment by 2 counts per full cycle of quadrature. I sketched up a little timing diagram for myself, and am tentatively convinced that his scheme handles direction changes and vibration.
Hopefully, something here will help.
Hi, it's been a year or so that I'm working with labview real time and this forum has been very helpfull
I have the same problem as Marco: my quad-encoder with TTL signals, mounted on a brushless motor, is read by a PCI-6024E (E-series) and the counter doubles the counts in a direction while the other is ok.
Was this problem solved in some way? is there a way to read this encoder?
I also have an M-series and there's no problem with the same encoder, so i'd say, is there something wrong in the VI? I'm using this:
I put channel A in the source (pin37 - PFI8) and channel B in the up/down (pin 16 - P0.6); in a DGND i put the reference ground.
Their specs are TTL with 20mA per channel.
I checked a hundred times if everything was ok with screws and wires.
I even uses 2 analog inputs to read this channel and at low speed of motor (as the DAQ can reach 1khz maximum) and i count the rising edges just like the NI vi should do. My counter is right, the NI counter is wrong, as it doubles the counts.
So the wiring is ok, any one as an idea of where there could be something to fix?
Then, how can i use the A\ and B\ to create a sort of X2? I can't see the VI linked in this thread. Labview says that something is missing...
Thanks for any suggestion,