Lab Report Data


The data presented below was obtained using an Auto-Potentiometric titration on an unknown diprotic sample solution. Analyzing equivalence points, molar mass, and acid dissociation constant determinations can help identify the acid. This experiment, aims to better understand the fundamentals behind manual and Potentiometric titrations which can provide a strong competitive advantage in the future. A similar experiment was conducted using a manual titration. It was determined that the Ka value was 5.01*10^-5. This lab aims to verify whether or not the manual titration is reliable in determining the Ka value.
___

library(readr)
titration_data <- read.csv ("DiproticAcidData.csv")

volume_values <- titration_data$vol
pH_values <- titration_data$pH

plot(volume_values, pH_values, xlab = 'Volume (mL)',ylab = 'pH',main = 'Titration Curve')

___

Analyzing the Diprotic Data


The fraction bound curve was used to analyze the titration curve.

\[ f = 2- \frac {( V \cdot CB ) + (H^+ \cdot (IV+V))}{(IV \cdot CB)} \] where:


Since the unknown acid is diprotic, this acid will donate two of its protons to other atoms. The equation above represents the acid’s ability to bound to a receptor as the concentration of the base increases. This equation applies until it reaches the endpoint, which would be evident in our fraction bound curve.


#initial acid volume
initial_acid_volume <- 0
# hydrogen Concentration
hydrogen_concentration <- 10^(-pH_values)

# Base Concentration
base_concentration <- 0.09917

# Volume at the First Endpoint
first_equivalence_volume <- 7.40

# Fraction Binding  
fraction_binding <- 2 - ((volume_values * base_concentration + hydrogen_concentration * (initial_acid_volume + volume_values)) / (first_equivalence_volume * base_concentration))
fraction_binding
##  [1]  2.000000e+00  1.999219e+00  1.998438e+00  1.996406e+00  1.991563e+00
##  [6]  1.979376e+00  1.948911e+00  1.918249e+00  1.887928e+00  1.857536e+00
## [11]  1.827305e+00  1.797759e+00  1.767898e+00  1.739451e+00  1.709982e+00
## [16]  1.682068e+00  1.652944e+00  1.625481e+00  1.597449e+00  1.570365e+00
## [21]  1.542505e+00  1.516507e+00  1.489064e+00  1.462509e+00  1.436794e+00
## [26]  1.409650e+00  1.384747e+00  1.359107e+00  1.334083e+00  1.308383e+00
## [31]  1.283749e+00  1.258434e+00  1.233472e+00  1.209120e+00  1.184082e+00
## [36]  1.158821e+00  1.134361e+00  1.108599e+00  1.082871e+00  1.057116e+00
## [41]  1.031159e+00  1.004815e+00  9.783881e-01  9.518887e-01  9.252506e-01
## [46]  8.985729e-01  8.718594e-01  8.451135e-01  8.183854e-01  7.915368e-01
## [51]  7.646733e-01  7.378308e-01  7.109376e-01  6.838978e-01  6.570333e-01
## [56]  6.300811e-01  6.032059e-01  5.762911e-01  5.493469e-01  5.224196e-01
## [61]  4.954663e-01  4.685128e-01  4.415560e-01  4.145934e-01  3.876284e-01
## [66]  3.606601e-01  3.336778e-01  3.066888e-01  2.823869e-01  2.605071e-01
## [71]  2.334900e-01  2.064704e-01  1.794465e-01  1.524224e-01  1.253979e-01
## [76]  9.837310e-02  7.134624e-02  4.432261e-02  4.040419e-02  3.810694e-02
## [81]  3.229659e-02  3.108041e-02  2.797233e-02  2.040503e-02  1.918883e-02
## [86]  1.608083e-02  1.472950e-02  1.162140e-02  3.783665e-03  2.702587e-03
## [91] -9.432997e-08 -2.837928e-03 -9.864917e-03 -1.081086e-02 -1.337843e-02
plot(pH_values, fraction_binding, xlab = 'pH', ylab = 'Fractional Binding', 
     main = "Diprotic Acid Fractional Binding vs. pH")

___

Nls2 Analysis


This equation was used to determine the Ka1 and Ka2 values.

\[ f = \frac {\frac {H}{Ka1}+ \frac {2H^2}{Ka1 \cdot Ka2}}{1+\frac{H}{Ka1}+\frac{H^2}{Ka1 \cdot Ka2}} \] ___

library (nls2)
## Loading required package: proto
binding_model <- nls2(fraction_binding ~ (hydrogen_concentration / Kd1 + 2 * hydrogen_concentration^2 / (Kd1 * Kd2)) / 
                        (1 + hydrogen_concentration / Kd1 + hydrogen_concentration^2 / (Kd1 * Kd2)),
                      start = list(Kd1 = 0.0001, Kd2 = 0.02))

summary (binding_model)
## 
## Formula: fraction_binding ~ (hydrogen_concentration/Kd1 + 2 * hydrogen_concentration^2/(Kd1 * 
##     Kd2))/(1 + hydrogen_concentration/Kd1 + hydrogen_concentration^2/(Kd1 * 
##     Kd2))
## 
## Parameters:
##      Estimate Std. Error t value Pr(>|t|)    
## Kd1 3.282e-05  3.663e-06   8.961 3.23e-14 ***
## Kd2 4.968e-03  3.899e-04  12.741  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1055 on 93 degrees of freedom
## 
## Number of iterations to convergence: 8 
## Achieved convergence tolerance: 3.863e-06
plot(pH_values, fraction_binding, xlab = 'pH', ylab = 'Fractional Binding', 
     main = "Diprotic Acid Fractional Binding vs. pH")

lines(pH_values, predict(binding_model), col = "blue", lwd = 1.5)

# Obtained from nls2: Ka1: 2.122 Ka2: 1.048

Discussion

While both techniques are reliable means in determining the concentration of acid, I believe that the nls2 method was more accurate because of the Ka values produced from this method. The autotitration resulted in a Ka value of 2.122 and 1.048 while the manual titration resulted in a Ka value of 5.0110^-5. See the difference? Ka represents the acid dissociation constant which measures the strength of the acid. A lower Ka value represents a weaker acid while a higher value represents a stronger value. On the previous lab, we used an average of 22.5mL of NaOH in the titration. Comparing that to the 20mL of the unknown acid, the Ka values should be close to a 1:1 ratio. The value calculated (5.0110)^-5 does not seem right. Additionally, the manual titration has the potential to be inaccurate due to human error, which is not possible in the automatic titration. The unknown acid should be a weak acid, but not so weak that the Ka value is 5.01*10^-5. Looking more into this results, I would like to know what a Ka value of 2.122 means in this situation. A Ka value of 1.048 seems to be more reliable due to the fact that the concentration of base added is similar to the total concentration of the unknown acid. Should we consider the ka= 2.122 as an outlier?