danielje / ABE-Stat-Arduino

Most recent (Arduino IDE) firmware files for ABE-Stat open-source potentiostat
2 stars 3 forks source link

About 10mV EIS measurement #1

Open GY-RX opened 3 years ago

GY-RX commented 3 years ago

Hello Danielje: It is a pleasure to learn your ABESTAT. Using 100K resistance in the circuit to convert the 200mV p-p of AD5933 output to 20mV p-p, but how does the system calculate the correct value of impedance and phase.

Best wishes

danielje commented 3 years ago

Hi GY-RX, The resulting current through the network is measured by a transimpedance amplifier on AD5933, digitized / converted to FFT, and that chip communicates back out values related to current and phase. These values are used to estimate impedance (with phase)- but requires calibration at each setting (i.e. input amplitude, sensitivity of feedback amplifier)- calibration just uses various value resistors (assumed 0 phase) to enable current values in range that can be measured accurately.

GY-RX commented 3 years ago

Dear Danielje, Thank you for patience. At low frequencies, ABEStat uses ADC to sample the voltage of the reference electrode for DFT. but when using the high frequency of AD5933, does ABESTAT still need to sample the voltage of the reference electrode? Because AD5933 has only two terminals. or the voltage of the reference electrode be equivalent to the voltage of the counter electrode. Best wishes!

danielje commented 3 years ago

Hi Gary, No problem; actually that's one limitation of this system; at low frequencies the process is pretty software intensive (i.e. function "measureReportLowfImpedance" in "ABE_Stat_AnalyticalMethods")- applying specified signal by writing to DAC and then measuring resulting current at specified intervals (to construct DFT value for current and phase at applied frequency from which impedance can be evaluated against the known signal). Even here the assumption is applied reference potential is as designated in software as the DAC is calibrated (theworking electrode is at the system virtual ground, so functionally the working potential is the negative of the potential applied to the reference through the control amplifier). Unfortunately the "virtual" system ground for the transimpedance amplifier used at low frequencies (and the control amplifier applying network signal used at all frequencies) is not the same as the one used for the AD5933, so there is some unknown error in the applied bias from this; in recent versions I'm using a different ADC (ADS1260) that can also measure the "virtual" ground for the AD5933 input (i.e. the voltage at pin 5 / Vin), so that the applied bias can be corrected for this value. When using the AD5933 the applied potential to the network is a superposition of the programmed sinusoidal output from AD5933 (this is AC coupled to remove DC component), and a DC bias from the DAC. This composite signal, which is basically the potential applied at the reference contact, is routed through the control amplifier to the network in either a two electrode or three electrode network by controlling the various analog switches in the network (in two electrode configuration the reference is internally connected to the amplifier output and counter electrode contact; in three electrode configuration these are isolated so no current can run through the reference but current can come from the control amplifier into the counter electrode).

GY-RX commented 3 years ago

Thank you very much for your prompt reply! it's very helpful for me

danielje @.***> 于2021年3月23日周二 下午9:54写道:

Hi Gary, No problem; actually that's one limitation of this system; at low frequencies the process is pretty software intensive (i.e. function "measureReportLowfImpedance" in "ABE_Stat_AnalyticalMethods")- applying specified signal by writing to DAC and then measuring resulting current at specified intervals (to construct DFT value for current and phase at applied frequency from which impedance can be evaluated against the known signal). Even here the assumption is applied reference potential is as designated in software as the DAC is calibrated (theworking electrode is at the system virtual ground, so functionally the working potential is the negative of the potential applied to the reference through the control amplifier). Unfortunately the "virtual" system ground for the transimpedance amplifier used at low frequencies (and the control amplifier applying network signal used at all frequencies) is not the same as the one used for the AD5933, so there is some unknown error in the applied bias from this; in recent versions I'm using a different ADC (ADS1260) that can also measure the "virtual" ground for the AD5933 input (i.e. the voltage at pin 5 / Vin), so that the applied bias can be corrected for this value. When using the AD5933 the applied potential to the network is a superposition of the programmed sinusoidal output from AD5933 (this is AC coupled to remove DC component), and a DC bias from the DAC. This composite signal, which is basically the potential applied at the reference contact, is routed through the control amplifier to the network in either a two electrode or three electrode network by controlling the various analog switches in the network (in two electrode configuration the reference is internally connected to the amplifier output and counter electrode contact; in three electrode configuration these are isolated so no current can run through the reference but current can come from the control amplifier into the counter electrode).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/danielje/ABE-Stat-Arduino/issues/1#issuecomment-805247710, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQPBFKHKWGNGKN7DUO362SLTFD5YFANCNFSM4ZU5P6XQ .

GY-RX commented 3 years ago

Hello Danielje : My understanding is: the 100mV amplitude is reduced to 10mV through the amplifier, but AD5933 does not know that the amplitude has changed, it will perform FFT conversion: (sampled current signal), and his output (100mV amplitude signal), not 10mV . Would you tell me how to solve this problem. Because AD5933 uses his internal algorithm to output real and imaginary values.

Best wishes