まいど!「ねこまにあ」です。
今日は私の趣味の一つである、バイク関連の内容です。
私のバイクにはスピードメーターしかなく、回転数がよくわからなかったり、今何足に入っているかもたまにわからなくなります。
これを解消するため、バイクの様々な情報を取得できるようにしたい!と考えました。
カワサキのバイクから情報を取得したい!
海外のサイトを参考にしつつ、ArduinoとL9637DというICチップを使ってなんとか基盤を自作してみました!ハンダ付けも必要になりますが、興味のある方は是非チャレンジしてみてください!
完成品はこんな感じです。
できること
車にはOBDという車両の故障診断システムがあり、基本的には各メーカー共通の規格、接続コネクタとなっています。この 故障診断システムを利用して車両の情報を取得する機器や、後付けメーターがAmazon等で販売されています。
対してバイクがOBDに対応するようになったのは2015年7月に施行された「バイクの排気ガス規制」に伴う、2017~2018年以降販売されたものに限られます。それまでカワサキはKDS(
Kawasaki Diagnostic System/カワサキ診断システム)という独自のシステムを用いて故障診断を行っていました。
今回ご紹介するこの基盤は、このカワサキ独自のKDS通信をバイクから取得・解析し、車で一般的に利用されているOBDに変換したうえでBluetoothで飛ばすことができます。
飛ばす情報はOBDに準じたものとなるので、Torque等のスマホアプリでその情報をスマホの画面に表示することができます。
注意事項
本基盤で情報を取得できるのはカワサキのインジェクションバイク(KDSコネクタが搭載されたバイク)のみです。カワサキ以外のバイクやキャブのバイクでは使えません。
また、当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますので、ご了承ください。
必要な材料
- Arduino nano ×1
- L9637D ICチップ ×1
- 8PIN SOIC基盤 ※L9637Dを設置するため
- HC-06 Bluetoothモジュール ×1 ※HC-06は技適を取得していないため、研究目的での使用に留めてください。
- 510Ωの抵抗 ×1
- 10nfのコンデンサ ×1
- 古川電工 4P090WPK-FERFW-BK-M(カプラ) ×1
- ユニバーサル基板
- スイッチ ※基盤を組んでからArduinoに書き込む場合に必要
- 配線等
材料の準備
それでは材料を集めましょう。ArduinoやHC-06、抵抗やコンデンサはAmazon等のオンラインショップや、秋葉原(関東)、日本橋(関西)等で買うことができると思います。一方、問題なのが「L9637D」です。ネットでも店舗でもなかなか見つからないと思います。
L9637Dとは?
そもそも「L9637D」って何?ということですが、これはKDSからの通信をシリアル通信というArduinoで読み取れる通信に変換するICです。ですので、「L9637D」がないとバイクと通信ができないためこの基盤は成り立ちません!何が何でも見つける必要があります。
日本に無いモノは中国にある?
各通販サイトを漁っても見つからない日々が続き、ダメ元で中国の通販サイトであるAliExpressで検索してみたところ「L9637D」がありました!しかも送料込みで数百円という破格の安さ!AliExpressは商品到着まで大体1ヶ月ほどかかりますが、ここは気長に待つか、追加送料を支払って発送方法を変更して貰いましょう。
ちなみに私は気長に1ヶ月待ちました(笑)
ところで、Ali Expressって何?という方はAliExpressでお得に個人輸入!を御覧ください。
L9637DはAliExpressで購入することができます。
よく探したら、普通にAmazonで売ってました。
ただ、多分中国から発送されてくるので、AliExpressで買った方がお得だと思います。安心感はAmazonの方があるんですけどねぇ。
Arduinoの準備
材料の目途がついたらArduino nanoへスケッチを書き込む準備をしましょう。
Arduinoって何?どうやって使うの?という方はArduinoの使い方でググってください。
まずはKDS2Bluetooth/GitHubからinoファイルを4つともダウンロードしてください。
ダウンロードしたら、4つともArduino IDEで開きます。そうすると、各スケッチをタブで切替えて表示できますが、この状態でArduino nanoへ書き込みます。
こうすることで、4つのスケッチ全てがArduino nanoへ書き込まれます。
配線しよう!
書き込みが終われば次は配線です。
早速配線図です。ズブの素人が落書き程度に書いた配線図で申し訳ございませんが、どこにどう接続するかはおわかり頂けると思います。
また、参考に(ならないと思いますが)作成後の基盤の写真を添付します。
基盤ができたらバイクと接続するコネクタを作成します。コネクタは以下のように配線してください。
バイクと接続するコネクタのケーブルと基盤は取り外しできるようにしておくのがオススメです。コネクタは少しサイズが大きいため、バイクに接続するときに狭い隙間を取り回すことができません。
バイクに取り付けよう!
基盤が完成したら、実際にバイクに取り付けてみましょう。まずはバイクからKDSコネクタを探します。
KDSコネクタはこれです。ダミープラグが付いているので、取外しましょう。
※写真はダミープラグを取り外したものです。
作成した基盤のプラグを差込み、基盤をうまくバイク内に収めれば完成です。
勿論、基盤は水に濡れないところに収めましょう。
Bluetoothでスマホと接続しよう!
まずはバイクのイグニッションをONにします。すると基盤に電気が供給されるはずです。
次に、スマホと作成した基盤をBluetoothでペアリングします。ペアリングは1度すれば2度目からは不要です。
続いてTorqueというアプリをスマホからダウンロードします。無料と有料の二種類ありますが動作確認であれば無料のアプリで問題ありません。
無事、携帯画面上に表示されれば完成です!あまり画面を見すぎて事故を起こさないように気をつけてください。
それでは良いバイクライフを!!
あわせて読みたい
初めまして、Concourse14(1400GTR)の2011年モデルに乗っています。
この年式ですと まだ OBD2に対応しておらず、ECUのデータはKDSの通信で取得するしかありません。
何かいい方法は無いかとネットを検索していたところ、貴殿のブログを見て興味を持ち、実際に作成してみました。
作る前の調査が甘かったのですが、私のモデルのダイアグコネクタは6pinで、2番ピンが K-lineというネット情報があったのですが、実際の車両では 2番ピンは空きピンで CAN通信のみの対応のようです。
K-Lineでなく、CAN通信で KDSの情報を取得する方法を ご存じだったら 是非ご教示いただければ幸いです。
はじめまして。 ちょうど同じものを作るつもりだったので非常に参考になりました。 そこで質問なんですが、例えばエンジン回転数を取得するにはどのようなコマンドをL9637Dに送信すればよいのでしょうか? OBD2のコマンドのようにサービス番号+PIDを送信すれば良いのでしょうか?(010C)
コメントありがとうございます!
仰る通り、サービス番号+PIDで動作します。
これはTorque等のスマホアプリでも同じです。
尚、良く使う情報は以下ですかね。
エンジン回転数:010c
車速 :010d
ギアポジション:011e
スロットル :0111
吸気温 :010f
冷却水温度 :0105
栗原です。 その後、部品を集め基盤を作成し、バイクに繋いでテストした所、
やってしまいました、Arduinoから火が出て燃えてしまいました。配線は何度も確かめてみましたが、原因がわかりません。色々調べているうちに疑問点が出てきました。できれば、ご教授頂ければ幸いです。
1・12VのラインがArduinoの5Vにつながっていますが電圧過多にならないのでしょうか?
2・HV-06の電圧は3.6V~6Vになっていますが、Arduinoからの出力は3.3VとなっていますがそれでもHC-06は動くのでしょうか?
申し訳ありませんが宜しくお願い致します。
火が出たんですか!?
もしかすると記載の配線図が間違っているかもしれないので、再度確認させていただきます。
また、別の配線図を下記の記事に書いていますので、こちらも参考にしてみてください。
https://neko-mania.com/arduino-smart/
また、ご質問の2つ目のHC-06の電圧ですが、私の環境では3.3Vでも動いたのですが、確かに5Vに接続する方が良いかもしれません。
すいません。。。
配線図を確認したところ、間違っておりました。
修正したものに差し替えを行いましたので、ご確認ください。
また、HC-06への電源供給を5Vから行うように変更しました。
迅速な対応有り難うございます。
電子回路等何も理解してない(できない)状態で作成していますので今後も質問するかもですが、宜しくお願い致します。
コメントありがとうございます。
ELEGOO Arduino用 Nanoボードを確認させて頂いたところ、arduinoと互換性があるとのことなので、多分動くと思います。
実際に試したことがないので確約できないですが…
頑張って下さい!!
ありがとうございました。 なにせど素人ですのでできますかどうか 材料集めから少しずつ始めてチャレンジします。完成しましたと言えればよいのですが( ^ω^)・・・
では、失礼します。
初めまして バルカン900クラシックを乗っている者ですが、ネットで貴方のブログを見て大変興味を持ちました。その中で「ARDUINOを使ってバイクから各種情報を取得する・・・・」を作成したいと部品を集めようとアマゾンでArduino Nano を探しましたら、Elegooさんから出している(ELEGOO Arduino用 Nanoボード V3.0 CH340/ATmega328P、Nano V3.0互換 (3))の方がが安い価格ですので使用できないかと思い質問した次第です。電子工作は全くの素人ですが宜しくご教授頂ければ幸いです。