LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Temperature readings with NI 9213 drifting

Hello

I have been writing an application for a customer which is used to view data and do minor control of the customers machine.

 

A few of the measurements are temperature based and are being done with a NI 9213 and k-type thermocouples.

 

The problem i have is that the temperature readings are:

 

1, Off by a few degrees. Compared to other sources (direct reading and a stand alone module connected to the same point on the wire) the reading differs by at least 5 degrees, often more.

2. Drifting. The readings drift periodically. They seem to drift at least 3 degrees +/-.

3. Different in MAX and in my application.

 

When testing in MAX ive set the ADC timing to high speed since i need to read values fairly often due to logging demands. Ive used the same setting in my application.

 

Im wondering if there is something ive missed in my code?

 

 The attached zip contains the class that i use (LabView 2011). As you can see i also read voltage signals (differential and RSE). The temperature readings are located in a seperate task since it took to long to have it running with its standard timing settings in the general task.

 

Its also worth to note that during testing, the temperatures have been rather constant as the machine have been turned off.

0 Kudos
Message 1 of 9
(5,241 Views)

Nimgaard,

 

Can you share some more details?  Specifically:

What other thermocouple meters are you using? 

Are the other meters in calibration? 
What environment is the 9213 in?  What chassis are you using?  Is the shield placed over the thermocouple connector?  Placing the 9213 by a forced air or variable heat source could cause some additional drift due to the difference in temp of the internal thermistor and the connected thermocouples in the external connector.

Do any of the channels exceed the common mode range?  The 9213 has a common mode range warning indicator per channel that would tell you if this happens.

 

-James

0 Kudos
Message 2 of 9
(5,109 Views)

As i dont have access to the system at the moment i cant give you a straight answer to all the questions but:

 

- I dont know the brand or model of the other thermocouple meter, or if it is in calibration. However, there are actually two other sources of measurement. One is the smaller hand held meter, and the other is a direct measurement on the source. Both are showing the same stable value, granted they only display integers but my measurements drift by several degrees.

 

The 9312 is sitting in a cDAQ-9178 together with a couple of 9205s and a 9208. I cant check the shield but the hardware engineer have gone through the manual when connecting so hopefully that shouldnt be the problem.

 

The heat source is variable indeed, but the measurements was made without the system running so temperature was pretty much room temperature with no variations.

 

I have a support case open with NI and am going to run some tests next time i get access to the system. Any tips are always welcome though.

0 Kudos
Message 3 of 9
(5,101 Views)

Nimgaard,

 

Regarding what you are calling the heat source, I assume this is the location you are measuring with the thermocouple itself.  This can be variable and should have no effect on the "drift" you're seeing (otherwise the module wouldn't be very useful).  I also assume the other meters you're using haven't seen this drift compared to the 9213 over the same amount of time (so we've ruled out the thermocouple itself).

The temperature I was speaking of was that near the module itself (where the CJC is).  Variable temperatures near the module (particularly if they are fast changes in temperature) can cause temporary drift as the internal CJC stabilizes to the external temperature felt at the connector. 

How long is your thermocouple wire?  For long wires the open thermocouple detection circuit injects enough current to cause a small offset in your measurement.  This should appear as a constant offset, not a drift over time though.

 

A couple things to try:

 

- You can expose the internal autozero and CJC channels and read the values of these directly.  You can also read the thermocouple voltage so you see all three measured components of the thermocouple temperature measurement.  Plot these and see if any particular one is drifting.  It would be great if you could share this data if you are able to capture it.

- Expose the common mode voltage indicators and make sure no channels are exceeding the common mode range.  I doubt this is happening since you state your system is not operating when you make these measurements, but it's worth a check.

- What rate are you sampling at?  If possible try sampling slower (and sample at high resolution instead of high speed if possible) and see if the issue decreases.  This shouldn't be required for your final design but may be a clue into if the module is not operating correctly.

 

-James

0 Kudos
Message 4 of 9
(5,091 Views)

Hello,

 

First of all, thank you for the input.

 

I didnt know that the environment at the module itself could have impact on the readings. The module is in a control room which shares a wall with the equipment and its room tempered there. Possibly a bit warmer than what you would consider regular room temperature but not above 25 degrees C. The environment itself is pretty good as the equipment and control room is located in a clean room. Im not entirely sure how long the wires are but i would say about 2-3 meters.

 

Next time i have access to the equipment i will see if i can test the things you listed. It seems a viable way to figure out exactly what component is drifting.

 

I have tried to sample at higher resolution rather than higher speed. I cant say that it had any real impact on the result. It may have changed a little but overall its the same.

0 Kudos
Message 5 of 9
(5,080 Views)

Nimgaard,

 

When you get a chance to run the tests I suspect the CJC channel will be the one that is drifting.  The autozero channel shouldn't drift, and given the other meters weren't showing drift I'd expect the 9213 to also give the same results for the actual thermocouple.  It could be possible that in the area of the 9213 you have a system that's using a dynamic amount of power over time, which is changing the dissipation and thus altering the ambient temperature near the 9213.  Just a guess at this point, but I'm looking forward to seeing the results.  Another thing I hadn't asked was how long does it take to drift?  Is it a couple seconds? minutes? hours?  Does the drift ever disappear after some period of time? 

 

FYI the 9214 was designed to solve some of these issues and provide higher accuracy in dynamic environments.  Instead of a single CJC internal to the module it has a terminal block with 3 CJCs that are thermally coupled to a group of channel terminals in that terminal block.  This design reduces the isothermal error of that large piece of plastic (connector) between the connection and the CJC in the 9213.

 

-James

0 Kudos
Message 6 of 9
(5,071 Views)

The drift time is rather short. It actually drifts with a sinusoidal behaviour around the "real" temperature. Off my memory i think the period is about a minute or so. So its not spiky, but it isnt very slow either. Its never really stable, but its hard to tell with me having set the measurement to be fast rather than accurate. When looking at the decimals it moves constantly, which is probably related to both drift and accuracy.

0 Kudos
Message 7 of 9
(5,057 Views)

Nimgaard,

 

Given that it looks sinusoidal it does sound like the CJC isn't keeping up with a temperature change near the 9213's connector.  Were the other meters placed in the same location in your rack when making the comparative measurements?  If you set your plot history length to be large you should be able to capture enough data points regardless of it being captured in high speed or high resolution. 

When you get a chance connect a very short thermocouple to one of the 9213 channels and acquire that channel in raw voltage.  The temperature (in voltage) we want to measure is just outside the 9213 connector.  Ideally this will be at one of the middle channels, but any open channel will be acceptable.  I'm guessing that it will also drift, showing the issue to be a dynamic temperature fluctuation near the 9213 module. 

 

If my guess turns out to be correct, to solve the problem you will need to thermally isolate the 9213 better.  This could mean adding a thermal shield to isolate the module/chassis from the temperature change, or moving the chassis elsewhere where the thermal change doesn't exist.  Another option (involving buying more equipment) would be to purchase a 9214 which has the better isothermal performance as I previously mentioned.

The final option I can think of would be to use this 9213 connector temperature channel as an offset to nullify the effects of the temperature gradient.  If you subtract the voltage of the thermocouple near the connector from your actual thermocouple you want to measure before converting to temperature this should also remove the offset.  The accuracy wasn't calculated with this configuration though so the performance will be somewhat degraded.  The CJC contributes the most to the accuracy, so depending on your requirements the added error may be negligible.

 

-James

0 Kudos
Message 8 of 9
(5,052 Views)

Temperatures are rarely sinusoidal, especially in equipment which is not running.  I wonder if you are getting some power line freqeuncy signals into your measurements, either from the thermocouples or the CJC channel.  Depending on your sampling rate the signals may be undersampled or aliased. A minute is a bit long for an alias, but it is not out of the question if the sampling rate is close to the power line frequency.

 

I have seen several systems with "low frequency" interference which turned out to be power line frequency aliases.

 

Lynn

0 Kudos
Message 9 of 9
(5,045 Views)