Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

Missing counts, USB-6211 with Mitutoyo Linear Gage (542 series)

Solved!
Go to solution

I am using a USB-6211 with a 10mm stroke Mitutoyo Linear Gage (542 series, Model LGA-110). The Mitutoyo has an output similar to a quadrature encoder without the once per rev signal. (B has a 90 degree phase shift from A). The A and B signals are line driver. I have a 2k resistor from 5V to A and another 2K from 5V to B, this gives me a low of 0.05V and a high of 4.75V.

 

The problem that I am having is that I seem to be missing some counts as I cannot ever back to zero.

 

I found if I stroke the gage full range and back to zero slowly in 20 seconds I will get a value close to 180 micro meter. If I depress the gage full range and back to zero quickly in one second, I get a value close to 800 micrometer.

 

If I stroke the gage fast on compression and slower on rebound, I end up with a positive value. I stroke the gage slow on compression and fast on rebound, I end up with a negative value.

 

As I stated before, it seems as I am missing some counts. With a pulse every 4 micro meter, this means I am only getting 2500 pulses per 10mm. This means 10mm per second is only 2500 pulses per second. This seems slow to me, so I don't know what the problem would be.

 

Does anyone have ideas for me to try?

0 Kudos
Message 1 of 6
(5,819 Views)

Thank you for your post. I tried to find the specifications on your device, however I was unable to find the LGA-110 as part of the 542 series.  The closest thing was the LGB series.  I would like to check that the minimum pulse width of your sensor is large enough to ensure the USB-6211 can recognize each pulse.  The USB-6211 can only discretize a pulse width of at least 10 nano-seconds.  Your pulse width must be larger than 10ns to ensure the DAQ device doesn't miss any counts.

 

The second thing that I'm interested in checking is whether or not your device has z-indexing because you are enabling this in you DAQ Assistant task, You are specifying this to be when we receive highs on both lines A and B, at the same time.  Let's double check the specifications of the sensor to ensure that we are using this functionality properly.

 

If you have an oscilloscope, it would be interesting to double check that the device is outputting the correct signal.  This would limit the problem to the DAQ board, and therefore make the problem easier to handle. 

 

Also please check the following devzone to ensure that you are using the proper encoder type for your sensor (X1, X2, X4, or 2-Pulse): http://zone.ni.com/devzone/cda/tut/p/id/7109

Message Edited by CharlesD on 01-26-2009 02:32 PM
Charley Dahan

Global Account Manager
0 Kudos
Message 2 of 6
(5,792 Views)

Charles,

 

Thank you for your help.

 

No, my linear encoder does not have z-indexing. In my desparate attempt to try anything, I must have left that box checked.

 

From the attached documentation, I desided to go with X1 and a distance / pulse of 4 micrometer.

 

Sorry, I do not have an occiliscope.

 

I do not understand how I could have a square wave less than 10ns. From the attached documentation, this shows a square wave every 4 micrometer. With a total travel of 10mm, this gives a total of 2500 squarewaves per stroke. I imagine I would have to stroke this device at much less than a second to get pulse widths less than 10ns. Is my logic correct here?

0 Kudos
Message 3 of 6
(5,777 Views)
Solution
Accepted by topic author dpitcher

With that kind of signal you should not be missing any counts.  The timebase on the USB-6211 is 80Mhz and therefore should have no problems resolving your two pulse trains.  I do have a couple of troubleshooting steps that I would like you to try. 

 

1. Lets ensure that we have wired the inputs correctly to our daq device.  

 

2. lets make sure that we are using either both the non-inverted signals or both the inverted signals.  Do NOT mix either 'type' of signal.

 

3. Lets wire in the A and B signals into two analog inputs and let's try to read in the signals to ensure that the sensor is actually being put out properly by the sensor.  Make sure to sample fast enough -->  10 the frequency of the pulse train.  If you stroke through 10mm in 1 sec --> 2500 pulses per sec --> sampling rate of 25kHz.   Lets check for two things.  First that we have a proper TTL signals,  and that we are getting the proper number of counts.  If you reply to this thread plaese attach a screenshot of this. 

 

4.  Let's try the different encoder types x1, x2, x4 in the DAQ assistant.  The x2 and x4 encoder allows better sensitivity for small motions(which I'm not sure this is the source of your proplem but it will be a good thing to check).  Encoder types are discussed further in the following developer's zone: Quadrature Encoder Measurements: How To?

 

Let us know how it shapes up.

Charley Dahan

Global Account Manager
Message 4 of 6
(5,750 Views)

1.    I have double-checked and it is wired correct.

2.    I have double-checked and it is wired to only non-inverted. The attached screen shots verify this

3.    This seems to show my problem. Attached are screen shots from 25k samples at 25kHz (approximately 10mm in one second).

 

08.tiff shows all 25k samples and the remaining screen shots are zoomed in screen shots of the exact same data. The zoomed in shots show my problem is with my Mitutoyo linear encoder.

Thank you a ton for showing me how to find this problem. If you are ever in the Columbus, OH area, send me an e-mail and I will take you out to lunch.

Download All
0 Kudos
Message 5 of 6
(5,737 Views)
More screen shots
Download All
0 Kudos
Message 6 of 6
(5,736 Views)