Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Temperature measurements

Dear all,

 

I'm new in the field of LabVIEW and NI measurements and I want to ask you a question about temperature measurements.

 

I'm using a NI PCI-6281 DAQmx, a NI SCB-68 as a connector and type K thermocouple.

Searching in the web site and in the forum I found many guides which tell how to do the right connections for temperature measurements and Cold Junction Compensation (CJC) with my hardware.

 

First of all I setted the switches of the SCB-68 connector in the right position for DIFFERENTIAL measurements: S5 & S4 turned up starting from the default configuration. Then I followed the procedure described in this link: http://digital.ni.com/public.nsf/allkb/96B996BAD82A84E9862570690066B03F

As you can see I used "Built in" as the CJC Source.

 

However there is something that is not really clear to me:

1) Channel 0, according to the link above mentioned, should be free since, if I understood well, it is connected to the Temperature sensor of the SCB-68 connector. Is it right?

2) As a consequence I have to connect the 2 wires of the thermocouple K to Channel 1, namely AI1 & AI9 on SCB-68.

3) Big question: I developed a little LabVIEW code which reads the temperature of the thermocouple, see attached pictures, but I do not know if the CJC is already been made or not. Do I need to read the value of the CJC of the SCB-68 (I tried following this guide http://digital.ni.com/public.nsf/allkb/16F71843CC7892D4C1256BE3004E1043 and it works fine) and subtract this value in my LabVIEW code or has the signal already been compensate at an hardware level?

 

I'm asking this because I tested my code with a piece of ice and my LabVIEW code gives a result of 1.5 °C on average while the Omega measurement system with the same type of thermocouple returns T = 0.2 °C. Since the Omega value appears closer to reality I thought that maybe my code is not taking into account the CJC.

 

Thank you in advance for your help.

Best regards,

Marco

Download All
0 Kudos
Message 1 of 10
(4,472 Views)

Hello Marco_cas_84!

 

Thank you for posting your question in this forum!

 

First thing! Go in MAX under your device 6281--->Properties--->Accesory---> SCB 68---> Configure ---> and check if  "Temperature Reference Enabled" is checked! If not, maybe this is the reason you get wrong measurement!

 

I am sending you a .vi where I do the same thing that you do, I just use Analog Temp Input Sensor in order to measure Temperature!

 

Check this out and tell me!

 

 

Antonios
0 Kudos
Message 2 of 10
(4,419 Views)

Hello Marco,

 

Channel 0 is being used to measure the cold junction and so is now unavialble for use with other devices.

 

With your current code, the program is not using CJC. You could measure the junction separately (measuring channel 0) and scale the voltage in software but labVIEW can do this for you.  This is what the configuration in MAX was for. You need to configure the DAQmx task for reading temperature. With this the program will output an adjusted value.

 

To configure your task for temperature you need to place the DAQmx create channel before the Timing VI. To this you wire the physical channel (Channel Name) and then wire through the errors and DAQmx task to the Timing VI. From the drop down menu select Analogue Input --> Temperature --> Theromcouple. In this VI set the CJC source to 'internal' and the CJC type to your type.

 

The values should now be adjusted using CJC.

 

Let me know how you get on and please ask if you have anymore questions or if you do not understand my response.

 

Nick
0 Kudos
Message 3 of 10
(4,419 Views)

Dear Antonios V. and niNickC,

 

thank you very much for your reply.

 

Unfortunately I'm far from work this week so I can't try your suggestions very soon.

However next week I will try both and let you know.

 

Just for knowledge I already enbled "Temperature Reference" on my device, so the problem seems to be that I'm not using the CJC in the software, my LabVIEW code. (I hope :))

 

Thank you very much for helping me, I will let you know my progress as soon as possible

 

Marco

 

 

 

 

0 Kudos
Message 4 of 10
(4,386 Views)

Dear Antonios V. and niNickC,

 

I'm back and I'm just trying to solve my problems thanks to your usefull comments.

 

@Antonios V.: unfortunately I'm not able to open your attached file since I have LabVIEW 2010 instead of 2011. Can you please send me a copy in a previous version or if not possible just as image (jpeg for example)?

 

@niNickC: I change my code thanks to your suggestion, and I have to say that I prefer this version with respect to mine since I have much more controll directly in the software. However, I think that they should be similar since in your version I put the DAQmx-create-channel before the Timing Vi so I have to use the DAQmx-Physical-Channel (AI1 & AI9 on SCB-68) while in my version I create the channel in the MAX (Expand Data Neighborhood, Right click on NI-DAQmx Tasks and select Create New NI-DAQmx Task, Create a task for the correct temperature sensor, Select Built In as the CJC Source) so I have to use the DAQmx-Channel-Name which refers to the channel created in MAX. If this is not true please tell me why.

 

The temperature I'm measuring, just a slice of ice, is not reliable since it fluctuate between 2-3 °C. Maybe the problem should be due to the thermocouple connection to the SCB-68. In fact I connect the thermocouple to the SCB-68 connector with an extension made of two wires of copper. Maybe these two wires, adding two other junctions in the path from the measured source to the SCB-68 connector, affect measurements?

 

Thank you again for any comments.

Marco

0 Kudos
Message 5 of 10
(4,287 Views)

Hello again Marco,

 

Your method of creating the channel in MAX is fine, sorry if I missed the fact that this was what you were doing.

 

I am not an expert in thermocouple physics but yes adding an extension will certainly effect the measurements. By extending the thermocouple you are adding a number of unknowns. The only suggestion I can make is to maybe try and calibrate your sensor with some known temperatures, however, I very much doubt the response will be at all simple and linear. Maybe a different temperature sensor such as a thermistor would be better for your application?

 

Also, just a little tip, LabVIEW has a built in function called VI snippets which creates a PNG of the code which you can paste directly into labVIEW whilst simply displaying as an image in windows.

 

Here is a tutorial on the community explaining this:

https://decibel.ni.com/content/docs/DOC-7547

 

Kind Regards 

Nick
0 Kudos
Message 6 of 10
(4,279 Views)

Marco,

 

1. The limits of error for a Type K thermocouple are +/-2.2 degrees C.

2. Near 0 degrees A Type K thermocouple produces about 39 microvolts per degree.

 

So, errors of the magnitude you are seeing are to be expected.

 

If you want to measure small temperature differences, a thermistor is a better choice.  If you want very good accuracy, look at RTDs or some of the better semicondcutor temperature measureing devices.

 

You indicated that you are testing with small pieces of ice.  Ice can be at any temperature less than zero.  An ice bath with ice and water in thermal equilibrium will be very close to zero, depending on the purity of the water and ice.

 

What is your final goal?  What will you be measuring when you get everything working?

 

Lynn

0 Kudos
Message 7 of 10
(4,267 Views)

Hi Lynn.

 

Thank you for your reply.

 

I know that only ice in thermal equilibrium with water will be really at 0 °C.

However since I never used LabVIEW and NI instruments my first attempt was to compare the K type thermocouple measurements of my NI PCI-6281 DAQmx connected to a NI SCB-68 with respect to measurements of this Calibrator/Thermometer which we have in the lab: http://www.omega.com/ppt/pptsc.asp?ref=CL3515R&Nav=temk10

 

This instrument gives a value of about 0.4 °C if attached to a ice cube, while the Multifunction DAQ measurements give the values I reported before (between 2.4 and 3 °C).

 

My final goal would be having accurate measurements of very low temperatures, up to 4.2 K. The problem is that despite the high accuracy of the Omega Calibrator/Thermometer this instrument is not able to measure temperatures below -200 °C.

 

For that reason I decided to test the NI instrumentation in order to try to understand if it would be possible to use thermocouples with the hardware that we already have in the laboratory for measuring such low temperatures.

 

Now I think that the error is due to the connection between the thermocouple and the NI SCB-68 connector. In fact the thermocouple I'm using is designed for the Calibrator so it has pins. In order to connect this thermocouple to the NI SCB-68 is made an extension with copper wires, but I'm quite sure that this would add an extra junction and false measurements, so the 2.4-3 °C would be explained (I really hope :)). For the future I will use thermocouples without pins for sure 😉

 

Nevertheless can I ask you where can I find the temperature measurement errors of my hardware (NI PCI-6281 & NI SCB-68) with respect to thermocouples type?

 

Thank you very much for your help.

Marco

 

 

 

 

 

 

 

 

 

 

 

 

0 Kudos
Message 8 of 10
(4,260 Views)

Marco,

 

I do not have any information about the NI products.  Some instruments I have seen use all copper connections internally.  If they keep all those points at a constant temperature and the CJC measures that point, the compensation can be pretty good.  Insides of computers are not isothermal environments, so it depends a lot on the thermal and electrical design from the thermocopule connection terminals to the point where the voltages are actually measured.

 

You can get thremocouple extension wire from Omega.  Use that rather than copper.  

 

I have worked around some cryogenic systems, but usually it was only necessary to be sure that the helium was still liquid so accuracy was not a major factor.

 

Lynn

0 Kudos
Message 9 of 10
(4,246 Views)

Thank you very much for your help and suggestions.

 

I will continue to try in order to get good measurements with some new tools in the following days, so I will let you know if everything is working good.

However every comment have been very useful for me in order to making light on things that where not really clear to me.

 

Thank you again.

Marco

0 Kudos
Message 10 of 10
(4,241 Views)