Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Resolution Issue with 6230?

Hi. I'm having an issue with the (apparent) resolution of my DAQ 6230. I've got a displacement sensor connected to the system (and only a displacement sensor). I'm measuring the sensor in differential mode. The accuracy of the board seems spot on - it matches my oscilloscope reading, for what that's worth. However, I am having difficulty resolving small displacements. For testing purposes, I attached my displacement sensor to a linear stage with a micrometer and measured 50 readings over 5 mm (so 0.1mm intervals), but couldn't resolve any better than 0.016 volts in the signal (which translated to about 0.3mm). This is significantly larger than the stated theoretical resolution of the board (16 bits over +/-10 volts should give a theoretical resolution of 0.0003v - I recognize that this is an unattainable number in practice), which gives me pause. I have already used an oscilloscope to verify that the output from my sensor is smooth (not jagged), which just leaves the board as a potential culprit.

 

After reading through the ANSI C documentation, it appears that all the function calls (i.e. DAQmxReadAnalogF64) can be passed an input min and max; however, this doesn't appear to constitute an actual hard input range (for example, I can input a range of 1v to 4v, which doesn't match any of the input ranges in the specifications document for the 6230). Am I to understand that the DAQmx system is coercing my inputted range to some prescribed input range? If so, is there any way to actually dictate the input range (for example, can I force the board to use a +/-5v  range)? If I can't dictate the range, is there a way to determine the input range to which the system is coercing? Without this information, I'm not sure how I'm supposed to determine the theoretical resolution of the measurement process.

 

I am hoping to resolve 1 millivolt, although anything under 4 millivolts would be acceptable. Does anyone have any suggestions?

0 Kudos
Message 1 of 2
(2,948 Views)

You specify a range for a channel when you call create channel (such as DAQmxCreateAIVoltageChan()).  You'll want to set the min and max appropriately.  DAQmx will use this to choose an actual range.  To use your example, setting the min and max to be 1V and 4V respectively, DAQmx will coerce your range to be +/-5V.  After your task is verified (probably started in your case) you can read back the values to see what they were coerced to.  I believe the C function for this is DAQmxGetAIMax().

 

If you want to know the possible ranges for your device, you can consult the documentation or call DAQmxGetDevAIVoltageRngs().  The ranges for your 6230 are +/-10V, +/-5V, +/-1V,and +/-0.2V.

0 Kudos
Message 2 of 2
(2,943 Views)