アクチュエータコイル用カウンタ

[Previous] [Next] [Index]
PIC16F84A を使ったカウンタを製作
 アクチュエータコイルを巻くのに使えそうなカウンタとしてはメカニカルカウンタ、歩数計、電卓等いろいろなものの利用が考えられる。今回は勉強を兼ねて PIC を使った非接触型のカウンターを作ってみることにした。カウンタは今後回転計を作る場合にも応用ができそうだ。

 手元にはすでに LCD ディスプレイも調達してあるが、今回は 7 セグメント LED を使った 4 桁カウンタを作ってみる。

 7 セグメント LED にはアノードコモンタイプとカソードコモンタイプがあるが、。手持ちに TOSHIBA TLR312 カソードコモン LED があるのでこちらを使うことにした。

 7 セグメント 4 桁をダイナミック点灯するためには 7+4 で 11 の出力ポートと、カウント用とリセット用で 2 ポートの入力が必要になるので、電源等を含めると PIC16F84A の 18 ピンすべてを使うことになる。

 モータのすぐそばにリードスイッチを仮付けし、巻き取りボビン側に小さなマグネットを貼り付けてカウントしている実験中の様子。この表示を見たときに不要なゼロを非表示とするゼロサプレスプログラムを何とか実装したいと考えた。電池駆動時の省電力に貢献できるし、プログラミングにももってこいの課題である。ということで完成時にはゼロサプレス機能の実装を目指す。画像の緑色の小さな基板は今回の実験とは関係ない。


COUNTER ソースファイル counter.asm for PIC16F84A
COUNTER HEX ファイル counter.hex for PIC16F84A

 今回は電源回路を基板上から省略して DC ジャックを設けることにした。 5V 出力の AC アダプターから電源を供給する。

 アノードコモンタイプの 7 セグメント LED を使うときは、トランジスタを 2SA945 などに変更し、プログラムのポート出力を反転する必要がある。  アクチュエータコイルを巻くための特別な仕様はないが、カウント入力に使うスイッチのチャタリングを回避する必要がある。スイッチにはガラス封じのリードスイッチを使い、外部からマグネットにより ON/OFF を行う。このタイプは接点に水銀がコーティングしてあるのでチャタリングがおきにくいことから一昔前の電卓に多用されていた。現在では携帯電話、歩数計、インターホンの一部で使われてはいるものの見かける機会が少なくなってきた。秋葉原ではパーツとして今も販売されている。何よりも手軽に近接スイッチとして使えるのがいい。

 コイルワインダとしては 4 桁あれば十分。インドア F/F のゴムワインダへの応用を考えても 2000 ターンぐらいと思われるので問題ない。ただし後者への応用ではギヤ比が高く、アクチュエータコイルを巻くのとは違って高速なカウントとなる。今回は PIC に使用する 4MHzに合わせてカウントスイッチのチャタリングを除去する十分過ぎるほどの時間を組み込んである。この発振子のセラミックレゾネータを 10MHz あるいは 20MHz のものに交換するだけで高速カウンタに変身する。

 表示用の LED は全桁が同時に点灯しているように見えるが、実際には 1 桁ずつ順次点灯している。常に 1 桁分しか点灯していない。不要なゼロを非表示にするプログラムも苦労して実装することができた。 1 桁目はゼロでも表示する。これで電池駆動の時にも省電力ドライブが可能となる。ゼロサプレス表示は次のページで。


[Previous] [Next] [Index]
2003/08/01