質問:
非常に安定したスイッチング電源でも、発振が生じるケースがあると聞きました。何が原因でそのようなことが起きるのでしょうか?

回答:
確かに、完全とも言えるレベルで安定したスイッチング電源(SMPS:Switch-mode Power Supply)においても発振が起きる可能性はあります。それは、SMPSの入力部が負性抵抗として振る舞うケースです。SMPSの入力部は、小信号負性抵抗だと見なせることがあります。それが入力コンデンサ、入力部のインダクタンスと組み合わせられることにより、減衰を伴わない発振回路が形成される可能性があります。以下では、この問題の解析方法と対策について解説します。なお、その解析には、LTspice®によるシミュレーションを利用することにします。
はじめに
SMPSの機能は、入力電圧を基にしてレギュレートされた一定の出力電圧を生成することです。その際には、できるだけ高い変換効率が得られるようにする必要があります。
現実のSMPSではいくらかの損失が生じます。その効率は次のように表されます。
SMPSを使用すれば、出力電圧VOUTは一定に保たれ、負荷電流IOUTも入力電流VINに依存せず一定に保たれると仮定することができます。図1は、入力電流IINをVINの関数としてプロットしたものです。
図2は、図1のグラフに対し、12Vの動作点における接線を加えたものです。この接線の傾きは、小信号電流の変化を表します。その変化は、動作点における電圧の関数として表されます。
この接線の傾きは、入力抵抗RINまたはSMPSの入力インピーダンスRIN = ZIN(f = 0)を表すと考えることができます。ここでは、周波数が変化しても入力インピーダンスは一定で、ZIN(f) = ZIN(f = 0)であると仮定します(周波数fが0Hzより高い場合に入力インピーダンスがどのようになるのかということについては後述します)。その場合、最も興味深い点は傾きの値が負であることです。つまり、この小信号入力抵抗は負性抵抗として振る舞います。したがって、入力電圧が増加すると電流は減少し、入力電圧が減少すると電流は増加します。
分析の出発点として図3の回路について考えます。このSMPSでは、入力コンデンサ、入力インダクタンス、負性抵抗によって減衰特性を示す回路が構成されると考えることができます。すなわち、Q値の高いLC回路が形成されると見なすことができます。この回路において負性抵抗が支配的である場合、回路は発振器として機能します。つまり、共振周波数の近くでは減衰することなく発振が継続します。実際には、振幅の大きい発振の非線形性によって発振周波数とその波形に影響が及びます。
この回路では、入力フィルタのインダクタンスまたは配線のインダクタンスがインダクタに相当します。回路を安定させるには、負性抵抗の影響を上回る通常の抵抗によって回路で減衰が起きるようにする必要があります。ただ、それは容易なことではありません。まず、インダクタの直列抵抗の値を高くするのは避けたいところです。その値が高くなると、発熱量が増加すると共に効率が低下するからです。また、コンデンサの直列抵抗の値を高くするのも望ましくありません。そうすると、電圧リップルが増加するからです。
問題の解析
電源システムを設計する際には、以下のような疑問が生じることになるでしょう。
- その設計には、発振が生じるような問題点が存在するのだろうか?
- どのようにしてその解析を行えばよいのだろうか?
- 問題点が存在した場合、どのようにしてそれを解決するのか?
ここでは、入力回路の中の1つのアクティブ素子だけが負性抵抗として作用すると仮定します。その場合、SMPSの入力を直接観測することによって把握できるインピーダンスについて解析すればよいということになります。
インピーダンスの実部の値が、周波数にかかわらず正であるとします。その場合、回路は安定しており、SMPSの制御ループそのものが安定していると考えられます。実際の解析は計算またはシミュレーションによって行うことができます。シミュレーションを使えば、入力回路が多数の素子で構成されている場合でも簡単に対応できます。それに対し、解析を伴う設計作業はそれよりも難易度が高くなります。ここでは、まずLTspiceを使用してシミュレーションを実施してみます。
それに向けて、まずは以下のように式を導出し、負性抵抗の一次近似を求めます。
SMPSの入力電力が30Wである場合、12Vにおける抵抗値は-122/30Ω = -4.8Ωとなります。入力フィルタは、LCフィルタとして構成されます。低抵抗の電源によって入力電力が供給されるとすると、等価回路を簡素化することができます。すなわち、0Ωの理想的な電源を備える回路例を想定することが可能だということです (図 4)。
シミュレーション用の回路に電流源を追加すると、入力における小信号インピーダンスはV(IN)/I(I1)として計算することができます(図5)。これについてはLTspiceによって簡単にシミュレーションすることが可能です。
図6に示したインピーダンスのグラフからわかるように、共振のピークは約23kHzに現れます。インピーダンスの位相は、LC回路の共振周波数の周辺では90°から270°の範囲にあります。これは、インピーダンスの実部が負であるということを意味します。なお、インピーダンスを直交座標にプロットして、実部を直接確認することも可能です(図7)。ご覧のように、実部は高いQ値に起因して共振周波数ではかなり大きな値になります(-3Ω)。
図8に示したのは、時間領域のシミュレーション結果です。1ミリ秒の時点に過渡的な外乱を注入した結果、動作が不安定になることがわかります。
先述したとおり、回路のリアクティブな部品に直列抵抗を追加するのは望ましくありません。サイズが大きくなること以外に、回路に悪影響を及ぼすことなくできることにはどのようなものがあるでしょうか。1つは、対象となる周波数のインピーダンスに対して支配的な成分となる適切な直列抵抗と共に、それと同等またはそれ以上の容量値を持つ減衰用のコンデンサ(damping capacitor)を追加することです。望ましい減衰量を得るには、そのコンデンサとして、既存の入力コンデンサと比べて少なくとも数桁値の大きいものを使用しなければなりません。直列抵抗の値は、SMPSの負性抵抗の値よりもはるかに小さくする必要があります。一方で、問題になる周波数に対応して追加するコンデンサのリアクタンスと値が同じであるか、それよりも大きいものを選択しなければなりません。コンポーネントのばらつきに対するマージンは確保できると仮定すると、セラミック・コンデンサ以外のバルク・コンデンサを追加すれば、その等価直列抵抗(ESR)だけで必要な値が得られるかもしれません。
減衰用のコンデンサとその直列抵抗の値を決定する
減衰用のコンデンサとその直列抵抗の値を決定する方法としては、LTspiceによって試行を繰り返すというものが考えられます。ただ、シンプルな回路の場合、以下に示す方法によってその値を決定することができます。
まず、SMPSとACグラウンドの間に並列に存在すると見なせる入力コンデンサと入力インダクタンスによる共振周波数を計算します。ここでは、インダクタの他端に接続された電源が入力フィルタと比べて低抵抗であると見なせるケースを考えます。その場合、以下の式が成り立ちます。
ここで、Cはフィルタのトータルの容量値、Lはフィルタのトータルのインダクタンスです。
この共振周波数において、コンデンサのリアクタンスとインダクタンスの絶対値は等しくなります。つまり、以下の式が成り立ちます。
共振周波数におけるトータルの並列インピーダンスは、次の式で定義されます。
ここで、各変数の意味は以下のとおりです。
XL:インダクタのリアクタンス
XC:コンデンサのリアクタンス
RL:インダクタの直列抵抗
RC:コンデンサの直列抵抗
ここで、XL = -XCです。また、通常、RLとRCはリアクタンスよりもはるかに小さな値になります。そのため、式(5)は以下のように近似することができます。

最後に、XLに√L/C、XCに-√L/Cを代入すると以下の式が得られます。
これが、共振周波数における入力フィルタの等価並列抵抗値になります。
この抵抗値が、SMPSの負性抵抗の絶対値よりも小さい場合、通常の抵抗が支配的となって入力フィルタ回路は安定します。
そうでない場合、またはマージンがほとんどない場合には、減衰量を増やさなければなりません。
そのためには、先述したように、最適な減衰量が得られるように選択した直列抵抗と共にコンデンサを追加します。つまり、図9に示したR1とC2を追加するということです。
追加するコンデンサの値は、フィルタのコンデンサの値と同じかそれ以上でなければなりません。また、入力フィルタの共振周波数におけるコンデンサのリアクタンスの値は、SMPSの負性抵抗の絶対値よりもはるかに小さくする必要があります。通常、前者の条件を満たせば、後者の条件も満たされます。
追加するコンデンサの値については妥協点を見いだす必要があります。そのための1つの方法は、入力フィルタの臨界減衰に近づけることを設計上の目標に設定することです。そこで、臨界減衰となる並列抵抗の値を計算します。臨界減衰になるのは、並列抵抗の値がリアクタンスの値の半分になるときです(Q = 1/2)。つまり、ここで求めようとしている(負の)減衰用抵抗RDAMPと並列の状態にあるSMPSの負性抵抗に対して並列に存在する入力フィルタの並列抵抗の値が、共振の生じる入力フィルタCとLのリアクタンスの1/2でなければならないということです(以下参照 )。
この式は、L/C×1/(RL + RC)と¦RIN¦の値が√L/Cよりもはるかに大きい場合、次のように簡素化できます。
減衰用のコンデンサについては、このRDAMPに対して妥当な値でなければなりません。その推奨値はXDAMP = 1/3×RDAMPです。L/C×1/(RL + RC)と¦RIN¦の値が√L/Cよりもはるかに大きいという上記の仮定が成立するとします。その場合、CDAMP = 6×Cとなります。
入力が臨界減衰に達することはありませんが、それに近くはなります。より大きなリンギングを許容でき、設計上のマージンを十分に確保できる場合には、Cの値をそれよりも小さくすることが可能です。本稿の例の場合、以下のような計算結果が得られます。
実際には、図10に示すように、0.68Ωの抵抗と68μFのコンデンサを使用することにします。図11、図12に、外乱に対する時間領域の応答とACインピーダンスのプロットを示しました。
周波数に対する負性抵抗の振る舞い
電源ユニット(PSU:Power Supply Unit)では、制御ループのループ帯域幅を外れれば、負性抵抗としての振る舞いは止まると思われるかもしれません。ただ、それは通常は誤った思い込みです。PSUが電流モードで動作する場合、正の入力電圧の変化に対する瞬時応答として、SMPSに必要なピーク電流の値を維持しつつデューティ・サイクルが変化します。これは、電圧が上昇する場合には入力電流が瞬時的に減少し、電圧が下降する場合には入力電流が瞬時的に増加するということを意味します。つまり、負性抵抗はスイッチング周波数まで維持されることになります。
PSUが電圧モードで動作する場合、通常は入力電圧からデューティ・サイクルへのフィードフォワード関数が存在するはずです。それにより、SMPSは入力電圧の変化に対して瞬時に応答し、出力電圧が一定に保たれます。これも、スイッチング周波数まで負性抵抗が存在するという結果につながります。つまり、制御ループの帯域幅を狭めたとしても、通常、問題は解決されません。また、レギュレートされていないバス・コンバータは、下流のコンバータがレギュレートされている場合、やはり負性抵抗のように作用する可能性があります。
まとめ
SMPSでは、入力回路のミスマッチに起因して発振が生じる可能性があります。その現象が起きた場合、制御ループが不安定であることが原因だとの誤解が生じてしまうかもしれません。しかし、入力回路と負性抵抗の関係が原因で発振が生じていることがわかれば、LTspiceを使用することで、その動作を簡単に解析して最適化を施すことができます。LTspiceは、無償で提供される高性能のSPICEシミュレータです。しかも、回路図をキャプチャするためのGUI(Graphical User Interface)を備えているため非常に便利です。また、同シミュレータが内蔵する波形ビューアを使用すれば、回路上の必要な個所を簡単にプローブしてシミュレーション結果を生成することができます。更に、LTspice向けにはアナログ回路のシミュレーションを改善するための拡張機能やモデルも提供されています。したがって、SPICEベースの他のソリューションと比べて非常に有用だと言えます。