MAX038広帯域オシレータキット

[公開:any]

[電子工作/AVR]
[電子工作/PIC]
[電子工作/一般]
[AVR,PIC,PIC24F,MAX038,ファンクションジェネレーター,周波数カウンタ,74HCU04,ATmega168,TD62003,測定器]

origin 2007-11-22



 広帯域精密波形オシレータキットの製作

働き出してからは、仕事先が秋葉原に近くになったのですが、電子工作への興味が薄れた時期でもあって、あんまり購入はしていませんでした。その中で昔作ったけど現在行方不明(引越しのときに捨てたかも??)となっている「MAX038(MAXIM社)使用広帯域精密波形オシレータキット」を、再度作成ということで購入してみました。

DSC00964.jpg

パッケージ開けてみると、超高速オペアンプがインテルシル社のHFA1100からナショナルセミコンダクタ社のLM7171に変更になっています。HFA1100は、帯域幅が800MHzもあるスゲェー高性能オペアンプだったのですが、LM7171は200MHzの帯域しかありません。なんとなく残念ですが、MAX038は20MHzまでなので、これでも十分でしょう。(付属のペラガミマニュアルは、HFA1100のデータシートのままでした。)

DSC00965.jpg

で、いきなり完成です。部品少ないので30分程度しか楽しめません。

DSC00966.jpg

周波数レンジを決めるコンデンサはつけていません。マニュアルの注意書きには、基板に直接実装するように書いてありますが、ロータリースイッチで数種類の切り替えにする予定です。

電源も、±5Vが必要なので動作確認もできてません。

 電源製作と波形確認

DSC00967.jpg

スイッチング電源と負電圧コンバータでカッコよく作りたいんですが、手持ち部品の都合とノイズ対策が大変なので、昔ながらのシリーズレギュレート方式です。

とりあえず波形を見てみたいので、基板に発信用コンデンサをつったててオシロスコープで観察します。

DSC00975.jpg

正弦波です。周波数は230KHz程度ですが、あんまりきれいな波形ではありません。チョット歪んで見えます。でも、50KHz以下だと見た目はきれいな波形でした。

DSC00973.jpg

方形波です。(見りゃわかるわな)

DSC00974.jpg

三角波です。

動作は問題ないようです。後は、どう完成させるかですな。
とりあえず、5段階程度の周波数レンジ切り替えと、発振周波数表示のためのカウンタをAVRかPICのワンチップマイコンで作って内蔵させようかと考えています。

 AVRで作る周波数カウンタ

ワンチップマイコンには、AVRかPICか迷います。フリーの開発環境に優位性があったAVRですが、先日、PIC24を調達したことにより、PICもフリーの開発環境が構築できます。
とりあえず、周波数カウンタ機能を内蔵したLCメーターの製作で使用したAVRを使うことにして開発を進めます。

DSC00978.jpg

時計用クリスタル発振器の32.768KHzを入力してみました。正確にカウントされているようです。比較のために奥底から取り出した市販周波数カウンタと比較しても問題ないようです。(ちなみに市販周波数カウンタは、5年前に校正期限が切れています。^^;)

で、せっかく28ピンもあるAVRを使うのなら、周波数のレンジ切り替えもマイコンで切り替えてやろうと、リレーを使った発信用コンデンサ切り替え回路も作成しました。

DSC00980.jpg

キットに付属のコンデンサは、セラミック、積層セラミック、電解コンデンサとなっていましたが、一応、フイルムタイプをメインにしたものに変更しました。ただし、最高周波数のレンジをカバーする20pFは、通常のセラミックコンデンサです。また、1μFは、積層メタライズドフィルム??となっています。

DSC00981.jpg

が、・・・・しかし、・・・2.8MHz以上がカウントできません。
プログラム的には、8ビットx16ビットで16MHz程度までカウントできるはずですが、なぜか動作しません。

しかたがないので、内蔵プリスケーラで分周しようとデータシート読んでみると、PICのプリスケーラのようには使用できないようです。弱ったな。

外部にプリスケーラをつけるしかないのかな。

 方針変更:AVRPICで作る周波数カウンタ

LCメーターの製作では、PICからAVRへと途中でチップを変更しましたが、今回は、AVRからPICへ変更します。(「節操がない」とのツッコミは遠慮しときます。^^;)

PIC24をつかった周波数カウンタは、ありがたいことに、この世界で有名な電子工作の実験室に製作例としてまとめられたものがあります。
スクラッチで作る技量も時間もありませんので、ソースを参考にさせていただきながら、一部LCD回りは、AVRでLCD表示の参考にした趣味関係のメモ帳のソースをPIC用に一部変更して利用させて頂きました。

ブレットボードに組み込んで、PIC自身の外部クロック源12.8MHzを表示させてみると問題無く表示します。

DSC00984.jpg

ちなみに、ソースプログラムは、よそ様のを拝借したので簡単に周波数カウンタを実現できますが、PIC24をつかう上で面倒なのは、3V程度の別電源が必要なのと、PIC内部動作のための10μFの低ESRコンデンサを外付けにしなければならないことです。

チップコンデンサの10μFは、秋月電子で購入してあったので、リード線を半田付けしてブレットボードで使用できるようにしました。

DSC00982.jpg

10MHzや12.8MHzのクリスタル発振器の発振周波数を測定してみました。

DSC00989.jpgDSC00992.jpg

市販周波数カウンタと比較しても、1,2Hzの誤差しかありません。当然ながら、カウンタとしての精度は外部クロックのクリスタル発振器の精度に左右されますが、今回の用途では、十分過ぎる精度です。

DSC00985.jpg

さっそく、広帯域精密波形オシレータキットと接続してみました。高い周波数では、MAX038の出力レベルが低下し、カウントミスがでるようなのでCMOSインバータの74HCU04を入力アンプとして利用します。

周波数カウンタは問題ないのですが、オシレータキットの発振周波数は、コンデンサを外付け切替え式にしたためか、かなり変動するようです。

 オシレータキット制御回路

水魚堂さんの回路図エディタBSch3Vを使って回路図を作ってみました。
リレードライブのためにトランジスタアレイ(TD62003APG)を使用します。この部分は、3-8デコーダなどのロジックを入れるとPICのIOピンにも余裕ができるのですが、手持ちがないのでこういう接続になっています。

function_gene3.png

オシレータキットのオペアンプ出力は、BNC出力とするため、周波数カウンタへの入力は、MAX038の出力そのままを接続します。そのため、高い周波数での振幅が足りずに周波数カウンタが誤カウントするのを防ぐためにアンプを1段入れることにします。

回路図右上に書いてあるFETを使ったアンプとCMOSインバータICの74HCU04を使ったアンプの比較を行いました。

DSC00986.jpg

20MHz程度までなら、どちらでも差が無いため、部品点数の減らせる74HCU04を使用したアンプとすることにしました。

ユニバーサル基板を使って製作します。

DSC00993.jpg

完成したら早速、オシレータキットと接続して機能試験を行います。

DSC00996.jpg

リレーを切り替えるとたまにPICがリセットしたり、スイッチ入力の誤検出が発生するようです。リレーが切れるときのサージが影響しているようです。回路図にはありませんが、すべてのリレーにサージ吸収用のダイオードを追加したら正常になりました。

その後、TD62003のデータシート見てみると、誘導負荷のサージ吸収用ダイオード内蔵と書いてあるのを発見。ということで、リレーにダイオードをつけずに、TD62003のCOMMON(9番ピン)をVCCにつなげばOKのようですね。(2007-11-20追記)

あとは、一番手間のかかるケースの加工が残っています。

 ケースへの組み込み

いよいよ一番面倒なケースの加工を行い、組み込みを行います。
ケースは、タカチのYM-250を使用します。デザイン的には、シンプルでつや消しのブラックパネルがかっこよくて割と気に入っているのですが、正面パネルと背面パネルが底板と一体成型なので、パネル加工に失敗すると痛い目にあいます。(金銭的にね)
過去、このシリーズで数回、失敗をやらかしている実績もあります。リカバリー出来ない失敗の場合は、黒いアクリル板をパネルサイズに切り出して、そのパネルを取り付けるなどの方法もありますが、当然、出来上がりはよくありません。

ということで、まずは実体配置からイメージを作ります。

DSC01011.jpg

で、いきなり完成です。メンドーな、金属加工は、一気にかたをつけました。
PICライターをつないで、プログラムを手直ししています。リレー回路への接続や、スイッチへの接続間違いは、配線を直すよりもソフトウェアで対応したほうが簡単です。(手抜き)

DSC01049.jpg

正面パネルは、左から

  • 電源スイッチ、
  • 周波数カウンタゲート表示LED、
  • 波形(正弦波、三角波、方形波)切替スイッチ(赤丸LED付き)、
  • 周波数レンジダウンスイッチ(緑丸LED付き)、
  • 周波数レンジアップスイッチ(緑丸LED付き)、
  • LCD表示部、
  • 周波数調整VR、
  • 出力レベル調整VR、
  • 出力BNC

と並んでいます。

DSC01051.jpg

動作的にも、安定していて十分実用になりそうです。
ただ、発信用コンデンサを切替式にしたため、浮遊容量の影響で最高周波数が11MHzに制限されます。リレーをすべてOFFでコンデンサの接続をオープンとするモードも作りましたが、それでも16MHzまでの発振となっています。あと、高い周波数では、やはり周波数変動があります。
当然かもしれませんが、出力レベルを小さく絞ったときには、ノイズレベルがある程度高いために実用的ではありません。実際的にどの程度使えるかは、使用目的によるということですね。


今回の失敗

電源基板、オシレータ基板、リレー基板、コントロール基板と4枚に分けたため、ケース内の基板固定ポストが16個も必要です。基板間の接続取り回しもメンドーなので、オシレータ基板はショウガナイですが、その他は、まとめたほうがよかった。

あと、スイッチまでLED付きのものにしてしまったことやLCDのバックライトを明るめにしたために、+5Vの3端子レギュレータの発熱がキビシーものになっています。
しばらく動作させると、3端子レギュレータは触れなくなるほど発熱します。小さなヒートシンクをつけていたのですが、最後は、5mm厚のアルミブロックに変更しました。

DSC01013.jpgDSC01058.jpg


▲ページ Top へ...