Post Go back to editing

Looking for ADuCM355 firmware example for Open Circuit Potentiometry (OCP)

Thread Summary

The user is trying to implement an Open Circuit Potentiometry (OCP) test using the ADuCM355 in a 3-electrode system but cannot find a firmware example. The support engineer suggested using the M355_ECSns_SingleWE example and changing switch settings to open SW(2), SW(4), and set LPTIARTIA to open. The user attempted these changes but still reports a constant 1.2V on RE0 and SE0, regardless of the applied voltage. The support engineer recommended measuring the voltage at both pins relative to the 1.11V reference and using a non-zero load resistor setting.
AI Generated Content

Hello -

We are planning to implement the ADuCM355 in a new product design to execute (among other methods) an Open Circuit Potentiometry (OCP) test in a 3-electrode system. Unfortunately, I've been unable to find a firmware example for the ADuCM355 executing this standard test. I am surprised by this, due to prevalence of this method, and was wondering if perhaps it's captured in an example under a different name? Please let me know if there is a firmware example you can guide us to accelerate our development for OCP.

Thank you.

  • Hi,

    We do not have a dedicated example project but you can use the M355_ECSns_SingleWe example project as a reference and change the switch settings on line 198 in the Amperometric.c file to open switch 5. This will disconnect the counter electrode from the potentiostat. Also change the inputs to the ADC to measure the voltage at RE0 and SE0 pin

  • Thank you for the quick and informative response! I will try that.

  • Hi -

    Thanks again for the reply. Do you know if there is any documentation regarding the setup for the M355_ECSns_SingleWE test as-is? I'd like to first try to run that test as a baseline before making any changes, but I can't find any documentation on it (compared to, for example, the M355_CycloVoltammetry test which is described on page 3 of UG-1308).

    Thanks again.

    - K

  • sorry should have said "page 10 of UG-1308"

  • You can refer to the DC CURRENT EXAMPLE  section for details. 

  • Hi - thanks again for the response. I have a question about your suggestion to "change the inputs to the ADC to measure the voltage at RE0 and SE0 pin". To measure the voltage at the RE0 pin, for example, would this be the correct associations? 

    dsp_cfg.ADCBaseCfg.ADCMuxN = ADCMUXN_VZERO0;
    dsp_cfg.ADCBaseCfg.ADCMuxP = ADCMUXP_VRE0;

    In particular, it's not clear to me which MUX pin goes to the negative ADC input based on the defines in the example project. Unfortunately the above changes do not seem to respond with corresponding changes to applied voltage on the RE0 pin.

    Please let me know your thoughts. Thank you.

  • Hello Mr. Lambe -

    Thank you again for your support, but I am lost and really need some help for our new product design. I just want to do a quick demo measuring an open circuit voltage between RE0 and SE0 and see the output update on a UART in real-time. I tried many combinations of your original suggestion including the following:

    1. Changed line 198 in the Amperometric.c to "lp_loop.LpAmpCfg.LpTiaSW = LPTIASW(2)|LPTIASW(4)|LPTIASW(12)|LPTIASW(13); // removed sw5
    2. Changed the ADC mux to many different combinations including:
    - dsp_cfg.ADCBaseCfg.ADCMuxN = ADCMUXN_FLOAT; & dsp_cfg.ADCBaseCfg.ADCMuxP = ADCMUXP_VRE0; (just to see if I could get RE0 response to move)
    - dsp_cfg.ADCBaseCfg.ADCMuxN = ADCMUXN_VZERO0; & dsp_cfg.ADCBaseCfg.ADCMuxP = ADCMUXP_VRE0;
    - dsp_cfg.ADCBaseCfg.ADCMuxN = ADCMUXP_VSE0; & dsp_cfg.ADCBaseCfg.ADCMuxP = ADCMUXP_VRE0;

    Unfortunately, with any of the combinations, the voltage reported on the UART is always stuck at 1.2V. I promise once I can get this simple demo working I will stop bugging you :), but trying to get this done on a short deadline as we did not anticipate this effort to be so significant.

    Thank you.

    - K

  • Hi, yes that should work. What setting of load resistor do you have? If it is 0 or short the voltage on SE0 will be equal to VZERO but if there is a non zero rload setting there will be a small voltage drop across it. In that case it may be best to do 2 measurements wehere you measure the voltage at both pins in respect to the 1.11V reference  

    dsp_cfg.ADCBaseCfg.ADCMuxN = ADCMUXN_VSET1P1;
    dsp_cfg.ADCBaseCfg.ADCMuxP = ADCMUXP_VRE0;

    dsp_cfg.ADCBaseCfg.ADCMuxN = ADCMUXN_VSET1P1;
    dsp_cfg.ADCBaseCfg.ADCMuxP = ADCMUXP_VSE0;

  • Hi Mr. Lambe -

    Thanks again for the reponse. Per your question, my load resistor setting (I believe this is "pAmpCfg->SensorCh0.LpTiaRl") was originally set to 10ohms (default from "M355_ECSns_SingleWE" project) but I have since tried multiple values all the way up to 1.6k. I also changed to "dsp_cfg.ADCBaseCfg.ADCMuxN = ADCMUXN_VSET1P1" and just monitored RE0 and SE0 separately. Thank you for both suggestions. I am attempting to inject a voltage from a benchtop power supply through an external resistive divider to the RE0/SE0 pins in the following manner on the EVAL-ADuCM355 board:

    Vps (0-3VDC) -> 2k resistor -> RE0 pin (P5.2) -> 2k resistor -> SE0 pin (P5.3) -> 2k resistor -> AGND (P5.18)

    I verifed with a multimeter that the voltage at the RE0/SE0 pins are moving as expected with external power supply "Vps" change. Unfortunately, with these changes, no matter what I set the external power supply, the firmware reported voltage on BOTH RE0 and SE0 remains at 1.2V. The only time I can ever get this voltage to move is if I open all the TIA switches except for sw0 with the following statement - "lp_loop.LpAmpCfg.LpTiaSW = LPTIASW(0)", the reported voltages on RE0 and SE0 are identical to each other but move a bit with Vps change, albeit in the opposite direction than expected. This makes no sense to me, but perhaps lends some insight to the root cause of my issue.

    I'm sorry to say that I feel like I have tried everything that seems like it could affect a simple open circuit voltage RE0 and SE0 measurement. I've attached to this message my latest firmware project (derived from the "M355_ECSns_SingleWE" example with changes mentioned above). Could you please review this project to see if there are any obvious issues? I'm very frustrated that such a simple measurement is proving so daunting, and would greatly appreciate a second set of eyes to review. Hopefully I am not far from the the finish line of a simple demo :)

    Thank you again for your support.

    - K

    M355_OCP.zip

  • Hi Mr. Lambe -

    Please let me know your thoughts on my recent questions above, as we are working hard to try to get a simple OCP demo working this week so we may advance with our new product development. Thank you.