LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Trying to get an accurate reading from thermocouple

Solved!
Go to solution

Please post your current VI with some typical data saved as default.  It is reaaly hard to tell what might be the best approach without seeing the data.

 

Lynn

0 Kudos
Message 41 of 52
(1,453 Views)

Here is the data i get and the VI. 

Download All
0 Kudos
Message 42 of 52
(1,449 Views)

Part of what you are seeing is the limitation of the NI 9201. The resolution is 20 V/(2^12) = 4.883 mV.  Multiplying the result in software does nothing to improve the resolution. The difference between readings in your data is multiples of 5.143 mV.  The noise specification is 5 LSB peak-to-peak = 24.41 mV, so only a few of the points in your data are outside the noise.

 

The offset error can be up to 7.4 mV.  However, you should be able to calibrate that out.

 

Lynn

0 Kudos
Message 43 of 52
(1,433 Views)

@johnsold wrote:

Part of what you are seeing is the limitation of the NI 9201. The resolution is 20 V/(2^12) = 4.883 mV.  Multiplying the result in software does nothing to improve the resolution. The difference between readings in your data is multiples of 5.143 mV.  The noise specification is 5 LSB peak-to-peak = 24.41 mV, so only a few of the points in your data are outside the noise.

 

The offset error can be up to 7.4 mV.  However, you should be able to calibrate that out.

 

Lynn


Would calibrating on MAX fix it? 

0 Kudos
Message 44 of 52
(1,431 Views)

I do not have MAX or DAQ mx so I am not sure what calibration capabilities exist.

 

Adjusting for an offset will not have any effect on the fluctuations.

 

Lynn

0 Kudos
Message 45 of 52
(1,424 Views)

Yes, you could self calibrate in MAX. That would never hurt.

 

Attempt to reduce the spikes:
You mentioned that the thermocouple is attached to a metal plate. If you touch the metal plate, during the process, since this system is not connected to earth ground, you might be changing the voltage of the plate. If the thermocouple is connected to a metal plate, try just measuring the air temperature and not touching the thermocouple at all during the measurement. With this test, I am trying to identify if this theory could be valid.

 

Smoothing the curves in software (not the best if you're getting big fluctuations that don't make sense in your data):

You could write an simple averaging code, or use something like this - http://www.youtube.com/watch?v=AxlyqR-vGe0

0 Kudos
Message 46 of 52
(1,411 Views)

@Eric-E wrote:

Yes, you could self calibrate in MAX. That would never hurt.

 

Attempt to reduce the spikes:
You mentioned that the thermocouple is attached to a metal plate. If you touch the metal plate, during the process, since this system is not connected to earth ground, you might be changing the voltage of the plate. If the thermocouple is connected to a metal plate, try just measuring the air temperature and not touching the thermocouple at all during the measurement. With this test, I am trying to identify if this theory could be valid.

 

Smoothing the curves in software (not the best if you're getting big fluctuations that don't make sense in your data):

You could write an simple averaging code, or use something like this - http://www.youtube.com/watch?v=AxlyqR-vGe0


Thanks for the video. I have an issue with the X input signal. I am trying to connect to the thermometer data and filter that, but the error is:

"These cannot be wired together because their data types (numeric, string, array, cluster, etc.) do not match. Show the Context Help window to see what data type is required.
The type of the source is double [64-bit real (~15 digit precision)].
The type of the sink is 1-D array of
double [64-bit real (~15 digit precision)]."

 

I also attached my VI. 

Download All
0 Kudos
Message 47 of 52
(1,403 Views)

That VI filters an entire set of data, which is why it is asking for a 1-D array.

 

You want to use the VI that is the point by point version of the filter.  It keeps a history of the past and filters as it receives each new point in.

0 Kudos
Message 48 of 52
(1,395 Views)

@RavensFan wrote:

That VI filters an entire set of data, which is why it is asking for a 1-D array.

 

You want to use the VI that is the point by point version of the filter.  It keeps a history of the past and filters as it receives each new point in.


I'm not sure if I set the filter correctly, it would keep increasing rapidly.

Download All
0 Kudos
Message 49 of 52
(1,385 Views)

Why did you create an inner while loop?  Where is its stop terminal?

 

I don't know what you mean by "it keeps increasing rapidly".

0 Kudos
Message 50 of 52
(1,375 Views)