パソコンマウスのフォトエンコーダー



●フォト(光学的)エンコーダー

パソコンマウスのなかには、2組(縦移動と横移動量検出用)の光学エンコーダが入っています。

赤外線LED と 2対のフォトトランジスター、周囲に約50個の穴のあいた黒い円盤(φ16mm)、その軸受ハウジングより構成されています。

●フォトエンコーダーを取り外す


パソコンマウス基板は、ベーク板のため必要な部分だけを、はさみで切り出そうとすると割れてしまいます。LEDとフォトTRは、半田の熱で壊さないよう、さっと外してガラスエポ基板(できれば0.8mm位の薄目)に寸法を忠実に再現します。黒い円盤もプラスチックで、熱に弱いので注意します。黒い軸受ハウジングも再使用します。ハウジングの天井部分を切り取ると、円盤が出ますので、指の平で回せる構造になります。

 

●0〜99 LED表示器

・数字 0〜99を表示する装置の回路図を下に示します。PIC16F84 を使い、2桁カソードコモン7セグメントLEDを点灯させます。 これだけでは、単なるお遊びですが、プログラムソースは、エンコーダーを使う回路のサブルーチンとして使えます。サブルーチン"checd" によって、LED表示中も エンコーダの動きを監視して、動きがあれば、すぐに戻るロジックとしています。いわゆるエンコーダの空回りを防ぎます。これは、PLL式トランシーバの制御プログラムソースより、エンコーダ処理部分だけを抜き出してきたものです。動くと思いますが、この単独プログラムの実際の動作確認はしていません。

●プログラムソース

◇ダウンロード Ecd.asm & Ecd.hex 自己解凍.EXE
asmコードのアセンブルには、秋月のAKI-PICプログラマーCDに付属しているPa.exeが必要です。
 

●エンコーダーの増減ロジック

左の波形がエンコーダーの出力です。@の波形は、PIC16F84の RB0ポートへ、Aの波形は、RB1ポートへ接続します。
Aの波形が、H→L となった時に、@の波形がLであれば減算し、@の波形がHであれば加算します。
「黒い円盤が右時計回り(CW)であれば、@の波形はL。。反時計回り(CCW)であれば、@の波形はH。」であることが分かると思います。


●調整

・市販のエンコーダを使うならば、この調整は不要です。パソコンマウスの光学エンコーダを使う場合は、調整が必要です。PIC16F84に直接接続しているので、そのポートの境値の理解が必要です。
・回路図右下に 「Max.VIL=1.0V,,Min.VIH=2.0V」と記入していますが、これが境値でポートの入力電圧が1.0Vよりも低ければ、PICは、Lレベルの信号と判断します。反対に2.0V以上であれば、Hレベルの信号と判断します。1.0V〜2.0Vはあいまいです。
・フォトTRの出力信号をテスターで測り、「VIL=1.0V,VIH=2.0V」をまたいだ振幅となるよう調整します。
・実験では、10kΩで接地した時に0.6V〜2.5Vに変化していました。当然ながら赤外線LEDの点灯電流(IF)も影響します(実験では、500Ωなので6mA)。また卓上のスタンドの光源が直接入光すると、出力信号は「常に4.0V」となります。Hi
・0.6V〜2.5Vの変化で電圧的には、OKだったのですが、減算は正常なのに、加算は不安定でした。もう一つ10kΩをRB1 に接続して、正常になりました。



◇ホームページ インデックスへ戻る