Titration
In analytical chemistry, unknown acids and bases can be studied and quantified in several ways. One of these ways is known as a titration. A titration involves the slow addition of a solution who’s concentration is known to determine the concentration and other important quantitative factors of a solution which is unknown. These two species are called the titrant and the analyte, respectively. There are several methods for titration in chemistry. One method used for this experiment is a manual titration, which is used to determine the concentration and other important factors of a known monoprotic acid. The second is through the use of an automatic titrator, which is used to determine the concentration and eventually the identity of an unknown diprotic acid. These methods both use a base with known concentration to carefully determine the titration curves of these two acids, which allows for chemists to determine the equivalence point and pKa’s of the acid(s).
Binding Curves
Binding curves allow for chemists to understand the affinity and the behavior of certain compounds and how they react. Binding curves are crucial in chemical kinetics to understand the rate of a reaction and the relative trend of how certain compounds react with others. For example, a compound known as hemoglobin which is responsible for transporting oxygen from our lungs to other parts of our body, follows a sigmoidal binding curve (1). In acid and base reactions, the binding curve follows a similar trend, changing negatively or positively depending on if the acid or base is the titrant.
To analyze the monoprotic acid, a manual titration using a burette was done using 0.1 M NaOH. The titration curve is mapped using data collected in the lab, and the binding curve is constructed. During the titration, care was exercised in order to achieve an accurate reading for the equivalence point, adding smaller increments once pH exceeded ~4.5.
The binding curve is constructed with the equation, \(Fraction Bound = \frac {H}{H+KD}\), which is the simple fraction bound equation where H is the number of protons, and KD is the dissociation constant. In the case of an acid, KD can also be called KA, which is the dissociation constant for an acid. These terms are interchangable. This equation is used to build the binding curve using the parameters Fb (Fraction Bound) vs. pH. pH values were gathered during the experiment and tabulated.
Ka is desired during this experiment in order to determine if the titration is being done correctly. Ka can be found using the equation \(Ka = \exp {10}{-pKa}\). It is clear that Ka and pKa are inversely proportional to one another, allowing for connections to be drawn from one to the other, allowing for determination of Ka or pKa of the acid.
mydata <- read.csv("Project3Data.csv")
volume<-mydata$volume
pH<-mydata$pH
length(volume)
## [1] 26
length(pH)
## [1] 26
volume
## [1] 0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00 11.00
## [13] 12.00 13.00 14.00 15.00 16.00 16.50 17.00 17.50 18.00 18.50 19.00 19.50
## [25] 19.75 20.00
pH
## [1] 2.91 3.29 3.52 3.69 3.84 3.96 4.07 4.17 4.26 4.36 4.45 4.54 4.63 4.72 4.83
## [16] 4.95 5.07 5.16 5.24 5.33 5.44 5.59 5.78 6.05 6.20 6.38
plot(volume, pH, main = "Titration Curve for Trial 1", xlab = "Volume of NaOH", ylab = "pH")
H <- 10^-(pH)
CB <- 0.01
Vadd <- volume
Vini <- 25
Vend <- 20
fb <- 1 - (CB * Vadd + H * (Vini+Vadd)) / ( CB*Vend)
fb
## [1] 8.462164e-01 8.833280e-01 8.592307e-01 8.214157e-01 7.790411e-01
## [6] 7.335528e-01 6.868074e-01 6.391827e-01 5.909326e-01 5.425792e-01
## [11] 4.937908e-01 4.448087e-01 3.956632e-01 3.463796e-01 2.971157e-01
## [16] 2.477560e-01 1.982552e-01 1.735645e-01 1.487916e-01 1.240061e-01
## [21] 9.921938e-02 7.444094e-02 4.963489e-02 2.480170e-02 1.235882e-02
## [26] -9.379561e-05
plot(pH,fb)
library(nls2)
## Loading required package: proto
fit <- nls2(fb ~ H/(KD+H), start=c(KD=0.0001))
summary(fit)
##
## Formula: fb ~ H/(KD + H)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## KD 3.724e-05 1.327e-06 28.06 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02959 on 25 degrees of freedom
##
## Number of iterations to convergence: 6
## Achieved convergence tolerance: 8.739e-07
lines(pH,predict(fit), col="Red")
The program package nls2 was used to determine the Ka1 and Ka2 of the diprotic acid. The goal of the experiment was to determine the identity of an unknown acid, through manual calculation of the Ka values. In R, it is both more efficient and clear what the Ka values of the acid are, and thus the process of determining these values is simplified. The KD1 and KD2 values determined by nls2 are 5.797e-07 and 4.421e-02 respectively. In the report, the values calculated in excel are 8.511e-07 and 1.259e-02 for KD1 and KD2 respectively. These values are relatively close to one another, and further support the conclusion that maleic acid was the unknown diprotic acid.
mydata <- read.csv("diproticdata.csv")
mydata
## volume pH
## 1 0.000 1.65
## 2 0.005 1.66
## 3 0.010 1.66
## 4 0.023 1.67
## 5 0.054 1.67
## 6 0.132 1.68
## 7 0.328 1.70
## 8 0.528 1.73
## 9 0.728 1.75
## 10 0.928 1.78
## 11 1.128 1.80
## 12 1.328 1.83
## 13 1.528 1.86
## 14 1.728 1.90
## 15 1.928 1.92
## 16 2.128 1.94
## 17 2.328 1.97
## 18 2.528 2.01
## 19 2.728 2.05
## 20 2.928 2.07
## 21 3.129 2.10
## 22 3.329 2.14
## 23 3.529 2.18
## 24 3.729 2.22
## 25 3.929 2.27
## 26 4.129 2.31
## 27 4.329 2.37
## 28 4.529 2.42
## 29 4.729 2.48
## 30 4.929 2.56
## 31 5.129 2.61
## 32 5.329 2.71
## 33 5.529 2.81
## 34 5.729 2.92
## 35 5.929 3.11
## 36 6.115 3.29
## 37 6.304 3.58
## 38 6.377 3.73
## 39 6.446 3.89
## 40 6.515 4.06
## 41 6.585 4.23
## 42 6.661 4.40
## 43 6.752 4.56
## 44 6.876 4.76
## 45 7.014 4.92
## 46 7.214 5.10
## 47 7.414 5.23
## 48 7.614 5.35
## 49 7.814 5.45
## 50 8.014 5.53
## 51 8.214 5.61
## 52 8.414 5.68
## 53 8.614 5.74
## 54 8.814 5.80
## 55 9.014 5.86
## 56 9.214 5.92
## 57 9.414 5.97
## 58 9.614 6.02
## 59 9.814 6.08
## 60 10.014 6.12
## 61 10.214 6.17
## 62 10.414 6.21
## 63 10.614 6.23
## 64 10.814 6.31
## 65 11.015 6.37
## 66 11.215 6.42
## 67 11.415 6.43
## 68 11.615 6.52
## 69 11.815 6.58
## 70 12.015 6.64
## 71 12.215 6.65
## 72 12.415 6.76
## 73 12.615 6.77
## 74 12.815 6.91
## 75 13.015 6.92
## 76 13.215 7.09
## 77 13.415 7.10
## 78 13.615 7.35
## 79 13.724 7.36
## 80 13.924 7.69
## 81 13.987 7.70
## 82 14.145 8.16
## 83 14.165 8.18
## 84 14.214 8.40
## 85 14.223 8.44
## 86 14.245 8.53
## 87 14.294 8.55
## 88 14.418 9.08
## 89 14.427 9.11
## 90 14.450 9.13
## 91 14.506 9.28
## 92 14.529 9.30
## 93 14.587 9.43
## 94 14.620 9.48
## 95 14.704 9.60
## 96 14.856 9.77
## 97 15.056 9.95
volume <- mydata$volume
pH <- mydata$pH
volume
## [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.115 6.304 6.377 6.446 6.515
## [41] 6.585 6.661 6.752 6.876 7.014 7.214 7.414 7.614 7.814 8.014
## [51] 8.214 8.414 8.614 8.814 9.014 9.214 9.414 9.614 9.814 10.014
## [61] 10.214 10.414 10.614 10.814 11.015 11.215 11.415 11.615 11.815 12.015
## [71] 12.215 12.415 12.615 12.815 13.015 13.215 13.415 13.615 13.724 13.924
## [81] 13.987 14.145 14.165 14.214 14.223 14.245 14.294 14.418 14.427 14.450
## [91] 14.506 14.529 14.587 14.620 14.704 14.856 15.056
pH
## [1] 1.65 1.66 1.66 1.67 1.67 1.68 1.70 1.73 1.75 1.78 1.80 1.83 1.86 1.90 1.92
## [16] 1.94 1.97 2.01 2.05 2.07 2.10 2.14 2.18 2.22 2.27 2.31 2.37 2.42 2.48 2.56
## [31] 2.61 2.71 2.81 2.92 3.11 3.29 3.58 3.73 3.89 4.06 4.23 4.40 4.56 4.76 4.92
## [46] 5.10 5.23 5.35 5.45 5.53 5.61 5.68 5.74 5.80 5.86 5.92 5.97 6.02 6.08 6.12
## [61] 6.17 6.21 6.23 6.31 6.37 6.42 6.43 6.52 6.58 6.64 6.65 6.76 6.77 6.91 6.92
## [76] 7.09 7.10 7.35 7.36 7.69 7.70 8.16 8.18 8.40 8.44 8.53 8.55 9.08 9.11 9.13
## [91] 9.28 9.30 9.43 9.48 9.60 9.77 9.95
plot(volume, pH, main = "Diprotic Acid Titration", xlab="Volume in mL", ylab="pH")
H <- 10^-(pH)
H
## [1] 2.238721e-02 2.187762e-02 2.187762e-02 2.137962e-02 2.137962e-02
## [6] 2.089296e-02 1.995262e-02 1.862087e-02 1.778279e-02 1.659587e-02
## [11] 1.584893e-02 1.479108e-02 1.380384e-02 1.258925e-02 1.202264e-02
## [16] 1.148154e-02 1.071519e-02 9.772372e-03 8.912509e-03 8.511380e-03
## [21] 7.943282e-03 7.244360e-03 6.606934e-03 6.025596e-03 5.370318e-03
## [26] 4.897788e-03 4.265795e-03 3.801894e-03 3.311311e-03 2.754229e-03
## [31] 2.454709e-03 1.949845e-03 1.548817e-03 1.202264e-03 7.762471e-04
## [36] 5.128614e-04 2.630268e-04 1.862087e-04 1.288250e-04 8.709636e-05
## [41] 5.888437e-05 3.981072e-05 2.754229e-05 1.737801e-05 1.202264e-05
## [46] 7.943282e-06 5.888437e-06 4.466836e-06 3.548134e-06 2.951209e-06
## [51] 2.454709e-06 2.089296e-06 1.819701e-06 1.584893e-06 1.380384e-06
## [56] 1.202264e-06 1.071519e-06 9.549926e-07 8.317638e-07 7.585776e-07
## [61] 6.760830e-07 6.165950e-07 5.888437e-07 4.897788e-07 4.265795e-07
## [66] 3.801894e-07 3.715352e-07 3.019952e-07 2.630268e-07 2.290868e-07
## [71] 2.238721e-07 1.737801e-07 1.698244e-07 1.230269e-07 1.202264e-07
## [76] 8.128305e-08 7.943282e-08 4.466836e-08 4.365158e-08 2.041738e-08
## [81] 1.995262e-08 6.918310e-09 6.606934e-09 3.981072e-09 3.630781e-09
## [86] 2.951209e-09 2.818383e-09 8.317638e-10 7.762471e-10 7.413102e-10
## [91] 5.248075e-10 5.011872e-10 3.715352e-10 3.311311e-10 2.511886e-10
## [96] 1.698244e-10 1.122018e-10
Vinital <- 25.00
Vadd <- volume
Vend <- 14/2
CB <- 0.100
Fb <- 2 - ((CB * Vadd) + H * (Vinital + Vadd)) / (CB * Vend)
Fb
## [1] 1.200456736 1.217786008 1.216915454 1.232453923 1.227078540
## [6] 1.231025852 1.231199944 1.245494851 1.242406105 1.252717581
## [11] 1.247284438 1.253971919 1.258588089 1.272449166 1.262077476
## [16] 1.251041265 1.249107435 1.254551625 1.257248486 1.242134527
## [21] 1.233804873 1.231249338 1.226586809 1.219986652 1.216774388
## [26] 1.206331897 1.202840704 1.192619819 1.183797184 1.178098127
## [31] 1.161631536 1.154233090 1.142594539 1.128793737 1.118702076
## [36] 1.103631883 1.087666013 1.080653327 1.073355672 1.065364512
## [41] 1.056628768 1.046627933 1.034179253 1.016922941 0.997450153
## [46] 0.969063022 0.940584475 0.912077598 0.883547959 0.855003670
## [51] 0.826454956 0.797900269 0.769341189 0.740780583 0.712218639
## [56] 0.683655522 0.655090178 0.626524206 0.597958633 0.569390627
## [61] 0.540823132 0.512254520 0.483684327 0.455117799 0.426406624
## [66] 0.397837473 0.369266386 0.340698489 0.312129024 0.283559315
## [71] 0.254988098 0.226419283 0.197848017 0.169279068 0.140707757
## [76] 0.112138420 0.083567069 0.054997536 0.039426157 0.010856008
## [81] 0.001856032 -0.020714673 -0.023571798 -0.030571652 -0.031857346
## [86] -0.035000165 -0.042000158 -0.059714333 -0.061000044 -0.064285756
## [91] -0.072285744 -0.075571457 -0.083857164 -0.088571447 -0.100571443
## [96] -0.122285724 -0.150857149
plot(pH,Fb, main="Binding Curve")
library(nls2)
fit <- nls2(Fb ~ (H/KD1+(2*H^2)/(KD1*KD2))/(1+H/KD1+H^2/(KD1*KD2)), start=c(KD1=0.000001,KD2=0.0001))
summary(fit)
##
## Formula: Fb ~ (H/KD1 + (2 * H^2)/(KD1 * KD2))/(1 + H/KD1 + H^2/(KD1 *
## KD2))
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## KD1 5.797e-07 3.531e-08 16.42 <2e-16 ***
## KD2 4.421e-02 3.277e-03 13.49 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.06777 on 95 degrees of freedom
##
## Number of iterations to convergence: 11
## Achieved convergence tolerance: 9.99e-07
lines(pH,predict(fit),col="blue")
Ultimately, using R to determine the quantitative properties of acids is very useful as proven by the analysis of both monoprotic and diprotic acid titrations. In future experiments, there may be some merit in using R analytical methods to study several trials of diprotic or monoprotic titrations. This will allow for testing of more consistent data. Additionally, it can allow for more mistakes to be found during testing, so they may be corrected, and thus the experiments can be redone more efficiently and finely to yield more valuable data.
(1)Gómez-Cambronero, J. The Oxygen Dissociation Curve of Hemoglobin: Bridging the Gap between Biochemistry and Physiology. Journal of Chemical Education 2001, 78 (6), 757. https://doi.org/10.1021/ed078p757