正弦波発振器
【概要】
PIC16F785のオペアンプを使ってウィーンブリッジ方式の正弦波発振器を
製作してみました。
正弦波の振幅を制御するフィードバックにアナログフォトカプラを使ったことで
きれいに振幅制限ができ、安定な振幅の正弦波を広い周波数範囲で制御
することができました。
せっかくPICがあるので、ついでに周波数カウンタを一緒に組み込みました。
全体外観は下図のようになっています。
実際に出力される正弦波はかなり
きれいな正弦波でひずみも少なく
FFTで確認する限り、高調波は
30〜40dB以下となっています。
【全体構成と仕様】
この正弦波発振器の全体構成は下図のようになっています。
まずオペアンプ1でウィーンブリッジ発振器を構成し、可変抵抗で周波数を可変
できるようにしています。この出力の正弦波をオペアンプ2のバッファを経由して
外部出力としています。またこの出力からAC成分だけ取り出して整流した直流
電圧をアナログフォトカプラの発光ダイオード側に加えています。
この発光ダイオードの光で制御されたCds側の出力でオペアンプ1のゲインを
制御して正弦波の振幅を一定に保つようにしています。
バッファ出力はさらに周波数カウンタを構成するため、PIC内蔵コンパレータに
入力し、その出力をタイマ1の外部入力とすることで周波数をカウントしています。
電源はできるだけ高い電圧の方が正弦波の振幅を大きくできますから5Vとして
います。リチウムイオン充電池から定番のDC/DCコンバータで5Vを生成しています。
この正弦波発振器の仕様は下記のようになっています。
項目 仕様内容 備考 電源 3.7V
リチウムイオン充電池出力電圧 3Vp-p 一定 出力周波数 300Hz〜4kHz
3kHz〜40kHzレンジ切り替え
により切り替え周波数カウンタ 最大65kHz 5桁表示
分解能1Hz
周波数精度 ±1%液晶表示器で
表示
【回路構成】
上記全体構成に基づいて作成した回路図が下図となります。
PICのクロックは内蔵クロックの8MHzを使いますが、内蔵分周器で2MHzに
下げて使うものとします。
アナログフォトカプラとは、発光ダイオードとCdsを向かい合わせにして
ケースに納めたもので、発光ダイオードに流れる電流によって、Cdsの抵抗値
が変化するようになっています。
オペアンプ部の回路を回路図で表すと下図のようになります。
1段目のオペアンプがウィーンブリッジ発振器となっていて、アナログフォトカプラの
Cdsの出力(抵抗と同じ)をオペアンプのフィードバック抵抗として使うことで
ゲインコントロールをし、振幅を一定としています。
このアナログフォトカプラの発光ダイオードには、正弦波の出力をダイオードで整流
した直流を流し、Cdsの抵抗値を可変しています。この直流電圧をできるだけ効率
よく生成するため、ダイオードにはゲルマニウムダイオードを使っています。
ここに通常のシリコンダイオードを使うと直流電圧が不足して振幅制限がかかるところ
までいかず、正弦波の頭が削れた波形となってしまいます。
このダイオードにショットキバリヤダイオード(1SS106など)にすると、より振幅が
安定な発振をします。またR8の47Ωを挿入することで全周波数範囲に渡って
安定な振幅となります。
周波数カウンタ部の内部構成を示すと下図のようになっています。
タイマ2で125msec周期のインターバルタイマを構成し、これが8回タイムアウト
する間、つまり1秒間の間タイマ1で外部入力パルスをカウントします。
この外部入力になるのが、正弦波のパルスとなりますので、これで1Hz単位の
周波数カウントが可能となります。
タイマ1は16ビットのカウントが可能ですから、65kHzまでは表示できることに
なります。
【外観】
コントローラ部の外観は下図となります。
大部分PICだけでできていますので簡単な構成です。黒い四角の素子が
アナログフォトカプラです。
全体の組み立ての内部です。周波数設定用には2連の可変抵抗を使って
います。周波数レンジの切り替えにはロータリスイッチを使いましたが
ここはトグルスイッチでもOKです。
出力のレベルを変更したい場合には
可変抵抗を追加します。
【プログラム概要】
プログラムは周波数カウンタを構成する部分のみで、割り込みは使わず
割り込みのタイムアップを常時待つ方法で作成しましたので、1本の単純
な流れでできていますから簡単な構成です。
★★★ 正弦波発振器プログラムファイル一式