2019年5月18日土曜日

フルディスクリートのフライバック・コンバータを解剖する

最近プログラミングらしいプログラミングのネタが無いので、もう割り切って一切プログラミング関係ないことを記事にしようと思います。

この前とある部品屋に行ったところ、900円の特価でスイッチング電源が売っていました。しかも基板を見るとICらしいICが付いていません。これは買っていろいろ調べるしかない…!
※買った数週間後、別のパーツ屋に行ったら500円で売ってました。ショック…。


というわけで買ってきました。
先に結論を書いてしまいますが、回路図はこのようになっておりました。


順に解剖していきます。

トランスの基本

さて、どこまで基本的なことを説明するか、という話になってしまいますが、トランスについて「1次側と2次側の巻数比で電圧が変換され、1次側から2次側へ電力が伝わる」程度の理解しかしていない人のために少しだけ原理的な話をしておきます。

トランスは同じコアの上に複数の巻線を巻いたものです。そのため、コア内の磁束を$\Phi$とすると巻線の両端の電圧は次式で表せます。\[V=-N\frac{d\Phi}{dt}\]何を迷うこともない、ただのファラデーの法則です。
ここで重要なのは、コアを共用しているため、トランスの全ての巻線はいつどの瞬間でも巻線比に応じた電圧が発生するということです。交流/直流とか正弦波/矩形波とか巻線に流れている電流とか何も関係ありません。コアの磁束の変化はどの巻線にとっても同じなので、理論上は巻線比$N$のみで電圧が決まります
※磁束の漏れとか巻線抵抗とかそういう話をしだすとその理論上の話からはずれていきますが、それは基本をマスターした人が考えてください。

さて、ではその磁束はどうやって生まれるのという話ですが、こちらはアンペールの法則になります。\[\oint_C \mathbf{H} \cdot d\mathbf{l}=I\]電流の周りには磁界が生まれるという法則です。
トランスのコア内の磁束を具体的に計算するのならばアンペールの法則と等価なビオ・サバールの法則を使うと良いでしょう。ただ、ここではあまり具体的な数字には興味が無いので計算は省略します。大事なのは「コイルに電流が流れると、それに比例した大きさの磁束がコア内に生まれる」ということです。言い方を変えれば「コア内に磁束があるということは巻線に電流が流れている」と言えます。
※アンペールの法則では「電流に比例した磁界が生まれる」とまでしか言っていません。磁界は通る材料の透磁率に比例した磁束密度を生み出し、磁束密度に断面積をかけると磁束となります。これらが合わさって初めて「トランスのコア内には電流に比例した磁束が生まれる」という説明になります。

ですので、トランスの1次側に電圧を印加した際の物理としては、
  1. 1次巻線に電圧が加わる 
  2. トランスのコア内に1次電圧に対応した磁束の変化が必要となる
  3. 1次巻線の電流が変化することで磁束の変化が発生する
  4. 2次巻線にはコアの磁束の変化に応じた電圧が発生する
  5. 2次側の負荷によって電流が流れた場合、その電流に応じた磁束がコア内に発生する
  6. 2次電流による磁束の変化によって1次電圧が変化するのは不都合(電圧源につながっている)なので、その磁束変化を打ち消す分の電流が1次側に流れる
という流れとなります(言葉での説明ですので受け取り方によっては多少因果関係がおかしく感じるかもしれません。気になった方は計算して納得してください)。

なお、この説明まででは直流でもトランスで電圧が変換できそうに見えてしまうと思います。実際ここまででの説明ではできてしまいます(電流はべらぼうに流れますが)。しかし実際はできません。
足りていないお話は「磁気飽和」です。電流が磁界を生み、磁界が磁性体の中を通ると磁束密度が生まれます。しかし、磁束密度の上限は材料によって決まっているのです。それより先はいくら磁界が大きくなっても磁束密度は増えません。すなわち、電流がある一定に達すると、それ以上電流が増えてもコイル両端の電圧が上がらなくなるどころかゼロになってしまうのです。ですので、トランスは磁気飽和が起こらない範囲で電流を調整しながら使わなければなりません。

フライバック・コンバータ

ところで、スイッチング電源と一口に言ってもいろいろな方式があります。今回買ってきたスイッチング電源はいわゆる「フライバック・コンバータ」と呼ばれる形式のスイッチング電源になります。比較的シンプルな回路で部品点数も少なくなり、数十Wクラスまでならこの方法で充分に対応できるため、電子工作レベルのスイッチング電源には多用されています。

主回路は次のような構成になっています。



トランスの●は極性を示すものですね。フライバックコンバータでは1次側と2次側で必ず逆極性となります。そのため、1次側に電流が流れているときに2次側に電流が流れるわけではないということに注意してください。


まずはトランジスタをONしたときです。トランス1次側には電源電圧と同じ電圧vがかかります。と同時に2次側にも巻線比nを掛けた電圧nvが出力されますが、ダイオードが付いているため電流が一切流れません。
となると、トランスはただのインダクタとして機能し、1次側の自己インダクタンスに従って線形的に電流が増えていきます。この時流れた電流はトランスのコアに磁気エネルギーとして蓄えられます。


続いてトランジスタがOFFすると1次側では電流が一切流れなくなります。しかし、磁束は連続的にしか変化できないので、2次側に電流を流すことでコアの磁束の変化を連続的にしようとします。すなわち、コアに蓄えられた磁気エネルギーが2次側に電流として放出されるのです。放出された電流はダイオードを通ってコンデンサに充電されます。


タイムチャートにするとこんな感じです。青が1次側、橙が2次側です。シンプルでわかりやすいですね。

発振回路

さて、フライバック・コンバータを実現するには、トランジスタを周期的にON/OFFしなければなりません。そのためには発振回路が必要となります。
複雑な回路やプログラムを持ったICやマイコンを使っても良いのですが(モダンな電源で高効率化を目指すのならばそういうのが必要なのでしょうが)、ここは基本的なアナログ回路での発振を実現しています。発振回路の基本は正帰還となります。


トランスが3巻線になりました。1次・2次でないものを「補助巻線」と定義します。
トランジスタがONしているとき、トランスの1次巻線には電源電圧が印加されます。そうすると補助巻線にも電圧が発生します。電圧が発生するとトランジスタのベースに電流が流れるためさらに1次巻線に電流を流す方向へ進みます。まさに正帰還ですね。
しかし、1次巻線に電圧がかかると電流は線形的に伸びていきます。一方で1次巻線の電圧は一定なので補助巻線に生まれる電圧も一定になります。そのためベース電流も一定です。バイポーラトランジスタはベース電流に対してコレクタ電流の流れる電流が決まりますから、いつか1次巻線の電流がコレクタ電流の上限に到達し、電流が制限されてしまいます。電流が上限に達し一定になると、コイルに流れる電流が変化しなくなりますから1次電圧が急激に下がります。そうすると補助巻線の電圧も下がり、トランジスタも急激にOFFします。まさに正帰還です。

ただ、これだけでは最初にトランジスタをONすることができません。
ですので、ONしてくれる程度の大きな抵抗を電源側に付けてあげます。


これで起動もバッチリ、後は上記の正帰還によって発振を続けていきます。

フィードバック回路

さて、これで発振しても出力電圧を安定化できません。毎周期ごとにトランスに蓄えたエネルギーを2次側のコンデンサに移すだけですので、負荷が無ければどんどんコンデンサの電圧は上がっていきますし、負荷があれば下がります。
すなわち、出力電圧を監視してスイッチングを止めたり動かしたりする必要が出てきます。


その回路を追加したのがこれになります。
トランスを使った電源回路の1つの大きなメリットとして、入力と出力が絶縁されるということが挙げられますが、そのメリットを生かしつつ出力を制御にフィードバックするにはフォトカプラを使います。
そのフォトカプラの手前にはシャントレギュレーターを設置しており、ここで出力が基準電圧より高いか低いかを判断します。基準電圧より高くなるとカソードーアノード間が通になり、フォトカプラが光ります。
フォトカプラが光ると今度は補助巻線に電圧が発生しているときにフォトカプラを経由して補助トランジスタのベースに電流が流れ、主トランジスタのベース電流を補助トランジスタで吸収してしまいます。そうすると主トランジスタがすぐさまOFFし、2次側へエネルギーを供給する量が減ります。これによって出力電圧が下がるのです。
出力電圧が下がり、フォトカプラがOFFするとまた通常のスイッチング動作が始まり、2次側へエネルギーを供給する状態になります。

細かい回路の工夫

ここまでが回路の基本的な動作の仕組みとなります。
ただ、これだけでは充分ではなかったり、逆に効率を上げるために他の工夫をしなければならなかったりして、さらに一ひねり二ひねりある回路を付け加えています。

共振によるサージ吸収

フライバック・コンバータの動作説明で「1次側の電流を瞬間的に切ることによって、磁束の連続性を維持するために2次側に電流が生まれる」と説明をしました。
理想的なトランスならばそれで問題ないのですが、現実はそう甘くありません。

トランスには「漏れインダクタンス」というものがあります。巻線が作る磁界がすべてコアの中を通ってくれれば良いのですが、どうしても一部漏れてしまいます。その漏れが他の巻線に入らなければ、ただの自己インダクタンスとなってしまいます。
自己インダクタンスということは、何が何でもその分の磁束は電流遮断時に自分で賄う必要があります。となると、それによって何とか電流を流そうとトランス1次側に非常に高い電圧が発生してしまいます。サージです。

スイッチング電源のサージ吸収はスナバ回路と呼ばれる回路で吸収することが多いのですが、そうするとそれがそのまま熱として捨てることになってしまいます。ちょっともったいないです。そこで、トランジスタに並列にコンデンサを入れることで、ここで自己インダクタンスに溜まっていたエネルギーを吸収することができ、さらにはトランスの起電力が無くなった後(=2次側からエネルギーを抜き取った後)に整流コンデンサにエネルギーを回生できます。



スイッチングのデューティー比調整

先の「発振回路」のところでフライバック・コンバータは補助巻線がそもそも正帰還なのでそれだけで発振できると書きました。しかし、それだけでは発振のパラメーター調整が難しいです。
そもそもフライバック・コンバータの発振におけるデューティー比は生命線です。ON時間が長すぎたりOFF時間が短すぎるとトランスが磁気飽和を起こして事故が起こりますし、ON時間が短かったりOFF時間が長いとエネルギーを効率的に2次側へ移せません。それを主トランジスタの飽和電流だけで制御するのは流石に無理があります。
また、上記の共振回路によるエネルギーの回生では、共振コンデンサのエネルギーが抜けきったタイミングを見てトランジスタをONしなければなりません。かなり高度なタイミング制御が必要なのです。

そこで、主トランジスタの飽和電流だけでスイッチング周期を決めるようなことは通常しません。万が一電流が流れ過ぎたとき(=磁気飽和する一歩手前の状態になったとき)に止めるための安全装置として機能します。
普段は副トランジスタがスイッチングのタイミングを決めることになります。


まず主トランジスタがONしているときですが、補助巻線は●側が+になりますので副トランジスタのベース手前のコンデンサがどんどん充電されていきます。そして、副トランジスタのしきい値電圧に達したときに主トランジスタはOFFします。


主トランジスタがOFFすると全ての巻線には逆起電力が発生しますので、今度は補助巻き線の●側が-になり、副巻線のコンデンサを放電していきます。コンデンサが放電されるとまた主トランジスタはONし、この動作を繰り返していきます。

ON時間とOFF時間を変えるために、間にはツェナーダイオードが入っています。ツェナーダイオードは順方向ではただのダイオード、逆方向ではツェナー電圧まで電流を流しませんので、ざっくり電流の向きによって抵抗が異なる素子として振る舞います。そのため、充電と放電の時間を変えることができるのです。

フィードバックの位相補償

出力電圧のフィードバック回路ですが、こちらもフィードバック回路ですので発振には注意しなければなりません。
位相補償はC61が担当しています。この容量を小さくすると負荷の変動に対する応答は早くなりますが、開ループ利得があるうちに位相が180°を超えてしまい発振します。大きくし過ぎると負荷変動に対する応答が遅くなります。

負荷調整

フィードバック回路が用意されているとはいえ、補助巻線に起電力が生じなくなった時点で起動抵抗を介して主トランジスタがONしてしまいます。主トランジスタがONすると補助巻き線に起電力が生じ、出力電圧が過剰ならばスイッチングを止めてくれます。
しかし、このサイクルの間にやはり少しのエネルギー移動が発生します。
この際、負荷がほとんど無いと全然そのエネルギーを消化できずにどんどんコンデンサに溜まっていきます。最もスイッチングがされていない条件でもエネルギー供給量が多すぎるのです。これは出力過電圧を起こしますので、割と忌々しき問題です。

上のスイッチング電源では、そのため68Ωという比較的小さな抵抗を出力段に入れています。ここに常時100mA弱の電流を流し、アイドル状態で伝わるエネルギーを消費し過電圧にならないように調整しているのです。
負荷が予めはっきりしていればこの抵抗は不要という判断もできますが、無負荷で使えない電源というのも分が悪いですね…。

その他

出力段のコイルはリプル調整用とか、入力段のコイルはコモンモードノイズフィルタとか、その辺の話は良いですよね。気になる人は自分で調べてください。

まとめ

フルディスクリートのスイッチング電源の回路を調べ、紐解いていきました。
特別なICを積まなくてもLCRといくつかの能動素子のみでスイッチング電源が作れてしまうことがわかりました。面白いですね。と同時に、そのようなシンプルな回路でも安全かつ効率よく動くために様々な工夫が凝らされていることもわかりました。

ここまで回路を見ると自分でも作ってみたくなっちゃいますよね!
スイッチング電源用のトランスは市販されていない(回路によって必要なパラメーターが大きく変わるため汎用品として売れない)ため自分で設計して、それに応じて回路のパラメーターを調整していく必要があります。もちろん部品の入手性の問題も絡んできますし、定性的に原理を理解しても、実際に回路パラメーターをどうするのかというのは一筋縄では決められません。
ある程度は計算で方針を決められても、その次にはコンピューターで回路シミュレーションをしなければなりませんし、それができれば次は試作をし、パラメーターの最終調整をしていかなければなりません。

その辺の話はまた別の機会に。