This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS112U04: ADS112U04 : reads low thermocouple voltage

Part Number: ADS112U04
Other Parts Discussed in Thread: LM94022, ADS122U04, ADS1118,

I am using a type-K thermocouple with ADS112U04. For thermocouple temperature measurement, I have used register settings as shown in section 9.2.1.2 Detailed Design Procedure(except conversion mode, using single-shot conversion) in the ADS112U04 datasheet. At room temperature (24°C )ADS112U04 reads thermocouple voltage (Vtc) between AIN0 and AIN1 around 0x0051 (Raw data 0x5100 with LSB first), which gives me Vtc = 0.2582 mV (1 LSB = Vref/ (gain * 2^15), where Vref=2048mV,gain=32) and so the equivalent thermocouple temperature using the NIST tables is 4°C, which is too low at normal room temperature. I have tried to heat up the thermocouple, Vtc increases but it's low comparatively. I have also measured the supply voltage Avdd for system monitor using register 0 settings and the resulting conversion is approx 3.288V which is correct. I am attaching the circuit design of temperature sensor . So can you please shed light on it what could possibly go wrong?

  • Hi Heli,

    There are a couple of things to consider.  The first thing is you need to determine the offset of the ADC.  After you establish the proper register settings with respect to the reference and the PGA gain you are using, you need to set the mux settings to use the internal short to determine the device offset.  Record the conversion offset in memory and then subtract this value from all conversions that follow to correct for the offset.

    Second thing is to make sure that you are using the proper values for determining the value of the LSB.  LSB is equal to +/- Vref/(Gain*2^16), or as you have stated is Vref/(Gain*2^15) = 2.048V/(32*2^15) = 1.953uV.  The output voltage is codes * LSB = 81 codes * 1.953uV = 0.158 mV.  So my calculation differs from yours.

    Last thing is the cold-junction compensation (CJC).  You need to correct for the junction temperature.  I see that you are using the LM94022 in the schematic and I assume this device will be used for CJC .  The voltage returned from the LMP94022 will need to be converted to a temperature, and then converted from the temperature to match the  K-type TC output table for that temperature. You would then need to add the voltages of the measured TC and the CJ and then convert the voltage back to temperature.

    I would suggest reviewing the material in A Basic Guide to Thermocouple Measurements.

    Best regards,

    Bob B

  • Thanks Bob.

    I have confirmed the conversion I am using  is correct. (The final output voltage, I have mistakenly considered octal (121) of raw value (51h) instead of decimal (81) in the example and so your calculation differed from mine)

    I  have tried changing MUX settings to use the internal short to check offset and I've got offset (-0.771)  which resulted into final output voltage (Vtc = 0.158 - (-0.771) = 0.929) of 0.929 which is quite close to what we expect at room temperature.

    Also we are using LM94022 for CJC, but the temperature of the cold junction, T (CJ) , using the temperature sensor mode of the ADS112U04 is too high 24°C (changed register 00h to B1h for CJC measurement). So for the final thermocouple temperature, we are not adding Vtc and thermoelectric cold junction voltage Vcj.

  • Hi Heli,

    If you are shorting the inputs together via the mux settings, then the offset should be no more than +/- 150uV which is the min/max of the ADS112U04 as given in the electrical characteristics table.  The typical value is +/-5uV, so there is something not quite right as you should not be seeing an offset that is 5 times worse than the worst case operation of the ADC.

    Do you have access to a logic analyzer so that we can verify the communication is being properly interpreted in your code?  When you take the TC measurement or offset measurement are you applying any gain?  Can you send me the raw codes?  Can you send me the register settings you are using?

    Also, instead of converting to a voltage and subtracting the voltages, it is much easier to take the two code values and subtract the offset as a value in codes as opposed to calculating the voltages.  Converting to a voltage and then subtracting the voltages leads to rounding error.

    Also, the TC table is based on the CJ at 0 deg C.  To get the proper TC temperature you must properly compensate for the temperature of the CJ.  This means you must convert the voltage measured from the LM94022 and convert to a temperature.  Then this temperature must be converted to the mV reading for that temperature from the TC tables. The actual TC temperature is the addition of the TC measured voltage and the CJ voltage which is then looked up from the table.

    Best regards,

    Bob B

  • Hi Bob,

    For TC,CJ and offset measurement I am using register settings as shown below:

    1) For TC

    Register

    Settings

    00h

    0Ah

    01h

    00h

    02h

    00h

    03h

    00h

    04h

    48h

     

    2)For CJ

    Register

    Settings

    00h

    B1h

    01h

    01h

    02h

    00h

    03h

    00h

    04h

    48h

    3) For offset

    Register

    Settings

    00h

    EAh

    01h

    00h

    02h

    00h

    03h

    00h

    04h

    48h

    Using gain 32 for TC and offset measurement and as written in the section 9.2.1.2 Detailed Design Procedure, using the temperature sensor mode of the ADS112U04 to measure the temperature of the cold junction. I am reading the offset value (getting offset value as 0) but not including it in the final calculation of TC temperature. So Pseudo Code to calculate thermocouple temperature looks like,

    loop

    {

    Configure IC to read cold-junction temperature;

    When data is ready, Caculate size of 14-bit LSB equals 0.03125°C (CJ_temp = codes * 0.03125);

    Configure IC to read thermocouple voltage;

    If data is ready, Calculate the size of  code in uV (TC_uVolt = codes * 2048000/(32*32768));

    Convert cold-junction temperature into an equivalent thermoelectric voltage(cjVolt) using equations;

    Add TC_uVolt and cjVolt (in uVolt) and translate summation back into temperaure using equations (TC_temperature = VoltToTemp(TC_uVolt + cjVolt));

    }

    Also, attaching screenshots from Oscillloscope which shows communication between ADS112U04 and microcontroller. TX is data sent from microcontroller and RX is data received from ADS112U04.ADS_Communication.zip

  • Hi Heli,

    You actually have the TS and the CJ register settings using the internal temperature sensor of the ADS122U04 (register 1 is set to 0x01 in both cases which enables the temperature sensor mode.)  The returned values should be similar in both cases and they relatively similar.  It would  be good to verify using the other sensor as well to correlate the CJ temperature.

    Can you tell me what temperature you expect from the TC?  I am calculating about 0 deg C.  Also, could you take a series of conversions that is continuous and contiguous of the TC of roughly 10 to 20 samples so that I can determine if there is significant noise present?  One sample doesn't give me much information.

    Best regards,

    Bob B

  • Hi Heli,

    I made some manual calculation error previously.  First let's start with the TC.  The value transmitted is 0xA2FE, but as this is LSB first, the actual ADC code is 0xFEA2, which is a negative number when using binary 2's complement.  This ends up being -351 decimal.  Converting to a voltage, the value of one code is about 1.953uV.  So the value returned is -351*1.953uV = -685.5uV.

    Using a similar approach for the internal temperature sensor.  The value returned was 0x2915, but as this is LSB first data the actual returned value is 0x1529.  This data is 14-bit left-justified.  Reformatting the data the code value to use is 0x054A or 1354 decimal.  Converting to temperature 1354 * 0.03125 = 42.3 deg C.  If we convert from the TC table, 42.3 deg to mV we get slightly more than 1.694mV.

    If we add the TC voltage and the CJ voltage together,  -0.6855mV + 1.694mV = 1.0085mV.  Going back to the table, we see that this voltage results in approximately 25 deg C.  I say approximately as I used the values closest to a degree.  Interpolation of the tables would give a more precise result.

    Best regards,

    Bob B

  • Hi Bob,

    At Ambient temperature, we are getting TC voltage ≈ - 0.314 mV and CJ temperature ≈ 32°C (equivalent thermoelectric voltage,CJ_volt = 1.285mV) this results into final TC temperature ≈ 24°C (CJ_volt + TC_volt = 1.285 - 0.314 = 0.971 mV to look into table gives 24°C  ) which looks valid. But as we heat up the thermocouple to 50°C, we get  maximum TC voltage ≈ 0.101 mV with same CJ_temp = 32°C which results into final TC-temperature ≈ 35°C (too low,expected 50°C).

    The attached file shows TC raw data received from ADS at different time (TICK ms)  at Ambient temperature and hot temperature 50°C.

    TC_raw_data@temp23.txt
    IDX   TICK(ms)   value(Dec:Hex)      TICK_DELTA
       0       251    -158 :FF62  		:251
       1       501    -158 :FF62  		:250
       2       751    -158 :FF62  		:250
       3      1002    -158 :FF62  		:251
       4      1252    -158 :FF62  		:250
       5      1502    -159 :FF61  		:250
       6      1752    -159 :FF61  		:250
       7      2002    -159 :FF61  		:250
       8      2253    -159 :FF61  		:251
       9      2503    -159 :FF61  		:250
      10      2753    -159 :FF61  		:250
      11      3003    -159 :FF61  		:250
      12      3254    -159 :FF61  		:251
      13      3504    -159 :FF61  		:250
      14      3755    -159 :FF61  		:251
      15      4005    -159 :FF61  		:250
      16      4256    -159 :FF61  		:251
      17      4506    -159 :FF61  		:250
      18      4756    -159 :FF61  		:250
      19      5007    -159 :FF61  		:251
      20      5257    -159 :FF61  		:250
      21      5507    -159 :FF61  		:250
      22      5757    -159 :FF61  		:250
      23      6007    -159 :FF61  		:250
      24      6258    -159 :FF61  		:251
      25      6508    -159 :FF61  		:250
      26      6758    -160 :FF60  		:250
      27      7008    -159 :FF61  		:250
      28      7258    -159 :FF61  		:250
      29      7509    -160 :FF60  		:251
      30      7759    -160 :FF60  		:250
      31      8009    -160 :FF60  		:250
      32      8259    -160 :FF60  		:250
      33      8509    -160 :FF60  		:250
      34      8759    -160 :FF60  		:250
      35      9010    -160 :FF60  		:251
      36      9260    -160 :FF60  		:250
      37      9510    -160 :FF60  		:250
      38      9760    -160 :FF60  		:250
      39     10010    -160 :FF60  		:250
      40     10261    -160 :FF60  		:251
      41     10511    -160 :FF60  		:250
      42     10762    -160 :FF60  		:251
      43     11012    -160 :FF60  		:250
      44     11263    -160 :FF60  		:251
      45     11513    -160 :FF60  		:250
      46     11764    -160 :FF60  		:251
      47     12014    -160 :FF60  		:250
      48     12264    -160 :FF60  		:250
      49     12515    -160 :FF60  		:251
      50     12765    -160 :FF60  		:250
      51     13016    -160 :FF60  		:251
      52     13266    -160 :FF60  		:250
      53     13517    -160 :FF60  		:251
      54     13767    -160 :FF60  		:250
      55     14017    -160 :FF60  		:250
      56     14268    -160 :FF60  		:251
      57     14519    -160 :FF60  		:251
      58     14770    -160 :FF60  		:251
      59     15020    -160 :FF60  		:250
      60     15270    -161 :FF5F  		:250
      61     15521    -161 :FF5F  		:251
      62     15771    -161 :FF5F  		:250
      63     16022    -161 :FF5F  		:251
      64     16272    -161 :FF5F  		:250
      65     16523    -160 :FF60  		:251
      66     16774    -161 :FF5F  		:251
      67     17025    -161 :FF5F  		:251
      68     17275    -161 :FF5F  		:250
      69     17526    -161 :FF5F  		:251
      70     17777    -161 :FF5F  		:251
      71     18028    -161 :FF5F  		:251
      72     18278    -161 :FF5F  		:250
      73     18529    -161 :FF5F  		:251
      74     18779    -161 :FF5F  		:250
      75     19030    -161 :FF5F  		:251
      76     19281    -161 :FF5F  		:251
      77     19532    -161 :FF5F  		:251
      78     19783    -161 :FF5F  		:251
      79     20034    -161 :FF5F  		:251
      80     20285    -161 :FF5F  		:251
      81     20535    -161 :FF5F  		:250
      82     20786    -161 :FF5F  		:251
      83     21037    -161 :FF5F  		:251
      84     21288    -161 :FF5F  		:251
      85     21539    -161 :FF5F  		:251
      86     21790    -161 :FF5F  		:251
      87     22041    -161 :FF5F  		:251
      88     22292    -161 :FF5F  		:251
      89     22543    -161 :FF5F  		:251
      90     22794    -161 :FF5F  		:251
      91     23045    -161 :FF5F  		:251
      92     23296    -161 :FF5F  		:251
      93     23547    -161 :FF5F  		:251
      94     23798    -162 :FF5E  		:251
      95     24048    -162 :FF5E  		:250
      96     24299    -162 :FF5E  		:251
      97     24550    -162 :FF5E  		:251
      98     24801    -161 :FF5F  		:251
      99     25052    -162 :FF5E  		:251
     100     25303    -162 :FF5E  		:251
     101     25554    -162 :FF5E  		:251
     102     25804    -162 :FF5E  		:250
     103     26055    -162 :FF5E  		:251
     104     26306    -162 :FF5E  		:251
     105     26557    -162 :FF5E  		:251
     106     26808    -162 :FF5E  		:251
     107     27059    -162 :FF5E  		:251
     108     27310    -162 :FF5E  		:251
     109     27561    -162 :FF5E  		:251
     110     27811    -162 :FF5E  		:250
     111     28062    -162 :FF5E  		:251
     112     28313    -162 :FF5E  		:251
     113     28564    -163 :FF5D  		:251
     114     28815    -162 :FF5E  		:251
     115     29066    -162 :FF5E  		:251
     116     29316    -162 :FF5E  		:250
     117     29567    -163 :FF5D  		:251
     118     29818    -162 :FF5E  		:251
     119     30069    -162 :FF5E  		:251
     120     30320    -163 :FF5D  		:251
     121     30571    -163 :FF5D  		:251
     122     30821    -163 :FF5D  		:250
     123     31072    -163 :FF5D  		:251
     124     31323    -163 :FF5D  		:251
     125     31574    -163 :FF5D  		:251
     126     31824    -163 :FF5D  		:250
     127     32075    -163 :FF5D  		:251
     128     32325    -163 :FF5D  		:250
     129     32576    -163 :FF5D  		:251
     130     32827    -163 :FF5D  		:251
     131     33078    -163 :FF5D  		:251
     132     33329    -163 :FF5D  		:251
     133     33580    -163 :FF5D  		:251
     134     33831    -163 :FF5D  		:251
     135     34082    -163 :FF5D  		:251
     136     34332    -163 :FF5D  		:250
     137     34583    -163 :FF5D  		:251
     138     34834    -163 :FF5D  		:251
     139     35085    -163 :FF5D  		:251
     140     35335    -163 :FF5D  		:250
     141     35586    -163 :FF5D  		:251
     142     35837    -163 :FF5D  		:251
     143     36088    -163 :FF5D  		:251
     144     36339    -163 :FF5D  		:251
     145     36590    -163 :FF5D  		:251
     146     36840    -163 :FF5D  		:250
     147     37091    -163 :FF5D  		:251
     148     37342    -163 :FF5D  		:251
     149     37593    -163 :FF5D  		:251
     150     37844    -163 :FF5D  		:251
     151     38095    -163 :FF5D  		:251
     152     38346    -163 :FF5D  		:251
     153     38596    -163 :FF5D  		:250
     154     38847    -163 :FF5D  		:251
     155     39098    -163 :FF5D  		:251
     156     39349    -163 :FF5D  		:251
     157     39600    -164 :FF5C  		:251
     158     39851    -163 :FF5D  		:251
     159     40101    -163 :FF5D  		:250
     160     40352    -163 :FF5D  		:251
     161     40603    -163 :FF5D  		:251
     162     40854    -164 :FF5C  		:251
     163     41105    -163 :FF5D  		:251
     164     41356    -164 :FF5C  		:251
     165     41606    -163 :FF5D  		:250
     166     41857    -164 :FF5C  		:251
     167     42108    -163 :FF5D  		:251
     168     42359    -163 :FF5D  		:251
     169     42610    -163 :FF5D  		:251
     170     42861    -164 :FF5C  		:251
     171     43111    -164 :FF5C  		:250
     172     43362    -164 :FF5C  		:251
     173     43613    -163 :FF5D  		:251
     174     43864    -164 :FF5C  		:251
     175     44115    -164 :FF5C  		:251
     176     44366    -164 :FF5C  		:251
     177     44617    -164 :FF5C  		:251
     178     44868    -164 :FF5C  		:251
     179     45119    -164 :FF5C  		:251
     180     45370    -164 :FF5C  		:251
     181     45620    -164 :FF5C  		:250
     182     45871    -164 :FF5C  		:251
     183     46122    -164 :FF5C  		:251
     184     46373    -164 :FF5C  		:251
     185     46624    -164 :FF5C  		:251
     186     46875    -164 :FF5C  		:251
     187     47126    -164 :FF5C  		:251
     188     47376    -164 :FF5C  		:250
     189     47627    -164 :FF5C  		:251
     190     47878    -164 :FF5C  		:251
     191     48128    -164 :FF5C  		:250
     192     48379    -164 :FF5C  		:251
     193     48630    -164 :FF5C  		:251
     194     48881    -164 :FF5C  		:251
     195     49132    -164 :FF5C  		:251
     196     49383    -164 :FF5C  		:251
     197     49634    -164 :FF5C  		:251
     198     49885    -164 :FF5C  		:251
     199     50136    -164 :FF5C  		:251
     200     50386    -164 :FF5C  		:250
     201     50637    -165 :FF5B  		:251
     202     50888    -164 :FF5C  		:251
     203     51139    -165 :FF5B  		:251
     204     51390    -165 :FF5B  		:251
     205     51641    -165 :FF5B  		:251
     206     51892    -165 :FF5B  		:251
     207     52143    -165 :FF5B  		:251
     208     52394    -165 :FF5B  		:251
     209     52644    -165 :FF5B  		:250
     210     52895    -165 :FF5B  		:251
     211     53146    -165 :FF5B  		:251
     212     53397    -165 :FF5B  		:251
     213     53648    -165 :FF5B  		:251
     214     53898    -165 :FF5B  		:250
     215     54149    -165 :FF5B  		:251
     216     54400    -165 :FF5B  		:251
     217     54651    -165 :FF5B  		:251
     218     54902    -166 :FF5A  		:251
     219     55153    -166 :FF5A  		:251
     220     55404    -166 :FF5A  		:251
     221     55655    -165 :FF5B  		:251
     222     55906    -165 :FF5B  		:251
     223     56156    -165 :FF5B  		:250
     224     56407    -165 :FF5B  		:251
     225     56658    -166 :FF5A  		:251
     226     56909    -166 :FF5A  		:251
     227     57160    -166 :FF5A  		:251
     228     57411    -166 :FF5A  		:251
     229     57661    -166 :FF5A  		:250
     230     57912    -166 :FF5A  		:251
     231     58163    -166 :FF5A  		:251
     232     58414    -166 :FF5A  		:251
     233     58665    -166 :FF5A  		:251
     234     58916    -166 :FF5A  		:251
     235     59167    -166 :FF5A  		:251
     236     59418    -166 :FF5A  		:251
     237     59669    -166 :FF5A  		:251
     238     59920    -166 :FF5A  		:251
     239     60171    -166 :FF5A  		:251
     240     60422    -166 :FF5A  		:251
     241     60672    -166 :FF5A  		:250
     242     60923    -166 :FF5A  		:251
     243     61174    -166 :FF5A  		:251
     244     61425    -166 :FF5A  		:251
     245     61676    -166 :FF5A  		:251
     246     61926    -166 :FF5A  		:250
     247     62177    -167 :FF59  		:251
     248     62428    -166 :FF5A  		:251
     249     62679    -167 :FF59  		:251
     250     62930    -167 :FF59  		:251
     251     63181    -167 :FF59  		:251
     252     63432    -166 :FF5A  		:251
     253     63683    -166 :FF5A  		:251
     254     63933    -167 :FF59  		:250
     255     64185    -167 :FF59  		:252
    256
    
    TC_raw_data@temp50.txt
    IDX   TICK(ms)   value(Dec:Hex)      TICK_DELTA
       0       250     -28 :FFE4  		:250
       1       500     -28 :FFE4  		:250
       2       750     -27 :FFE5  		:250
       3      1000     -27 :FFE5  		:250
       4      1250     -28 :FFE4  		:250
       5      1500     -26 :FFE6  		:250
       6      1750     -28 :FFE4  		:250
       7      2000     -24 :FFE8  		:250
       8      2250     -29 :FFE3  		:250
       9      2500     -31 :FFE1  		:250
      10      2751     -24 :FFE8  		:251
      11      3001     -29 :FFE3  		:250
      12      3251     -29 :FFE3  		:250
      13      3501     -30 :FFE2  		:250
      14      3751     -30 :FFE2  		:250
      15      4001     -33 :FFDF  		:250
      16      4251     -33 :FFDF  		:250
      17      4501     -33 :FFDF  		:250
      18      4752     -32 :FFE0  		:251
      19      5002     -30 :FFE2  		:250
      20      5252     -29 :FFE3  		:250
      21      5501     -31 :FFE1  		:249
      22      5751     -31 :FFE1  		:250
      23      6001     -31 :FFE1  		:250
      24      6251     -32 :FFE0  		:250
      25      6501     -33 :FFDF  		:250
      26      6751     -32 :FFE0  		:250
      27      7001     -33 :FFDF  		:250
      28      7251     -33 :FFDF  		:250
      29      7500     -31 :FFE1  		:249
      30      7750     -33 :FFDF  		:250
      31      8000     -33 :FFDF  		:250
      32      8250     -33 :FFDF  		:250
      33      8500     -27 :FFE5  		:250
      34      8750     -35 :FFDD  		:250
      35      9000     -32 :FFE0  		:250
      36      9250     -31 :FFE1  		:250
      37      9499     -38 :FFDA  		:249
      38      9749     -35 :FFDD  		:250
      39      9999     -33 :FFDF  		:250
      40     10249     -33 :FFDF  		:250
      41     10499     -35 :FFDD  		:250
      42     10749     -35 :FFDD  		:250
      43     11000     -36 :FFDC  		:251
      44     11250     -37 :FFDB  		:250
      45     11500     -37 :FFDB  		:250
      46     11750     -38 :FFDA  		:250
      47     12001     -37 :FFDB  		:251
      48     12251     -37 :FFDB  		:250
      49     12501     -37 :FFDB  		:250
      50     12751     -37 :FFDB  		:250
      51     13001     -38 :FFDA  		:250
      52     13251     -37 :FFDB  		:250
      53     13502     -19 :FFED  		:251
      54     13752     -20 :FFEC  		:250
      55     14002     -17 :FFEF  		:250
      56     14252     -17 :FFEF  		:250
      57     14503     -18 :FFEE  		:251
      58     14753     -18 :FFEE  		:250
      59     15003     -19 :FFED  		:250
      60     15253     -17 :FFEF  		:250
      61     15503     -16 :FFF0  		:250
      62     15753     -14 :FFF2  		:250
      63     16003     -14 :FFF2  		:250
      64     16253     -14 :FFF2  		:250
      65     16503      -8 :FFF8  		:250
      66     16753     -12 :FFF4  		:250
      67     17004     -12 :FFF4  		:251
      68     17254     -13 :FFF3  		:250
      69     17504     -13 :FFF3  		:250
      70     17755     -13 :FFF3  		:251
      71     18005     -14 :FFF2  		:250
      72     18255     -14 :FFF2  		:250
      73     18505     -14 :FFF2  		:250
      74     18756     -13 :FFF3  		:251
      75     19006     -11 :FFF5  		:250
      76     19256      -9 :FFF7  		:250
      77     19507      -5 :FFFB  		:251
      78     19757      -3 :FFFD  		:250
      79     20008      -2 :FFFE  		:251
      80     20258      -1 :FFFF  		:250
      81     20509       0 :0000  		:251
      82     20759       2 :0002  		:250
      83     21010       3 :0003  		:251
      84     21260       4 :0004  		:250
      85     21511       5 :0005  		:251
      86     21762       6 :0006  		:251
      87     22012       8 :0008  		:250
      88     22263       9 :0009  		:251
      89     22513      10 :000A  		:250
      90     22764      11 :000B  		:251
      91     23015      12 :000C  		:251
      92     23265      13 :000D  		:250
      93     23515      14 :000E  		:250
      94     23766      16 :0010  		:251
      95     24016      17 :0011  		:250
      96     24267      18 :0012  		:251
      97     24517      20 :0014  		:250
      98     24768      21 :0015  		:251
      99     25018      22 :0016  		:250
     100     25269      22 :0016  		:251
     101     25519      23 :0017  		:250
     102     25770      24 :0018  		:251
     103     26020      25 :0019  		:250
     104     26271      27 :001B  		:251
     105     26521      28 :001C  		:250
     106     26772      27 :001B  		:251
     107     27022      28 :001C  		:250
     108     27273      30 :001E  		:251
     109     27523      30 :001E  		:250
     110     27774      31 :001F  		:251
     111     28024      32 :0020  		:250
     112     28275      32 :0020  		:251
     113     28525      34 :0022  		:250
     114     28776      34 :0022  		:251
     115     29026      35 :0023  		:250
     116     29277      35 :0023  		:251
     117     29527      36 :0024  		:250
     118     29778      37 :0025  		:251
     119     30028      37 :0025  		:250
     120     30279      39 :0027  		:251
     121     30529      39 :0027  		:250
     122     30780      39 :0027  		:251
     123     31030      40 :0028  		:250
     124     31281      41 :0029  		:251
     125     31531      42 :002A  		:250
     126     31782      42 :002A  		:251
     127     32032      43 :002B  		:250
     128     32283      43 :002B  		:251
     129     32534      43 :002B  		:251
     130     32784      45 :002D  		:250
     131     33035      46 :002E  		:251
     132     33285      46 :002E  		:250
     133     33536      45 :002D  		:251
     134     33786      46 :002E  		:250
     135     34037      48 :0030  		:251
     136     34287      48 :0030  		:250
     137     34538      47 :002F  		:251
     138     34788      48 :0030  		:250
     139     35039      48 :0030  		:251
     140     35289      48 :0030  		:250
     141     35540      49 :0031  		:251
     142     35790      49 :0031  		:250
     143     36041      49 :0031  		:251
     144     36291      50 :0032  		:250
     145     36542      50 :0032  		:251
     146     36793      51 :0033  		:251
     147     37043      52 :0034  		:250
     148     37294      40 :0028  		:251
     149     37544      46 :002E  		:250
     150     37795      47 :002F  		:251
     151     38045      48 :0030  		:250
     152     38296      46 :002E  		:251
     153     38546      43 :002B  		:250
     154     38797      42 :002A  		:251
     155     39047      46 :002E  		:250
     156     39298      42 :002A  		:251
     157     39548      47 :002F  		:250
     158     39799      45 :002D  		:251
     159     40049      46 :002E  		:250
     160     40300      43 :002B  		:251
     161     40550      45 :002D  		:250
     162     40801      45 :002D  		:251
     163     41051      43 :002B  		:250
     164     41302      44 :002C  		:251
     165     41552      42 :002A  		:250
     166     41803      44 :002C  		:251
     167     42053      42 :002A  		:250
     168     42304      44 :002C  		:251
     169     42554      41 :0029  		:250
     170     42805      43 :002B  		:251
     171     43055      40 :0028  		:250
     172     43306      43 :002B  		:251
     173     43556      40 :0028  		:250
     174     43807      41 :0029  		:251
     175     44057      39 :0027  		:250
     176     44308      40 :0028  		:251
     177     44558      39 :0027  		:250
     178     44808      40 :0028  		:250
     179     45059      38 :0026  		:251
     180     45309      39 :0027  		:250
     181     45560      37 :0025  		:251
     182     45810      38 :0026  		:250
     183     46061      37 :0025  		:251
     184     46311      37 :0025  		:250
     185     46562      37 :0025  		:251
     186     46813      36 :0024  		:251
     187     47063      37 :0025  		:250
     188     47314      35 :0023  		:251
     189     47565      36 :0024  		:251
     190     47815      35 :0023  		:250
     191     48066      35 :0023  		:251
     192     48317      34 :0022  		:251
     193     48567      35 :0023  		:250
     194     48818      33 :0021  		:251
     195     49068      34 :0022  		:250
     196     49319      32 :0020  		:251
     197     49570      33 :0021  		:251
     198     49821      32 :0020  		:251
     199     50071      32 :0020  		:250
     200     50322      32 :0020  		:251
     201     50572      32 :0020  		:250
     202     50823      31 :001F  		:251
     203     51073      31 :001F  		:250
     204     51324      30 :001E  		:251
     205     51575      30 :001E  		:251
     206     51826      30 :001E  		:251
     207     52077      30 :001E  		:251
     208     52327      30 :001E  		:250
     209     52578      28 :001C  		:251
     210     52828      29 :001D  		:250
     211     53079      28 :001C  		:251
     212     53330      28 :001C  		:251
     213     53581      27 :001B  		:251
     214     53833      27 :001B  		:252
     215     54083      26 :001A  		:250
     216     54334      26 :001A  		:251
     217     54584      26 :001A  		:250
     218     54835      26 :001A  		:251
     219     55086      25 :0019  		:251
     220     55337      25 :0019  		:251
     221     55588      24 :0018  		:251
     222     55839      24 :0018  		:251
     223     56089      24 :0018  		:250
     224     56340      23 :0017  		:251
     225     56591      23 :0017  		:251
     226     56842      22 :0016  		:251
     227     57093      22 :0016  		:251
     228     57343      22 :0016  		:250
     229     57594      21 :0015  		:251
     230     57844      20 :0014  		:250
     231     58095      20 :0014  		:251
     232     58345      19 :0013  		:250
     233     58596      19 :0013  		:251
     234     58846      19 :0013  		:250
     235     59097      18 :0012  		:251
     236     59347      18 :0012  		:250
     237     59598      17 :0011  		:251
     238     59848      17 :0011  		:250
     239     60099      16 :0010  		:251
     240     60350      16 :0010  		:251
     241     60601      16 :0010  		:251
     242     60852      15 :000F  		:251
     243     61103      15 :000F  		:251
     244     61353      15 :000F  		:250
     245     61603      14 :000E  		:250
     246     61854      14 :000E  		:251
     247     62104      13 :000D  		:250
     248     62355      13 :000D  		:251
     249     62605      13 :000D  		:250
     250     62856      12 :000C  		:251
     251     63107      12 :000C  		:251
     252     63357      12 :000C  		:250
     253     63608      11 :000B  		:251
     254     63859      11 :000B  		:251
     255     64109      10 :000A  		:250
    256
    

  • Hi Heli,

    Why did you assume the CJ temperature stayed the same?  And are you measuring the CJ with the internal temperature sensor of the ADS112U04 or with the external temp sensor?  Have you compared the results of the 2 sensors? The cold junction should be in a thermally isolated point of where the TC wire connects to the the PCB.  If you have connectors with dissimilar metals, there will be multiple CJs.  I saw a case where a customer had to measure the temperature inside the connector, that is how critical the CJ measurement is to getting a good result.  If the ADS112U04 is not in the thermally isolated area, the CJ temperature may not be measured properly.  I would suggest that you try to measure the CJ after every 10 TC measurements.  If the data rate is 20sps, this would be a CJ measurement every 500ms.

    Best regards,

    Bob B

  • Hi Bob,

    I'm measuring the CJ with internal temperature sensor of ADS as suggested in datasheet. How do you measure CJ with external temp sensor?

    Attached is the thermocouple image that we are using (approx 2 ft. long). ADS112U04 and LM94022 (quite close to Thermocouple connects to the the board) are 2 ft away from the point at which we apply heat. So if we heat up the thermocouple, it's not going to affect CJ temp and CJ stays same.

    Attached files show CJ temp raw data received from ADS (doesn't change much, CJ temp 32°C ) and TC volt with thermocouple heated to 100°C (Max TC volt is 2.166 mV, final TC temperature 32°C + 52°C = 82°C, expected  100°C ).

    TC_CJ_data.zip

    TC_Image.zip

  • Hi Heli,

    I see there is some confusion.  The internal temperature sensor is the ADS112U04 and the external temperature sensor is the LM94022.  Based on your previous register settings you never actually measure the LM94022.  I would assume the LM94022 is the device that is at the cold junction (CJ).

    Unfortunately I cannot see all of connection points, but it does appear you are using a board stackup and the TC connector in on the bottom of the stackup.  The CJ measurement must be taken at the precise location of the connector.  If the ADS112U04 is not placed at the connector, you will not get a valid measurement.

    As to the stability of the CJ temperature, it will change due to convection currents and the heating of objects around the CJ.  It may not be more than a few degrees, but it is not static.

    Best regards,

    Bob B

  • Hi Heli,

    Can you show me the PCB layout and where the CJ measurement is being made?

    Best regards,

    Bob B

  • Hi Heli,

    From your previous post you showed the following:

    Register

    Settings

    00h

    B1h

    01h

    01h

    02h

    00h

    03h

    00h

    04h

    48h

    As I stated in a previous post, setting the Register 0x01 to the value of 1, turns on the internal temperature sensor, so you will not read the value of the mux input settings set in Register 0x00.  The TS bit setting takes precedence over the mux setting.

    To measure the cold junction, you use one method over the other.  You cannot use both at the same time.  To use the LM94022 you need to set Register 0x01 to 0x00 instead of 0x01.

    Best regards,

    Bob B

  • Hi Bob,

    AIN3 of ADS112U04 is conected to OUT of LM90422. So changing a register 00h to B1h (AINp=AIN3, AINn = AVSS) doesn't measure the cold junction temperature using the LM90422? There is a note in datasheet below Table 25, which  shows register setting to measure the cold junction temperature using the LM90422. 

    Also the 9.2.1.2 Detailed Design Procedure suggests the algorithm to compensate for the cold-junction temperature, using the temperature sensor mode of the ADS112U04.

    If I change register 01h to 00h, The value transmitted from IC is 0xE635 but as this is LSB first, the actual ADC code is 0x35E6 (Decimal 13798).  Converting to a voltage, the value of one code is about 62.5 uV (Vref / (gain * 2^ 15)) ,Vref = 2048000uV ,gain = 1).  So the value returned is 13798*62.5 uV =862375 uV = 862.375 mV . So 862.375 mV is tha voltage to look into table to get CJ temperature?

  • Hi Heli,

    Yes, once the conversion to voltage is complete for the LM94022, you would lookup the value in the table.  I see the table is showing approximately 31.5 deg C which seems to correlate with the ADS112U04 internal temperature sensor.

    I would still like to see the PCB layout around the TC input and the placement of both the ADS112U04 and the LM94022 as it relates to the positioning of the cold-junction.  A picture of that area would also be useful if you cannot send me the gerbers.

    In the datasheet for section 9.2.1 the block diagram shows the use of the LM94022 to measure the temperature of the CJ.  In the design discussion midway through page 52 is the possible use of the internal temperature sensor for the CJ measurement.  The last paragraph of the page it is mentioned that there are conditions where the CJ measurement using the internal temperature sensor may not be sufficient.  At that point the discussion changes to using a device such as the LM94022.

    The note at Table 25 states the settings when using the LM94022 as shown in the block diagram.  Note that the table does not show nor is it discussed to turn on the internal temperature but rather only changing the mux settings for the measurement.

    So depending on placement of the ADS112U04 relative to the CJ it may be possible to use the internal temperature sensor.  But in any case you would use the best method for measuring the CJ.

    One other thing I would like to ask is how your are determining the expected temperature?  How do you know to expect 50 deg or 100 deg?

    Best regards,

    Bob B

  • Hi Bob,

    Attaching board layout and assembly files. Below is info that you may require.

    The thermal coupler connector is a Spark Fun, THERMOCOUPLE CONN - PCC-SMP-K, Part number:

    PRT-13612

    The Type-K thermal coupler connector (ECB-J6 in board layout file) pin + is located as close as possible to the R6 resistor and -Pin is connected to the R7 as close as possible. The PRT-13612 is a through hole connector, which is on the top side of the board, while the remaining Temp sensor / Type-k amplifier circuit components are on the bottom side of the board. The board has a 4-layer stack-up with a dedicated ground and power plane.

     

    Below is the board characteristics:

    Board Dimensions: 4”x 7”

    Thickness: .092”

    Number of Layers: 4

    Copper Thickness: 2 oz, 2oz, 2oz, 2oz

    Material: FR-4 Copper plated HASL

    Masking: Green

    Silkscreen: white

    Build Standards: IPC-600F Class III

    Board_layout.zip

  • Hi Heli,

    We are almost there...can I see the same PDF plot, but as individual layers instead of the completed stackup?

    Thanks,

    Bob B

  • Hi Bob,

    To determine the expected TC temperature, I am using another thermocouple which is connected to digital multimeter.  While heating up thermocouples, I place both TC close to each other so I can compare temperature from both TC at the same time, at same temperature.

    Attaching picture of area where ADS and LM94022 are mounted.

  • Hi Bob,

    May be this is what you're lookng for:

    board_layout.pdf

  • Hi Heli,

    You have given me a lot of good information.  I will respond back as soon as I can with some recommendations.  One last piece of information that I lack and that is information as to how you are determining the temperature of the TC?

    Thanks,

    Bob B

  • Hi Heli,

    I don't believe you are doing anything incorrect in your procedure.  What is left is the accuracy as it relates to the TC you are using, the CJ measurement and the accuracy of the temperature measurement you are basing your thermocouple temperature in your testing.  It appears that the internal temperature of the ADC and the external temperature are in fairly close agreement.  I do believe you could improve the isolated area of the CJ.  I would suggest reading the following document:

    http://www.ti.com/lit/an/sbaa189/sbaa189.pdf

    Although this document is pertaining specifically to the ADS1118, the principles of measurement are the same for any TC.  In particular look at the section on CJ on page 3.  Ideally what you should have is a measurement of the temperature at the input connectors.  In your layout you have the connectors passing through the board with little direct contact with an isolated copper area.  There are significant areas of copper, but nothing that will stabilize the connection points at the connector entry itself.  Both the internal temperature sensor of the ADS112U04 and the LM94022 are outside of the connections of the TC and closer to one side instead of in between.

    The ADS112U04EVM user's guide shows an approach I used for the EVM to create an isothermal area. 

    http://www.ti.com/lit/ug/sbau288/sbau288.pdf

    Look at the layout area around the input connector.  The board layout is shown toward the end of the user's guide.  The connections are at J6 for AIN1 and AIN2.  You will see that on each layer I have cut around the rest of the copper area and run vias through from top to bottom to keep this area connected and stable for the copper area.  On the bottom-side I use an RTD to measure the CJ temperature (RT1) which is placed in the isothermal area and between the two input pins of the connector.  Even this could be improved if the EVM were designed specifically for a TC measurement and not for different possible measurements.

    Is the layout method you are using causing the issues you are seeing?  Probably not, but I offer these suggestions on possible future improvement.  It is possible that you will see significant drift across the copper area in your present layout.

    I still have not heard how you are testing.  First I would try a voltage input measurement with a DC voltage source or TC simulator.  You could also try measuring the TC in both an ice water bath and with boiling water to see what differences you are seeing in both directions from room temp.

    Best regards,

    Bob B

  • Hi Bob,

    Thanks for detailed explanation. We have tried with function generator for voltage input measurement. Attached image shows function generator details and settings we have made (selected square wave with voltage range of 1-50 mv and duty cycle of 50% ). Also attaching graphs and TC volt measured at ambient temperature.

    For testing temperature of TC connected to board, we are using another thermocouple connected to multimeter (Keithley 2110-100 5 1/2-digit Multimeter) TC input and place both together while measuring data. For hot temperature, we use heat gun with keeping both TC close to each other so we can compare both TC data (should be equal but we have observed temperature of TC connected to board is low compared to TC connected to multimeter ).

    We will try  measuring the thermocouple in ice water bath and with boiling water and get back to you with results.

    Input_volt_measurement.zip

  • HI Bob,

    Here are the TC volt readings taken with TC placed in ice water, boiling water and then again in ice water. We have also measured ice water and boiling water temperaure using another TC connected to multimeter and it was 0.2°C and 98°C respectively.

    TC_volt_measurement_ice_boiling_water.zip

  • Hi Helli,

    Your input voltage tests are not conclusive.  You show that the function generator output is 1 to 50mV, but the ADS112U04 is showing 0 to a little over 2mV.  However, as the function generator is grounded via the source, connecting the lead to the AINN pin will actually set the pin to GND and outside of the PGA input range.  So it takes a little effort to make sure the generator is in the correct input range.

    The hot/cold water tests are interesting.  The plot almost appears to have a connection issue.  At one point the input appears to be rising, then jumps low and again appears to be rising.  Just prior to setting the TC into the ice bath a second time, the temperature spikes up significantly to almost the correct reading.  So it is difficult to interpret why the temperature rises so slowly (and is very noisy) going higher in temperature, but drops quickly when going to lower temperatures.

    There would appear that something could be loading the circuit.  Could you check the DC voltage at the TC inputs?  Check the inputs with both the TC connected and not connected.  I would also suggest trying some different gain settings to see what happens.

    Best regards,

    Bob B

  • Hi Bob,

    DC voltage measured at TC inputs with TC connected is -0.2 mV and with TC disconnected is  2.6 mV (measured with gain=1,4,8,32,64, observed same voltage).

    Also, we tried hot/cold water tests with different gain (gain = 1,4,8,64), attaching test data and plots. Previously sent hot-cold water test results were taken with gain 32.

    TC_volt_ice_boiled_water_tests.zip

  • Hi Bob,

    There was a typo in the last post. DC voltage measured at TC inputs with TC disconnected is  2.6 V, not the mV.

  • Hi Heli,

    I should have been a little more clear in what I was asking for in the measurements.  I would like to know AINP to AGND and AINN to AGND.  I assume your measurements were across the inputs?

    Best regards,

    Bob B

  • Yes, measurement taken were across the inputs AINn (AIN1) and AINp (AIN0). So voltage measured with AIN1 connected to AGND (TC disconnected) is 2.9 V and AIN0 connected to AGND is -0.50 (+/- 0.30) mv, with AIN1 to AGND (TC connected) is 1.65 V and AIN0 to AGND is 1.65 V (both same with TC connected).

  • Hi Bob,

    Summation of CJ temp and TC temp (translated from TC volt) gives the accurate temperature of thermocouple. Tried hot-cold tests with different gain (data rate 660 SPS, turbo mode enbaled) and observed almost same maximum and minimum TC voltage.  Maximum TC volt measured is 2.5 mv (equivalent temperture from table is 61°C, offset voltage is not subtracted)  and CJ temp is 38°C so addition of both temp gives final temperature of thermocouple 99°C (nearly equal to temperature of boiling water) and minimum TC volt measured is -1.4 mV (equivalent temperture from table is -37°C) so summation of both gives 1°C, which is almost close to temperature of ice water. Attaching plots and data which shows CJ,IC temperature, TC/Offset (mid supply) voltage.

    Also, just wondering what happens with ADS112U04 and LM94022 at temperature below the lowest limit (for ADS –40°C) and above the highest limit (for ADS +125°C)? How ADS behaves and what it outputs at 135°C or -50°C?

    Hot_cold_tests.zip

  • Hi Heli,

    I'm glad to see you got more consistent readings.  Keep in mind that the TC itself has some error associated with it and depending on actual TC used could have error of +/- 2.2 deg C.

    As to the ADS112U04 operating temperature range, the specifications are characterized for the -40 to 125 deg C and operation outside of this range is not guaranteed. At first you might see some performance degradation, but with very cold temperatures the internal oscillator may not start and communication may not be possible.  At high temperatures you need to also consider that not only could there be performance degradation, but the part itself could be damaged if the junction temperature of the device goes beyond 150 deg C (as given in the absolute maximum ratings table).

    Now the operating temperature of the device does not directly relate to the measurement of the TC itself.  The TC temperature could be vastly outside of the limits of the ADC, but as long as the CJ temperature is within the operating parameters of whatever device is measuring the cold junction you should be ok.

    Best regards,

    Bob B

  • Hi Bob,

    I would like to know what is expected  LM94022 output and ADS112U04 outpt with Temperature sensor mode disabled / enabled at temperature -55°C? Does ADS give lowest 16-bit value 8000h as an output or it's not guaranteed? Can ADS112U04  outputs correct cold-junction voltage using LM94022  below -50°C, e.g. 1304mv (for GS=00,lowest is 1299mv at -50°C) at -51°C?

  • Hi Hiral,

    I believe I already answered this question in my previous post.  The operational range of the ADS112U04 is -40 to 125 deg C and the LM94022 is -50 to 150 deg C.  We cannot guarantee any performance outside of the device operating temperature.  If your cold-junction is that low, I will suspect you will have other issues with other devices on your PCB, in particular the micro.

    The cold junction is the point where the TC connects to the PCB not the temperature the of the TC.  Do you really expect the PCB to be that cold?  The ADS112U04 will most likely fail to function at all beyond -40 deg C.

    Best regards,

    Bob B

  • Thanks Bob. I just got to know the microcontroller which I'm using operates in the –40 to +105 °C temperature range, so now it doesn't  matter how ADS112U04/LM94022 behaves below -40°C as micro functioning is not guaranteed at this temperature.