Post Go back to editing

Differential pulse voltammetry on AD5941

Hello forum,

I'm working on a simple potentiostat utilizing the AD5941 chip. I have searched and used the official github repository with code examples for this chip. Im using the Nucleo-F411RE board so it was not a problem. It was very helpful to test the capabilities of this chip. As a hardware engineer I'm not that good in C programming but I was able to migrate the source code to STM32CubeIDE and then modify the source code to print the potential (Voltage) according the ADC generated by the RampDacRegUpdate() function in the Ramp (Cyclic voltammetry) example. Happy with this result I moved to the squarewave voltammetry. This example is also working fine with my hardware however my ultimate goal is to modify it to differential pulse voltammetry.

In my understanding the difference in squarewave voltammetry and differential pulse voltammetry is basically the same, and the difference is in the option of changing the duty cycle of the squarewave and calculating the difference between measured current points. However, I quickly found out that using the sequencer in order to change the voltage values of the DAC and also placing the measurement points accordingly cannot be done. Because the squarewave is not 50/50 duty, the delay value for the DAC sample measure cannot be the same. It has to change also according the duty cycle.

Because the sequencer has 4 sequences available and one is always used as the ending sequence, we can only use 3 sequences for the DAC and ADC update. Two for DAC update and one for ADC however the wakeup timer is also bound to the same 4 sequences. So two wakeup timers for DAC update and only one for ADC. Hence I cannot move the time of sampling of the two points in the waveform period independently. They are always equally positioned after the change of the potential. 

I'm still hoping it can be done and I'm seeking help on this forum. Because the AD5941 and ADuCM355 share the same AFE and the ADuCM355 is known to support the differential pulse voltammetry I'm positive it can be done. I just need a hint....


Im adding an image to show what ima aiming for.

Thank you.

imag size
[edited by: RobertSz at 1:51 PM (GMT -4) on 5 Oct 2021]