Monoprotic Acid Titration

Abstarct

In this laboratory experiment we performed a monoprotic titration of an unknown vinegar solution experiment to visualize and understand the theory behind it. To perform monoprotic titration, there was the need of a monoprotic acid, an acid that donate a proton or hydrogen to the solution, which was then represented by the titration curve that showed a single point of equivalence.

Introduction

Monotropic titration involves acids with only one ionizable hydrogen ion per molecule, such as HCl or CH₃COOH. The equivalence point is reached when all acid is neutralized by the base, resulting in a single sharp equivalence point on the titration curve

mydata <- read.csv("Titration Trial 1.csv", header = TRUE, )
mydata
##    Volume.of.NaOH..ml.    pH  X
## 1                 0.00  3.17 NA
## 2                 1.00  3.47 NA
## 3                 2.00  3.47 NA
## 4                 3.00  3.90 NA
## 5                 4.00  4.06 NA
## 6                 5.00  4.18 NA
## 7                 6.00  4.27 NA
## 8                 7.00  4.37 NA
## 9                 8.00  4.47 NA
## 10                8.45  4.49 NA
## 11                9.00  4.54 NA
## 12                9.60  4.61 NA
## 13               10.00  4.64 NA
## 14               11.00  4.71 NA
## 15               12.00  4.80 NA
## 16               13.00  4.88 NA
## 17               14.00  4.97 NA
## 18               14.50  5.03 NA
## 19               14.90  5.06 NA
## 20               15.10  5.08 NA
## 21               15.20  5.08 NA
## 22               15.60  5.12 NA
## 23               16.10  5.19 NA
## 24               16.60  5.25 NA
## 25               17.00  5.32 NA
## 26               17.50  5.40 NA
## 27               18.10  5.50 NA
## 28               18.50  5.59 NA
## 29               19.10  5.74 NA
## 30               19.50  5.86 NA
## 31               20.00  6.39 NA
## 32               21.10  9.55 NA
## 33               21.50 10.51 NA
## 34               22.00 10.89 NA
## 35               25.00 11.50 NA
#  data(package = .packages(all.available = TRUE))

volume<-mydata$Vol ## volume vector

pH<-mydata$pH ## pH vector

plot(volume,pH, xlab= "Volume (mL)", ylab= "pH", main= "Monoprotic Titration", xlim=c(0,25),ylim=c(3,12))

OH<-0.1 ## [Base]
OH
## [1] 0.1
Veq<-21.5
Veq
## [1] 21.5
H <- 10^(-pH) 
H
##  [1] 6.760830e-04 3.388442e-04 3.388442e-04 1.258925e-04 8.709636e-05
##  [6] 6.606934e-05 5.370318e-05 4.265795e-05 3.388442e-05 3.235937e-05
## [11] 2.884032e-05 2.454709e-05 2.290868e-05 1.949845e-05 1.584893e-05
## [16] 1.318257e-05 1.071519e-05 9.332543e-06 8.709636e-06 8.317638e-06
## [21] 8.317638e-06 7.585776e-06 6.456542e-06 5.623413e-06 4.786301e-06
## [26] 3.981072e-06 3.162278e-06 2.570396e-06 1.819701e-06 1.380384e-06
## [31] 4.073803e-07 2.818383e-10 3.090295e-11 1.288250e-11 3.162278e-12
Vi<-25 ## Initial volume
Vi
## [1] 25
fb<-1-(OH*volume+H*(Vi+volume))/(OH*Veq)
fb
##  [1]  9.921386e-01  9.493907e-01  9.027215e-01  8.588256e-01  8.127787e-01
##  [6]  7.665200e-01  7.201559e-01  6.737837e-01  6.273869e-01  6.064733e-01
## [11]  5.809393e-01  5.530933e-01  5.345108e-01  4.880456e-01  4.415877e-01
## [16]  3.951158e-01  3.486428e-01  3.254099e-01  3.068151e-01  2.975193e-01
## [21]  2.928677e-01  2.742754e-01  2.510394e-01  2.277982e-01  2.092088e-01
## [26]  1.859678e-01  1.580761e-01  1.394829e-01  1.115906e-01  9.299469e-02
## [31]  6.975892e-02  1.860465e-02 -6.683663e-10 -2.325581e-02 -1.627907e-01
plot(pH,fb,main="Monoprotic Fraction Bound vs pH",xlab = "pH",xlim = c(3,7.11),ylab = "Fraction Bound")
tryfit <- nls(fb ~ H/(Kd+H), start=c(Kd = 0.0001))
summary(tryfit)
## 
## Formula: fb ~ H/(Kd + H)
## 
## Parameters:
##     Estimate Std. Error t value Pr(>|t|)    
## Kd 1.983e-05  6.310e-07   31.43   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.03253 on 34 degrees of freedom
## 
## Number of iterations to convergence: 6 
## Achieved convergence tolerance: 3.333e-07
lines(pH, predict(tryfit), col="hotpink")

Analysis

During monoprotic titration analysis, we titrated a monoprotic acid with a base and plotted the volume of base added against the pH of the solution. The curve shows a gradual increase in pH followed by a sharp rise at the equivalence point.

To create a binding curve, we convert the volume of base added to the fraction of acid neutralized using stoichiometry. Then, we plot this fraction against pH. The curve typically starts with a gradual increase, sharply rises at the equivalence point, and levels off as the acid becomes fully neutralized.

Non-linear least squares analysis used to determine the dissociation constant (K1) from experimental data. This involves fitting the experimental pH data to the Henderson-Hasselbalch equation using a nonlinear regression approach, adjusting the value of K1 until the best fit between the experimental data and the equation is achieved.

Summary

By collecting all the data and creating a R-file script to present the findings, we were able to show the fraction bound vs. pH. The plot shows a single point of equivalence. According to the script, the Kd estimate is 1.983e-05, the standard error is 6.310e-07, and the t value is 31.43.

DIPROTIC ACID TITRATION

Abstract

In this laboratory experiment, we performed the diprotic titration laboratory experiment to visualize and understand the concept behind it. To perform a diprotic titration, there was the need of a diprotic acid, an acid which donated two protons or hydrogens to the solution, which was represented by the titration curve showing two equivalence

Introduction

Diprotic titration involves acids with two ionizable hydrogen ions per molecule, like H₂SO₄ or H₂CO₃. Two moles of base are needed to neutralize each mole of acid completely. These titrations typically exhibit two equivalence points, each corresponding to the neutralization of a hydrogen ion, resulting in a titration curve with two distinct equivalence points and noticeable pH changes at each point.

Mydata <- read.csv("Titration Trial 1 (Diprotic).csv")    

Mydata
##    Potential..pH. Consumption..mL.
## 1            2.92            5.729
## 2            3.03            5.929
## 3            3.20            6.129
## 4            3.46            6.329
## 5            3.60            6.425
## 6            3.87            6.552
## 7            4.00            6.606
## 8            4.16            6.678
## 9            4.34            6.758
## 10           4.49            6.842
## 11           4.70            6.968
## 12           4.86            7.085
## 13           5.03            7.261
## 14           5.18            7.461
## 15           5.29            7.661
## 16           5.39            7.861
## 17           5.47            8.061
## 18           5.56            8.261
## 19           5.62            8.461
## 20           5.69            8.661
## 21           5.75            8.861
## 22           5.80            9.061
## 23           5.86            9.261
## 24           5.92            9.461
## 25           5.96            9.661
## 26           6.01            9.861
## 27           6.05           10.061
## 28           6.10           10.261
## 29           6.14           10.461
## 30           6.19           10.661
## 31           6.23           10.861
## 32           6.27           11.062
## 33           6.33           11.262
## 34           6.36           11.462
## 35           6.41           11.662
## 36           6.46           11.862
## 37           6.50           12.062
## 38           6.55           12.262
## 39           6.60           12.462
## 40           6.65           12.662
## 41           6.70           12.862
## 42           6.76           13.062
## 43           6.82           13.262
## 44           6.88           13.462
## 45           6.96           13.662
## 46           7.04           13.862
## 47           7.12           14.062
## 48           7.23           14.262
## 49           7.35           14.462
## 50           7.51           14.662
## 51           7.74           14.862
## 52           7.92           14.988
## 53           8.11           15.091
volume <- Mydata$Consumption..mL ## Volume vector

pH <- Mydata$Potential..pH.      ## pH vector

pH
##  [1] 2.92 3.03 3.20 3.46 3.60 3.87 4.00 4.16 4.34 4.49 4.70 4.86 5.03 5.18 5.29
## [16] 5.39 5.47 5.56 5.62 5.69 5.75 5.80 5.86 5.92 5.96 6.01 6.05 6.10 6.14 6.19
## [31] 6.23 6.27 6.33 6.36 6.41 6.46 6.50 6.55 6.60 6.65 6.70 6.76 6.82 6.88 6.96
## [46] 7.04 7.12 7.23 7.35 7.51 7.74 7.92 8.11
plot(volume,pH,main="Volume of NaOH vs. pH of diprotic solution", xlab= "volume (mL)", ylab= "pH")

H <- 10^-(pH)    ## H+ from pH

Vini <- 25           ## Initial Volume

Vend <- 7.23     ## Volume added in endpoint

tbase <- 0.10        ## [Base]

Fb <- (2-(((volume*tbase)+((H)*(Vini+volume)))/(Vend*tbase)))

plot(pH,Fb,main = "FB Vs pH of Diprotic Titration",xlab = "pH", ylab = "Fraction Bound")

library(nls2)
## Loading required package: proto
fit <- nls2(Fb~(H/KD1+2*H^2/(KD1*KD2))/(1+H/KD1+H^2/(KD1*KD2))
            ,start = c(KD1=0.0001,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.999e-07  2.359e-08  25.424  < 2e-16 ***
## KD2 4.629e-03  8.260e-04   5.604 8.49e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.04571 on 51 degrees of freedom
## 
## Number of iterations to convergence: 10 
## Achieved convergence tolerance: 7.077e-06
length(predict(fit))
## [1] 53
plot(pH,Fb,main = "FB Vs pH of Diprotic Titration")

lines(pH,predict(fit),col="blue")

Summary

By collecting all the data and creating a R-file script to present the findings, we were able to show the fraction bound vs. pH. The plot shows two points of equivalence. According to the script, the Kd1 estimate is 5.999e-07, the standard error is 2.359e-08, and the t value is 25.424 . For Kd2, the estimate is 4.629e-02, the standard error is 8.260e-04, and the t value is 5.604.

Comparison between Traditional Titration Analysis to Binding Curve

Traditional titration analysis involves straightforward experiments where a known titrant is added to a solution until the equivalence point is reached. Despite its simplicity, this method may lack resolution and accuracy, especially for complex titration systems. Identifying the equivalence point can be subjective, and the resolution of the titration curve may not be sufficient for precise endpoint determination. Nevertheless, traditional titration remains fundamental in analytical chemistry due to its practicality.

In contrast, binding curve analysis converts titration data into a curve by plotting the fraction of acid neutralized against pH. This method offers enhanced resolution and quantitative insights, particularly for complex titration systems. While it requires mathematical modeling and may be more complex to set up initially, binding curve analysis provides valuable advantages in resolution and quantitative analysis.

Future Investigation

For future studies, it would be valuable to conduct broader comparative analyses between different titration methods, encompassing both traditional and modern approaches. This could involve exploring various experimental conditions, such as temperature, concentration ranges, and titration techniques, to assess their impacts on the accuracy and precision of determining Ka.

Additionally, investigating alternative analytical techniques and data analysis methods could further enhance accuracy and efficiency. Overall, continued research in this area will contribute to advancing our comprehension of acid-base equilibria and refining analytical methods in chemistry.