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.

ADS1256: ADS1256 accuracy problem after Self calibration

Part Number: ADS1256

Hi!

I have a problem, becouse I think the accuracy of ADS1256 after perofrming Self calibration is not OK.

I am using high precision voltage reference ADR431B=2.5V +/-1mV.

I am generrating a calibrated 5V signal and connect to analog input.

I am cycling through all 8 input channels.

For ADS1256 at high precise 5V signal I am expecting the value reading will be close to maxium, range=8,388,607,

but I am getting  values app. 8,350,710 which is app. 37,897 lower at all 8 channels.

Strange for me is, that in case I connect input channel directly to ground it shows me values app. 6000 at all 8 channels.

Is this OK?

I expected that Self calibration will remove Offest error and reduce Gain Error...

Self calibration I am performed in a way that I am sending:

SPI.transfer(0xF0);//Self calibration
 delay(2000);//1227ms minimum @ 2.5SPS

Thank you  your answer!

  • Hi Frank,

    Have you tried internally shorting the ADC's inputs together and test this result? It is generally best to tie them to mid-supply, or 2.5V.

    You can apply 2.5V to any input e.g. AIN2, then select this input for both channels e.g. AINP = AIN2, AINN = AIN2. Please take several measurements and provide the results. This will let you know the ADC noise so you can compare to datasheet specs.

    -Bryan

  • Hi!

    I set ADS1256 to datarate=100sps. I am cycling through all 8 channels, but I print values only for AIN0. So expected sampling speed is then 12.5SPS

    I shorting AIN0 by sending:

     SPI.transfer(0x51); // MUX register
     SPI.transfer(0x00);   // 2nd command byte, write one register only
     SPI.transfer(0x00);   // write the databyte to the register 0000 0000
     delayMicroseconds(10);

    I measured 10 seconds and I've got 126 samples for AIN0.

    I calculated standard deviation in Excell: 17.74

    Here are results:

    Terminal log file

    Date: 9.7.2020 - 22:12:02

    -----------------------------------------------

    1

    23

    3

    52

    36

    22

    13

    11

    30

    42

    45

    19

    34

    25

    49

    19

    43

    11

    24

    11

    60

    41

    42

    9

    47

    20

    8

    15

    30

    39

    10

    21

    33

    70

    34

    7

    12

    6

    22

    24

    26

    49

    45

    21

    52

    4

    15

    23

    9

    19

    17

    9

    61

    54

    52

    43

    42

    8

    28

    2

    8

    14

    21

    31

    32

    33

    56

    17

    36

    49

    55

    21

    17

    8

    26

    35

    11

    39

    37

    7

    40

    13

    2

    42

    10

    11

    28

    33

    21

    40

    23

    49

    8

    82

    55

    50

    43

    32

    26

    49

    79

    7

    61

    15

    62

    18

    28

    46

    16

    24

    60

    14

    10

    34

    11

    33

    2

    16

    8

    23

    31

    39

    20

    25

    29

    17

    -----------------------------------------------

    Date: 9.7.2020 - 22:12:12

    End log file

  • Hi Frank,

    Can you perform the same test but not cycle through the channels? Just select AIN0 for both AINP and AINN, then take a lot of measurements on that one channel, no mux switching. I think 10 sec worth of data should be sufficient at 100 SPS.

    -Bryan

  • Hi!

    Here are analog input reading results:

    20
    14
    12
    16
    14
    63
    12
    30
    1
    28
    52
    9
    18
    12
    27
    0
    18
    44
    28
    44
    52
    18
    23
    62
    29
    39
    9
    30
    28
    48
    29
    5
    0
    19
    10
    50
    28
    11
    27
    27
    3
    37
    7
    21
    9
    38
    27
    31
    48
    46
    8
    32
    12
    3
    1
    6
    43
    25
    70
    22
    30
    14
    42
    48
    19
    47
    27
    46
    57
    2
    6
    27
    7
    36
    2
    38
    20
    20
    13
    52
    20
    64
    11
    12
    13
    48
    38
    44
    5
    17
    14
    6
    17
    25
    33
    38
    60
    3
    6
    45
    56
    0
    62
    7
    30
    35
    22
    6
    32
    30
    1
    66
    1
    25
    30
    38
    9
    24
    26
    70
    1
    61
    6
    15
    36
    49
    1
    46
    21
    21
    52
    45
    53
    48
    33
    5
    15
    32
    16
    25
    51
    16
    37
    3
    36
    76
    40
    53
    48
    29
    43
    22
    43
    56
    2
    0
    2
    18
    53
    10
    15
    22
    58
    5
    27
    28
    27
    29
    16
    26
    59
    25
    5
    41
    32
    2
    18
    18
    11
    29
    25
    62
    28
    14
    52
    7
    16
    20
    12
    26
    10
    10
    43
    33
    2
    12
    5
    32
    15
    43
    64
    9
    5
    52
    5
    53
    5
    6
    49
    10
    5
    52
    18
    61
    37
    19
    17
    53
    75
    26
    24
    23
    14
    30
    3
    27
    11
    32
    23
    9
    3
    45
    50
    35
    8
    28
    30
    54
    15
    25
    9
    31
    2
    12
    52
    64
    37
    15
    8
    29
    47
    68
    9
    21
    7
    11
    48
    53
    30
    21
    20
    32
    27
    13
    9
    7
    24
    6
    5
    22
    12
    2
    86
    52
    9
    18
    43
    9
    10
    5
    4
    40
    3
    12
    58
    77
    6
    60
    38
    69
    57
    20
    12
    29
    30
    46
    43
    2
    15
    17
    0
    18
    21
    8
    32
    29
    35
    36
    27
    83
    15
    33
    19
    6
    2
    26
    74
    10
    22
    50
    21
    18
    46
    38
    65
    27
    62
    20
    24
    30
    13
    27
    2
    24
    9
    10
    3
    33
    32
    91
    53
    8
    66
    3
    27
    5
    35
    45
    62
    4
    35
    28
    13
    35
    16
    30
    2
    72
    5
    48
    45
    1
    47
    32
    7
    16
    25
    31
    64
    56
    27
    45
    20
    41
    62
    4
    5
    24
    27
    33
    7
    0
    34
    44
    70
    8
    2
    27
    32
    12
    47
    46
    52
    45
    65
    38
    82
    39
    53
    21
    72
    74
    2
    20
    30
    6
    14
    17
    7
    9
    57
    9
    50
    35
    74
    11
    11
    42
    59
    4
    19
    26
    22
    26
    54
    15
    70
    27
    18
    7
    21
    51
    35
    16
    43
    8
    32
    51
    2
    20
    68
    14
    13
    68
    34
    32
    11
    2
    36
    40
    22
    22
    16
    54
    2
    31
    11
    12
    38
    29
    38
    19
    46
    2
    11
    49
    9
    8
    18
    12
    24
    20
    43
    32
    68
    64
    12
    22
    47
    60
    13
    70
    27
    34
    9
    54
    24
    12
    25
    23
    8
    12
    11
    61
    5
    33
    2
    68
    12
    13
    68
    41
    54
    24
    33
    32
    41
    50
    7
    24
    43
    39
    35
    42
    10
    32
    23
    38
    53
    4
    25
    34
    52
    10
    26
    16
    45
    47
    42
    2
    24
    37
    3
    10
    35
    15
    64
    1
    34
    48
    36
    26
    69
    11
    27
    44
    79
    2
    71
    14
    22
    8
    55
    30
    31
    27
    20
    3
    3
    56
    78
    14
    49
    5
    15
    17
    59
    29
    24
    49
    42
    21
    21
    26
    3
    7
    39
    32
    35
    13
    3
    15
    33
    29
    7
    27
    45
    52
    3
    0
    16
    58
    29
    22
    3
    30
    6
    13
    78
    60
    3
    8
    57
    18
    46
    33
    22
    83
    24
    2
    22
    55
    43
    16
    30
    4
    40
    18
    0
    35
    1
    21
    11
    27
    16
    55
    39
    11
    40
    5
    35
    40
    2
    22
    23
    45
    8
    41
    37
    86
    26
    52
    23
    26
    32
    26
    2
    22
    15
    76
    41
    20
    25
    64
    44
    17
    50
    11
    10
    29
    50
    9
    2
    22
    12
    18
    17
    1
    9
    34
    37
    29
    64
    71
    6
    50
    57
    5
    36
    40
    53
    31
    3
    31
    3
    19
    20
    50
    40
    45
    71
    18
    16
    13
    42
    15
    6
    1
    4
    31
    65
    8
    24
    3
    31
    32
    11
    38
    27
    10
    21
    0
    9
    10
    29
    47
    0
    19
    33
    37
    14
    8
    23
    39
    27
    23
    53
    37
    42
    3
    31
    20
    25
    60
    20
    12
    62
    15
    14
    8
    54
    15
    62
    6
    11
    5
    11
    49
    38
    36
    52
    25
    25
    4
    30
    56
    59
    31
    37
    58
    16
    2
    20
    35
    34
    29
    20
    24
    17
    21
    30
    28
    6
    21
    24
    59
    16
    25
    23
    10
    39
    27
    91
    25
    37
    36
    25
    5
    26
    8
    26
    12
    32
    7
    47
    25
    31
    60
    12
    15
    28
    22
    25
    16
    20
    10
    66
    50
    56
    10
    34
    25
    38
    8
    58
    1
    33
    17
    13
    8
    84
    20
    6
    8
    36
    20
    23
    37
    9
    14
    9
    18
    32
    42
    64
    8
    45
    18
    47
    2
    47
    45
    6
    25
    41
    19
    38
    66
    7
    55
    42
    47
    52
    60
    29
    0
    3
    28
    31
    31
    36
    13
    29
    50
    60
    73
    37
    52
    24
    28
    7
    30
    4
    24
    35
    50
    6
    9
    7
    25
    14
    9
    51
    29
    33
    1
    34
    61
    6
    53
    33
    34
    32
    43
    44
    57
    1
    27
    44
    9
    49
    23
    42
    8
    12
    80
    40
    18
    61
    47
    26
    26
    18
    19
    83
    29
    21
    16
    20
    4
    34
    4
    34
    9
    28
    24
    2
    36
    34
    32
    69
    18
    67
    62
    55
    37
    14
    62
    18
    30
    11
    6
    28
    10
    40
    47
    33
    20
    35
    11
    14
    23
    2
    13
    21
    2
    27
    47
    15
    14
    22
    26
    9
    20
    82
    11
    36
    17
    35
    23
    6
    13
    21
    48
    34
    34
    12
    23
    8
    5
    32

  • Hi Frank,

    Thank you for your patience here.

    I calculated the code spread to be around 19 codes RMS, which still seems a bit high for your settings. This likely suggests a layout issue.

    If I recall, you had previously had a split ground plane, which might be the cause of this issue. You should also check to ensure that your supplies are stable and free from noise.

    Let me know if you make any changes and what you discover.

    -Bryan

  • Hi, Bryan!

    I think you have right. I use the same code and settings for the module I bought on the internet and here I got noise values 10 times lower.

    I will investigate to try find out what is wrong...

  • Hi, Bryan.

    I made few bridges over my separate GND and the situation regarding the noise is much, much better. Still not good as from the module I bought on the internet where values are betwen 0 and 4. At mine module, values are now between 3 and  15.

  • Hi, again.

    Now I am using only ADS1256 board from internet to avoid my construction mistakes....

    If I set MUX register with 0x00 value (internally shortcut AINP0 and AINN0) at 100sps then I get perfec values most between 0 and 3 only few times 4 or 5.

    For me this are perfect values. But if I pyhisically shortcut AINP0 and AINN0 then the values are between 1704 and 1707 mostly. Why it shifted for 1700 up?

    If I connect AINP0 and AINN0 to GND then I get values 12360 and mostly 12366. Why in this case shift up for 12300?

    EDIT 1

    I think I can answer on my qestions now. All depends of the quality how I connect  to GND AINP and AIN0. Becouse I am using prptpboard and proto wires this are not good GND.

    If I use as short as possible wires to connect GND to AINP and AINN then I lower zero point vlaues. The best what I can achieve is values arround 400 in this moment.

    Ok. I think that now I understand how to imrpove zero offset to reduce as much as possible.

  • Hi Frank,

    You can also try using the calibration commands to see if that improves the offset. If you short the inputs to your board with a jumper or 0ohm resistor and issue the SYSOCAL command that should null out the system offset.

    You could also try with the buffer enabled, to see if you are getting any leakage current through your jumper wire that causes an offset.

    Let me know if you need additional assistance.

    -Bryan

  • Hi Bryan!

    I solved a problem!

    - Allways advise to people on this forum not to use  low quality protoboard wires for signals, supply and GND! Make this wires by themselves!

    - At the beginning I am sendingt SELFCAL (offset and gain self -calibration).

    - At PCB make a big ground, and do not separate digital and analog ground (I find today a PCB of ADS1256EVM development board module, where almost complete bottom layer is GND).

    Now I have a noise and accuracy in a range less than +/- 0.01% of 5V DC input signal at 10 SPS. For me, this is what I need.

    Thank you for all your answers and patience!

    Best regards!

    Frank

  • Thanks for your feedback, Frank, we will make sure to keep this in mind for future requests.

    Fortunately, this e2e post will live on so I can point others to it should they require any help

    -Bryan