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.

ADS1235EVM: Measured voltage change with temperature seems too large

Part Number: ADS1235EVM
Other Parts Discussed in Thread: ADS1235

I am testing the ADS1235 from room temp to about 125 degC. I put the EVM in the oven. I built a bridge of 1k resistors that gives about 12 mV output when powered with 5V. I connect as shown. I put just the EVM in the oven, bridge is outside and stays at room temp. I run 3 scripts (attached)...

oven_1:    ac \ pga = 1 \ 60 Sa/s \ 120 Sa

oven_2:    internal temp     \ 60 Sa/s \ 120 Sa

oven_3:    ac \ pga = 64     \ 60 Sa/s \ 120 Sa

Here are the results. You can see the measured voltage changes by over 1 mV with temperature. This seems too much. Any ideas? Maybe something in my scripts or setup?

mark

oven_1.xml
<?xml version="1.0" encoding="utf-8"?>
<script>
  <name>oven_1</name>
  <description />
  <command_list>
    <command>
      <command_string>RESET</command_string>
      <description>Reset device</description>
    </command>
    <command>
      <command_string>WREG 02 30</command_string>
      <description>SINC1, 60 SPS</description>
    </command>
    <command>
      <command_string>WREG 03 6D</command_string>
      <description>Enable AC excitation, 17.8 MS DELAY</description>
    </command>
    <command>
      <command_string>WREG 04 C0</command_string>
      <description>Configure AIN2/3 as GPIO outputs</description>
    </command>
    <command>
      <command_string>WREG 05 64</command_string>
      <description>Enable STATUS/CRC bytes and set GPIO[2] HIGH</description>
    </command>
    <command>
      <command_string>WREG 06 0A</command_string>
      <description>External AIN0/1 reference selected</description>
    </command>
    <command>
      <command_string>WREG 10 00</command_string>
      <description>PGA enabled, gain of 1 V/V</description>
    </command>
    <command>
      <command_string>WREG 11 78</command_string>
      <description>Select AIN4/5 as analog inputs</description>
    </command>
    <command>
      <command_string>DELAY 5000</command_string>
      <description>Delay for settling...</description>
    </command>
    <command>
      <command_string>CLEAR</command_string>
      <description>Clear STATUS register</description>
    </command>
    <command>
      <command_string>REGMAP</command_string>
      <description>Readback register settings</description>
    </command>
    <command>
      <command_string>STATUS</command_string>
      <description>Check for faults</description>
    </command>
    <command>
      <command_string>DELAY 10</command_string>
      <description>Delay for settling</description>
    </command>
    <command>
      <command_string>COLLECT 120</command_string>
      <description>Collect 2 sec of data</description>
    </command>

  </command_list>
</script>
oven_2.xml
<?xml version="1.0" encoding="utf-8"?>
<script>
  <name>oven_2</name>
  <description />
  <command_list>
    <command>
      <command_string>RESET</command_string>
      <description>Reset device</description>
    </command>
    <command>
      <command_string>WREG 02 30</command_string>
      <description>SINC1, 60 SPS</description>
    </command>
    <command>

    <command>
      <command_string>WREG 03 0D</command_string>
      <description>normal mode for temperature</description>
    </command>
    <command>
      <command_string>WREG 11 BB</command_string>
      <description>mux to internal temperature</description>
    </command>
    <command>
      <command_string>DELAY 5000</command_string>
      <description />
    </command>
    <command>
      <command_string>COLLECT 120</command_string>
      <description />
    </command>

  </command_list>
</script>
oven_3.xml
<?xml version="1.0" encoding="utf-8"?>
<script>
  <name>oven_3</name>
  <description />
  <command_list>
    <command>
      <command_string>RESET</command_string>
      <description>Reset device</description>
    </command>
    <command>
      <command_string>WREG 02 30</command_string>
      <description>SINC1, 60 SPS</description>
    </command>

    <command>
      <command_string>WREG 03 6D</command_string>
      <description>Enable AC excitation, 17.8 MS DELAY</description>
    </command>
    <command>
      <command_string>WREG 04 C0</command_string>
      <description>Configure AIN2/3 as GPIO outputs</description>
    </command>
    <command>
      <command_string>WREG 05 64</command_string>
      <description>Enable STATUS/CRC bytes and set GPIO[2] HIGH</description>
    </command>
    <command>
      <command_string>WREG 06 0A</command_string>
      <description>External AIN0/1 reference selected</description>
    </command>
    <command>
      <command_string>WREG 10 06</command_string>
      <description>PGA enabled, gain of 64 V/V</description>
    </command>
    <command>
      <command_string>WREG 11 78</command_string>
      <description>Select AIN4/5 as analog inputs</description>
    </command>
    <command>
      <command_string>DELAY 5000</command_string>
      <description>Delay for settling...</description>
    </command>
    <command>
      <command_string>CLEAR</command_string>
      <description>Clear STATUS register</description>
    </command>
    <command>
      <command_string>REGMAP</command_string>
      <description>Readback register settings</description>
    </command>
    <command>
      <command_string>STATUS</command_string>
      <description>Check for faults</description>
    </command>
    <command>
      <command_string>DELAY 10</command_string>
      <description>Delay for settling</description>
    </command>
    <command>
      <command_string>COLLECT 120</command_string>
      <description>Collect 2 sec of data</description>
    </command>
  </command_list>
</script>

  • Hi Mark Fredette,

    This is an interesting issue, hopefully we can help. One thing to note immediately is that the whole EVM is not rated for +125C. You can see in the image below that many of the parts on the board are only rated to +85C, so I would not continue putting the complete EVM in the oven. This can cause the board permanent damage. The ADS1235 can withstand this temperature though, so it would be better if you could localize the heat application

    Here are a few things to try / questions I had:

    1. Since you are taking 120 samples, how are you generating the single data point used in the plot? Are you just averaging all 120 samples together? If so, what is the variation on these samples?
    2. Can you try turning off AC excitation, running the same tests, and seeing if the performance improves?
    3. Can you try shorting the inputs together to measure the ADC noise and see if you reproduce the datasheet noise performance?
    4. Since you have the EVM in an oven, I presume the cabling to the bridge is pretty long (can't tell exactly from the images you sent). It could be possible that there is a voltage drop as the cabling heats up such that the voltage at the bridge is not the same as the voltage you are using for the reference. You could try implementing a 6-wire bridge that feeds the bridge excitation voltage back to the reference inputs, instead of pulling the reference voltage directly from the EVM

    Let me know what the outcome of these tests are. However, the results might be moot if you cannot localize the application of heat to the ADS1235 as opposed to the whole EVM

    -Bryan

  • thank you Bryan,

    I was able to 'jam' the board in the gasket of the oven door, so only the analog side of the board sees temperature. Actually, I wrapped a silicone foam along the length of J6 (both top and bottom, and closed to door on this.

    But, you can see the 'drift' shows up even below 85 degC. I may know what's up. I have ac mode and 60 Sa/s. And, I set the conversion delay to 17.8 ms. That's probably too long and somehow interferes with the bridge switching and causes strange results. I will reduce the delay and try again. I will try 1.16 ms for now, but would like your input on a better choice.

    For the data I plotted, I was acquiring 120 Sa an just taking the average from the Analysis Histogram tab....

    mark

  • Hi Mark Fredette,

    Thanks for confirming how the EVM is being used, this should be okay

    I would try without AC excitation then and see if the performance improves. Even the samples you are showing in the Analysis tool look like they are changing pretty abruptly (and consistently). In many cases I have seen that AC excitation is a bit more trouble than it's worth. In other words, if the performance is good without it, you might consider leaving it off

    -Bryan