「OBD-II(OBD2)」でネット検索するとたくさんのページがヒットします。簡単に言うと「OBD-II(OBD2)」は「自動車の自己診断機能」のことで、車に取り付けることでOBD-II規格に従って車のデータを見ることが出来るようになりますが、車種によってみることが出来る情報が違います。今回は、トヨタ MR-S(ZZW30、H.19年製)にOBD-IIアダプターを取り付け、スマホアプリとBluetoothで接続し、どんなデータが取得できるのか調査したところ、17種類のデータが取得できることが分かりました。
車両情報
トヨタ MR-SのOBD-II 通信プロトコルの確認方法
トヨタ ヴォクシーに(取扱説明書にはやめるように書いてありますが)OBD-IIアダプターを取り付け、まずは通信できるか、プロトコルの指定がいるかどうか調べました。 詳細はELM327DS.pdf、「Androidスマホと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 | 説明 | 単位 |
1 | 1 | Monitor status since DTCs cleared. (Includes malfunction indicator lamp (MIL), status and number of DTCs, components tests, DTC readiness checks) | DTCがクリアされてからのステータス | |
2 | 2 | DTC that caused freeze frame to be stored. | フリーズフレームデータが格納された原因となったDTCコード | |
3 | 3 | Fuel system status | エンジン制御システムの状態 | |
4 | 4 | Calculated engine load | 計算されたエンジン負荷 | % |
5 | 5 | Engine coolant temperature | エンジン冷却水温度 | °C |
6 | 6 | Short term fuel trim—Bank 1 | 短期燃料補正値(バンク1) | % |
7 | 7 | Long term fuel trim—Bank 1 | 長期燃料補正値(バンク1) | % |
8 | 8 | Short term fuel trim—Bank 2 | 短期燃料補正値(バンク1) | % |
9 | 9 | Long 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 |
0D | 13 | Vehicle speed | 車両速度 | km/h |
0E | 14 | Timing advance | 点火時期 | ° BTDC |
0F | 15 | Intake air temperature | 吸気温 | °C |
10 | 16 | Mass air flow sensor (MAF) air flow rate | 吸入空気量(質量流量) | g/s |
11 | 17 | Throttle position | スロットル開度 | % |
12 | 18 | Commanded secondary air status | 2次空気ステータス(指示値) | |
13 | 19 | Oxygen sensors present (in 2 banks) | O2センサー現在値(2バンク分をまとめて) | |
14 | 20 | Oxygen Sensor 1 A: Voltage B: Short term fuel trim | O2センサー 1 A: 電圧 B: 補正量 | V % |
15 | 21 | Oxygen Sensor 2 A: Voltage B: Short term fuel trim | O2センサー 2 A: 電圧 B: 補正量 | V % |
16 | 22 | Oxygen Sensor 3 A: Voltage B: Short term fuel trim | O2センサー 3 A: 電圧 B: 補正量 | V % |
17 | 23 | Oxygen Sensor 4 A: Voltage B: Short term fuel trim | O2センサー 4 A: 電圧 B: 補正量 | V % |
18 | 24 | Oxygen Sensor 5 A: Voltage B: Short term fuel trim | O2センサー 5 A: 電圧 B: 補正量 | V % |
19 | 25 | Oxygen Sensor 6 A: Voltage B: Short term fuel trim | O2センサー 6 A: 電圧 B: 補正量 | V % |
1A | 26 | Oxygen Sensor 7 A: Voltage B: Short term fuel trim | O2センサー 7 A: 電圧 B: 補正量 | V % |
1B | 27 | Oxygen Sensor 8 A: Voltage B: Short term fuel trim | O2センサー 8 A: 電圧 B: 補正量 | V % |
1C | 28 | OBD standards this vehicle conforms to | 対応しているOBDの型 | |
1D | 29 | Oxygen sensors present (in 4 banks) | O2センサー現在値(4バンク分をまとめて) | |
1E | 30 | Auxiliary 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に対応していることが分かりました。