• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

satto.v11の"TT" [アウディ TT クーペ]

整備手帳

作業日:2016年5月5日

自作・iPhone表示のOBD2メーターを作る【実験編】

他の整備手帳を見る 他の整備手帳を見る

目的 チューニング・カスタム
作業 DIY
難易度

中級

作業時間 30分以内
1
この車にもここ(http://minkara.carview.co.jp/userid/1540421/car/1141151/3524867/note.aspx)で作ったような「アクセル開度」「ブースト計」を表示する車両の情報モニターが欲しい…。

スクラム用のモノはまともに動いてて気に入ってるけど、ECUからデータを取ってて配線が乱雑気味になっている。

TTを所有して7年になるが純正で乗るのがポリシーとなっている(ただいじって壊すとリスクが大きい…だけ?)。

車体の配線などを汚さず(?)簡単に車体のデータを取る方法はないかと考えてみた。

すると、最近の車には「OBD2」って規格の「自己診断機能」が付いているみたい。
巷では、ここからデータを取ってブースト計などの計器類を表示させるものがたくさん出回っている。

これが使いえないか?
ってことでOBD2で使われている「CAN通信」ってプロトコルをハッキングしてみる。

まずは、車体に取り付けるコネクタを用意した。OBD2のコネクタは16ピン仕様。ここで使う配線は6ピンの「CAN High」と14ピンの「CAN Low」の2本だけ…のはず。
2
回路を考える前に電源を用意してみる。

OBD2のコネクタには「12V」と「GND」が存在している。

当初、ここから電源を取ろうと目論んでいたが、テスターを当ててみたら「常時電源」。
常時電源は電子回路を作るのには何かと面倒なので、普通にACC電源から取ることにする。

この車は電源すら取ったことはないのでどうするか考えてみた。

配線を汚さず(?)に取るにはヒューズボックスから取るのが無難と判断。
適当なシガレットあたりのヒューズを取って電源取りを行った。
ヒューズから電源を取る製品は普通にホームセンターとかでも入手できるけど、わざわざ買うまでもないってことで、付いていたヒューズのかどっこを削ってハンダで配線して「自作」w
3
次に、回路を考えてみた。
今回やってみることとして、ちょっとしたアプリならつくれるのでデータ表示には「iPhone」のアプリを作って表示させてみる。制御のマイコンは「PIC16F1705」。CANコントローラーには「MCP2515」。CANトランシーバーには「MCP2551」を使うことにした。

「iPhone」とマイコンの通信はいつものようにBluetoothのモジュールを使って通信を行う。
今回は、このモジュールに浅草ギ研の「BLESerial2」ってモジュールを使ってみた。

車体に送受信するCANデータはCANトランシーバー「MCP2551」で変換される。この部分の内容はよく分からないがこのトランシーバーは必要みたい。わからないのでただの通り道と考えている。

車体との送受信データは、CANコントローラ「MCP2515」が制御を行ってCANトランシーバーとやり取りしている。

実際の送受信データについてはマイコン「PIC16F1705」が作成・受信をデータの解析を行っている。
この「マイコン」と「CANコントローラー」とのデータのやり取りについてはCANコントローラーが持っているコマンドを使ってマイコンから要求実行している。
このコマンド実行については「SPI」って通信方法で接続しCANコントローラーを制御する。

また、マイコン「PIC16F1705」とBluetoothモジュール「BLESerial2」の通信については「UART」って通信方法でデータのやり取りを行う。Bluetoothモジュールはマイコンから「UART」で送られたデータを即座にBluetooth通信(無線)に乗っけて吐き出す。

その無線データをiPhoneのアプリで受け画面に表示させるようにしている。
4
AUDI TTのOBD2コネクタは運転席側のアクセル上あたりに存在する。

CAN通信のやり取り方法によって、OBD2のもっている「診断機能」を使ってデータを入手する。ちょっと複雑なので詳細は割愛するが、
ざっくり簡単に言うと、欲しいデータ、例えば「エンジン回転数」を入手したい場合、CAN通信で「0x7E0」(16進数)という送信要求コマンドと共に「0x0C」(16進数)というエンジン回転数のパラメーターIDデータをCAN送信し車体にデータの要求を行う。

そうすると「0x7E8」(16進数)というコマンドと共に先ほど送った「パラメータID」と「エンジン回転数データ」が返信されてくるので、それをCANコントローラーが受けてマイコンで割り込みをかけてiPhoneに送るって流れ。

例えば「エンジン回転数データ」は2バイトで受信されて、AとBの2バイトで受信されたとすると(256*A+B)/4って式でrpmへ換算ができる。

って簡単に書いてたが、実際にはCANコントローラ上のレジスタをマイコンのプログラム(C言語)でひたすらいじって設定する必要があるので結構理解が大変。
5
今回は、「実験」なので…。

ブレッドボードに回路を組んで車に設置してみた。
今回の回路電源は、「BLESerial2」が3V。その他のDIPが5Vだったので2種類の電源が介在している。12V電源から3Vと5Vの三端子レギュレーターを使って電源を作った。

左の緑の基盤が「BLESerial2」。
(前のバージョンに比べかなり小さくなってコネクティングも早い。でも3V電源…)
真ん中のDIPがマイコン「PIC16F1705」。
右中央のDIPがCANコントローラー「MCP2515」。
右上のDIPがCANトランシーバー「MCP2551」。

結局、車体からは「ACC電源」「GND」「CAN High」「CAN Low」の4本だけ。

なので、シンプルで配線は汚れていません…w
6
今回はとりあえず、「エンジン回転数」(0x0C)と「車体速度」(0x0D)のデータをCAN通信して取得してみる。

実験なのでアプリも簡単に「回転数」と「車体速度」のみが数字で表示するいたってシンプルなものを即興で作ってみた。

Bluetooth関係のライブラリはここ(http://minkara.carview.co.jp/userid/1540421/car/1141151/3524867/note.aspx)のプログラムの使い回しです。

ホント、アップルの新言語Swiftは最初は戸惑ったが、使ってみて慣れれば使いやすいかも…。

この程度のアプリなら、1時間もあれば…。
7
実際に走らせてメーターと比較してみた。
今回の取得のタイミングは1秒毎とちょっと大きめに間隔を取ったので多少時間差があるが、車体のメーターに追従しているので取得できてるみたい。
iPhoneへの表示はBluetoothなので当然配線レス。

実験としては成功です♪

ふ〜〜っ。
こうしてサラッと書くと簡単そうだが、CAN通信に関する文献やネット情報が少なすぎる。理解するのに相当苦労してしまった。

肝は、CANコントローラー「MCP2515」が使いこなせるかどうかにかかっていると思う。
幸いにもこのデータシートが日本語でネットに転がっており、このデータシートを3日間かけて熟読しやっと理解ができた。ようやく安定したマイコンのプログラムが出来上がる頃には、私のゴールデンウィークは終了…。

でも、CAN通信のライブラリもしっかりプログラミングしたのでこれからはこの応用で行けるはず。

実験も成功して、もうちょっとiPhoneの表示もカッコよくしたし、取れるデータも何があるか調べなければなんない。

本当の完成はいつ…?

イイね!0件




関連コンテンツ

関連整備ピックアップ

リアフォグランプのバルブ交換

難易度:

ルームランプの修理に着手

難易度:

ウィンカーリレー

難易度:

リヤスピードセンサー交換

難易度:

オーバーヒート気味

難易度:

追突防止リレー( F 1 ふぅ)

難易度:

関連リンク

この記事へのコメント

コメントはありません。

プロフィール

「[整備] #N-ONE メッシュグリルにしてみる https://minkara.carview.co.jp/userid/1540421/car/3584390/8101874/note.aspx
何シテル?   02/01 13:30
satto.v11です。 機械を弄るのが大好きですw クルマ・バイク・パソコン多趣味な人間です。
みんカラ新規会員登録

ユーザー内検索

リンク・クリップ

バンパー、グリル、ネット取り付け 
カテゴリ:その他(カテゴリ未設定)
2025/02/06 06:05:02

愛車一覧

ホンダ N-ONE ホンダ N-ONE
N-ONE RSに乗り換えました。 通勤用として久しぶりの新車購入。 "通勤中も楽しく" ...
アウディ TT クーペ TT (アウディ TT クーペ)
メイン車です。 これは自分では弄りません。 全てディーラーにお任せw
ホンダ ゴールドウイング (GL1800) GL1800 (ホンダ ゴールドウイング (GL1800))
ホンダGold Wind Tour DCTに乗っています。 水平対向6気筒1800ccを ...
ホンダ モンキー ホンダ モンキー
モンキーを作りました。 10年前に所有していたモンキーフレームの残骸からナンバーを取得 ...
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation