Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

unstable and various readings of thermocouples voltages using pci6034E and AMUX-64T boards...

Hello.
I'm tring to measure about 240 thermocouple (T-type) values using a PCI-6034E board and 4 AMUX-64T boards. I'm using the RSE mode to connect all the thermocouples and on every board the CJC switch is set to on. The program is made in VB .NET 2003 and i'm using the CWAI control to do this measurements.
So my problem is that, even though i manage to receive fair and stable enough values on some thermocouples on each amux board, more than half of all the thermocouples have smaller than usual value and have a bigger fluctuation (let's say 10 grades C from the "normal" value). I tried to reduce this fluctuation by adding to each channel a 1.63K condenser, but there wasn't any major progress.
I suspect that there is something wrong with my pci board setting maybe.
A sample code of what i'm using to acquire the data is:
 
ai.Device = 1
ai.Channels.RemoveAll()
ai.NScans = 500
ai.ScanClock.ClockSourceType = CWDAQControlsLib.CWAIClockSources.cwaiInternalCS
ai.ScanClock.InternalClockMode = CWDAQControlsLib.CWAIInternalClockModes.cwaiFrequency
ai.ChannelClock.ClockSourceType = CWDAQControlsLib.CWAIClockSources.cwaiInternalCS
ai.ChannelClock.InternalClockMode = CWDAQControlsLib.CWAIInternalClockModes.cwaiPeriod
ai.ScanClock.Frequency = 250
ai.ChannelClock.Period = 0.00001
ai.Channels.Add("0:15", 10, -10, CWDAQCOntrolsLib.CWAIInputModes.cwaiRSE, CWDAQControlsLib.CWAICouplings.cwaiDC)
ai.configure
ai.start
 
I'm waiting for any suggestion. Thank you in advance.
 
Mihai A.
0 Kudos
Message 1 of 8
(5,178 Views)
Mihai,

Thanks for posting to the NI forums.  Let me see if I can provide a few helpful suggestions.  The first thing I would try (after making sure all the wiring is correct) would be to reduce the sample rate.  In addition, it is often unnecessary to set the ChannelClock.Period if you set the sample rate.  The driver will select an appropriate value for the channel clock that is suitable in most cases.  If you want to keep this command you should try to increase the period between samples.  If this does not make a difference, I would try to narrow down where the problem may be.  Try the acquisition with only 1 AMUX-64T connected to see if the channels are still acquiring incorrectly.  Try connecting thermocouples directly to the channels on the 6034E and see if any of the channels seem to exhibit the same behavior.  You can also try to measure each channel from a Measurement and Automation test panel to see if you are getting incorrect values.  Let me know how the troubleshooting goes.

Regards,

Neil S.
Applications Engineer
National Instruments
Message 2 of 8
(5,159 Views)
Thanks for your response.
I tried what you said, ...mostly. When I measured a thermocouple voltage directly connected to one of the 6034E channels i did get an appropriate value to the one expected...
What i forgot to say in my first post is that i'm supplying the 4 AMUX-64T boards with +5V (4.9V...5V) from an external source, because otherwise the voltage from the first board to the last one was reducing (...and i was reading higher temperatures from the sensor mounted on each amux board.)
 Also, i want to ask you if it's normal to have +/-3 C degrease swings from the "right temperature" on each T thermocouple, when i'm using RSE connection mode? (I suppose that swings higher than +/-5 degrease are not normal). I was reading that for thermocouple measurements it is usually used the differential mode, and that is why i'm asking you if with the RSE mode i can get a more exact reading than +/-3 C degrease.
If you have any other suggestions regarding the code i've posted (like modifying timebase settings or freq, or the input range of the channels...) please advice me.
 
 
Regards,
 
Mihai A.
0 Kudos
Message 3 of 8
(5,145 Views)
Mihai,

I do have a few suggestions to increase the accuracy of your measurements. 

The first is to take at a sampling rate higher than the data you would like and average values between points.  Our data acquisition boards use a technique called dithering that allow higher accuracy measurements when successive values are averaged together. 

The second suggestion is to lower the range of acquisition.  The range should be chosen to be as small as possible while still containing the data.  Say for example temperature readings are between 0 V and 40mV for a specific application.  I would choose something like a range from 0V to 50mV to make sure I do not cut off any values.  The driver uses the range settings to appropriately adjust an amplifier on the input of the board to use as much of the range of the ADC as possible.  This in turn decreases the code width giving more accurate measurements (ie the 16 bits of resolution are divided up over a much smaller voltage range making it possible to detect much smaller voltage changes). 

RSE mode can cause additional noise over use differential mode but you should be able to get better readings than +/- 3V even when using RSE mode.  The more significant issue is to use the full range of the ADC which will occur when properly setting the range.  Let me know if you have any more questions about the measurement.

Regards,

Neil S.
Application Engineer
National Instruments

0 Kudos
Message 4 of 8
(5,131 Views)
Thanks for replying.
 
Can you please be more specific with what you said about setting a sampling rate higher than the data desired? (maybe if you could attach the setup lines in code, to be more exact)
About the readings precision, I am getting a precision of +/- 0.2mV when averaging 600 measurements. And I was wondering if for RSE reading mode I can get a more precise measurement. Also, please tell me if you consider that attaching between each channel and gnd a 1uF at 63V condeser would help.
Thak you.
 
 
Mihai
 
0 Kudos
Message 5 of 8
(5,116 Views)
Mihai,

Let me explain what I meant by sampling at a higher rate than desired and averaging:
For example maybe you want 10 samples of data every second.  You could sample at 10 kHz and then average every 1000 samples.  This will provide a more accurate measurment.  It sounds like you may already be using this method.


I don't think placing a condensor/capacitor between the channel and ground will greatly improve the measurement but it may improve it slightly.  Did reducing the range improve your measurements?  Let me know what you discover.

Regards,

Neil S.
0 Kudos
Message 6 of 8
(5,097 Views)
Thanks for your response.
Yes, I'm already taking more scans than actually needed and average the values. The problem is that I'm getting this +/- 0.2mV accuracy only if I take 600 scans or more.
Reducing the input range doesn't help very much, as I observed. I notice that fine adjustment of the convert rate in agreement with the sampling rate does increase the measurements of certin channels that usually don't have the 'right' value.
I still have the following questions:
1. Can you please tell me what accuracy would be normal for one single measurement(scan) in RSE mode acquired with this pci6034E connected to a amux-64T board?
2. After installing the nidaq drivers and software, is it necessary to make any certain calibrations or settings?
3. Is it correct to simply set the CWAI control in visual studio and start acquiring data, or there should be done some preparations first?
I want to make sure I'm not missing anything regarding the software part, and so i can concentrate on debugging the hardware part of my application.

Thank you.
 
Regards,
 
Mihai
0 Kudos
Message 7 of 8
(5,069 Views)
Hi Mihai -

Let me see if I can help.  The accuracy of your readings is dependant on many factors, including the quality of your thermocouples, any EM interference on your cabling and wires, and the gain/range settings of your DAQ device.  You may also need to use cold-junction compensation (CJC) to account for any constant offset in your data.  If you can attach a screenshot or table of the acquired data and describe the measurement error, It'll help us determine the cause.

In the meantime, I have a couple of suggestions to make:

1. Double-check the input range and gain settings you're using.  A T-type tc has a nominal range of -6.2578 to +20.872 mV.  With this, I recommend using the smallest bipolar input range on your DAQ device (+/- 50mV).  This corresponds to a bipolar input mode and a channel gain of 100.

2. Enable the CJC on your equipment.  The user manual for the amux-64T will describe the appropriate jumper settings, and there is a checkbox in the properties window of your DAQ device (in Measurement and Automation Explorer).  This will help to remove any constant offset in your readings that is caused by  ambient temperature fluctuations.
David Staab, CLA
Staff Systems Engineer
National Instruments
0 Kudos
Message 8 of 8
(5,017 Views)