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.

ADS1232: ADC count variation

Part Number: ADS1232

Hi,

We are using ADS1232 for weighing scale application and is working fine. The issue is that the data count is not stable. When we power on the board we are reading the ADC count and displaying the weight and if we keep the board on for long run test the weight value slowly start decreasing. We have observed that when the room temperature increases the ADC count value decreases and when the room temperature decreases the ADC count value increases.

I have attached schematics for ADC. In the actual board we assembled C321 and C322 doe additional filtering on input voltage. The gain is set to 128 from controller. On power up we are calibrating the ADC by providing the additional clock on SCLK.

C308 and C316 (C0603C104K4RACTU) are ceramic capacitor. The filtering feed through capacitors uses is NFM21PC105B1C3D from Murata. We have followed the schematics from ADS1232REF. On the PCB there are no tracks routed below the ADC and has a good ground pour around the ADC. 

We are averaging 4 samples and taking 20 bits for removing the noise from the ADC count. Please do let me know if you need more info.

Thanks,

Sreekanth

8540.ADC.pdf

  • Hi Sreekanth,

    In your schematic for the ADS1232, what is the source of your +5V that becomes VCC_LC to the load cell? How is that related to the VCC_+5V that serves as your reference voltage? Can you also let us know what sort of code vs. temperature variation you see? For example, is it 20`C and 100 codes? When the temperature changes, does the code variation remain constant or if the scale is left to soak at temperature, does the code come back to what you were expecting?
  • Hi Tom,

    Attached ADC schematics with power supply for your reference. 

    Below is the ADC code Vs temperature. The code will change even when the temperature is constant and when room temperature increases the code decreases. 

    ADC code

    Temperature

    24-bits

    20-bits

    134603

    8412

    31.2

    134635

    8414

    30.8

    134691

    8418

    30.6

    134787

    8424

    30

    134856

    8428

    29.8

    134901

    8432

    29.6

    134984

    8436

    29.6

    135028

    8439

    29.4

    135098

    8443

    29.2

    135159

    8447

    28.8

    135240

    8452

    28.4

    135288

    8456

    28.4

    135343

    8458

    28.4

    135380

    8461

    28.2

    We would like to know why this variation in code with respect to temperature and how it can be solved.

    Thanks,

    Sreekanth

    4101.ADC.pdf

  • Hi Sreekanth,

    I would suggest that prior to connecting the load cell try to see if you are getting the same noise numbers as shown in the datasheet. These numbers are shown in Table 1 of the datasheet. These numbers are with no averaging. Averaging may be masking the problem. Short the inputs together and bias the short to mid-AVDD supply. You can use a voltage divider with two 10k Ohm resistors, then connect the shorted inputs at the junction of the resistors. This is important to check as any PCB layout or external noise may become more evident. Your best case noise is with the inputs shorted.

    From your schematic you show using a boost mode converter to generate your supply voltage. These types of converters have a great deal of switching transients. For this type of supply we commend boosting the supply slightly above the desired voltage then followed by a low noise LDO linear supply. This will help reduce the switching transients from affecting the analog performance of the ADC. Also, PCB layout is very important to prevent switching noise from getting into the ADC. A solid ground plane (as opposed to just ground connection traces) is also important.

    Due to the transients, I believe that a lot of the drift affects you are seeing are related to filtering the transients. Ideally you want to make a ratiometric measurement where the excitation voltage and the reference voltage are the same. In your schematic the filtering is quite different between the load cell and reference. As the filter for the reference is very heavy, any changes or transients may take some time to recover. Because of your switching regulator, your schematic is much different than the ADS1232REF which uses a low-noise LDO regulating a higher voltage to 5V and is very stable. You may find that the performance will actually improve by reducing the filtering to something much smaller. You may also want to add some resistance (100 to 1k Ohm) in series with your analog inputs from the load cell to help reduce any external noise.

    Best regards,
    Bob B
  • Hi Bob,

    We will short the input and apply Mid AVDD to the inputs of the ADC and check the noise number without averaging.

    In the PCB we have solid ground plane below the ADC and all the ground pins of the ADC are directly connected to plane. I tried to follow the ADS1232REF for the filtering except that I added ferrite bead and 100pF capacitor at the input of ADC.

    For testing, I have removed the bulk capacitor from the Reference pin to check performance of ADC. I will let you know the result as soon as I complete the test.

    Thanks,
    Sreekanth
  • Hi Bob,

    Without changing any filter circuit values we read the codes from ADC and below is the result,

    16775840

    16775595

    16775245

    16775365

    16775578

    16775405

    16775303

    16775117

    16775048

    16774993

    16774884

    16774965

    16775255

    16775471

    16775692

    16775422

    16775154

    16775367

    16775796

    16775872

    16775727

    16776130

    16776006

    16776034

    16775669

    16775766

    16776356

    16775970

    16775692

    16775811

    As suggested we used 10K resistors divider, shorted the ADC input channels and connected the resistor divider to the ADC input. The mid voltage was 2.539V. Let me know your view on the ADC code.

    We will also be performing temperature variation test on the load cell.

    Thanks

    Sreekanth

  • Hi Sreekanth,

    You have a lot of noise.  The codes are actually showing a negative value in binary 2's complement.  The min code is 16776356 and the max code is 16774884 for a difference of 1472 peak-to-peak variation in codes.  This ends up as 10.5 bits of noise.  I don't recall seeing the data rate (speed) you are using, but even at 80sps this is much higher than what is expected.  You should be able to match the noise numbers in the table on page 5 of the ADS1232 datasheet.  In particular the noise-free bits and peak-to-peak voltage numbers.  

    So why is the noise so high?  Using 10sps will help determine if there are power line-cycle pickup.  I would try to determine if the noise is generated at the load cell connector and passed to the device.  You can leave the bias voltage with the voltage divider as it is and create a solder short at the ADS1232 input pins to see if there is any improvement. You might also have a noisy supply.  Use an oscilloscope to view any AC noise or stability issues with your supplies.  It is also possible that the measurement is not effectively ratiometric.  Make sure your reference filter and analog input filters are similar in design.  There could also be layout issues, especially if you have any digital signals crossing or near analog signals.

    Best regards,

    Bob B

  • Hi Bob,

    Can you please share your Email ID so that I can share the PCB files with you.

    Thanks,
    Sreekanth
  • Hi Sreekanth,

    You can contact me a couple of ways.  One is by opening a private conversation (best method) on E2E by clicking on my personal icon or you can post to the email address:

    pa_deltasigma_apps@ti.com

    Best regards,

    Bob B