TNJ-001:つれづれなるままにWIENブリッジ発振器
2013年6月19日公開
はじめに
Wienブリッジ発振器という低周波発振回路があります。お遊びがてらにWienブリッジ回路の製作と、(こちらはまじめに)発振原理の解説をしてみましょう。
Wienブリッジ発振器は音楽の都ウイーンで作られたものではなく、Max Wienが最初に開発したのだそうです。これをHewlett-Packard創設者のWilliam Hewlettが修士論文で研究し、それがHPの最初の製品になったそうです(Wikipediaより)。
ランプを使って発振を安定化させる
後から詳しく説明しますが、この回路には発振を安定化させるためランプを使います。「何でLEDでなくランプ?」と思うかもしれませんが、「ランプ」なんです。現代の本来の回路設計では、ランプを使わず、FETなどでの発振安定化策を用います。この回路では、簡便に実現すること、原理を説明するという趣旨から、ランプを用いています。
ランプの電圧対抵抗特性
ランプは図1のように、加える電圧に応じて抵抗値が変化します。このデータは目的の電圧で、目的の抵抗が得られそうなランプを買ってきて、測定したものです。

図1. ランプに加える電圧と抵抗値の特性
フィードバック(帰還)による発振原理
図2は正帰還で発振させるフィードバック系です。Wienブリッジ発振回路もこの系と同じかたちで動作します。「ブロック線図は良く書籍とか出てきて、嫌いだなあ」と思われる方もいるかもしれませんが、以降に回路図を示していくのでご勘弁いただくとして、まずはシステム(系)としてどのように動くかこのブロック図で理解してみましょう。

図2. 正帰還で発振させるフィードバック系
OPアンプなどは「負」帰還が用いられますが、発振させるためには「正」帰還としてフィードバックして、振幅動作を増長させるように回路を動かします。発振させるには、図2の左側の入力は不要になります。正帰還の発振条件は、
GAIN × β = 1ANGLE(GAIN) + ANGLE(β) = 0/360°
この正帰還の発振条件を満足すれば、内部ノイズとか、電源オン時のスパイクなどが発振の「種」となって、発振が開始します。発振開始時は
GAIN × β > 1
が必要です。ここでGAIN×βが1となれば安定して発振が継続することになります。また系を一周したときに位相がゼロ(もしくは360°)になる点が発振条件になることも重要です。あとで回路図を示しますので、具体的に実際のOPアンプ回路で理解してみましょう。
利得が1なのは判るが
GAIN×β=1だと説明しましたが、これが実は難関です。ぴったり「イコール1」にするのは素子の誤差などがあり、現実には(普通は)実現できません。ここで図1のランプの「電圧に応じて抵抗値が変化する」という機構がポイントになります。また発振原理は数式では定義できても、イメージがなかなかつかめません。ちょっと不適切ですが、「朝令暮改の組織」…組織の動きに対して指示変更が早すぎて、気がつくと右左に振り回されているだけ、という感じでしょう。まあ「朝令暮改」は、発振というより「収束しない」といった方が適切かもしれませんが…。
では基本回路図を
ブロック図は発振原理のところで示しましたが、実際のOPアンプを使った回路図(これも詳細定数などはいれてありませんが)を図3に示します。
GAINは図中のように、R3とR4で決まります。周波数関係はβで決まりますが、これは青の囲みの中の素子で決まることになります。ここで増幅(GAIN)部分は位相が回らない(変化しない)ものとし、βの位相が変化して、どんな関係で「位相がゼロ(もしくは360°)」になるかを、次に式で示したいと思います。

図3. OPアンプを使ったWienブリッジ基本回路
発振原理を式で考える
発振原理を式で考えてみました。本技術ノートの後半にAppendixとして添付してある資料をご覧ください。基本は説明したようにふたつです。
① GAIN×β = 1② ANGLE(GAIN) + ANGLE(β) = 0/360°
この2条件を満足する周波数で発振します。まずは条件②を満足する周波数を探し出し、その後に条件①のβを求めてみます。なおβ=1/3になります。
事前実験開始!
テスト用治具
実験結果は以降でご説明しますが、実験回路用の治具(Fixture)の写真だけ図4に示しておきます。kHzオーダの低い周波数ですから、こんなにリードが伸びたままでも、それなりの結果が得られます。R = 1kΩ、C = 0.1uFです。

図4. テスト用の治具



図6. R = 1kΩ、 C = 0.1uF時の伝達関数位相特性
βの応答特性を計算してみた
βの式は先のとおりですが、実際の応答特性を、計算式をベースにして計算してみました。図5と図6をご覧ください。R=1kΩ、C=0.1uFです。
ここであらためてWienブリッジのすごいところは、発振する周波数でβが最大になることです。「良く出来ているなあ」と自分も関心しました(今まで良く検討したことが無かった…)。普通のCR移相フィルタではなかなかこうはなりません。
「この計算はホント?」という方もいらっしゃるかと思いますので、NI Multisim Analog Devices Edition(※)で以降、シミュレーションもしてみましょう。
「発振する周波数でβが最大になる」ということは
「発振する周波数でβが最大になることです」と書きました。今回のような基本的な低周波発振回路であれば、作った通りに動作するので、そんなに問題はありません。しかし、もっと高い周波数の発振回路では、想定外の周波数で利得の高いところが寄生的に出来たりして、結構トラブルになることがあります。
発振器としてではなく、増幅器として設計した場合も同様で、これらの理由が絡み合って予期しない周波数で発振(異常発振)してしまうことがあります。そういう痛い目を見ているので、「良く出来ているなあ」とあらためて、いや、しみじみ思った次第です。
SPICEシミュレータでシミュレーション
NI Mulitisim Analog Devices Edition(※)でシミュレーションしてみました。図7と図8をご覧ください。当然といえば当然ですが、同じ結果です。
このシミュレータは以下で入手可能です。シミュレータの設定をしなくても、いろいろな擬似測定ツールがそろっているので便利です。また、アナログ・デバイセズの製品のSPICEデータが入っているので、デバイスの評価も簡単です。


図8. シミュレーション結果(上:振幅、下:位相)
周波数領域と時間領域での実測結果
ここまで、数式での発振条件、数式を数値計算、SPICEシミュレータでフィードバック部分のβの特性を考えてきました。


図10. 周波数領域での測定(位相)
ここでは時間領域と周波数領域それぞれにて、図4の治具を使った実験回路を実測した結果を示します。実際の実験回路の測定結果を、図9と図10に振幅、位相特性として示します。測定結果として、周波数1568Hz、β= -9.73dB、このときに位相がゼロになっています。ほぼこれまでの検討と同じ結果になりました。周波数の低いところで階段状になっているのは、測定器(ネットワーク・アナライザ)の周波数ステップ送りの限界です。
オシロで時間軸でも測定してみました。この実験回路に発振器から信号を与えて、応答のようすを測定してみました。発振器がアナログ式なのでぴったりではありません。
図11をご覧ください。周波数1569Hzです。入力は2V、出力は690mVで、36%(計算上は33%)になっています。位相は入出力間でほぼゼロです。
図12では2倍の周波数にしてみました。位相が遅れ位相になっています。シミュレーションや周波数領域での測定どおりです。

図11. 周波数1569Hz 入力2V 出力690mV(計算上は33%)

図12. 2倍の周波数にしてみた。遅れ位相になっている

図13. 1/2の周波数にしてみた。位相が進み位相になっている
図13では1/2の周波数にしてみました。位相が進み位相になっています。これもシミュレーションや周波数領域での測定どおりです。
事前準備はこれで終わりです。次に試作してみます。OPアンプはローノイズで低歪みなOPアンプ、AD797を使用します。
試作してみた
試作したWienブリッジ回路図
試作する回路図を図14に示します。電源は±12V、デカップリング・コンデンサは手持ちの220uFを用います。1kHzで1Ω以下になりますから十分でしょう。本来はもっと高い周波数のデカップリングのために小容量のコンデンサをつけるべきですが、発振周波数の低いことと手抜きでつけていません。
ボリュームVRとランプで2:1の抵抗比になるようにします。ランプの抵抗が振幅によって変わるので、ランプが振幅レベルの自動制御をしてくれます。これで「ぴったりGAIN×β = 1」に持っていきます。なおボリュームVRにも数10mA流れますので、選定にはワッテージに注意が必要です。
OPアンプを適切に選定する必要があります。最初のランプの抵抗値(図1)を見ていただくと判るように、ランプに10mA~20mA程度を流さないといけません。それだけ出力電流に余裕のあるOPアンプを選定する必要があります。
そのためだけではありませんが、ここでは出力電流のTYP値が50mAである、AD797ANZを使ってみます。
AD797は出力電流が(ちょっと)大きめというだけではなく、超ローノイズ、超低歪のOPアンプです。いろいろな用途でお使いいただけることと思います。

試作基板のようす
500Ω、B特(回転による抵抗値の変化がリニアなもの)のボリュームを入手し、形として完成した試作基板を図15に示します。
試作基板側のピッチが200mil!(2.54mm x 2)で、ICソケットからピンヘッダの足を開いて実装しています。このような基板が試作は楽でいいです。いずれにしても低い周波数だからいいわけで、高くなればなるほど、適切な実装が必要といえるでしょう。
図16の黒いリード線が出ているところが、一点アースとして設定したポイントで、ランプからの大電流がこのポイントに流れ込むことになります。
図16のとおり、ランプの足は長くしたままです。値段が高めなので再生を考えてという情けない理由です。
本来は全体の配線が長いと誘導性(とくに100Vの)雑音を広いやすいものですが、さて、結果は?

図15. 試作基板のようす

図16. 黒いリード線が出ているところが一点アース・ポイント
動作させてみた
±12Vの電源をつないだら図17のようにちゃんと発振しました(基礎実験はしてあったものの、よかった!)。VRを調整して約p-p12Vにしてみました。だいたい1.56kHzです。

図17. オシロスコープで観測した発振波形
図18のように周波数領域で測定してみました。広帯域で見てみると、5次高調波まで、3次以外はノイズフロア以下です。自分も驚きました。普通に測定すると、この3次も元々フロア以下であり、ここではRBW(分解能)を狭めにし、さらにアベレージングをかけてノイズフロアを下げて観測しています。
3次は-83dBcです。ひずみ計がありませんでしたので、この数値で換算すると、ひずみ率0.01%以下というところです。

図18. 周波数領域で発振波形を5次高調波まで測定
次の図19はスパンを500Hzにして、50Hzのノイズが乗っていないか(いや、絶対に乗っているだろう)を確認してみたものです。意外や意外、かなり低いです。周波数が±55Hzのオフセットになっていて、これが電灯線からのノイズなのか?測定系の誤差なのか?ちょっとわかりません…(SSGにサイン波で変調を掛けたものを測ってみればわかる…しかしこんなに基本的なズレは無いはず)。

図19. 周波数領域で発振波形の近傍(500Hzスパン)を観測
OPアンプのPSRRが良いにしても、実装が…ですから、期待していなかったのに結構いいところが出ました。
図20はさらにもっと近傍のノイズを確認したものです。RBWが広めですが、そこで観測されるはずの1/fノイズで変調されているようすも殆ど判りません。
ところが変なスペクトルがあります。これは「まあいいか」と見逃してしまいがちなモノかもしれませんが、「やっぱり確認してみてよかった!」といえる結果になってしまいました…。

図20. 発振波形のさらに近傍(50Hzスパン)を観測
振幅か位相が振動しているというのでは
12Hz位で振幅か位相が振動しているというのではないか?と疑念が出てきました。
振動しているというのは振幅安定動作系が不安定(位相余裕が少ない)であるということで、こういうことは、もし振幅的な変動であれば、電源投入時の立ち上がり特性(ステップ応答)を測定してみれば判断できます。
発振の立ち上がりを観測する
そこでどんなふうに発振が立ち上っているのかも含めて測定してみました。図21は、きちんと振幅レベルが大きくなって(成長して)から目的の振幅レベルに収束する、という本来あるべき姿で問題ありません。

しかし、波形が見た目なんか変だな?と思われるので、収束後を拡大して見てみました。それが図22です。25Hzの変調信号でAM変調が加わっているように見えます。
定常状態になったときスペアナで測定した、周波数領域の表示では、12Hz程度のところにスペクトルが発生しています。ところが上記の測定では、振動周波数は25Hzです。ちょうど1/2なので、何がどうなのかは現段階でははっきりわかりません。
スペアナはスパンが50Hzなので、振動周波数と思われる25Hzは表示範囲外ともいえます。立ち上りから、時間がかかって収束していくなかで、25Hzが消滅し、何かしら12Hzが振幅変動(発振)条件として残っているか?、振動変動条件が変化しているか?というところでしょうか。

簡単に見える回路の落とし穴
しかしこれは、「この回路の落とし穴?」ではないかと思われます。このWienブリッジの振幅安定回路系でランプが遅れ位相となり、そこで発振(振幅変動)の位相条件が満たされている可能性があります。しかし12~25HzではWienブリッジの帰還量βが小さいため、ループとして利得が1になる(発振条件が持続する)のか?という疑問も生じます。
とはいえ最初に書きましたように、ランプを使ったWienブリッジはWilliam Hewlettが修士論文で研究したようです。単に発振するだけでは修士論文ともなりませんでしょうから、この振幅変動の条件も解析したのか?(論文を起承転結とすると、「転」がここか?)とか思いました。
従来から販売されているWienブリッジ型のアナログ発振器は、ランプを使わずに、FETによる疑似可変抵抗を用いて安定化しています。そのため、この回路とは動作条件が異なることになります。
利得制御(可変)回路のモデル
まずはランプによる利得制御回路がどんな風になるのか?という点を測定してみました。ランプのフィラメントの温度に依存しているようで、複数回オン・オフしてみると、電源投入時の初期利得が大きくなったり、低めになったりしています。
これは複数回のオン・オフで、フィラメントの温度が変わっているからでしょう。これはもう少し定量的に測る必要もありそうです。ともあれ図23をご覧ください。
この図は非反転入力端子に1Vを加えた状態で、回路の電源をオンし、ランプに流れる電流量による抵抗変化で生じる、利得変化の時間経過をみた様子です。安定状態で3倍になるべき回路条件です。

入力は1Vで、安定状態で約3倍+αの3.8V程度が出力されています。この図から一次系として(精密ではないが)時定数を考えると100ms位でしょうか。これを振幅という量でブロック線図として振幅安定回路系モデル化してみると、図24のようなモデルになるのではないかと予測してみました。
時定数100ms位というのは、問題点と符合しそうです。

図24. 振幅という量でモデル化してみる
シミュレーションで確認してみた
A=3の利得が変わることにより、発振の立ち上がりがどのように変化するかをシミュレーション(NI Multisim Analog Devices Edition(※))で確認してみました。シミュレーション回路図を図25に示します。
この回路図には、ノイズ源がついていますが、確実に発振を立ち上がらせるための「種」にしています。
このシミュレーションでわかるように、利得を3.1(図26)と3.05(図27)に変えたときで発振の立ち上がるようすがだいぶ変わってきていることがわかります。exponentialで波形が立ち上がること分かります。

図25. A = 3の帰還利得が若干増加したときの発振の立ち上がりをシミュレーションしてみる回路図

図26. R3 = 2.05kΩのとき(A=3.05)での発振の立ち上がり

図27. R3 = 2.1kΩのとき(A=3.1)での発振の立ち上がり
何とかまとめに持っていきたい…
いろいろと解析してきました。まだ本来であれば不足かもしれませんが、何とかそろそろ、まとめに持って行きたいと思います。
発振の動きは「正帰還」になっているわけですね。ここまでの検討でも、計算どおりに回路が発振していることがわかりました。
また振幅安定回路系も「若干発振気味」になっていて、これは本来あってほしくない発振条件なわけです。
抵抗がβ = 1/3の状態から大きめに変化していけば、それに応じて正帰還のexpで発振波形の大きくなっていくようすも判りました。
ランプの等価回路を考えてみれば、その傾斜のようす(微分値)がそのままβの変化に関係するということのようです。またこの傾斜量が大きければ、発振安定回路系のループゲインが大きくなり、その結果として振幅変動の発振が生じやすいということにつながるとも考えられます。
これらの関係が丁度いいところで、12Hzとか(立ち上がりの波形からは原因が見えませんでしたが)25Hz程度の振幅変動が生じていたのだと推測できます。これらを考えると「William Hewlettの修士論文」というのを是非見てみたいと思うところです。
※ NI Multisim Analog Devices Editionの提供は終了しております。 この資料ではNI Multisimを用いていますが、本内容はADIsimPEなど他のSPICEシミュレータでも同様にご活用いただけます。
本資料のPDF末尾には、「Wienブリッジのβ の大きさと位相特性」の資料を添付してございます。
こちらも併せてご活用ください。
著者について
デジタル回路(FPGAやASIC)からアナログ、高周波回路まで多...
この記事に関して
資料
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}