マイコンカーラリーのラインセンサ

 

 

反射型光センサについて

マイコンカーラリーではコースの白線検出やスタートバー検出に光センサが使われています。
この光センサは壁や床面に赤外線を照射する赤外LEDと反射した光を検出するフォトダイオードの組み合わせで出来ています。

図は http://www.ftech-net.co.jp/robot/howto/sensor01.html から引用

受光回路

光センサの受光回路は次のようになっています、フォトトランジスタはスタートバーやコースの床面で反射された光だけを受け取らなければならないので赤外LEDの光が直接フォトトランジスタに入らないように取り付け等に工夫する必要があります。

受光回路の特性

フォトトランジスタ特性は下図のように光が強いほど多くの電流が流れるようになっていて、上の回路だと光が強いほどフォトトランジスタ下の抵抗に多くの電流が流れ、センサ出直電圧が高くなります。 (V=R×I) R:抵抗の値、I=トランジスタの光電流(PhotoCurrent)

※このグラフは秋月電子で販売しているNJL7502Lという可視光用フォトトランジスタの特性で、マイコンカーラリーで使っているものとは異なり、以下の数値はラインセンサにはそのままあてはまらないことに注意してください。

例としてこのフォトトランジスタを使った場合標準的な反射光照度が200Luxであった場合光電流は100μA=0.1mA程度になり10Kの抵抗を使えば1Vのセンサ出力が得られることになります。
受光回路が動作するためにはフォトトランジスタの順電圧(1~2V)以上の電圧が必要なので、電源電圧5Vならば0~3Vがセンサ出力の範囲でおよそ1000Luxまでの照度範囲で使えることになります。

デジタルセンサとアナログセンサ

ラインセンサではデジタルセンサとアナログセンサが使われていますがどちらも上の受光回路と同じ原理で動作しています。
デジタルセンサはボリュームでON/OFFを判断する閾値を調整し、その閾電圧とセンサ出力を比較してセンサ出力の方が小さければ0、大きければ1とデジタル値にしてマイコンに入力し、アナログセンサの場合はセンサ出力をそのままマイコンのAD変換器で読み取っているのがデジタルセンサとアナログセンサの違いです。

実際にはデジタルセンサ、アナログセンサのそれぞれに適した特性のセンサ素子を使っていて、デジタルセンサには外乱光による影響を避けるために変調機能のついた受光素子が使われています。

アナログセンサ基板 TypeSが使っているデジタルセンサS7136はセンサ素子にセンサ出力→デジタル化機能が内蔵されているため、ボリュームで赤外LEDの発光強度を調整することで感度の調整をおこなっています。

外乱光の影響

外乱光というのは室内照明や窓から入射する太陽光などの光が反射して受光素子に飛び込んでくる光のことを言い、外乱光があると検出面の色に関係なくセンサ出力が上がってしまい白線がない場所で白線を誤認識したり、スタートバーを誤認識してしまう原因となります。
ラインセンサの場合はセンサ基板と床面の距離が近いため外乱光の影響を受けにくいのですがスタートバーセンサの場合は外乱光の影響が大きくなります。

外乱光の原因となる光の強度例として次のような資料を見つけました。
照度と明るさの目安:こよみハンドブック より

太陽光はとても強く赤外成分も含むため窓から太陽光が直接コースに当たるような環境で
はセンサの誤動作を防ぐことは難しくなりますが室内照明の場合は外乱光対策で影響を防ぐことが出来ます。

物理的な外乱光対策

ラインセンサでは黒い基板を使って基板の反射光を減らしたり基板を貫通している赤外LEDの上面を黒く塗って照明が基板下部に影響を与えないようにするのが物理的な外乱光対策で、センサの誤動作に悩まされた人なら最初に手をつける対策でしょう。
ただ、スタートバー検出センサではこのような対策を取ることは出来ません。

赤外LEDを使うのも物理的な外乱光対策の一種です。
最近は室内照明として主に蛍光灯やLEDが使われていていて赤外光成分が少ないためセンサに赤外光を使うと外乱光の影響を少なくすることが出来ます。
これはスタートバー検出センサでも有効な手段です。

変調光とフィルタによる外乱光対策

数KHzの周期で赤外LEDのON/OFFを繰り返すと受光素子から出力される信号も下図のように交流成分を含んだ信号となります。
周囲の外乱光の影響でOFF時にも電圧はゼロになりません、蛍光灯や白熱灯の光は50/60Hzの周期で明滅していますが数KHzの周期で見ればこの図のように直流的な成分とみなすことが出来ます。

この信号をハイパスフィルタ回路を通すと外乱光の影響を除去することが出来ます。

このままだと読み込むタイミングによって結果が不確定になりますからローパスフィルタを通して平滑した信号を読み取るかセンサ出力のピークを読み取る同期検出という手法が使われています。
マイコンを使ってセンサの読み込みを行う場合、同期検出といっても難しいことではなくマイコンで発光素子をONにしたら受光素子の応答時間分だけ待ってからセンサ出力を読み込めばOKです。

デジタルセンサS7136はセンサ素子の中に同期検出回路を内蔵していて外乱光の影響を除去できるようになっています。

最もシンプルな外乱光対策

発光素子をスイッチングして受光素子はそのままA/Dコンバータで読み込みます
発光素子がONの時のAD値からOFFの時のAD値を差し引いた値をセンサの値とし、これを高速で繰り返すことでS7136センサ素子の内部でおこなっているのと同じ処理がソフトで実現できます。

厳密に言えばフォトダイオードを使っているS7136に較べて外乱光除去範囲は多少劣りますが、10数センチ先の壁との距離を測定しながら走行するマイクロマウスがこの方式のセンサを使って安定して走っているのでセンサの使い方としては条件の緩いマイコンカーラリー用センサとしては十分使える方式だと思います。

チップ型フォトインタラプタ × 7 + LEDとフォトトランジスタ1組だけのセンサ

この方式を使いデジタルセンサもアナログセンサのAD値をソフトで決めた閾値でデジタル化することにすればボード上には下のチップ型フォトインタラプタとスタートバー用のLED+フォトトランジスタだけ実装したセンサボードが作れるので、ローコストで軽量なセンサが実現できます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です