「OBD-II(OBD2)」でネット検索するとたくさんのページがヒットします。簡単に言うと「OBD-II(OBD2)」は「自動車の自己診断機能」のことで、車に取り付けることでOBD-II規格に従って車のデータを見ることが出来るようになりますが、車種によってみることが出来る情報が違います。今回は、トヨタ ヴォクシー(ZRR70W、H.24年式)にOBD-IIアダプターを取り付け、スマホアプリとBluetoothで接続し、どんなデータが取得できるか調べてみたところ、38種類のデータが取得できることが分かりました。
トヨタ ヴォクシーのOBD-II 通信プロトコルの確認方法
トヨタ ヴォクシーに(取扱説明書にはやめるように書いてありますが)OBD-IIアダプターを取り付け、まずは通信できるか、プロトコルの指定がいるかどうか調べました。 詳細はELM327DS.pdf、「AndroidスマホとOBD2アダプターを使って車の内部情報を取得するのに「obd2-lib」を活用」に記載がありますが、通信開始時には初期化コマンドでプロトコルを指定する必要があります。まず、初期化コマンドとして、
を試しました。AT Z
はオールリセット、 AT PC
はプロトコル クローズで今、設定されているプロトコルを終了、AT SP 0
で プロトコル 0をセット、プロトコル 0は「Automatic」という意味で自動判別になります。 結果、AT SP 0
コマンドに対して、OK
が、設定されたプロトコルを返すコマンドAT DP
に対してAUTO
が返ってきたため、プロトコルは「0 - Automactic」で行けそうです。
トヨタ ヴォクシーのOBD-II サービス01対応状況確認結果
次に、OBD-IIのサービス01で定義されているPID(パラメータID)のうち、全ての項目に応答があるわけではないようですので、そのうちのどれに反応があるか(サポートされているか)を確かめます。「OBD-II PIDs」に詳細は書かれていますが、コマンド01 00
をOBD2アダプターに送信すると、PID 01(16進)から20(16進)までのコードのうち、どれを対応しているのか、ビットごとに対応されてる場合は1が、されていない場合は0でセットされた応答が返ってきます。実際に、トヨタ ヴォクシーからの応答を確認すると、BE3FA813
でした。ビットごとに分解すると
1011 1110 0011 1111 1010 1000 0001 0011
になります。「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進)が1ということで、次の21~40(16進)のPID対応があるということになります。コマンド01 20
をOBD2アダプターに送信すると、PID 21から40(16進)までの項目のうちどれを対応しているのか、が分かります。リクエストしてみると、9005B015
でした。同様に対応いるものを白抜き、していないものをグレーで塗ると
PID (Hex) | PID (Dec) | Description | 説明 | 単位 |
21 |
33 |
Distance traveled with malfunction indicator lamp (MIL) on |
故障ランプがついてからの走行距離 |
km |
22 |
34 | Fuel Rail Pressure (relative to manifold vacuum) |
燃料パイプ圧力(吸気管圧力に対する相対圧) |
kPa |
23 |
35 | Fuel Rail Gauge Pressure (diesel, or gasoline direct injection) |
燃料パイプ圧力(ディーゼルもしくはガソリン直噴) |
kPa |
24 | 36 | Oxygen Sensor 1 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Voltage | O2センサー1 空燃比(ラムダ) 電圧 | ratio V |
25 | 37 | Oxygen Sensor 2 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Voltage | O2センサー2 空燃比(ラムダ) 電圧 | ratio V |
26 | 38 | Oxygen Sensor 3 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Voltage | O2センサー3 空燃比(ラムダ) 電圧 | ratio V |
27 | 39 | Oxygen Sensor 4 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Voltage | O2センサー4 空燃比(ラムダ) 電圧 | ratio V |
28 | 40 | Oxygen Sensor 5 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Voltage | O2センサー5 空燃比(ラムダ) 電圧 | ratio V |
29 | 41 | Oxygen Sensor 6 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Voltage | O2センサー6 空燃比(ラムダ) 電圧 | ratio V |
2A | 42 | Oxygen Sensor 7 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Voltage | O2センサー7 空燃比(ラムダ) 電圧 | ratio V |
2B | 43 | Oxygen Sensor 8 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Voltage | O2センサー8 空燃比(ラムダ) 電圧 | ratio V |
2C | 44 | Commanded EGR | EGR指示値 | % |
2D | 45 | EGR Error | EGR誤差 | % |
2E | 46 | Commanded evaporative purge | エバポ率指示値 | % |
2F | 47 | Fuel Tank Level Input | 燃料タンク内燃料量 | % |
30 | 48 | Warm-ups since codes cleared | コード消去後の暖機 | |
31 | 49 | Distance traveled since codes cleared | コード消去後の走行距離 | km |
32 | 50 | Evap. System Vapor Pressure | エバポシステムのべーパー圧力 | Pa |
33 | 51 | Absolute Barometric Pressure | 気圧(絶対値) | kPa |
34 | 52 | Oxygen Sensor 1 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Current | O2センサー1 空燃比(ラムダ) 電流 | ratio mA |
35 | 53 | Oxygen Sensor 2 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Current | O2センサー2 空燃比(ラムダ) 電流 | ratio mA |
36 | 54 | Oxygen Sensor 3 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Current | O2センサー3 空燃比(ラムダ) 電流 | ratio mA |
37 | 55 | Oxygen Sensor 4 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Current | O2センサー4 空燃比(ラムダ) 電流 | ratio mA |
38 | 56 | Oxygen Sensor 5 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Current | O2センサー5 空燃比(ラムダ) 電流 | ratio mA |
39 | 57 | Oxygen Sensor 6 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Current | O2センサー6 空燃比(ラムダ) 電流 | ratio mA |
3A | 58 | Oxygen Sensor 7 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Current | O2センサー7 空燃比(ラムダ) 電流 | ratio mA |
3B | 59 | Oxygen Sensor 8 AB: Air-Fuel Equivalence Ratio (lambda,λ) CD: Current | O2センサー8 空燃比(ラムダ) 電流 | ratio mA |
3C | 60 | Catalyst Temperature: Bank 1, Sensor 1 | 触媒温度 (バンク1センサー1) | °C |
3D | 61 | Catalyst Temperature: Bank 2, Sensor 1 | 触媒温度 (バンク2センサー1) | °C |
3E | 62 | Catalyst Temperature: Bank 1, Sensor 2 | 触媒温度 (バンク1センサー2) | °C |
3F | 63 | Catalyst Temperature: Bank 2, Sensor 2 | 触媒温度 (バンク1センサー2) | °C |
40 | 64 | PIDs supported [\$41 - \$60] |
PID \$40から\$61のPIDの対応有無 |
|
最後のPID 40(16進)が1ということで、さらに次の41~60(16進)のPID対応があるということになります。コマンド01 40
をOBD2アダプターに送信すると、PID 41から60(16進)までの項目のうちどれを対応しているのか、が分かります。リクエストしてみると、7ADC0000
でした。対応いるものを白抜き、していないものをグレーで塗ると
PID (Hex) | PID (Dec) | Description | 説明 | 単位 |
41 | 65 | Monitor status this drive cycle | 今回の走行でのモニターステータス | |
42 | 66 | Control module voltage | コントロールモジュールの電圧 | V |
43 | 67 | Absolute load value | 負荷(絶対値) | % |
44 | 68 | Commanded Air-Fuel Equivalence Ratio (lambda,λ) | 空燃比指示値(ラムダ) | ratio |
45 | 69 | Relative throttle position | スロットル開度(相対値) | % |
46 | 70 | Ambient air temperature | 気温 | °C |
47 | 71 | Absolute throttle position B | スロットル開度B(絶対値) | % |
48 | 72 | Absolute throttle position C | スロットル開度C(絶対値) | % |
49 | 73 | Accelerator pedal position D | アクセル開度D(絶対値) | % |
4A | 74 | Accelerator pedal position E | アクセル開度E(絶対値) | % |
4B | 75 | Accelerator pedal position F | アクセル開度F(絶対値) | % |
4C | 76 | Commanded throttle actuator | スロットル開度指示値 | % |
4D | 77 | Time run with MIL on | 故障ランプ点灯時間 | min |
4E | 78 | Time since trouble codes cleared | 故障コード消去後経過時間 | min |
4F | 79 | Maximum value for Fuel–Air equivalence ratio, oxygen sensor voltage, oxygen sensor current, and intake manifold absolute pressure | 空燃比、酸素センサー電圧、酸素センサー電流、吸気管圧力絶対値の最大値 | ratio, V, mA, kPa |
50 | 80 | Maximum value for air flow rate from mass air flow sensor | 質量流量センサーの吸入空気量最大値 | g/s |
51 | 81 | Fuel Type | 燃料種類 | |
52 | 82 | Ethanol fuel % | アルコール燃料濃度 | % |
53 | 83 | Absolute Evap system Vapor Pressure | エバポシステムの蒸気圧(絶対値) | kPa |
54 | 84 | Evap system vapor pressure | エバポシステムの蒸気圧 | Pa |
55 | 85 | Short term secondary oxygen sensor trim, A: bank 1, B: bank 3 | 短期第2酸素センサー補正値(A:バンク1,B:バンク3) | % |
56 | 86 | Long term secondary oxygen sensor trim, A: bank 1, B: bank 3 | 長期第2酸素センサー補正値(A:バンク1,B:バンク3) | % |
57 | 87 | Short term secondary oxygen sensor trim, A: bank 2, B: bank 4 | 短期第2酸素センサー補正値(A:バンク2,B:バンク4) | % |
58 | 88 | Long term secondary oxygen sensor trim, A: bank 2, B: bank 4 | 長期第2酸素センサー補正値(A:バンク2,B:バンク4) | % |
59 | 89 | Fuel rail absolute pressure | 燃料レール圧(絶対値) | kPa |
5A | 90 | Relative accelerator pedal position | アクセルペダル開度(相対値) | % |
5B | 91 | Hybrid battery pack remaining life | ハイブリッドバッテリーパック残存量 | % |
5C | 92 | Engine oil temperature | エンジンオイル温 | °C |
5D | 93 | Fuel injection timing | 燃料噴射タイミング | ° |
5E | 94 | Engine fuel rate | 燃料噴射量 | L/h |
5F | 95 | Emission requirements to which vehicle is designed | | |
60 |
96 |
PIDs supported [\$61 - \$80] |
\$61 から \$80のPIDの対応 |
|
最後のPID 60(16進)が0ということで、以降のPIDの対応がないことが分かります。トヨタ ヴォクシーは38個のPIDに対応していることが分かりました。
何が分かるか?