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.

ADS1248: Reading PT1000 Temp Sensors

Part Number: ADS1248


I am trying to get temperature readings from 2-wire PT1000 sensors using the schematic below. 

To Read from J6, I am configuring the IC as follow:

MUX0:  0x07

MUX1: 0x28

SYS0: 0x02

IDAC0: 0x02

IDAC1: 0x87

Everything else is default.

I am only doing a single shot reading when i want to get a reading from a sensor.

My questions are the following:

  1. I am getting unreliable values from the device. They seem to change with temperature, but the values do just all over the place and seem noisy. Is there something wrong with my schematic or my configuration of the IC?
  2. How can I calculate on paper expected ideal readings from the ADS from say Temperature in Celsius to Value read from the RDATA command read?

  • Juan,


    First, I'll recommend that you read the following application note:

    www.ti.com/.../sbaa275.pdf

    It's an application note for RTD measurements with precision ADCs. It gives a basic outline of how RTD measurements work and how to make calculations with different basic circuits.

    Going back to your schematic, here's the setup that you have:
    MUX0: AINP=AIN0, AINN=AIN7
    MUX1: Internal reference always on, reference REFP1 and REFN1 inputs selected
    SYS0: PGA=1, 20SPS
    IDAC0: 100uA IDACs
    IDAC1: IDAC outputs: IEXC1, AIN7

    Can you explain how you have this setup? I assume that you are trying to make a measurement of a two wire measurement from J6, using AIN0 and AIN7. Normally, I would expect that there would only be one active IDAC output to drive the RTD. If you have a second IDAC sourced from AIN7, the voltage across R66 is an error. Also, if you are using a single IDAC, and if you are using a PT1000 RTD, you should have a reference resistor that is larger than the RTD that you are measuring. In that case you would likely have a resistor that is 1.6K (so you would only use R68 or R69 but not both. The reference resistor should be a precision resistor with high accuracy and low drift.

    As for the error you are seeing, what data are you getting out and how do you have the system set up? Again I'd have the IDAC to AIN7 disabled and use a single IDAC from IEXC1. Then I'd use a single 1kΩ resistor as a test for the input of J6. Using a reference resistor of 1.6k, I would expect that the output would be 500000h. This comes from:

    Output code = (1kΩ/1.6kΩ)*(2^23) = 5242880d

    If you get data that are near this value, great. If your value is significantly off, then we'll need to see if there are other setup errors. If there are other data errors, I'd need to know exactly what you are seeing. It would help to get a length of data (maybe 500 consecutive readouts) and send the resulting data in an excel file.

    Incidentally, it also would help to have differential input capacitors to filter noise. However, generally I avoid inductances in the supply lines (replacing them with shorts) and only use decoupling capacitors for supplies.


    Joseph Wu
  • Juan,


    It's been some time since you started this post. Were you able to find a solution to your data issue?

    I'll close this post for now, but if you were unable to find a solution, or have other questions, post back with a reply. You'll be able to reopen the post and we can work on getting some answers.


    Joseph Wu