マイクロマウスのセンサについて②

佐倉です。マイクロマウスの反射型光センサについての説明を続けて行きます。

前回は主な外乱となる環境光を取り除くために一般的に使われている手段として、発光を変調して受光側でフィルタリングを行うという事と、マイクロマウスでは1k[Hz]付近での変調/フィルタが一般的という話をしました。今回は変調とフィルタリングの予定でしたが、ボリュームが大きくなってしまったため、変調の説明だけにとどめておきます。

まず、マイクロマウスのセンサ向けの変調は一般的な無線での変調とは違います。無線の変調は搬送波にデータを乗せることを言いますが、マイクロマウスのセンサでの変調は、常に同じ波形を出し続けます。目的がデータの送信ではなく、出力した光が反射して帰ってくるまでにどれだけ減衰したかの検出だからです。

具体的な変調の方法ですが、マイコンでベースとなる信号をPWM出力機能またはタイマとGPIOの組み合わせで作り、トランジスタ等で増幅することでLEDから変調された出力を行います。ここも無線の変調とは違う点で、矩形波で変調を行うのが一般的です。

最近のマイコンには優秀なDACが搭載されているので、sin波で搬送波を作るのも簡単だとは思いますが、LEDの電流-電圧特性がダイオード型なのでバイアスを出力するようにするか、電流フィードバック付きのドライブ回路を組まなければならなくなり、少々面倒です。また、次回説明する予定のマイコン上でソフトウェアフィルタリングを行う方法では矩形波で変調した方が楽です。

具体的によく使われている回路を紹介していきます。

  • BasicMouse
    マイクロマウスをやっている人は皆知っている森永さんのBasicMouse式の回路です。少々大きい回路ですが、フィルタ部まで含めてすさまじい動作実績を誇っているので初めて作る方には特にオススメです。
    PiCo:Classicもこの回路を使わせてもらっています。
  • デジタルトランジスタ、FET式
    LEDをスイッチングするための一般的な回路です。電源はレギュレートされた物を使います。かなり大きな電流(100~500[mA]ほど)をスイッチングするため、通常、レギュレータの出力が追従できません。したがって、フィルタ回路を入れる、特別負荷応答の速いレギュレータを使う、LED用のレギュレータを用意する等の対策をしないと、電源が不安定になる可能性があります。
    led-gigitr
  • トランジスタ式
    エミッタ接地型の増幅回路でベース電流を増幅します。ある程度のPSRRが期待できるので、電池から直接電源を取れるのが特徴です。また、LEDを複数直列に接続することで効率を上げる事もできます。(直列にした場合は、VCE-hFE特性に気をつける必要があります。)フィードバックが存在しないため、温度によるトランジスタの特性の変化の影響を受けますが、素子を選べば実績のある回路です。
    led-tr
  • OPAMP+FET式
    私が使っている方式です。OPAMPとFETで電流フィードバックを組んでいます。特徴はトランジスタ式と同じですが、温度による特性の変化を抑制しています。高速なOPAMPと入力容量の少ないFETを選ぶとLEDの電流がそこそこ速く立ち上がります(1[uS]くらい)。
    FET(容量性負荷)をOPAMPで直接駆動しているのでOPAMPによっては出力が不安定になってしまう可能性があり、部品選びに気を使う回路です。
    led-opamp
  • 照明用昇圧IC式
    LED照明向けのLEDドライバICを使った回路です。照明向けなので出力のリップルが大きかったり、出力の立ち上がりが遅かったりして使いづらい物がほとんどです。照明用なので効率は良いです。

私が把握しているだけでも、以上のような変調用の発光回路を確認しています。どれも一長一短なので、作りたいマウスにあわせて選んだり、設計するのが良いと思います。

次回は、フィルタリングのための回路や、ソフトウェアでフィルタリングを行う方法を説明します。


Pi:Co Classic

リポバッテリー(コネクタつき)

C-01 Li-PO / Li-Fe 2-3セル ACチャージャー