Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Unity gain buffer on AI lines

I have a PXI-6255 which is being used to read sensors with high 2kohm impedance. Because of the high impedance, I am observing 'Ghosting'. To solve this, I will need unity gain buffers on all the 80 AI lines.

 

Does there exist any 'TBX-68'-equivalent breakout boards with unity gain buffers on all the AI lines?


1) If yes, Where to find it?


2) If no, I will need to make it myself. In that case I probably need 

  (a) 68-Pin Male Connector

  (b) Screw terminals for connections: Anyone knows about the screw terminals that NI uses? Where can I buy them from?

 

3) Does NI provide the PCB layout file for 'TBX-68'. It will be helpful while I design my own breakout board.

 

Thanks,
Vikash

0 Kudos
Message 1 of 51
(7,499 Views)

Hi Vikash_Kumar,

 

I wanted to provide you with a helpful KnowledgeBase article that we have on ‘Ghosting’ with data acquisition devices (if you have not already found it).

How Do I Eliminate Ghosting From My Measurements?

 

1.) I currently am unable to find a breakout board that includes unity gain buffers on all AI lines.

 

As for the rest of your questions I will keep looking on my end.

Sam Burhans
Senior Product Manager
National Instruments
0 Kudos
Message 2 of 51
(7,455 Views)

Some additional information before I ask more questions:

 

  • NI device in use: PXI-6255
  • Sampling rate: 9kHz
  • Transducers impedance: 2kohm
  • Number of channels being sampled: 80

 

1) Does adding a dummy channel in-between (as recommended in the above knowledgebase) equivalent to increasing the interchannel delay? I understand that these two are two different things. In former case, you are asking DAQ to read the same measurement twice thus reducing the voltage swing between two subsequent channels, resulting in a more accurate readings. While in later, you are spacing the readings further apart in time. Do they have similar effects? Is one preferred over the other.

 

2) I am using C drivers for my application. How do you programatically create virtual channels using the C API? (I have way too many sensors to do this manually using Max or other similar options)

 

3) Using C API, how to properly order and interleave dummy virtual channels between real channels connected to a high impedance transducer?

 

4) Using LM2902N, I implemented a unity gain buffer by connecting the op-amp's output to its inverting input, and connecting the signal source to the non-inverting input and then I am sampling op-amps output using NI-6255. But this doesn't seem to eliminate ghosting. Do you see anything off here?

 

LM2902n.png

0 Kudos
Message 3 of 51
(7,441 Views)

Vikash_Kumar,

 

1.) Adding a dummy channel, as recommended in the KnowledgeBase article I provided above, effectively invokes the same principle as increasing the interchannel sampling rate. The prior statement is true as long as the sample time of the dummy channel and the increased time between the channel sampling is equivalent.

 

2.) Are you using the same hardware clock for some or all of your sensors? It is possible to build a virtual channel with more than one physical channel. If every task is going to be different you could just use a for loop to programmatically create the virtual channels.

 

3.) I have never used a dummy virtual channel myself, but in the KnowledgeBase article it seems that it is a completely different virtual channel name that references the same physical channel.

 

4.) Your wiring seems to be correct according to the diagram. What are the voltage levels that you are measuring with your sensors?

 

If you sample only one connected sensor, do the channels in proximity to this sensor’s physical channel read a voltage?  

Sam Burhans
Senior Product Manager
National Instruments
0 Kudos
Message 4 of 51
(7,419 Views)

1) Makes sense

 

2) Yes I am using same hardware clock for all my sensors and sampling them all using one task. I guess my question was:- what is the C function that can be used to create virtual channels and specify where do they connect.

 

3) Does that mean the order in which I am adding the channels to a task is the order in which they will be sampled ? So I'll essentially do something like this ?

for i=1:n

{

   add ( taskhandle, real [i]) 

   add ( taskhandle, dummy[i]

}

 

4) Voltage levels 0v -10v.

 

Yes they do read the voltage. If you leave the next channel floating, It reads a value equal to the previous channel ( which is fine). If connected to the next sensor, it reads the next sensor + the ghosting (~ 0.8 v) from previous channel 

 

 

Vikash

0 Kudos
Message 5 of 51
(7,410 Views)

Vikash_Kumar,

 

2.) Here is the online NI-DAQmx C Reference Help that should show you all the ANSI C functions for the NI-DAQmx API.

 

You will want to use the DAQmxCreateAIVoltageChan function and you can specify multiple physical channels with this function.

 

3.) You are correct, the order the channels are added to the DAQmx Task is the order the data will show in the array when you call a DAQmx Read function.

 

4.) How are you signal sources grounded and what terminal configuration are you using for your data acquisition task?

Sam Burhans
Senior Product Manager
National Instruments
0 Kudos
Message 6 of 51
(7,393 Views)

I am using "DAQmx_Val_NRSE'' configuration. I am using AIsense to provide the ground reference to the DAQ.

0 Kudos
Message 7 of 51
(7,388 Views)

 

Here are the effects of changes in a channel (NI-AI0) on the channel next to it (NI-AI1).

 

Note: 

1) Channel NI-AI1 was held at a fixed voltage in each experiment. (but not necessarily accross experiments)

2) Axis between plots are not scaled. Please pay close attention to the ticks.

 

This is what my non-buffered raw signals look like 

Nobuffer.PNG

 

Buffers are improving the results but they are still far from acceptable. ( Connection diagream can be found in earlier posts of the thread) 

a) Using OpAmp - LM2902N

LM2902N.PNG

 

b) Using OpAmp - NE5532N

NE5532N.PNG

 

Matlab figures are attached for examination

0 Kudos
Message 8 of 51
(7,386 Views)

Hi Vikash_Kumar,

 

Thank you for the information regarding what you are seeing on your end.

 

For the sensors you are using, are they a floating signal source or are they are grounding signal source? Based upon the NRSE terminal configuration and the signal source type, we may need to add Bias Resistors and this can be seen in Table 1 on the Field Wiring and Noise Considerations for Analog Signals

Sam Burhans
Senior Product Manager
National Instruments
0 Kudos
Message 9 of 51
(7,356 Views)

I am attaching the datasheet of the sensor I am using. It is being powered using an external 24v supply. I am connecting the ground of this power supply to the AISENSE of my DAQ device.

 

Please let me know the peripheral circuit you will like me to try.

 

Download All
0 Kudos
Message 10 of 51
(7,346 Views)