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.

RE: ADS122U04: RTD calculation gives incorrect temperature

Other Parts Discussed in Thread: TIDA-01526, ADS122U04

Hi Bob B

       Thank you very much for your reply. I found the schematic diagram you said. Without R23, the communication is normal. The reading and writing of ads122u04 register is completely correct. Now I test the program about tida-01526 downloaded from the official website. After the data is converted into the temperature, it is much different from the actual temperature. The room temperature of the pt1000rtd I connected is about 20 degrees Celsius, and after the data is converted, it is displayed as about 14 degrees Celsius. I hope you can help me analyze it again. My R13 is 3.9k ohm. My register configuration is as follows:

Register RTD1 RTD2
00h 05h 65h
01h 0Ah 0Ah
02h 04h 04h
03h A1h A1h

Thank you very much!

  • Hi User5877261,

    I split the thread from the previous topic as the question changed from initial communication to actually measuring temperature with the ADS122U04 using TIDA-01526.  Can you tell me more about the RTD you are using and in particular how many wires?  Do you have R17 through R20 installed?  Can you tell me the actual conversion result value for each RTD measured?  I would prefer the 24-bit hex value prior to any conversion to temperature.

    Best regards,

    Bob B

  • Hi Bob B

        I'm glad to hear from you. I've mixed up the posts I posted! Again, I use the two-wire PT1000, R13 with 3900 ohms. R17 to R20 are installed. The register setting of my experiment today is register 0 (61H), register 1 (0ah), register 2 (03h), register 3 (a1h). My room temperature is about 20 ℃, and PT1000 is placed at room temperature. The ad value I receive is 447659. After the interpolation conversion in the program, a very unusual temperature value is obtained. I use a multimeter to measure the resistance of PT1000, which is 1089 ohms. Please help me analyze. What's the problem?
         

    Thank you very much.

  • Hi User5877261,

    With your original register settings, those settings were for PT100.  As you are using PT1000, you cannot use more than a gain of 2 at room temperature as you will exceed the input measurement range at a gain of 4 and 250uA of IDAC current.

    For your second set of register settings you are using 100uA of IDAC current.  When using a 3900 Ohm reference resistor, the voltage output is only 0.39V and the minimum reference for the ADS122U04 is 0.75V.

    So, pick a valid operating range and then let's see where we are with respect to the code results.  Make sure you have a valid reference voltage for the ADS122U04 and then verify that the output across the resistor agrees with the calculated value.  Then measure the voltage across the RTD and report back to me the measured voltages and the code being returned by the ADC.

    Best regards,

    Bob B

  • Hi Bob B

              Thank you for your reply. I just readjusted the register settings and recorded the relevant parameters,

    register0 63h AD:2264792; Voltage at both ends of PT1000:0.275VR13 voltage at both ends:0.984V
    register1 0Ah
    register2 04h
    register3 A1h

    This is the first group;

    register0 61h AD:1132448; Voltage at both ends of PT1000:0.275VR13 voltage at both ends:0.984V
    register1 0Ah
    register2 04h
    register3 A1h

    This is group two,

    Thank you very much!

  • Hi,

    I don't think the results are very far off.  By doubling the PGA gain group 2 is 1/2 the output code of group1 which is correct.  Could you take one more measurement for me and measure the actual resistance of the reference resistor to see how close it is to 3.9k?

    Thanks,

    Bob B 

  • Hi Bob B

          In addition, according to the first set of data I tested above, ad value is 2264792. According to this data, I look up the table and interpolate to get the temperature. What I get is a negative number. When I look up the table and interpolate with the second set of data, the data is also wrong, because the interpolation function is the same, and the delivery parameters (2264792 and 1132448) are obviously different, which is what puzzles me.

       Thank you very much!

  • Hi User5877261,

    You are correct about the equal sign and that is a mistake in the document.  I also made a mistake in my quick calculations. The code 2264792 would be appropriate for a gain of 1 and a gain of 2 should be approximately double that number or 4529584.

    The voltage values agree with 250uA of IDAC current and 3900 Ohms Rref, but the output code results do not make much sense, as you have noted. It is interesting to note that the output code is approximately 1/2 of the expected, and the internal reference is approximately 2 times greater than the external reference.  According to the register information you sent, the register settings for register 1 is appropriate, but I'm wondering if the register has been written correctly.  The default register setting would use the internal reference which would explain why the codes are off from what they should be.  Can you verify that the registers have been written correctly by reading back the contents?

    Best regards,

    Bob B

  • Hi Bob B

          Sorry, we have a holiday, so reply late, your reply let me find the root cause of the problem, thank you so much! It's true that the value of register 1 is not written in, which causes the received value to have problems. I modified the delay after the write command to ensure that the read back data is consistent with the written data! After that, the data read back is normal. In addition, can you understand that the ad value interpolation table provided by the example program is a data table under the configuration of PGA = 2, Rref = 3900 ohm parameters. If the value of PGA is changed, then the table data can also be applied by multiplying or dividing by proportion?

     Thank you very much!