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

佐倉です。マイクロマウスの反射光センサについての解説を進めていきます。

本日は、前回変調して発光できるようになったので、それを元に、余分な光をカットするフィルタリングの部分の解説です。

まず、広く使われている回路の列挙から入ります。

  1. BasicMouse
    1台目はこの回路で作れば間違いないでしょう。Pi:Co Classicもこちらの回路を使わせてもらっています。
  2. ソフトウェアフィルタ用(TPS601Aを使用)ソフトウェアでフィルタを任せ、受光のみに特化した回路です。フォトトランジスタを選ぶ際に、特性をよく見なければなりません。
    BasicMouseでも使われている、TPS601Aというフォトトランジスタが良い特性でしたが、生産終了予定となり、入手が困難になってきています。
    phtr
  3. (提案)ソフトウェアフィルタ用(フォトダイオードを使用)TPS601Aが入手困難になってきている現状で、入手性と特性が良い代替品が見つからないので、代わりに特性が良いフォトダイオードを使うのはどうでしょう?という提案です。回路はごく一般的なトランスインピーダンスアンプです。
    phd

よく使われているのが、上の2つの回路です。最後のはTPS601Aが消えつつある現状での、打開案です。

回路でフィルタリングしているのは、1番のBasicMouse式の回路だけです。BasicMouse式の回路を使っておけば、環境光にやられることはまずないので、安心して使って良いと思います。

これ以降は、削れる所があったら削りたい人向けの部分になります。

2番の回路は元々海外の選手が使っていた方法で、ここ数年国内で普及してきています。

BasicMouse式の回路からフィルタ部分をごっそり抜き取った形をしています。こちらは、ソフトウェアでフィルタをかけることを前提とした回路です。ソフトウェアでのフィルタといっても、本格的なデジタルフィルタをかけるわけではありません。センサや、マイコン内蔵のAD変換機、マイコンの処理能力としてはFIRフィルタなどを使って1k[Hz]以上の成分だけを抜き出す事も可能ですが、もっと単純な計算でうまく行く方法があります。

それは、LEDを発光させている時に取得したセンサの読みを(SON)、LEDを消灯している時に取得したセンサの読みを(SOFF)として、フィルタされた出力(SOUT)を、SOUT=SON-SOFFとして導く方法です。

detail
(この図には外乱が入っていない状態のものです)

これは、ハイパスフィルタに相当する処理になります。SON-SOFF間の時間が十分に短ければ、周波数の低い外乱はSON-SOFF間での光量の変化が少なくなります。それに対し、LEDから発せられた光はONからOFFになっているので、十分に変化しています。納得が行かない方は、SON-SOFF間の時間を周期Tとして、z-1-1の周波数特性を計算してみてください。その処理をまばらに行なっていると考えて問題ないはずです。

T=10u[S]の時のボーデ線図を載せておきます。100[Hz]で-40[dB]以下なので、低周波の方の環境光は問題なさそうですね。

bode

さて、簡単にフィルタできるよ という触れ込みで説明をしてきたのですが、大きな問題が2点あります。

1つ目は、Tを小さくしなければならないということです。上で挙げたボーデ線図はT=10u[S]のもので、100[Hz]の時-40[dB]以下なので、大丈夫であろうという範囲ですが、T=100u[S]にして解析してみると、100[Hz]で-20数[dB]となってしまいます。この程度では照明環境によって、かなりセンサに影響が出てしまいます。

ここで問題になるのが、フォトトランジスタのスイッチングの遅さです。一般的に、フォトトランジスタのベースにはバイアスをかけられないので、動作が非常に遅いです。かなり速い部類のTPS601Aでも、電流-電圧変換抵抗が1k[Ω]の時で、ターンオン/オフにかかる時間は12~15u[S]ほどあります。(T=20u[S]で、100[Hz]のリダクションは-40[dB]ほどなので、TPS601Aではこの方法で使う事ができます。)

2つめの問題は、受光した光のエネルギーとフォトトランジスタの出力電流が比例しない事です。ここが綺麗に比例関係になっていない場合、引き算を行った時に結果が歪んできます。(TPS601Aはこの特性も優れていますが、ある程度歪みがあります。)

ここで、提案して行きたいのが上で列挙した回路の3番目、フォトダイオードを使った回路です。ソフトウェアでフィルタをかけるにあたって問題になる、2点の問題を両方クリアできます。(ちなみに、私が試しに組んで、太陽光の差し込む環境で走行するところまでは確認できている回路です。)

フォトダイオードはスイッチングが非常に速く、入力光-電流特性も綺麗な線形です。では何故使われていないかというと、出力が非常に弱く、増幅しなければならないためです。しかも、負電圧でバイアスをかけて使うものという定石があるため、回路を小さくしたいマイクロマウスでは敬遠されていたのだと思われます。

しかし、実はマイクロマウスくらいの用途では、負のバイアスをかける必要はありません。(かけたほうが応答はより速くなりますが、かけなくてもマイクロマウスには十分です。バイアスをかけるのは、光通信の受光素子として使う場合などです。)上に載せてある(単電源版の)トランスインピーダンスアンプと呼ばれる簡単な回路だけで使用することができます。OPAMP選びの注意点として、Rail-to-Rail入出力であること、入力電流が(特に)小さいものを選ぶ必要があります。この2点を注意して選べば動くはずです。RとCの選び方は調べてみてください。

また2番目の回路の拡張として、ベース端子付のフォトトランジスタを探してきて、動作点をしっかり決めて動かすというのも有効な手段です。ただ、この場合は光エネルギー-電流特性の線形性に気をつける必要があります。

TPS601Aがなくなりつつある今、センサの特性を理解して、自分で素子や回路を選べるようになっておくことが必要になってきています。

今回はこのあたりまで。次回はセンサについてのこまごまとした話を書いて行こうと思います。

【関連商品】


ハーフサイズマイクロマウス 迷路用 柱&壁 25セット

クラシックサイズマイクロマウス迷路用 柱

クラシックサイズマイクロマウス迷路用 壁