Selecting gain for LMT70 (IC temp sensor) -> ADS1115 (ADC)

Hi all,

I'm putting together a skin temperature sensor, but wanted to use sensors with a high accuracy and small package size. So I decided on Texas Instrument's LMT70 as it seems super convenient.

As this is an analog IC, I need to convert the signal. I've decided to use a 16bit ADS1115 ADC. This has the fancy option for input multiplexing and has a programmable gain amplifier.

{The sensors and ADC are connected to a 3.3V Adafruit M0 feather board, interfaced using the ADS1x15 library}

I have a question that may seem idiotic, but I'm just trying to avoid frying the ADC by checking I understand it properly. The example code (see below) says I can set the gain at 2/3, 1x, 2x, 4x, 8x and 16x.

Am I correct in thinking that because my temp sensor will produce voltages of 0-3.3V, that I can only set the gain to 1x, as the 0-3.3V range falls in the +/- 4.096V limit, or have I misunderstood what these voltage ranges are referring to?

  // The ADC input range (or gain) can be changed via the following
  // functions, but be careful never to exceed VDD +0.3V max, or to
  // exceed the upper and lower limits if you adjust the input range!
  // Setting these values incorrectly may destroy your ADC!
  //                                                                ADS1015  ADS1115
  //                                                                -------  -------
  // ads.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 3mV      0.1875mV (default)
  // ads.setGain(GAIN_ONE);        // 1x gain   +/- 4.096V  1 bit = 2mV      0.125mV
  // ads.setGain(GAIN_TWO);        // 2x gain   +/- 2.048V  1 bit = 1mV      0.0625mV
  // ads.setGain(GAIN_FOUR);       // 4x gain   +/- 1.024V  1 bit = 0.5mV    0.03125mV
  // ads.setGain(GAIN_EIGHT);      // 8x gain   +/- 0.512V  1 bit = 0.25mV   0.015625mV
  // ads.setGain(GAIN_SIXTEEN);    // 16x gain  +/- 0.256V  1 bit = 0.125mV  0.0078125mV

In the temperature range you want to measure (human skin) you can use the 4x gain because anything above 20°C outputs below 1V. If you don't know what temperature range you're in, start with 1x gain, measure and increase the gain if you're in a range where this is possible.

IV_lab: but wanted to use sensors with a high accuracy...

Small package, low self-heating, linearity, etc. might be good for what you're doing. But why do you think accuracy (showing the right temp) of that sensor is important. Accuracy depends on three thing. Sensor output voltage, A/D reference voltage, and code that converts that A/D value to human readable temp. Only digital sensors show the accurate (factory callibrated) temp directly. Analogue sensors are only factory calibrated to an output voltage. Not very useful until is is converted to a human readable temp. That conversion to a temp has to be calibrated (made accurate) by you. Leo..

For real accuracy avoid ground-induced noise/offsets by running a twisted pair directly from the sensor's gnd and output pins to the ADC differential inputs. Also run ground and power wires back as a separate twisted pair to the supply. That way any IR voltages on the ground supply wire don't add to the ADC input voltage. T_ON needs to be connected to the supply too to enable the analog output.

Add 10nF ceramic capacitor across the ADC differential inputs to kill RF noise, and I suspect you should have a 100nF decoupling capacitor on the supply at the chip or close to it too.