SOARISTO工房 Logo
Car Archive

 前回の続きです。

 最終的には、CANインタフェースを持っている「PIC18F2480」などを使って、スタンドアロンで動作するモジュールを作ることを目標としていますが、まずは小手調べとして、CANバス上に流れているデータを、ノートPCでロギングするツールを作ることにします。

 なぜにロギング・ツールから先に作るかというと、つぎのような理由に依ります。

 CANプロトコルでは、標準で用意すべきPID(Parameter ID)の他に、メーカーで独自にPIDを割り当てることができるようになっています。BMWでも、車載されている多数のモジュール対して、独自のPIDを割り当てているでしょうから、CANバス上に流れている膨大なデータの中から希望の情報を取り出すためには、どのPIDにどのような情報が割り当てられているのか、一つ一つ対照していく必要があります。

 いつも親切丁寧な「BMWカスタマー・サポート」のお姉さんに聞いても良いのですが、そんなこと教えてくれる筈もなく(当たり前だ)0xF9C7、独自に解析していかなければなりません。ほとんど全検索するぐらいの勢いで。

 初めて作る「PIC18F2480」のCANインタフェースの動作チェックをしながら、CANバス上に流れているデータのチェックをしていたのでは、どちらをデバッグしているのか分からなくなってしまいます。
(「PIC18F2480」の評価用ボードは、ボッタクリだし、DIYの精神に反するので却下)

 そこで、まずはノートPCに接続して、CANネットワークのデータを解析できる環境を作ることにします。

 CANバス上に流れているデータを吸い出すために、便利なチップがあります。カナダのElm Electronics社が開発・販売している、「ELM327」というチップです。

 このELM327を使うことにより、OBD-IIコネクタに出ているCANの信号を、RS-232Cのシリアル信号に変換することができます。

CAN to Serial Interface Circuit

 とりあえず、データシートにある標準回路をベースに、実験用の回路を作ってみました。

 回路を考えていた時に、気付いた点を一つ。

 ELM327のピンアサインを眺めていたところ、「何となく、PIC18Fファミリのピンアサインとよく似ているなぁ」と思っていたのですが、データシートをよくよく読んでみたところ(英文60ページ!!)、脚注に小さく、「ELM327は、PIC18F2x8xファミリのデバイスを用いています」との記述が・・・。
(なんだよ~、早く言ってよ~)0xF9C7

 当初、ELM327をテストベッドとして、(BMWの)CANネットワークの解析をしてから、PIC18F2480のCコンパイラ用のCANライブラリの勉強をしようと思っていたのですが(これがなかなか難儀そう)、ELM327をうまく使えば、後者を省くことができそうです。

 ということで、CANからRS-232CへのインタプリタとしてELM327を用いて、各種数値を視覚化するためのコントローラとして、一般的なPIC(PIC18Fファミリ等)を使うことにします。
(最終的に、モジュールの小型化を図る際には、PIC18F2480を使うかも知れませんが)

〔関連情報〕
   ・ELM327 DataSheet
   ・ELM327 QuickSheet
   ・ELM327 AT Commands

2010/01/11
[ ALPINA, Car ]

 ALPINAのショールームがみなとみらい地区にオープンした、とは聞いていたのですが、まさかこんなに近くにあろうとは、しばらく気付きませんでした。

Nicole Showroom

 灯台もと暗し、うちのオフィスの真下にありました。0xF9C7
(横浜美術館の裏の方だと思っていたのですが)

ALPINA B3 BiTurbo Coupe

 お目当ての、「B3 BiTurbo Coupe」(車両本体価格:10,450,000円+α)。

 M3 Coupeを購入する時にも、かなり迷ったのですが、いきなりALPINAに乗ってしまうと、ALPINAの素晴らしさが分からないように思えたので、まずは"究極のエンジン"に乗ってみることにしました。

ALPINA B3 BiTurbo Coupe

 BMW伝統のストレート6+ツインターボエンジン(N54B30)に、ALPINAのマイスターがさらにファインチューニングを施した、"至高のエンジン"。
("エンジン萌え"には、たまりません)0xF9CB

ALPINA B3 BiTurbo Limousine

 こちらは、「B3 BiTurbo Limousine」(車両本体価格:9,990,000円+α)。

ALPINA B3 BiTurbo Limousine

 「いつかは、ALPINA」。0xF9CF

 これに触発されて、以前から気になっていたCAN(Controller Area Network)の勉強を始めました。

CAN Interface

 市販のツールやソフトを組み合わせて、「表示できた~っ!!」とか喜んでいてもレベルが低いので0xF9D1、以前から構想していた計画を実行に移すことにします。

CAN Interface

 最終的な目標は、NISSAN GT-Rのマルチファンクションメーターのように、各種情報を、M3 Coupeのセンターディスプレイに、ビジュアルに映し出すことです。
(完成は、いつになることやら・・・)0xF9C7

 この本を読んだ時点では、CANインタフェースを内蔵しているMicrochip Technology社の「PIC18F2480」を使おうと思っていたのですが、この本に依ると、Renesas Technology社のM16C/Tinyシリーズ(M16C/29)やSuperHファミリ(SH7147)の方が、評価用ボードがいくつか出ていて、取り組みやすそうです。

 にしても、久しぶりに難解な本を読みました。んがしかし、サンプルソースも公開されていて、CANインタフェースをトライ&エラーでねじ伏せるには、なかなか良さそうです。
(本業とは、ぜんぜん関係ないのですが・・・)0xF9C7

 とりあえず、CANバス上に垂れ流されているデータを、OBD-IIポートから吸い出して、ノートPCでロギングするところまではできそうです。

 縦G/横Gの情報は、iPhone本体の“いい加減な”加速度センサのデータではなく、車両側の「加速度センサモジュール」のデータを抜き出すことができます。
(PIDが分かれば、の話ですが)

 できなければ、新たに「2軸加速度センサ」を取り付けて、縦G/横Gの情報を数値化したいと思います。

 その他、「ヨーレートセンサモジュール」などのデータが抜き出せれば、もっと面白いことができるかも知れません。

 いずれにしても、どうせ苦労して作るなら、市販のツールやソフトには無い機能を実現しようと思います。
(blogに書いちゃったんで、後には引けない・・・)0xF9C7

2010/01/03
[ Car, News ]

 すんごいiPhoneアプリが発表されたようです。

M Power Meter for iPhone

 iPhoneをBMWに接続して、各種データを表示できるソフトです。

M Power Meter for iPhone

 表示できるデータは、

  • 車速
  • 縦G(加減速G)
  • 横G(左右G)
  • トリップラップ(指定距離までのタイム)
  • スピードラップ(指定速度までのタイム)

のようです。

 詳しくは、こちら

〔関連情報〕
   ・BMW M Power Meter iPhone application

2009/12/30
[ Car, Tips ]

Fuse Box Diagram

 アイコンとフューズ番号の対照表。

Fuse Box Diagram

 フューズ番号と挿入位置の対照表。

Fuse Box Diagram

 フューズ番号とアンペア数の対照表。