Signal Conditioning

cancel
Showing results for 
Search instead for 
Did you mean: 

Should there be offset of PCI-6070E A/D board?

We are using PCI-6070E A/D board. It was working fine until two weeks ago. I have made some changes in my code, but I did not change the driver part. We did some measurements, which show that the board has an offset, for instance, input 2.700V, the reading will be about 2.760V. For different channels, the offset values are different. Also, for different input range, the offset values change accordingly.
I do not know if this is because I made some mistakes in my code, or it is a hardwird problem. Can someone tell me what is the possible reason? Or what should I do to tell whether it is a hardwire or code problem?

Thanks.

flofish
0 Kudos
Message 1 of 6
(3,810 Views)
Hello flofish:

What if you run your old code with the hardware? Does it revert back to working fine? If so, it is definiately not a hardware issue.

Also, have you tried testing your hardware in Measurment and Automation Explorer by using test panels or creating a virtual channel? If so, do you get the same erroneous measurements?

I would recommend connecting your signals in differential mode and connecting bias resistors between AI 0 and AIGND and between AI 8 and AIGND. The bias resistors should be between 10K and 100K.

Lastly, if you probe the 2 pins on your terminal block with an oscilloscope or a multimeter, do you see 2.70V or do you see 2.76V? I would definiately check the system in MAX. This would help us identify if the issue is a hardware issue or a software issue.

Jaideep J
Applications Engineer
National Instruments Corp.
0 Kudos
Message 2 of 6
(3,798 Views)
Hi, Jaideep. Thanks for you reply.
I think maybe that is a calibration problem. Today we did the calibration with Measurment and Automation Explorer, but after that the problem is still the same. Here is what I'm thinking:

Labview loads the calibration constants from EEPROM everytime, and use them to process the A/D and D/A data. So after calibration, all data are correct.
In my code, I don't do this. So, after the channel gains and offsets change to new value, I cannot get correct resuts.

If my guess is true, then probably what I need to do is to read the constants from EEPROM and use them to process the A/D D/A data for every reading and writing.

Am I right?

Thanks.

flofish
0 Kudos
Message 3 of 6
(3,792 Views)
Hello flofish:

If your offset is the same every time you try to measure your signal, it could be a calibration issue. Are your other channels working fine?

Furthermore if you fed in a value of 3.5V do you read 3.56V? I want to know if the offset you see is the same everytime. If not this may not be a calibration issue.

I would recommend you trying the methods listed in my last post as well to be able to better detect where this problem lies.

Jaideep J
Applications Engineer
National Instruments
0 Kudos
Message 4 of 6
(3,789 Views)
Hi, Jaideep. I think it is a calibration problem. I tried different channels with various input votages. For the same input, different channels give different offsets, but always the same. For different inputs, the offsets are different. So I guess I have a gain error and an offset, and I need to fix it in my C code.

Thanks.

flofish
0 Kudos
Message 5 of 6
(3,786 Views)
Is the offset exponential? As in, can it be removed by applying a software scale? If it can, that means it is a calibration problem.

The solutions to this are:
1. Do an in house calibration
2. Send the board to National Instruments for calibration. There is a price associated with this (http://www.ni.com/support/calibrat/)
3. Apply a software scale

Let me know if you need any more help.

Thanks,

Jaideep J
Applications Engineer
National Instruments Corp.
0 Kudos
Message 6 of 6
(3,777 Views)