Kapok V1.0:一个酸碱滴定和配位滴定辅助教学软件包
Kapok V1.0: A Computer-Aided Instruction Package for Acid-Base Titration and Complexometric Titration
通讯作者:
收稿日期: 2020-05-5 接受日期: 2020-06-1
Received: 2020-05-5 Accepted: 2020-06-1
This paper introduces a computer-aided instruction program package for teaching of acid-base titration and complexometric titration. The core parts of the package were programmed using C++ based on general expressions for acid-base titration and complexometric titration of arbitrary mixtures. The parameter file was designed to conduct operations of the software package. Users only need to write the parameter file according to a rule and then to calculate the titration curves of acid-base titration and complexometric titration of complicated system. A graphic user interface was developed to make it easy to implement the package. The package is helpful for the teaching of the theories of acid-base titration and complexometric titration.
Keywords:
本文引用格式
甘峰.
Gan Feng.
本文将介绍一个可用于计算复杂体系酸碱滴定和配位滴定的软件包。该软件包有友好的用户界面,按照一定的规则编写参数文件,该软件包原则上可以计算较为复杂的酸碱滴定体系和配位滴定体系的滴定曲线。
1 理论背景
1.1 酸碱滴定
本软件包的酸碱滴定部分的程序编写基于de Levie [4]提出的酸碱滴定通式,其数学表示如下:
式(1)建立了体积比η与Δ之间的函数关系,本质是建立了η与[H+]之间的函数关系。通过给定[H+]的数值即可计算出η的值,绘制成η-pH图即为酸碱滴定曲线。有了该滴定曲线,也可以计算体系中各种型体的浓度变化曲线。式(1)是一个普遍成立的式子,基于它原则上可以计算任意复杂酸碱滴定体系的滴定曲线。
1.2 配位滴定
这里,Y代表EDTA;Ki表示配合物MiY的形成常数。为了表示的便利略去了电荷。
设包含这些金属离子的溶液的初始体积为V0;第i个金属离子的分析浓度为c(Mi);EDTA的分析浓度为c(Y);当滴加的EDTA的体积为Vt时,滴定方程如下:
这里,η = Vt/V0;α(Mi)表示金属离子Mi的副反应系数;α(Y∙H)表示EDTA的酸效应系数。
式(4)决定了η-[Y]的关系,可通过设定不同的[Y]值然后计算η值的方式,得到式(3)的数值解。将该数值解带入到式(3)即可建立η-[Mi]关系,绘制η-p[Mi]图就是该金属离子的滴定曲线。此外,通过这些数值解也可以计算滴定体系中形成的配合物的浓度变化曲线。
2 软件设计
2.1 基本框架
本软件包的主程序名为Kapok.exe,其余部分不拟进一步说明,图 1所示为其图形用户界面。该图形用户界面基于Qt的多文档模板,程序中的File、Edit、Window和Help菜单项对应的功能与一般软件相同,在此不做介绍。Titration菜单项目前包含三个功能:(1) 计算酸碱滴定曲线;(2) 计算酸碱滴定体系中相关型体的浓度变化曲线;(3) 计算配位滴定曲线及形成的配合物的浓度变化曲线。未来还有可能根据需要添加新的功能。
图1
在图 1的视图中的文件为参数文件,计算过程由该文件驱动。用户所要做的事情是编写这个文件,详细的规则在2.2小节介绍。这里要强调的是,在编写参数文件时应采用UTF-8编码格式,否则可能出错。选中参数文件为焦点文件后,点击Titration菜单项中的按钮,主程序会首先检测参数文件类型,然后运行相关的可执行文件进行计算,用户无需关注程序的执行细节。
2.2 参数文件
参数文件在本软件包中起到关键作用,不同的参数文件驱动不同的运算。本软件包的参数文件由系统标识符和参数值构成。系统标识符是程序自身设定,用户不得更改。参数值则可由用户基于具体的滴定体系进行设置。
2.2.1 酸碱滴定参数文件
图2
(1) 文件的第1行顶行填写ACABT,这是酸碱滴定计算的标识符。程序将首先核查参数文件的顶行内容,如果不属于可识别的标识符,将直接提示错误。
(2) Mode是系统标识符。如果是碱滴定酸,则Mode == 0;如果是酸滴定碱,则Mode == 1。这里的双等号==也是系统标识符,用于分割系统标识符和数据。下同。
(3) Acid_Number和Base_Number是系统标识符,记录系统中酸的数目和碱的数目。在本例中,用NaOH单一碱做滴定剂,所以Base_Number == 1。而滴定物由三个酸混合而成,所以Acid_Number == 3。这里设定的数字必须与后续的Acid_List和Base_List下面列举的酸或碱的数目对应,否则可能会出错。
(4) Max_pK_Number是系统标识符,用于设定滴定物中所含酸解离常数的最大数目。在本例中,H3PO4是三元酸,包含三个酸解离常数,所以Max_pK_Number == 3。
(5) End_Point_pH是系统标识符,用于设定滴定终点时的pH值。滴定终点取决于所采用的指示剂,可从教科书或者手册中查找。本例中采用酚酞做指示剂,所以End_Point_pH == 9.5。
(6) Equivalence_Point是系统标识符,用于设定化学计量点处的体积比(η)。计量点处的体积比可以根据滴定剂和滴定物的分析浓度计算。例如,本例中的分析浓度均为0.1 mol∙L-1,而H3PO4的第3个氢离子不能滴定,所以实际可滴定的氢离子浓度是0.4 mol∙L-1。总量滴定时化学计量点处的体积比为0.4 mol∙L-1/0.1 mol∙L-1 = 4,本例中Equivalence_Point == 4。实际上,计算过程被设定为计算到Equivalence_Point + 0.2即停止。所以,改变Equivalence_Point的设定值,可以逐步放大显示滴定曲线的进程。
(7) Acid_List是系统标识符,表明其后续部分是酸的列表,每个酸占一行,这里的行数必须与Acid_Number的数值一致。酸在溶液中会形成多种型体,这里将其所有型体均列举出来。以HCl为例,首先是滴定物的型体HCl,后续部分为HCl和Cl{-},分别表示HCl在水溶液中的两个型体,这些符号将用于标记对应型体的浓度变化曲线。其中的 & 为系统标识符,用于分割各型体。双等号==后面的数值0.1,1,1,-10,0.0,0.0分别表示酸的分析浓度、酸的原始型体(本例是HCl)理论上可提供的氢离子的数目、作为滴定物(本例依然是HCl)时其当前型体可提供氢离子的数目和酸的解离常数负对数值。这里要说明的是,HCl等强酸本质上是完全解离的,一般的教科书因而也不明确给出强酸的解离常数值。De Levie [4]建议对于强酸可直接赋予其酸解离常数为一个足够大的值,例如Ka = 1010,对应的pKa值即为-10。后面用0.0补齐,使得它看上去也是有三个酸解离常数值,与Max_pK_Number的值相一致。
(8) Base_List是系统标识符,表明其后续部分是碱的列表。本例中只有一个碱NaOH,它在水溶液中实际上完全解离。本软件中依然从形式上设定其原始型体和解离型体等。双等号==后面的数值0.1,1,1,220,0.0,0.0分别表示NaOH的分析浓度、滴定剂原始型体可提供氢离子的数目、当前型体可提供氢离子的数目和碱的解离常数负对数值。从酸碱滴定通式[4]的推导过程中可以发现,对于强碱而言其F = 1。本软件包本可以在编写程序时直接设定强碱的F = 1,而不必编写其具体的参数值。但为了参数表达的一致性和软件包未来的可拓展性,虚拟地设定了强碱的参数值。本例中的NaOH从形式上看包含1个氢离子,但是这个氢离子无解离的可能性,因而给它设定了一个非常小的酸解离常数,即Ka(NaOH) = 10-220。基于该值计算得到F值在精度要求范围内等于1。并且,基于该解离常数值计算得到的NaOH水溶液中各种型体的分布分数值也与实际体系一致。这里强调说明,本软件包当前只考虑一元强碱的情况,用户在研究NaOH滴定其他体系时,可以直接拷贝上述内容稍作修改即可。
(9) Result_File是系统标识符,用于指定计算结果保存位置及文件名。本软件包中将文件路径用绝对路径形式设定,目的是为了不至于因为安装路径不同导致计算出错。用户在编写或编辑本参数文件时,需要确保在此处设定的路径确实存在,否则程序会报错。用户还可以根据保存目录下的计算结果进行进一步的研究分析之用。
本软件包中包含了多个酸碱滴定实例的参数文件,用户可以先用这些文件学习本软件包的酸碱滴定部分的计算和显示方式。在此基础上再编写自己的参数文件。笔者建议将本程序中的参数文件另存后再在上面进行修改,避免因为编码的问题导致程序无法运行。
2.2.2 配位滴定参数文件
图 3所示为EDTA滴定Zn2+和Cu2+混合溶液的参数文件。该文件中已经对相关的内容进行注释,有分析化学知识的用户应该对于文件的理解不会存在太大的困难。为了便于读者的理解,这里还是对某些内容进行详细的解释。
图3
(1) 顶行开始的ACCT0是配位滴定参数文件的标识符。
(2) Mode是系统标识符。Mode == 0表示用EDTA滴定一个或多个金属离子,其他配体的浓度均视为常数。本软件包当前只实现这一种模式,将来会考虑进行扩展。
(3) OtherLigandNumber是系统标识符。配位滴定中可能会采用其他的配体对体系中的某些离子进行掩蔽,由此引入的配体对于其中的所有离子均可能发生配位反应。这里设定具体采用的其他配体数目,本例中实际上没有采用其他配体,但是虚拟设定其他配体数目为1,是为了给参数文件构建占位符,便于参数文件的一致性设计,及计算模块的通用性。后面的OtherLigandList是对应的系统识别符,用于列举其他配体与金属离子的(累积)形成常数。OtherLigandList中的参数用于计算金属离子的副反应系数。
(4) BufferNumber是系统标识符。配位滴定几乎都需要在缓冲溶液中进行,而构成缓冲溶液的试剂也可能与金属离子进行配位反应。在本例中采用了氨缓冲溶液,其中的NH3会与铜离子和锌离子进行配位反应。与BufferNumber对应的系统标识符是BufferList,它后面列举缓冲溶液中的配体与金属离子的累积形成常数。例如,本例中NH3与Zn离子的参数为0.005,2.37,4.81,7.31,9.46,0.0,0.0,分别为NH3的游离浓度和NH3与Zn离子的累积形成常数。BufferList中的参数用于计算金属离子的副反应系数。
(5) TitrantList是系统标识符。本例中的滴定剂是EDTA,其后续的数值为分析浓度和EDTA与氢离子的累积形成常数,用于计算EDTA的酸效应系数。
3 应用示例
3.1 酸碱滴定应用示例
图4
图 4(B)所示为盐酸中两种型体的浓度变化曲线。从图中可以看到,HCl型体的浓度实际上等于0,即盐酸是完全解离状态。从Cl-的滴定曲线上可以看到,在η=1处它并不等于0,表明在η=1之前可能并非只有源自HCl的氢离子被滴定,其他酸解离的部分,氢离子其实在同时被滴定。本质上说,不同来源的氢离子解离到溶液中后是无法区分的,均同时参与到与NaOH的反应之中。
图 4(C)所示为醋酸中两种型体的浓度变化曲线。从图中可以看到,即便在η=2处,HAc也只是部分被滴定;在η=3处,Ac-的浓度达到极大值,此时HAc才可视为被滴定完全。
图 4(D)所示为磷酸中4种型体的浓度变化曲线。从图中可以看到,H3PO4在η=2处才基本被滴定完全,此时H2PO4-也恰好达到最大值。在后续的滴定过程中H2PO4-被持续滴定,最终在η=4处才被滴定完全。从η=4处开始,磷酸的第3个氢离子被滴定,但是由于其酸性太弱,不会形成滴定突跃。
基于上述的滴定曲线可以得出如下的结论:(1) 从滴定开始,3种酸解离状态的氢离子就一同被滴定;(2) 从η=2开始,主要在滴定游离的HAc,并在η=3处将HAc滴定完全;从η=3处开始,就只滴定H2PO4-,直至η=4时将H2PO4-滴定完全。
3.2 配位滴定应用示例
将图 3所示的配位滴定参数文件设定为焦点文件,点击Titration → Complexation titration curve (mode 0),得到图 5所示的EDTA滴定铜离子和锌离子的滴定曲线和生成的配合物的浓度变化曲线。要说明的是,为了表达的简洁性,将滴定曲线纵坐标用pM标示,表示金属离子浓度的负对数值。在此体系中,溶液的pH用氨缓冲溶液控制,并假设游离氨浓度为0.005 mol∙L-1。由于NH3能够与Cu2+和Zn2+进行配位反应,所以从一开始就部分消耗了这两种金属离子,其结果是Cu2+和Zn2+的滴定曲线的起始点均被抬高,如图 5(A)所示。如果不存在类似NH3的配体,则根据Cu2+和Zn2+的分析浓度计算可知,二者的滴定曲线的起点均应该在pM = 2。由于NH3的配位效应,使得滴定开始前Cu2+和Zn2+的pM值均大于2。并且,由于NH3与Cu2+的配位能力更强,消耗更多的Cu2+,使得Cu2+的滴定曲线的起始pM位置高于Zn2+的滴定曲线的起始位置。从图 5(A)中还可以看到,在η=2处两种金属离子同时达到滴定突跃,这也表明在该体系中只能滴定两种金属离子的总量。
图5
上述的两个例子很好地演示了本软件包在分析复杂酸碱滴定体系和配位滴定体系时所展现的强大功能。限于篇幅,本文中不再展示其他例子。有兴趣的读者可以与本文作者联系,申请本软件的免费试用。还可通过腾讯课堂观看本软件的教学演示,链接地址为https://ke.qq.com/webcourse/index.html?cid=1477891&term_id=101576079&lite=1&from=800021724。
4 结语
作者基于酸碱滴定通式和配位滴定通式成功构建了辅助教学软件包。该软件包可直接运行在Windows平台上,用户无需安装其他的计算软件。参数文件的引入是本软件包的一大优势,它使得不同类型的计算均可以被纳入到同一个用户界面下,而用户所需要做的事情仅仅是根据规则构建参数文件,不再需要去建立复杂的计算方程,从真正的意义上实现了“公式化”。参数文件驱动的形式也为后续的拓展提供了便利的空间。限于作者的水平有限,本软件当前还不能处理更为复杂的配位滴定体系,希望这一不足能在不远的将来得以弥补。
参考文献
DOI:10.1021/ed5005646 [本文引用: 1]
/
| 〈 |
|
〉 |

