ラベル 電源回路 の投稿を表示しています。 すべての投稿を表示
ラベル 電源回路 の投稿を表示しています。 すべての投稿を表示

2020年9月14日月曜日

電子負荷装置を自作する

 さて、今回は(も?)ブログのタイトルに反してプログラミングは全く関係ない記事です。すみません。

1年ほど前、自作で電源装置を作りました。電源装置を作ったら当然負荷テストをしたくなりますよね。ということで、当時はセメント抵抗を何種類か買ってきてテストしていたのですが、抵抗値を変えようと思ったら繋ぎ変えが必要ですので、徐々に負荷を変化させていくということができません。思えば、この時から電子負荷装置が欲しかったのですが、ひとまずは電源装置も安定して動作しておりましたので特にその熱は一旦引いていました。

ですが、最近、日本橋の共立電子に行ったところ、 特設コーナーでスイッチング電源が安売りしていました。5V6Aが550円、12V9Aが1200円など、比較的高出力なものもかなり手ごろな値段で売っております(8月末~9月頭にかけての情報です。特売ですので、いつ行っても買えるとは限りません)。

普段は弱電ばっかり扱っている私ですので、たった数十Wでもパワみを感じて衝動買いしてしまいました。ですが、これだけ高出力な電源の性能を十分に発揮できるだけの負荷が手元にありません。

ここから、1年ほど前の「電子負荷装置」の熱が自分の中で再燃し、せっかくなので作ることを決意しました。

回路設計

電子負荷装置もいろいろなものがあります。商用レベルだと、数百Wとか数kWとかを消費でき、その上、その電力を電力系統に回生するようなものまで売っています。そういうものを自作するのは流石にレベルが高すぎますので、ここは簡単に数十W程度を消費できる単純な負荷を用意することとしました。

モードとしては、定電流モードと定抵抗モードを想定します。定電流モードは入力電圧にかかわらず電流を一定に保つモード、定抵抗モードは入力電圧に比例した電流を流すモードです。名前の通りですね。

この回路は、かなり簡単に作ることができます。オペアンプの基礎が分かっていれば、下記回路には何も説明はいらないでしょう。

たいてい回路図には現れませんが、オペアンプのLM358の電源は12V側から取っています。LM358は2回路入りなので、使わない側は周辺回路と容量結合とかして発振しないよう、適切に接地等してあげましょう。

SW1が定抵抗モード/定電流モードを切り替えるスイッチ、SW2がレンジのスイッチですね。

定電流モードで最大約10Aを流すことを想定しているので、オペアンプの+入力が最大約1Vになるよう抵抗値を調整しました。電源側ににさらに条件を付ければ外部電源無しでも作れますが、それは嫌だったのに加え、電源が必要な電圧/電流計を使用することにしたので外部電源を使うようにしました。

熱設計

電圧、電流、許容損失

さて、上記の通り回路は超シンプルで簡単です。電子負荷装置を作る上で最も難しく、コストもかさむのは熱処理です。

例えばサンケン電子製の2SK3711のデータシートを見ると、定格電圧が60V、定格電流が70Aです。

2SK3711のデータシートより引用)

これだけ見ると、12V10Aくらい余裕のよっちゃんに見えます。

ただ、電子負荷装置は、この12V10AすべてをこのFETで受け止めることになります。たいていのスイッチング用途は何か別の負荷がドレインにつながっていて、それをFETでON/OFFするだけなので、FET自体にかかる電圧は低く、FETそのもので消費する電力もそこまで大きくはなりません。しかし、今回の用途ではすべての電力をFETで受け止めることになります(大事なことなので2度言いました)。

ですが、許容損失は130Wと、12V10A=120Wの損失を発生させても大丈夫そうです。ただし、チャネル温度を150℃以下に抑えられるならね。

そう、一番厳しいのはここ、チャネル温度なのです。定格電流にも定格電圧にも達していなくても、チャネル温度が150℃を超えたらFETが焼け切れてしまうのです。

熱抵抗

熱抵抗というパラメーターがあります。単位はK/Wです。熱伝導率の逆数ですね。「何Wの熱を流すのに何K温度の差が付くか」という物理量です。電気抵抗も「何Aの電流を流すのに何Vの電位差が付くか」という物理量ですね。そのアナロジーで考えると簡単です。

例によって2SK3711のデータシートを見ると、過渡熱抵抗θj-cが定常状態で0.95℃/Wくらいです。過渡熱抵抗と言うとわかりにくいですが、下付き文字の「j-c」は「ジャンクション-ケース間」の意味と思われます。すなわち、チャネルで発生した熱をケース(=FETのパッケージ)に伝えるのにどれくらい温度差が付くか、ということですね。

0.95℃/Wということは、たとえば120Wの損失を作るとチャネルとケースに120×0.95=114℃の温度差が付きます。 超強い放熱器を付けて、ケースを30℃に抑えたとしても、チャネル温度は143℃となり絶対最大定格のぎりぎりとなります。

一方で、例えば東芝製TK70J20Dならば、チャネル-ケース間熱抵抗が最大0.305℃/Wです。先ほどと同じく120Wを消費したとしても、チャネルとケースは36.6℃しか差が付かないということになりますね。これならば少し弱い放熱器を付けて、ケースが110℃くらいまで上昇してしまっても絶対最大定格を超えることはありません。さすが、値段が高いだけありますね。放熱特性が高性能です。

このように、大きな電力を消費させるFETの場合、電流や電圧といった特性よりも何よりも、このようにチャネル温度が最も設計上のボトルネックとなります。

ケース選定

ヒートシンク付きケース

さて、放熱がどれほど重要か、という話をしましたが、そこで重要になってくるのが放熱器です。例えば共立電子ではジャンク扱いでクソデカ放熱器が売っていたりしますが、ちょっとこれはネタすぎてカッコよくないですよね。

今回はタカチ製のヒートシンクアルミケースのEXHシリーズを採用しました。パネルの大きさ、熱抵抗などからEXH14-5-19BBを選択しました。熱抵抗2.27℃/Wです。ちなみに黒アルマイト品のほうが値段が少々高くつきますが、放熱器は黒のほうが黒体放射で冷却性能がやや高いらしいです。ほんとかよ。

このケースだけで値段が5000円程度してしまいます。回路だけだと1000円も出せば十分に組み立てられてしまうのに、ほんと、「電子負荷装置の自作は放熱機構の自作である 」という感じですね。

なお、このケース、放熱器側にナット用の溝があり基板を取り付けることができます。表面にネジ穴を出さないスマート設計ですね。

カタログPDFより引用)

アルミ板を用意し、そこにFET、シャント抵抗、基板を固定しケースに取り付けました。良い感じです。

アルミ板と放熱器の間の空間

さて、この取り付け方、カタログPDFに書いてある通りなのですが、いかんせん、放熱器への熱が流れるルートが少なすぎます。アルミ板とケースが接しているのはナットのレール部分のみ、放熱器本体とアルミ板の間は空気です。空気はかなり熱抵抗が大きな素材です。これでは、効率よく熱を逃がせません。

そこで、間を熱伝導率の高いもので埋めることを考えました。調べていたところ、ワイドワーク製の放熱ゴムというものを見つけました。図面上は隙間が6mm程度ですので、12mm厚のものを購入しました。潰して半分くらいの厚さにできるかなと思いましたが、硬く無理だったので、ハサミでカットして使いました。

熱伝導率2.4W/m・Kなので、面積100mm×100mm(=0.01㎡)、厚さ6mm(=0.006m)とすると2.4×0.01/0.006=4W/Kになります。逆数を取れば熱抵抗で、0.25K/Wとなります。ケースの熱抵抗は2.27K/Wなので、足して2.5K/W程度となります。これで、そこそこの放熱環境を整えられたと言えるでしょう。

耐久テスト

自然冷却

さて、調子に乗って電流を流すと次々とFETが焼けていくんですねえ。さらに、チャネル温度が限界突破して焼けた場合、ドレイン―ソース間がショートモードで故障するらしく、あまり良くない状況になります。

最終的に、TK70J20Dを使って連続30W運転程度が落としどころとなりました。

チャネル―外気間の熱抵抗を3K/Wとすると、30Wで約90℃の上昇となります。気温25℃なら115℃ですね。理論値はこうですが、いろいろと挟んでいるものもあるはずですので、まあこの辺が現実的な解かと思います。

強制空冷

もっと冷やしたくなったら強制空冷ですね。ケースの上にサーキュレーターを置いて、ガンガンヒートシンクを冷やしてみました。

80Wまでなんとかもちました。チャネル温度と気温の温度差を125℃とすると熱抵抗1.56K/Wです。もうすでにこの時点でケースの自然冷却時の熱抵抗を下回っています。さすが空冷ですね。一説によると、熱抵抗が1桁以上変わるんだとか。

ちなみに、90Wにしたら焼けました(◞‸◟)

こうやってみると、TDPが100Wを超えるようなCPUも普通にありますが、その性能をフルに発揮するヒートシンクって実はなかなかに大変なものなんでしょうね。

まとめ

というわけで、電子負荷装置を自作しましたが、話の中心は電気的なところではなく熱的なところとなりました。まあそれも予定調和ですね。

前半のほうに少し触れた電力系統への回生機能を持った電子負荷装置は、単にエコだけでなく、このような強烈な放熱機構の必要性という面からも非常に重要なもの、ということですね。数百Wも放熱するような電子負荷装置を作るとしたら、一体どれだけ大きな放熱機構が必要になることやら。

 

おまけ

デカール貼り

今回、レンジとモードのスイッチを持っていて表記を作らないとわかりにくいことから、デカールを用意して貼り付けました。

小さいころから鉄道模型はやっていたのでインスタントレタリングこと「インレタ」は何度かやったことがあったのですが、デカールはたぶん初めてでした。

難しいですね。小さい文字なんか、器用に貼ろうとしてもどうしても傾いてブサイクになってしまいます。

殉職したFETの方々

今回、実際どの程度FETが持つのかということを知りたくて、FET焼く覚悟で高負荷をかけて実験しました。これらのFETの死は無駄ではなかった…と信じたいです。どうか、来世ではスイッチング電源にでもなって活躍されますように。

FET交換の工夫

最初はFETをはんだ付けしていたのですが、だんだんとそれ自体が面倒になってきます。だってすぐに焼けるんだもん。

ということで、端子台を用意し、はんだ付け不要でFETを交換できるようにしました。

2019年7月30日火曜日

フルアナログの自励式フライバック・コンバータを自作する

前回の記事から遅くなってしまいましたが、今度は自励式フライバック・コンバータを自作してみました。そりゃあね、原理がわかったら自分で試したくなるのがサガってもんでしょう。

注意:スイッチング電源はそのサージにより数百Vの電圧が発生する部位がありますので感電したら重大な事故になることがあります。また、状況により上手く動作せず素子が焼損したり、最悪爆発して重大な事故になる可能性もあります。危険性を認識し安全対策を行ったうえ、各自の責任で製作するようお願いします。万が一の事態が発生しても当方では一切責任を負いかねます

基本設計

まずは基本設計をします。どれくらいのスペックの電源が欲しいかを設定します。

入力電圧 AC100V
出力電圧 2~15V
出力電流 最大3A
スイッチング周波数 75kHz

こんな感じでしょうか。日本でコンセントに接続して使う感じです。出力は可変とし、3Aくらい流せるように作ります。フライバックコンバーターだと数十W程度の出力が限度と言われておりますので、まあこんなもんでしょう。
スイッチング周波数は少なくとも可聴域(~20kHz)は外すようにします。そうしないとコイル鳴きが聞こえて不快です。たいていフライバックコンバータは70~80kHz程度を狙うそうです。

トランス製作

さて、まずはトランスを自作することとします。というよりか、スイッチング電源はトランスが最も鍵となるパーツの上、使用環境によってパラメーターがごっそり変わってきます。市販品をそのまま使うことはまずできません。
となると、トランスのボビンとコアを買ってきて自分で巻かなければなりません。ですが、割とニッチな趣味なのかあまり小売りしている電子部品店は無さそうでした。比較的入手性の良さそうなのはaitendoかと思います。aitendoでは2種類のサイズを売っておりますので、大きいほうのEE25コアを採用すること前提で設計をしていきます(なんか販売終了予定になっているようですので必要な方はお急ぎを)

手順としては、基本設計パラメーターをもとにトランスを設計していきます。それをもとに実際にトランスを巻き、出来上がったトランスのパラメーターを測定します。どれくらい狙ったところにパラメーターを合わせ込めるかはわかりませんが、出来上がったトランスのパラメーターを使って回路全体を設計していくこととします。

トランス設計

aitendoにはトランスコアのデータシートはありませんが、一般的なEE25のパラメーターを使用します。

Le 48.7mm
Ae 40mm2
Bs 420mT@100℃

$L_e$は実効磁路長、$A_e$は実効断面積です。$B_s$は飽和磁束密度ですので、常にこの磁束密度は超えないように注意しなければなりません。

トランスはフライバック型ですので1次側をONしてエネルギーを溜め、その後2次側から放出するという流れになります。そのほか、スイッチング制御用に補助巻線を用意します。
電流はこの図のように流します。$D_{on}$はトランジスタをONしているデューティー比、$D_{off}$はトランジスタをOFFしているタイミング、すなわち2次側にエネルギーを放出しているときのデューティー比です。$D_{delay}$はスナバコンデンサとトランスが共振してスナバコンデンサの電圧が最小になるまで待つ時間です。これを挿入することによりスナバコンデンサの電荷を回生できるので効率が上がります。

1次側

1次電圧は最小で102Vとしました。深い意味はありません。理想は$100{\rm V}×\sqrt 2 =141{\rm V}$となりますが、実際はダイオードブリッジのドロップだったり、平滑リプルによる実効値の低下だったりいろいろあります。ですので、$85{\rm V}\times0.85\times \sqrt 2$にしてみました。

すると、出力は最大で15V3Aに設定しているので出力は45W、効率を仮に82%と置いてみると入力側の電力は55W必要となります。ですので、入力の電流は0.54Aとなります。
その入力電流は平均値です。フライバックコンバータは、実際はトランジスタがONしている間に電流が時間に比例して増えていき、OFFしている間はゼロとなります。ですので、電流の最大値$I_{peak}$は以下の式で表せます。\[I_{peak}=I_{ave} \times \frac{1}{2D_{on}}\]分母に2が付いているのはノコギリ波だからですね。
$D_{on}=0.5$としていますので、$I_{peak}=2.15{\rm A}$となります。

さて、電圧と電流が定まると1次側の自己インダクタンスを求めることができます。
スイッチング周波数を75kHz、デューティー比を0.5からON時間は6.67usとなります。この時間で電流が0から2.15Aまで増えるときにトランス両端に102Vが生まれるわけですから、インダクタの基本式\[V=L \frac{{\rm d}I}{\rm dt}\]を用いてLは317.1uHとなります。

一方で、巻き線のターン数はファラデーの法則スタートで計算できます。\[V=-N\frac{{\rm d}\Phi}{\rm dt}\]コアの最大磁束密度420mTより、安全率0.72を取って最大の磁束密度を302mTとします。そうすると、ON時間(=6.67us)間にこれだけの磁束の変化があればいいわけですから、代入して1次側巻き数を$N_p=56$と求めることができます。

最後にギャップ長を求めておきます。トランスにギャップを付けるとギャップが磁気抵抗のほぼすべてと近似できるため、以下の式が成り立ちます。\[\mathcal R_m=\frac{l_g}{\mu_0 A_e}\]これと磁気抵抗の公式$\mathcal R_m=N^2/L$からギャップを求めると0.497mmとなります。これは実効磁路長におけるトータルのギャップ長ということに注意してください。EE25コアを浮かせると3か所にギャップができますので、1つ当たり1/3でだいた0.165mmとなります。ギャップ長はだいたい0.5mm以下程度を目安とするといいでしょう。あまり大きくなりすぎると漏れ磁束が大きくなり、結合度が下がるだけでなく、サージも大きくなってしまいます。

2次側

トランス2次側は平均値として3Aを出力しなければなりません。トランスから2次側にエネルギーを放出している時間のデューティー比を0.4とし、トランスの出力波形がノコギリ波であることを踏まえると$I_{peak}=3\times2/0.4=15{\rm A}$となります。
2次側自己インダクタンス$L_s$は1次側と同様に求め、5.55uHとなります。ただし、電源装置として出力15Vを確保するために、トランスの出力としては整流ダイオードのドロップ分を考慮して15.6Vとして計算しています。

トランスは1次側と2次側の巻線比の2乗がインダクタンス比ですから、それをもとに2次側の巻き数を求めると7ターンとなります。

補助巻線

補助巻線は1次巻線と巻線の向きが同じですから、1次側との電圧比が巻線比となります。10V出力とすると6ターンとなります。自己インダクタンスは4.08uHとなります。

文章と数式だけで長々と書いてしまいましたが、まとめると以下のようなパラメーターとなります。

1次 自己インダクタンス 317.1uH
巻数 56
2次 自己インダクタンス 5.547uH
巻数 7
補助 自己インダクタンス 4.075uH
巻数 6

トランス巻き

つづいてトランスを巻いていきます。
巻き終わりました(((
結合度を上げるために、1次巻線を半分巻いたら2次巻線を巻き、その上に1次巻線を巻くといった巻き方をしています。
最後は自己インダクタンスを測定しながら上記の値になるようにギャップを調整して終了です。

パラメーター測定

最後に、後ほどシミュレーションできるようにしっかりパラメーターを確認しておきます。各端子の自己インダクタンスのほか、他の端子を短絡させたうえでのインダクタンスも測定しておきます。それにより、結合部分の自己インダクタンスがゼロとなるので、漏れ磁束による自己インダクタンスを求めることができます。そこから巻線間の結合度も導くことができますので、のちのシミュレーションに非常に役に立ちます。
今回私が巻いたものの測定結果は以下の通りになりました。

自己インダクタンス 1次 329.9uH
2次 5.231uH
補助 4.022uH
結合度 1次—2次 0.9865
2次—補助 0.9208
補助—1次 0.9383

ちゃんとした商品の電源トランスは結合度0.9999とか平気で超えるそうですね。ただ、今回はギャップがあったり自分の工作精度だったりでここまで値が下がっています。1次—2次は交互に巻いたので結合度が高いですが、その上に補助巻線を巻いたので、補助巻線と他の巻線の結合度は1次―2次間に比べて悪くなってしまっております。

絶縁抵抗計などを持っていれば1次側と2次側の絶縁性を確認しておくのも良いでしょう。私はあの2万円くらいする計測器は買えませんでした…。

回路設計(シミュレーション)

回路は上記のトランスをもとに作っていきます。

上の画像はシミュレーション用に作ったLTSpiceの回路です。良い部品がなかった場合は類似品としているので、完璧にシミュレーションできているわけではない点に注意してください。
メインのスイッチング用FETは東芝製のTK20A60Uとしました。耐圧600Vと比較的高く、ON抵抗も0.165Ωとかなり抑えられています。

C6とC3は部品選定がなかなか重要です。整流平滑用コンデンサはスイッチング周波数で充放電が繰り返されますので、かなり激しく電流が行き来し、コンデンサの内部抵抗で発熱をします。そのため、それに耐えられるかどうかの指標として「許容リプル電流」というものが定められており、これが使用する回路に適合するように選んでいく必要があります。
とはいえ、リプル電流の実効値を計算していくのはなかなか難しいです。それだけで記事が一つできてしまいそうですので、皆さん各自勉強してください(私ももうちょっとちゃんと勉強したいです)。
今回はC6はニチコンLSシリーズの250V220uF(リプル電流1260mA)、C3はニチコンVRシリーズの25V2200uF(リプル電流1550mA)の2並列としました。回路の中でも大型部品となりますので、箱にちゃんと納められるのかという意味での制約も出てきて選定になかなか苦労します。

他は敢えて説明するほどのものでもないかもしれませんが、少しだけ説明しておきます。C1はM1のゲートを駆動するためのコンデンサです。前回の記事ではバイポーラでしたが、今回はMOSFETですので電荷の供給元が必要です。Q2はフォトカプラだけだとゲインが足りなかったので付けました。なかなかこの辺の回路構成は試行錯誤でした。

あとは、自分の求めたい出力電圧や出力電流を設定しながら、ひたすらトライアンドエラーで回路パラメーターを調整していきます。上手くしないと変に共振してトランス1次側のサージ電圧が高くなってしまったり、2次側の出力電流が大きくなりすぎてトランスが磁気飽和するレベルになってしまったりしますので、実際に作ったときに事故を起こさないようにあらかじめシミュレーションを追い込んでおきましょう。


シミュレーション結果はこんな感じになりました。15V3A出力で安定して出力できています。トランジスタのドレイン電圧も定格はオーバーせず、電流も飽和しないレベルです。

ある程度回路シミュレーションが追い込めたら、次は試作を行いましょう。今回の記事では省略しますが、実際シミュレーション通りに動くとは限りませんからね。
私はそこでトランジスタをいくつか焼いています。

基板設計

さて、試作も終わりある程度作れる目星がついてきたら次は基板を起こします。
回路は基本的にシミュレーションと同じですが、部品単位で起こしたので少し見た目が変わっているのと、ソフトが違うので部品番号が変わってしまっています。また、シャントレギュレーターはシミュレーションではTL431を使いましたが、試作したところおそらく位相余裕が無く負荷条件によっては発散してしまうようで、ここでは製品として高周波ゲインが抑えられた新日本無線のNJM2825を使いました。これだと最小1.2Vまで下げられますし、今回の可変用途にもうってつけです。

さて、今回はKiCadで基板を起こしてみました。


J2はパイロットランプ用の出力、J4は電圧調整用ボリュームのコネクタです。
余談ですが、NJM2825はカソード側が基準となっているオペアンプのため、Bカーブのボリュームの角度に比例した電圧を出力させようとするとこのような位置にボリュームを設置せざるをえなくなってしまいました。この場合、J4を差し忘れたり接触不良が起こった場合、出力電圧が最大値まで跳ね上がってしまうフェイルセーフではない設計となってしまっています。あまりそういうのは良くないでしょうが、かと言ってR15の位置にボリュームを付けると電源装置として使いにくくなってしまいますので、悩んだ末に安全を捨てました。安全を捨てたといっても、コネクタを差しさえすれば問題は無いですので、ある日突然…ということはまあまず無いでしょう。

また、コンセントからアース端子を基板に取り込めるようにしており、出力側はC9を介してアースに接続しております。この回路図には出てきていませんが、筐体に取り付けたACインレットはノイズフィルタ付きの製品を使っておりますので、厳密には1次側と2次側が絶縁された回路と言うわけではなくなってしまいます。
ただ、2次側の出力が完全に浮いているような設計にしてしまっても、回路である以上何かしらの容量で結合しています。そのようなよくわからない電位を設定するくらいなら、ちゃんとマイナス側をアースにコンデンサ結合させておいたほうが安心ですし安定もするはずです。



基板はこのような感じになりました。
基本的には1次側と2次側は分離しております。中央少し左のトランスとフォトカプラを境に1次側と2次側が分かれております。唯一茶色のレイヤーでそこをまたいでいるベタパターンがアースです。
スイッチング回路はノイズを出しますし、他から受けても困りますので、できるだけ機能ごとにまとめます。スイッチング制御回路は中央下側、フィードバック回路は左下側にまとめています。
スイッチング用トランジスタと出力の整流ダイオードは熱を発しますので、放熱板を設置できるような位置に配置します。また、電解コンデンサは熱でどんどん寿命が縮んでいくため発熱部品からは離して配置し…たいところなのですが、そうはいきませんでした…。

それにしても、KiCadの3D表示機能は圧巻ですね。発注した基板が到着するのがいつもより待ち遠しくなってきます。

製作

基板が届いたら基板への部品の実装と箱の加工を進めていきます。
今回、箱はタカチのTS-1というアルミケースを使ってみました。結構ギリギリでしたが、まあ何とか納めることができました。
それにしても、なかなか金属加工というものは骨が折れるものです。できれば工作機械でパパッと穴を開けたいところでしたね。そんないいもの私は持っていないので、ドリルと金ノコ、テーパーリーマとやすりでひたすら頑張りました。

先ほど少し言いましたが、ACの入力側にはノイズフィルタ付きのインレットを使っております。スイッチング電源は高周波で動作しますので、家庭のコンセント側に高周波ノイズをばらまいてしまわないようにとの配慮です。
基板からインレットまでの配線もできるだけツイストし、その配線から出る輻射ノイズもできるだけ抑えるようにしてあげましょう。
動作確認というほどたいそうなことでもありませんが、つまみを動かしたり適当な負荷をぶら下げてみて動作確認をします。
シミュレーションでは15V3A流れましたが、5Ω負荷をぶら下げると5V程度で出力がサチってしまいました。なかなか計算通りにはいかないものです。こういう時に電子負荷装置でも持っていると、負荷を変えながら特性を詳細に探ることができるのでしょうが。

調整

さて、電流が思ったほど出なかったので現物合わせでパラメーター調整をしていきます。
R5でC3を充電し、Q1のベース電圧が上がるとMOSFETをOFFする、という流れになりますので、充電時間を長くすればQ1がなかなかMOSFETをOFFしに行ってくれないのでたくさんの電力を取り出せるようになるはずです。
というわけで、R5を増やしていきました。増やしていったところ、7.5kΩにて短絡電流が3A程度になったので、ここで調整終了としました。 このように複雑なアナログ回路は計算通りに動いてくれないので、最後は現物合わせという形を取る必要が出てきます。

5Ω負荷で1.7A出力ですので、当初予定ほどの性能は出ませんでした、でも、短絡時にメーターが振り切れても困るのでまあこんなところで良いでしょう。これくらいの出力が取れれば、まあ趣味の電子工作程度ではそうそう困ることは無いかと思いますし。

おまけ


消費電力計を買ってきて作ったスイッチング電源の効率を測ってみました。

もちろん負荷によって変わりますが、高出力状態の時でおおよそ75%程度です。もうちょい、実用的には8割以上は行きたいところですが、まあ適当設計なのでこんなもんでしょう。
力率は0.57程度と低めです。というのも、スイッチング電源は入力段にダイオードブリッジとコンデンサでの整流回路を備えていますが、そのような整流回路は電圧がピークになった周辺でしか電流が流れないため電流波形が大きく崩れます。そのため力率は低く、一般的にこれくらいになるそうです。
フライバックコンバータ程度だと問題ありませんが、比較的大きな負荷だと電力系統にダメージを与えてしまいますので、整流回路を制御して力率を改善する回路を入れたりするそうです。


また、出力が2V前後では結構出力リプルが大きくなってしまいました。これはまあフィードバック回路の性能ですので、シャントレギュレーター周りのフィルタを調整することで改善できるのかもしれませんが、基板パターンを改造しなければならないので今回は現状とします。なかなか広い範囲で出力電圧を安定させるというのは難しいのですね。

まとめ

さて、フルアナログのフライバックコンバータ型スイッチング電源を自作してみました。トランスの製作、回路の設計から実際の電源装置の製作までやり、計画していた性能には届きませんでしたが、なんとか実用レベルのものを作りあげることができました。
1個数百円するトランジスタを何個も焼きながら試行錯誤して、結構いろいろな勉強になりました。普段パソコンとかマイコンとかでプログラミングばっかりやっているときとは違う頭の使い方をしますし、アナログ回路って本当に生身で物理の世界に挑んでいる感じがありますのでまた別の面白さがあると思います。

さて、次は何作ろうかな。

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といくつかの能動素子のみでスイッチング電源が作れてしまうことがわかりました。面白いですね。と同時に、そのようなシンプルな回路でも安全かつ効率よく動くために様々な工夫が凝らされていることもわかりました。

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

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