大学化学, 2024, 39(1): 377-385 doi: 10.3866/PKU.DXHX202306026

自学之友

Python在酸碱滴定分析教学中的应用

李伟, 李鑫, 贾树恒, 白海鑫, 赵士举, 吴璐璐, 张海燕, 范彩玲,

Application of Python in the Teaching of Acid-Base Titration Analysis

Li Wei, Li Xin, Jia Shuheng, Bai Haixin, Zhao Shiju, Wu Lulu, Zhang Haiyan, Fan Cailing,

通讯作者: 范彩玲, Email: fancailing@henau.edu.cn

收稿日期: 2023-06-13   接受日期: 2023-10-12  

基金资助: 河南省高等教育教学改革研究与实践项目.  2021SJGLX349
河南省专业学位研究生精品教学案例项目.  YJS2022AL066
中华农业科教基金课程教材建设研究项目.  NKJ202102002
河南省及河南农业大学《分析化学》一流本科课程

Received: 2023-06-13   Accepted: 2023-10-12  

Abstract

Based on modern Python programming technology, we independently developed a graphical user interface (GUI) acid−base titration learning software. It can achieve the visualization of titration curve images for different acid−base systems such as monobasic strong acid (base), monobasic weak acid (base), polybasic acid (base), and mixed acid (base), as well as the calculation of stoichiometric points, titration jump ranges, and titration errors. The application of software makes the teaching content more intuitive and visualized, helping to gain a perceptual understanding of the changes in titration curves and a profound comprehension of its concepts and principles.

Keywords: Acid-base titration ; Python ; Learning software ; Titration curve ; Titration jump ; Titration error

PDF (1010KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

李伟, 李鑫, 贾树恒, 白海鑫, 赵士举, 吴璐璐, 张海燕, 范彩玲. Python在酸碱滴定分析教学中的应用. 大学化学[J], 2024, 39(1): 377-385 doi:10.3866/PKU.DXHX202306026

Li Wei. Application of Python in the Teaching of Acid-Base Titration Analysis. University Chemistry[J], 2024, 39(1): 377-385 doi:10.3866/PKU.DXHX202306026

酸碱滴定法是以质子转移的酸碱反应为基础进行定量分析的一种方法,是分析化学课程教学的重要组成部分[1–3]。酸碱滴定过程中,随着滴定剂的加入,溶液的pH不断变化,这一变化遵循确定的函数关系,其图像称之为酸碱滴定曲线。以溶液pH为纵坐标,滴定剂的加入体积或滴定分数为横坐标作图,即可获得滴定曲线图像。酸碱滴定曲线的绘制一直是酸碱滴定分析教学的重难点之一,它不仅能够直观地显示酸碱化学平衡体系性质(如pH)在滴定过程中的变化,而且能够提供化学计量点时滴定剂体积Vsp、指示剂变色点(pHep)时滴定剂加入体积Vep、化学计量点时pHsp以及滴定突跃范围等重要信息,据此还可以进行准确滴定判别、指示剂的选择和滴定误差的计算等[2–4]。

在传统讲授酸碱滴定曲线绘制时,根据滴定过程中溶液的组成,通常将整个滴定过程划分为“滴定开始前”“滴定开始到化学计量点前”和“化学计量点后”三个阶段,以及一点“化学计量点”,采用“三段一点”法以单一化的公式推导和计算得出决定曲线形状的少数几个关键数据点,之后通过描点获得滴定曲线图像[3, 4]。显而易见,上述方法难以获得高精度的酸碱滴定曲线,且滴定反应过程中“量”的变化和曲线图像无法形象地可视化动态呈现,使得学生在学习过程中往往处于被动学习状态,造成教学内容枯燥乏味,教学效果不理想。已有文献从不同角度探索利用Excel、Origin、Mathematic、MATLAB等商品化软件或计算机编程语言实现了酸碱滴定曲线图像的绘制和分析数据处理[2–10],应用于滴定分析教学取得了良好的教学效果。然而,具体应用这些方法时往往需要用户预先建立复杂的函数或计算方程,亦或个性化的功能或实例的实现要求教师和学生等非专业人员具有一定的编程基础知识。

针对上述问题,团队将现代信息化Python编程技术与酸碱滴定教学深度融合,自主设计开发了图形用户界面(Graphical User Interface,GUI)酸碱滴定学习软件。Python作为一种面向对象的解释型高级语言,具有免费开源、易于学习、良好的可扩展性和可移植性、丰富的科学计算库和绘图库等优点[11, 12]。基于Python开发的GUI酸碱滴定学习软件界面设计简洁,操作方便,无需复杂的安装过程和专业的编程知识,可直接在Windows平台上运行。软件将酸碱滴定反应分为“碱滴定酸”和“酸滴定碱”两种类型,用户根据需要选择被滴物种类(包括一元强酸/碱、一元弱酸/碱、多元酸/碱和混合酸/碱四种分类)确定滴定体系后,无需进行复杂的函数或公式输入,仅通过简单的浓度、体积和解离常数等滴定参数的设置,即可实现不同类型酸碱体系滴定曲线图像的静态显示和动态可视化绘制、化学计量点以及滴定突跃范围计算等功能。

1 GUI酸碱滴定学习软件的主界面和功能使用

1.1 软件主界面

基于现代信息化Python编程语言及其科学计算库(Scipy、Numpy)和绘图库(Matplotlib),采用PyQt5设计实现图形用户界面(GUI)酸碱滴定学习软件,主界面如图 1所示。

图1

图1   GUI酸碱滴定学习软件主界面


界面顶端是标题栏、菜单栏和窗口显示栏,界面中间左侧为曲线绘制与数据处理显示区,右侧为参数设置和功能操作区。界面底端左下方提供有缩放、坐标轴调整、图片保存等快捷键操作按钮。菜单栏设置有“文件”“编辑”“工具”和“帮助”四个菜单项,包含保存数据、保存图片、绘图设置、“滴定体积”和“滴定分数”横坐标显示的切换、滴定误差计算小助手、软件使用说明等功能和内容。左侧窗口显示栏设置有“显示曲线”“绘制曲线”和“曲线求导”三个窗口;右侧显示栏设置有“碱滴定酸”和“酸滴定碱”两个选项卡,滴定剂分别默认为NaOH和HCl,它们对应的被滴物各有四种类型可供选择,包含一元强酸(碱)、一元弱酸(碱)、多元酸(碱)和混合酸(碱)。在右侧参数设置和功能操作区,可对滴定剂和被滴物的浓度、体积等参数进行调节和设置,提供有“显示曲线”“绘制曲线”“曲线求导”“清除曲线”“保存数据”和“退出程序”等功能。软件系统各部分内容和功能完成后,采用Pyinstaller将Python的源文件程序打包为独立exe可执行文件,方便传递和管理的同时,可以在没有安装Python的环境下直接运行。

1.2 滴定曲线的绘制与应用

在酸碱滴定曲线绘制过程中,横坐标为滴定剂的加入体积V或滴定分数F,纵坐标为滴定溶液体系的pH。以0.1000 mol∙L−1的NaOH滴定等浓度的三元酸H3A (分析浓度表示为c1)为例,设NaOH和被滴物溶液体积分别为40.00 mL和10.00 mL,加入的滴定剂体积为V mL,且认为酸碱平衡溶液总体积为(V + 10.00) mL,则滴定剂的体积取值范围为[0, 40]。此时,滴定分数F可定义为化学计量点时(根据酸碱质子理论,多元酸时默认为第一步解离产生的质子完全被中和时对应的化学计量点,简称第一化学计量点)滴定剂的消耗体积Vsp除滴定剂的加入体积V,滴定体积V与分数F呈现一一对应关系。显然,第一化学计量点时NaOH的消耗体积Vsp = 10.00 mL,则可知滴定分数F = V/10.00,其取值范围为[0, 4]。酸碱滴定过程中,Na+浓度为0.1000V/(V + 10.00),被滴物H3A的分析浓度c1 = 0.1000 × 10.00/(V + 10.00) = 1.0/(V + 10.00),则平衡体系的电荷平衡式为:

[Na+] + [H+] = [OH−] + [H2A−] + 2[HA2−] + 3[A3−]

通过分布分数δ将上式中的[H2A−]、[HA2−]和[A3−]表示为关于[H+]的代数式,[OH−]替换为KW/[H+],移项整理后可得到关于[H+]的滴定曲线方程:

式中,KW为水的离子积,Ka1、Ka2和Ka3依次为H3A的一级、二级和三级解离常数。

若将加入滴定剂的体积V替换为滴定分数F,则上式可转化为:

软件默认滴定剂加入体积的步长为0.02 mL,由此利用Numpy库中linspace函数在各自取值范围内预先产生一系列的V和F,之后软件依次将其代入相应的上述滴定曲线方程式,使用SciPy库中optimize模块的布伦特(brent)法计算获得一系列随V或F变化的[H+]和pH,从而得到绘制滴定曲线所需的两千个(V, pH)或(F, pH)数据点,最终基于Matplotlib库中FuncAnimation和plot函数可分别实现高精度滴定曲线的可视化动态模拟绘制和静态显示。

应用绘制V–pH滴定曲线所使用的(V, pH)数据点,以相邻两个数据点的体积平均值为横坐标,两个数据点的斜率(ΔpH差值除以步长0.02 mL)为纵坐标,基于Python程序可绘制得到滴定曲线的导数曲线V–dpH/dV。当滴定误差TE%设定为±0.1%时,查找上述滴定曲线中V = Vsp、V = 0.999Vsp及V = 1.001Vsp分别对应的pH,由此可获得化学计量点和pH滴定突跃范围。

“碱滴定酸”选项卡中,被滴物选择为一元强酸时,仅激活图 1中c1、Ka1、Ka2和Ka3输入模块,软件默认Ka1 = 1014,Ka2 = Ka3 = 0;一元弱酸时,软件默认Ka2 = Ka3 = 0,仅需输入Ka1值;二元酸时,软件默认Ka3 = 0,自定义输入Ka1和Ka2值;三元酸时,自定义输入Ka1、Ka2和Ka3值;混合酸(酸1 + 酸2)时,上述滴定曲线方程左边需增加一项(类似于第四项表达式)才重新成立,此时需全部激活图 1中酸1的c1、Ka1、Ka2和Ka3以及酸2的c2、Ka1、Ka2和Ka3输入模块,自定义输入两种酸的浓度(c1、c2)和相应的解离常数。与此相似,“酸滴定碱”选项卡中,被滴物(一元强碱、一元弱碱、多元碱和混合碱)选择后,需自定义输入碱的浓度和相应的各级解离常数(Kb)。在图 1软件主界面右侧,滴定类型和滴定体系选择以及滴定参数设置完成后,在功能操作区即可实现各类酸碱滴定体系滴定曲线图像的绘制与显示。

1.3 滴定误差的计算

酸碱滴定中的滴定误差是指由酸碱指示剂变色点pH (pHep)与化学计量点pH (pHsp)不一致引起的误差。传统的林邦公式法计算酸碱滴定误差时,不同类型酸碱滴定体系的计算公式差别较大、形式复杂,而且计算式中忽略了一些不应忽略的项,对多元弱酸(碱)滴定的指导作用较小[1]。学习软件菜单栏中“工具”选项提供有滴定误差(通用型)计算小助手,采用体积法计算[3],适用于所有类型的酸碱滴定反应体系。设Vep和Vsp分别表示滴定终点和化学计量点时加入的滴定剂体积,则体积法计算滴定误差的表达式为:TE% = (Vep − Vsp)/Vsp × 100%。在确定的酸碱滴定体系中,Vep和Vsp均可通过滴定曲线图像来获取。在滴定误差计算窗口界面,输入相应的指示剂变色点pH、体积等数据信息,点击计算按钮则可获得滴定误差计算结果。

1.4 软件的操作使用流程

酸碱滴定学习软件的操作使用流程为:(1) 滴定类型的选择。在右侧窗口显示栏,如图 1所示,选择“碱滴定酸”或“酸滴定碱”,前者默认滴定剂是NaOH,后者默认滴定剂是HCl;(2) 滴定体系的确定。软件提供有一元强酸(碱)、一元弱酸(碱)、多元酸(碱)和混合酸(碱)等四种被滴物可供选择,选择其中一种来确定滴定体系;(3) 滴定参数的设置。在滴定剂和被滴物下方窗口,分别对应输入或调节浓度和体积等参数,之后进一步输入被滴物酸(碱)的解离常数Ka (Kb),如某酸Ka为1.80 × 10−5,则在软件相应输入1.80e−5;(4) 滴定曲线的显示和绘制。点击右下角功能操作区“显示曲线”或“绘制曲线”,即可在左则对应窗口显示区可视化静态显示或动态绘制相应酸碱体系的滴定曲线,还可以进行“曲线求导”“清除曲线”和“保存数据”等操作;(5) 化学计量点和滴定突跃范围的计算。在滴定曲线附近单击鼠标右键,即可出现“显示滴定体积”“显示滴定分数”“显示当前滴定突跃和计量点”“删除滴定突跃和计量点”和“添加直线”等按钮,单击即可实现相应的功能;(6) 滴定误差的计算。根据软件绘制的滴定曲线图像获取Vep和Vsp等数据信息后,即可通过菜单栏“工具”选项中提供的滴定误差(通用型)计算小助手计算获取各类酸碱滴定体系的滴定误差;(7) 图像和数据的保存。滴定曲线图像和绘制数据的保存可通过“文件”菜单相应选项来实现,也可分别通过软件界面左下方快捷按钮和右下角对应功能操作按钮来完成;(8) 退出程序。点击右下角“退出程序”或通过“文件”菜单选项退出按钮,可成功退出学习软件。

2 GUI酸碱滴定学习软件的教学应用

2.1 一元强酸(碱)的滴定

一元强酸的滴定以NaOH→HCl为例,根据1.4小节中的软件操作流程,选择滴定反应类型“碱滴定酸”,滴定剂默认为NaOH,被滴物选择“一元强酸”确定滴定体系后,设置NaOH和HCl的浓度均为0.1000 mol∙L−1或0.0100 mol∙L−1,体积分别为40.00和20.00 mL,Ka默认设置为1.0e14,表示被滴物完全电离。滴定参数设置完成后,点击右下方功能操作区中“显示曲线”或“绘制曲线”按钮,软件即可实现NaOH→HCl体系滴定曲线的可视化静态显示或动态绘制,如图 2(a)所示。在滴定曲线附近单击鼠标右键,可同时在滴定曲线上标示出其滴定突跃和化学计量点对应的滴定体积和pH。由图 2(a)可以看出,当初始浓度由0.1000 mol∙L−1下降为0.0100 mol∙L−1时,化学计量点不变(pH均为7.00),滴定突跃范围由4.30–9.70变为5.30–8.70,上下限均发生改变,清晰地表明浓度的下降使得滴定突跃范围变窄。

图2

图2   不同浓度HCl和NaOH的滴定曲线(a)及HCl滴定曲线的导数曲线(b)


滴定反应类型选择“酸滴定碱”,滴定剂和被滴物互换,设置相应滴定参数后,可获得一元强酸滴定一元强碱,即HCl→NaOH的滴定曲线,如图 2(a)所示。显而易见,两种体系的曲线形状和变化类似,只是pH变化的方向相反。仔细观察还可以发现,相同初始浓度条件下,HCl→NaOH的滴定曲线可由NaOH→HCl的滴定曲线通过“照镜子”的方式来获得,镜子垂直于纸面放置于化学计量点pH = 7.00处,即两条滴定曲线呈镜面对称。此外,在界面右下方功能操作区可以进行曲线求导、保存数据等操作。图 2(b)给出了浓度为0.1000 mol∙L−1的NaOH→HCl的滴定曲线的导数曲线,教学中可以更加直观、准确地观察到化学计量点对应的滴定体积Vsp和滴定突跃发生的位置。

2.2 一元弱酸(碱)的滴定

一元弱酸和弱碱的滴定分别以NaOH→HAc和HCl→NH3·H2O为例,根据上述1.4小节中软件操作流程,滴定剂NaOH (或HCl)的浓度和体积分别设置为0.1000 mol∙L−1和40.00 mL,被滴物一元弱酸HAc (或一元弱碱NH3·H2O)的浓度和体积分别设置为0.1000 mol∙L−1和20.00 mL,Ka (或Kb)设置为1.8e−5。图 3(a)分别给出了NaOH→HAc和HCl→NH3·H2O的滴定曲线图像,可获知其pH滴定突跃范围分别为7.74–9.70和6.26–4.30,分别出现在弱碱性和弱酸性区域,化学计量点pH分别为8.72和5.28,据此推知两种滴定体系可分别选用酚酞和甲基红作指示剂。仔细观察分析表明,相同初始浓度和解离常数条件下,HCl→NH3·H2O的滴定曲线也可由NaOH→HAc的滴定曲线通过“照镜子”的方式来获得,镜子垂直于纸面放置于pH = 7.00处,即两条滴定曲线呈镜面对称。

图3

图3   HAc和NH3·H2O的滴定曲线(a)及不同强度一元弱酸HA的的滴定曲线(b)


图 3(b)给出了NaOH滴定三种自定义不同强度的一元弱酸HA的滴定曲线,解离常数Ka分别为1.0e−3、1.0e−5和1.0e−7。可以看出,相同初始浓度(均为0.1000 mol∙L−1)条件下,滴定曲线的后半段几乎完全重合,化学计量点前滴定曲线的形状变化较大,随着解离常数的变小,滴定突跃下限逐渐上移,滴定突跃范围不断变窄。需要指出的是,当酸的解离常数为1.0e−7,初始浓度下降至0.0100 mol∙L−1时,滴定突跃上限也发生了下移,此时滴定突跃范围仅为9.30–9.40 (重叠严重,图中未标示),难以找到合适的指示剂,且用指示剂确定终点非常困难,无法准确滴定。上述结果分析表明,酸(碱)的强度和浓度均能够影响滴定突跃范围的大小。因此,当滴定误差要求在±0.1%以内时(设借助指示剂目测判别终点的不确定性为±0.2个pH单位),通常以cspKa ≥ 10−8 (cspKb ≥ 10−8)作为判断弱酸(碱)能否准确滴定的判别式[1, 3],其中csp表示被测物酸或碱在化学计量点时的分析浓度。

表 1给出了NaOH(体积为40.00 mL)滴定等浓度不同强度一元弱酸(体积为20.00 mL)的滴定突跃范围、ΔpH和一阶导数曲线中的峰高值,这些数据信息均由软件绘制的相应滴定曲线图像获得。由(1)–(5)组数据可知,当一元弱酸化学计量点浓度csp和其离解常数Ka的乘积刚好满足准确滴定判别式(cspKa = 10−8)要求时,虽然滴定突跃范围不同,但ΔpH和峰高值h均分别接近于0.4 pH单位和10。因此,如果滴定曲线容易获得,那么可以通过判断“滴定突跃是否大于0.4 pH单位”来进行准确滴定判别[3]。当默认化学计量点滴定剂加入体积为20.00 mL时,弱酸(碱)的准确滴定判别还可以由“峰高值h是否大于10”进行判断。此处两种准确滴定判别的方式本质上是等效的,但滴定曲线绘制获得后使用前者作为判据更加便捷,无需进行“曲线求导”步骤。

表1   NaOH滴定等浓度不同强度一元弱酸的滴定突跃范围和一阶导数曲线中的峰高值

序号初始浓度c/(mol∙L−1)计量点浓度csp/(mol∙L−1)解离常数Ka滴定突跃范围ΔpH峰高值h/(pH unit∙mL−1)
(1)0.2000.1001.0 × 10−79.79–10.210.4210.7
(2)0.0200.0101.0 × 10−68.79–9.210.4210.7
(3)0.0040.0025.0 × 10−68.09–8.510.4210.7
(4)0.0020.0011.0 × 10−57.79–8.210.4210.7
(5)0.00040.00025.0 × 10−57.16–7.540.389.6
(6)0.0020.0011.0 × 10−47.00–8.041.0430.2
(7)0.0020.0011.0 × 10−36.29–8.011.7257.9
(8)0.0020.0011.0 × 10−26.04–8.001.9669.6
(9)0.0020.001≥ 1.0 × 10−16.00–8.002.0071.3

新窗口打开| 下载CSV


由(6)–(9)组数据可以看出,当酸的浓度固定为0.002 mol∙L−1,满足cspKa ≥ 10−8且Ka不断增大直至1.0 × 10−1时,滴定突跃范围不断变宽、ΔpH和峰高值h依次增大,均呈现有明显的pH滴定突跃。当解离常数Ka ≥ 10−2时,酸也可以看作是强酸,几乎完全解离,滴定突跃范围、ΔpH和峰高值h均几乎不再发生变化。此外,比较图 2(a)和图 3以及表 1中(9)和(4)数据,可以发现相同浓度条件下,由于酸的强度变弱了,一元弱酸(碱)的滴定突跃范围、ΔpH和峰高值h均明显小于一元强酸(碱)的相应数据变化。

2.3 多元酸(碱)的滴定

多元酸(碱)的滴定以NaOH→H2C2O4和NaOH→H3PO4为例,根据上述1.4小节中软件操作流程,在“碱滴定酸”选项卡下,选择被滴物为多元酸,设置滴定剂NaOH的浓度和体积分别为0.1000 mol∙L−1和40.00 mL,被滴物多元酸H2C2O4 (或H3PO4)的浓度和体积分别为0.1000 mol∙L−1和10.00 mL,H2C2O4的Ka1和Ka2分别为5.9e−2和6.4e−5 (或H3PO4的Ka1、Ka2和Ka3分别为7.6e−3、6.3e−8和4.4e−13)。图 4(a)给出了NaOH→H2C2O4和NaOH→H3PO4的滴定曲线图像,滴定分数为显示横坐标。图 4(b)给出了相应的滴定曲线的导数曲线,滴定体积为显示横坐标。由图 4可以看出,NaOH→H2C2O4时仅在滴定分数为2.00时有1个明显的pH滴定突跃变化,其导数曲线在滴定体积为20.00 mL处,即化学计量点处有一个大的突变,峰高值h高达116.6。这种曲线变化表明二元酸H2C2O4的Ka1和Ka2相差较小(解离常数比值约等于103),不能准确进行分步滴定,只可按二元酸一次被滴定,仅有1个化学计量点和1个滴定突跃。

图4

图4   多元酸H2C2O4和H3PO4的滴定曲线(a)及其导数曲线(b)


NaOH→H3PO4时在滴定分数为1.00和2.00时各发现1个较明显的pH滴定突跃变化,其导数曲线相应地出现在滴定体积为10.00和20.00 mL处,即第一和第二化学计量点处分别有一个较大的突变,峰高值分别为7.0和6.4,略小于上述准确滴定判别式要求的峰高值10。这种曲线变化表明三元酸H3PO4的Ka1、Ka2和Ka3相差较大(相邻两级解离常数比值大于104),能够被分步滴定,但仅有2个化学计量点,即只有前两级解离的H+勉强可以准确滴定[3],但滴定误差较大(> 0.1%)。其原因是相邻两级解离常数比值还不足够大,使得滴定突跃范围变窄和导数曲线峰高值变小。多元酸属于复杂体系,实际分析中往往会适当放宽允许误差(0.3%–1%)。当使用甲基橙(变黄)和百里酚酞(变蓝)分别作为第一终点和第二终点的指示剂时,滴定误差分别为−0.44%和0.29% [1]。此外,由于Ka3数值太小,即HPO42−酸性太弱,第三级解离的H+不能够被直接准确滴定,与在滴定分数3.00处和滴定体积为30.00 mL处均没有观察到突变的结果相一致。上述讨论分析充分表明,一般认为或设想的几元弱酸就应有几个滴定突跃的主观结论是不正确的。

2.4 混合酸(碱)的滴定

混合酸(碱)的滴定以HCl→Na2CO3和NaOH (或NaHCO3)混合碱为例,根据上述1.4小节中软件操作流程,在“酸滴定碱”选项卡下,选择被滴物为混合碱,设置滴定剂HCl的浓度和体积分别为0.1000 mol∙L−1和40.00 mL,被滴物Na2CO3和NaOH (或NaHCO3)混合液体积为10.00 mL,浓度均为0.1000 mol∙L−1,NaOH的Kb为1.0e14,NaHCO3的Kb为2.4e−8,Na2CO3的Kb1和Kb2分别设置为1.8e−4和2.4e−8。两种混合碱的滴定曲线图像及相应的导数曲线分别如图 5(a)和5(b)所示,横坐标分别显示为滴定分数和滴定剂体积。

图5

图5   不同混合碱的滴定曲线(a)及其导数曲线(b)


由图 5可以看出,HCl→NaOH和Na2CO3混合碱时,在滴定分数为1.00和1.50处各出现1个较明显的pH滴定突跃变化,对应的导数曲线分别在滴定体积为20.00 mL和30.00 mL处,即第一和第二化学计量点处均有一个清晰的小突变,峰高值分别为2.0和5.3,小于上述准确滴定判别式中峰高值10。这种曲线变化表明Na2CO3的Kb1和Kb2相差较小(解离常数比值接近于104,小于105),能够被分步滴定,有2个化学计量点,但滴定分析准确度低,误差大于一元弱碱(酸)准确滴定判别式的要求;同时也证实由于Na2CO3的第一步解离(或水解)程度较大,NaOH和Na2CO3不能够被分步滴定,即NaOH和Na2CO3第一步解离的OH−同时被一次滴定。图 5(a)滴定分数为0.50处没有观察到较明显的pH滴定突跃变化和图 5(b)滴定体积为10.00 mL处没有发现较大的突变均能够印证上述推论。

HCl→NaHCO3和Na2CO3时,在滴定分数为0.50和1.50时分别有1个较明显的pH滴定突跃变化,其导数曲线相应地在滴定体积为10.00和30.00 mL处,即第一和第二化学计量点处分别有一个清晰的小突变,这种曲线变化进一步表明Na2CO3的第一步和第二步解离的OH−能够分步滴定,会出现2个化学计量点。上述讨论分析表明,根据滴定曲线或其导数曲线中滴定突跃发生时对应的横坐标值大小,可推断出未知混合碱的组成。此外,两种混合碱的pH滴定突跃现象分别发生在pH为8.3和3.9附近,实际操作中分别选用酚酞和甲基橙作为指示剂,即采用双指示剂法测定混合碱的组成情况。

2.5 酸碱滴定误差的计算

以0.10 mol∙L−1的NaOH滴定等浓度H3PO4、HAc和HCl溶液为例,计算分别以百里酚酞(滴定至第二滴定终点,pHep = 10.0)、酚酞(pHep = 9.1)和甲基橙(pHep = 4.0)为滴定终点指示剂进行分析时的滴定误差[1]。首先根据前述方法绘制出相应的滴定曲线,如图 6所示。由滴定曲线图像可知上述三种酸碱滴定体系的化学计量点体积Vsp均为20.00 mL。其次在滴定曲线附近单击鼠标右键,选择“添加直线”输入终点pH即指示剂变色点时pHep为10.0 (以NaOH→H3PO4为例),单击“OK”后会有条红色虚线与滴定曲线相交,选择左下角的放大镜按钮,鼠标指针此时会变成“十”字形状,将添加线和滴定曲线的交点处局部放大,使放大后的交点处与“十”字形完全重叠,精确读取交点处对应的横坐标NaOH消耗的体积Vep,即获取滴定终点坐标(Vep, pHep)为(20.058, 10.0)。

图6

图6   不同酸碱滴定体系滴定误差的计算结果


单击软件“工具”菜单中滴定误差(通用型)小助手,输入相应的化学计量点的滴定体积Vsp (20.00 mL)、滴定终点pHep (10.0)以及滴定终点时对应的滴定体积Vep (20.058 mL),点击计算按钮即可获得滴定误差TE% = 0.290,如图 6插图所示。

类似地,由图 6中NaOH→HAc和NaOH→HCl两种滴定体系的曲线图像可获得相应的终点坐标信息分别为(20.005, 9.1)和(19.959, 4.0),从而计算获得滴定误差TE%分别为0.025和−0.205,软件给出的计算结果与教科书计算结果一致[1]。

3 结语

本文将酸碱滴定分析教学与现代信息技术深度融合,基于Python编程语言,采用PyQt5设计开发了图形用户界面(GUI)酸碱滴定学习软件。该软件界面设计简洁、操作方便,无需建立复杂的函数或计算方程,仅需简单的滴定参数设置,即可静态显示或动态可视化绘制不同类型酸碱体系的滴定曲线图像,同时还可以实现化学计量点、滴定突跃范围和滴定误差的计算,具有较强的开放性、灵活性和实践性。软件使用时,无需安装和编程基础知识,可直接在Windows平台上运行,便于教师教学和学生自主探究学习。

参考文献

武汉大学; 中国科技大学; 中山大学; 吉林大学. 分析化学, 第6版 北京: 高等教育出版社, 2016, 110- 155.

[本文引用: 6]

甘峰. 分析化学, 北京: 科学出版社, 2019, 60- 86.

[本文引用: 2]

邵利民. 分析化学, 北京: 科学出版社, 2016, 65- 84.

[本文引用: 6]

池泉; 王献. 化学教育(中英文), 2020, 41 (2),21.

[本文引用: 2]

王进平; 孙晓波. 大学化学, 2014, 29 (6), 29.

DOI:10.3969/j.issn.1000-8438.2014.06.006     

徐守兵. 化学教学, 2007, 11, 58.

伍涛; 吴湘; 童艳花. 湖州师范学院学报, 2015, 37 (8), 95.

何妮; 吕瑞芳; 周颖华. 四川教育学院报, 2010, 26 (9), 110.

孙晓波; 李琳; 王秀霞; 王进平. 大学化学, 2016, 31 (5), 78.

DOI:10.3866/PKU.DXHX201505015     

甘峰. 大学化学, 2021, 36 (4), 2005008.

DOI:10.3866/PKU.DXHX202005008      [本文引用: 1]

王彦恺; 郭长艳. 化学教育(中英文), 2022, 43 (18), 87.

[本文引用: 1]

王浩; 刘红瑜; 韦淼今. 大学化学, 2020, 35 (9), 198.

DOI:10.3866/PKU.DXHX201910037      [本文引用: 1]

/

〈 〉