最終更新時間:2007年11月16日 18時20分23秒
[公開:any]
MAX038を使用した広帯域精密波形オシレータキットで使用する周波数カウンタをワンチップマイコンのAVRで作ろうとしましたが、不勉強もあってうまく動作させることができません(雑記/2007-11-14)。そこで、方針変更してPIC(PIC24FJ64GA002)を使って作ることにします。
LCメーターの製作では、PICからAVRへと途中でチップを変更しましたが、今回は、AVRからPICへ変更します。(「節操がない」とのツッコミは遠慮しときます。^^;)
PIC24をつかった周波数カウンタは、ありがたいことに、この世界で有名な電子工作の実験室に製作例としてまとめられたものがあります。
スクラッチで作る技量も時間もありませんので、ソースを参考にさせていただきながら、一部LCD回りは、AVRでLCD表示の参考にした趣味関係のメモ帳のソースをPIC用に一部変更して利用させて頂きました。
ブレットボードに組み込んで、PIC自身の外部クロック源12.8MHzを表示させてみると問題無く表示します。
ちなみに、ソースプログラムは、よそ様のを拝借したので簡単に周波数カウンタを実現できますが、PIC24をつかう上で面倒なのは、3V程度の別電源が必要なのと、PIC内部動作のための10μFの低ESRコンデンサを外付けにしなければならないことです。
チップコンデンサの10μFは、秋月電子で購入してあったので、リード線を半田付けしてブレットボードで使用できるようにしました。
10MHzや12.8MHzのクリスタル発振器の発振周波数を測定してみました。
市販周波数カウンタと比較しても、1,2Hzの誤差しかありません。当然ながら、カウンタとしての精度は外部クロックのクリスタル発振器の精度に左右されますが、今回の用途では、十分過ぎる精度です。
さっそく、広帯域精密波形オシレータキットと接続してみました。高い周波数では、MAX038の出力レベルが低下し、カウントミスがでるようなのでCMOSインバータの74HCU04を入力アンプとして利用します。
周波数カウンタは問題ないのですが、オシレータキットの発振周波数は、コンデンサを外付け切替え式にしたためか、かなり変動するようです。