オペアンプ回路が発振してしまう

本記事は、ROHM社のアプリケーションノート「オペアンプの負荷容量による発振について」を読んで理解するには少し知識が足らないよという人向けに補足説明を加えます。

先ず、オペアンプ回路が持つ周波数特性について、それを活かした回路の動作を概観しながら思い出しましょう。

オペアンプ回路の動きを掴む
<ローパスフィルター>
図1のオペアンプ回路のコンデンサーが果たす役割を考えます。
もし、R2と並列接続されているコンデンサCが無ければ、この非反転増幅回路の増幅率は、V-とV+がバーチャルショートであるとすると、Vin = V- = V+ = (R1/(R1+R2))×Vout なので、これを変形して、Vout=((R1+R2)/R1)xVin となります。 ゲインGは、(R1+R2)/R1 です。 変形して、G=(1+R2/R1) ですね。
入力信号が直流の場合、Cには電流が流れないので、Cが接続していないのと同じです。従って、この場合の増幅率は、G=(1+R2/R1) です。
一方、入力信号が交流で、その周波数が非常に高い場合、Cはショート状態に近くなるのでR2の両端の抵抗は0に近くなり、増幅率は、G=(1+0/R1)=1になります。つまり、増幅しなくなります。 この両極端な状態をイメージできれば、この回路の周波数特性やCの値が増幅率にどのように寄与するか捉えることができます。


コンデンサーのインピーダンスは、Z=1/jwC です。Cはコンデンサーの静電容量です。Cが同じであれば、周波数が高ければ高いほどインピーダンスは小さくなります。理想的なコンデンサーでは、等価直列抵抗は0になります。しかし、実際には誘電体や電極などの損失による抵抗(ESR)や、電極やリード線などによる寄生インダクタンス(ESL)が存在するため、周波数が高い領域ではインピーダンスは、Z=jwLに従い増加していきます。
上記の回路では、コンデンサーの役割を理解するため、この損失や寄生インダクタンスは無視して考えています。

周波数特性の図で示すfcはカットオフ周波数と呼ばれるもので、ゲインが3dB下がる周波数のことです。ゲインが3dB下がるというのは、20log10(パワー比)=-3ということです。コレを解くとパワー比は、10-3/20 で、約0.707となります。これは、1/√2 です。よって、ゲインが1/√2となる周波数がカットオフ周波数と定義しています。fcの導出を以下に示します。

<ハイパスフィルター>
Cを入れる位置を変えてみます。
入力信号が交流でその周波数が非常に高い場合、Cはショート状態になるので、図2の増幅率は、G=(1+R2/R1)です。一方、入力信号が直流の場合Cには電流が流れないためオープン状態と同じとなりR1は無限大になります。よって増幅率は、G=(1+R2/∞)=1となり増幅されません。この回路は、交流成分のみを増幅したい場合に使えることがわかります。




オペアンプ回路の周波数特性
増幅回路は利得周波数特性を持っています。オペアンプ内部の位相補償容量や端子容量、出力インピーダンス、基板の寄生容量、不可の容量、そして回路定数により決まります。
また、増幅回路は位相周波数特性を持っています。これはオペアンプの入力信号波形と出力信号波形の位相差のことを表しています。利得周波数特性と同様にオペアンプの特性や回路定数、寄生容量の影響を受けます。 

オペアンプ回路が発振してしまうことがある
オペアンプを使用したフィードバック回路は、非反転入力端子(+)、反転入力端子(-)、及び帰還回路で構成されます。出力電圧Voは、帰還回路を経て非反転入力端子に接続されます。オペアンプは非反転入力端子の電圧Vin+と反転入力端子Vin-の差がゼロになるよう制御を行いますが、このとき、帰還される信号の位相遅れが原因で出力電圧が発振しする可能性があります。
オペアンプを使用したフィードバック回路では、オペアンプ内部の位相遅れφ1、出力負荷回路や配線による位相遅れφ2、帰還回路における位相遅れφ3が存在し、ループ一周の位相遅れは、φ1+φ2+φ3になります。回路構成による負荷容量Cや抵抗Rが大きければ、オペアンプ内部以外の位相変化は大きくなります。また、回路構成による負荷容量Cや抵抗Rが一定であれば周波数が高い方が位相変化は大きくなります。
もう少し詳しく見ていきます。オペアンプ自身は利得周波数特性を持っています。ある周波数を境に、周波数が高くなるにつれて-6db/octの傾斜で利得が低下しています。(1stポール)これは、1次遅れ要素(1次の系)に現れる一般的な現象です。オペアンプ回路の出力には意図したコンデンサや寄生容量が存在するのが通常でしょう。すると、オペアンプの出力インピーダンスとコンデンサが組み合わせられて新たな1次遅れ要素が生じます。(2ndポール)その結果、全体としては2次遅れ要素(2次の系)が構成されることになります。この2次の系は、リンギングなどの振動状の動作を起こしたり、完全な発振状態に陥ったりする可能性があります。まず、1次の系では信号の位相が最大で90°遅れ、次に2次の系では位相の遅れが最大で180°に達します。2次の系において、その位相が180°遅れた信号を負帰還すると、位相が360°ずれることになります。そうすると、正帰還を行っているのと同じ状態になるということです。加えて、負帰還ループのゲインが1以上になっていると、信号はどんどん増幅され制御が効かない状態に陥ります。つまり発振が起こってしまうということです。オペアンプ自身は発振しないように設計されていますが、このようにユーザーが加えた回路や配線によってポールが追加されることで位相が遅れて、オペアンプ自身が内部に持つ位相補償では対応できなくなり、位相が360度回転することになります。下げる必要のあるときに逆に煽るような動きになる。そして、ゲインが1以上となっている場合には発振に至る可能性が出てきます。
発振してしまう条件を整理すると、次のようになります。 位相が180度遅れることで正帰還がかかっている状態を同じになる、ループ利得が1であればこの系は発散、発振します。

安定の指標
安定性の指標には、位相余裕とゲイン余裕の二つがありあす。位相余裕は利得が1倍(0dB)になったときに位相遅れ180度に対してどの程度余裕があるかを示し、ゲイン余裕は位相遅れが180度(位相余裕が0度)になったとき、利息が1倍よりどれくらい低いかを示します。

位相が遅れる原因
位相が遅れる原因を、一次遅れ要素の代表格であるRCのローパスフィルターで確認しましょう。
このRCフィルタの伝達関数を見ると、コンデンサーが原因でポールを1つ生じてることがわかります。ポールとは伝月関数が無限大になるような「S平面上の点」のことです。例えば電圧関数が G(S)= 1/(s+1)であれば、分母が0になる条件は、s=-1 です。これがポールです。 ローパスフィルタの伝達関数は、 G(S)= 1/(Ts+1)です。ポールは、-1/T です。 ここで、Tは時定数です。RCフィルタの場合RとCで時定数が決まりますね。sはラプラス変数で、周波数領域では、s=jwと起きます。(jは虚数単位、wは各主は数[rad/s])ポールが一つあることで、ゲインを20dB/dec下げ、位相を最大90度遅らせる効果が発生します。ポールが存在するとポールの1/10倍の周波数から位相が遅れ始めます。位相は、次式で示されます。
θ=-ArcTan(wRC)  
低周波数(w → 0)では
・arctan(0)=0
・位相遅れは,ほぼ0°。
高周波数(w → 無限大)では
・arctan(無限大)= -π/2
・位相遅れは-90°。

つまり、「低周波では0°、高周波では-90°に向かってなだらかに遅れる」という感じです。
カットオフ周波数の10倍の周波数付近で位相が90度遅れます。

続いて、ゲイン(絶対値):振幅特性を計算し、続いてカットオフ周波数を求めましょう。
カットオフ周波数とは、「ゲインが1/√2となる周波数(-3dBとなる周波数)」でした。DC(w=0)では、ゲインは1(最大値)です。よって、カットオフ周波数は次式で表現できます。これを解くとカットオフ周波数は、1/Tであることがわかります。ここでは、TはRCです。角周波数w は [rad/s] ですが、周波数 [Hz] で欲しい場合は、 fc = wc/2π = 1/2πT = 1/2πRC となります。 (π:パイです。)
このようなポールが足されていくと、出力信号は入力信号に対して位相遅れが追加されていくことになります。

オペアンプの位相遅れの原因
最も発振が発生しやすいボルテージフォロア(全帰還)回路を使って、オペアンプ回路の移送億例の原因を見ていきます。
下図のように、出力インピーダンス(Rop)と端子寄生容量(Cp)を考慮した伝達関数を考えます。いったん負荷容量(CL)は無視します。


二つ式を立てます。
一つ目は、入力信号(Vin)と全帰還の信号(Vo)の差分にA倍して得られるVopを示す式。(式(1))
二つ目は、Vopを入力信号としてオペアンプ内部の出力インピーダンス(Rop)と寄生容量(Cp)で形成される1次遅れ要素のローパスフィルタモデルで示される式。(式(2))
これらの式を展開すると、最終的に、RopとCpによるポールが形成されいることが分かります。
そして、式(4)において、負荷容量CLを考慮するとCpとCLは並列接続されているため、Cpのところは、 Cp+CLになる。
CLが大きいとポールが発生する周波数は小さくなり、位相が遅れが小さい周波数で始まる。つまり、負荷容量によって、利得や位相の周波数特定が変わってしまうことがわかります。よって、選択するオペアンプ回路と負荷容量に気を遣う必要があります。

計算では、発振有無の検証は複雑になるため、実験によりい位相余裕を確認し、温度や部品特性ばらつきを考慮して、設計を行うことになります。
部品のデータシートを参照し、安定動作のための位相余裕やゲイン余裕の値が目安として示されているため、それを満たすよう設計していきます。

負荷容量による発振の抑制方法の例
アプリケーションノートでは、出力端子に大容量のコンデンサを接続する系など、出力負荷容量が非常に大きい場合の発振対策が2種類示されています。いずれも負荷容量の影響をループ回路から引き離すためのアプローチです。
(その1)は、出力分離抵抗(Rd)を帰還電圧のVoの後ろ、Voutの前に入れています。 式(4)と式(5)のかけ算が示すように、負荷容量(CL)は寄生容量(Cp)を含む伝達関数から引き離され別の伝達関数に含まれます。負荷容量(CL)は、オペアンプ回路のループの外に出すことができました。しかし、出力分離抵抗(Rd)と負荷容量(CL)で、ローパスフィルタを構成するため負荷容量が大きい場合には回路の動作帯域が狭くなる欠点があります。これを回避するのが(その2)です。(その2)の方はやや数式が複雑なので今回は割愛します。