Henderson-Hasselbalch 缓冲液模拟器 返回
化学模拟器

Henderson-Hasselbalch 缓冲液模拟器 — 缓冲液的 pH

用 Henderson-Hasselbalch 式可视化由弱酸及其共役碱组成的缓冲液的 pH。通过改变 pKa、总浓度、共役碱分率和添加的强酸/强碱量,直观学习缓冲能和滴定曲线。

参数设置
pKa
总浓度 C
mol/L
共役碱分率 α
添加的强碱 Δ(负值表示强酸)
mmol

缓冲液体积固定为 1 L。Δ 为正时表示添加强碱(NaOH 等),为负时表示添加强酸(HCl 等)。

计算结果
pH
[A−]/[HA] 实测
缓冲能 β
有效缓冲范围
滴定曲线(pH vs Δ)

横轴=添加的强碱量 Δ(mmol,负值表示强酸)/ 纵轴=pH / 实线=pH 曲线,浅线=pKa,破线=pKa±1 有效缓冲范围,黄点=当前 Δ

分率分布(HA 和 A− vs pH)

横轴=pH / 纵轴=分率(0~1)/ 蓝=HA(共役酸),橙=A−(共役碱)/ 黄竖线=当前 pH,浅竖线=pKa

理论与主要公式

当弱酸 HA 与其共役碱 A− 共存时,pH 由两者的浓度比和酸解离常数 pKa 决定。这就是 Henderson-Hasselbalch 式。

缓冲液的 pH($[\mathrm{HA}]$ 和 $[\mathrm{A}^-]$ 为实际浓度):

$$\mathrm{pH} = \mathrm{p}K_a + \log_{10}\!\frac{[\mathrm{A}^-]}{[\mathrm{HA}]}$$

添加 $\Delta$ mol 强碱后的物质量(体积 1 L):

$$n_{\mathrm{HA}}' = C(1-\alpha) - \Delta,\qquad n_{\mathrm{A}^-}' = C\alpha + \Delta$$

Van Slyke 缓冲能(简化式):

$$\beta = 2.303\,C\,\alpha(1-\alpha)$$

$\alpha$ 为共役碱分率,$C$ 为总浓度 [mol/L]。当 $\alpha=0.5$ 时 $\beta$ 取最大值 $0.576\,C$,有效缓冲范围为 $\mathrm{p}K_a \pm 1$。当 $n_{\mathrm{HA}}'$ 或 $n_{\mathrm{A}^-}'$ 小于等于 0 时缓冲失效。

Henderson-Hasselbalch 缓冲液模拟器简介

🙋
我听说缓冲液中,即使加入酸或碱,pH 也几乎不变。这是为什么呢?
🎓
因为弱酸 HA 和它的共役碱 A− 都大量溶解在溶液中。加入强酸时,A− 会捕获 H⁺ 变成 HA;加入强碱时,HA 会释放 H⁺ 变成 A−。无论哪种情况,"配对中的另一半会代偿",所以自由 H⁺ 的浓度——也就是 pH——几乎不变。用式子表示就是 $\mathrm{pH} = \mathrm{p}K_a + \log_{10}([\mathrm{A}^-]/[\mathrm{HA}])$,这就是 Henderson-Hasselbalch 式。
🙋
我注意到上面的模拟器中,当 α = 0.5 时,pH 正好等于 pKa。
🎓
没错。当 $[\mathrm{A}^-]/[\mathrm{HA}]=1$ 时,$\log_{10}(1)=0$,所以 pH = pKa。默认的 pKa = 4.76 是乙酸(CH₃COOH)的值,正好对应等摩尔混合乙酸钠和乙酸的 pH。生化中的标准缓冲液(磷酸、Tris、HEPES 等)也都是在各自 pKa 附近使用的。
🙋
我看到当 Δ 滑块移动很大时,pH 会突然跳跃。
🎓
那就是"缓冲失效"的时刻。例如 α = 0.5、C = 0.1 mol/L、体积 1 L 的缓冲液中,HA 和 A− 都各有 0.05 mol = 50 mmol。加入 Δ = +50 mmol 的强碱时,HA 会完全消耗,之后就无法再吸收任何碱。图表中在 Δ ≈ 50 的位置可以看到 pH 急剧上升的"滴定终点"。
🙋
"缓冲能 β" 到底是什么东西呢?
🎓
"将 pH 改变 1 个单位所需的强酸或强碱的物质量"。根据 Van Slyke 式,$\beta = 2.303\,C\,\alpha(1-\alpha)$。关键是 α = 0.5 时达到最大值,当 α 接近 0 或 1 时迅速趋近于零。这就是"缓冲液只在 pKa 附近有效"和"选择 pKa 最接近使用 pH 的酸"这两条规则的理论基础。下面的分率分布图中,HA 和 A− 交点(pKa)周围,两者浓度大致相等的范围(pKa±1)就是"有效缓冲范围"。

常见问题

原则上要选择"pKa 最接近目标 pH 的酸"。例如要缓冲 pH ≈ 7,可选磷酸(pKa2 = 7.21)或 HEPES(pKa = 7.55);要缓冲 pH ≈ 4,可选乙酸(pKa = 4.76)或乳酸(pKa = 3.86);要缓冲 pH ≈ 9,可选碳酸(pKa2 = 10.33)或 Tris(pKa = 8.07)。基本原则是在 pKa 的 ±1 范围内使用,超出这个范围缓冲能会急速下降。
由于缓冲能 β 与总浓度 C 成正比,需要强缓冲时浓度要高,只需弱缓冲时可降低到 0.01~0.05 mol/L。生化实验中 50~100 mmol/L 是标准浓度,酶活性测定或 PCR 中有时降到 10~25 mmol/L。过高的浓度会增加离子强度,对酶和细胞有不利影响,所以应根据实际需要选择适当浓度。
会的。pKa 依赖于温度,温度变化时缓冲液的 pH 也会改变。特别是 Tris,温度依赖性很大,在 25°C 时 pH = 8.0 的溶液冷却到 4°C 时 pH 会跳到约 8.6。低温实验中之所以偏爱磷酸缓冲液(PBS),就是因为它的 pKa 对温度的依赖性较小。在实际工作中,pH 计的标定温度与使用温度务必一致。
非常有用,这在药学中极其重要。大多数药物是弱酸或弱碱,其离子型与非离子型的比例由 pH 和 pKa 决定。非离子型脂溶性较高,易透过细胞膜,因此药物在胃(pH ≈ 1.5)、小肠(pH ≈ 6.5)、血液(pH ≈ 7.4)等不同部位的吸收和分布,都可用 Henderson-Hasselbalch 式预测。阿司匹林(pKa = 3.5)在酸性胃中吸收效率高就是典型例子。

实际应用

生化与分子生物学的缓冲液设计:酶活性测定、蛋白质纯化、PCR、细胞培养等几乎所有生化实验都需要缓冲液。Tris、HEPES、MES、PIPES 等"良好缓冲液"的设计特点是 pKa 在中性附近且与生体分子不反应,根据实验所需 pH 选择。本模拟器中改变 pKa 滑块时,会看到缓冲范围在 pH 轴上平移。

血液和体液的 pH 调节:血液 pH(7.35~7.45)由磷酸盐、蛋白质,最重要的是碳酸-重碱酸缓冲系统(CO₂/HCO₃⁻,pKa1 ≈ 6.1)维持。临床评估酸碱失衡时,会用 Henderson-Hasselbalch 式的推广形式(pH = 6.1 + log([HCO₃⁻]/(0.03·PCO₂)))来分析血液气体分析仪的输出数据。这与生命维系直接相关。

药学与药物动力学:口服药物的溶解度、吸收、分布、代谢、排泄(ADME)基本上由消化道、血液、细胞内的 pH 环境与药物 pKa 的关系决定。新药的临床前评估中,用 Henderson-Hasselbalch 式计算各种 pH 下的离子化率,绘制 pH-溶解度分布曲线作为制剂设计的基础数据。缓释和肠溶涂层的设计也用到这个原理。

水质与环保工程:河川和湖泊的 pH 稳定性取决于水中的碳酸-重碱酸系统(碱度)。酸雨影响评估和污水处理厂的 pH 控制中,要评估系统的缓冲能 β 能否吸收预期的 H⁺ 或 OH⁻ 负荷。珊瑚礁海洋酸化问题中,也讨论海水碳酸缓冲系统能否在 CO₂ 吸收下维持 pH。

常见误区与注意事项

最常见的误解是把 Henderson-Hasselbalch 式当作"缓冲液就一定成立的普遍公式"。实际上,这个式子基于以下近似:(1) 弱酸的离解度很小(pH 不远离 pKa),(2) 浓度不太稀(≫10⁻³ mol/L),(3) 离子强度影响可忽略,(4) 水的自身离解(10⁻⁷ M)可忽略。当 pH 极端偏离或溶液太稀时,必须从完整的物质守恒和电荷守恒出发数值求解。教科书上作为"简化式"来讲解,这一点首先要认识清楚。

次常见的误解是远离 pKa 的 pH 也能有效缓冲。试试将 α 设为 0.05 或 0.95,然后稍微移动 Δ 滑块,会看到 pH 跳跃。这是因为 Van Slyke 式 $\beta = 2.303\,C\,\alpha(1-\alpha)$ 中,当 α 接近 0 或 1 时 β 迅速趋零。实际工作中要注意配制时的 pH 和使用 pH 不能偏离太多,酸与共役碱的混合比例要仔细计算。

最后要注意,"缓冲液能完全固定 pH" 是误解。Henderson-Hasselbalch 式说的是"对强酸/强碱的添加,缓冲液能缓和 pH 的变化",但不是无限的。模拟器中当 Δ 接近 ±50 mmol 时,曲线变成竖直,最终 HA 或 A− 完全耗尽,出现 "broken"(失效)状态。这个极限叫做缓冲液的"容量"(capacity),与缓冲能 β 是不同的概念。设计时应给予预期扰动量几倍的安全余裕。

使用指南

  1. 用 pKa 滑块(slPKa)在 2.0~10.0 范围内设置弱酸的离解常数。乙酸为 pKa=4.76,磷酸氢根为 pKa=7.20。
  2. 用总浓度滑块(slC)在 0.01~1.0 mol/L 范围调整缓冲液的总摩尔浓度,这会影响缓冲能 β。
  3. 用共役碱分率滑块(slAlpha)改变 [A−]/([HA]+[A−]) 的比例(0~1.0),Henderson-Hasselbalch 式 pH = pKa + log([A−]/[HA]) 实时计算。
  4. 用强酸强碱滑块(slDelta)在 −0.5~+0.5 mol 范围输入添加的摩尔数,能观察到 pH 在滴定曲线上的变化以及有效缓冲范围(pKa±1)。

具体计算示例

乙酸/乙酸钠缓冲液中,pKa=4.76、总浓度 C=0.1 mol/L、共役碱分率 α=0.5(即 [CH3COO−]=[CH3COOH]=0.05 mol/L),则 pH = 4.76 + log(0.05/0.05) = 4.76。若加入 0.01 mol HCl,则 [CH3COO−]=0.04 mol/L、[CH3COOH]=0.06 mol/L,pH = 4.76 + log(0.04/0.06) = 4.58,缓冲能 β = ΔC/ΔpH ≈ 0.23 mol/(L·pH)。

实际工作中的注意点