8桁周波数カウンタの完成
- 2011/09/25 13:47
- カテゴリー:make:
8桁周波数カウンタが完成しました。
ざっと最終的な仕様をまとめておきます。
・表示桁数 8桁
・機能 周波数,周期,周波数比,インターバル,ユニットカウンタ
・プリスケーラ 1/10および1/1000
・測定周波数帯域 0.1Hz?10MHz(1/1)
1Hz?24MHz(1/10)
100Hz?2400MHz(1/1000)
・感度 20mVrms(1kHz)
・タイムベース TCXO(±3ppm/-20℃~60℃,±1ppm/年)
水晶発振器(±20ppm)1/1000プリスケーラ使用時
・ウォームアップ時間 約15分
・電源 DC6VのACアダプタ(800mA)
秋月のICM7216Bを使用した周波数カウンタのキットを作り直したものですが,これまでの不満点を改称したものになっています。
写真は,背面から出力している10MHzのタイムベースを,1/1000プリスケーラを通して周期測定を行っている様子です。1/1000プリスケーラ使用時のタイムベースはTCXOではなく9.765625MHzの水晶発振ですが,通電後約15分でTCXOを源発振とする10MHzの周期を,100.0000nsと測定してくれています。
(1)LED表示のゴースト
ドライバトランジスタのキャリア蓄積が問題だと思っていた8桁目のゴーストですが,結論から言うと違っていました。波形を見ると244usのON期間の後,次のONまでの時間,なだらかに電圧が落ちていて,中途半端にONになっている長く時間があります。
原因を調べていたのですが,2SA1015のベースが5Vになりきっておらず,トランジスタがOFFし切れていないようです。そこでベースとエミッタ間に2.7kΩをつないで,確実にトランジスタがOFFするようにしました。というか,PNPトランジスタではこれは必須の抵抗でしょう。
さらに,0.022uFのコンデンサもベースとエミッタ間に入れました。抵抗だけだとあまりに波形が汚く,他の信号が変化するときに電源が引っ張られてベースの電圧がガクガク変動しているので,それを吸収するためです。
この結果,8桁目のゴーストは消え,また各セグメントの輝度も揃うようになりました。(コンデンサの容量を大きくすると,今度は明らかにスイッチング速度が落ちてしまい,ぼんやり点灯するようになるのです。)
また,DPもぼやーっと点灯する事がありました。ドライバである2SC1815に同様の対策を行って,解決しました。
(2)プリアンプの改良
もともと5Vでもミスカウントするくらいだったのですが,以下に行った改良で20mVrmsまでカウント出来るようになりました。
・初段の2SK241のソースを直接接地
・段間のコンデンサを100uFに増大
・2段目のトランジスタを2SC2901に交換
・電源電圧を5.75Vまで上げた
本当は作り直しをしようと思ったのですが,それも面倒になったので改良することにしました。ミスカウントは,周波数というよりは立ち上がりパルスの幅がICM7216Bの限界以下になっているからのようで,これは電源電圧を上げて速度アップすることと,プリアンプの電圧も上げて余裕を持たせることで,調整を追い込むことにしました。アナログ回路は,高電圧ほど性能を出しやすいと,実感しました。
トランジスタの交換は,手持ちのジャンク箱を見ていたら偶然ftが750MHzくらいの2SC2901が見つかったのでこれを使いました。最初は2SC3358というft=6.5GHzのトランジスタを使ってみたのですが,うまくゲインが取れず,また発振をしているような感じもあったので,やめました。
(3)1/10プリスケーラ搭載
新規に1/10プリスケーラを取り付けました。手持ちの74HC390を使って1/10ディバイダを追加しただけですが,これで分解能を犠牲にせず,24MHzまでのカウントが出来るようになりました。これは使い勝手に大きく貢献してくれると思います。
(4)TCXOの搭載
20年前に買ったTCXO,TCO-703Aを12.8MHzに調整(小数点以下6桁まであわせました)しなおし,これを源発振にPLLで10MHzを作るモジュールを作って,タイムベースとしました。
このTCXOのスペックは,温度偏差が±2?3ppm/℃,年間偏差が±1ppmというなかなかのものです。市販の安価な周波数カウンタでは,これが±5ppm位だったりしますので,そう考えると十分実用になってくれるでしょう。
PLLがロックした場合には,左下のLEDが点灯するようになっています。VCOの制御電圧の変化で輝度が変わりますので,明るさの変動によってその安定度を見ることも可能です。
ただし,1/1000プリスケーラ動作時は,タイムベースも通常の水晶発振で作られる9.765625MHzに切り替わりますので,TCXOの精度は出ません。この水晶発振が結構温度特性をもっているのですが,ICM7216Bと基板の間に寝かせて配置し,LSIの発熱による簡易恒温槽になることを期待しています。
この結果,通電後約15分で規定の周波数に入ってくるようになります。もともとこの水晶発振は,1/1000のプリスケーラ用のものですから,分解能が1/1000になることを考えると,1GHz以上の高い周波数を測定する時以外は,精度を上げても表示に反映されにくいものですので,これで私は十分です。
(5)電源
従来はトランスを内蔵し,5.6Vを三端子レギュレータで作って供給していましたが,発熱やAC100Vを扱う危険もあって,好ましくありません。ケースも小さくなりましたので,今回はスイッチング式のACアダプタで6Vを供給することにしました。小さく軽く安全で,いい世の中になりました。
この6Vから,PLLやプリスケーラなどに供給する5.0Vと,カウンタに供給する5.75Vをそれぞれ別のLDOで作り,供給しています。PLLやプリスケーラはカウンタから信号をもらいませんので,レベルコンバートの必要もありません。
(6)ケースの加工とパネル
ケースは定番の,タカチYM-200を使っています。やや小振りのケースですが,この大きさなら使いやすいし,取り回しも楽で,かわいらしいです。正面には文字高さ10mmの7セグLED8桁と,オーバーフローとPLLのロックを示すLEDが表示部に並び,右側に機能切り替えとタイムスケールのレンジ切り替えを行うロータリースイッチ,1/10プリスケーラの切り替えスイッチに1/1000プリスケーラ用の入力切り替えスイッチがあります。トグルスイッチの下には2つの入力端子がありますが,左側は10MHzまでの入力,右側は1/1000プリスケーラ用の入力です。
背面は,周波数比などを計るときの入力B端子(ただし2.5MHzまでなので使い道はほとんどない)と,10MHzのタイムベースを出力する端子を設けてあります。なにせうちで一番正確な時間情報です。この10MHzを基準に使いたいと思うことは,これからもいろいろ出てくる事と思います。
パネルは,今回はプリンタで印刷を行ってみました。表示部の角穴が大きく,どうしても素人くさい加工が目立ってしまうからです。最近はインクジェットプリンタで耐候性のあるステッカーを作るシートなども市販されていて,色も綺麗に出ます。文字のにじみもなく,ご覧のように綺麗にパネルを作ることができました。
穴あき加工済みのパネルを部品取り付け前にスキャナで取り込み,この実寸の画像にあわせて印刷用の画像を作り込んでいきます。気に入ったフォントを使って文字を入れていくのは,その昔インスタントレタリングを使って文字を入れた手間を完全に過去のものにしてくれました。
ということで,実用レベルの測定器に仕上がりました。マルチメータの上にでも重ねて,常用することにしたいと思います。
