燃料コスト(Fuel Metrics)
燃料の消費量・コスト・燃費をリアルタイムで計算・表示するウィジェットです。車両の OBD2 対応状況に応じて、PID 0x5E → MAF → Speed-Density 推定の 3 段階で自動的に最適なソースを選択します。本ページでは各計算方式の違い、Speed-Density モードのチューニング方法、設定項目の意味までまとめます。
1.概要
燃料コストウィジェットは「瞬間燃費・累積消費量・累積コスト・平均燃費」をひとつのスロットに集約して表示します。コア計算は燃料流量(L/h)の取得で、これが正確であれば他の値もすべて正確になります。
車両側で利用できるデータが車種・年式によって異なるため、3 段階のフォールバックを用意しています。新しい車両ほど精度の高いソースが使え、古い車両でも Speed-Density 法で近似値を得られる設計です。
2.表示内容
スロットに表示される項目は以下のとおりです。スロットサイズによって表示される項目数が変わります。
| 項目 | 単位 | 内容 |
|---|---|---|
| 瞬間燃費 | km/L · MPG · L/100km | 車速 / 燃料流量 |
| 燃料流量 | L/h | リアルタイム消費速度 |
| 累積消費量 | L | セッション中の積算値 |
| 累積コスト | ¥ など | 消費量 × 単価 |
| 平均燃費 | km/L | 走行距離 / 累積燃料 |
| 計算ソース | — | PID 0x5E / MAF / Speed-Density / 未接続 |
3.燃料流量の計算方式(3 段階の自動フォールバック)
車両が対応している OBD2 PID に応じて、以下の優先順位で自動選択されます。
① PID 0x5E — Engine Fuel Rate(最も正確)
ECU が内部で計算済みの燃料流量を直接取得します。燃料噴射量から直接算出されているため最も正確で、ユーザー側でのチューニングは一切不要です。
対応車両:比較的新しい車両(2010 年代以降の一部車種)
② MAF(Mass Air Flow)センサーから推定
PID 0x10 で取得した空気質量流量から、理論空燃比を仮定して燃料質量を逆算します。低負荷域では十分実用的な精度が出ます。
fuelRate (L/h) = MAF (g/s) × 3.6 ÷ AFR (14.7) ÷ 燃料密度 (0.75 kg/L)
| 定数 | 値 | 意味 |
|---|---|---|
| 3.6 | — | g/s → kg/h の単位換算 |
| AFR | 14.7 | 理論空燃比(ストイキ・ガソリン) |
| 燃料密度 | 0.75 kg/L | ガソリン密度 |
対応車両:MAF センサーを持つ車両全般
③ Speed-Density 推定(MAF 非対応車両向け)
MAP センサー、RPM、吸気温、排気量、VE(体積効率)から空気質量流量そのものを推定し、そこから燃料流量を求めます。3 つの計算方式の中ではユーザー側のチューニングが必要になるモードです。
空気密度 ρ = MAP / (287.05 × (IAT + 273.15)) 体積流量 V = 排気量 × RPM / (2 × 60) // 4 ストローク MAF 推定 = ρ × V × VE 燃料流量 = MAF / AFR ÷ 密度 × 3600
VE の動的補正:負荷率(MAP / 大気圧で算出)に応じて、ベース VE × (1 + 0.13 × 負荷率) で補正します。アイドル負圧で負荷 0%、NA WOT で 100%、ブースト時は最大 120% でクランプ。
ブースト時の AFR 濃縮:AFR = 14.7 / (1 + 濃縮率 × min(boost/40, 1))。ブースト量に応じてリッチ側に補正し、ターボ車の高負荷時の燃料増量を近似します。
4.減速時燃料カット判定
Speed-Density モードでは、エンジンブレーキ時の燃料カットを近似します。以下のすべての条件を満たすと、燃料流量がアイドル比率(デフォルト 0.5)倍に抑制されます。
- 燃料カット機能が有効(fuelCutEnabled = true)
- 車速 > 5 km/h
- MAP < 30 kPa(高真空)
- RPM > 1500(高回転)
5.詳細設定
設定項目は「グローバル設定」(車両に紐付き、全スロットで共有)と「スロット別設定」(表示のカスタマイズ)に分かれています。
グローバル設定(車両パラメータ)
| 項目 | 範囲 | 説明 |
|---|---|---|
| 計算モード | 読み取り専用 | 現在の自動選択ソースを表示(PID 0x5E / MAF / Speed-Density / 未接続) |
| エンジン排気量 | 1000〜20000 cc | Speed-Density 計算用の排気量 |
| 体積効率(VE) | 0.50〜1.50 | Speed-Density 法のベース VE。実給油量と比較して調整 |
| ブースト濃縮 | 0〜30% | ターボ車のブースト時パワー濃縮率。NA は 0%、ターボは 10〜20% が目安 |
| 減速時燃料カット | ON / OFF | エンジンブレーキ中(高真空 + 高回転 + 走行中)の燃料消費をゼロとみなす |
VE / ブースト濃縮 / 燃料カットの 3 項目は、Speed-Density モード時のみ表示されます(PID 0x5E や MAF が使える車両では計算上不要なため)。
スロット別設定(表示カスタマイズ)
| 項目 | 説明 |
|---|---|
| 価格単位 | L / gal(米国ガロン)切替 |
| 燃料単価 | 例:¥ 170.0 /L |
| 燃料コスト表示 | コスト欄の ON/OFF(tall / wide 以外で有効) |
| コストアラート | 指定金額ごとに通知(例:100 円ごと) |
| 表示単位 | km/L / MPG / L/100km |
設計方針:物理的に車両に紐付く値(排気量・VE・濃縮率)はグローバル、ユーザーの好み(価格・通貨・アラート)はスロット別。
6.更新頻度とセッション管理
| 項目 | 値 |
|---|---|
| 計算周期 | 500 ms(毎秒 2 回) |
| 累積ロジック | dt秒 × 流量 (L/h) / 3600 = 増加燃料 L |
| 異常値フィルター | 時間 gap が 5 秒を超えるサンプルは無視 |
| 自動リセットされるタイミング | BLE 接続時 / 録画開始時 / スロット設定をクリアした時 |
7.Tips
精度を上げるには
- 詳細設定の「計算モード」で、現在どのソースが使われているかをまず確認
- PID 0x5E が使えるなら何も触らなくて OK(ECU の値なので調整不要)
- MAF モードも通常は調整不要(理論空燃比で計算しているため、ストイキ域では十分正確)
- Speed-Density モードのみ VE の調整が必須。実給油量と累積消費量を比較し、累積が大きすぎれば VE を下げる、小さすぎれば VE を上げる
ターボ車のセットアップ例
- VE:0.85
- ブースト濃縮:15%
- 燃料カット:ON
NA 車のセットアップ例
- VE:0.80(一般的な値)
- ブースト濃縮:0%
- 燃料カット:ON
価格単位とコストアラート
- gal モードは米国市場向け。表示単位を MPG にするとセットで使いやすい
- アラート間隔で「100 円 / 500 円 / 1000 円ごとに通知」といった設定が可能
8.よくある質問
どのモードで動いているか確認したい
詳細設定の「計算モード」欄に現在のソースが表示されます(PID 0x5E / MAF / Speed-Density / 未接続)。
累積消費量が実際の給油量と合わない
Speed-Density モードの場合は VE を調整してください。累積値が多すぎれば VE を下げ、少なすぎれば VE を上げます。MAF モードでもズレる場合は、センサー自体の劣化やエアフィルターの詰まりが原因のこともあります。
信号待ちで消費量が増え続けるのは正常?
正常です。アイドリング中も燃料は消費されています。減速時燃料カットはエンジンブレーキ時のみ働き、アイドリング時の消費には適用されません。
ディーゼル車でも使える?
現状はガソリン想定(AFR 14.7、密度 0.75 kg/L)です。ディーゼルは AFR と密度が異なるため、現時点では計算が合いません。
累積値をクリアしたい
現状、手動でクリアする専用ボタンはありません。累積消費量・コスト・平均燃費は、以下のタイミングで自動的に初期化されます:(1) OBD アダプターと BLE 接続したとき、(2) 録画を開始したとき、(3) スロット設定をクリアしたとき。
再生時に平均燃費が表示されない
再生用のスナップショットには「その瞬間の流量」のみ保存されており、累積値(トリップ燃料・平均燃費)は含まれていません。走行中のライブ表示でのみ確認できます。
OBD NINJA をダウンロード
iOS / Android で無料でお試しいただけます。