« Close

Datasheets and User Guides

App Notes

Software & Driver

 

2.6.4 - Internal Temperature Sensor

The U6 has an internal temperature sensor.  The sensor is physically located near the AIN3 screw-terminal.  It is labeled U17 on the PCB, and can be seen through the gap between the AIN3 terminal and adjacent VS terminal.

The U6 enclosure typically makes a 1 °C difference in the temperature at the internal sensor.  With the enclosure on the temperature at the sensor is typically 3 °C higher than ambient, while with the enclosure off the temperature at the sensor is typically 2 °C higher than ambient.  The calibration constants have an offset of -3 °C, so returned calibrated readings are nominally the same as ambient with the enclosure installed, and 1 °C below ambient with the PCB in free air.

The sensor has a specified accuracy of ±2.1 °C across the entire device operating range of -40 to +85 °C.  Allowing for a slight difference between the sensor temperature and the temperature of the screw-terminals, expect the returned value minus 3 °C to reflect the temperature of the built-in screw-terminals with an accuracy of ±2.5 °C.

With the UD driver, the internal temperature sensor is read by acquiring analog input channel 14 and returns °K.

The internal temperature sensor does not work in stream mode.  It takes too long to settle, thus if you stream it you will typically get totally wrong readings.

Note on thermocouples

If thermocouples are connected to the CB37, you want to know the temperature of the screw-terminals on the CB37.  The CB37 is typically at the same temperature as ambient air, so use the direct value from a read of AIN14.  Better yet, add a sensor such as the LM34CAZ to an unused analog input on the CB37 to measure the actual temperature of the CB37.

The built-in screw-terminals AIN0-AIN3 on the U6 are typically 3 °C above ambient with the enclosure installed, so when the internal temperature sensor is used for CJC for thermocouples connected to the built-in screw-terminals, it is recommended to add 3 °C to its value as you want the actual temperature of the screw-terminals, not necessarily ambient temperature.

 

9 comments

 

Hello.

In VB 2010 I am using this to read an analog input,

LJUD.eAIN(u6.ljhandle, 3, 199, dblValue, LJUD.RANGES.BIP10V, 0, 0, 0)

So to read input 14 I would just substitute 14 for 3 and dblValue would be equal to degrees K, or do I have to change other settings like Range, etc.?

Thanks!

 

 

That is correct.  Just do change the 3 to a 14 and you should get a value around 300 at room temp.  Note that you have to use the +/-10V range.  If you use a different range the reading will be no good.

I'm trying to read the U6's internal temperature in python.  AIN channel 14 is not working. I've been reading it as I have read other analog channels:

d.getAIN(14,resolutionIndex=8,gainIndex=0,settlingFactor=8)

What is wrong here?  I get a number like 1.5... , which certainly is not the internal temperature in Kelvin.

Thanks

 

In LabJackPython you will want to use getTemperature instead so that temperature calibration constants are applied. getAIN only applies analog input calibration constants giving you the voltage like value you are seeing.

Hi, I'm currently reading analog inputs in streaming mode, Now I also need to read the internal temperature sensor. I saw you say:

"The internal temperature sensor does not work in stream mode.  It takes too long to settle, thus if you stream it you will typically get totally wrong readings."

Why it take more time? Can I reduce the sample rate or something to make it work? Otherwise, can I read it in command mode while streaming is enabled?

It is just the nature of the LM94021 sensor that it has very weak drive and requires too much settling time to work in stream mode.  This is actually something we improved on the T7, where we added a buffer so that the internal temp sensor does work in stream mode (Section 18 of the T7 Datasheet).

Stream mode totally takes over the analog input system, so you can't read the internal temp sensor using command-response while a stream is active.

Your best option is to add a digital sensor that you read using command-response (which you can do while stream is active), or add an analog sensor to another analog input (consider the LM34CAZ).  See our Temperature Sensor App Note.

Thanks for answering, but i have another question:

In my environment I don't need high speed of streaming, so, If I understood correctly the manual, i can set the stream interval to as slow as 4 seconds. Even at that speed the temp sensor will have that problem?

We could test whether the internal temp sensor works in stream mode with the longest supported stream settlingfactor, but to do so we would have to modify firmware so it does not throw an error when you try to stream AI14.  If you don't need high-speed stream, then why are you using stream mode?  We usually recommend to use command-response first, and then if you can't do what you want in command-response move to stream, so stream is usually for faster than 100 scans/second.  In fact, streaming at low speeds (e.g. 10 scans/second or slower) can be quite awkward due to the buffering that goes on with stream mode.

Ok thanks for answering, in that case i will try with command-response mode.