理解iR补偿

引言

在Gamry听到的一些常见的技术问题都与iR补偿有关–

  • 未补偿的iR是哪来的?
  • 我需要在我的实验中用iR补偿吗?
  • 我应该如何设置iR补偿参数?
  • 为什么iR补偿在我的系统中不能运行呢?

在这个技术报告中,我们将尝试回答这些问题,让您对iR补偿有一个基本的了解。

背景

一些初级背景信息描述了iR误差大体的情况。后面的内容主要集中于介绍用于测量和修正iR误差的“电流截断”iR补偿方法。正反馈iR补偿有提到,但是没有具体讨论。

该技术报告假定您对电化学工作站操作有一定了解。如果没有,您可以浏览我们的Primer on Potentiostats。有经验的电化学工作站使用者应该跳过初级教程,继续阅读本文。

如果您对电化学阻抗的基本原理有一些了解的话,也有帮助。在我们的网页上有Primer on Electrochemical Impedance可以查阅。请特别注意一下,典型化学过程是如何被映射到电路元件中的。

什么时候我需要iR补偿?

关于这个问题,我们将在此给出一个大概的回答。更加完整的答案需要知道下面讨论的信息和一些关于您测试系统的信息才能得出。

一般而言,当如下列举中的一个或多个条件实现时,我们就需要iR补偿:

  • 您正在做一个终产生数值结果的量化测试,例如腐蚀速率,平衡常数或速率常数

  • 您电解池中的溶液不导电

  • 您使用的电流非常得高

  • 您的电解池几何不够理想

遗憾的是,这些标准都是主观的。举个例子,0.5 M氯化钾水溶液在电化学分析应用中可能被认为导电性很好,而电镀应用中导电性却很差。

一个常用的简单的经验法则:

  • 记录一下有iR补偿和没有iR补偿的初始数据曲线

如果当iR补偿运行后曲线的形状明显得变化了,那么补偿是必需的。

iR补偿常会给数据增加额外噪声,所以曲线上增加的噪声不被考虑为一个明显的变化。

iR误差哪来的?

让我们来看看一个典型的三电极电化学测试电解池。我们在电解池里标注了一些参考点,这个电解池将在该技术报告的剩余部分多次引用。

Counter electrode output
    at the potentiostat

参考点:

A: 对电极在电化学工作站处的输出端

B: 对电极的金属表面

C: 对电极的电解质表面

D: 鲁金毛细管尖端的电解质

E: 工作电极的电解质表面

F: 工作电极的金属表面

G: 参比电极的电解质表面

H: 参比电极在电化学工作站处的输入端

I: 工作电极在电化学工作站处的输出端

我们也可以把电解池理解为一个(简化的)电子元件网络,如下所示:

a network of electronic components

几乎所有的电化学工作站都能够较好地控制和测量H和I点间的电势。

遗憾的是,我们真的想要控制和测量的其实是E和F点间的电势。这是我们想要知道的通过电化学界面的电势差。

Vimportant = Vf — Ve

为了讨论这个问题,I点与F点等值。G等于H加上由工作电极/参比电极电势差引起的一个常数补偿电压,也叫做开路电压Voc。因为参比中没有电流通过,Rbrigde上的电压降为0,所以G与D等值。从

Vmeasured = VI — VH

我们可以得到

Vmeasured = Vf — Vd + Voc

我们离得到反应电势仅有一步之遥了。E点等于D加上讨厌的电阻Ru

这怎么关联起来呢?通过欧姆定律:

Ve — Vd = Icell * Ru

所以,把上式代入后得到:

Vmeasured = Vf — Ve + Icell * Ru + Voc

重新排列结果后得到:

Vimportant = Vf — Ve = Vmeasured — Icell * Ru — Voc

我们可以测量电压Vmeasured。我们测量电流Icell。我们能查阅或测量开路电压Voc。不过不知道Ru,我们不能得到Vimportant

而这个问题是iR补偿的核心。iR代表Icell﹡Ru

幸运地是,Ru可以被测量和修正。

什么类型的电解池/系统我们需要担心呢?

多数情形,电化学家们能够操纵他们的实验,所以iR降不是一个问题。一个简单的方法就是加入一些不会反应的盐,酸或者能增加电解质导电性的基底(支撑电解液)。

导电性增加 –--> Ru降低 –> iR误差降低

另一个方法是去减小鲁金毛细管和工作电极间的距离。可以设计这样的电解池以使距离非常地小。

显然,如果真这么简单的话,我们就不会有那么多的问题了。

增加支撑电解质将影响电化学性能,尽管离子不直接参与反应。它将改变双电层(Cf)的成分。这可能会影响反应物和产物的溶解度或结构。也可能改变表面原子层的结构。在很多的例子中,不改变电解质可能很重要。例如,腐蚀化学家想要研究他或她的电解质的腐蚀性,而不是电解质加盐时的情形。

同样的,电解池设计方法常常不是一个好的解决方案。很多电解池设计被物理上局限了。一个更微妙问题是,把参比电极和工作电极放的太近会改变表面的电流密度,导致改变我们正尝试要做的测量结果。

 No surface effect-current desisty lines have room to adjust to probe

 

Reducted current density effect 

所以,您需要担心iR误差吗?

如果您的电解质不导电或者您的参比探针与反应表面离得非常远,那么是的。通常您能够很容易地测量iR。

iR误差如何测量?

下面的电路中有一些关于测量iR和Ru的重要线索。它代表了一个电化学电解池电学行为的常见简化模型。

Look at Rfaradaic. It has a capacitor, Cfaradaic in parallel with it. Ru doesn't

看看Rfaradaic,它有一个电容Cfaradaic与其并联。而Ru没有。

由此表明,交流实验可以区分两种电阻。高频信号直接通过Cf没有电压降,而它们在通过Ru时被迫有Icell﹡Ru的电压降,就像低频信号。

的确,如果您记录了这个电解池的电化学阻抗谱,它的Bode表现看起来就像下图:

record the Electrochemical Impedance Spectrum of this cell

低频时Cf近乎为开路,测得的阻抗是Ru和Rf的总和。高频时Cf相当于短路,测得的阻抗是Ru

所以如果您需要担心Ru,您可以测量它然后乘以电解池电流。

产生的误差电压就是没有补偿的iR,Ve-Vd。如果iR小于几个毫伏,不需要再担心它了。

举个例子,从阻抗谱假设Ru = 100欧姆,假定Icell = 10 μA。

iR = 100﹡10﹡10-6 = 1 mV

对于大多数的电化学现象,这是一个小误差。

从另一个角度考虑 – 如果Rf>>Ru, 则不用考虑Ru

用直流技术测量Ru

用交流阻抗测量Ru理论上是个很好的方法,但是有些时候我们需要一个更快捷更便宜的方法。而且常常,我们想要一边测试一边做些其他事,比如记录电流vs.电压曲线。

幸运的是,可以用一个等效直流方法。事实上,对它更好的形容是“瞬态”技术。它被称作电流截断iR补偿。

同样,考虑用简单的Randle电解池模型模拟具有溶液电阻的电化学反应。

Gamry的电化学工作站含有一个电路,它可以快速关闭(切断)流经电解池的电流,等候一个较短的时间(10微秒到30000微秒),然后再把电流打开。很多其他商业仪器也有相同的功能。

为了做电流切断测量,电解池电压(Vmeasured)在电流切断的紧接前和紧接后测得。理想地,测得的电解池电压将如下图所示:

Suppose we are measuring 1.0 V while current is flowing

假定电流流动时,我们在测1.0 V。在时间0时,我们非常快地切断电流!电压马上下降一个Ru的电压降。然后电压开始慢慢地降低。

为什么?

电压的减小是由感应电流电容器(Rfaradaic)慢放电引起的。这个现象时间较长时变得重要。短时间段内,电容器可以保持电压到Vmeasured – Vu,这是我们的Vimportant。而这是我们想要得到的。

照例,事情不会如此简单。三个问题妨碍了这个简单模型:采样速率,输出电容和噪声。

采样速率

理想化电流截断波形伴随的一个问题是采样的速率。在上图中,采样是2微秒(非常快)。如果我们假定衰变曲线是直线然后反向外推到切断时间,我们可以明显调慢采样。

我们用我们一直用的相同Randle电解池试试。采样在1毫秒和2毫秒,反向外推至0毫秒开关关闭的时候。您可以得到类似下图的结果:

The estimated Vu is calculated

Vu可以通过Vu=V­1+(V1-V2)估算。

在这个例子中,V1=0.671 V,V2=0.481 V,而通过直线外推,Vu估值在0.862 V。

不过等等,Vu常常非常接近0.938 V。我们被误导选择了太慢的时基。您能够在图上看到关闭迹线的曲率。当然它是弯曲的-它是指数式衰减。

顺便提一下,这些都是从我们原始Randel电解池模型得来的真实数值,用Mathcad计算然后用Excel画图。

所以,我们离题太远了。毫秒的时间设置对于该电解池的iR测量太慢了。应该使用其他更快但又不至于太快的时基。

您如何辨别?

在数学上,衰减时间常数是Rfaradaic﹡Cfaradaic。对于这个电解池,

taufaradaic=3000 Ohm﹡1μF=3 ms

如果您粗略地知道这些值,您可以挑选一个短的时间tau为RC/10。或者您可以通过减小采样速率直到数值稳定来慢慢地接近正确答案。

不过采样速率变短存在着另一个问题 – 恒电位输出和缆线电容。

缆线电容

回想原始电解池模型:

那个看起来无害的电容Ccable能够引起很多的问题。如果您有典型的屏蔽电缆,Ccable的值可以是每英尺50 pF。对于一个5英尺长的缆线就是250 pF。另外还有一个差不多100 pF大小的给开关本身,电路板和驱动放大器的电容。

我们可以用这个电路作为一个模型:

The cable capacitance forms an RC section with Ru and Rsolution

缆线电容产生一个与Ru和Rsolution在一起的RC部分。这意味着通过Ru的电压没有无限快地消失。

为了这个讨论,我们必须假设对电极电容很大而且在这些时标充当短路。幸运的是,这个假设很合理。

假定您决定将iR采样设在50微秒和100微秒。这些点在下图中显示为方块。用这两种测量,iR估算很明显又再次非常不精确。您必须等到缆线电容瞬变消失才能进行测量。

helpful to see this on a log(time) scale so you can see the cell cable & Faradaic capacitors being discharged

用时间指数比例查看这一现象可能会有帮助,所以您可以查看电解池电缆和法拉第电容在放电。

a positive noise contribution to V1 and a negative noise contribution to V2.

您需要找到两个限制放电曲线间的时间范围。

缆线电容必须充分放电,但是法拉第电容必须仍然在近似线性区域。如果您的法拉第电容不太大,比缆线电容大很多,电流截断iR补偿将会有用。

噪声

当电流截断iR补偿被用在实际系统上时,噪声可能是一个主要问题。

基本上,电流截断iR补偿是一个微差测量。记住我们用于估算Vu的方程:

Vu = V1 + (V1-V2)

差分项V1-V2对噪声非常敏感。

在适于电流截断iR补偿的系统中,V1和V2的差值很小,从几个毫伏到几百个毫伏。

假定V1有一个正噪声贡献,V2有一个负噪声贡献。那么平均噪声是0,但是Vu的误差是两倍那么大!

The control loop algorithm treats the potentiostat as a loop within a loop

您可能会说:“那又怎样。只要开一些滤波器。噪声就会没了。”

但是我们正尝试测量一个快速(10-1000秒)的现象。这种情况下我们不能增加一个5 Hz的滤波器,如果它没有完全地消失的话,整个瞬变将会失真。

下面列出的所有都能帮助减小噪声:

  • 使用法拉第笼将外来噪声隔绝在测量以外。

  • 使用信号平均法以使在保留真实值的同时噪声项被平均掉。

  • 如果您的噪声源频率是已知的,使用同步采样法以便所有噪声形成的误差在同一个方向。

  • 后,如果噪声还是太大,不要用外推法。就取个平均值吧,比如:


Vu = (V1 + V2) / 2

当您尝试测量低电流时,噪声情况更差。在这个情况下,当电流截断开关打开时,参比电极和工作电极在更高电流时有更多噪声。

如何修正?

至此,我们只谈论了iR的测量。如果我们知道Vu的值,我们可以减去Vmeasured值,得到Vimportant。这被称为后处理修正。

后处理修正会遇到的一个问题是我们在施加真实电势前不能预测其数值。这在扫描电位的实验中是特别有问题的。在这些实验中,电位扫描速率不是常数,扫描极限可能非常不准确。

我们会倾向于连续地进行恒电位测量和Vu修正。毕竟当您想施加1 V到电解池上,您想要Vimportant = 1 V,而不是Vmeasured = 1 V。

当您使用电化学工作站时,情况变得简单了。电化学工作站不需要对Vu进行修正,因为它的工作是控制电流而不是电位。它还需要测量Vu

尽管不是有效但有一个简单的用电流截断自动修正iR的方法是让电化学工作站在施加信号上增加其对Vu的佳评估值。这一方法可以用下列公式表示,其中方框中的数值代表测量点:

Vapplied[i] = Vrequested[i] + Vu[i-1]

初值没有修正。然后从个数据点测得的误差将被叠加到第二个数据点的施加电压上。继续这样做,随着数据的积累修正变得更加准确。

需要注意的是这是一个动力学修正。Ru可以在实验中改变,系统将会自动地补偿这个改变。

控制回路算法

将误差电位直接反馈进第二个数据点不是运行修正的复杂的方法。一个更好的了解反馈机制的方法是把iR修正看成一个控制回路。

控制回路算法把电化学工作站当成一个回路中的回路。内部回路是电化学工作站本身,它测量Vmeasured然后用反馈机制控制它。这个回路纯粹由模拟电子学制成,如下所示:

The iR correction also happens in a control loop outside of the potentiostat loop

同样,我们减少了一些与这部分讨论不相关的组件。

电化学工作站是一个控制回路。它测量Vmeasured,并与Vapplied作比较,对对电极电压做修正直到两者间的电势差为0。所有这些是连续发生的。

iR修正也常发生在电化学工作站回路以外的控制回路。如下图所示:

 block that produces Vactual

外回路与内回路做着相同的工作,不过它在电脑上数字化地完成修正。它的工作是查看Vimportant = Vapplied,而现在内回路的工作是查看Vmeasured = Vactual。Vactua是来自外回路的新值。

我们也展示了一个有趣的产生Vactual的模块。Vactual被称为增益模块或控制器模块,取决于您跟谁说。它的输出值由下式给出:

Simplified Potentiostat with PFIR D/A Converter

它已知将工程师们控制成PID回路。每一个增益是单独控制的。通过调整增益,我们能够得到iR补偿,比简单反馈算法运行得更加好。事实上,我们想要用积分控制做iR补偿。

在Gamry,我们通常在我们的直流软件中使用控制回路算法。它用一些我们实验控制语言里得到的线来设置。说明,就像下面这样:

if (IRToggle)
	Pstat.SetIruptMode (IruptClfg, EuExtrap, IruptTime, POTEN.Eoc (), 0.8)
	Pstat.SetVchFilter (100000.0)
else
	Pstat.SetIruptMode (IruptOff)
	Pstat.SetVchFilter (5.0)

0.8是控制回路增益,Ki,Kp定在1.0,Kd是0。注意电压通道滤波器(VchFilter)被设为通过100 kHz信号。如果我们不用iR补偿,滤波器被设为过滤尽可能多的环境噪声。

我们可以通过修改包括控制回路模式,Vu计算,电流截断计时和增益等的参数以适应反应和测试中的电解池动力学。

电流截断iR补偿的优势

电流截断iR补偿与其他iR补偿方法相比有一些优势,包括:

  • 不需要提前知道Ru

  • Ru可以在实验过程中改变,而不制造补偿中的误差

  • 补偿与用于测量电流的电流量程无关,所以在自动量程实验中运行

  • 扫描参数如斜升极限值和扫描速率都自动修正了

电流截断iR补偿的局限性

电流截断iR补偿在一些电化学系统上运行良好,但是当应用到其他系统时无法正常工作。

这些失败在技术现实局限性方面一般是可说明的。

局限性包括:

  • 需要一个大的法拉第电容

  • 每点时间局限性

  • Rfaradaic应大于Ru

  • Ru的值必须小于一个极限值

下面将详细解释这些局限性。

需要一个大的法拉第电容

如上所述,当电流被断时Cfaradaic保持“直流”电位。如果法拉第电容缺失或者太小,电流截断通常会驱动系统到一个大的电位和电流。这个问题明显的症状是测得电流比预期电解池电流要高很多倍。过载指示也可能会出现。

Gamry电化学工作站的电流截断在法拉第电容大于20 μF时效果好。对于一个“裸金属”电极,您可以估算电容为20 μF/cm2,所以电极面积必须大于等于1 cm2。如果电极覆盖有任何形式绝缘涂层的电极时,我们不建议您使用电流截断iR补偿。

这个要求通常将电流截断iR补偿限制在腐蚀测试与电池和燃料电池研究。电流截断对于常用于物理电化学电解池的电极尺寸效果不太好。

每点时间局限性

电流截断iR补偿假设您多数时间施加的是直流电位和电流。分断时间应该比测量数据曲线中每一个数据点所需的时间小很多。

默认情况下,Gamry软件自动地为分断选择一个总的电流截断时间和采样时间。每当电流量程变化时,这些时间会被调整,更长的分断时间和更慢的采样速率用于更敏感的电流量程。分断时间的范围通常为10微秒到64微秒。

Gamry建议当每个数据点时间等于或大于1秒时,您仅施加电流截断iR补偿。

如果您正在扫描电位,这将扫描速率限制为等于或小于5 mV/sec。

Rfaradaic应该大于Ru

Rfaradaic和Ru间的比值也有限制。因为相同的电流流经两个电阻,这也是通过电化学界面的电位和误差电位间比值的一个限制。

通常关于这个比值的一个更严重的局限性出现在电解池。大多数电化学电解池在电极表面拥有一个非均匀的电流分布。工作电极的一些部分有比其他部分更多的电流。在这样的情况下,简单的Randle电解池模型不适用。界面不能用单个电位来表述。

除非您的电解池有一个专为均匀电流而设计的几何,否则我们相信您应该将Ru保持等于或小于Rfaradaic的十分之一。如果比值大于1/10,我们相信您系统上得到的任何量化结果都将有误差。需要注意的是这只是一个“直觉”近似。我们不能保证这个近似值将适用于您的电化学系统。

Ru的值不太大

Ru的值也有一个基线,其与Rfaradaic的值无关。我们的经验显示当Ru超过一些上限时误差会发生。对于大多数的Gamry系统,这个极限大约是10 kΩ。

正反馈iR补偿

电流截断iR补偿只有当您在测试慢现象时是有用的,例如腐蚀反应或能源储存设备表征。当需要非常快的测量时,它不能用。快速实验的一个例子是用于测量化学热力学的1000 V/sec循环伏安法。

幸运的是,有一个iR补偿技术可以用于快速系统。它被称为正反馈iR补偿。

这个技术可以被认为是电化学工作站的一个额外模拟反馈路径。所有有用的电化学工作站测量电解池电流。当电化学工作站里的正反馈激活了,一部分的电流信号以额外电压输入的方式反馈回来。

下图是一个电化学工作站的高度简化示意图。在这个示意图的右下部分,电流通过Rm上的电压降来测量。这个电压降被放大去产生一个电压信号,叫做Isig。这个示意图中,Isig在满度电流是3伏。

在示意图的右上部分,我们展示了一个标为PFIR DAIC的模块。这是正反馈IR数模转换器。它的输出是一个电压,是Isig已知的部分。当正反馈iR被激活,这个电压以额外电压输入的方式被施加到控制放大器上。

注意:在这个示意图和如下的讨论中,PFIR DAC输出在被用作反馈源之前不按比例缩小。这可能对于全部PFIR的实现不对--包括一些Gamry的实现。

含PFIR D/A转换器的简化电化学工作站

the PFIR DAC output is not scaled prior to being used as a source of feedbac

一些简单的数学推导可获得:

Isig = 3.0 × Icell/IFS = Icell ×Re

其中,Re是等效电流测量电阻,由下式得:

Re = 3.0 V / IFS

Re告诉我们能够在任意电流量程上补偿的Ru的大值。

在正反馈iR补偿中,您需要在修正前知道Ru。Gamry的PHE软件包含了一个简便的先于实验运行Ru测量方法。这个方法使用一个简化的EIS形式,假设高频的电解池阻抗等于Ru

一旦您给Ru输入一个值并选择正反馈iR修正,Gamry软件将PFIR DAC设为输出一部分Isig,Isig等于Ru对Re的比值。在这一设置下,电压反馈是:

PFIR out = Ru/Re × Isig = Ru/Re × Icell × Re = Ru × Icell

我们通过Ru上的电压来增加施加在电解池上的电势。数值的分辨率由PFIR DAC分辨率控制。用一个14位DAC(数模转换器),分辨率是Re/16384。

举一个例子,我们来看看3 mA电流量程。在这个量程,Re是1000 Ω。用14位DAC的正反馈修正有一个1000/16834的分辨率或者每比特0.061 Ω。

正反馈iR补偿的优势

正反馈iR补偿相比其他的iR补偿方法有一些优势,包括:

  • 非常快速的实验可用

  • 扫描参数,例如斜升极限和扫描速率,被修正

正反馈iR补偿的局限性

相比于其他补偿方法,正反馈iR补偿有一些局限性:

  • 需要预先知道Ru的值

  • 如果Ru在实验过程中变化了,会有误差

  • 在实验过程中电流流程必须不变

  • 正反馈能导致电化学工作站振荡