AN-1563:优化AD5940以进行电化学测量

简介

AD5940 是一款高精度、超低功耗模拟前端(AFE)系统,旨在激励和测量传感器的电流、电压或阻抗响应。

AD5940专门针对电化学电池的高精度分析而设计。本应用笔记详细介绍了如何设置和优化AD5940,以便在典型的电化学电池上进行电化学测量。

所使用的硬件是AD5940评估套件,其包括基于 EVAL-ADICUP3029 Arm® Cortex-M3微控制器的Arduino Uno型电路板和 EVAL-AD5940ELCZ,如图1所示。

Figure 1. EVAL-AD5940ELCZ Plugged into the EVAL-ADICUP3029.

图1. EVAL-AD5940ELCZ插入EVAL-ADICUP3029

在使用AD5940评估套件或实施本应用笔记所述说明之前,请务必阅读"使用与责任限制"部分以防造成伤害。

评估套件内容

以下为EVAL-AD5940ELCZ评估套件内含物品清单。

  • EVAL-AD5940ELCZ评估板
  • EVAL-ADICUP3029评估板
  • Micro USB转USB线
  • Micro USB转鳄鱼夹线

AD5940测量环路

AD5940数据采集环路由一个低带宽环路、一个高带宽环路、一个高精度模数转换器(ADC)和一个可编程开关矩阵组成。

低带宽环路由以下各项组成:

  • 低功耗、双输出数模转换器(LPDAC),产生电压VZERO和VBIAS
  • 低功耗跨阻放大器(LPTIA),用于将电流转换为电压。当数模转换器(DAC)的直流电压与LPTIA偏置电压相等时,LPTIA可确保传感器中的直流电压为零。

高带宽环路由以下各项组成:

  • 高速DAC (HSDAC)和激励放大器,用于在进行阻抗测量时产生高频交流激励信号。
  • 高速TIA (HSTIA),用于将高达200 kHz的高带宽电流信号转换为可由ADC测量的电压。

开关矩阵由以下各项组成:

  • 一组开关,允许将外部引脚连接到高速DAC激励放大器和HSTIA反相输入端。
  • 一组开关,允许利用连接到RCAL0引脚和RCAL1引脚的外部已知电阻校准未知传感器阻抗。
  • 一组开关,允许连接外部TIA增益电阻(RTIA)。

电化学/恒电位仪测量理论


电化学测量是在电化学电池上进行的测量。电化学电池的常见例子有电化学气体传感器、血糖试纸和连续血糖监测装置。

电化学电池通常有三个电极:反电极、参比电极和感测电极(有时称为工作电极)。还存在两个电极和四个电极变体,但不太常见。

在正常操作时,要在参比电极和感测电极之间施加一个电压。该电压称为传感器偏置电压。电化学反应发生于感测电极处,结果会产生一个电流并进行测量。发生电化学反应时,需要用恒电位仪电路来维持传感器偏置电压,灌电流或源电流依情况而定。电流为灌电流或源电流,或通过反电极获取。图2显示了连接到AD5940的恒电位仪放大器(PA)电路的典型电化学电池。

本应用笔记旨在介绍如何使用AD5940进行以下电化学测量:

  • 电流测量
  • 计时电流测量法(脉冲测试)
  • 循环伏安法
  • 方波伏安法
  • 电化学阻抗频谱分析(EIS)

使用与责任限制


本应用笔记中描述的应用是专门针对AD5940的特殊应用,可配合EVAL-AD5940ELCZ评估板使用。除了评估板用户指南中包含的使用条款外,还应理解并同意,不得将评估板或设计用于诊断目的,并且不得与人或动物连接。本评估板仅限评估和开发使用,不可用作最终产品,或作为最终产品的一部分使用。在这些应用中以任何方式使用本评估板或设计,则由使用者自行承担相关风险;由于未经授权使用而给ADI公司、其附属机构、员工、董事、管理层、委托人和代理人带来的全部责任和费用,应由使用方赔偿全部损失。使用方全权负责遵守与此类使用相关的所有法律和法规要求。

Figure 2. Electrochemical Cell Connected to the AD5940.

图2. 连接到AD5940的电化学电池

电流测量


电流测量是一种基本电化学测量,测量时会将偏置电压施加到传感器上并且监测响应电流。一些传感器被称为零偏置传感器,不需要偏置。AD5940使用其低功耗DAC、恒电位仪放大器和LPTIA,在传感器上设置电压并测量电流。低功耗DAC是双输出DAC,提供有一个12位选项和一个6位选项。12位输出(称为VBIAS)设置反电极和参考电极上的电压。称为VZERO的6位输出设置工作电极上的电压,也称为感测电极(SE)。对于零偏置传感器,VBIAS和VZERO输出设置为相同的值,AD5940的最佳值为1.1 V。对于非零偏置传感器,通过调整VBIAS和VZERO设置传感器上的偏置。对于典型的电化学应用,例如电化学气体传感器,在SE0引脚上测量的电流与存在的气体浓度成正比。


硬件配置


要设置硬件,把EVAL-AD5940ELCZ评估板插入EVAL￾ADICUP3029上的Arduino连接器中。在EVAL-AD5940ELCZ上,确保连接以下跳线:

  • JP6:位置B上的跳线
  • JP10:JP10上引脚3和引脚4之间的跳线
  • JP11:JP11上引脚3和引脚4之间的跳线

通过micro USB线将EVAL-ADICUP3029连接到电脑,如图3所示。请注意,USB连接器在EVAL-ADICUP3029上。EVAL-AD5940ELCZ右侧的USB连接器用于USB转鳄鱼夹线。

Figure 3. Evaluation Board Setup.

图3. 评估板设置

测量示例


AD5940软件开发套件有一个专门的电流测量示例。

要在评估硬件上运行电流测量,可以使用以下选项:

  • SensorPal图形用户界面(GUI)工具
  • IAR Embedded Workbench®固件示例

若要快速进行原型设计,请使用SensorPal。有许多可配置的参数来定义测量,并且SensorPal提供了一种快速绘图机制。

另外提供了固件示例以方便进行测量。这些示例在软件开发套件(SDK)中。该SDK包含在IAR Workbench 8.2和Keil µVision® 5中编译的项目。在Keil或IAR中打开AD5940_Amperometric 示例。有关具体的安装说明,请访问analog.com/cn。

要修改默认测量参数,请使用AD5940AMPStructInit()函数。有一种数据结构AppAMPCfg,其中包含可配置的参数。有关固件示例的更多详细信息,请参阅位于SDK所含文档文件夹中的AD5940_Library_and_Examples.chm文件。


理论计算


在本例中,JP6跳线将电阻网络连接到SE0引脚和CE0引脚。该网络由两个并联的10 kΩ电阻组成。

SensorBias是示例项目中的一个变量。如果将SensorBias设为零,则参考电极和感测电极之间电压为零。因此,显示的电流值为零。尝试将SensorBias改为300 mV。当将SensorBias设为300 mV时,测得的电流约为353 μA。若要验证测量值353μA是否正确,请测量参考电极引脚(RE0)和感测电极引脚(SE0)之间的电压,并用下式计算电流:

I = V(RE0 − SE0)/750 Ω

请注意,RE0引脚和SE0引脚之间的电压并非如预期那样刚好为300 mV。该值并非刚好为300 mV,因为在RE0引脚和SE0引脚之间连接了一个750Ω的电阻,每个引脚上的电压都尝试与另一个引脚上的电压匹配。


在IAR中运行示例


若要构建项目,请在Workspace(工作区)窗口中右键单击项目,然后单击Rebuild All(重新构建全部),如图4所示。

Figure 4. Project Build.

图4. 项目构建

若要将代码下载到微控制器并开始调试会话,请单击绿色播放图标。单击Download and Debug (Ctrl+D)(下载并调试),开始运行代码(参见图5)。

Figure 5. Starting the Debugger.

图5. 启动调试器

若要查看测量数据,请打开终端程序,例如RealTerm。将波特率设置为230,400并连接到相关通信(COM)端口,如图6所示。

Figure 6. Data Displayed on the Terminal.

图6. 终端上显示的数据

计时电流测量法(脉冲测试)

计时电流法或脉冲测试是一种测试方法;在该方法中,对反电极和感测电极两端的电压施加脉冲,干扰电化学电池的正常偏置。通过LPTIA在感测电极上测量电流响应。该测量技术可用于多种应用。对于电化学气体传感器,该测试法检查在氧化和还原期间电极之间通过内部电解质的电荷通路是否运行正常。

在正常操作中,AD5940通过VBIAS设置反电极上的电压,感测电极上的电压则通过VZERO设置。对于零偏置传感器,这些电压通常设为1.1 V。然后在VBIAS上施加脉冲并持续规定的时间。使用LPTIA或HSTIA测量响应电流,具体取决于所需响应速度。在本应用中,使用的是LPTIA。


计时电流测量硬件配置


使用与电流测量部分相同的硬件配置,将JP6上的跳线移至位置A。移动跳线,将图7所示电阻/电容(RC)网络连接至AD5940的CE0引脚、RE0引脚和SE0引脚。该RC网络模拟电化学电池。


计时电流测量示例


在零时间处,反电极处于中间电平(1.1 V),感测电极处于1.1 V的共模电压,由此确保网络中无电流流动。然后通过加大VBIAS将步进电压施加到传感器上。由此产生的电流流经网络,然后被LPTIA转换为电压。

图7所示为用于脉冲测试的RC网络。在本例中,CS = 10μF并且RS = 6.8 kΩ。

Figure 7. Sensor Configuration for Pulse Test.

图7. 脉冲测试的传感器配置

计时电流测量理论计算


RC时间常数(τ)为RC电路的时间常数。RC时间常数指电容通过电阻放电或充电,初始值与最终值之差达到约63.2%时所需的时间。对于RC电路,τ = R × C = 6.8 kΩ × 10μF ≈ 68 ms。

AD5940上的内部RTIA用于通过TIA将输入电流转换为电压。RTIA可根据输入电流的大小进行编程。若要选择合适的RTIA,需按如下方式计算最大电流。

在施加步进电压之后立即测量峰值电流。设在VBIAS上施加500 mV的脉冲。电容器短路。因此,

IPEAK = 500 mV/6800 Ω = 73.52 µA

若要计算合适的RTIA值,请使用以下等式:

RTIA = 0.9 V/IMAX

0.9 V/73.52 µA ≈12,241 Ω

其中,0.9是在增益为1和增益为1.5时,允许输入ADC的最大电压。

最接近12,241 Ω的内部RTIA为10 kΩ。该值在LPTIACON寄存器中选择。


运行计时电流测量示例


AD5940软件开发套件具有一个专门的计时电流测量示例。

要在评估硬件上运行计时电流测量,有以下选项可供选择:

  • SensorPal GUI工具
  • IAR Embedded Workbench固件示例

若要快速进行原型设计,请使用SensorPal。有许多可配置的参数来定义测量,并且SensorPal提供了一种快速绘图机制。

也可在 IAR Embedded Workbench 中打开 AD5940_ChronoAmperometric项目。

AD5940_Main.c文件中,有一个用于配置测量参数的初始化函数(AD5940AMP StructInit())。使用此函数可配置脉冲长度、脉冲幅度等参数。

若要查看测量数据,请打开终端程序,例如RealTerm。将波特率设置为230,400并连接到相关COM端口,如图8所示。

Figure 8. Terminal Program Displaying Results.

图8. 显示结果的终端程序

若要将结果保存到新文件,请单击"Capture"(捕获)选项卡。选择合适的位置并用.csv扩展名保存文件(见图8)。用Microsoft® Excel打开文件,创建数据图表。

以下各图显示了原始ADC代码与时间的关系图(见图9)以及电流响应与时间的关系图(见图10)。将计算出的理论峰值电流73.52 μA与图10中的瞬态峰值进行比较,结果显示测得值是正确的。

Figure 9. ADC Code vs. Time.

图9. ADC代码与时间的关系

Figure 10. Current vs. Time.

图10. 电流与时间的关系

循环伏安法

循环伏安法是一种电化学测量方法;在该方法中,施加到电化学电池的电压递增,然后以三角形线性递减到一点。测量工作电极上的响应电流。

若要在AD5940上进行这种测量,将VZERO设置为输出1.3 V的电压。VBIAS可以从0.3 V扫描到2.3 V,得到±1 V的扫描电压。用LPTIA测量响应电流。在需要更快的响应时间时也可以使用HSDAC。


循环伏安测量硬件配置


使用与计时电流测量法(脉冲测试)部分相同的硬件配置,将JP6上的跳线移至位置B。移动跳线,将并联电阻网络连接至AD5940。


循环伏安测量示例


图11显示了循环伏安测量波形的一部分。步长是指施加于VBIAS的步长幅度。AD5940的最小步长为537 μV。采样延迟指应用该步之后,在测量电流之前要等待的时间量。步骤持续时间指在应用序列中的下一步之前要等待的时间长度。步骤持续时间必须大于采样延迟。在SDK所含应用示例固件中,基于总测量持续时间和步骤编号计算步骤持续时间。基于步数、起始电压和峰值电压计算步长。

Figure 11. Cyclic Voltammetry Waveform.

图11. 循环伏安测量波形

循环伏安测量理论计算


必须选择合适的RTIA以最大化测量精度并确保不超出ADC的最大输入范围。计算传感器的最大估计电流。RampPeakVolt是一个用于设置测量峰值电压的变量。RampPeakVolt变量在AD5940RampStructInit()函数中配置。将RampPeakVolt设置为2.3 V,使传感器上的峰值电压为1 V。将RampStartVolt设为−0.3 V。将VzeroStart和VzeroPeak设为1.3 V,此值为LPDAC的中间电平。因此,斜坡信号的峰值电压为RampPeakVolt − VzeroStart,即1 V。信号的峰值负值为RampStartVolt − VzeroStart,结果得到的值为−1 V。因此,该信号的范围为−1 V到+1 V。

IMAX 用下式计算:

IMAX = V/R =1 V/750 Ω = 1.33 mA

其中:
V为信号的峰值电压。

R是被测电阻的值。
RTIA用下式计算:
RTIA = 0.9 V/IMAX RTIA = 675 Ω

其中:
RTIA 为计算所得增益电阻。
IMAX 为最大估计电流。

当PGA增益为1或增益为1.5时,ADC输入端允许的最大电压为0.9 V。

AD5940中最接近675 Ω的内部电阻值为200 Ω(如果选择下一个最大电阻值1kΩ,则会超出ADC的范围)。故选择了内部200 Ω RTIA


运行循环伏安测量示例


AD5940软件开发套件有一个专门的斜坡测量示例。

要在评估硬件上运行循环伏安测量,有以下选项可供选择:

  • SensorPal GUI工具
  • IAR Embedded Workbench固件示例

若要快速进行原型设计,请使用SensorPal。有许多可配置的参数来定义测量,并且SensorPal提供了一种快速绘图机制。

也可在IAR Embedded Workbench中打开AD5940_Ramp项目。

AD5940_Main.c文件中,有一个用于配置测量参数的初始化函数(AD5940RampStructInit())。使用此功能配置启动电压、峰值电压等参数。

构建项目并启动调试器界面。打开RealTerm以捕获数据。用.csv扩展名保存数据,以便在Microsoft Excel中打开文件进行分析。图12显示了斜坡示例的响应电流图。

Figure 12. Ramp Current Response.

图12. 斜坡电流响应

方波伏安法

方波伏安法(SWV)是一种电化学技术;其中,参考电极与感测电极之间的电压以方波形式递增,如图13所示。在每半个步骤之后测量工作电极上的响应电流。

该技术类似于循环伏安法部分中概述的循环伏安法。

Figure 13. Square Wave Voltammetry.

图13. 方波伏安法

方波伏安测量硬件配置


对于方波伏安法,硬件与循环伏安法部分相同。

方波伏安测量示例


AD5940软件开发套件有一个专门的方波伏安测量示例,即AD5940_SqrWaveVoltammetry

要在评估硬件上运行方波伏安测量,有以下选项可供选择:

  • SensorPal GUI工具
  • IAR Embedded Workbench固件示例

若要快速进行原型设计,请使用SensorPal。有许多可配置的参数来定义测量,并且SensorPal提供了一种快速绘图机制。

也可在 IAR Embedded Workbench 中打开 AD5940_SqrWaveVoltammetry项目。

AD5940_Main.c文件中,AD5940SWVStructInit()是专门用于配置测量参数的初始化函数。使用此功能配置启动电压、峰值电压、频率、幅度等参数。

表1. IAR示例项目中变量与变量名称的映射关系
图13中的标记 固件中的变量名称
E1 SqrWvStartVolt
E2 SqrWvPeakVolt
Freq Frequency
EP SqrWvAmplitude
ESTEP SqrWvStep
Delay SampleDelay

运行方波伏安测量示例


重建项目并启动调试器界面。打开RealTerm以捕获数据。用.csv扩展名保存数据。图14所示为SWV测试的响应电流图,信号从−1 V递增到+1 V,Ep = 50 mV,ESTEP = 5 mV,频率 = 25 Hz。图15所示为图表的一部分,放大是为了突出显示电流配置。

Figure 14. SWV Current Response.

图14. SWV电流响应

Figure 15. SWV Current Response Zoomed In.

图15. 放大的SWV电流响应

电化学阻抗频谱分析

电化学阻抗频谱分析(EIS)是一种电化学测量法,其在一定频率范围内测量电化学电池的阻抗。

AD5940可以进行频率高达200 kHz的EIS测量。而且,即使在进行阻抗测量时,也可以保持施加于电化学电池上的直流偏压。


EIS硬件配置


硬件可与方波伏安法部分相同。也可将JP6上的跳线移至位置A,以测量RC网络的阻抗。


EIS测量理论


EIS测量使用比率法。在已知电阻(RCAL)上施加一个信号,并测量响应电流。然后在未知阻抗上施加一个相同的信号,并测量响应电流。对得到的电流执行离散傅里叶变换(DFT),确定每个电流的幅度和相位值。然后用下式计算未知阻抗幅度:

eq1

Figure 16. 2-Wire Measurement Overview.

图16. 2线测量概览

EIS 3线测量


图17演示了如何进行3线阻抗测量。传感器与低功率恒电位器和LPTIA电路断开。然后,通过开关矩阵将传感器连接到HSDAC激励放大器和HSTIA。高达200 kHz的高带宽信号需要HSDAC和HSTIA。

所需的测量步骤取决于连接到HSTIA反相输入端的引脚。测量步骤差异源于SE0路径上的内部负载电阻。这些步骤详见连接到AINx引脚的感测电极章节。低阻抗传感器需要此内部负载电阻来限制流入HSTIA的电流。


连接到AINx引脚的感测电极

当感测电极连接到AINx引脚时,阻抗测量分为两步。

  1. 测量Rz。
  2. 测量RCAL。

将激励信号耦合到CE0上,用HSTIA将响应电流通过AINx转换为电压,如图17所示。ADC测量电压,片上DFT硬件加速器计算实部和虚部,并将它们存储在数据FIFO中。DFT点数可编程为最多16,384个。

然后,通过修改开关矩阵,将激励信号耦合到RCAL上,如图18所示。计算实部和虚部并将其存储在数据FIFO中。

使用下式计算阻抗:

eq2-7

其中:

r和i是存储在数据FIFO中的实部和虚部。
RTIA 是TIA增益电阻的值,单位为Ω。

Figure 17. EIS Block Diagram, Measuring Sensor.

图17. EIS框图,测量传感器

Figure 18. Measuring RCAL.

图18. 测量RCAL

连接到SE0引脚的感测电极

当感测电极连接到SE0时,要在测量中添加一个额外电阻SE0LOAD。在测量中添加电阻需要在阻抗测量过程中添加一个额外步骤。以上三个步骤如下所示:

  1. 测量 RZ + RLOAD
  2. 测量 RLOAD
  3. 测量 RCAL

RZ + RLOAD 的测量信号路径如图19所示。将正弦波施加到传感器,并将响应电流路由到HSTIA。将HSTIA的输出连接到ADC,DFT硬件加速器计算数据的实部和虚部。

为了测量RLOAD,配置开关矩阵,使SE0连接到激励放大器的输出端。闭合D7、P7、N7、T7和T9。此时传感器与AD5940断开。测量阻抗。

第一个计算步骤是用以下各式分别计算三次测量的幅度和相位:

eq8-13

其中:

RZRl 指通过测量Rz + RLOAD获得的结果。
Rl 为测量RLOAD得到的结果。

在步骤1中,将一个电压施加于Rz + RLOAD上。使用下式:

eq14

因此,

eq15

在步骤2中,将一个电压施加于RLOAD上。使用下式:

eq16

因此,

eq17

在步骤3中,将一个电压施加到RCAL两端。使用下式:

eq18

因此,

eq19

其中:

s 表示时间函数。
V(s) 为施加的电压。
I(s)CAL 为测得的电流。
ZCAL 为幅度。

因此,基于步骤1、步骤2和步骤3,

eq20

如果ZCAL(幅度)= 200 Ω且ZCAL(相位)= 0,则可得到下列等式:

eq21

Figure 19. Sensor Connected to SE0.

图19. 连接到SE0的传感器

Figure 20. 2-Wire Impedance.

图20. 2线阻抗

EIS 2线测量


对于2线测量,测量过程与EIS 3线测量部分相同。只是,激励放大器的反馈路径是通过P11内部回连的,如图20所示。


传感器上搭载直流偏压的EIS


在传感器两端施加直流偏压的同时测量阻抗也是可能的。

图19显示了EIS测量的信号路径。D5、P5、N5、T5和T9开关(由开关矩阵控制)闭合,将传感器连接到激励放大器和 HSTIA 。注意如何使能 DAC 直流缓冲器(寄存器AFECON,位21 = 1)。启用这些缓冲器且HSTIACON = 0x1时,HSTIA同相输入端和SE0上的电压为VZERO。VBIAS连接到激励放大器的P节点。VBIAS设置放大器的偏置电压,因此也设置CE0和RE0上的电压。传感器偏置电压是VBIAS与VZERO之间的差值。EIS正弦信号以VBIAS为中心振荡,如图21所示。最大振幅为600 mV。

Figure 21. Impedance with DC Bias.

图21. 直流偏压阻抗

EIS测量示例


AD5940软件开发套件有一个专门的EIS测量示例。

要在评估硬件上运行EIS测量,可以使用以下选项:

  • SensorPal GUI工具
  • IAR Embedded Workbench固件示例

若要快速进行原型设计,请使用SensorPal。有许多可配置的参数来定义测量,并且SensorPal提供了一种快速绘图机制。

也可在IAR Embedded Workbench中打开AD5940_Impedance项目。

AD5940_Main.c文件中,AD5940ImpedanceStructInit()函数是用于配置测量参数的初始化函数。用此函数配置激励信号频率和其他参数。也可以执行频率扫描,该操作在Impedance.c文件中配置。

Figure 22. Impedance Results on Terminal.

图22. 终端上的阻抗结果

作者

Micheal Lambe

Micheal Lambe

Micheál拥有利默里克大学电子和计算机工程学士学位,于2016年加入ADI公司。他的职业生涯始于ADI产品应用工程师,之后进入业务开发部门,专注于ADI最新的电化学和阻抗测量IC产品和产品系列管理。他的工作内容包括在新兴领域推动新的商业机会,如燃料电池监测和电池健康状况监测。