緩衝液のpH計算機
pKaと2つの濃度から弱酸の緩衝液のpHを求めます。pKa 4.76で酸と共役塩基がどちらも0.1 mol/Lなら、pHはちょうど4.76です。25 °CでのpOHも表示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Pka
- 4.76
- 共役塩基
- 0.1
- 酸
- 0.1
- 比
- 1
- 対数比
- 0
- Ph
- 4.76
- Poh 25c
- 9.24
弱酸緩衝液は、未解離酸HAとその共役塩基A−が十分な量で共存するため、強酸や強塩基を少量加えてもpHの変化に抵抗します。授業の問題、実験ノート、処方パイプラインでは、pKa・[A−]・[HA]の三つの数値を、毎回対数比を導出せずに緩衝pHへ変換する信頼できる手段が必要です。本機能は酸に対するHenderson–Hasselbalch式を適用し、pHをpKaに共役塩基対酸の濃度比の常用対数を加えた値として、決定論的な浮動小数点演算で計算します。
酸のHenderson–Hasselbalch:入力とpHの式
まず弱酸HAについて、Kaの常用対数の符号を反転したpKaが既知である場合から始めます。共役塩基A−(酢酸に対する酢酸ナトリウムなど、多くの場合は可溶性塩)も含む緩衝液では、簡易平衡関係が整理され、pHはpKaに共役塩基濃度と酸濃度の比のlog10を加えた値になります。両濃度が等しいとき対数項はゼロとなり、pHはpKaと厳密に一致します。
これは半当量点や等モル緩衝点としてよく知られます。[A−]が[HA]より大きいと比は1を超え、対数は正、pHはpKaより上がります。遊離酸が優勢ならpHはpKaより下がります。
エンジンはpH計算の中で活量補正、イオン強度モデル、温度依存のKwを導入せず、教科書どおりの解析結果を返すため、解答キーとCIフィクスチャが安定します。経路は純算術で、ネットワーク・乱数シード・壁時計を使いません。両種に同じ濃度単位を使い、比を無次元で意味あるものにしてください。
応答の読み方:比、pH、25 °CのpOH補助
問題がpOHで書かれているときの表示には使えますが、酸緩衝の本契約はpHとして扱ってください。下流コードは形状を嗅がずに分岐できます。酸濃度をゼロにできないという製品ルールは意図的です。
Kaしか分からないときはpKa-from-Ka変換と組み合わせ、既にpHがあり[H+]やpOHだけが必要なときはpH–pOH変換と組み合わせてください。pKbと[BH+]および[B]を使う弱塩基緩衝には、酸側のラベルを無理に当てるのではなく、姉妹の緩衝pOH計算機を使ってください。
実験や授業での使い方と限界
両濃度はほぼ常にmol/Lです。宿題の確認、講義デモ、実験ノートの素早い検証には、表計算や化学CASを入れずにブラウザ上の無料緩衝pH計算機を呼び出します。エンジンが拒否した検証失敗は残高を消費しません。
濃度は正で実用的な範囲に保ってください。極端に大きい値や小さい値は数学的に有限でも、一般化学で扱う水緩衝ではほとんど意味がありません。入力は他のKIT parse項目と同じ保持規則に従い、アルゴリズムが完全に決定論的なため、結果は継続的インテグレーションのフィクスチャに安全に固定できます。
pKa 4.76付近の等モル酢酸塩–酢酸は定番の健全性確認です。等しい濃度はまずpHがpKaと一致することを確認してから、不均等な比や自動化パイプラインを信頼してください。
活用例
宿題・試験の照合
学習者はpKaと二つの濃度から緩衝pHを計算し、pHがpKaと等しい等モル例を比較し、酸濃度を誤ってゼロで送ったときに明確なエラーを受け取ります。
実験ノートと緩衝調製の確認
技術者は滴定や保管の前に、酢酸塩–酢酸などの弱酸緩衝の期待pHを、授業の解答と同じ決定論的式で確認します。
よくある質問
酸濃度がゼロだとどうなりますか?
HA]がゼロのときHenderson–Hasselbalchの比[A−]/[HA]は未定義なので、エンジンは入力を拒否し課金しません。
pHがpKaと等しくなるのはいつですか?
共役塩基と酸の濃度が等しいとき、比のlog10はゼロになり、pHはpKaと厳密に一致します(等モル緩衝点)。
共役塩基が酸より多いとpHはどうなりますか?
pKaより高くなります。塩基と酸の比が1より大きく、その対数が正になるためです。遊離の酸が多いと対数は負になり、pHはpKaより低くなります。
弱塩基の緩衝液にも使えますか?
弱塩基の緩衝液には、pKbと塩基・共役酸の濃度を使う緩衝液pOH計算ツールを使ってください。こちらは酸側の値で計算するためのものです。
濃度の単位は何を使えばよいですか?
比が単位のない数になるよう、2つの物質に同じ単位を使います。一般化学の問題では、ほとんどの場合どちらもmol/Lです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/buffer-ph \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pka":4.76,"conjugate_base":0.1,"acid":0.1}'const res = await fetch("https://api.kit.forhosting.com/chem/buffer-ph", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pka": 4.76,
"conjugate_base": 0.1,
"acid": 0.1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/buffer-ph",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pka": 4.76,
"conjugate_base": 0.1,
"acid": 0.1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/buffer-ph", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pka":4.76,"conjugate_base":0.1,"acid":0.1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pka":4.76,"conjugate_base":0.1,"acid":0.1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/buffer-ph", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"pka": 4.76,
"conjugate_base": 0.1,
"acid": 0.1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.buffer_ph",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
酸濃度がゼロ、または濃度が正でない場合は明確なinvalid_inputを返します。
酸のHenderson–Hasselbalch:入力とpHの式
必須フィールドは三つで、JSONの数値または数値文字列として送ります。pkaはpKa値(別名pKa、p_ka、acid_pka)、conjugate_baseは[A−]をmol/L(別名base、base_concentration、salt、a_minus、A_minus)、acidは[HA]をmol/L(別名acid_concentration、weak_acid、ha、HA)です。同一入力は常に同一のJSONを生みます。一般化学の問題のほとんどは両フィールドにmol/Lを用います。
応答の読み方:比、pH、25 °CのpOH補助
フィールドpoh_25cは、25 °Cの水のイオン積でpHとpOHの和が14になるという一般的仮定に基づく便利な換算です。formula文字列は常にHenderson–Hasselbalchの酸形で、methodは常にhenderson_hasselbalch_acidです。三つの必須のいずれか欠落、非数値、負の濃度、共役塩基ゼロ、酸ゼロはいずれもinvalid_inputで失敗し、課金されません。ゼロ除算は対数比を未定義にし、APIは誠実なエラーの代わりにInfinityや黙ったNaNを返しません。
API利用、料金、実験ワークフロー、実用上の限界
JSON本体に、問題文の単位で有限なpka、conjugate_base、acidを入れてください。チューター基盤、処方ツール、品質管理スクリプト、カリキュラム生成がKIT残高のもとで安定契約を必要とするときは前払いAPIを使い、成功1件あたり$0.002です。SDKを出荷する作者は、phとpoh_25cをUI表示へ直接写し、ratioとlog_ratioを途中経過パネルに示せば、学習者は手計算のHenderson–Hasselbalchと同じ中間ステップを見られます。
連携の活用例
学習アプリと化学パイプライン
教材ビルダーや自動採点は、言語ごとにlog10比を再実装する代わりに、Henderson–Hasselbalch酸緩衝pH用の安定した前払いエンドポイントを呼び出します。
技術的な質問
このツールで緩衝液のpHはどう計算しますか?
pka、conjugate_base([A−] mol/L)、acid([HA] mol/L)をJSONで送ります。応答には ph = pka + log10([A−]/[HA]) と ratio、log_ratio が含まれます。
緩衝液pH計算機は無料ですか?
ブラウザ版はお使いの端末で無料です。API呼び出しは成功1件あたり$0.002の前払いKIT残高を使い、検証失敗は課金されません。
応答にpOHは含まれますか?
はい。poh_25cは25 °CでKw = 1e−14という一般的仮定のもと、14からpHを引いた値として返ります。主結果は酸緩衝の式によるphです。