タイムレコーダー本体--タッチアンドゴー計画
2004年8月30日
最初は電位差計で受信する予定でしたが……
タイムレコーダー本体は、赤外線による信号を記録するもので、持ち歩いて使います。
最初は、両手で信号を受けて、左右の腕の電位差を計ることで、信号を感知する予定でした。ところが、実際に作ってみると、両手の間に電圧をかけても、腕ではほとんど全く電位差を読み取れないことが分かりました。なので、やむをえず後からフォトトランジスタを追加して、赤外線通信として使えるようにしたのです。
回路図とハードウエアの仕組み
この装置の回路図は、次のようになっています。
- PICマイコンPIC12F628を使っています。コンパレータを内蔵しているので、電位差を測定できます。回路としても、電位差を測れるように組んであります。しかし、両手に電池を当てて、指から電位差を測ろうとしても、そう簡単には検出できないようです。
- クロック周波数は、32768Hzです。時計用の水晶発振子を使っているので、時間をカウントするのに便利です。これだけ遅いと、マイコンの消費電流は、数十マイクロアンペア程度となります。
- 光センサには、TPS601Aを使っています。レンズが大きく高感度です。赤外線領域で感度が最も高くなりますが、可視光線にも反応します。まっすぐ光を当てたときだけ反応するので、赤外線発信装置にまっすぐ向けてやる必要があります。
- 光センサには、アンプやバンドパスフィルタ、波形整形回路などはつけていません。このため、感度がそれほどよくなかったり、明るすぎる場所では使えなかったりします。至近距離で使うタイムレコーダーでは、とくに問題はないでしょう。
- 外付けメモリとして、24LC256を載せています。少ないピン数でアクセス可能な256kbitsのEEPROMです。タイムレコーダ本体は、毎秒8192回しか命令を実行できないので、とてもゆっくりアクセスします。外付けの伝送装置をつないだ場合は、このメモリはマイコンから切り放されます。
- パソコンにデータを転送するための端子が用意されています。この端子には、EEPROMにつながるピン4本と、伝送装置からのアクセス要求を受けるためのピン、伝送装置にアクセスを許可するためのピン、グラウンドピンなどがあります。
- 電源電圧は、4.5Vです。電子部品は全て3Vあれば動作しますが、電池の電圧低下を考えて、3本を直列にして使っています。2Vで動作する部品が手に入れば、電池は2本でよかったりもします。
伝送装置につなぐコネクタのピンは、詳しはこうなっています。
番号 | 名前 | 説明 |
1 | T- | コンパレータのマイナス側。電位差計の端子ですが、タイムレコーダーのプログラムでは利用していません。 |
2 | GND | グラウンド。伝送装置のグラウンドとそのままつながっています。 |
3 | EOK | 伝送装置がアクセスを要求しているとき、タイムレコーダーが、アクセスを許可する場合に、このピンをGNDにつなぐ。 |
4 | EREQ | 伝送装置がアクセスを要求するとき、このピンをグラウンドにつなぐ。 |
5 | EPWR | EEPROMの電源端子 |
6 | CL | EEPROMのクロック |
7 | WP | EEPROMのライトプロテクト端子 |
8 | SDA | EEPROMのデータピン |
9 | T+ | コンパレータのプラス側。電位差計の端子ですが、マイコンのプログラムでは、使っていません。 |
部品の配置を書いた図は、こちらです。
電池に圧迫されて場所があまりとれないので、かなりぎゅうづめになっています。
ソースコードとソフトウエアの仕組み
マイコンのソースコードは、次のようになっています。
あれこれ、工夫をしているので紹介しましょう。
- 普段は、赤外線の到着を待っています。赤外線の信号は、光っている時間の長さなどから得られます。マイコンの速度が限られているので、ループの回数で長さを測ろうとすると、速度が不足します。そこで、タイミングをはかって光っている長さを調べる部分では、同じような命令をたくさん書き並べるなどの工夫をしています。
- ときどき、伝送装置からのアクセス要求が来ていないかを調べています。アクセス要求は、EREQの端子をGNDに下ろす形でやってきます。要求が来たら、EEPROMをマイコンから切り放した上で、EOKの端子をGNDに下ろして、アクセスを許可します。伝送装置からアクセスされている間は、タイムレコーダー本体のマイコンは、光の信号を受けたり、EEPROMにアクセスしたりはしません。
ちなみに、できあがるまでには、いろいろと失敗があります。光による情報伝達の部分では、最初はもっと複雑な通信フォーマットを予定していました。ところが、マイコンのクロック周波数が遅いので、うまくいきませんでした。電波時計や家電のリモコンを参考に、可能な限り簡単なフォーマットに変えたところ、正しく動くものができあがりました。
やってみましょう
- 赤外線リモコンの仕組みを調べてみましょう。
- リモコンの受信部が、どれくらいの感度をもっているか調べましょう。リモコンを遠ざけていき、どれくらいの距離まで反応するか調べてみましょう。
杉原俊雄のホームページ ->
PICマイコンを楽しむ ->
タイムレコーダー本体--タッチアンドゴー計画
製作・著作:杉原俊雄(すぎはら としお)
(c)2004 Sugihara Toshio. All rights reserved.