電流制御可変周波数発振回路の発振周波数を表す式は?




『トランジスタ技術』のWebサイトはこちら

■問題

小川 敦 Atsushi Ogawa

 図1は,電流を変えることで発振周波数を変えることができる電流制御可変周波数発振回路です.I1,I2が周波数をコントロールするための電流源で,0.2mAから1mAまで変化します.ダイオードD1,D2は,出力振幅をクランプ(一定にするためのリミッタ)する働きをしています.ここで,ダイオードの順方向電圧および,トランジスタのベース・エミッタ間電圧を共にVBEとし,コンデンサC1の容量値をC,電流源I1,I2の電流値をIXとしたとき,発振周波数を表す式として最もふさわしいのは(A)~(D)のどれでしょう?

(A) f=2*IX/(VBE*C)
(B) f=IX/(VBE*C)
(C) f=IX/(2*VBE*C)
(D) f=IX/(4*VBE*C)

図1 電流制御可変周波数発振回路
この回路の発振周波数を表す式は?

■ヒント

 図1において,Q1とQ2は交互にON/OFFを繰り返し,Out端子(Q4のエミッタ)に現れる発振出力振幅はVBEとなります.また,Q3のエミッタにも,同じVBEという振幅の発振出力が現れます.C1の両端の差電圧は三角波となり,その振幅は2*VBEとなります.その三角波の傾きを決めているのは,CとIXです.これらの関係から三角波の周期を求めて,逆数にしたものが発振周波数です.

 可変周波数発振回路とは,文字通り,発振周波数を変えることのできる発振回路で,様々な種類があります.その中でも,電圧で発振周波数をコントロールできるものを,電圧制御発振回路(Voltage Controlled Oscillator:VCO)と呼びます.VCOはPLL(Phase Locked Loop:位相同期回路)などに利用されます.図1の回路もコントロール電流(IX)を電圧で可変する回路を追加し,VCOとして利用されています.

■解答


(D)

 図1の回路が発振しているとき,コンデンサC1の両端の差電圧は三角波となりますが,その電圧振幅は2*VBEです.その三角波の電圧の傾きはIX/Cになります.傾きがIX/Cで,電圧が2*VBEになるのに要する時間は(2*VBE*C)/IXで計算できます.これが半周期なので,発振周期は2倍の(4*VBE*C)/IXとなります.発振周波数はその逆数のIX/(4*VBE*C)です.これは(D)と同じなので,正解は(D)ということになります.

■解説

●電流制御可変周波数発振回路をシミュレーションする
 図2は,図1の回路でIXを0.2mAとし,C1を1nFとしたシミュレーション用の回路図です.そして,図3図2のシミュレーション結果です.図3のシミュレーション結果を見ながら,図1の回路がどのように動作するのかを考えていきます.


図2 電流制御可変周波数発振回路シミュレーション用回路
図1のCは1nF,IXは0.2mAとしてシミュレーションを行う

 図3は,①がV(Out2)とV(O2)の波形,②がV(Out1)とV(O1)の波形,③がコンデンサ右端(CR)の電圧,④がコンデンサ左端(CL)の電圧,⑤がコンデンサの両端の差電圧(V(CR)-V(CL))です.


図3 図2の回路のシミュレーション結果
このシミュレーション結果を使い動作を解説する.

●電流制御可変周波数発振回路の動作
 まず,図2のQ1がONし,Q2がOFFしている状態から解説します.このとき,Q1にはI1と同じ電流が流れ,その電流はR1に流れます.D1が無ければR1に発生する電圧降下はI1*R1になりますが,電圧はダイオードD1でクランプされます.そのため図3-①のようにO2の電圧[V(O2)]は,VCCからD1の順方向電圧(VD≒0.5V)を引いた「3.0V-0.5V=2.5V」になります.V(Out2)は,O2からさらにQ3のベース・エミッタ電圧(VBE)0.65Vだけ下がった電圧になり1.85Vとなります.
 このとき,Q2はOFFしているため,図3-②のようにO1の電圧はVCCと同じ3.0Vで,V(Out1)は,V(O1)からVDをを引いた「3.0V-0.5V」2.5Vになります.また,Q2がONした場合,V(O1)は,VCCからVDを引いた「3.0V-0.5V=2.5V」になり,V(Out1)は,O1からさらにQ4のベース・エミッタ電圧(VBE)0.65Vだけ下がった電圧になり1.85Vとなります.
 Out1とOut2の電圧は式1,2のように,O1,O2からQ3,Q4のベース・エミッタ電圧(VBE)だけ下がった電圧になります.

・・・・・・・・・・・・・・・・・・・(1)

・・・・・・・・・・・・・・・・(2)

 図3-③のように,Q1がONしたとき,C1の右端(CR)の電圧は最初は2.08V程度になっていますが,徐々に低下していきます.これはQ2がOFFしているので,I2の電流はすべてC1に流れるためです.この電圧低下の傾きは,C1とI2で決まります.ここで,Q2のベースは,Out2に接続され,エミッタはCRに接続されています.そのため,CRの電圧がさらに下がって行き,V(Out2)の電圧よりも,さらにQ2のVBE(約0.5V)分低い電圧になるとQ2がONします.すると,O1の電圧がVDだけ急速に低下し,それによってQ1のベース電圧も低下するためQ1がOFFします.Q1の電流が0になることから,O2はVCCまで急速に電圧が上昇します.
 このように,Q1がOFFし,Q2がONするとOut1とOut2の電圧は式3,4のように変化します.

・・・・・・・・・・・・・・・・(3)

・・・・・・・・・・・・・・・・・・・(4)

 図3-④は,コンデンサC1の左端(CL)の電圧で,Q1がONしているときは,Out1からQ1のベース・エミッタ電圧(VBE)だけ下がった電圧になっています.
 式2,4からわかるように,Out2の電圧はVDだけ急速に上昇するため,Q2のエミッタ(CR)も同様にVDだけ上昇します.するとC1を介してCLの電圧も同じくVDだけ上昇することになります.
 その後,Q1がOFFしていることにより,I1はすべてC1に流れます.そのため,CLの電圧は徐々に低下していくことになります.CLの電圧がさらに下がって行き,V(Out1)の電圧よりもさらに,Q1のVBE分低い電圧になるとQ1がONします.こうして最初の状態に戻り,これを繰り返すことで発振が継続することになります.

●発振周波数の計算
 図2の回路の発振周波数を計算するために,図3-⑤のT1,T2から発振周期を求めます.まず,T1期間の,CLの電圧の傾きは,電流I1に比例し,コンデンサC1の容量に反比例します.また,このときのCLの電圧変化量はVD+VBEです.そのため,コンデンサの容量をCとすると,T1は式5で計算することができます.

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(5)

 同様にT2は式6で計算することができます.

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(6)

 発振周期はT1+T2となり,発振周波数はその逆数です.ここで,VD=VBEとし,I1=I2=IXとすると発振周波数(f)は式7になります.

・・・・・・・・・・・・・・(7)

 式7は,解答の式(D)と同じです.図2の定数を式7に代入すると式8のように,100kHzとなります.

・・・・・・・・・・・・・・・・・・・・・・(8)

 図3のシミュレーション結果は120kHzと,計算より少し周波数が高くなっていますが,これはコンデンサの電圧変化量が計算で使用した値よりも,若干小さいためです.

●IXを変化させたときの発振周波数をグラフ化する
 図4は,電流IXを変化させたとき,発振周波数がどのように変化するかをシミュレーションするための回路です.まず,I1,I2の電流値を{IX}に書き換えます.次に「.Stepコマンド」を追加し,IXというパラメータを0.2mから1mまで0.1mステップで変化させます.合計9回のトランジェント解析を行うことになります.


図4 電流IXと発振周波数の関係をシミュレーションする回路
「.MEASコマンド」を使用して発振周波数を計算する

 このトランジェント解析の結果(図5)から目視で発振周波数を求めるのはかなり大変です.


図5 図4のシミュレーション結果
この結果から発振周波数を求めるのはかなり大変.

 そこで,LTspiceの独自機能である「.MEAS(.measure)コマンド」を使用して電流対発振周波数のグラフを作成します.3行の「.MEASコマンド」を使用していますが,一行目は次のようになっています.



 図5のシミュレーション結果から,発振波形の中心電圧が2.1V付近にあることがわかります,そこで,発振波形が安定した80μsec以降でV(OUT)が2.1Vになったときの時間をT1という変数に代入します.二行目のコマンドは次のようになっています.



 一行目に比べてcross=3というコマンドが追加されていますが,これはV(OUT)が3回2.1Vになったときの時間を取り出すという意味です.T1に比べて1周期後の時間が取り出されることになります.三行目のコマンドは次のようになっています.



 この行は単純に,変数T1,T2を使って周波数を計算しているだけです.(T2-T1)で発振周期を求め,その逆数をとることで,周波数として変数fに代入します.式で表すとf=1/(T2-T1)となります.
 図4の回路をシミュレーションした後,CTRL+Eを押してエラー・ログを表示させます.図6のように「.MEAS」の結果が数字で表示されますが,このウィンドウの中でマウスの右ボタンをクリックして現れたメニューから,「Plot .step'ed .meas data」を選択します.


図6 CTRL+Eを押して表示したエラーログウインドウ
このウインドウの中でマウス右ボタンをクリックする.

 選択するとグラフ表示ウインドウが現れるので,次に[Add Trace]コマンドを選択し,表示されたウインドウの中でfというDATAを選択します.選択すると図7のように横軸がコントロール電流IXで縦軸が発振周波数のグラフを表示することができます.図4の回路の,コントロール電流に対する発振周波数の変化はかなり直線性が良いことがわかります.


図7 「.MEASコマンド」で計算したコントロール電流対発振周波数
コントロール電流対発振周波数の直線性はかなり良い.

■データ・ファイル

解説に使用しました,LTspiceの回路をダウンロードできます.
LTspice2_027.zip

●データ・ファイル内容
CCO.asc:図2の回路
CCO_IX_vs_f.asc:図4の回路

■LTspice関連リンク先


(1) LTspice ダウンロード先
(2) LTspice Users Club
(3) トランジスタ技術公式サイト LTspiceの部屋はこちら
(4) LTspice電子回路マラソン・アーカイブs
(5) LTspiceアナログ電子回路入門・アーカイブs

トランジスタ技術 表紙

CQ出版社オフィシャルウェブサイトはこちらからどうぞ

CQ出版の雑誌・書籍のご購入は、ウェブショップで!


CQ出版社 新刊情報



トライアルシリーズ

高精度cm級GPS測位キット実験集

計測器BASIC

改訂新版 ディジタル・オシロスコープ実践活用法

ボード・コンピュータ・シリーズ

MicroPythonプログラミング・ガイドブック

データサイエンス・シリーズ

Pythonが動くGoogle ColabでAI自習ドリル

アナログ回路設計オンサイト&オンライン・セミナ