弛張発振回路で作る信号発生器
図1は,OPアンプ(AD8601)(1)と抵抗,コンデンサで構成された,弛張発振回路を使用した信号発生器です.OPアンプは,レール・ツー・レール出力で,OUT端子に,ピーク電圧5Vの矩形波信号を出力します.
この信号発生器は,ボリューム(VR1)で出力信号の周波数を可変することができます.この信号発生器が出力する信号の,周波数範囲として正しいのは(a)~(d)のどれでしょうか.なお,VR1はAカーブ特性(2)で500kΩのボリュームです.

ボリューム(VR1)で出力信号の周波数を可変することができる.
(a) 5Hz~500Hz (b) 10Hz~1kHz (c) 20Hz~2kHz (d) 40Hz~4kHz

OPアンプ(U1)は,ヒステリシス・コンパレータとして動作します.そして,弛張発振回路の発振周波数は,ヒステリシス・コンパレータのヒステリシス幅と,R1+VR1およびC1の時定数で決まります.
図1の抵抗は「R2=R3=R4」となっているため,OPアンプ(U1)によるヒステリシス・コンパレータのスレッショルド電圧は,(5/3)Vと((2*5)/3)Vの2つになります.コンデンサ(C1)は,この2つのスレッショルド電圧の間で充放電を繰り返し,発振が継続します.このとき,発振周波数(f)は次式で表されます.
f=1/(2*ln(2)*(R1+VR1)*C1)
VR1の摺動子が左端のときの発振周波数(f1)は次式のように,約2kHzになります.
f1=1/(2*ln(2)*(R1+VR1)*C1)=1/(2*ln(2)*5.1k*68n)=2.08k
また,VR1の摺動子が右端のときの発振周波数(f2)は次式のように,約20Hzになります.
f2=1/(2*ln(2)*(R1+VR1)*C1)=1/(2*ln(2)*505.1k*68n)=21
したがって正解は「(c) 20Hz~2kHz」となります.
●弛張発振回路とは
弛張発振回路は,コンデンサの充放電を利用して,矩形波や三角波を出力する回路です.「弛張」という名前は,コンデンサをゆっくり充電して「張る」,閾値に達すると一気に放電する「弛む」という動作に由来します.
回路構成としては,OPアンプやコンパレータ,トランジスタ,CMOSインバータなどを使用した,多くの種類があります.いずれの回路も,比較的少ない部品点数で構成できるため,手軽な発振回路として広く使われています.
●OPアンプを使用した弛張発振回路
図2は,単一電源で動作する,OPアンプを使用した弛張発振回路です.

OPアンプはヒステリシス・コンパレータを構成している.
この回路は,OPアンプでヒステリシス・コンパレータを構成し,コンデンサ(C1)の充放電電圧を監視することで,発振が継続します.発振周波数は,コンデンサの充放電時間と,ヒステリシス・コンパレータのヒステリシス幅で決まります.そこで,最初にOPアンプで構成した,ヒステリシス・コンパレータの動作について考えます.
●ヒステリシス・コンパレータ
図3は,OPアンプで構成したヒステリシス・コンパレータです.抵抗を介して,出力から非反転入力端子に帰還がかかっています.

抵抗を介して,出力から非反転入力端子に帰還がかかっている.
この回路は,反転入力端子の電圧が,T点の電圧よりも「大きいか小さいか」を判定するコンパレータとして動作します.そして,T点の電圧はVinの大きさによって,2通りの値に変化します.ここで使用しているOPアンプは,出力がGNDから電源電圧までフルスイングできる,レール・ツー・レール出力タイプとします.
Vinが0Vのときは,非反転入力端子の電圧が,反転入力端子の電圧よりも大きいため,OPアンプの出力はVccと同じ電圧になります.「R2=R3=R4」とすると,T点の電圧(VTH)は,式1で表されます.
・・・・・・・・・・・・・・・・・・・・・・・(1)Vinが(2*Vcc)/3よりも大きくなると,反転入力端子の電圧が,非反転入力端子の電圧よりも大きいことから,OPアンプ出力は0Vになります.このときのT点の電圧(VTL)は式2で表され,式1よりも小さくなります.
・・・・・・・・・・・・・・・・・・・・・・・(2)そのため,Vinが(2*Vcc)/3よりも大きくなった後は,VinがVcc/3よりも小さくなるまで,OUT端子の電圧は変化しません.VTHとVTLの差がヒステリシス幅(VHW)で,式3のようにVcc/3になります.
・・・・・・・・・・・・・・・・・・・・・・・・(3)
●ヒステリシス・コンパレータを検証する
図4は,図3のヒステリシス・コンパレータをシミュレーションする回路です.

Vinの値を0Vから5Vに変化させ,ふたたび0Vにするトランジェント解析を行う.
Vinの値を0Vから5Vに変化させ,ふたたび0Vとする,トランジェント解析を行います.Vccの値を5Vとしているため,VTHは式4のように,3.33Vとなります.
・・・・・・・・・・・・・・・・・・・・・・・・・・・(4)そして,VTLは式5のように,1.67Vとなります.
・・・・・・・・・・・・・・・・・・・・・・・・・・・(5)図5は,図4のシミュレーション結果です.Vinが上昇して,3.33V(VTH)を超えると,OUT端子の電圧は0Vになります.その後,Vinが低下して1.67V(VTL)になると,OUT端子の電圧は再び5Vになります.

Vinが3.33Vを越えるとOUT端子が0Vになり,1.67Vより小さくなるとOUT端子が5Vになる.
●弛張発振回路の動作
図6は,OPアンプを使用した弛張発振回路をシミュレーションする回路です.この回路のシミュレーション結果を使用して,発振する原理と発振周波数について考えてみます.

図7は,図6のシミュレーション結果です.

このシミュレーション結果を使用して,発振する原理と発振周波数について考える.
赤線がC点(コンデンサC1)の電圧です.C点の電圧がVTH(3.33V)以下のとき,OUT端子は5Vとなっています.そのため,コンデンサ(C1)はR1を介して充電され,C点の電圧が上昇していきます.
C点の電圧がVTHに達すると,OUT端子は0Vとなります.すると,コンデンサ(C1)はR1を介して放電され,C点の電圧が低下していきます.
C点の電圧がVTL(1.67V)まで低下すると,OUT端子の電圧は再び5Vになります.この充放電を繰り返すことで,発振が継続します.
●弛張発振回路の発振周波数
次に,図6の回路の発振周波数がどのように決まるのかを考えます.図7のシミュレーション結果において,C1をVTLからVTHまで充電する時間をT1とし,VTHからVTLまで放電する時間をT2とします.すると,発振周波数fOSCは式6で表されます.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(6)
そのため,T1,T2が分かれば,発振周波数を計算することができます.コンデンサ(C1)を,Vccに接続された抵抗(R1)を介して充電したときの,コンデンサ電圧Vcの時間変化は,式7で表すことができます.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・(7)
ここで,VcがVccの何割まで充電されたか,という係数をkとします.式7を変形し,VcがVccのk倍になるまでの時間(t)を求めると,式8になります(3).
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(8)
T1は,VcがVTHになるまでの時間から,VTLになるまでの時間を引いたものです.そのため,式8を使用して,式9のように求めることができます.
・・・・・・・・・・・・・・・(9)
T1とT2は等しいため,式6に式9を代入すると,発振周波数は式10のように求まります.
・・・・・・・・・・・・・・・・・・・・・・・・(10)
図1の回路では,VR1の摺動子の位置を変えることで,R1の値を,5.1kΩから505.1kΩまで変化させることができます.R1が5.1kΩのときの発振周波数fOSC1は式11のように2.08kHzになります.
・・・・・・・・・・・・・・(11)
また,R1が505.1kΩのときの発振周波数fOSC2は式12のように21Hzになります.
・・・・・・・・・・・・・・・(12)
●弛張発振回路を使用した信号発生器を検証
図8は,弛張発振回路を使用した信号発生器をシミュレーションする回路で,図1のボリューム(VR1)を抵抗に置き換えたものです.VR1をVRaとVRbの2本の抵抗に置き換え,摺動子の位置を表すkという変数を使用して,Aカーブ特性の抵抗値を計算します.

ボリュームの摺動子の位置に相当するkを,0から1まで0.2ステップで変化させる.
「.step」コマンドでkの値を0から1まで0.2ステップで変化させ,この信号発生器の出力周波数範囲を調べます.また,「.MEAS」コマンドを使用して発振波形の周期を測定し,発振周波数を計算して,fという変数に格納します.
図9は,図8のシミュレーション結果で,OUT端子の波形を表示しています.kの値を変えた,6回のシミュレーション結果が重ね描きされています.

6回のシミュレーション結果が重ね書きされている.
図9のグラフでは,発振周波数の変化がよく分からないため,「Ctrl+Lキー」を押して,[SPICE Output LOG]を開きます.[SPICE Output LOG]には「.MEAS」コマンドの計算結果が書かれています.発振周波数は,スクロールすると[Measurement:f]という変数の場所に書かれており,図10のように表示されています.

この結果から,発振周波数は2027Hzから21Hzまで変化していることが分かります.これは,式11,式12の計算結果とほぼ一致しています.
次に,この計算結果をグラフとして表示します.まず,[SPICE Output LOG]の画面で右クリックし,表示されたメニューから[Plot .step'ed .meas data.]を選択します.
次に表示されたグラフ・ウインドウで,右クリックし,表示されたメニューから[Add Traces]を選択します.そして表示候補の中から「f」を選択します.
図11がこのようにして表示した発振周波数のグラフです.横軸が摺動子の位置に相当するkの値で,縦軸が対数目盛とした発振周波数です.発振周波数は,摺動子の位置に対してほぼ直線的に変化していることが分かります.

発振周波数は,摺動子の位置に対してほぼ直線的に変化していることが分かる.
以上,OPアンプを使用した弛張発振回路について解説しました.OPアンプを使用した弛張発振回路は,高い周波数での動作には向いていません.高い発振周波数が必要な場合は,LT1720(4)のようなレイル・ツー・レイル出力のコンパレータを使用してください.
(1) AD8601データシート:アナログ・デバイセズ
(2) ボリューム・コントロールに使用される可変抵抗器の特性:CQ出版社
(3) 無安定マルチバイブレータの発振周波数はいくつ?:CQ出版社
(4) LT1720データシート:アナログ・デバイセズ
解説に使用しました,LTspiceの回路をダウンロードできます.
LTspice12_040.zip
●データ・ファイル内容
Hys_cmp.asc:図4の回路
Hys_cmp.plt:図5のグラフを描画するためのPlot settingsファイル
relaxation_OSC.asc:図6の回路
relaxation_OSC.plt:図7のグラフを描画するためのPlot settingsファイル
relaxation_OSC_step.asc:図8の回路
relaxation_OSC_step.plt:図9のグラフを描画するためのPlot settingsファイル
■LTspice関連リンク先
● LTspice ダウンロード先
● LTspice Users Club
● LTspice メール・マガジン全アーカイブs
◆ Season01 LTspice電子回路マラソン・アーカイブs
◆ Season02 LTspiceアナログ電子回路入門アーカイブs
◆ Season03 LTspice電源&アナログ回路入門アーカイブs
◆ Season04 IoT時代のLTspiceアナログ回路入門アーカイブs
◆ Season05 オームの法則から学ぶLTspiceアナログ回路入門アーカイブs
◆ Season06 LTspiceエデュケーショナル・ファイルで学ぶアナログ回路アーカイブs
◆ Season07 LTspiceドット・コマンドから学ぶアナログ回路アーカイブs
◆ Season08 LTspiceで始める実用電子回路入門アーカイブs
◆ Season09 LTspiceで学ぶオーディオ回路入門アーカイブs
◆ Season10 LTspiceとデータシートで学ぶ実践アナログ回路入門アーカイブs
◆ Season11 LTspiceとデータシートで学ぶ実践アナログ回路アーカイブs









