前回は偽装されていましたが、今回のスパイショットは、すっぴんです。
〔関連情報〕
・Spy Shots: 2011 BMW M3 Facelift
(2010年2月4日:MotorAuthority)
![]() | ||
Previous | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | Next 
前回は偽装されていましたが、今回のスパイショットは、すっぴんです。
〔関連情報〕
・Spy Shots: 2011 BMW M3 Facelift
(2010年2月4日:MotorAuthority)
今回使用するコントローラは、USARTインタフェースを2つ持っている必要があります。「ELM327」との通信用と、「µVGA-PICASO-MD1」との通信用です。
PIC18Fファミリの中では、PIC18F6xxxxシリーズか、PIC18F8xxxxシリーズとなります。
PIC18F4xxxxシリーズは、40ピンのPDIPパッケージが中心ですが、PIC18F6xxxxシリーズは64ピン、PIC18F8xxxxシリーズは80ピンのTQFPパッケージが中心となり、手作業でハンダ付けするには、ちと厳しくなります。
PIC18F6xxxxシリーズか、PIC18F8xxxxシリーズのどちらを選ぼうかと、いろいろ考えていたところ、いいモジュールを発見しました。0xF9CF

秋月電子通商さんの「PIC18F8722モジュールキット」(3,200円)です。
「PIC18F8722-I/PT」(プログラムメモリ:128kbyte、データSRAM:3,936byte、データEEPROM:1,024byte)に、20MHzクリスタル、32kHzクリスタル、RS232ドライバIC(ADM232AARN)、3端子レギュレータ(TA48M05F)を実装しています。
このモジュールでは、20MHzのクリスタルを実装しているので、動作周波数は20MHzとなります。一方、PIC18Fファミリは、4逓倍のPLL回路を内蔵しているので、これを使用すれば、外部発信器の4倍の速度で動作させることができます。
今回は、VGAコントローラとの通信タイミングがシビアそうなので、10MHzのクリスタルに付け替えて、PIC18Fファミリの最高動作周波数である「40MHz」で動作させることにします。
画像右端のクリスタルは、表面実装用の10MHzのクリスタル(40円)です。
内部動作周波数を40MHzとすることで、USARTのボーレートは、230,400bpsまで高めることができます。
(受け側の「µVGA-PICASO-MD1」は、最高1Mbpsまで、「ELM327」は、最高38,400bpsまでですが)
秋月さんに行ったついでに、加速度センサも買っておきました。

秋月電子通商さんの3軸加速度センサモジュール、「KXP84-2050」(1,200円)です。
Kionix社の3軸加速度センサ、「KXP84-2050」を実装し、X/Y/Z方向に、最大2Gの加速度を感知することができます。ディジタル出力が可能で、PICとは、SPI(またはI2P)通信で、データを読み出すことができます。
画像では分かりにくいのですが、実物は5mm角程度しかない、非常に小さなチップです。
本来は、ノートPC用の小型ハードディスクに実装し、ノートPCを落としてしまった時など、フリーフォール状態を検出し、ヘッドを瞬時にリトラクトして、ハードディスクを保護するような用途に使われています。
(最近では、ジャイロセンサと組み合わせて、小型ロボットの姿勢制御にも使われているようです)
車両の挙動において、横G/縦Gの大きさが「2G」となることが、どの程度のものを表すことになるのか、まったく分かりませんが、とりあえず実験クンしてみます。
(「6G」まで検出できるモジュールもあるようですが、「6G」って・・・)0xF9FC
前回の実験により、自作のOBD-IIインタフェースを介して、車両側より各種情報を取り出せることが分かりました。
つぎなる課題は、取り出した各種情報を、“どのように表示するか”です。
昨日、Apple社から「iPad」が発表されました。9.7型、1,024×768ドットのIPS液晶を持っています。いずれ、以前にご紹介した、こんなアプリケーションが出てくるとは思いますが、車内に設置するには、明らかにデカ過ぎです、邪魔です。0xF9D1
ここはやはり、“スマート”に、iDriveのセンターディスプレイに映し出すことにします。
(運転中のドライバーの視認性を高めるために、「あの位置」にあるのですから)
PICを始めとするマイクロコンピュータに、「RGB出力機能」を持たせるための、便利なモジュールがあります。オーストラリアの4D Systems社が開発・販売している、「µVGA-PICASO-MD1」というモジュールです。

これが、4D Systems社が開発した「PICASOチップ」を搭載したボードです。
4D Systems社が「世界最小のVGA/SVGAコントローラ」というだけあって、大きさは、わずか24mm×19mm程度しかありません。
本来は、小型液晶モジュールをコントロールするためのものですが、「PICASOチップ」だけを取り出して、RGB出力できるようにしたものが、このモジュールです。
小さいながらも、512kbyteのVRAMを持っており、QVGA(320×240)で8画面、VGA(640×480)で2画面、SVGA(800×600)で1画面の容量があります。
(現在のファームウェアでは、SVGAはサポートさせていません)
ユーザーズマニュアル(英文47ページ)を読んでみると、ふむふむ、なんとか使えそうです。
VGAで2画面分のメモリがあるので、ダブルバッファによるフリッカレス表示ができそうです。
(“VSYNC待ち”もあるのですが、割り込みを使いたいので、信号を外に出して欲しかった・・・)

モジュール単体だと、小さすぎて扱いにくいので、「ベースボード」(µVGA-PICASOMD1-UB)が出ています。
ラダー抵抗によるD/A変換により、256color/pixelのアナログRGB出力ができます。USARTインタフェースを持っており(電圧はTTLレベル)、外部からシリアル接続にてコントロールします。
(MicroSDカードスロットが装着されており、BMPファイルを読み込んで表示できるようになっていますが、現在のファームウェアでは、サポートされていないようです)

「世界最小のUSB/シリアル変換モジュール」(µUSB-MB5)を取り付けることもできます。
とりあえず、USB接続にして、デスクトップPCで開発してみることにします。
4D Systems社のデモです。
〔関連情報〕
・µVGA-PICASO-MD1
・Users Manual
(4D Systems)
前回の続きです。
いよいよ、OBD-IIインタフェースを、M3 Coupeに接続します。

運転席右下(右ハンドル車の場合)のOBD-IIポートに、コネクタを挿入します。

はじめに、「ハイパーターミナル」を使って、車両側と通信できているか確認します。
「AT RV」(RV:Read the Voltage)と投げてみます。
「14.7V」と返ってきました。ELM327が感知しているバッテリー電圧です。

「AT CS」(CS:show the CAN Status counts)と投げてみます。
「T:00 R:00」と返ってきました。CANバスとの通信における送受信エラーの発生回数です。
く~っ、やりました。自作の回路を使って、BMWと会話することができましたっ!!0xF9CF
ふつーのヒトから見れば、大したことないように見えるかも知れませんが、これは大きな前進です。
#この歓びは、イイ年こいて、電車の中でピコピコDSやPSPやってるような連中には、一生味わうことのできない歓びでしょう。0xF9D1

つづいて、ScanTool.net社から無償配布されている「OBD-II Software」を使って、CANバス上に流れているデータを見てみることにします。

左がドイツ語版、右が英語版です。

OBD情報を表示させたところです。CANネットワークとは、500kbpsで通信していることが分かります。

MAF(Mass Air Flow)センサからの情報が読み出せれば、比較的簡単に「瞬間燃費計」が作れるのですが、データを出していないようです。残念。







ということで、自作のOBD-IIインタフェースを介して、各種情報を取り出せることが分かりました。
つぎは、Visual C++を使って、CANバス上に流れているデータを、ロギングするツールを作ることにします。
〔関連情報〕
・OBD-II Software
前回の続きです。

とりあえず、実験用の回路を、サクっと作ってみました。0xF9C6

こんな感じです。

モジュールをPCに接続する前に、AE-UM232Rのセットアップをしておきます。
FTDI Chip社のホームページから、FT232R用のVCPドライバをダウンロードし、インストールしておきます。
VCP(Virtual COM port)の設定が終わったら、いよいよ、モジュールをPCに接続します。
AE-UM232RにUSBケーブルを接続すると、ELM327が正常に動作していれば、ELM327に接続してある4つのLED(送受信インジゲータ)が、順番に点灯します。
(今回の回路では、緑色のLEDが、OBDのTxD/RxD、黄色のLEDが、RS-232CのTxD/RxD)

ELM327は、ATコマンドを使ってコントロールするので、簡易動作チェックとして、「ハイパーターミナル」を使ってELM327に接続します。
試しに、「AT I」(I:Identify yourself)と投げると、「ELM327 v1.3a」と返ってきました。
(これは、ELM327のファームウェアのバージョンが、1.3aであることを示しています)

「AT Z」(Z:reset all)と投げると、初期化シーケンスが走り、4つのLEDが順次点灯して、同じく「ELM327 v1.3a」と返ってきました。
他にもいろいろとコマンドがありますが、とりあえず、USBを経由してELM327と会話ができて、正常に動作して(いそうな)ことが分かりました。0xF9CF
次回は、いよいよ、M3 Coupeに接続してみることにします。
Previous | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | Next 