Acid-base titrations were conducted to determine the acid dissociation constants (Ka values) for both monoprotic and diprotic acids. The monoprotic acid titration involved using a potentiometer to titrate an unknown concentration of acetic acid with 0.100 M sodium hydroxide. For the diprotic acid, an autotitrator was used to titrate an unknown diprotic acid with the same concentration of sodium hydroxide. The Ka values for both types of acids were calculated using two different methods. The first method involved analyzing the titration curves: the pKa value was determined from the midpoint of the titration curve. The second method involved transforming the titration data into a binding curve, after which non-linear least squares fitting was applied to detemine the Ka value. Finally, the Ka values obtained by these two methods were compared, and the pros and cons of each approach were discussed.
An acid-base titration curve typically exhibits a characteristic shape, beginning with a relatively flat buffer region where the pH changes gradually as base is added. As the titration nears the equivalence point, the curve shows a steep rise in pH. After the equivalence point, the curve flattens once more, reflecting the pH based on the concentration of excess base. This general behavior is observed in both monoprotic and diprotic titrations, with diprotic acids showing two equivalence points corresponding to the neutralization of each acidic proton.
In the monoprotic titration, the analyte is a solution of acetic acid with an unknown concentration, while the titrant is 0.100 M NaOH. As NaOH is gradually added to the acetic acid, the pH is continuously monitored, allowing for the plotting of a titration curve. In this curve, the pH is plotted on the y-axis and the volume of titrant added is plotted on the x-axis.
mydata <- read.csv("monoprotictitration.csv")
VolVect <- mydata$vol
pHVect <- mydata$pH
plot(VolVect, pHVect,
xlab='Volume of NaOH added (mL)',ylab='pH',main='Monoprotic Acid Titration Curve')
Based on the first derivative analysis of the titration curve, the equivalence point is detected at 20.0 mL. The midpoint of the equivalence point occurs at 10.0 mL, where the pH equals the pKa of the acid according to the Henderson-Hasselbalch equation. At the midpoint, the pH is measured to be 5.20. Using this pH value, we can calculate the acid dissociation constant (Ka) by taking the antilog of the negative pKa value: 10^−5.20, which gives a Ka value of approximately 6.31 × 10⁻⁶.
In this second approach to determining the Ka of acetic acid, the data points obtained from the titration curve are transformed into a binding curve by plotting pH versus the fraction of H+ bound to the acid, as the base is continuously added throughout the titration process.
The equation to transform data is as follow:
\[ \text{Fraction Bound} = 1 - \frac{[CB] \times V_{\text{add}} + [H^+] \times (V_{\text{ini}} + V_{\text{add}})}{[CB] \times V_{\text{end}}} \]
1 is the initial, full binding before base is
added
CB is the concentration of base
Vadd is the volume of base added
H+ is the concentration of H+ ion present
Vini is the initial volume of acid
Vend is the final volume of base added to reach
equivalence point
Then a non-linear least squares command is carried out to fit the binding curve to determine the dissociation constant (Ka) of the acetic acid.
H <- 10^-(pHVect)
H
## [1] 1.581248e-04 6.918310e-05 4.808393e-05 3.090295e-05 2.735269e-05
## [6] 1.713957e-05 1.438799e-05 1.088930e-05 9.375620e-06 7.744618e-06
## [11] 6.309573e-06 5.000345e-06 3.981072e-06 3.311311e-06 2.679168e-06
## [16] 2.162719e-06 1.629296e-06 1.069055e-06 7.227698e-07 3.819443e-07
## [21] 1.857804e-08
#Volume added at the 1st endpoint
VE = 20.00
#Initial volume of the unknown acid
VI = 20.00
#Concentration of base NaOH
CB = 0.1000
VA <-VolVect
VA
## [1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#Fraction Bound
F <- (1-(((VA*CB)+((H)*(VI+VA)))/(VE*CB)))
tF <- F
plot(pHVect,F,
xlab='pH',ylab='Fraction Bound',main='Binding Curve of Monoprotic Titration')
#Non-linear Least Squared
library(nls2)
## Loading required package: proto
tryfit <- nls2(tF ~ H/(Ka+H),
start = c(Ka=0.0001))
summary(tryfit)
##
## Formula: tF ~ H/(Ka + H)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## Ka 6.131e-06 1.013e-07 60.53 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01363 on 20 degrees of freedom
##
## Number of iterations to convergence: 6
## Achieved convergence tolerance: 6.535e-07
lines(pHVect,predict(tryfit),col= 'red')
The Ka value determined from the fit line is 6.131 × 10⁻⁶, which differs slightly from the Ka value obtained using the first graphical method 6.31 × 10⁻⁶. This discrepancy can be attributed to the fact that the fraction bound method not only accounts for the reduction in binding caused by the addition of base, but also incorporates the reduction in binding due to further dissociation of the acid. This subtle effect is not captured when determining pKa values at the midpoint of the titration. However, both obtained Ka values of acetic value is notably lower than the literature Ka value of acetic acid, which is around 1.8 x 10^⁻5. This is most likely due to faulty pH probe which gave erroneously high pH reading during the experimental trials, ultimately leading to a lower Ka calculation.
Data processing for diprotic acid titration is very similar to the
monoprotic acid titration. As mentioned before, the diprotic acid
titration curve exhibits two equivalence points due to having two
available protons for deprotonation by base.
mydata <- read.csv("diprotictitration.csv")
VolVect <- mydata$vol
pHVect <- mydata$pH
plot(VolVect, pHVect,
xlab='Volume of NaOH added (mL)',ylab='pH',main='Diprotic Acid Titration Curve')
Based on the first derivative analysis of the diprotic titration curve, the two equivalence points are detected at 6.94mL and 14.99mL. By finding the two midpoints of the two equivalence points, pKa1 is determined to be 2.24 (Ka1 = 5.62e-03) and pka2 is 6.19 (Ka2 = 6.31e−07).
The same fraction bound equation is used, but full binding starts at 2 since there are two protons available for deprotonation.
\[ \text{Fraction Bound} = 2 - \frac{[CB] \times V_{\text{add}} + [H^+] \times (V_{\text{ini}} + V_{\text{add}})}{[CB] \times V_{\text{end}}} \]
H <- 10^-(pHVect)
H
## [1] 1.445440e-02 1.445440e-02 1.412538e-02 1.412538e-02 1.412538e-02
## [6] 1.412538e-02 1.380384e-02 1.318257e-02 1.288250e-02 1.230269e-02
## [11] 1.174898e-02 1.148154e-02 1.096478e-02 1.023293e-02 9.549926e-03
## [16] 9.120108e-03 8.709636e-03 8.317638e-03 7.762471e-03 7.244360e-03
## [21] 6.606934e-03 6.456542e-03 5.754399e-03 5.495409e-03 5.011872e-03
## [26] 4.677351e-03 4.265795e-03 3.801894e-03 3.388442e-03 2.884032e-03
## [31] 2.511886e-03 2.290868e-03 1.995262e-03 1.513561e-03 1.230269e-03
## [36] 9.120108e-04 5.888437e-04 3.311311e-04 2.238721e-04 1.445440e-04
## [41] 1.000000e-04 6.918310e-05 4.570882e-05 2.818383e-05 2.137962e-05
## [46] 1.380384e-05 8.912509e-06 6.606934e-06 5.248075e-06 4.073803e-06
## [51] 3.311311e-06 2.691535e-06 2.344229e-06 2.041738e-06 1.778279e-06
## [56] 1.548817e-06 1.513561e-06 1.202264e-06 1.096478e-06 1.071519e-06
## [61] 8.511380e-07 7.943282e-07 7.079458e-07 6.456542e-07 5.888437e-07
## [66] 5.248075e-07 4.677351e-07 4.168694e-07 3.715352e-07 3.630781e-07
## [71] 2.951209e-07 2.630268e-07 2.344229e-07 1.949845e-07 1.659587e-07
## [76] 1.659587e-07 1.258925e-07 1.000000e-07 9.772372e-08 6.606934e-08
## [81] 6.309573e-08 3.235937e-08 2.511886e-08 2.454709e-08
#Volume added at the 1st endpoint
VE = 6.94
#Initial volume of the unknown acid
VI = 25.00
#Concentration of base NaOH
CB = 0.1000
VA <-VolVect
VA
## [1] 0.000 0.005 0.010 0.023 0.054 0.132 0.328 0.528 0.728 0.928
## [11] 1.128 1.328 1.528 1.728 1.928 2.128 2.328 2.528 2.728 2.928
## [21] 3.129 3.329 3.529 3.729 3.929 4.129 4.329 4.529 4.729 4.929
## [31] 5.129 5.329 5.529 5.729 5.929 6.129 6.329 6.529 6.639 6.733
## [41] 6.807 6.885 6.977 7.078 7.163 7.336 7.536 7.736 7.936 8.136
## [51] 8.337 8.537 8.737 8.937 9.137 9.337 9.537 9.737 9.937 10.137
## [61] 10.337 10.537 10.737 10.937 11.137 11.337 11.537 11.737 11.937 12.137
## [71] 12.337 12.537 12.737 12.937 13.137 13.337 13.537 13.737 13.937 14.137
## [81] 14.337 14.537 14.615 14.775
#Fraction Bound
F <-(2-(((VA*CB)+((H)*(VI+VA)))/(VE*CB)))
tF <- F
plot(pHVect,F,
xlab='pH',ylab='Fraction Bound',main='Binding Curve of Diprotic Titration')
#Non-linear Least Squared
library(nls2)
tryfit <- nls(F ~ (H/KD1+2*H^2/(KD1*KD2))/(1+H/KD1+H^2/(KD1*KD2)),
start = c(KD1 = 0.0001,KD2=0.01))
summary(tryfit)
##
## Formula: F ~ (H/KD1 + 2 * H^2/(KD1 * KD2))/(1 + H/KD1 + H^2/(KD1 * KD2))
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## KD1 9.367e-07 3.465e-08 27.03 <2e-16 ***
## KD2 1.701e-02 5.849e-04 29.07 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.04171 on 82 degrees of freedom
##
## Number of iterations to convergence: 7
## Achieved convergence tolerance: 4.418e-06
lines(pHVect,predict(tryfit),col= 'red')
Using non-linear fitting of the binding curve, the equilibrium dissociation constants (Ka₁ and Ka₂) were calculated to be 1.701 × 10⁻² and 9.367 × 10⁻⁷, respectively. In comparison, traditional titration analysis yielded Ka₁ = 5.62 × 10⁻³ and Ka₂ = 6.31 × 10⁻⁷. The two methods show a noticeable difference, particularly for Ka₁, where the non-linear fit produces a value about three times higher than the traditional titration analysis result.
This discrepancy can be attributed to the more sophisticated model used in the non-linear fitting approach, which is better able to capture the binding and dissociation behavior of H⁺ ions. Notably, the non-linear fit accounts for the fact that even before base is added, the first proton of the acid is already 50% dissociated—a feature that traditional titration analysis does not capture, as it provides a more simplified approximation.
Furthermore, upon closer inspection of the fit, some data points do not perfectly align with the curve, possibly suggesting that the model may not fully represent the experimental system. Additionally, experimental errors, whether from instrumentation or human factors, could also influence the results, contributing to the differences observed between the two methods. Repeating the experiments could help confirm the reproducibility of the data and identify any inconsistencies or outliers that may have affected the analysis.