?

Kapok V1.0:一個酸堿滴定和配位滴定輔助教學軟件包

2021-06-03 07:25甘峰
大學化學 2021年4期
關鍵詞:標識符酸堿配位

甘峰

中山大學化學學院,廣州 510275

在滴定分析的教學中,繪制滴定曲線是闡述滴定理論最好的方式之一。對于簡單的體系,例如用氫氧化鈉滴定鹽酸,幾乎所有的分析化學教科書都會介紹如何手工繪制滴定曲線。但是,對于相對復雜的體系,就必須借助相關的計算軟件[1–3]。然而,如果涉及到滴定多個酸和多個堿的情況,或者用EDTA同時滴定多個金屬離子的情況時,當前發布的軟件均難以做到以一種優雅的方式計算相關的滴定曲線。例如,當前的一些軟件需要用戶根據具體的滴定方法構建相應的計算公式,然后才能進行計算。對于許多學生而言這本就是很困難的事情,由此會影響許多學生放棄采用這類軟件深入研究滴定分析過程細節,從而更好地掌握滴定分析原理的機會。

本文將介紹一個可用于計算復雜體系酸堿滴定和配位滴定的軟件包。該軟件包有友好的用戶界面,按照一定的規則編寫參數文件,該軟件包原則上可以計算較為復雜的酸堿滴定體系和配位滴定體系的滴定曲線。

1 理論背景

1.1 酸堿滴定

本軟件包的酸堿滴定部分的程序編寫基于de Levie[4]提出的酸堿滴定通式,其數學表示如下:

這里,下標s和t分別表示待滴定物(樣品)和滴定劑;Vt是加入的滴定劑的體積;Vs是待滴定物的初始體積;cs是待滴定物的濃度;ct是滴定劑的濃度;Δ是體系中氫離子濃度與氫氧根離子的濃度差,即Δ = [H+] ? [OH?];符號F表示酸的質子解離函數或堿的質子結合函數[4,5]。

式(1)建立了體積比η與Δ之間的函數關系,本質是建立了η與[H+]之間的函數關系。通過給定[H+]的數值即可計算出η的值,繪制成η–pH圖即為酸堿滴定曲線。有了該滴定曲線,也可以計算體系中各種型體的濃度變化曲線。式(1)是一個普遍成立的式子,基于它原則上可以計算任意復雜酸堿滴定體系的滴定曲線。

1.2 配位滴定

本軟件包的配位滴定部分的程序編寫基于甘峰[6,7]建立的基于EDTA的配位滴定通式。對于包含n個金屬離子M1,M2,…,Mn的體系,它們均與EDTA發生1 : 1型的反應,如下:

這里,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 基本框架

本軟件包的計算部分全部用C++語言編寫,在MinGW環境下編譯[8]。圖形用戶界面用Qt開發[9]。繪制滴定曲線采用了QCustomPlot函數庫[10]。計算過程中用Eigen函數庫管理數據和進行科學計算[11]。

本軟件包的主程序名為Kapok.exe,其余部分不擬進一步說明,圖1所示為其圖形用戶界面。該圖形用戶界面基于Qt的多文檔模板,程序中的File、Edit、Window和Help菜單項對應的功能與一般軟件相同,在此不做介紹。Titration菜單項目前包含三個功能:(1) 計算酸堿滴定曲線;(2) 計算酸堿滴定體系中相關型體的濃度變化曲線;(3) 計算配位滴定曲線及形成的配合物的濃度變化曲線。未來還有可能根據需要添加新的功能。

在圖1的視圖中的文件為參數文件,計算過程由該文件驅動。用戶所要做的事情是編寫這個文件,詳細的規則在2.2小節介紹。這里要強調的是,在編寫參數文件時應采用UTF-8編碼格式,否則可能出錯。選中參數文件為焦點文件后,點擊Titration菜單項中的按鈕,主程序會首先檢測參數文件類型,然后運行相關的可執行文件進行計算,用戶無需關注程序的執行細節。

圖1 Kapok軟件包用戶界面

2.2 參數文件

參數文件在本軟件包中起到關鍵作用,不同的參數文件驅動不同的運算。本軟件包的參數文件由系統標識符和參數值構成。系統標識符是程序自身設定,用戶不得更改。參數值則可由用戶基于具體的滴定體系進行設置。

2.2.1 酸堿滴定參數文件

圖2所示為用NaOH標準溶液滴定,由HCl、HAc和H3PO4構成的混合酸溶液的參數文件。用戶可以通過本程序的用戶界面創建和編寫該參數文件,也可以采用其他的文本編輯軟件編寫和修改該文件。注意,編碼格式必須設定為UTF-8。圖2中已對相關的內容做了注釋,下面對其中的主要內容進行詳細的解釋。

圖2 NaOH滴定由HCl、HAc和H3PO4構成的混合酸體系的參數文件

(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??偭康味〞r化學計量點處的體積比為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?;谠撝涤嬎愕玫紽值在精度要求范圍內等于1。并且,基于該解離常數值計算得到的NaOH水溶液中各種型體的分布分數值也與實際體系一致。這里強調說明,本軟件包當前只考慮一元強堿的情況,用戶在研究NaOH滴定其他體系時,可以直接拷貝上述內容稍作修改即可。

(9) Result_File是系統標識符,用于指定計算結果保存位置及文件名。本軟件包中將文件路徑用絕對路徑形式設定,目的是為了不至于因為安裝路徑不同導致計算出錯。用戶在編寫或編輯本參數文件時,需要確保在此處設定的路徑確實存在,否則程序會報錯。用戶還可以根據保存目錄下的計算結果進行進一步的研究分析之用。

本軟件包中包含了多個酸堿滴定實例的參數文件,用戶可以先用這些文件學習本軟件包的酸堿滴定部分的計算和顯示方式。在此基礎上再編寫自己的參數文件。筆者建議將本程序中的參數文件另存后再在上面進行修改,避免因為編碼的問題導致程序無法運行。

2.2.2 配位滴定參數文件

圖3所示為EDTA滴定Zn2+和Cu2+混合溶液的參數文件。該文件中已經對相關的內容進行注釋,有分析化學知識的用戶應該對于文件的理解不會存在太大的困難。為了便于讀者的理解,這里還是對某些內容進行詳細的解釋。

圖3 EDTA滴定Zn2+和Cu2+混合溶液的參數文件

(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 酸堿滴定應用示例

將圖2所示的酸堿滴定參數文件設定為焦點文件(鼠標點擊該文件),點擊Titration → Acid-base titration curve,即完成相關計算,得到圖4(A)所示的滴定曲線。圖中的綠色圓點和紅色圓點分別代表設定的化學計量點和滴定終點。從這個滴定曲線上可以看到只有一個顯著的滴定突躍,對應于η = 4。這也表明無法對該體系中的三個酸實現分別滴定,而只能滴定它們的總量。

圖4(A)中的滴定誤差[7]是基于設定的化學計量點以酚酞為指示劑,并以其理論變色點為基準計算得到的(即參數文件中設定的End_Point_pH = 9.5)。這里要說明的是,酸堿滴定指示劑本身也是弱酸或者弱堿,它們實際上也是參與到滴定過程中去的。這里不仔細探究由于指示劑的存在所導致的誤差問題,有興趣的讀者可參閱相關文獻[12]。

通過Windows菜單,找到參數文件,再次選定參數文件,然后執行Titration → Acid-base titration species curve,即會計算滴定過程中各個型體的濃度變化曲線,如圖4(B)、4(C)和4(D)所示。這里要說明的是,以往的酸堿滴定教材中用濃度對數圖的方式來揭示滴定過程中各種型體的濃度變化形態。本軟件直接計算出各種型體的濃度變化曲線,相對于傳統的做法更為直觀。

圖4(B)所示為鹽酸中兩種型體的濃度變化曲線。從圖中可以看到,HCl型體的濃度實際上等于0,即鹽酸是完全解離狀態。從Cl?的滴定曲線上可以看到,在η = 1處它并不等于0,表明在η = 1之前可能并非只有源自HCl的氫離子被滴定,其他酸解離的部分,氫離子其實在同時被滴定。本質上說,不同來源的氫離子解離到溶液中后是無法區分的,均同時參與到與NaOH的反應之中。

圖4 NaOH滴定由HCl、HAc和H3PO4構成的混合酸體系的滴定曲線

圖4(C)所示為醋酸中兩種型體的濃度變化曲線。從圖中可以看到,即便在η = 2處,HAc也只是部分被滴定;在η = 3處,Ac?的濃度達到極大值,此時HAc才可視為被滴定完全。

圖4(D)所示為磷酸中4種型體的濃度變化曲線。從圖中可以看到,H3PO4在η = 2處才基本被滴定完全,此時也恰好達到最大值。在后續的滴定過程中被持續滴定,最終在η = 4處才被滴定完全。從η = 4處開始,磷酸的第3個氫離子被滴定,但是由于其酸性太弱,不會形成滴定突躍。

基于上述的滴定曲線可以得出如下的結論:(1) 從滴定開始,3種酸解離狀態的氫離子就一同被滴定;(2) 從η = 2開始,主要在滴定游離的HAc,并在η = 3處將HAc滴定完全;從η = 3處開始,就只滴定,直至η = 4時將滴定完全。

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(B)所示為兩種金屬離子與EDTA形成的配合物的滴定曲線。從圖中可以看到,配合物ZnY2?優先生成。這表明在該體系中實際表現出的Zn2+與EDTA的形成常數要大于Cu2+與EDTA的形成常數,或者說Zn2+的條件形成常數要大于Cu2+的條件形成常數。從圖5 (B)還可以看到,在η = 1附近,ZnY2?的濃度達到最大值,這也表明此時Zn2+基本被滴定完全,此后Cu2+才開始被顯著滴定,最終在η = 2處兩種金屬離子才被同時滴定完全。

圖5 EDTA滴定由Cu2+和Zn2+構成的混合體系的滴定曲線

上述的兩個例子很好地演示了本軟件包在分析復雜酸堿滴定體系和配位滴定體系時所展現的強大功能。限于篇幅,本文中不再展示其他例子。有興趣的讀者可以與本文作者聯系,申請本軟件的免費試用。還可通過騰訊課堂觀看本軟件的教學演示,鏈接地址為https://ke.qq.com/webcourse/index.html?cid=1477891&term_id=101576079&lite=1&from=800021724。

4 結語

作者基于酸堿滴定通式和配位滴定通式成功構建了輔助教學軟件包。該軟件包可直接運行在Windows平臺上,用戶無需安裝其他的計算軟件。參數文件的引入是本軟件包的一大優勢,它使得不同類型的計算均可以被納入到同一個用戶界面下,而用戶所需要做的事情僅僅是根據規則構建參數文件,不再需要去建立復雜的計算方程,從真正的意義上實現了“公式化”。參數文件驅動的形式也為后續的拓展提供了便利的空間。限于作者的水平有限,本軟件當前還不能處理更為復雜的配位滴定體系,希望這一不足能在不遠的將來得以彌補。

猜你喜歡
標識符酸堿配位
基于底層虛擬機的標識符混淆方法
自制酸堿指示劑
酸堿滴定法測定香菇中二氧化硫的含量
酸堿體質與酸堿食物
[Zn(Hcpic)·(H2O)]n配位聚合物的結構與熒光性能
基于區塊鏈的持久標識符系統①
德不配位 必有災殃
數字美術館“數字對象唯一標識符系統”建設需求淺議
數字圖書館推廣工程唯一標識符體系構建研究*
兩個具stp三維拓撲構型的稀土配位聚合物{[Ln2(pda)3(H2O)2]·2H2O}n(Ln=Nd,La)
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合