Post Go back to editing

Voltage measurement (OCP, open circuit potential) using the AD5940 resp. ADuCM355

Hello,

we would like to use the ADC5940 respectively the ADUCM355 for voltage measurements (OCP, open circuit voltage) on an electrochemical sensor. Concerning this issue, two questions occurred. I guess ADC5940 and ADUCM355 are somehow similar.

1)We want to make a shortcut between the pins CE0 and RE0 and then measuring the voltage between CE0/RE0 and WE0 (OCP). Is it possible to measure that voltage by setting the MUXSELP-bits of the ADCCON-register to 01110 (page 70, ADuCM355 Hardware Reference Manual, https://www.analog.com/media/en/technical-documentation/user-guides/ADuCM355-Hardware-Reference-Manual-UG-1262.pdf respectivley page 61, AD5940 datasheet, https://www.analog.com/media/en/technical-documentation/data-sheets/AD5940-5941.pdf)

2) Which magnitude would be the referring input impedance?

Kind regards

Parents
  • Hi,

    AD5940 is similar with ADuCM355, the difference is ADuCM355 has a cortex-m3 MCU inside.

    1. You need to set MUXP and MUXN to the differential voltage you want to measure. For example, set MUXP to pin CE0 and MUXN to SE0 to measure the voltage between CE0 and SE0.

    2. There is no input impedance parameter in datasheet, but has a input current. Please check Table 1, ADC INPUT section.

    Regards,

    Neo

  • Hello,

    I am also interested to perform an OCP with the AD5940. In the documentation, there is no SE0 available from MUXN. According to the documentation, MUXN can be configured through the register ADCCON, bits [12:8] (MUXSELN). Here is an extract of page 61 / 134 (Rev C).

    The MUXSELP can be connected to any of pins RE0, CE0, SE0, DE0 though.

    Is there any way to measure potential between SE0 end RE0?

    Thank you.

    Best regards,

  • Hi,

    There are many ways to measure voltage across SE0 and RE0.

    One way:-

    1) Connect the two terminals of your load to AIN2 and IN3 respectively and measure the voltage across them,

    AD5940_ADCMuxCfgS(ADCMUXP_AIN3, ADCMUXN_AIN2);

    AD5940_AFECtrlS(AFECTRL_ADCPWR|AFECTRL_SINC2NOTCH, bTRUE);
    AD5940_Delay10us(16*25);
    AD5940_AFECtrlS(AFECTRL_ADCCNV, bTRUE); /* Start ADC convert*/
    AD5940_Delay10us(WaitClks);

    while (!(AD5940_INTCTestFlag(AFEINTC_1, AFEINTSRC_SINC2RDY)));

    AD5940_INTCClrFlag(AFEINTSRC_SINC2RDY);
    afeResult = AD5940_ReadAfeResult(AFERESULT_SINC2);
    AD5940_AFECtrlS(AFECTRL_ADCPWR|AFECTRL_ADCCNV|AFECTRL_SINC2NOTCH, bFALSE); /* Stop ADC */

    measured_voltage = AD5940_ADCCode2Volt(afeResult&0xffff, ADCPGA_1, 1.82);

    another way:

    1) Measure voltage of SE0 w.r.t. VERO0, (AD5940_ADCMuxCfgS (ADCMUXP_VSE0 ,ADCMUXN_VZERO0);)

    2)Measure voltage of RE0 w.r.t. VZERO0, (AD5940_ADCMuxCfgS (ADCMUXP_VRE0 ,ADCMUXN_VZERO0);)

    3) Subtract (1) from (2). 

Reply
  • Hi,

    There are many ways to measure voltage across SE0 and RE0.

    One way:-

    1) Connect the two terminals of your load to AIN2 and IN3 respectively and measure the voltage across them,

    AD5940_ADCMuxCfgS(ADCMUXP_AIN3, ADCMUXN_AIN2);

    AD5940_AFECtrlS(AFECTRL_ADCPWR|AFECTRL_SINC2NOTCH, bTRUE);
    AD5940_Delay10us(16*25);
    AD5940_AFECtrlS(AFECTRL_ADCCNV, bTRUE); /* Start ADC convert*/
    AD5940_Delay10us(WaitClks);

    while (!(AD5940_INTCTestFlag(AFEINTC_1, AFEINTSRC_SINC2RDY)));

    AD5940_INTCClrFlag(AFEINTSRC_SINC2RDY);
    afeResult = AD5940_ReadAfeResult(AFERESULT_SINC2);
    AD5940_AFECtrlS(AFECTRL_ADCPWR|AFECTRL_ADCCNV|AFECTRL_SINC2NOTCH, bFALSE); /* Stop ADC */

    measured_voltage = AD5940_ADCCode2Volt(afeResult&0xffff, ADCPGA_1, 1.82);

    another way:

    1) Measure voltage of SE0 w.r.t. VERO0, (AD5940_ADCMuxCfgS (ADCMUXP_VSE0 ,ADCMUXN_VZERO0);)

    2)Measure voltage of RE0 w.r.t. VZERO0, (AD5940_ADCMuxCfgS (ADCMUXP_VRE0 ,ADCMUXN_VZERO0);)

    3) Subtract (1) from (2). 

Children
No Data