以前の調査で、トヨタ ヴィッツ(KSP130、R.1年式)からOBD-II(OBD2)アダプターを使うと40種類のデータが取得できますが、ガソリン消費量の計算に必要なエンジン吸入空気量(MAF)が含まれていないことが分かりました。一方、エンジン吸入空気量が取得できるトヨタ ヴォクシーで、代わりにパラメータID(PID) 43(Hex) の「Absolute load value(負荷絶対値?)」から計算すると推定できそうということが分かったので、トヨタ ヴィッツでも試してみました。「Absolute load value(負荷絶対値?)」から計算したガソリン消費量(スマホ計測値)を前回のガソリン給油からの合計したものと、ガソリンスタンドでの給油量を19回の給油で比較すると、スマホ計測値×約81%でガソリン給油量が予測できそうな結果でした。相関係数はR2=0.88でしたので、「Absolute load value(負荷絶対値?)」で燃費を計算してもガソリン消費量の予想としては充分使えると思いました。以下、詳細です。

ガソリン給油量とスマホ計測値の比較


車両情報

    スマホアプリの対応

     「Mass air flow sensor (MAF) air flow rate吸入空気量(質量流量)」が取得可能なトヨタ ヴォクシー(ZRR70W)からは

    \[ ガソリン消費量(L/s) = エンジン吸入空気量(g/s) / 14.7(空燃比) / ガソリン密度(g/L) \]

    の計算で一定の誤差はありますが、ガソリン消費量を算出できました[1]。ですが、トヨタ ヴィッツ(KSP130)からは「Mass air flow sensor (MAF) air flow rate吸入空気量(質量流量)」が取得できないようでした。「トヨタ ヴォクシー(ZRR70W)で、ガソリン消費量の計算に必要なエンジン吸入空気量(MAF)が取得できない場合の代替情報を調査」にあるように、代わりにパラメータID(PID) 43(Hex) 「Absolute load value」から計算すると推定できそう、ということでした。計算式は

    \[ エンジン吸入空気量(g/s) = 排気量(L) / 2 × エンジン回転数(rpm) / 60(r/s) × 空気の密度 (1.292 g/L) × 「 \textrm{ Absolute load value }」(\%) \]

    ということですので、スマホアプリに「Absolute load value」に「エンジン回転数(Engine Speed)」、排気量(996cc)を掛け、時々刻々、積算する機能を追加しました。なお、スマホアプリは自作しています。概要はこちら(AndroidスマホとOBD2アダプターを使って車の内部情報を取得するのに「obd2-lib」を活用)

    満タン法でのガソリン給油量との比較

     では、ガソリン給油をするタイミングで、ガソリン給油量と、スマホアプリで計測した値を比較してみます。まず横軸にスマホアプリ計測値を前回給油時から合計した値、縦軸にガソリン給油量、での計算値をグラフにしたものが冒頭のグラフです。再度、出しますが、19回給油して、約3.7%スマホアプリ計測値より多くなる場合から、約22%少なくなる場合もあり、ばらつきは少しありますが、遠目で見ればそこそこの相関があるように見えます。直線近似で係数を求めてみると、約0.808、決定係数は約0.884と出ました。トヨタ ヴォクシーの時は係数約0.993、決定係数1でしたから、ばらつきはヴォクシーより多いようです。計算に使うエンジン吸入空気量を車のセンサーではなく「Absolute load value」から計算している点もばらつきを増やす要因にはなっているんでしょうね...。

    図1.スマホでの計測値と実際のガソリン給油量

    走行距離の状況

     ガソリン給油ごとにオドメーター(正確にはトリップメータ)の値をメモし、スマホ計測値(スピードをスマホで積算しています)と比較しました。走行距離は両者の差も少なく、もっと直線的な関係になっています。
    図2.給油ごとの走行距離スマホ計測値とトリップメーター走行距離

    オドメータ(トリップメータ)との差は1%以下でした。一度だけ差の大きかった時がありましたが、どうもデータの計測がうまくいかなかった走行があったようです。


    まとめ

    トヨタ ヴィッツ(KSP130)で、ガソリン給油量の合計と、「Absolute load value(負荷絶対値?)」から計算したガソリン消費量の合計を比較を19回の給油で計算すると、スマホ計測値×約81%で予測できそうですので、「Absolute load value(負荷絶対値?)」を係数で補正することで燃費を計算する際のエンジン吸入空気量の代用で使えそうです。