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: Calculation of resistance is wrong

Other Parts Discussed in Thread: ADS1248, ADS1248EVM-PDK, ADCPRO

Hello Joseph,

I hope you don't mind me adding to this thread - it's not that old and my questions are the same basically - how to calculate
Rrtd - I've (we've) following the datasheet and the examples for the ADS1248.

When I use the equation:

R_RTD = (2 * R_REF * 4 * ADC_CODE)/2^23

That's off a bit; but when I use this equation:

R_RTD = (R_REF *  ADC_CODE)/ (2 * 2^23)

That results in a value that is more realistic as far as the RTD (100-ohm) that we're using.  (A bag of ice water for instance results in a value close to 100.)

Since that equation seems to be OK - does that mean I have an issue with one of my current paths?

We are using the 3-wire RTD method with filtering; Rref is 820-ohms, but we only have a 0.1% resistor there now and I realize the app calls for 0.02%.

Thanks,
John W.

  • John,


    I've split off your post from:

    e2e.ti.com/.../

    It's easier to do this instead of scrolling through several pages of posts to get to responses to get to the last post.

    There are two things that I see that may be off. First (as you mentioned) is the possibility that one of the current paths is off from expected. Either the connection is broken, unconnected, or the IDAC is simply routed to the wrong output. Second, is that you don't have the gain set up in the equation. In the original post, the PGA gain was set to 4.

    To verify the connections, it's simple enough to use a multimeter to measure the voltages across the RTD and the reference resistor. That way you can determine how much current passes through each element. If you continue to have measurement errors, it will be helpful to post the ADC output along with the resistor values you are measuring.

    As for your 0.02% error specification, you will certainly need a more accurate reference resistor. The reference resistor will be a large source of the gain error and you'll want one with high accuracy and low drift. Additionally, if you are making a 3-wire measurement, IDAC mismatch will also be a source of gain error. To get to 0.02% error, you'll likely have to chop the IDAC sources. To do this, drive IDAC1 into lead 1 and IDAC 2 into lead 2 of the RTD. Then swap the IDACs so that you drive IDAC2 into lead 1 and IDAC 1 into lead 2. By taking two measurements and averaging the result, you'll cancel the error term from the IDAC mismatch.


    Joseph Wu
  • Hello Joseph,

    Thanks for the feedback.

    I thought this chopper feature was automatic; and I see now that it's not.

    To do this; as I sample the value from the RTD; I continuously swap the current DACs at the Nyquist/Shannon rate?
    And then average that result?

    This was the most unclear part to me; and thanks for pointing this out.

    I did download one of the TIDA... projects and noticed they were doing this; I haven't found the source code but I did find the PDF where it shows them doing this; plus a circuit for an external chopper.

    From the datasheet; I think this is the most unclear part.

    Thanks!
    John W.
  • Joseph,

    Also - I should let you know - I have one of the kits handy here - the ADS1248EVM-PDK, DigiKey P/N: 296-30631-ND; I will use this to verify some results. Note this has the DB with all of the I/O's on modular connectors; which is nice - I will be able to directly interface our RTD as it is in our system.

    If there is something you would like me to try - we can use this EVM as a common point of reference.

    Thanks and Regards,
    John W.
  • Joseph,

    Here's a screen shot after putting a bag of ice water on the sensor we're using - I've attached the sensor as close as possible to the EVM as to our circuit; voltage
    across the active element looks correct.

    Is the app automatically implementing the chop of the current DACs?  Is there a way to extract the register settings the ADS1248 is using?  

    Thanks!
    John W.

  • Joseph,

    Is there a way to extract the ADS1248 register settings that ADCPro uses?

    Thanks,
    John W.
  • John,


    When I refer to chopping the IDACs, this is really taking two settled measurements and averaging the two.

    For a three wire measurement in the traditional setup you would do this:

    1. Set IDAC1 to lead 1 of the RTD, Set IDAC2 to lead 2 of the RTD.
    2. Take a measurement of the RTD.
    3. Set IDAC2 to lead 1 of the RTD, Set IDAC1 to lead 2 of the RTD.
    4. Take a second measurement of the RTD.
    5. Average measurement 1 and measurement 2.

    Step 5 should cancel the mismatch of the IDAC currents. You're not trying to dynamically chop the IDAC currents. It is really just averaging two measurements.

    I've done precision measurements with the EVM using precision resistors (0.01% or better, with low drift) and you should be able to test the method. It helps to have an Agilent 3458A to measure the precision resistors with a four wire measurement and verify the ADC results.

    Joseph Wu

  • Joseph,

    Thanks for this - it clears a lot up.

    I doubt I am the only one that could be confused by the datasheet - when I first read it - I had thought I would do the DACs manually in a method like you describe above; then I seemed to have been convinced the ADS1248 had an internal method for this.

    I assume I can't extract the register settings from ADC Pro then?

    Thanks!
    John W.
  • John,


    I don't think you can extract the register settings from ADCPro. On some of our newer devices and software, it's easier to see the register settings and how they are written, but with this device on ADCPro, I don't think so.


    Joseph Wu
  • Hello Joseph,

    Can you run the EVM on any other software GUI's available from TI?

    I assume the ADCPro is doing the DAC chop measurement?  I am using both DAC's - and the S/N looks great.

    Thanks,

    John W.

  • John,


    The EVM does not run on any other software GUI. There are ways to talk to the device with a terminal program but it's not any easier that running this GUI.

    ADCPro does not do any IDAC chopping. Chopping only eliminates gain error associated with IDAC mismatch. It won't do anything for SNR.


    Joseph Wu
  • Joseph,

    Is there a terminal I/F I can attach that would allow me to query the ADS1248?

    Note I could attach a SPI I/F - correct?

    Please let me know what the terminal options are.

    Thanks!
    John
  • John,


    You can use a COM terminal program to communicate to the device and then send and receive some basic commands. The post below describes the basic way this would work. There's also an attachment to one of the posts that describes the command set that you can send to the device.

    e2e.ti.com/.../527239


    Joseph Wu
  • Hello Joseph,

    Thanks! I think I'm seeing some self-heating effects now on the RTD we're using, I will tackle that next.

    Thanks Again!
    John W.
  • Joseph,

    And - it does allow extracting the ADS1248 register settings which is very helpful in this case. It is nice to have something to check against.

    Best Regards,
    John
  • John,


    I'm glad that the console commands work for you. I'd forgotten that you can pull the registers that way.

    One other thing - when testing the measurement, it might be better to start with a measurement of a precision resistor instead of the RTD. By measuring a known resistance, you can verify the gain error (assuming that you've already removed the offset).


    Joseph Wu
  • Joseph,

    Yes - thanks; we've been doing that as well.

    Thanks for all of the help,
    John