「OBD-II(OBD2)」でネット検索するとたくさんのページがヒットします。簡単に言うと「OBD-II(OBD2)」は「自動車の自己診断機能」のことで、車に取り付けることでOBD-II規格に従って車のデータを見ることが出来るようになりますが、車種によってみることが出来る情報が違います。今回は、トヨタ MR-S(ZZW30、H.19年製)にOBD-IIアダプターを取り付け、スマホアプリとBluetoothで接続し、どんなデータが取得できるのか調査したところ、17種類のデータが取得できることが分かりました。

車両情報



トヨタ MR-SのOBD-II 通信プロトコルの確認方法

 トヨタ ヴォクシーに(取扱説明書にはやめるように書いてありますが)OBD-IIアダプターを取り付け、まずは通信できるか、プロトコルの指定がいるかどうか調べました。 詳細はELM327DS.pdfAndroidスマホとOBD2アダプターを使って車の内部情報を取得するのに「obd2-lib」を活用」に記載がありますが、通信開始時には初期化コマンドでプロトコルを指定する必要があります。検索すると、「Torque」というアプリで「ATIB 96 \n ATIIA 13 \n ATSH8113F1 \n ATSP A4 \n ATSW00」という設定にすれば通信できそうです。大元の情報は「Custom Init」でしょうか。

ELM327DS.pdfを見つつ、これらの意味を解読すると、

  • AT IB 96:ボーレートを9600に
  • AT IIA 13:アドレスに13をセット
  • AT SH 81 13 F1:ヘッダーに81 13 F1をセット
  • AT SP 4(A4ではなく、4と思われ):プロトコルをISO 14230-4 KWP(5 baud init,10.4kBaud)にセット
  • AT SW 00:スリープまでの時間設定

のようです。まず、初期化コマンドとして、

  • AT Z
  • AT PC
  • AT IB 96
  • AT IIA 13
  • AT SH 81 13 F1
  • AT SP 4
  • AT DP

を試しました。AT Zはオールリセット、 AT PCはプロトコル クローズで今、設定されているプロトコルを終了

トヨタ MR-SのOBD-II サービス01対応状況確認結果

 次に、OBD-IIのサービス01で定義されているPID(パラメータID)のうち、全ての項目に応答があるわけではないようですので、そのうちのどれに反応があるか(サポートされているか)を確かめます。「OBD-II PIDs」に詳細は書かれていますが、コマンド01 00をOBD2アダプターに送信すると、PID 01(16進)から20(16進)までのコードのうち、どれを対応しているのか、ビットごとに対応されてる場合は1が、されていない場合は0でセットされた応答が返ってきます。実際に、トヨタ MR-Sからの応答を確認すると、BF9FB100でした。ビットごとに分解すると

1011 1111 1001 1111 1011 0001 0000 0000

 になります。「OBD-II_PIDs」の「Service_01_-_Show_current_data」に当てはめ、対応していないものをグレーで塗ると、以下のようになりました。

PID
(Hex)
PID
(Dec)
Description説明単位
11Monitor status since DTCs cleared. (Includes malfunction indicator lamp (MIL), status and number of DTCs, components tests, DTC readiness checks)DTCがクリアされてからのステータス
22DTC that caused freeze frame to be stored.フリーズフレームデータが格納された原因となったDTCコード
33Fuel system statusエンジン制御システムの状態
44Calculated engine load計算されたエンジン負荷%
55Engine coolant temperatureエンジン冷却水温度°C
66Short term fuel trim—Bank 1短期燃料補正値(バンク1)%
77Long term fuel trim—Bank 1長期燃料補正値(バンク1)%
88Short term fuel trim—Bank 2短期燃料補正値(バンク1)%
99Long term fuel trim—Bank 2長期燃料補正値(バンク2)%
0A 10 Fuel pressure (gauge pressure) 燃圧 kPa
0B 11 Intake manifold absolute pressure 吸気圧(絶対値) kPa
0C 12 Engine speed エンジン回転数 rpm
0D13Vehicle speed車両速度km/h
0E14Timing advance点火時期° BTDC
0F15Intake air temperature吸気温°C
1016Mass air flow sensor (MAF) air flow rate吸入空気量(質量流量)g/s
1117Throttle positionスロットル開度%
1218Commanded secondary air status2次空気ステータス(指示値)
1319Oxygen sensors present (in 2 banks)O2センサー現在値(2バンク分をまとめて)
1420Oxygen Sensor 1
A: Voltage
B: Short term fuel trim
O2センサー 1
A: 電圧
B: 補正量
V
%
1521Oxygen Sensor 2
A: Voltage
B: Short term fuel trim
O2センサー 2
A: 電圧
B: 補正量
V
%
1622Oxygen Sensor 3
A: Voltage
B: Short term fuel trim
O2センサー 3
A: 電圧
B: 補正量
V
%
1723Oxygen Sensor 4
A: Voltage
B: Short term fuel trim
O2センサー 4
A: 電圧
B: 補正量
V
%
1824Oxygen Sensor 5
A: Voltage
B: Short term fuel trim
O2センサー 5
A: 電圧
B: 補正量
V
%
1925Oxygen Sensor 6
A: Voltage
B: Short term fuel trim
O2センサー 6
A: 電圧
B: 補正量
V
%
1A26Oxygen Sensor 7
A: Voltage
B: Short term fuel trim
O2センサー 7
A: 電圧
B: 補正量
V
%
1B27Oxygen Sensor 8
A: Voltage
B: Short term fuel trim
O2センサー 8
A: 電圧
B: 補正量
V
%
1C28OBD standards this vehicle conforms to対応しているOBDの型
1D29Oxygen sensors present (in 4 banks)O2センサー現在値(4バンク分をまとめて)
1E30Auxiliary input status補助入力の状態
1F 31 Run time since engine start エンジン運転開始からの経過時間 s
20 32 PIDs supported [\$21 - \$40] \$21 から \$40のPIDの対応

最後のPID 20(16進)が0ということで、以降のPIDの対応がないことが分かります。トヨタ MR-Sは17個のPIDに対応していることが分かりました。