私のアテンザワゴン(GJ)のDOPナビを引っこ抜いて、実家のフィット(GE)に装着しております。
ナビにステアリングリモコン機能があり、車両にもボタンがあるのですが、メーカーが異なるためそのままでは使えません。
最近の市販ナビなら各メーカー向け設定があって切り替えるだけでつなぐことができます。(学習機能付きのもあるらしいです)
しかし、DOPナビはその設定がいじれないようになっていたりします。マツダDOPナビはマツダ車のステアリングリモコンしか受け付けてくれません。
そこで! 変換器を作ってしまおう! と頑張ってみました。
ステアリングリモコンはラダー抵抗回路にスイッチがつながってて、ナビのマイコンがADコンバータで抵抗値を読み取ってどのボタンが押されたか判断しています。
基本的な仕組みは各社同じですが、抵抗値がメーカーにより異なるので互換性がありません。
変換器を作るには、マイコンで抵抗値を読み取り、別メーカー向けの抵抗値をエミュレートする必要があります。
抵抗値をエミュレートするって、どーゆー回路を組めばいいんですかね?
スイッチの代わりにリレーを並べれば実現できそうです。しかし、機械的動作を伴う部品は使いたくあません。
バイポーラトランジスタを使うと多分ダメそうです。
MOSFETならイケるのでは???
で、やってみたらうまく動きました!
スイッチが5個あるので、MOSFETも5個必要です。配線が面倒です。
ここは、トランジスタアレイを使います。秋月で売ってて入手性の良い TBD62003APG(7chシンクタイプDMOSトランジスタアレイ)を採用しました。
ゲート抵抗なども接続済みで便利です。
マイコンは、手持ちの ATMEGA328P-PU を使いました。Arduino Unoで使われているチップですね。機能に対して性能が豪華すぎます。
でもまあ380円なのでここからスペックダウンしたところで節約できる金額はたかが知れています。
消費電力も、ナビに比べたら無視できるレベルでしょう。
内蔵発振器を使えるので外付け部品が少なくて済むのもいいところです。
で、回路図。
ナビ側の STGND が無いですが、まあGNDなので未接続でいいでしょう。ここがGNDじゃないナビの場合はこの回路では動作できません。(MOSFETではないナニカを採用する必要がある)
車両側の STGND は多分浮いているので、ちゃんと接続する必要があります。(車両にもよるけど、普通は浮いていると思う)
TBD62003APG(回路図上ではシンボルの都合でTBD62783A)のCOMMON(回路図上ではシンボルの都合でVCC)は接続不要です。(負荷側が誘導性負荷ではないため)
抵抗値は各自調べましょう。(タイトルの(例としてホンダ車→マツダナビ)がほぼ意味無し)
回路表
回路裏
完成
ソフトウェアはADCを読み取ってGPIOをON/OFFするだけで特に難しいところはないです。Lチカの次にやってみる感じのレベルです。
読み取り間隔は20msecにしてみました。ディスプレイの60Hzを参考に、キリのいい数字というのが根拠です。
まとめ
・ラダー抵抗回路スイッチはMOSFETでエミュレートできる
・TBD62003APG を使うと便利
ブログ一覧 | 日記
Posted at
2023/04/11 02:42:35