ホーム > 家族のギャラリー > PIC電子工作 > 周波数カウンタ

2010.11記

周波数カウンタ

周波数カウンタ 電子工作の実験室(後閑氏)に掲載されているPICを2個使った20MHz程度までの周波数カウンタです。

PICの内蔵発振周波数の測定・調整他、時々周波数が測定したくなることがあるので作ってみました。オリジナルからPICデバイスの変更、表示方法の変更などを行っています。動作原理などは、後閑氏のページに詳しく解説されています。


回路図

回路図

カウンタ部のPICはPIC16F648A、表示部はPIC16F685に変更。表示部のクロックは内蔵発振。アンプ部のFET,Tr も入手できたものに変更。その他はほぼオリジナルのまま。

回路図拡大

基板

基板

ユニバーサル基板に実装。7セグLEDにはまだマスキングテープが貼ってあります。高さと間隔を揃えるためと、工作中のキズ防止のため。

電源投入時のダイアグとして、カウンタ部から12,345,678を表示部に転送して1秒間表示するようにしてみた。実際の測定は1秒後から始まる。

表示方法変更1

表示方法変更1

カウンタ部のプリスケーラ有無(1/8, 1/1)、ゲート時間(0.1秒, 1秒)の設定を、表示部に転送(2bit)するようにし、それに応じて7セグ表示の1桁目、2桁目を "o" 表示するように変更。

左写真は、プリスケーラ・オン(1/8)でカウント部の京セラ発振モジュールの出力(12.8MHz)を表示している様子。自分のクロックを自分で測定しているので誤差無し。

表示方法変更2

表示方法変更2

左写真は、ゲート時間を0.1秒にしたときの様子。最後の2桁が "o" 表示になる。

このとき、カウンタ部では測定した値を10倍してから表示部に転送するようにオリジナルから変更。

表示部のちらつき防止

当初、カウント部から表示部へのデータ転送はオリジナルのままとしていたが、動かしてみるとデータ転送タイミングでの7セグLEDのちらつきが気になった。とくにゲートタイム0.1秒でひどい。

そこで転送速度を 100us/bit から 20us/bit に変更。データ24ビット+設定2ビット+スタート/ストップ2ビットの計28ビットを0.56ミリ秒で転送する。このために表示部でのスタートビットの検出には、外部割り込みを使うようにした。

また、オリジナルではデータ受信後すぐに表示用のBCD変換を行っていたが、これにも時間がかかるので、受信後の次の(ダイナミック表示の)waitの代わりに行うようにしている。表示部のソースはBCD変換とデータ受信部を流用した程度となった。

アクリルケース

アクリルケース

手元にあった秋月アクリルケースに収めてみた。ノイズ対策としては金属ケースのほうがよいと思うが、手軽に工作できるこれにした。

右側にACアダプタのDCプラグと、電源スイッチの穴を空け、左側にはプローブ用の穴を開けた。基板はスポンジ入りの厚めの両面テープで貼り付けて固定する。

スモークグレーの塩ビ板

スモークグレーの塩ビ板

7セグ表示のコントラストを確保するため、スモークグレーの塩ビ板の効果を確認。

有るのと無いのでは視認性にかなり差が出る。

ケースに収めた

ケースに収めた

ラベルは、カシオネームランドを使って作成。透明テープ白文字で作り、塩ビ板に貼ってある。

塩ビ板はアクリルケースの蓋の内側に収めてあるので、テープが意外と目立たない。

完成

完成

手元にあったシールド線とICクリッププローブを作り、完成。

カウンタ部ソース表示部ソースです。いずれもバグがあるかも知れません。無保証です。後閑氏のソースを流用しておりオリジナルに著作権があります。

ラジオ周波数表示

おまけ(ラジオ周波数表示)

ラジオの受信周波数を直読できるように、ラジオの局部発振周波数を測定した際に中間周波数の455KHzを加算するモードを設けてみた。

しかし、ノイズ発生が大きくラジオが聞こえなくなり使えない。また、アンプ部ももっと感度を高くしないと難しそう。

以上


from Metal Woods(c) 2010