LoginSignup
4
3

電源回路についてちょっとだけしっかり考えてみる~発振編~

Last updated at Posted at 2023-12-20

こちらの記事、マイクロマウス Advent Calendar 2023ならびに制御工学 Advent Calendar 2023へ参加しています。

前日の記事はSHIMOTORI,Harukiさんのロボトレコースを買った話とreRo杯を開催した話でした。

はじめに

私自身は、(かなり複雑な電源系統を採用しがちであるにも関わらず)あまり電源に関するトラブルに当たったことが無い(自慢)ですが、周りでは結構トラブルになっているように思えます。
一応曲がりなりにも人に教える立場ではあるので、電源のトラブルについて掘り下げてみたいと思います。
ただ、電源のトラブルは多岐にわたるので、今回は特に発振にフォーカスしました。

理論編

ネガティブフィードバックと発振

ブロック線図

電源回路を簡単なブロック回路として表現すると以下の図のようになります。
FB_bsc.png
まず、出力電圧検出回路で、負荷にかかる電圧と目標の電圧を比較します。出力回路+アンプは比べた結果(誤差)が減るように動作し、出力された電圧は負荷を通って出力電圧検出回路に戻ってきます。このように、入力の誤差が減るように出力を制御されるような動作をネガティブフィードバックと呼びます。戻ってきた電圧と出力した電圧が逆位相(-180°)になるように制御している前提なので、この図のように逆位相の部分を切り出します。

安定する電源の場合

入力と出力が繋がったままだと影響しあってしまうので、フィードバックの一部を切り離して評価します。

FB_OK.png

Vfbinがアンプを通ると増幅し位相が遅れ(①)、その後負荷と出力電圧検出回路で減衰&位相遅れが発生します(②~③)。最後に理想反転アンプで反転させると、Vfbinを打ち消すようにVfboutが動いている事がわかります。しかもVfbinよりVfboutの方が大きいので、いずれ誤差が収束していきます。

安定.png

不安定な電源の場合

一方、回路の遅れ(この例では負荷での遅れ)が大きい場合はどうなるでしょうか?
FB_NG.png
この場合、回路での遅れの合計が-180°近く、理想反転アンプでの遅れが-180°となり、合計すると360°近くでVfboutはVfbinの誤差を打ち消すどころか増長させています。しかもVfbinよりVfboutの方が大きいので、誤差は大きくなる一方となります。
不安定.png

周波数特性と発振

発振の原理について、概念的に理解できたところで、もうちょっとちゃんと確認する方法として、最もよく用いられる手段がボード線図による位相余裕の確認です。
ボード線図は、横軸を周波数。縦軸に$\frac{出力}{入力}$の倍率(dB)と入力に対する出力の位相差をプロットしたものになります。
一般に、フィードバックシステムでは高周波になればなるほど増幅は難しくなり、回路の遅れの影響が無視できなくなりますので、こんなボード線図になります。
ボード線図(OK).png
このボード線図では、緑線の周波数でゲインが0dBを迎えており、その後赤線の周波数で位相が-180°となっておりますので、安定と言えます。

逆に、この場合は位相-180°時点でゲインが1(dB)を超えているので発振してしまいます。
ボード線図(NG).png

先に触れたとおり、①位相遅れが-180°以上で、②ゲインが1倍(0dB)であれば発振はしないわけですが、理論上は発振しなくても外乱や部品パラメータのばらつきで発振する可能性がありますし、波形の収束が振動的な場合はノイズ発生源になるリスクもあります。そこで、赤丸-緑丸の位相差にマージンをもたせる位相余裕が必要とされます。
位相余裕に対する(時間軸での)応答は、経験則的に次のとおりです。

位相余裕[deg] 応答 安定判定
振動    
~30° 振動後に収束  ✕~△
~45° ほとんど振動なしに収束
~60° 同上。推奨1
それ以上 振動しないが応答が遅すぎるかも?

実践編

シミュレーション編

ここでは、AnalogDevices社がフリーで公開しているLTspice2という回路シミュレータを使って電源回路のシミュレーションを行い、回路の安定性を検証してみます。

(ちゃんとした)シミュレーション

LTspiceは周波数特性を解析できるAC Analysisモードがあります。フィードバックの評価方法はいくつかありますが、手っ取り早い方法として、フィードバックを切って信号源を入れてしまうやり方があります。このとき、直流的にはフィードバックが切れないように信号源に並列に小さい直列抵抗を入れておきます。ちなみにこの測り方は、FRA(Frequency Response Analyzer:周波数特性分析器)という計測器と同じだったりします3

image.png
V2が注入する信号源なので、振幅と初期位相を設定します。(ボード線図の位相を、-180°を0°としてスタートさせたいので、初期位相は180度です)
image.png
AC解析の設定は、次のとおりです(ACスイープをDecade(10刻み)、10刻みを更に100step。計測範囲を0.001Hz~10MHz)。
image.png
シミュレーションが終わったら、$-V(Vfbout)/V(Vfbin)$をプロットします。

image.png

最後に、ボード線図が得られ、位相余裕を確認することができます。
($-V(Vfbout)/V(Vfbin)$と表示されている部分をクリックすると、カーソルが出ます)
image.png
AC解析のシミュレーションファイル

(ちゃんとしていない)シミュレーション

周波数解析が難しい回路(例:フィードバック端子が出ていないIC、DC-DCコンバータなど)は、ボード線図を得るのが大変だったりします。また、実回路を評価する場合でも、FRAを持っていないかなり面倒だと思います。
そこで、簡易的な評価方法として、負荷をスイッチでON/OFFさせるなど、負荷電流を急変動させる方法があります。負荷をステップ状・インパルス状に変化させることで、フィードバック系に高い周波数成分を持った変動が注入され、不安定な電源では収束が悪かったりと、定常状態ではわからない挙動が確認できます。

image.png
スイッチはMOS-FETでも良いですが、シミュレーションならではの理想スイッチにしておきます。まず、理想スイッチに名前を付けます(LOAD_SW)。
image.png
次に理想スイッチの設定を行います(ON抵抗を1mΩ、OFF抵抗を100Meg、SWのしきい値を0.5Vに設定)

image.png
理想スイッチの信号源は、パルスとします。スイッチのしきい値が0.5Vなので、電圧は0V~1V。DC-DCコンバータの出力が安定してからテストするために25msスタートとします。負荷変動後の安定時間を確保するため、パルスは5ms周期のDuty20%とします(適当)
image.png

過渡応答の設定ですが、シミュレーション時間は50msぐらいにしておきます。
image.png

出力のステップ応答シミュレーションファイル

事例:リニアレギュレータの出力のコンデンサ特性を変化させる

負荷のコンデンサのESR(等価抵抗)や容量を変化させてみました。

まずは安定なパラメータです(1000μF・10mΩ)。ボード線図からは、80°の位相余裕があることが分かります。(ちょっと余裕もたせすぎて応答が遅すぎかも?)
image.png
また、負荷の電流を0.1Aから約1Aまで急変させた電圧がこちらです。負荷が急変したところで電圧が変動しています。
image.png
電流が急変した箇所を拡大すると、振動なしに変動が収まっています。
image.png

まずは次に、少し不安定なパラメータです(10μF・5Ω)。ボード線図によると17°の位相余裕しかありません。
image.png
ステップ状の電流変化では、一見変動が少ないように見えますが、拡大すると振動が見られます。今回の条件では発振しなくても、実際の回路では発振するリスクがあります。
image.png

image.png

最後に完全に不安定なパラメータです(1000μF・0.1mΩ)。位相余裕はほぼゼロです。
image.png
実際、負荷電流を変化させると、拡大するまでもなく、もう無茶苦茶です。
image.png

コンデンサ容量は、安定なケースから変えていないですが、ESRを10mΩ→0.1mΩへ減らして、理想コンデンサに近づけたわけですが、かえって不安定になりました。実際の回路でも、安直に電解コンデンサから積層セラミックコンデンサに置き換えるとこのようなトラブルに見舞われたりします。

理想コンデンサ 電解コンデンサ  積層セラミックコンデンサー
(MLCC)
極性 なし あり なし
耐圧 数V~400V程度 (一般に)数V~数10V
ESR
(等価抵抗)
やや大きい
(数10mΩ~数100mΩ)
小さい(1mΩ~10mΩ)
周波数帯域 0 ~ ∞Hz 0 ~ 100kHz 0 ~ 数MHz
漏れ電流 0 やや大きい 小さい
寿命 有限(温度に依存) ほぼ∞(?)
その他注意事項 - オープン故障する
温度で容量が変わりやすい
ショート故障する
かかる直流電圧で容量が大きく変化する

なので、素子のマニュアルを確認し、使って良いコンデンサのスペックや型番について確認することをオススメします4

事例②:スイッチングレギュレータの場合。

スイッチングレギュレータ(DC-DCコンバータ)の場合、Dutyに変換する部分で非線形な挙動が発生します5ので、ボード線図を求めるのは中々骨が折れます。そこで、本記事では負荷の急変試験だけにしておきます。
image.png
DC-DCコンバータのシミュレーションファイル

コンデンサCoを1000uF(ESRo=100mΩ)にしたところ、挙動は安定しているようです。
image.png

コンデンサCoが1000uF(ESRo=1mΩ)では、少し発振気味に見えます。
image.png

先に上げたリニアレギュレータの場合と同じく、コンデンサの容量が同じでも、ESRが違うと結果が変わることが分かりました。実は、DC-DCコンバータはPWM周期分の無駄時間が位相遅れに繋がるので、余計発振しやすいので、メーカー推奨の容量や型番指定は守ったほうが無難です
image.png
<TPS564242の例>

まとめ

今回の記事では、制御工学における発振現象の理論的な説明から、実際の回路のシミュレーションで安定性の検証を行いました。その結果、電源回路におけるコンデンサ選択の重要性がよくわかったかと思います。
翌日の記事はトコロさんの「学生大会とか今年の機体について」という記事になる予定です。

そのうちやるかも?

  • LTSpiceを使いこなす
  • 電源についてちょっとだけしっかり考えてみる(ネタ未定)
  1. LDO の発振原理と発振耐性向上について

  2. なぜLTspiceなのかというと、元々はリニアテクノロジー社が公開していたspice(回路シミュレータ)だからです。リニアテクノロジーは2016年、アナログ・デバイセズに買収されました。LTspiceはフリーで使えるので非常に助かります。ただ、ICはアナデバの素子ばかりで、他の会社のICは公開されているモデルをインポートしなければならないのが中々面倒です。アナデバの素子なら、データシートや回路例もワンクリックで表示できるの、なんとなくステマ臭いですよね~。大体、なんなのあのAC解析したときのテキスト。グラフ表示ではそんな事無いのに、テキストで吐き出すと無駄に±180°以内に変換されているから、プロットすると途中で位相がぶっ飛ぶし、タブ区切りとカッコ区切りとカンマ区切りがまぜこぜだし、dBとか後ろに付いているし。嫌がらせでしょうが!

  3. 電源回路設計の安定化の評価と電子回路の事前検証 2

  4. BAxxCC0 シリーズの
    出力セラミックコンデンサを使用した回路

  5. PWMはキャリア周波数より速く出力を変化させることができないので、無駄時間を持つ非線形動作となる。また、キャリア周波数は基本的に一定なのにたいし、AC解析で注入される周波数は逐一変化するので、必ずしもキャリア周期分常に遅れるわけでもないです。実際、「電源回路設計の安定化の評価と電子回路の事前検証3」にも記載がある通りLTspice公式も、スイッチングコンバータのモデルは不完全なようです。image.png

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3