ノートPCを繋げて16進数としてのデータをさせるところから始めて、、その後、小型のTFT液晶ディスプレイにデータの意味も含めて表示させるところまで出来ました!
動画でどうぞ。 (字が小さいのである程度大きな画面表示でご覧下さい。十分に高い解像度でアップしてあります。)
以下、上記 動画からの切り出し画像が中心ですが、、、
バイク(BMW R1200GS)の基幹CANバスのコネクタから信号線を引き出します。
コネクタのピン配置はこうなってます。
Arduinoマイコンの自作プログラムで CANのデータをリアルタイムに読み取ります。
表示は 2.2インチの小さなTFT液晶ディスプレイです。
こんな感じで、CANデータを読み取って表示させています。
ハードウェア的なデータ読み取り処理はリアルタイムですが、使っている液晶ディスプレイの描画速度が遅いため、表示のところで小細工しているので、使わずに捨てているデータもあります。(^^;
具体的な表示項目を一覧にするとこんな感じ。
Throttle | スロットル開度 | 0-100% | RPM | エンジン回転数 | rpm | |
Clutch | クラッチ | ON / OFF | Kill SW | キルスイッチ | KILL / RUN | |
Stand | サイドスタンド | UP / DOWN | Brake | ブレーキ | F / R / Non | |
ABS SW | ABSスイッチ | ON / OFF | ABS | ABSモード | ACT / INACT | |
Light | ハイビーム | LOW / HIGH | Turn | ウインカー | L / R / HZRD | |
Front | 前輪速度 | km/h | Trvl | 前輪走行距離 | m | |
Rear | 後輪速度 | km/h | Trvl | 後輪走行距離 | m | |
Gear | ギヤポジション | 1,N,2,3,4,5,6 | ||||
Fuel | 燃料残量 | 0-100% | Info SW | INFOスイッチ | ON / OFF | |
G Heater | グリップヒーター | OFF / L / H | Od | オドメーター | km | |
Clock | システムクロック | sec | Ambient | 周囲明るさ | DARK / LIGHT | |
Air | 吸気温度 | ℃ | Eng. | エンジン温度 | ℃ |
CANデータの解析とプログラムのデバッグ用として、CANバスを流れるデータを16進数で表示させる「ダンプモード」を作り込んであります。
というか、このモードを先に作って、それぞれのデータの意味付けを解析したわけです。
実は、何を表しているか不明なデータもいろいろ見えています。
また、きっと流れているはずなのに、どのデータがそれを示しているか発見できていないものもあります。
ちなみに、このArduinoマイコン側から CANに任意のデータ(コマンド)を流し込むことも簡単にできるのですが、、、どんなコマンドがどのような意味を持つのか、という情報を、今のところ一切持ち合わせていないので、まったく実験していません。
ランダムに試すような実験はとても怖いので。。。
もし、送出コマンドに関する情報が得られれば、試してみたいとは思っていますが。(^^;;;
こんにちは。
返信削除私もDucatiでCANをモニターしようとしているのですが、うまくいきません、、、
車ではモニターできたのですが、バイクで取得できないのはビットレートが違うからでしょうか。
ビットレートはオシロで確認するしかないのでしょうか?
ちなみに私は、ラズパイとmcp2515でやっています。
Saludos desde España, gracias por hacer algo así me ha demostrado que yo también puedo. He seguido su conexión eléctrica y mi modelo 1200 gs 2007, cuenta con la conexión eléctrica gnd 12v invertida. por si a alguien mas le puede valer esta información. Un saludo
返信削除