K_{n} = | [H_{3}O^{+}][H_{n-1}A^{-(N-n)-1}] | n=1..N |
[H_{n}A^{-(N-n)}] |
[H_{n}A^{-(N-n)}] | = | K_{n+1} | * | K_{n+2} | * ... * | K_{N} |
[H_{N}A] | [H_{3}O^{+}] | [H_{3}O^{+}] | [H_{3}O^{+}] |
[H_{n}A^{-(N-n)}] = | [H_{n}A^{-(N-n)}] / [H_{N}A] | * [B] |
sum [H_{n}A^{-(N-n)}] / [H_{N}A] |
The relative ratios can be substituted into this equation to obtain each concentration as a function of the dissociation constants, [B], and pH.
To determine what ingredients to put in the buffer to obtain these concentrations, the script uses the facts that positive ions must balance negative ions, and that water dissociates with equilibrium constant[OH^{-}] = K_{w}/[H_{3}O^{+}].
For NaOH and M_{N-a}H_{a}A (M being a monovalent cation distinguishable from Na^{+}) the charge balance is:[H_{3}O^{+}] + [Na^{+}] + (N-a)[B] = [OH^{-}] + sum (N-n) [H_{n}A^{-(N-n)}]
Note that [M^{+}] = (N-a)[B]. The amount of NaOH added should result in the sodium ion concentration [Na^{+}] and the amount of buffering anions should result in a concentration equal to [B].For M_{N-b}H_{b}A and HCl (A being an anion distinguishable from Cl^{-}) the charge balance is:
[H_{3}O^{+}] + (N-b)[B] = [OH^{-}] + [Cl^{-}] + sum (N-n) [H_{n}A^{-(N-n)}]
The amount of HCl added should equal [Cl^{-}] and the amount of base should be [B].For M_{N-b}H_{b}A and M_{N-a}H_{a}A :
[H_{3}O^{+}] + x(N-b)[B] + (1-x)(N-a)[B] = [OH^{-}] + sum (N-n) [H_{n}A^{-(N-n)}]
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[H_{n}A^{-(N-n)}]
subtracted from the total number of protons that can be bound, the buffer capacity C:[C] = sum N[H_{n}A^{-(N-n)}] = N[B]
Note: this is different from the minimum slope of the titration curve, as others define "buffer capacity".
L = | [H_{3}O^{+}] + [H^{+}]_{bound} - [OH^{-}] |
[C] |
If only H_{n}A is added to water, the buffer load is n/N. By mixing different M_{N-n}H_{n}A'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 M_{N-a}H_{a}A, the concentrations should be:
(a/N - L)[C] and [B]; this buffer works if L < a/N.
For M_{N-b}H_{b}A / HCl, the concentrations should be:[B] and (L - b/N)[C]; this buffer works if L > b/N.
For M_{N-b}H_{b}A / M_{N-a}H_{a}A, 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 pK_{w} for various temperatures:
Temp (C) | pK_{w} |
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