Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-9211 Temperature measurements?

Being new to temperature measurements with thermocouples, I purchased an NI-9211 thinking this would simplify

things. How do I scale the voltage readings to the correct temperature values? I used SignalExpress and set the CJC option

to 25 and temperature to read from 0 to 100 degress Celsius; taking contiuous samples. When running SignalExpress the

"Amplitude" readings are nowhere near the  temperatures expected.

I'm using a Watlow K type thermocouple. 

 

If I use Measurement Studio, do I have to apply temperature compensation in software all well as in the DAQmx task setup?

Is there a simple procedure (step by step) to get decent temperature readings without being weighed down by all the

fine details?

 

Thanks in advance,

 

sthompson.

0 Kudos
Message 1 of 12
(8,750 Views)

I am assuming that you are using NI 9211 on cDAQ-9172 chassis with DAQmx driver.

 

NI 9211 has an internal CJC sensor; DAQmx uses the reading from the internal CJC sensor to scale voltage readings into the correct temperature values.  SignalExpress should set up a DAQmx task that performs the temperature scaling for you.

 

Let me verify your settings: you have set Temperature Range to 0 to 100 degrees Celsius, Thermocouple Type should be set to K , CJC Source should be Built In (Since CJC Source is Built In, CJC Value does not factor into scaling.  You only need to set CJC Value if you CJC Source is set as Constant.)

 

You are using a Watlow K type thermocouple, so the yellow wire should be positive end and the red wire should the negative end.

 

 If you use Measurement Studio, you  can set up an AI channel with Thermocouple as the usage type and set the channel properties just like above for Thermocouple Type, CJC Source and Scale Unit to be Celsius.  Then the DAQmx task will apply the temperature compensation internally during scaling and return correct temperature values. You should not have to do the scaling yourself.

 

Please try this out and let me know if this works out for you.

 

 

0 Kudos
Message 2 of 12
(8,744 Views)

Thank you very much for the reply. When I said I set the temperature to be read was from 0 to 100 C, I probably made a mistake. I had entered these values into the "Signal Input Range" text boxes under the "Settings" tab. I probably should have

entered the input range of the 9211 module: +/- 80 mv. Is that correct? How do I specify millivolts in those text boxes?

 

Again, many thanks for the help and suggestions. It beats reading through ton of help  files and documents.

 

Regards,

sthompson.

0 Kudos
Message 3 of 12
(8,739 Views)
Sorry, when I was referring to "Temperature Range", I was actually referring to  the "Signal Input Range" text box under the "Settings" tab.  So what you have: Max = 100, Min = 0, and Scaled Units = deg C is fine.  SignalExpress defaults to Thermocouple "Measurement Type" for NI 9211, so it expects  the fields under the "Signal Input Range" to be in term of degrees instead of volts.
0 Kudos
Message 4 of 12
(8,732 Views)

Thanks for explaining that "range" issue. I tried it and compared the measurement with an EXTECH  DMM that has a temperature option. It appears that I'm still off by +5 degrees. It all makes much more sense now.

The offset could be due to noise (not using shielded cable), thermocouple non-linearity, etc...

 

Regards,

sthompson.

0 Kudos
Message 5 of 12
(8,724 Views)

One thing that helps me to make more accurate measurement on 9211 is to configure "Auto Zero Mode" on the "Device" tab.

 

The default for "Auto Zero Mode" is "Once", that means it reads an internal auto zero channel for offset error at the beginning of the task and then subtract that offset from all reading from the module in that task.  This is ideal for temperature that does change very much over time.

 

Setting "Auto Zero Mode" to  "Every Sample" will make the task to read the internal auto zero channel for offset error every sample and subtract the different offset error from each individual channel.  However setting it to "Every Sample" adds an additional internal channel to the scanlist and that will lower the max sample rate for your task since 9211 is a scanning module.  This is ideal for temperature that varies by a large amount over time.

 

The offset error reading from the internal auto zero channel is usually very small at room temperature, but your testing environment has a more extreme temperature condition, the offset error might be fairly significant.  You can check what the internal auto zero channel is reading by opening up a test panel in MAX and selected "9211/_aignd_vs_aignd" and looking at the acquired data.  This returns data in volts.  If the data return is the range of nanovolts, then the offset error is insignificant.  If the data return is in the range of single digit microvolts, then the offset error is small enough that you can ignore depend on the requirement of your application.  But if it is in tens of microvolts, then the offset error is fairly significant.  

0 Kudos
Message 6 of 12
(8,693 Views)

hey guys.. 

 

i am trying to measure temperature using thermocouple (T type) and using NI 9211 with cDAQ chassis. I have used signal express to obtain the data.. but i am getting significant error in my readings... i have used a constant temperature bath for measurement so that i know the error... in most cases the error is as high as 10 C [my working range is 35 C to 110 C].

 

what could be the problem.. i am a newbie.. please help [i have attached the vi i am using] 

 

cheers

ishan 

0 Kudos
Message 7 of 12
(8,251 Views)

Hi, Ishan.

 

Give me some more information about your set-up.  How are the thermocouples connected?  Differentially, RSE, NRSE?  What channels are you using?  What application are you using to view these measurements (Measurement and Automation Explorer, SignalExpress, LabVIEW, etc)?  How do you have the measurements configured in software (sample rate, finite/continuous, mode, etc)?

 

This DevZone article helps me a lot when connecting thermocouples, especially Table 1.   For thermocouple measurements, differential connections are preferred, because it rejects ground loop-induced errors and most of the noise picked up in the environment.  The incorporation of the bias resistors provide a return path to ground for bias currents.

 

I hope you're having a great day!

Message Edited by MichiganLostToAppalachianStateHAHA on 07-27-2009 02:18 PM
Regards,

Sara Lewandroski
Applications Engineer | National Instruments
0 Kudos
Message 8 of 12
(8,231 Views)

I'm in need of a clarification.  I have a SCXI box with 1100 boards installed and 1303 terminal block with type E thermocouples on them.

I am trying to convert a old rev 5.1 vi to 8.5 and I have a question.

 

In the 5.1 voltage is read in and along with the cj voltage it comes up with the correct temp read.

 

With 8.5 I am reading in temp with analog 1D DBL Nchan 1 Samp DAQmx and I am trying to read the CJ temp, but the Thermo linear.vi wants the cj to be in volts.

Is there a why to get these both in volts or both in temp and have the compution work out??

 

Thanks

0 Kudos
Message 9 of 12
(8,213 Views)

Hi, Mr. Doc.

 

I'm a little unsure of what you're doing.  LabVIEW 5.1 is only compatible with the NI-DAQ traditional drivers.  If you're trying to convert your LabVIEW 5.1 VIs to LabVIEW 8.5 VIs, you are still going to be using the NI-DAQ traditional driver.  It sounds as if you're using the DAQmx driver with LabVIEW 8.5.  What happened to the VI created in LabVIEW 5.1?  Are you abandoning that VI for an entirely new VI created with the DAQmx driver in LabVIEW 8.5?  

 

What do you mean by "Thermo linear.vi" for 8.5?  I do not have this VI in LabVIEW 8.5 or in 5.1.

 

(Also, this seems like an entirely new issue.  Next time, create a new post.)

 

I hope you're having a great day!

Regards,

Sara Lewandroski
Applications Engineer | National Instruments
0 Kudos
Message 10 of 12
(8,174 Views)