DC-DC電圧変換の魔法(2023)
(lcamtuf.substack.com)- バッテリーや低価格アダプターの電圧は、モーター、LCDバックライト、デジタルチップが要求する電圧と一致しないため、ほとんどの民生電子機器は DC電圧変換 に依存している
- 抵抗分圧器と線形レギュレータは単純だが、負荷電流や電圧降下が大きくなるほど 熱損失 とバッテリー寿命の問題が急速に大きくなる
- チャージポンプはコンデンサのスイッチングだけで電圧を倍化・分割でき、効率が90%を超えることもあるが、単純な構成では 電圧調整 と大電流負荷に限界がある
- Buckコンバータはインダクタとスイッチで低い電圧を高精度に作り出し、小型デバイスでも数A級の電流を扱えるが、インダクタ損失 と無線周波数干渉を考慮する必要がある
- Boostコンバータはインダクタの磁場崩壊によって供給電圧より高い電圧を作り出し、出力が数百・数千Vまで上がりうるため 出力調整 が必須である
電圧変換が必要な理由
- 市場にあるほぼすべての民生電子機器は、何らかの形で DC電圧変換 を行っている
- 一般的なバッテリーや低価格の壁面アダプターの出力電圧は、回路内のすべての部品要件に合致しない
- モーター
- LCDバックライト
- 最新世代のデジタルチップ
- マイクロコントローラ内部でも電圧変換が行われることがある
- EEPROMやフラッシュメモリのために、より高い電圧を作る小さな内部 チャージポンプ が入っていることがある
- CPUコアのために、より低い電圧を作る別個のレギュレータが入っていることがある
- 趣味向け電子回路では、LM7805、LM317 のような古い線形ICが最新の32ビットMCUと一緒に使われることがある
- スイッチングレギュレータが登場していても、用途への適合性を検討せず他の設計をそのままコピーする例は多い
抵抗ベースの電圧分圧器
- 既知で安定した電源から中間電圧を作る最も単純な方法は 抵抗分圧器 である
- R1とR2の中点に意味のある負荷が接続されていなければ、2つの抵抗を流れる電流は同じである
- 中間電圧はR2にかかる電圧降下から計算され、R1 = R2なら中点は供給電圧の半分になる
- 最大の制約は、負荷に流れ出る電流がR1・R2を流れる電流に比べて無視できるほど小さくなければならない点である
- この条件が崩れると、中間電圧は負荷の動作に応じて変化する
- 消費電力の大きい負荷に安定した電圧を供給するには、非現実的に低い抵抗値が必要になる
- その結果、R1-R2経路に大きな無駄電流が流れる
- 実際には、op-amp入力やFETゲートバイアス用の バイアスネットワーク でよく使われる
- こうした用途では負荷は事実上なく、抵抗値を10kΩ〜100kΩ程度にできる
- 無駄電流はマイクロアンペアの範囲に収まる
負荷を分圧器の一部として使う方式
- 負荷が回路条件の中でほぼ一定の抵抗として振る舞うなら、負荷そのものをR2の代わりに分圧器の一部として利用できる
- この方式でも依然としてエネルギーを浪費する
- 負荷電圧を下げる過程は、R1が電子の流れを妨げ、供給エネルギーの一部を熱に変える仕組みである
- 無駄な熱はジュールの法則
P = IVで計算される
- 電流が大きく、必要な電圧低下が数分の1Vより大きいと 損失 は深刻になる
- 有用な仕事をしながら一定の抵抗のように振る舞う負荷は多くない
- プログラムを実行する集積回路はこれに当てはまらない
- 負荷のかかったモーターも当てはまらない
- こうした負荷では、必要電流や見かけのコンダクタンス・抵抗が時間とともに変わるため、抵抗比に依存する分圧器の出力電圧は揺らぐ
基本的な線形レギュレータ
- 可変抵抗のように動作する素子をフィードバック制御すれば、負荷抵抗が変わっても一定の出力電圧を維持できる
- トランジスタベースの電圧フォロワは、この動作に近い
- nチャネルMOSFETは、ソースとゲートの間の電圧が十分に正になると導通し始める
- 抵抗分圧器で目的の電圧をゲートに与え、負荷をソース側に置く構成が可能である
- 2N7000のような汎用MOSFETで実装できるが、期待するほどにはうまく動作しない
- Vth は二値的なしきい値ではない
- BS170のVthは1mAで2.1Vと規定されているが、100mAを流すにはVgsが約3.2Vに達する必要がある
- Vrefが固定されている状態で、より大きな負荷電流が必要になると、ソースと基準電圧の差が広がり、出力電圧が下がる
- 内蔵ツェナーダイオードで絶対的な電圧基準を与えれば、供給電圧の変動に対しても Vref をより安定させられる
- ダイオードは、制御された電流が流れるとき、p-n接合の空乏層を通過するのに必要なエネルギーにより、比較的一定の電圧降下を生み出す
- op-ampを電圧フォロワとして使い、負荷に供給される出力電圧を直接監視すれば、単一トランジスタ設計の限界を抑えられる
- デバイスはVrefとVoutの差を検出する
- トランジスタのゲート電圧を逆方向に調整して誤差を打ち消す
- このフィードバックにより、ゲート-ソース電圧とドレイン電流の間にある非理想的な関係が打ち消され、Vthのオフセットもなくなる
- フィードバック抵抗2本は任意であり、ダイオード基準電圧に比例して出力電圧を調整できる
- R1 = R2ならVoutは
2 × Vrefになる
- R1 = R2ならVoutは
- 線形レギュレータは結局のところ高度な可変抵抗であり、特別な理由がない限り使いにくい
- エネルギーはIとVに比例して無駄になる
- 熱管理の問題とバッテリー寿命の低下が伴う
- 例外は、ごく小さな電流や非常に小さな電圧降下が必要な場合である
- op-amp入力バイアス
- ADC基準電圧の生成
- 精密線形レギュレータはこうした用途に適している
スイッチトコンデンサコンバータとチャージポンプ
- スイッチトモードレギュレータは複雑に見えるが、チャージポンプの基本原理は フライングコンデンサ と出力コンデンサの間で電荷を移動させることにある
- フライングコンデンサCfを供給レールに接続すると、端子間にVsupplyと同じ電圧が生じる
- この電圧はコンデンサ内部の電界に蓄えられた電荷の結果である
- 電源から切り離してもしばらく維持される
- 充電されたCfを出力コンデンサCoに接続すると、一部の電荷がCoへ移動し、出力コンデンサ端子に正の電圧が生じる
- この過程を繰り返すと、Coはほぼ完全に充電される
- AとBの間の電圧はVsupplyに近づく
- 出力コンデンサのより負の端子Bを正の供給レールに結びつけると、AとCの間では
2 × Vsupplyを測定でき、電圧倍化器 になる - 実際のチャージポンプでは、コンデンサを物理的に動かす代わりに、4つのFETを決められた順序で切り替えて電気的にスイッチングする
- スイッチング周波数は通常100kHz〜2MHzである
- 監視回路がスイッチングを仲介し、接続された負荷へほぼ途切れなくエネルギーを送る
- こうした監視機能はさまざまな方法で実装でき、小さなコードを実行する単純なマイクロコントローラ構造も次第に一般的になっている
- 出力コンデンサの配置を変えれば、別の倍率や負電圧を作れる
- Coをグランドレールにつなぎ、Cfを前後に反転させれば負電圧を作れる
- 電荷移動は対称的なので、同じアプローチで 電圧分割 も可能である
- コンデンサは内部電界をうまく閉じ込め、最新のMLCCは標準的なチャージポンプ動作周波数で低インピーダンスを示す
- LM2776 のようなコンバータICは、広い負荷範囲で90%を超える効率を示すことが多い
- 無線周波数干渉も大きくない
- 構造が単純で高度な制御ロジックを必要としないため、専用コントローラチップなしでも即席実装しやすい
- 単純なチャージポンプの大きな制約は 電圧調整機能の不足 である
- Vsupplyの任意の倍数は作れるが、供給電圧が揺らぐと出力も揺らぐ
- 出力電圧を監視し、設定点に達したら電荷移動を止める方式で粗い調整は可能である
- 出力に線形レギュレータを追加することもできるが、効率損失を受け入れる必要がある
- LTC3240 は、およそ±5%で調整される昇圧チャージポンプの例である
- チャージポンプの電荷移動は本質的に不連続で、コンデンサ間の電圧差に依存する
- 出力電圧が目標に近づくほど、1サイクルで移せる電荷は減る
- 大電流用途にはあまり向かない
- およそ200mAを超える負荷にチャージポンプが使われることはまれである
- それ以上ではインダクタベースの解法が優位になる
Buckコンバータ
- 最も単純なインダクタベースの電圧レギュレータは Buckコンバータ であり、供給電圧より低い制御済み出力電圧を作る
- コントローラは出力電圧を監視し、出力が事前設定レベルより低くなるとスイッチを入れて供給レールから出力コンデンサを再充電する
- 突入電流を制限する方法がないと、コンデンサが急速に充電されすぎてVoutが即座にVsupplyまでオーバーシュートする可能性がある
- 充電経路に小さな抵抗を入れることはできるが、エネルギーの一部が熱として消費されて無駄が生じる
- インダクタは電流変化を抑えつつエネルギーの一部を内部磁場に可逆的に蓄えるため、より良い選択である
- スイッチが閉じると、インダクタ電流は徐々に増加し、コンデンサの充電量を制御しやすくなる
- スイッチが開くと、インダクタの崩壊する磁場は既存の電流の流れを維持しようとする
- 新しい経路がなければ、インダクタ端子に危険な電圧スパイクが生じる
- スイッチ側は負電位に、コンデンサ側は正電位になる
- 蓄積エネルギーが非生産的に消費され、インダクタが抵抗と変わらないものになってしまう
- これを防ぐため、単純なBuckコンバータには逆バイアスされたダイオードまたは補助スイッチが必要である
- インダクタ左側が0Vレールよりさらに負電位になると、ダイオードが導通する
- 崩壊する磁場が0Vレールから電子を引き込み、コンデンサと負荷側へ押し出す
- 設計者は、スイッチがオフの間に流れる電流まで考慮して、コンデンサの過充電を防がなければならない
- 磁場に蓄えられるエネルギーは、インダクタのオン時間にほぼ比例する
- したがって現象の規模は予測しやすく、制御もしやすい
- Buckコンバータは高いスイッチング効率をうたうが、最適性能は通常、特定の負荷範囲でしか得られない
- 主な損失源の1つはインダクタコイルの抵抗である
- 安価で小型フットプリントの部品を選ぶと、この抵抗が高いことがある
- インダクタから漏れる電磁場は損失とMF・HF帯の無線干渉を引き起こす
- ラジオ受信機や精密アンプのような用途では、スイッチング電源が問題になることがある
- 一方でBuckコンバータは半連続的に動作するため、高電流伝送と電圧調整に強い
- 電源から負荷へ至る直接の電流経路がある
- インダクタ端子間に一貫した電圧差がある
- AP63203 のような小型デバイスでも数Aを扱える
- インダクタ電流が徐々に増加するため、優れた電圧調整が可能である
- 外付けインダクタが必要なICだけでなく、回路設計を簡単にする低価格の一体型モジュールもある
- CUI VXO7803-500
- MPS mEZD71202A-F
- 小売価格が$1〜$2程度のこともあり、趣味向け回路で時間を節約する選択肢になる
Boostコンバータ
- Buckレギュレータは、出力コンデンサ電圧が供給電圧より高くなると、スイッチが閉じたときにインダクタ電流が逆方向に流れるため、供給レールより低い電圧しか作れない
- より高い電圧を作るための一般的な方式は Boostトポロジ である
- スイッチが閉じると、原理上は供給レール間で短絡が生じるが、短時間であればインダクタが電流の流れを抑え、供給エネルギーを内部磁場へ振り向ける
- この効果はコアが飽和すると急速に弱まる
- インダクタ破壊やエネルギー浪費を避けるには、スイッチを長く閉じたままにしてはならない
- スイッチが開くと、インダクタの崩壊する磁場は元の方向の電荷流を維持しようとする
- コイル左側の端子はより負電位になる
- 右側の端子はより正電位になる
- より負電位側は依然として正の供給レールに接続されているため、供給基準電位は一定に保たれる
- もう一方の端子ではVsupplyより高い電圧が現れる
- この電圧スパイクがダイオードを導通させ、コンデンサへエネルギーを送る
- コイルが生み出せる最大起電力はVsupplyを大きく超えうるため、コンデンサもさらに高い電圧まで充電できる
- スイッチングが十分に速く、過程が無限に続けば、数百または数千Vに達しうる
- したがって 出力調整 が必須である
- インダクタのオン時間を変えることで、各段階で伝達されるエネルギー量を調整できる
- MCP1642B/D のようなBoostコンバータは、単一のアルカリ電池からより高い電圧を必要とするデバイスを駆動したり、LCDバックライトのような装置向けに10V超を作ったりするのによく使われる
- BoostコンバータはBuckトポロジと長所・短所の大半を共有する
- インダクタが必要である
- 無線周波数干渉の痕跡が大きい
- かなりの電流を比較的容易に伝送できる
実装上のダイオード代替
- 実際のBuck・Boostコンバータでは、ダイオードが同期動作する MOSFETスイッチ に置き換えられることが多い
- この変更で機能的な違いは生じないが、p-n接合に本質的な電圧降下を避けられる
1件のコメント
Hacker Newsのコメント
DC-DCコンバータは難しいが面白い。基本概念は、インダクタに短時間電流を流してから遮断すると大きな電圧スパイクが生じるというもので、古典的な自動車の点火装置がこの方式である
そのスパイクをダイオードに通してコンデンサを充電すれば、直流出力を得られる。スイッチング電源の利点は、電力経路に抵抗がほとんどないため効率が良いこと、欠点は周期の一部で入力を実質的に短絡させるため、故障時に火災が起きる可能性があり、突入電流リミッタやヒューズが必要になる場合があること
昇圧、降圧、トランスベースの方式があり、トランスを使うと入力と出力を絶縁できるため、AC電源で駆動する場合は安全上必須である。以前作ったものは、USB 5V DC入力から120V DCを生成し、60mAの120V DCを必要とするアンティークのテレタイプを駆動する回路だった: https://github.com/John-Nagle/ttyloopdriver/blob/master/boar...
基本回路は単純だが、入力USB、出力、無線周波数帯へスパイクが漏れないように複数の表面実装フェライトビーズと小容量コンデンサが入り、電圧・電流ノイズを減らすためにLTspiceシミュレーションで値を選ぶ必要があった
より良い理解の仕方は、電源からインダクタへ電流を流して磁場にエネルギーを蓄え、それを止めると磁場が減少し、エネルギーが再び電流に変換されて回路へ入るというもの
要点は、タイミングとパラメータをうまく選べば、下流の電流の電圧を選択できること。インダクタ両端の電圧はインダクタ導線周辺の磁場強度の傾きによって決まるため、別の傾きを選べば別の電圧を作れる。安定した電圧が欲しいなら、磁場強度のグラフはおおむねのこぎり波になり、誘導電圧のグラフはおおむね矩形波になる。理解のために単純化した説明だが、のこぎり波は一定の電流勾配を作り、それが一定の電圧につながる
スイッチが長くオンになりすぎてインダクタが飽和電流に達したり、複数の連鎖的な故障モードの一つが発生したりすると、入力が実質的に短絡されることはあり得る。単純なタンタル・デカップリングコンデンサやICのSCRラッチアップのように、さまざまな電子回路でも起こり得ることだが、電源トポロジを設計する際にはこうした故障モードを考えるのに適している
ただしUSBを電源にして5Vから120Vへ上げる場合なら、「短絡」という直感がなぜ出てきたのかは理解できる
寄生成分を介して一瞬短絡に近いことが起きる場合はあるが、理想的な場合はそうではない
最近のチップは通常、自前でソフトスタートを行うが、問題は入力コンデンサが必要で、このコンデンサは最初に接続されたとき本当に短絡のように見えること
小さなセラミックコンデンサならたいてい大きな問題にはならないが、ケーブルのインダクタンスが偶然に昇圧コンバータを形成し、実際のコンバータへ電圧スパイクを食わせようとする
昇圧コンバータと水撃ポンプの間には興味深いつながりがある
水撃ポンプは、別の動力なしに水流の運動エネルギーを利用して、河川の水をより高い場所へ汲み上げる装置である。両者の方程式は実質的に同じで、単位だけが変わる
https://en.wikipedia.org/wiki/Hydraulic_ram
最近OCWで公開されたMIT 6.622 Power Electronicsの講義を強くおすすめする
https://youtube.com/playlist?list=PLUl4u3cNGP62UTc77mJoubhDE...
https://ocw.mit.edu/courses/6-622-power-electronics-spring-2...
David Perreault教授は素晴らしい。マルチkWシステムを設計しない限り不要であろう高度なトピックまで扱うが、基礎をすべてカバーし、土台から理解を積み上げて、何をいつ使うのが適切か分かるようにしてくれる
オーディオマニアや鉄道模型愛好家のように、自分の回路を設計して実装できるようになった趣味人は多いので、きっと到達可能な道はあるはずだが、電子工学を本当に学びたいと思いつつ、まだきちんと身につけられていない
抵抗、ダイオード、コンデンサ、トランジスタの基礎は知っていて、トランス・全波整流・コンデンサで構成される最も単純な古典的電源は説明できる。LDO + Arduino/ESP + LEDのような基本的なデジタル回路は作ったことがあり、基礎物理も少し知っている。はんだ付けは得意
「熱管理の問題とバッテリー寿命の低下のせいで、リニアレギュレーションはほとんど苦労に見合わない」という意見には、むしろ正反対だと思う。この記事の対象がホビー開発者なら、かなり多くのプロジェクトは 5V USB充電器から電源を取り、消費電流も数百mA程度である可能性が高い
LDOはとても安く、入手しやすく、出力特性もかなり良く、使うのも非常に簡単。実質的に無制限の5Vがあり、3.3V 100mAが必要なら、なぜ使わないのか?
一方で降圧コンバータには実際のエンジニアリング作業が必要になる。ICを1個適当に入れて、最初の試作で完璧に動くと期待することはできない。高価な完全統合モジュールを使うか、自分で計算して部品調達もかなりやる必要がある。簡単な一回限りのPCBを作るホビー開発者にとって、どちらもそれほど魅力的ではない
ESP32のように250mAを必要とする部品があっても十分で、ホビープロジェクトなら2.40ドルも許容範囲
安い降圧コンバータはノイズがひどく、オーディオや無線関連のプロジェクトを作るとき、あるいはそうした機器が近くにあるときにはかなり厄介
しかし、たとえば24Vを3.3Vに下げる必要があるなら、LDOはかなり熱くなり得るし、100mAでも損失は2Wを超える。結局は「状況による」が正しい
初心者の立場からすると、多くのチュートリアルが「ここに昇圧コンバータの動作に不可欠な魔法のスイッチや発振器がありますが、実際の実装方法は説明しません」という感じで流してしまうので、非常にいら立つ
しかも、その回路は起動時の電圧レベルで動作しなければならず、多くの場合コンバータとガルバニック絶縁もされていなければならない。気にすることが多く、実際には些細な問題ではない
通常の答えは、希望する入力電圧で動作するICを探すか、PWM生成器に必要な少量の電力をリニアレギュレータで供給すること。AIが作った回答をそのまま使うのも注意が必要。Claude 3.5 SonnetはArduinoを230Vに直接接続するよう提案し、何度かやり取りした後でも、意味不明な「逆並列ダイオード」のような奇妙な要素が入った回路を作った
入力電圧範囲、出力電圧範囲、電力といったパラメータに応じて、複雑さ(おおよそのBoM点数)、サイズ、コストなどでフィルタでき、設計には通常リファレンスレイアウトも含まれる
https://webench.ti.com/power-designer/
自動車の電磁両立性試験の仕事をしているが、試験に落ちたり他の機器に影響を与えたりする原因は、ほとんど常に電圧変換まわり
降圧・昇圧コンバータはノイズが多く扱いが難しく、最安のサプライヤのモノリシックICを使うとデバッグも容易ではない。かなり厄介な議論につながる
最近オーディオ関連の作業をしていて、たとえば3.7Vを5Vに変換する多くの装置が電源レールにノイズを注入し、そのノイズがマイク入力まで入り込むのをよく見た
pisourceのバッテリー対応機能は特にひどいが、他のバッテリー電源でもよく起きる。マイクだけでなく、加速度計のような敏感なセンサーも影響を受ける
今後DC-DCコンバータを作る人たちには、電源を十分にクリーンにして、こうしたことが起きないよう気を配ってほしい
これは本質的に避けられず、基板レイアウトに非常に敏感。この広帯域の周波数成分を能動的または受動的にすべて取り除くのはまったく簡単ではなく、一般解はなく、高次元のトレードオフ空間があるだけ
アナログ回路でノイズが重要だというのはその通りで、望むなら内蔵インダクタでノイズを最大限抑えようとする特殊なDC/DCコンバータモジュールに多額を払うこともできる
同期整流コンバータの 96%効率 は紙の上では良さそうに見えるが、シングルボードコンピュータの電流消費が増え続け、BLDCモーターがより高い電圧で動作できるようになると、同じ電源から両方に供給する際に大きな発熱問題が生じる
12Vを5V 5Aに下げる程度なら管理可能な熱だが、バッテリー側が20V、30Vへ上がると、大きな電圧降下で生じる熱損失のせいで周囲が溶け始める。場合によっては、損失が増えても発熱を複数の降圧コンバータに分散するため、まず24Vに下げ、さらに24Vから12V、12Vから5Vへ下げる段階式電源レールを使う必要があった。巨大なヒートシンク以外の専門家らしい解決策が何なのか聞いてみたい
シングルボードコンピュータですでに25Wを放熱しているのだから、DC-DCコンバータの2Wも同じ方法で処理できる
https://www.meanwellusa.com/webapp/product/search.aspx?prod=...
一定の電力レベルを超えると、対流冷却だけで持ちこたえるのは物理的に不可能。オーディオアンプや一般的なCPU/GPUを見ると、MOSFET、コンデンサ、インダクタのバンクが入っている。BoMの部品点数は増えるかもしれないが、各部品に求められる性能は下がる
危険なのは、MOSFETを慎重にグレード分けしてマッチングしなければならないこと。定格電流に近すぎる状態で運用すると、1つが焼け、負荷が残りに分散し、その追加負荷に耐えられず、連鎖的に非常に短時間で故障する可能性がある。あるいは、1つがオープンではなくショートで故障すると、残りも即座に死ぬ
電子工学に詳しくない人向けに親切に警告しておくと、この記事は「ではフクロウを描きましょう」式に書かれている。対象読者が誰なのかよく分からない。
このレベルの内容を読める人は、すでにその大半を知っていて、それ以上のことも知っている可能性が高い。そうでない人には本が必要で、その本ならこれはかなり基礎的な内容なので、扱う過程でここに出てくる方程式も導出し、理解できるようにしてくれるはず。
タイトルに「DC-DC電圧変換」と入っていれば、その意味をまったく知らない人や、すでに正確にできる人をふるい分ける役割は十分に果たすと思う。
マイクロコントローラの世界でよく使われる代替案は、単にダイオードをいくつか直列に積むこと。非常に単純な代替案で、実際に何度か使われているのを見た。