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.

ADS131M08: Abnormal reading data

Part Number: ADS131M08

Tool/software:

Hello Team,

I'm Andree from Vietnam. 

I have designed a board that connects between ESP32 and ADs131m08 to read current and voltage.

We have read data from the channels but when displaying the read data on the chart, we see abnormalities as shown in the image I attached (The measured voltage at the input is 36V AC voltage, but the displayed graph is not a sine wave).

Please help us check if there is anything wrong in hardware or software

The setup of program: 

CLKOUT  = 8192000; 

adc.writeReg(ADS131_CLOCK,0b1111111100000010); 
adc.writeReg(ADS131_MODE,0b0000010100010000); 
adc.writeReg(ADS131_CH6_CFG,0b0000000000000000);
adc.setGain(1);

Schematic_New-ESP_2024-10-18.pdf ads131m08 output data.xlsx

  • Hi do Nghia,

    Welcome to the E2E forum.

    I noticed that you are using different ground planes, AGND is used for anti-aliasing RC filter and the ADC, GND is used for MCU and the ADC too, do you have a connection between the AGND and GND? Maybe I missed it in the schematic. Usually a single and solid ground plane can be used if there is no special requirement.

    Your RC filter on AIN7P/AIN7N (Temp1 and Temp2) uses GND1, but your ADS131M08 ADC uses AGND for analog circuit, where are both AGND and GND1 are shorted? 

    I also noticed that you are using many ferrite beads on analog input and SPI digital signals. Please removed them by using a 0ohm resistors instead. 

    You are using 1N4001 for input protection by connecting it to AVDD and AGND, it will actually affect your normal input signal when you signal is under the ground (negative input signal), and also 1N4001 has a high leakage current that will also affect your measurement performance in the future, so those are not recommended. If an input protection is desired, the solution in the application note is recommended: Circuit for protecting ADS131M0x ADC from electrical overstress

    After the ferrite beads are replaced and the ground connection issues are fixed, you can short the input to test again, e.g. short PE and GND1 that should be AGND, or short Tia1 and Tia2 to AGND.

    BR,

    Dale

  • Hi Dale Li,

    Many thanks for your support!

    We I forgot to send the corrected drawing, now We have connected all the GND,GND1,AGND points together. 

    I will replace the all Ferrite with R0 ohm, remove 1N4001 and check again, could be the issue causing my noise signal. I will check and let you know the results tomorrow.

  • Hi Dale Li,

    We found the reason, because the original program did not use interrupt to read data from ADS131M08. We adjusted the program to use interrupt and the data returned was sine wave.

  • Hi do Nghia,

    I apologized for the late response, it was the weekend for us in the past two days. I am glad you have figured it out, however my suggestions are general guideline for the ADC's circuit design that can help you avoid degrading the performance as specified in the datasheet.

    BR,

    Dale