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.

ADS1235: Inconsistent Measurement Drift and Step Changes in Strain Gauge System

Part Number: ADS1235

Tool/software:

Hello everyone! I’m working on a project using two ADS1235 ADCs (specifically, the ADS1235QWRHMRQ) to monitor the deformation of steel objects using strain gauges. Despite following a straightforward design approach, significant measurement inconsistencies persist, and I’m seeking help to pinpoint the root cause.

Project and Application Context

The system is designed to monitor deformation in two steel objects located at different parts of a machine. Each steel object is instrumented with four strain gauges (configured as half Wheatstone bridges), totaling eight strain gauges. The gauges (nominal resistance of 350 Ω, approximately 700 Ω in half-bridge configuration) are measured against a PCB-mounted voltage divider (comprising two 1kΩ resistors) that acts as a reference.

Here is a block diagram of our device:

Hardware and Software Details

PCB Details:

  • The design is implemented on a 4-layer PCB, with a dedicated ground layer directly under the ADS1235.
  • There aren’t any high-speed signals near the ADS1235 (only the microcontroller clock, which is located far away).

ADC Configuration: 

  • Model: ADS1235QWRHMRQ
  • Settings:
    • PGA Gain: 128
    • Chop Mode: Enabled
    • Filter: Sinc4
    • Sampling Rate: 1200 samples per second (sps)
    • Delay: 0 µs
  • Additional Hardware: A low-pass filter is used on each channel, formed by a 100 Ω resistor in parallel with a 1 nF capacitor.

Power Supply Details:

  • DVDD: 3.3 V
  • AVDD: 5 V
  • The board is powered by a 24V battery through a buck converter. Although the buck converter’s output voltage shows some variation with changes in the input voltage, its effect on the ADC readings is minimal due to differential measurement.

Issue Description

Expected Behavior:

  The ADC should provide stable readings that primarily reflect the deformation of the strain gauges, with minimal noise, drift, or step changes.

Observed Behavior:

When we installed the system in a machine, we noted inconsistencies on the measurements. For example:

  • Step Changes: Sudden jumps in the ADC measurements—see images.
  • Drift: Noticeable positive or negative drifts over time (e.g., approximately 20000 ADC levels over a 4-hour period).

Troubleshooting and Testing So Far

Mechanical Isolation

To rule out mechanical influences, the device was placed in the machine without soldering the sensors to any structure. The results still showed steep drifts (positive or negative) and changes upon power cycling:

Power Supply Assessment

We did some tests in our laboratory to isolate identifying if there is an issue with the power supply.Varying the input voltage revealed that while the buck converter’s 5V output does vary with input voltage, the ADC readings remain largely unaffected.

Extended Lab Testing

We performed a long test on the lab to check how our device behaves in a controlled environment (temperature and power supply). This is the result of different ADCs:

This is a close up on the purple zone (time duration around 4:30hr). Seems there are 600 ADC levels of noise and a drift of 1000 levels in 2 hours:

Testing with the ADS1235 Evaluation Board

I measured the gauges with the evaluation board, to check if it’s a problem with the PCB that we designed or with the sensors. This is a photo of the setup:

This is the result together with a zoom in on a 2-minute window. It seems there are variations of around 100K ADC levels:

PCB measurements with commercially available resistors

A Wheatstone bridge built with standard resistors was tested to separate the PCB performance from that of the strain gauges. This is a photo of the setup:

This is the result together with a zoom in on a 2-minute window. It seems there are variations of around 100K ADC levels:

Request for Assistance

I’m at an impasse. My testing has not isolated whether the inconsistencies come from:

  • A design issue on the PCB (routing, filtering, or layout),
  • The strain gauges themselves, or
  • An issue with the ADS1235.

Thank you in advance for your insights and recommendations. I’m eager to understand the underlying cause of these issues and would appreciate any guidance or suggestions on further diagnostic steps, potential design improvements, or known issues with the ADS1235 that might explain these behaviors.

Best regards,

Edgar

  • Hi Edgar Ripoll Vercellone,

    How are you exciting the bridge - voltage or current? What is the magnitude of the excitation voltage / current?

    Can you include a schematic?

    Are you using the AC excitation feature in the ADS1235, or just the global chop mode?

    Does the performance change / improve if you change the programmable delay to something >0us?

    Have you tried similar measurements with a known good source? For example, a AA battery (you would have to change the gain), or using a fixed resistor divider (3 resistors) that generates a low level voltage across the middle resistor that is within the PGA common-mode range?

    Let me know

    -Bryan

  • Hello Bryan,

    How are you exciting the bridge - voltage or current? What is the magnitude of the excitation voltage / current?

    I'm exciting the bridge with a voltage power supply. The bridge and the ADCs are powered at 5V.

    Here's a block diagram of the supply of the device:

    I made sure to configure the Reference Configuration (REF) Register (address = 06h) to REFP0 for both ADCs.

    Can you include a schematic?

    Here's the schematic:

    Are you using the AC excitation feature in the ADS1235, or just the global chop mode?

    I'm not using the AC excitation feature, only the global chop mode.

    Does the performance change / improve if you change the programmable delay to something >0us?

    I'll perform this test and I'll let you know the results.

    Have you tried similar measurements with a known good source? For example, a AA battery (you would have to change the gain), or using a fixed resistor divider (3 resistors) that generates a low level voltage across the middle resistor that is within the PGA common-mode range?

    I didn’t measure an AA battery because changing the gain would alter my setup, and I wanted to keep the test conditions identical. That’s why I tested my PCB using a Wheatstone bridge built with standard resistors (see results in the original post). However, I can try the 3-resistor setup and share the results.

    Thanks! Best regards,

    Edgar

  • Hi Edgar Ripoll Vercellone,

    Thanks for providing the requested information, let me know when you are able to run the additional tests

    -Bryan

  • Hi Bryan

    Here are the results:

    Does the performance change / improve if you change the programmable delay to something >0us?

    I conducted another 4-hour test in the lab to observe how our device behaves in a controlled environment (no mechanical strains, temperature controlled with air conditioning, and a stable laboratory power supply). This time, I set the conversion start delay to 67 µs instead of 0 µs, as you suggested.

    Both ADCs still exhibit drift—one around 5,000 ADC levels and the other around 1,000 ADC levels. I’m starting to suspect that this is due to our sensor’s high sensitivity to temperature drift, as the strain gauges are referenced against a PCB-mounted voltage divider (consisting of two 1 kΩ resistors).

    Have you tried similar measurements with a known good source? For example, a AA battery (you would have to change the gain), or using a fixed resistor divider (3 resistors) that generates a low level voltage across the middle resistor that is within the PGA common-mode range?

    I performed another 4-hour test using a fixed resistor divider (see block diagram) and set the conversion start delay to 67 µs.

    One of the ADCs showed a slight positive drift, while the other exhibited the step change in measurements that occasionally appears at random. I still haven’t been able to determine the cause of this behavior.

    Thanks for the support! Best regards,

    Edgar

  • Hi Edgar Ripoll Vercellone,

    Thanks for providing the requested information

    It does seem like sensor is adding an error to your system, the plot where you are just measuring a resistor divider looks much cleaner (can you use the same units for all plots however? Some have a y-axis in volts, some in codes, it will be easier to compare if they are all the same. Codes should be fine)

    Can you explain your reference circuit to me? The schematic shows what looks like a true ratiometric reference on REFP0 and REFN0, where the bridge excitation voltage is directly used as the ADC reference voltage. I am not sure what the VREF- net is however, as this appears to be grounded.

    However, you have said that you are using a resistor divider for your reference, which I assume is the one shown in the bottom of the image below. It is not clear to me why would you use a resistor divider instead of the ratiometric reference, or why you have both. And are those matched resistors, or just two discrete components?

    -Bryan

  • Hi Bryan

    It does seem like sensor is adding an error to your system, the plot where you are just measuring a resistor divider looks much cleaner (can you use the same units for all plots however? Some have a y-axis in volts, some in codes, it will be easier to compare if they are all the same. Codes should be fine)

    Both have the same units—Codes. The thing is that the measurements with the sensors range from approximately 100K to 300K Codes, while those with the resistors are in the order of millions of Codes. To improve the readability, the latter plot is scaled by applying a factor of 1e6 (as indicated in the upper left corner of the plot). I realize the font size is quite small—I’ll make it larger next time for better clarity.

    Can you explain your reference circuit to me? The schematic shows what looks like a true ratiometric reference on REFP0 and REFN0, where the bridge excitation voltage is directly used as the ADC reference voltage. I am not sure what the VREF- net is however, as this appears to be grounded.

    I based my design on the typical application circuit from the ADS1235 datasheet. In my implementation, Exc+ and Sen+ are the same wire (labeled as V_Left+ for one ADC and V_Right+ for the other). Each sensor is powered through an eFuse, that's why there are 2 Exc+ lines (V_Left+ and V_Right+). Similarly, Exc- and Sen- are the same wire and are grounded at the PCB.

    I made this design choice to simplify wiring and reduce costs by using smaller connectors and fewer wires, given that each PCB measures 2 sensors. I assumed this would come with the following trade-offs:

    1. Increased noise in the measurements: However, based on field data, the measured deformations are significantly larger than the noise, making the added noise acceptable.
    2. Voltage drop across the cable: I expect this drop to be small and stable. Any offset introduced by it can be calibrated at the start of the operation. Maybe I'm wrong on this one, but I don't see how this could be related to the step change or drift issues I'm observing, especially the step changes, which also appeared when measuring the fixed resistor divider with very short wiring.

    However, you have said that you are using a resistor divider for your reference, which I assume is the one shown in the bottom of the image below. It is not clear to me why would you use a resistor divider instead of the ratiometric reference, or why you have both. And are those matched resistors, or just two discrete components?

    You are right, it’s the resistor divider shown in the image you attached. They are 2 discrete resistors with 0.1% tolerance, though you are right that using matched resistor could improve performance.

    We included the resistor divider because the deformation we’re measuring is complex, and we need to individually assess how each strain gauge deforms. Isn't my measure still ratiometric? Both the resistor divider and the strain gauges form a Wheatstone bridge, only that each adjacent arm is located in a different place, but they are excited from the same source.

    I appreciate your support! Best regards,

    Edgar

  • Hi Bryan,

    Update: I left the last test (fixed resistors and changed delay) running since yesterday and I'm just processing the new data.

    Fixed Resistor Divider:

    The step change doesn't happen exactly at the same time at both ADCs.

    Here are the 27-hour test results for each ADC, which doesn't show drift on the measurements but many step changes:

    Gauges with start conversion delay increased:

    Here are the 27-hour test results for each ADC. I'm only displaying one input per ADC, as the remaining inputs exhibit similar results for the same ADC.

    -Edgar

  • Hi Edgar Ripoll Vercellone,

    How are you sampling your data? You have 4x gauge inputs, are you measuring them sequentially and continuously? So, measure gauge1, then gauge2, then gauge3, then gauge4, then restart the process? If so, are you manually restarting the process each time by sending the START command (or toggling the START pin)?

    Do all of the measurements have the same settings (sinc4 filter, global chop, 1200 SPS, no delay)?

    Are you measuring all of your gauge inputs with respect to AIN1 (the resistor divider)?

    Do you use a gain of 128 for all measurements (either the actual gauges or the external resistor divider I asked you to test)?

    -Bryan

  • Hello Bryan

    How are you sampling your data? You have 4x gauge inputs, are you measuring them sequentially and continuously? So, measure gauge1, then gauge2, then gauge3, then gauge4, then restart the process? If so, are you manually restarting the process each time by sending the START command (or toggling the START pin)?

    Measurements are taken every 35 ms, triggered by a Timer. This interval was chosen to ensure the ADCs have enough time to complete all four measurements with my configuration (sinc, chop, SPS, and delay). I verified this timing using an oscilloscope.

    The inputs are measured sequentially by toggling the START pin. Both ADCs receive the START signal simultaneously, meaning gauge 1 of ADC1 is measured at the same time as gauge 1 of ADC2. The end of each measurement is managed via the DRDY interrupt, and the next set of measurements only begins once both ADCs have completed their current conversion.

    Do all of the measurements have the same settings (sinc4 filter, global chop, 1200 SPS, no delay)?

    Yes, I don't change the configurations at any time. They are only configured once at startup.

    Are you measuring all of your gauge inputs with respect to AIN1 (the resistor divider)?

    Yes, this is configured just before toggling the Start pin.

    Do you use a gain of 128 for all measurements (either the actual gauges or the external resistor divider I asked you to test)?

    Yes, I use the same configuration for all the tests.

    I’d love to hear your thoughts on my comments about the reference circuit—do you see any issues with my approach?

    I based my design on the typical application circuit from the ADS1235 datasheet. In my implementation, Exc+ and Sen+ are the same wire (labeled as V_Left+ for one ADC and V_Right+ for the other). Each sensor is powered through an eFuse, that's why there are 2 Exc+ lines (V_Left+ and V_Right+). Similarly, Exc- and Sen- are the same wire and are grounded at the PCB.

    I made this design choice to simplify wiring and reduce costs by using smaller connectors and fewer wires, given that each PCB measures 2 sensors. I assumed this would come with the following trade-offs:

    1. Increased noise in the measurements: However, based on field data, the measured deformations are significantly larger than the noise, making the added noise acceptable.
    2. Voltage drop across the cable: I expect this drop to be small and stable. Any offset introduced by it can be calibrated at the start of the operation. Maybe I'm wrong on this one, but I don't see how this could be related to the step change or drift issues I'm observing, especially the step changes, which also appeared when measuring the fixed resistor divider with very short wiring.

    Also, regarding the ratiometric measurements, does my reasoning make sense?

    We included the resistor divider because the deformation we’re measuring is complex, and we need to individually assess how each strain gauge deforms. Isn't my measure still ratiometric? Both the resistor divider and the strain gauges form a Wheatstone bridge, only that each adjacent arm is located in a different place, but they are excited from the same source.

    Thank you for the support, Bryan! Best regards,

    Edgar

  • Hi Edgar Ripoll Vercellone,

    I’d love to hear your thoughts on my comments about the reference circuit—do you see any issues with my approach?

    Also, regarding the ratiometric measurements, does my reasoning make sense?

    This should be fine, it was not immediately clear to me what you were doing. But now it appears you are basically measuring a variable half bridge sensor, then using a fixed half bridge on your board to generate a differential measurement

    -Bryan

  • Hi Bryan

    Yes, that's our system. Do you have any suggestions on how I can further investigate the cause of these issues or what my next steps should be?

    Thank you for your support! Best regards,

    Edgar

  • Hi Edgar Ripoll Vercellone,

    I don't have anything meaningful to offer here. This does not appear to be an issue with the ADC, it looks like >99% of the readings are correct in the fixed resistor divider case. My guess is the event causing the step change is something external

    I will say that the average shift you are getting for the "fixed resistor divider" case is on the order of 2000  and 10000 codes (ADC1 and ADC2 respectively). At VREF = 5V and gain = 128, that is an LSB size of 4.66nV. So that is a shift of 9.3uV or 46.6uV, respectively. As you can see, not very large signals here, but noticeable by the ADC

    I also generally observed that the time these noticeable step changes occurs happens right around the end of the day (6PM) and the beginning of the day (9AM). Not sure if there is any correlation there, maybe doors opening/closing as people leave/enter, causing vibrations? At the these low levels, you can tap on the table/surface on which your board is sitting and see small changes in the output. I'd wonder if the time of this behavior is repeatable?

    -Bryan