ブレッドボードラジオデジタルICの実験

2進数表示の周波数カウンタ

 12個のLEDで2進数表示する周波数カウンタを作りました。部品点数も少なく回路も簡単なのですぐ作れますが、2進数で表示された周波数を10進数に換算するのがちょっと面倒です。
 ブレッドボード上に試作してみたところ、少し不安定な面はあるものの、一応動作しました。

 本器はJF1OZL氏のサイトに出ていた「128. 簡単な周波数カウンター」の回路をアレンジしたものです。以下、本器の動作についての説明を試みますが、実は私自身よくわかっていないので、結局はJF1OZL氏の請け売りになってしまいそうです。私と同レベルの初心者の方は、下のつたない説明を読むより氏のサイトをご覧になったほうが理解が早いと思います。

1. 回路と部品

第1図

 第1図が本器の回路図です。使っている部品は水晶発振器、IC3個、FET1個、LED12個、抵抗14本のみです。いずれも特殊な部品ではなく、どこでも買えます。全部新品で揃えても1000円程度だと思います。

 水晶発振器EXO-3は分周器を内蔵しています。A, B, C (5〜7番ピン)が分周比プリセット用の端子で、Aをプラス、BとCをマイナスにつなぐと、分周出力D(2番ピン)は原周波数の4分の1になります。本器では、
 16.384MHz÷4=4.096MHz
となり、これがクロック周波数になります。EXO-3の詳細については別項「水晶発振器の実験」を見てください。

 IC1・74HC4020はバイナリ・カウンタと呼ばれるICで、クロック(10番)に信号を入力すると、Q1〜Q14にそれぞれ2の累乗で分周した信号が出力されます。本器の場合、
 Q13(2番)の出力は 4.096MHz÷8192(2の13乗)=500Hz、
 Q14(3番)の出力は 4.096MHz÷16384(2の14乗)=250Hz、
です。

 IC2・74HC00はNANDゲートが4つ入ったICで、周波数カウンタの動作に必要な各種の信号を作ります。NANDゲートの入力と出力の関係は回路図の中に書いた通りです。IC2b, IC2dのようにNANDゲートの2つの入力を結ぶと、インバータ(NOTゲート)として働きます。

 IC3・74HC4040は4020と同じバイナリ・カウンタICです。このICは周波数のカウントと表示用で、それぞれのQ出力にLEDがつながっています。LED1〜12の点灯状態によって、2進数で周波数を表示します。桁の区別がしやすいように、LEDは4個ずつ色分けしました。
 直列抵抗は3.3k〜4.7kΩが混在していますが、これは同じ値のものが手持ちで揃わなかったためで、特に意味はありません。通常より抵抗値が大きいのでLEDは暗いです。最初、1kΩ前後の抵抗を用いたのですが、点灯するLEDの数が多くなるとIC1のQ14出力の周波数が高くなってしまいました。後述する測定誤差はこれが原因かと思い、抵抗値を大きくしてQ14へ流れ込む電流を減らしたのですが、結果はあまり変化がありませんでしたので、もう少し抵抗値を小さくしたほうが見やすいと思います。

 FET・2SK439Eは入力信号のプリアンプです。ラジオの局発信号などを計測するときは少し増幅してやる必要があります。

(追記 : 第1図中、IC2の電源端子の接続が抜けていたので、IC2dのところに書き加えました。2006年3月14日)

2. 周波数カウンタの動作

第2図

 周波数カウンタは、リセット→カウント→表示という動作を繰り返します。リセットはそれまでの表示をいったん消して「ご破算」にする動作、カウントは一定時間内に入ってきた信号のパルスの数を数える動作、表示はカウント時間内に数えたパルスの数を目に見える形で表示する動作です。

 入力信号はFETで増幅された後、IC2c(NANDゲート)へ入ります。IC2cのもう一方の入力にはIC1のQ14出力(250Hz)がつながっているので、第2図のごとく、Q14がHレベルのとき、入力信号がIC2cの出力に現れます。これがカウント信号となり、IC3のクロック(10番ピン)に入力されます。

 一方、IC1のQ13出力(500Hz)はインバータIC2bで反転され、Q14出力とともにIC2aのNANDゲートへ入ります。両者がともにHレベルのときIC2aの出力はLになります。さらにインバータIC2dを通ると反転してHになります。これがリセット信号で、IC3のクリア端子(11番ピン)に入ります。

 リセット信号はカウント信号の前半と重複していますが、こういう場合、ICの性質として、リセット信号が優先されるとのことです。したがって、リセット時間とカウント時間はともに1mS(1ミリ秒=1000分の1秒)、表示時間は2mSです。

3. 周波数の表示

 IC3はバイナリ・カウンタICなので、クロックに入れた信号が分周比に応じてQ1〜Q12に出力されます。ここでQ1〜Q12にLEDをつないでおくと、周波数に応じてLEDが点滅します。IC3内部の動作については下のタイミングチャートを見てください。ここでは、周波数カウンタの入力に5kHzの信号が加えられたときの例を示します。

第3図

 IC3のクリア端子(11番)にはリセット信号が入りますが、ここがHレベルのときはLEDはすべて消灯し、IC3は何もしません。これがリセット状態です。

 クリア入力がLに変わるとリセットが解除され、入力信号のカウントが始まります。Q1はクロック入力のパルスの立下り(HからLに変わる瞬間)でHになり、次の立下りでLに戻ります。同じくQ2はQ1の立下りでHに、Q3はQ2の立下りでHに、というようにQ12まで順次立上がっていきます。

 本器のカウント時間は1mSです。仮に入力信号が1kHzだったとすると、1mSの間に信号の立下りが1回だけありますので、そのタイミングでQ1がHになります。入力が2kHzの場合は、Q1がカウント時間内にL→H→Lと変化しますので、H→Lの瞬間にQ2が立上がります。つまり、入力が1kHzのときはQ1が1回立ち上がり、入力が2kHzになるとQ2が1回立上がるわけです。これは、Q1は1kHzに対応し、Q2は2kHzに対応していることを意味します。同様に、Q3は4kHz、Q4は8kHzに対応します。

 さて、第3図の例では入力信号の周波数が5kHzですから、カウント時間内に5個のパルスが通過します。カウント時間が終了したとき、Q1はH、Q2はL、Q3はHになっています。カウントが終わると次は表示ですが、このときクロック入力はHになるので、Q1〜Q3はそのままの状態を保持します。つまり、カウントが終わった瞬間にLEDが点灯していれば点灯したまま、消灯していれば消灯したままです。今回の例では、Q1・LED1(1kHz)が点灯、Q2・LED2(2kHz)が消灯、Q3・LED3(4kHz)が点灯ですから、入力周波数は点灯しているLEDの周波数の合計、すなわち 1kHz+4kHz=5kHz と読み取ることができます。

 言い方を換えると、Q1が2進数の一番下の位、Q2が下から2番目の位、Q3が下から3番目の位ということです。また、LEDが点灯していればその桁は2進数の「1」、消灯していれば2進数の「0」です。入力が5kHzのときはQ3・Q2・Q1=101ですから、これを10進数に直すと5になります。

 LED12〜LED1(Q12〜Q1)と周波数の対応関係は下の表の通りです。

LED121110987 654321
kHz2048102451225612864 32168421

 本器で測定できる最高周波数は、LED12〜1がすべて点灯したときですから、下段の周波数を合計した4095kHz(4.095MHz)ということになります。最低はLED1のみが点灯した状態、すなわち1kHzです。また最小読取り単位も1kHzです。2進数から10進数への換算は関数電卓のようなものがあれば瞬時にできます。パソコンのOS・Windowsに付属の「電卓」にもこの機能があったと思います。

4. 実体配線図と試作写真

 ブレッドボード上の結線図と試作写真を下に掲げます。回路自体は簡単なんですが、カウンタICのQ出力の並び方が妙ちくりんなので、結果的にかなり大きくなってしまいました。
(追記 : 下の実体図で、FEDのドレインとR14の接続が抜けていたので訂正しました。2006年5月30日)

実体図

写真1

5. 実際の表示例

 1308kHzの水晶発振器を入力端子につないでみました。水晶発振器は出力が大きいので、アンプを通さず、IC2の9番ピンに直接入力しても大丈夫です。12個のLEDの状態は下の写真のようになりました。LED11, 9, 5, 4, 3が点灯、その他は消灯しています。

写真2

LED121110987 654321
状態消灯点灯消灯点灯 消灯消灯消灯点灯点灯 点灯消灯消灯
2進数010100 011100
kHz2048102451225612864 32168421

 上記より、表示周波数は、
 1024+256+16+8+4=1308(kHz)
となって、入力周波数と一致しました。

 続いて、ダイソーの100円AMラジオの局発振周波数を測定する実験をしました。細いシールド線でラジオのOSCコイルと周波数カウンタをつなぎました。接続リードのアース側はカウンタの方にだけ接続しました。
 結果は、一応それらしい周波数を表示するのですが、10kHz以下(LED3〜1)がチラチラ点滅して安定しません。ラジオを手のひらで包むように持つといくらか安定します。接続コードのアース側をラジオにつないでも不安定さに変わりはなく、かえってカウンタのノイズが少し出てしまいます。表示が安定しないのはラジオとの接続に問題があるのか、それともカウンタ自体に原因があるのか、今のところはわかりません。

7. 測定範囲の拡大

第5図

 水晶発振器の接続を第5図のように変更すると、クロック周波数が16.384MHzになります。したがってIC1のQ13は2kHz、Q14は1kHzと、第1図の回路の4倍になります。これで最高測定周波数が16.380MHzに上がります。最小読取り単位は4kHzです。12個のLEDと周波数の対応関係は下記の通りです。

LED121110987 654321
kHz8192409620481024512256 12864321684

 このように改造した周波数カウンタに水晶発振器の出力を入れてみました。

 まず、10MHzを入力すると、LED12, 9, 8, 7, 3が点灯します。これで10MHzなんですが、よく見るとLED2とLED1もうす暗く光っています。うす暗く光るということは点灯時間の短い点滅をしているということで、この分が測定誤差になっています。
 次に16MHzを入力してみたところ、LED12, 11, 10, 9, 8, 6が点灯しましたが、LED5〜1の5個もチラチラ点滅しました。他の周波数も試してみましたが、どうも高い方へ1%ほど誤差が出るようです。これも原因がわかりません。

 JF1OZL氏のカウンターはユニバーサル基板上にコンパクトに組んであります。私のようにブレッドボードでだだっ広く作るとだめなのかもしれません。現段階では100%成功とは言えませんが、周波数カウンタの基礎を知る上では良い勉強になりました。