Post Go back to editing

Looking to measure current noise in EIS - AD5941

Category: Software
Product Number: AD5941

Hi, I'm looking to measure open-circuit current noise for EIS using the AD5941. Can you please confirm if the following methods are correct?

My protocol is to run a two-wire setup for a known resistor across SE, RE, and CE. 

I run an EIS measurement at a set frequency and set RTIA, and then obtain the DFT values of that known resistor. From there, I use the following equation: 

I_{RMS} = (DFT_{MAGNITUDE} * V_{DD}) / ((2^{16} - 1) * R_{TIA})

Is that equation correct for calculating the I_RMS using the DFT? I know that I don't need to measure RCAL since I'm only measuring current, but I wanted to ask to make sure.

Lastly, is the theoretical value for the I_RMS equivalent to the AC Voltage RMS divided by the sum of the known resistor and the 100 Ohms in series with SE? 

Thank you!



Added AD5941 to title.
[edited by: kbaudue at 3:31 PM (GMT -5) on 6 Feb 2024]
Parents
  • Hi,

    Since you are measuring only current,

    if using EIS example code in GitHub,

    1) you may remove below sections:

    - /* RLOAD Measurement */

    -   /* RCAL Measurement */ 

    inside measure sequence (AppIMPSeqMeasureGen()).

    2) To reduce complexity, you may not enable DFT block in measure sequence:

    AD5940_AFECtrlS(AFECTRL_ADCCNV|AFECTRL_DFT, bTRUE);  /* Start ADC convert and DFT */

    3) You may just do data process as below. It returns current input from SE. (load includes the 100ohm resistor at SE)

    static AD5940Err AppIMPDataProcess(int32_t * const pData, uint32_t *pDataCount)
    {
    uint32_t i, datacount;
    datacount = *pDataCount;
    float *pOut = (float *)pData;
    for(i=0;i<datacount;i++)
    {
    pData[i] &= 0xffff;
    pOut[i] = AppAMPCalcCurrent(pData[i]);
    }
    return AD5940ERR_OK;
    }

  • Hi Akila, 

    Is this still accounting for the AC amplitude? If I understand correctly, I use the following method: 

    1. Apply AC signal at set frequency to two-electrode configuration

    2. Poll the ADC register and NOT the DFT one

    3. Use the Current and Voltage code from the Amperometry example 

    I also have a few questions about the amperometry example: ad5940-examples/examples/AD5940_Amperometric/Amperometric.c at master · analogdevicesinc/ad5940-examples (github.com)

    AppAMPCalcVoltage uses a k-factor: 1.835/1.82 - what is the origin of these values?

    It also uses a 1.8V Ref Voltage, what pin do I measure that from? 

    The RTIA magnitude it uses, in the EIS case, is this just the RTIA I set for that measurement?

    From the current measurements, how would I obtain RMS from these values since I'm using an AC signal instead of the DC one used in Amperometry? 

    Thank you!

Reply Children