周波数カウンターを作ってみよう! (工事中!)
とある事がきっかけで、周波数カウンターを設計し製作することになりました。 入力パルスをカウントし、LCD表示器(液晶パネル)に表示することを目的にしています。 安価で、実用的で、しかも原理も簡単なものを・・・ということを念頭におき設計しています。 単に実験できるものというわけではなく、実用面も考えての製作です。
1.回路の構成
プログラムを簡単にするために、回路の構成は次のように考えました。
@外部からの要求を受けると、1秒間だけ「1」を出力する回路。
A上記@で製作した回路から「1」を受けている間だけ、被測定パルスが通過するゲート回路。
B1秒間だけ通り抜けてきた被測定パルスを数え、LCD表示する回路。以上の3つの回路を寄せ集め、表示するように考えます。
@は8ピンPICを利用し実現します。また、AはTTL−ICを使います。Bは18ピンのPICを利用し実現します。
2.@1秒のワンショット信号発生回路
この回路は、次の機能を有します。
1.発生要求信号を受信します。
2.要求信号を受けると、正確に1秒間だけ出力を 「1」にします。
3.クロックパルスは、正確さを確保するために20MHzのセラロックを使い発生させます。
4.発生したクロックパルスは、もうひとつのPICマイコンのクロックパルスにも流用します。さて、これだけの機能を持った回路を製作するのですが、チップの選択はPIC12F629を使用しました。
入力は1本、出力も1本で、機能としてはシンプルです。
プログラムも、小容量で十分おさまります。内容に関しては、とてもシンプルです。
制御プログラムは、こちらからダウンロードして下さい。
ソースリスト HEXデータ20MHzのセラロックを使用した場合にのみ、1秒のパルスが出力されます。
仮に10MHzのセラロックを使用した場合には、0.5秒のパルスとなります。
プログラムの内容については、ソースリストにコメントを記載してありますので そちらをご覧下さい。
3.ゲート回路
PIC12F629から発生する1秒間のワンショット出力が出ている間、測定したい信号を通過させます。
ICは、TTL−ICの2入力AND素子を利用します。
単純なゲートとして機能を利用しますので、「74LS08」を使用しました。
3.ゲート回路