| Kn = | [H3O][Hn-1A] | n=1..N |
| [HnA] |
| [HnA] | = | Kn+1 | * | Kn+2 | * ... * | KN |
| [HNA] | [H3O] | [H3O] | [H3O] |
| [HnA] = | [HnA] / [HNA] | * [B] |
| sum [HnA] / [HNA] |
[OH] = Kw/[H].
For NaOH and MN-aHaA:[H3O] + [Na] + (N-a)[B] = [OH] + sum (N-n) [HnA]
Note that [M] = (N-a)[B]. The amount of NaOH added should be equal to [Na] and the amount of acid equal to [B].For MN-bHbA and HCl:
[H3O] + (N-b)[B] = [OH] + [Cl] + sum (N-n) [HnA]
The amount of HCl added should equal [Cl] and the amount of base should be [B].For MN-bHbA and MN-aHaA :
[H3O] + x(N-b)[B] + (1-x)(N-a)[B] = [OH] + sum (N-n) [HnA]
where x[B] is the amount of acid to add and (1-x)[B] the amount of base.The sum in these equations is the number of bound protons:
[H]bound = sum n[HnA]
subtracted from the total number of protons that can be bound, the buffer capacity C:[C] = sum N[HnA] = N[B]
Note: this is different from the minimum slope of the titration curve, as others define "buffer capacity".
| L = | [H3O] + [H]bound - [OH] |
| [C] |
If only HnA is added to water, the buffer load is n/N. By mixing different MN-nHnA's, intermediate buffer loads can be obtained. The buffer load can also be adjusted by adding a strong acid or base. The above equations can be rearranged to give simple formulas that show how much.
For NaOH and MN-aHaA, the concentrations should be:
(a/N - L)[C] and [B]; this buffer works if L < a/N.
For MN-bHbA / HCl, the concentrations should be:[B] and (L - b/N)[C]; this buffer works if L > b/N.
For MN-bHbA / MN-aHaA, the concentrations should be:
| (a/N - L)[C] | and | (L - b/N)[C] | ; this buffer works if b/N < L < a/N. |
| (a-b) | (a-b) |
Here is a table of pKw for various temperatures:
| Temp (C) | pKw |
| 0 | 14.94 |
| 5 | 14.73 |
| 10 | 14.53 |
| 15 | 14.34 |
| 20 | 14.17 |
| 25 | 13.99 |
| 30 | 13.83 |
| 35 | 13.68 |
| 40 | 13.53 |
| 45 | 13.39 |
| 50 | 13.26 |
| 55 | 13.14 |
| 60 | 13.02 |
| 65 | 12.90 |
| 70 | 12.80 |
| 75 | 12.69 |
| 80 | 12.60 |
| 85 | 12.51 |
| 90 | 12.42 |
| 95 | 12.34 |
| 100 | 12.26 |
By Dave Robinson,
inspired by
Jeffrey
Clymer's phosphate buffer javascript, using PHP, an easy to learn, open
source, cross platform scripting language for the web.
The graphs are produced by
jpgraph.
Back to buffer calculator