自作 ホンダコネクト ステアリングスイッチリモコン作製(オーディオボタン関係)
1
今年の6月から、助手席パワーシートの操作スイッチ作製、AT-Pポジション連動パーキングブレーキユニット、パドルシフト連動スポーツモード切替ユニットを自作してきましたが、とりあえずの締めにステアリング左側のオーディオ関係のステアリングスイッチのリモコン化をしました。
ボリュームアップ/ダウン、早送り/巻戻し(長押しでのアルバム飛ばし)、ロータリースイッチでのオーディオソース切替、トークボタンによる音声認識モード切替 など一通りのリモコン操作ができます。
過去車エスティマでは、子供が小さい時に帰省、旅行など長時間乗車することが多く、子供たちが後席からDVDやHDDオーディオの操作をするために同じようにリモコンを自作していましたが、現在ZR-Vでは基本夫婦でしか乗らない、社会人になった子供がたまに乗るときには携帯電話をBluetoothで繋ぎ好きな曲をかけていることから、正直リモコンは不要です。 でも作りたかったんです。 このステアリングスイッチのオーディオ関係はアナログ信号ではなくシリアル通信の一つであるLIN通信を使っているので難易度が高かったというのもトライした理由です。まあ一言でいえば自己満足の為の作製です。
更新
数ヶ月誤動作など問題ないことを確認できたため余った部材で作った本ユニットをオークションに出品しました。
2
いつものようにPICマイコンを使って作りました。ユニット本体はハンドルコラム下のコネクター部分で接続。
リモコンとリモコン受光部は電子工作をする人にとっての聖地?である秋月電子通商の通販で購入。
リモコン受光部はとりあえずここに設置しています。助手席からでも後席からでも反応するはず。
3
ハンドル左側のオーディオ関係のスイッチ操作すべてをリモコンでも操作できます。
右側のロータリースイッチもコントロールすることは可能ですが、同乗者が操作する必要は無いので今回は対象外としています。
ACC(前車追従クルーズコントロール)/LKASは 別の専用線によるアナログ制御なのでこれらも対象外。
4
これまでのステアリングスイッチはアナログ電圧制御のため3~4操作ボタンで1本の信号線が必要でした。そのため少なくとも2本の信号線がありました。電子化が進む車載装置では信号コード増は重量増/体積増につながるため、また高速処理も必要なため、少し前からCANなどのシリアル通信が使われていますが、オーディオ関係やエアコンなど走行/安全以外の装置では低コスト低通信速度のシリアル通信であるLIN規格が採用され始めています。ホンダのステアリングスイッチにもこのLIN通信が使われています。まずはLIN通信を理解することから始めました。
LIN通信は、親機のマスターノードと複数の子機スレーブノード間で通信します。一つのLINグループにはスレーブが最大16個つなげるそうです。ZR-Vでは信号を調べたところステアリングスイッチを含め3つのスレーブがつながっていました。
通信はマスターから一定間隔で各スレーブに対して呼びかけ(ヘッダー送信)があり、呼びかけられたスレーブはそれに対して即反応(レスポンス)します。「おーいAくん、どうする?→ボリュームアップして!、B君はどう?→今のままでいいよ!、C君は?、、、」というイメージの通信を行っています。今回のZR-Vの場合は、ボーレート(データ転送速度)が19200bpsつまり信号1ビットが52us幅で、マスターからのヘッダーが34ビット程度、それに対するスレーブのレスポンスが50~80ビットでした。つまりヘッダーからレスポンスまで、5ms程度でマスターとスレーブ間で双方向通信しています。
今回はスレーブが3つなので、10msごとに3つのマスターとスレーブ間の通信が行われ、さらにそれが90ms周期でエンジンON直後から、エンジンオフ後90秒くらいまで、連続で行われています。
今回のリモコンユニット作製では、リモコン信号を受信したら、それに対応したステアリングスイッチのレスポンスをマスターに返す必要があります。
リモコン信号の受信プログラムは既に作ってあるので、新たに考えないといけないのは以下でした。
・まずはマスターとスレーブ(ステアリングスイッチ)間での信号やり取りの解析(ボタン操作なしの信号、各ボタンを押した時の信号)
・1ビット52usの信号のLIN送受信(マイコン担当)
・(マスターからの呼びかけに対してスレーブが即反応するので)スレーブからのレスポンスをマスターに行かないよう、かつリモコンに対応したレスポンスをマスターに返す(重ならない)ようにしないといけない
がポイントとなりました。
結局は
・PICマイコンは12F1822というクロック16MHz可能な低消費電力ミッドレンジマイコンを使用して、プログラムを完成させました。
・マスターとスレーブ間のLINバスラインを切断し、ここにLIN信号を双方向転送するマイコンを割り込ませる。
もう一つマイコンを使って、リモコン信号を受信したら双方向転送用のマイコンの転送を止めて、マスターへリモコン信号に対応したレスポンスを送信する。
これで成功しました。
この写真が実物です。左側の小さいの二つがPICマイコン。右側のはロジックIC4049です。LINバスライン電圧はバッテリー12V系、マイコンは5V系ですので、12V→5V入力電圧変換用に使っています。
5
一番重要だったのはLIN信号の解析でした。先ほど書いた52us幅x100ビット程度の信号を解析するには何万円もするロジックアナライザーが必要だと思っていたのですが、2000円程度購入できる中華製ロジアナ(クローン)が使えることがわかり、またオープンソフト(フリー)を使えばLIN通信のデータ解析ができることが分かりました。
これを使ってみようと思ったことがユニットを作った一番の理由かも。
6
これがLINデータの一部です。
中華ロジアナとオープンソフトで見た波形です。
最初の0が13ビット続いているのがBreakといわれるスタート信号で、次のデータh55(1と0が交互に繰り返される)がSyncといわれる部分、次のデータh72がPIDと呼ばれる相手スリーブの指定信号で、ここまでがマスターが発信するヘッダーです。そのあとの、データh02,h80,h00,h08,hDDがスレーブが送信するレスポンスで、4個目までがデータ、最後のhDDはチェックサムです。
このような通信がスレーブ3つ分x90ms周期で出ています。
ステアリングスイッチを押すと このレスポンス信号の1データだけが変わり、それに連動してチェックサムも変わります。
データ解析のためには ボタンを押してデータ変化を見つけないといけないので 5秒くらいロジアナでデータをとらないといけません。5秒間で200個近いこういう波形が連なっているなかでボタンを押して変化する波形は数個です。ボタンが8個あるので、、、 このロジアナとデータ分析ソフトがなかったら無理です。
7
LINバスラインはバッテリー電圧を使っているのでエンジンオフ後も通信をしています。実際エンジンオフ後90秒くらいヘッダーとレスポンスを通信していて、最後にスリープ信号が入って停止します。停止後にはLINバスラインはバッテリー電圧になっています。マスターからのヘッダーに対してレスポンスがないと車両側に「LIN断線エラー」の故障診断が残ってしまうらしいので本ユニットもエンジンオフ時も含めて常時動作する仕様にしています。そのためバッテリー上がりを防止するために省電力施策を入れ込みました。マイコン、3端子レギュレータは
低消費電力製品を使い、リモコンの赤外線信号受光モジュールの電源もマイコンでOFFにできるようにプログラムし、さらにはマイコンプログラムでLIN通信がなくなればマイコンをスリープに入れクロックを停止させる機能を入れています。その結果自作ユニット自体の暗電流は0.9mAとなり、車両全体の暗電流が50mAあたりといわれていることから問題ないでしょう。
これでも車両の故障診断に変なのが残ってないか心配ですが、こればかりは素人にはわかりません。
[PR]Yahoo!ショッピング
関連コンテンツ
関連整備ピックアップ
関連リンク