写在前面

当测试得到了LSV数据之后,需要使用Tafel外推法才能获得年腐蚀速率和极化电阻
拟合的方法有三种:

  1. 手动计算,origin2016以上的版本可以按照一个插件,叫Tafel Extrapolation,使用的时候记得以log(i)为X轴,E为Y轴,不然得到的斜率是实际斜率的倒数(最基本)
  2. 电化学工作站自带软件(autolab的选2点做一条切线,CHI晨华的一键测试,最方便)
  3. python第三方工具包拟合(https://zenodo.org/record/1406195#.YA7PkXFdEps)(最自动化)

LSV机理

电化学线性极化曲线(LSV)能够针对低阻抗的电化学体系获得它的相对应的电化学信号的测试。过程是使用一个非常慢的扫描速度,在一个以开路电位为中心的近对称的直流电压范围进行扫描(从负扫到正),得到了电化学体系随着电压的变化而变化的电流情况。
由于速度非常慢,阻抗R值不是很大,电压又是直流电,所以会在电化学体系中不断地发生氧化还原反应,在当扫描电压小于自腐蚀电压的时候(Tafel阴极部分),外加电压对于测试工作电极来说是一个保护,这时候在工作电极上是富电子,会电解腐蚀环境(如果是盐水,就是电解水反应)。在当扫描电压大于自腐蚀电压的时候(Tafel阳极部分),外加电压对于测试工作电极来说是一个破坏,这时候在工作电极上是缺电子,会腐蚀工作电极(将金属溶解)。因此LSV测试是一种对电化学体系来说,是破坏性不可逆的,多次LSV测试会显著地降低工作电极的耐蚀性。
在每个测试的电压点的时候,会不断地发生阳极反应和阴极反应的平衡打破和再平衡,到自腐蚀电位的时候,阳极反应和阴极反应的对象瞬间转换。
电化学的响应电流本质上是一种反应速率的体现,电流越大,证明该电压点的电化学反应就很剧烈,在界面上电解腐蚀环境。但是这个反应速率的增加不是无限的,会受反应物浓度的减少和产物浓度的增加而阻碍反应。

  1. 当电压开始慢慢向正方向变化的时候(相对自腐蚀电位的差距变小,专业上叫电荷转移过电压或活化过电压η),假设电化学体系的有效阻抗大小不变,工作电极体系内部对于电压的响应开始增加,能用于界面的电化学反应的实际电压变小,宏观表现为电流就越小。
  2. 当电压达到自腐蚀电位的时候,工作电极分配了几乎所有的电压,电流出现最小值。
  3. 超过自腐蚀电位,电压开始慢慢向负方向变化,这时候的工作电极开始溶出、氧化反应,越里自腐蚀电位越负的时候,工作电极的缺电子的情况越明显,溶出就会加快,表现为电流的增加。
  4. 当电化学体系的来自工作电极的金属离子的浓度高到一定程度的时候,电流就不能提高,这时候工作电子的缺电子情况会导致工作电极只能通过将现有的腐蚀产物进行进一步的升级氧化,也就是表面钝化,形成一个较好的防腐蚀涂层。
  5. 当钝化达到一定的地方的时候会导致体系从导电性良好的导体情况变成了导电性较差的半导体情况,表现为电流的再次下降,但是电压还是不停地远离自腐蚀电位的方向开始变化,也就是电压-自腐蚀电位差变大,当电位差达到一定的大小之后,会击穿半导体钝化膜,工作电极直接面对腐蚀环境,又从新开始了新的自腐蚀电位的循环(从阴极半极开始)。
  6. 循环不断地发生,会导致每次新的自腐蚀电位对应的最低电流变大。这个原因是因为腐蚀从表面开始进入工作电极的内部(晶间腐蚀)。
  7. 最终的结果是,直流电的电压变得非常大,消耗很多的电能,工作电极的强度也会不断下降。
    (以上是我自己对纯金属腐蚀过程的一些思考。也是电化学钝化的电位电流图的解释)

一般来说,当我们得到了LSV的数据也就是线性的E和线性的I,在分析的时候,要将线性的I变成对数的I才能进行Tafel的外推。反应速率(由电流密度(i)表示)与驱动力或电势E之间的关系由Butler-Volmer方程给出,该反应的速率受激活过电压的限制:
i=i0exp⁡[αnFηRT]−i0exp⁡[−(1−α)nFηRT]{i = i_{0}\ \exp\left\lbrack \frac{\alpha nF\eta}{RT} \right\rbrack - i_{0}\ \exp\left\lbrack \frac{- \left( {1 - \alpha} \right)nF\eta}{RT} \right\rbrack\ }i=i0​ exp[RTαnFη​]−i0​ exp[RT−(1−α)nFη​] 
阳极净电流的表达式:
inet=i0exp⁡[αnFηaRT]i_{net} = i_{0}\exp\left\lbrack \frac{\alpha nF\eta_{a}}{RT} \right\rbrackinet​=i0​exp[RTαnFηa​​]
阴极净电流的表达式:
inet=i0exp⁡[−(1−α)nFηRT]i_{net} = i_{0}\ \exp\left\lbrack \frac{- \left( {1 - \alpha} \right)nF\eta}{RT} \right\rbrackinet​=i0​ exp[RT−(1−α)nFη​]
阳极过电位表达式(从净电流表达式转化,过电位的本质是电位差):
ηa=βalog⁡iai0\eta_{a} = \frac{\beta_{a}\log i_{a}}{i_{0}}ηa​=i0​βa​logia​​
阴极过电位表达式(从净电流表达式转化,过电位的本质是电位差):
ηc=−βclog⁡ici0\eta_{c} = - \frac{\beta_{c}\log i_{c}}{i_{0}}ηc​=−i0​βc​logic​​
阳极斜率表达式:
βa=2.303RTαnF\beta_{a} = 2.303\frac{RT}{\alpha nF}βa​=2.303αnFRT​
阴极斜率表达式:
βc=2.303RT(1−α)nF\beta_{c} = 2.303\frac{RT}{(1 - \alpha)nF}βc​=2.303(1−α)nFRT​
因此,过电位的表达式可以归一为:
η=a±blog⁡i\eta = a \pm b\log iη=a±blogi

从过电位的表单时可以看出,这是一个直线方程,得到这个直线方程就可以得到斜率,得打斜率之后就可以用Stern-Geary公式来计算极化电阻Rp,因为电流和反应速率有关:
icorr=1(2.303Rp)(βa×βcβa+βc)i_{\text{corr}} = \frac{1}{\left( 2.303R_{p} \right)\left( \frac{\beta_{a} \times \beta_{c}}{\beta_{a} + \beta_{c}} \right)}icorr​=(2.303Rp​)(βa​+βc​βa​×βc​​)1​
从腐蚀电流就可以计算年腐蚀速率CR(法拉第定律):
CR=kMmIcorrρmCR = \frac{kM_{m}I_{\text{corr}}}{\rho_{m}}CR=ρm​kMm​Icorr​​
也可以用来计算防腐效率:
PE=Icorr,o−Icorr,iIcorro×100%PE = \frac{I_{\text{corr},o} - I_{\text{corr},i}}{I_{\text{corr}o}} \times 100\%PE=Icorro​Icorr,o​−Icorr,i​​×100%

拟合过程

  1. 将线性电流I转化为对数电流
  2. 根据机理,选择强极化区或者弱极化区做两条切线
  3. 两条切线的交点坐标就是自腐蚀电流和自腐蚀电压
  4. 两条切线的斜率就是阳极斜率和阴极斜率
  5. 用Stern-Geary公式代入阳极斜率和阴极斜率,来计算极化电阻Rp
  6. 用自腐蚀电流计算防腐效率
  7. 从自腐蚀电流就可以计算年腐蚀速率CR(法拉第定律)

拟合

我觉得Tafel拟合的方法里面最好的最快速的是用电化学工作站自带的方法进行拟合
其中最好用的是CHI上海晨华电化学工作站的special拟合的方法
1,测试
1.1, 测试方法

1.2,测试参数


1.3,保存数据
File-save as-Run Unsaved.bin ### CHI的默认文件,必须!后面Tafel拟合要用
File-save as-Run Unsaved.txt ### 数据点,可以用于origin作图,可选
File-save as-Run Unsaved.csv### 数据点,可以用于origin作图,可选
2,分析数据
2.1, 打开数据
File-Open-Run Unsaved.bin
2.2,分析数据
Analysis-Special analysis
2.3,输入参数

2.4得到数据

2.5,显示拟合结果

2.6,整理数据

  1. Corrosion Rate Calculation里面有一个Default Setting,这里是选择拟合的切线位置,默认是从平衡电压的±60mV,一般的强极化区在这里,但是如果觉得不适合可以参考相关的文献进行改正。也可以从2.5拟合结果上看出切线的交点是否在自腐蚀电位的附近(对应Tafel的最低点)。Corrosion Rate Calculation是可以多次归零拟合的。
  2. Corrosion Rate Calculation里面有一个Electrode Properties,这里输入电化学测试的一些参数,从上到下是测试面积,金属的摩尔质量,反应转移的电子(对于铁是2),金属的密度(对于铁是7.85)
  3. Corrosion Rate Calculation里面的CR腐蚀速率有很多个单位,常用的MPY,就是第一个,mil per year
  4. Corrosion Rate Calculation里显示阴极斜率Cat Slp和阳极斜率Ano Slp是各自真实值的绝对值的倒数,而且阴极斜率要乘以一个负数。这是因为标准的Tafel拟合是以log(i)为X轴,E为Y轴,这里是工作站的输入和输出进行了转化的原因。也就是说实际阴极斜率βc=(1/Cat Slp)*1000(βc单位:mV/dec)

参考资料

https://www.sciencedirect.com/topics/engineering/tafel-extrapolation
https://cn.gamry.com/application-notes-3/corrosion-coatings/basics-of-electrochemical-corrosion-measurements/#opennewwindow
https://www.baidu.com/link?url=YkazuUdSA4R1gdj0HVbLo5i8fRwSadCYZyhSz-YzINFONlDq3PVWKtNTok_cFo8b77CUZ-1nyOapphq9VuDvW9AL76fCHXB5eiOK3zokhgJrf_DVSSXQ-GHV-flWZaTj&wd=&eqid=ddf552820002c30900000006600e9b87

电化学线性极化曲线的Tafel外推法(Tafel拟合)得到年腐蚀速率和极化电阻的原理(科研投稿)相关推荐

  1. 对电化学极化曲线(LSV/Tafel)的数据进行自动化处理并可视化作图/画图(科研投稿)

    写在前面 对于一个做防腐蚀涂层的化学材料人来说, 在做电化学实验的时候,我们会获得很多的极化曲线的数据(LSV测试),然后需要将这些LSV曲线的数据进行平均值处理,然后对电流的绝对值取以10为底的对数 ...

  2. 线性与非线性规划:三次拟合

    文章目录 前言 一.三次拟合方法 二.代码实现 1.代码 2.示例 总结 前言 本系列涉及线性与非线性规划中的几种规划算法: 1.本节介绍三次拟合方法 2.参考:陈宝林-最优化理论与算法 3.采用py ...

  3. 对电化学稳态阻抗谱(EIS)的数据进行自动化处理并可视化作图/画图(科研投稿)

    写在前面 对于一个做防腐蚀涂层的化学材料人来说, 在做电化学实验的时候,我们会获得很多的电化学稳态阻抗谱(EIS),其中包含频率.实部.虚部,然后需要将这些EIS的数据进行平均值处理,接着模量等于实部 ...

  4. 数模【数据的拟合方法-总结】【温度与电阻的关系模型、农业生产实验模型、血药浓度模型、化工氯气生产等级模型、人口预测模型】

    前提文章:数学建模[数据处理方法(一维.二维插值方法:数据拟合方法:插值and拟合的MATLAB实现)]

  5. 塔菲尔曲线斜率的大小_如何从曲线上确定Tafel斜率?

    如何从曲线上确定Tafel斜率? 原谅我是逗比不是萌比i|用户:悬赏的问题 卖梦旅人|用户:肯定回答: 对于一个CV曲线,取电化学控制区的电流和电压,然后坐ln|i| aganist E的图,再去掉不 ...

  6. matlab中散点图的线性拟合_Matlab直线拟合和平面拟合

    利用 Matlab 实现直线和平面的拟合 2011-04-14 10:45:43| 分类: 算法思想 | 举报 | 字号 订阅 直线和平面拟合是很常用的两个算法,原理非常简单.但如果 matlab 不 ...

  7. 经典分类:线性判别分析模型!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:小雨姑娘,康涅狄格大学,Datawhale成员 这几天看了看SVM ...

  8. Python小白的数学建模课-23.数据拟合全集

    拟合是用一个连续函数(曲线)靠近给定的离散数据,使其与给定的数据相吻合. 数据拟合的算法相对比较简单,但调用不同工具和方法时的函数定义和参数设置有所差异,往往使小白感到困惑. 本文基于 Scipy 工 ...

  9. 深度学习的过拟合与欠拟合问题的介绍与解决方案

    文章目录 过拟合与欠拟合 一.神经网络模型的表现能力 二.欠拟合 三,过拟合 四,过拟合的解决方法 针对数据集的处理: 针对降低模型的复杂度的处理: 另一种常见的方法--Dropout 针对动量的处理 ...

最新文章

  1. css样式引入方式,及常用设置标签样式
  2. 12.5PMP试题每日一题
  3. 越老越值钱,除了程序员!
  4. 计算机考研需要看数据库吗,05报考华中科技计算机系数据库所的我复试经历
  5. 因误推送“台风致全省人死亡”消息 腾讯视频push线团队全部被开?回应...
  6. linux按括号截取字符串,Linux作业4
  7. 详解CSS position属性
  8. pythonmapiter_018.Python迭代器以及map和reduce函数
  9. 李航《统计学习方法》第二章课后答案链接
  10. Spark DataFrames DataSet
  11. 《Haskell函数式编程入门》—— 第1章,第1.6节本章小结
  12. linux设备模型七(device_driver细节)
  13. eclipse识别不出java项目_Eclipse项目无法识别Java项目; 类路径问题
  14. 聊聊“元宇宙” —— 设备篇
  15. nginx域名重定向 实现新旧域名过渡
  16. 阿里云下Redis集群报Waiting for the cluster to join...和CLUSTERDOWN Hash slot not served的坑(网上搜了好多没看到什么能基本解决的)
  17. Python数据分析就业前景市场分析报告及暑期规划
  18. 数控编程的具体步骤与要求
  19. 基于共词分析的中国近代史实体关系图构建(毕业设计:数据处理)
  20. JAVA编码格式探究

热门文章

  1. 巾帼绽芬芳 一起向未来(中篇)
  2. C语言 习题3-1 比较大小 (简单解法)
  3. 运行java提示找不到符号_运行java代码时出现找不到符号错误怎么解决
  4. linux 数据库 函数是什么,MySQL数据库函数(一)
  5. 《大话物联网(第2版)》赠书活动名单公告
  6. 对Redis数据库的学习!
  7. 【DDNS】Python实现阿里云域名DDNS
  8. 实时数仓 大数据 Hadoop flink kafka
  9. MAYA简单操作讲解1--入门干货
  10. 怎么将Excel多个工作表拆分成多个单独的Excel