WRX OBD2で車両情報を取得する その2 ELM327の電源とRS232Cの配線
「セカイモン」でドイツから購入したELM327のスキャンツールですが、車両のOBD2コネクターに接続しないと電源が入りません。ただし先にRS232C側での通信の為の作業を行わなければならないので、車両に接続するのはまだまだ先の事です。実際に接続出来る形になるのかも現時点では分かりませんが、とりあえず別の形でELM327に電源を入れてみます。
用意した物
一般的な乗用車のバッテリー電圧はDC12Vです。車両のOBD2コネクターにも12Vの電源が来ていて、スキャンツールはこの電源で動作します。レーダー探知機のオプションでOBD2コネクターを利用する製品には、この電源を使ってレーダー探知機を駆動している物もあります。ただ探知機側の入力は12Vとは限らず、オプション品のコネクター内部で5Vなどに変換している場合もあります。
まずは今回、ホームセンターで最初の写真にある単3電池8本と、単3電池が4本入る電池ケースを2つ買いました。電池ケースは4本が直列になっていて、1.5V*4本で6Vの電圧となって2本の配線から出力されます。従って電池ケース2つをさらに直列に繋げば、車両と同じ12Vの電圧になります。
実際に繋いで電圧を測ると、13Vくらいになっています。車両でも実際はバッテリーの状態は様々なので11V~13V、エンジンを掛けてオルタネーターで発電すると14V以上になることもあります。さらにバッテリー交換時に使用する「バックアップバッテリー」という製品がありますが、これも中身は乾電池で6本、9Vの電圧になっています。当初はこのバックアップバッテリーを購入して利用しようと思いましたが、念のため正規の12Vになるように電池ケースにしました。電池ケースは安いので合計の価格は同じか、むしろ安いくらいです。
OBD2コネクターの端子配列
Wikiにある「自動車の自己診断機能」のページに、OBD2コネクターの端子配列(ピンアサイン)も記載されていますが、16本のピンの内の16番が12V電源、4番と5番がグランド(アース)になっています。
スキャンツールのOBD2コネクター(オス)の内部を見ると端子番号が見えます。・・・実際には肉眼ではよく見えず、上記写真で確認しました。16番に乾電池のプラス、4番にマイナスを接続してみます。
スキャンツールに電源が入りました。LEDが幾つか点灯していますが意味は分かりません。
OBD2コネクターはELM327と車両が通信を行う側なので、ELM327に電源が入ればその他の端子を弄る必要はありません。次は今回利用する機器とELM327が通信を行う側となる、RS232Cコネクターを見てみます。
RS232C
ELM327のRS232CはD-Sub9ピンのメスコネクターになっています。以前はデスクトップやノートPCにも付いていましたが、現在ではまったく見かけなくなりました。名称としては「シリアル通信ポート(CONポート)」ですが、今回はPCではなく「とある機器」の為にわざわざRS232Cタイプにしました。PCであればUSBタイプもありますが、ドライバーが必要になってしまいます。RS232Cであれば特にドライバーは必要無いのですが、「とある機器」ではシリアル通信ポートはありますがD-Sub9ピンではなく、バラ線で繋ぎます。
ELM327のメスコネクターに何か適当にピンを指しても良いのですが、今回はD-Sub9ピンのオスコネクターも用意しました(手元にありました)。これで通信に必要な線を取り出します。
RS232Cの端子配列
RS232Cも通信規格で仕様が決まっています。ELM327のRS232CはD-Sub9ピンのメスコネクターとなっていますが、端子配列(Wiki)を見ると2番が受信(RxD)、3番が送信(TxD)、5番がグランド(GND)になっています。とりあえず外部機器と通信を行うにはこの3本があれば良いので、用意したD-Sub9ピンのオスコネクターに配線を半田付けします。
ピン根本の白い部分(反対面にも)にピン番号があるのですが・・・。昔は肉眼で見えた気がします。
ピン番号のありそうな部分を黒マジックで塗ると、光の反射がハッキリするので分かりました。フードも手元にあったので、取り付けて完成です。次はバラ線側を「とある機器」に接続しますが、今回はここまでです。
「OBD2」関連記事
以下は「OBD2」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。
- 「セカイモン」でドイツから商品を購入
- WRX OBD2で車両情報を取得する その1 OBD2とは
- WRX OBD2で車両情報を取得する その2 ELM327の電源とRS232Cの配線
- WRX OBD2で車両情報を取得する その3 ELM327と「とある機器」の接続
- WRX OBD2で車両情報を取得する その4 通信テスト用のプログラムと画面
- WRX OBD2で車両情報を取得する その5 ELM327からの応答
- WRX OBD2で車両情報を取得する その6 ELM327との通信テスト完了
- WRX OBD2で車両情報を取得する その7 その他のATコマンドと調査用コマンド
- WRX OBD2で車両情報を取得する その8 ELM327を車両OBD2に接続する
- WRX OBD2で車両情報を取得する その9 OBD2のPIDを調べる
- WRX OBD2で車両情報を取得する その10 その他のPIDとエンジン回転数の取得
- WRX OBD2で車両情報を取得する その11 アスキーコードを数値に変換
- WRX OBD2で車両情報を取得する その12 正しいエンジン回転数取得の様子
- WRX OBD2で車両情報を取得する その13 エンジン回転数以外の項目とメーター表示
- WRX OBD2で車両情報を取得する その14 エンジン回転数以外の項目の返信内容
- WRX OBD2で車両情報を取得する その15 複数PIDの取得テスト
- WRX OBD2のアクセル開度によるSIドライブ自動変更機能の自作
- WRX OBD2で車両情報を取得する その16 複数PIDの取得の様子
- WRX OBD2で車両情報を取得する その17 エンジン回転数と車速からギア位置を判定する
- WRX OBD2ポート(OBD2コネクター)からの電源について
- WRX OBD2で車両情報を取得する その18 OBD2の分岐ケーブルについて
その他
ブロック形式でプログラミングが行える、教育用「micro:bit」も始めてみました。micro:bitでもELM327と接続して車両OBD2ポートからの情報取得を試しています。
- WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
- WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
- WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
- WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
- WRX micro:bitを車両で使う その40 フルカラーLED(WS2812B)でメーターを作る
micro:bit全体の記事は以下から始まります。
注記
- OBD2の仕様は各メーカーや車両で異なる部分があります。メーカーや車両によってはアフターマーケット製品による利用を推奨していない場合や、利用した場合による不具合発生の可能性を示している事があります。
- このブログ内で書いている内容はあくまで私の車両、私の利用する製品や機器での場合です。他メーカーや他の車両をはじめ、同じメーカーの車両または製品、機器であっても記事内容の保証、責任を負う事は出来ません。
- 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で、利用する車両などへの適合を確認し、自己判断と自己責任の下で利用して下さい。
- OBD2やELM327、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
- ELM327はElm Electronics Inc.の登録商標です。その他のブランド名または製品名は各所有者の商標です。