はじめに
チルト・リモコン・カーは、コントローラを傾けた方向に走行する赤外線リモコン・カーです。傾きは、3軸加速度センサーで検出します。
概要
コントローラーのPICマイコンは、3軸加速度センサーの出力からコントローラーの傾斜方向を判断し、方向毎の赤外信号を発信します。リモコン・カーのPICマイコンは、受信した赤外信号からモータドライバを制御し、ギアボックス左右のモータ(車輪)を駆動します。
3軸加速度センサーモジュールについて
MMA8452Q(NXPセミコンダクター)は、I2Cインターフェースで、測定レンジは±2g,±4g,±8gから選択可能です。本作品の測定レンジは±2gです。
下のグラフは、センサーの傾斜方向・角度に対するX軸,Y軸出力の関係です。X軸,Y軸の傾斜方向から、リモコン・カーの動作方向を制御します。±30deg.以上の傾きで動作ONします。
赤外線信号について
赤外線リモコンの送信には、ピーク波長(λp)約940nmの赤外LEDが使われます。また、自然界の赤外線と区別するため、赤外LEDを特定の周波数(約38kHz)に変調・発光させます。一方、受信側の赤外線リモコン受光モジュールは、λp:約940nm,周波数:約38kHzの赤外線に反応する光センサーです。
1) 送信フォーマット
コントローラは、スタートビット(1ビット), データビット(4ビット:D1~D4), ストップビット(1ビット)の順でシリアル送信します。(図1)
スタートビットとストップビットは、受信側に送信開始と終了を認識させるための信号です。600usec/ビットです。データビットに5種類の信号パターンを設定し、リモコン・カーの停止/前進/後退/右折/左折をコントロールします。信号パターンは、コントローラの傾斜方向から選択されます。
2) 受信仕様
赤外線リモコン受信モジュールOSRB38C9AA(OptoSupply)の出力はアクティブLowです。下は、信号パターン5種類の送受信信号波形です。
3) 受信シーケンス
受信側は赤外信号を検出した後、一定間隔で信号をチェックし(図1参照)、ストップビットまで検出できた場合に信号を復調します。(繰り返し送受信チェックはしていません)
① 赤外信号検出
② 再チェック:検出ありでスタートビットと認識し、以降の信号をチェック。検出無しはノイズとみなし受信待ち
③ データビット(D1)チェック
④ データビット(D2)チェック
⑤ データビット(D3)チェック
⑥ データビット(D4)チェック
⑦ ストップビットチェック:検出ありでストップビットと認識し信号を復調。検出無しはノイズとみなし受信信号破棄
モータドライバについて
モータドライバIC DRV8835(TI社)モジュールを使って、ツインモータギヤボックス(TAMIYA)左右のモータ(車輪)を駆動します。このデバイスは、Hブリッジ回路を2組内蔵しており、IN/INモード設定で2つのDCモータを駆動できます。Hブリッジ1回路当たり1.5Aのドライブ能力があり、モータ電源とロジック電源は分離しています。
結果
下写真は、ギヤボックス単体の動作デモの様子です。(動画はこちら)
コントローラーを傾けると、傾斜方向によってギヤボックス左右の車軸の回転が変わります。
下は、ユニバーサルプレートで組み立てたリモコン・カーです。前輪は自在キャスターです。前方の障害物検出プレートは、障害物と接触するとプレート裏側のマイクロスイッチがONし後退します。実際に走らせてみたところ、8畳(筆者の部屋)の範囲は問題なくコントロールできました。
感想
本作品は、停止/前進/後退/右折/左折の5動作コントロールですが、加速度センサーのX軸とY軸を組み合わせたり、Z軸も活用すればより多様な動作も可能です。また、傾斜角度からPWMでモータドライバを制御すれば、速度コントロールもできるでしょう。ただし、操縦は難しくなります。
– 以上 –