EVバッテリー劣化計算ツール:経年後の容量と航続距離
電気自動車のバッテリーは、使用年数とともに利用可能な容量が少しずつ減り、満充電で走行できる距離も短くなる場合があります。この計算ツールは、新車時の利用可能容量と航続距離、年間劣化率、使用年数をもとに、残存容量と航続距離を推定します。保持率、損失率、残っているキロワット時、減少した航続距離を確認できます。比較や長期計画に適した一定条件の試算であり、個別車両の診断や保証判定に代わるものではありません。
無料で実行
同じ基準の初期値をご入力ください
バッテリー容量には、パック全体の総容量ではなく、新車時に実際に利用できた容量をご使用ください。メーカーが保護用の余裕を設けている場合、広告上の総容量と走行に使える容量は異なります。航続距離も同じ条件で比較できる値をご入力ください。公的な試験サイクルの値は同じ認証値の将来推定に適しており、温暖な時期に測った実走行値は普段の運転との比較に向いています。試験値と最近の冬季実測値を混在させないでください。気温、暖房、速度、風、標高差、タイヤ、運転方法は、劣化とは別に航続距離を変化させます。年間劣化率は各年の初めに残っている容量に対する割合で、小数の使用年数も入力できます。容量と航続距離の基準をそろえることで、通常の電費差をバッテリー劣化と誤認しにくくなります。
複利方式の計算をご確認ください
本ツールは等比的な減少として計算します。年間劣化率をr、経過年数をyとすると、保持される割合は(1 - r)のy乗です。残存容量は新車時の利用可能容量にこの割合を掛け、推定航続距離も新車時の航続距離に同じ割合を掛けます。そのため、毎年同じキロワット時を差し引く単純計算ではなく、各年に残っている少し小さな容量へ劣化率を適用します。結果には容量の保持率と損失率、残存量と損失量、推定航続距離と減少距離が表示されます。安定した結果にするため数値は小数点以下6桁に丸めますが、推定の確かさは入力条件に左右されます。実際の劣化は一定とは限らず、年数、走行距離、充電習慣、温度、電池化学、セル状態によって変化します。
診断ではなく比較シナリオとしてご利用ください
中古車が日常の移動距離を満たせるか、保有終了時にどの程度のエネルギーが残るかを検討する比較シナリオとしてご利用ください。初期値を変えずに、慎重な劣化率、標準的な劣化率、楽観的な劣化率をそれぞれ試すと、前提による差を確認できます。算出される航続距離は1キロメートル当たりの消費電力が変わらないことを前提とします。実走行では効率の変化が緩やかな容量劣化を上回ることもあり、航続距離の低下だけで同じ割合の容量損失を証明することはできません。特定車両の評価には、バッテリー管理システムの情報、専門的な診断書、または満充電からの再現可能な容量試験をご確認ください。メーカーの健全度定義や保証基準も異なる場合があります。APIリクエスト1回の料金は$0.002です。
活用例
中古EVをご検討の場合
診断を依頼する前に複数の劣化率を比較し、残る航続距離が日常の移動に適するかをご確認いただけます。
長期保有をご計画の場合
車両の初期条件を統一したまま、将来時点の利用可能容量と航続距離を推定できます。
劣化シナリオを比較する場合
楽観的、標準的、慎重な年間劣化率を試し、容量と航続距離への複利的な影響を比較できます。
よくある質問
計算料金はいくらですか?
APIリクエスト1回の料金は$0.002です。1件の入力を処理し、単位ごとの追加料金はありません。
劣化率は毎年複利で適用されますか?
はい。毎年同じキロワット時を引くのではなく、各年の初めに残っている容量へ劣化率を適用します。
総容量と利用可能容量のどちらを入力しますか?
走行に使えるエネルギーを表すため、確認できる場合は新車時の利用可能容量をご入力ください。
実際の航続距離と異なるのはなぜですか?
天候、速度、標高差、タイヤ、空調、積載量、運転方法が、バッテリー容量とは別に電費を変えるためです。
バッテリー健全度の診断になりますか?
いいえ。一定の劣化率による数学的な試算です。特定のバッテリーには診断または管理された容量試験が必要です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/travel/ev-battery-degradation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"original_battery_kwh":75,"annual_degradation_percent":2.3,"years":8,"original_range_km":480}'const res = await fetch("https://api.kit.forhosting.com/travel/ev-battery-degradation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"original_battery_kwh": 75,
"annual_degradation_percent": 2.3,
"years": 8,
"original_range_km": 480
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/ev-battery-degradation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"original_battery_kwh": 75,
"annual_degradation_percent": 2.3,
"years": 8,
"original_range_km": 480
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/ev-battery-degradation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"original_battery_kwh":75,"annual_degradation_percent":2.3,"years":8,"original_range_km":480}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"original_battery_kwh":75,"annual_degradation_percent":2.3,"years":8,"original_range_km":480}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/ev-battery-degradation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"original_battery_kwh": 75,
"annual_degradation_percent": 2.3,
"years": 8,
"original_range_km": 480
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.ev_battery_degradation",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |