恒流充电方法计算电池电化学活性面积

恒流充电方法

Galvanostatic charge method

注:本文内容来自于论文《Comprehensive analysis of galvanostatic charge method for fuel cell degradation diagnosis》,仅用于个人记录,不做其他用途。

一. 充电机理及计算

  1. 电流消耗包含三部分:

I G A { d Q H 铂催化剂表面的氢脱附 C d l d V 双电层电荷 i H 2 氢交叉电流 I_{GA} \begin{cases} dQ_{H} & 铂催化剂表面的氢脱附 \\ C_{dl}dV & 双电层电荷 \\ i_{H_{2}} & 氢交叉电流 \end{cases} IGA dQHCdldViH2铂催化剂表面的氢脱附双电层电荷氢交叉电流
在这里插入图片描述

  1. 计算 C d l 、 i H 2 C_{dl}、i_{H_{2}} CdliH2
    I G A = d Q H + C d l d V d t + i H 2 = ( d Q H d V + C d l ) ⋅ d V d t + i H 2 (1) \begin{aligned} I_{GA} & = \frac{dQ_{H}+C_{dl}dV}{dt} + i_{H_{2}} \\ & = (\frac{dQ_{H}}{dV}+C_{dl})\cdot\frac{dV}{dt}+i_{H_{2}} \\ \end{aligned} \tag 1 IGA=dtdQH+CdldV+iH2=(dVdQH+Cdl)dtdV+iH2(1)
    因此,当氢脱附过程饱和(结束)后, d Q H = 0 dQH=0 dQH=0
    I G A = C d l d V d t + i H 2 (2) I_{GA} = C_{dl}\frac{dV}{dt} + i_{H_{2}} \tag 2 IGA=CdldtdV+iH2(2)
    当使用不同电流进行充电时,有方程组:
    { I G A ∣ 1 = C d l d V d t ∣ 1 + i H 2 I G A ∣ 2 = C d l d V d t ∣ 2 + i H 2 . . . I G A ∣ k = C d l d V d t ∣ k + i H 2 (3) \begin{cases} I_{GA}|_{1} = C_{dl}\frac{dV}{dt}|_{1} + i_{H_{2}} \\ I_{GA}|_{2} = C_{dl}\frac{dV}{dt}|_{2} + i_{H_{2}} \\ ... \\ I_{GA}|_{k} = C_{dl}\frac{dV}{dt}|_{k} + i_{H_{2}} \end{cases} \tag 3 IGA1=CdldtdV1+iH2IGA2=CdldtdV2+iH2...IGAk=CdldtdVk+iH2(3)
    为了避免氢脱附过程的影响,这里的 d V d t \frac{dV}{dt} dtdV取最大值max,再根据 (3) 进行线性拟合之后,就能得到 C d l 、 i H 2 C_{dl}、iH_{2} CdliH2
  2. 计算ECSA–[electrochemical active surface area]
    Q H = ∫ 0 V ( I G A − i H 2 d V / d t − C d l ) d V (4) Q_{H}=\int_0^V(\frac{I_{GA}-i_{H_{2}}}{dV/dt}-C_{dl})dV \tag 4 QH=0V(dV/dtIGAiH2Cdl)dV(4)
    E C S A = Q H Q H A ⋅ W p t ECSA = \frac{Q_{H}}{Q_{HA}\cdot W_{pt}} ECSA=QHAWptQH
    其中积分上限V是截断电压,就是dV/dt最大时的电压, Q H A Q_{HA} QHA是常数 0.21 mC/cm^2, W p t W_{pt} Wpt是铂载量。

二. 误差分析及迭代修正

  1. 误差分析
    在公式(4)中,假设 Q H Q_{H} QH只与 i H 2 i_{H_{2}} iH2相关,且
    i H 2 c = i H 2 + Δ i i_{H_{2}}^{c}=i_{H_{2}}+\Delta i iH2c=iH2+Δi
    其中 i H 2 c i_{H_{2}}^{c} iH2c是实际计算值, i H 2 i_{H_{2}} iH2是理论值。那么
    Q H c = ∫ 0 V ( I G A − i H 2 c d V / d t − C d l ) d V = ∫ 0 V ( I G A − ( i H 2 + Δ i ) d V / d t − C d l ) d V = ∫ 0 V ( I G A − i H 2 d V / d t − C d l ) d V − ∫ 0 V Δ i d t = Q H − ∫ 0 V Δ i d t \begin{aligned} Q_{H}^{c} & = \int_0^V(\frac{I_{GA}-i_{H_{2}}^{c}}{dV/dt}-C_{dl})dV \\ & = \int_0^V(\frac{I_{GA}-(i_{H_{2}}+\Delta i)}{dV/dt}-C_{dl})dV \\ & = \int_0^V(\frac{I_{GA}-i_{H_{2}}}{dV/dt}-C_{dl})dV -\int_0^V\Delta idt \\ & = Q_{H} - \int_0^V\Delta idt \end{aligned} QHc=0V(dV/dtIGAiH2cCdl)dV=0V(dV/dtIGA(iH2+Δi)Cdl)dV=0V(dV/dtIGAiH2Cdl)dV0VΔidt=QH0VΔidt
    ∴ Δ Q = ∫ 0 V Δ i d t = Δ i ⋅ T V \therefore \Delta Q=\int_0^V\Delta idt=\Delta i \cdot T_{V} ΔQ=0VΔidt=ΔiTV
    T V T_{V} TV是氢脱附过程结束的时间。而充电电流越大,该过程完成的越快,即 T V T_{V} TV越小,因此计算的 Δ Q \Delta Q ΔQ越小。
    也就是说,在一组恒流充电的实验中,在忽略其他计算误差或异常数据的情况下,大电流下计算的 Q H Q_{H} QH相对更准确。
    那我们能否通过大电流下的 Q H Q_{H} QH来修正小电流下的 Q H Q_{H} QH呢?
  2. 迭代修正
    假设两组充电结果如下:
    大电流充电时下,计算得 Q H b 、 T V b Q_{H}^{b}、T_{V}^{b} QHbTVb
    小电流充电时下,计算得 Q H s 、 T V s Q_{H}^{s}、T_{V}^{s} QHsTVs
    其中 T V b < T V s T_{V}^{b} < T_{V}^{s} TVb<TVs
    且有
    { Q H b = ∫ 0 V ( I G A − i H 2 d V / d t − C d l ) d V − Δ i ⋅ T V b Q H s = ∫ 0 V ( I G A − i H 2 d V / d t − C d l ) d V − Δ i ⋅ T V s \begin{cases} Q_{H}^{b} = \int_0^V(\frac{I_{GA}-i_{H_{2}}}{dV/dt}-C_{dl})dV - \Delta i \cdot T_{V}^{b} \\ Q_{H}^{s} = \int_0^V(\frac{I_{GA}-i_{H_{2}}}{dV/dt}-C_{dl})dV - \Delta i \cdot T_{V}^{s} \\ \end{cases} {QHb=0V(dV/dtIGAiH2Cdl)dVΔiTVbQHs=0V(dV/dtIGAiH2Cdl)dVΔiTVs
    假设将大电流下的 Q H b Q_{H}^{b} QHb代入小电流下的公式里,反推计算得到 i H 2 1 i_{H_{2}}^1 iH21,则
    Q H b = ∫ 0 V ( I G A − i H 2 1 d V / d t − C d l ) d V = ∫ 0 V ( I G A − i H 2 + i H 2 − i H 2 1 d V / d t − C d l ) d V = ∫ 0 V ( I G A − i H 2 d V / d t − C d l ) d V − ( i H 2 1 − i H 2 ) ⋅ T V s = Q H b + Δ i ⋅ T V b − ( i H 2 1 − i H 2 ) ⋅ T V s \begin{aligned} Q_{H}^{b} & = \int_0^V(\frac{I_{GA}-i_{H_{2}}^{1}}{dV/dt}-C_{dl})dV \\ & = \int_0^V(\frac{I_{GA}-i_{H_{2}}+i_{H_{2}}-i_{H_{2}}^{1}}{dV/dt}-C_{dl})dV \\ & = \int_0^V(\frac{I_{GA}-i_{H_{2}}}{dV/dt}-C_{dl})dV - (i_{H_{2}}^{1}-i_{H_{2}}) \cdot T_{V}^{s} \\ & = Q_{H}^{b}+\Delta i \cdot T_{V}^{b}-(i_{H_{2}}^{1}-i_{H_{2}}) \cdot T_{V}^{s} \end{aligned} QHb=0V(dV/dtIGAiH21Cdl)dV=0V(dV/dtIGAiH2+iH2iH21Cdl)dV=0V(dV/dtIGAiH2Cdl)dV(iH21iH2)TVs=QHb+ΔiTVb(iH21iH2)TVs
    ∴ Δ i ∣ 1 = i H 2 1 − i H 2 = Δ i ⋅ T V b T V s < Δ i \therefore \Delta i|_1 = i_{H_{2}}^{1}-i_{H_{2}}=\Delta i \cdot \frac{T_{V}^{b}}{T_{V}^{s}} < \Delta i Δi1=iH21iH2=ΔiTVsTVb<Δi
    所以用大电流下的 Q H b Q_{H}^{b} QHb代入小电流计算公式里,反推出来的 i H 2 1 i_{H_{2}}^{1} iH21更接近理论值 i H 2 i_{H_{2}} iH2,再将反推出来的 i H 2 1 i_{H_{2}}^{1} iH21代入公式重新计算小电流下的 Q H ∣ 1 Q_{H}|_1 QH1
    Q H ∣ 1 = ∫ 0 V ( I G A − i H 2 d V / d t − C d l ) d V − Δ i ∣ 1 ⋅ T V s Q_{H}|_1 = \int_0^V(\frac{I_{GA}-i_{H_{2}}}{dV/dt}-C_{dl})dV - \Delta i|_1 \cdot T_{V}^{s} QH1=0V(dV/dtIGAiH2Cdl)dVΔi1TVs
    ∴ Δ Q H ∣ 1 = Δ i ∣ 1 ⋅ T V s = Δ i ⋅ T V b T V s ⋅ T V s = Δ Q ⋅ T V b T V s < Δ Q \therefore \Delta Q_{H}|_1 = \Delta i|_1 \cdot T_{V}^{s} = \Delta i \cdot \frac{T_{V}^{b}}{T_{V}^{s}} \cdot T_{V}^{s}=\Delta Q \cdot \frac{T_{V}^{b}}{T_{V}^{s}} < \Delta Q ΔQH1=Δi1TVs=ΔiTVsTVbTVs=ΔQTVsTVb<ΔQ
    以此方法迭代计算下去,就能得到
    { Δ i ∣ n = Δ i ⋅ ( T V b T V s ) n Δ Q H ∣ n = Δ Q ⋅ ( T V b T V s ) n \begin{cases} \Delta i|_n = \Delta i \cdot (\frac{T_{V}^{b}}{T_{V}^{s}})^n \\ \Delta Q_{H}|_n =\Delta Q \cdot (\frac{T_{V}^{b}}{T_{V}^{s}})^n \\ \end{cases} Δin=Δi(TVsTVb)nΔQHn=ΔQ(TVsTVb)n
    这样,小电流下的计算的 i H 2 、 Q H i_{H_{2}}、Q_{H} iH2QH会逐渐逼近理论值。

  3. 说明
    对于以上的计算公式,有以下几点需要说明:
  • 为方便理解,公式中的 Δ \Delta Δ默认为正数,如果写成绝对值的形式,以上推论依然成立;
  • 对于同一个样品,默认不同充电电流下,通过理论 i H 2 i_{H_{2}} iH2计算出来的 Q H Q_{H} QH也是理论真值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
后台采用apache服务器下的cgi处理c语言做微信小程序后台逻辑的脚本映射。PC端的服务器和客户端都是基于c语言写的。采用mysql数据库进行用户数据和聊天记录的存储。.zip C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值