STM32ベースの同期整流Buck-Boostデジタル電源 オープンソース

STM32G474ベースの4スイッチBuck-Boost デジタル電源。TypeCインターフェースのPD誘導入力とDC5.5インターフェース入力をサポートし、入出力最大48V10A。これは私の卒業設計で、現在オープンソース化しており、回路図、PCB、プログラムソースコード、筐体3Dモデルなどの資料を含んでいます。

出来栄えは平凡ですが、批判はご遠慮ください。友好的な交流を歓迎します。

作品デモビデオ:https://www.bilibili.com/video/BV1Ui421y7ip/

CH32V307ベースのスマート電子ロードのオープンソース、組込み大会作品のオープンソース:https://blog.zeruns.com/archives/785.html

本プロジェクトの立創オープンソースプラットフォームのオープンソースリンク:https://url.zeruns.com/noGf0

電子・マイコン技術交流QQグループ:2169025065

資料ダウンロードアドレスは記事の最後にあります。

ハードウェア回路設計には立創EDAソフトウェアを使用しており、このソフトウェアは本当に使いやすいです。

概要

本設計はSTM32ベースの同期整流Buck-Boostデジタル電源に基づいており、この電源回路はMOSFETドライバ回路、4スイッチBuck-Boost回路、信号調理回路、PD高速充電プロトコル回路、補助電源回路、マイコン制御回路などの部分で構成されています。

この電源はDCインターフェースまたはType-Cインターフェースで給電でき、Type-Cインターフェースは充電器とPD高速充電プロトコルで通信をサポートし、自動的に最高20Vの動作電圧をリクエストして取得します。この電源はSTM32G474マイコンを使用して入出力の電圧と電流をリアルタイムで監視し、PID制御アルゴリズムを通じてPWMデューティ比を調整し、過電圧・過電流保護を実現し、マザーボード温度をサンプリングして過温保護を実現することもできます。さらに、OLEDスクリーンを通じて電源のパラメータをリアルタイムで確認でき、ロータリーエンコーダとボタンで出力電圧と電流を設定でき、別のType-Cインターフェースを通じてホストコンピュータと通信でき、ホストコンピュータソフトウェアを通じて電源の各パラメータと波形をリアルタイムで確認できます。

設計性能パラメータ

電源の設計性能パラメータは以下の表の通りです:

項目 パラメータ指標
入力電圧範囲 12Vdc~48Vdc
入力電流範囲 0~10A
出力最大電力 450W
出力電圧範囲 0.5Vdc~48Vdc
出力電流範囲 0~10A
出力電圧リップル ピークツーピーク≤200mV
スイッチング周波数 181.333kHz

実物写真

VOFA+をホストコンピュータソフトウェアとして使用し、電源の各パラメータ(入力電圧と電流、出力電圧と電流、マザーボード温度、MCU温度、電源変換効率など)と波形変化をリアルタイムで確認できます。以下の図に示すとおりです。

システムブロック図

ハードウェア回路設計

部品選定計算

インダクタンス計算

同期BUCK-BOOST電源では、インダクタンスの計算はBUCKモードとBOOSTモード下の動作状況を考慮する必要があり、両モード下で回路の動作要件を満たすことを確保する必要があります。通常、インダクタンスの選択は2つのモード中でインダクタンス要件がより高いモードに基づいて行われます。

電源がBUCK降圧モードで動作する場合、入力電圧の最大値が48V、出力電圧の最小値が5Vと仮定し、最小PWMデューティ比を計算します:

D_{min} = \frac{V_{out\\_min}}{V_{in\\_max}} = \frac{5V}{48V} = 10.417\\%

インダクタ電流変動量を定義します(最大定格電流の25%の脈動、最大定格電流を10Aとする):

\\Delta I_L = 25\\% \\cdot I_{out\\_nom} = 25\\% \\times 10A = 2.5A

必要な最小BUCKインダクタンスを計算します:

L_{minBuck} = \\frac{V_{out\\_min} \\cdot (1 - D_{min})}{\\Delta I_L \\cdot f_{switch}} = \\frac{5V}{2.5A \\times 181333Hz} \\times (1 - 10.417\\%) \\approx 9.88\\mu H

電源がBOOST昇圧モードで動作する場合、入力定格電圧24Vを計算点として、PWMデューティ比を計算します:

D_{Bo} = 1 - \\frac{V_{in\\_nom}}{V_{out\\_max}} = 1 - \\frac{24V}{48V} = 50\\%

Boostモード下で、1A($I_{minb}$)の時Boostが連続モード(CCM)に入る場合、インダクタンスを計算します:

L_{minBoost} = \\frac{V_{out\\_max} \\cdot D_{Bo}(1-D_{Bo})^2}{2 \\cdot I_{minb} \\cdot f_{switch}} = \\frac{48V \\times 50\\% \\times (1 - 50\\%)^2}{2 \\times 1A \\times 181333Hz} = 16.544\\mu H

公式から得られた計算結果に基づいて、予定されたリップル電流要件を満たすために必要な最小インダクタンス値が決定されました。この条件を満たすことを確保するために、計算値よりもやや高いインダクタンス値を持つインダクタ素子を選択する必要があります。同時に、選択したインダクタの飽和電流が回路内の最高電流ピーク値に耐えられることを確保する必要があります。計算プロセスで効率要因を考慮していないため、実際のデューティ比とピーク電流は理論計算値より低い可能性があります。したがって、選択時には、実際の動作条件下で発生する可能性のあるさまざまな状況に対応するために、一定の安全マージンを考慮する必要があります。

上記の要因を総合的に考慮して、本設計は1770表面実装パッケージで飽和電流が10A以上の22μHのインダクタをBUCK-BOOST回路のインダクタ素子として選択しました。

キャパシタンス計算

より良い出力電圧リップルを得るために、設計の電圧リップルを50mVとします。

\\Delta V_{out} = 0.05V

上記で選択したインダクタンスは22μHなので、ここでもこのインダクタンス値を使用して計算します:

L_{BB}=22\\mu H

BUCK降圧モードとBOOST昇圧モード下で動作する場合に必要な最小キャパシタンス$C_{minBuck}$と$C_{minBoost}$をそれぞれ計算します:

C_{minBuck}=\\frac{V_{out\\_min}\\cdot(1-\\frac{V_{out\\_min}}{V_{in\\_max}})}{8\\cdot L_{BB}\\cdot \\Delta V_{out}\\cdot {f_{switch}}^2}=15.48\\mu F
C_{minBoost}=\\frac{I_{out\\_nom}\\cdot(1-\\frac{Vin\\_min}{Vout\\_max})}{\\Delta Vout\\cdot fswitch}=413.6\\mu F

設計には一定のマージンが必要であり、より低い出力リップルのために、低ESRの220μF固態電容器1個と470μFの通常の電解電容器1個を選択し、合計690μFです。

MOS選定計算

定格入出力電圧範囲内で、入力MOS電流の実効値を計算します:

i_{mos\\_rms}=7.098A

MOSFET選定でMOS管の定格電流値$I_D$は、MOS管を流れる最大電流の2倍以上に従って選定する必要があります(故障または短絡状態下での電流過大による衝撃損傷を防ぐため)。

2×i_{mos\\_rms}=14.196A

MOSFET選定の定格耐圧値$V_{DS}$は最大入力電圧の1.5倍より大きい必要があります(スパイク破壊を防ぐため)

1.5×Vin\\_max=72V

上記の計算を参考にした後、通常のアプリケーションシーンでは、定格電流が15アンペア(A)を超え、耐圧レベルが100ボルト(V)のMOSFETを選択できます。下管MOSFETの選定は上管と同じで、発熱を考慮して、導通と開閉プロセス中のエネルギー損失を最大限に減らすために、低導通抵抗($R_{DS(on)}$)と低出力電容(Coss)を持つMOSFETを優先的に選択する必要があります。

本設計で選択したMOSFET型番はCJAC80SN10で、江蘇長晶科技股份有限公司が製造した国産化MOSFETです。100Vのドレイン・ソース耐圧($V_{DS}$)と最大80Aのドレイン・ソース電流($I_D$)を備えています。導通抵抗($R_{DS(on)}$)はわずか6.2mΩで、この低抵抗特性は素子の導通状態での電力損失を減らすのに役立ちます。同時に、素子の出力電容Cossは420pFの典型値を持ち、この比較的低い電容量はスイッチング変換プロセス中の動的損失を低減するのに役立ちます。したがって、CJAC80SN10はプロジェクトに必要な電気特性を満たしながら、エネルギー損失を効果的に減らし、システム全体の効率を向上させることができます。

電源ボード回路設計

メイン電力回路

下図は同期BUCK-BOOST電源メイン電力回路図で、左側が入力です。同期BUCK降圧回路はMOS管Q2とQ4とインダクタL1で構成され、同期BOOST昇圧回路はMOS管Q3とQ5とインダクタL1で構成されています。各MOS管のゲートとソース間には10kΩの抵抗が並列に接続されており、MOSのゲートが浮遊状態にならず、誤動作による導通を防ぐことを確保しています。

メイン電力回路全体は左右対称構造で、入出力端には各々1個の470μF/63V アルミ電解コンデンサと1個の220μF/63V固態アルミ電解コンデンサが設置されています。さらに、2個の小型表面実装MLCC(多層セラミックコンデンサ)があり、パラメータは10μF/50Vで、ポート処の高周波ノイズ干渉をフィルタリングするために使用されます。R9とR10は入出力ポートの疑似負荷で、電源が切断されたときに回路内の残留エネルギーを迅速に消散させることができます。R13とR14は高精度の5mΩ抵抗で、電流サンプリングに使用され、後段の差分増幅回路で入出力の電流信号を増幅します。CNT1とCNT2は出力端子です。L1とL2はそれぞれ表面実装1770パッケージと直挿磁環インダクタパッケージで、そのうち1つをはんだ付けするだけで済み、両方を描画しているのは異なるインダクタの効果と性能をテストするのに便利にするためです。

電源入力と高速充電プロトコル回路

下図は電源の入力インターフェースとPD高速充電プロトコル通信の回路図です。

電源入力は2つのインターフェース、すなわちDC5.5*2.5mm メスコネクタとTypeC メスコネクタを採用しており、そのうちTypeC インターフェースはBC1.2、PD3.0/2.0など複数の高速充電プロトコルをサポートし、使用する高速充電プロトコルチップの型番はCH224Kで、高速充電充電器と通信して充電器が最高20Vの電圧を出力させることができ、最高100Wの電力をサポートします。

D1、D3、D4ダイオードの役割はDCインターフェース電圧がTypeC インターフェースに逆流するのを防ぐことで、設計上2つのインターフェースが同時に接続されることは許可されていません。D5は逆接保護用ダイオードです。FH1は電源入力ヒューズホルダーで、12Aのヒューズを挿入します。

ドライバ回路

同期BUCK-BOOST電源の設計では、BUCK回路とBOOST回路の両方に高側N-MOSFETが含まれています。従来、これらの高側N-MOSFETのドライブは通常、トランス隔離ドライブ方式を採用していますが、この方法は回路の複雑さを増加させ、回路基板のサイズを拡大します。

本設計は自己ブートストラップ回路機能を備えた2個のMOS管ドライバチップEG3112を選択して、BUCK回路とBOOST回路のMOS管をドライブします。EG3112は非隔離型の相補デュアルチャネルドライバチップで、2Aの出力ドライブ電流能力はMOSFETが迅速に導通することを確保し、チップは内蔵デッドタイム制御機能を備えており、出力ドライブ信号の直通を防ぎ、システムの安定性を向上させます。具体的な回路は下図に示すとおりです。

BOOST昇圧回路のMOS管ドライブを例として、PWM2LとPWM2HはSTM32G474マイコンから出力されるPWM信号で、EG3112ドライバチップのLINとHINピンに送られ、LOは下管ドライブ信号出力で、ドライブ抵抗値は10Ω、HOは上管ドライブ信号出力で、ドライブ抵抗値は10Ω、D7は上管ドライブ回路ブートストラップダイオード、D9とD11ダイオードはゲート電荷を迅速に放出するために使用され、MOS管のオフ速度を加速し、C14はブートストラップコンデンサです。

ドライブ抵抗の役割はMOSFETスイッチングプロセス中、ドライブ信号がPCB配線、分布電容、インダクタンスなどの素子に反射と振動を生じる可能性があり、直列抵抗を通じてこのような振動を減らし、システムの安定性と信頼性を向上させることができます。

補助電源

下図は電源ボード補助電源供給回路原理図です。

第1段階の12V出力補助電源回路は集積高側MOSFETのBUCK型電源チップTPS54360Bを選択して設計しました。チップマニュアルに従い、RTピンに下拉抵抗を接続してスイッチング周波数を設定でき、ここで110kΩの抵抗を選択し、対応するスイッチング周波数は876.5kHzで、より高いスイッチング周波数により小さいインダクタンスを選択してスペースを節約でき、この周波数に基づいてインダクタンス値は9.75μH以上である必要があり、ここで10μHのインダクタンスを選択し、SS310を続流ダイオードとして選択します。C26とC27は入力フィルタコンデンサで、フィードバック分圧抵抗R19とR25は0.8Vの基準電圧をチップFBピンに分圧した後、出力電圧が12Vの時を保証します。C18とC19は第1段階12V出力補助電源のフィルタコンデンサです。第1段階12V出力は主に第2段階6V降圧回路の入力、およびMOSFETドライバ回路と冷却ファンの使用に供給されます。

第2段階の6V出力補助電源回路は集積MOSFETの同期整流BUCK型電源チップSY8205を選択して設計しました。チップマニュアルの説明に従い、チップスイッチング周波数は500kHzに固定され、補助電源BUCK回路のインダクタンスを10μHとして選択します。C21とC22は入力フィルタコンデンサで、フィードバック分圧抵抗R23とR26は0.6Vの基準電圧をチップFBピンに分圧した後、出力電圧が6Vの時を保証します。C24とC25は第2段階6V出力補助電源のフィルタコンデンサです。12Vから5Vへの直線型稳圧器の使用は比較的大きな損失を引き起こすため、先にスイッチング電源で5Vに近い電圧に降圧してから線形稳圧器で目標電圧に降圧する方法を採用し、これにより高い効率と低い出力リップルを保証できます。

第2段階出力の6V電圧は線形稳圧チップAMS1117-5を通じて5Vに降圧され、第3段階補助電源として機能し、電圧基準チップREF3033は信号調理、OLED表示、USB通信などの機能回路に供給されます。

5V直流電圧は線形稳圧チップAMS1117-3.3を通じて3.3Vに降圧され、第4段階補助電源として機能し、MCU、ブザー、Flashチップなどの回路に供給されます。

電圧基準チップREF3033は3.3Vの基準電圧を出力してMCUのVREFポートに供給され、MCU内蔵ADCの参照電圧として機能し、ADCのサンプリング精度を向上させます。

信号調理回路

上図に示すように、本設計の入出力電圧のサンプリングと信号調理回路は差分増幅技術を採用しています。差分増幅トポロジーはスイッチング電源の高周波ノイズが信号調理回路に与える干渉を効果的に低減し、信号の安定性と信頼性を向上させます。このような回路では、変換精度を向上させるために低オフセット演算増幅器GS8558-SRを選択しました。GS8558-SR演算増幅器は優れた直流精度と低バイアス電流特性を備えており、これは信号調理回路全体の性能向上に非常に重要です。

差分増幅回路のフィードバック抵抗:

R_{38}=4.7kΩ
R_{36}=75kΩ

差分増幅倍数を計算します:

K_V=\\frac{R_{38}}{R_{36}}=0.062667

MCUのADC最大サンプリング電圧は電圧基準チップ出力の3.3Vなので、サンプリング可能な入出力電圧の最大値を計算できます:

V_{max}=\\frac{3.3V}{K_V}=52.66V

スイッチング電源の高周波ノイズが差分増幅回路に与える干渉をより良く抑制するために、演算増幅器の電源ピンにデカップリングコンデンサC40とC41を追加してフィルタリングし、コンデンサはMLCC(多層セラミックコンデンサ)を選択しており、MLCCは低ESRと低ESLを備えているため、高周波ノイズのフィルタリングでより良い効果を持ち、同時に出力端にR35抵抗とC39コンデンサで構成されるRCローパスフィルタ回路を追加して、高周波ノイズを除去します。

上図に示すように、入出力電流調理回路は差分増幅方式を採用し、出力電流サンプリング抵抗は:

R_{14}=5mΩ

差分増幅回路のフィードバック抵抗:

R_{48}=6.2kΩ
R_{46}=100Ω

差分増幅倍数を計算します:

K_I=\\frac{R_{48}}{R_{46}}=62

つまり、1A電流出力は310mVの電圧を出力します。

MCUのADC最大サンプリング電圧は電圧基準チップ出力の3.3Vなので、サンプリング可能な入出力電流の最大値を計算できます:

I_{max}=\\frac{3.3V}{K_I \\times R_{14}}=10.65A

MCU制御回路

本プロジェクトのデジタル電源設計はSTM32G474RET6チップをコントローラとして選択しており、このコントローラは周辺回路が簡潔、制御方式が多様、拡張能力が優れているなどの顕著な特徴を持っています。正確なクロック信号を実現するために、コントローラは外部クリスタルX1、すなわち周波数が25メガヘルツ(MHz)の石英結晶発振器を採用しています。さらに、回路には複数のフィルタコンデンサが含まれており、C45、C51、C56、C46、C52はそれぞれマイコン(MCU)の異なるデジタル電源ピンに使用され、電源の安定性を確保し、ノイズ干渉を低減します。R49抵抗とC49コンデンサは上電リセット回路を構成し、SW1はMCUリセットボタンです。U11はUSB-シリアル変換チップで、型番はCH340C、第2のTypeC インターフェースに接続され、シリアルポートはMCUのUSART1インターフェースに接続されます。U10はFlashストレージチップで、型番はW25Q64、パラメータ設定などの情報を保存するために使用され、MCUのSPI3インターフェースに接続されます。Q6はブザードライブMOS管で、ブザーを制御するために使用され、MOS管ゲートはMCUのPB5ポートに接続されます。H1接線端はSWDプログラミングポートです。H2とH4はPH2.0接線座で、制御パネルとの接続に使用され、接線座にはUSART2インターフェースが予約されており、制御パネルスキームをシリアルスクリーンに簡単に変更でき、さらにESP32を追加してネットワーク接続と無線制御などの機能を増加させることができます。D13は5V逆接保護ダイオードです。

冷却ファンドライブとマザーボード温度サンプリング回路

マザーボード温度サンプリング回路と冷却ファンドライブ回路原理図は下図に示すとおりです。電源マザーボード温度サンプリングの原理はNTC熱敏抵抗R2と下拉抵抗R4を直列に分圧してMCUのADCポートに出力してサンプリングすることを使用しており、使用するNTC熱敏抵抗の抵抗値は10kΩで、B値は3950Kです。散熱ファンはN-MOSトランジスタで駆動され、型番はAO3400です。散熱ファンインターフェースには逆並列にダイオードD2が接続されており、モーターが生成する逆起電力(back EMF)による損傷を防ぎます。モーターの電源が切られると、回転慣性により、モーターのロータは直ちに停止せず、回転を続けて起電力を生成します。この起電力は、特にモーターが半導体スイッチ(MOSFETなど)を通じてこれらの素子に接続されている場合、回路内のトランジスタまたは集積回路を損傷する可能性があります。

コントロールパネル回路設計

コントロールパネルの回路図は下図に示す通りです。SW1はロータリーエンコーダで、パラメータ設定などに使用されます。SW2とSW3はボタンで、SW2は設定項目の切り替え、SW3は電源出力のオン/オフ制御に使用されます。LED1はシステム実行状態インジケータで、正常に動作している場合は500mSの間隔で点滅します。LED2は出力状態インジケータで、出力がオンの場合は点灯し、出力がオフの場合は消灯します。OLED1はOLEDスクリーンで、電源パラメータと状態などの情報を表示するために使用されます。

PCBスクリーンショット

電源基板トップレイヤー

電源基板GNDレイヤー

電源基板内部レイヤー2

電源基板ボトムレイヤー

パネルトップレイヤー

パネルボトムレイヤー

使用説明

ボタンとロータリーエンコーダを使用して、出力電圧と電流値を設定できます。下図に示すように、反転表示されている数値が現在設定する桁です。ロータリーエンコーダを回転させて増加または減少させ、エンコーダを押すと次の桁に切り替わります。SW2ボタンで設定する項目を切り替えることができます。設定されたデータは自動的にFlashストレージチップに保存され、次回の起動時にストレージチップからデータが読み込まれます。

SW3ボタンで電源出力をオン/オフにします。

データ表示ページに切り替えて、電源の現在の入出力電圧と電流、およびマザーボード温度とMCU温度などの情報を確認できます。下図に示す通りです。

設定ページに切り替えて、過温/過電流/過電圧保護のしきい値を設定できます。下図に示す通りです。設定されたデータは自動的にFlashストレージチップに保存され、次回の起動時にストレージチップからデータが読み込まれます。

リップル測定

電子負荷とオシロスコープを使用して電源出力性能と出力リップルをテストします。下図に示す通りです。36V入力、12V2A出力時のリップルピークツーピーク値は約42mVと測定されました。下図に示す通りです。

変換効率測定

20V入力、12V10A出力時の電源変換効率は92%です。下図に示す通りです。

下表は異なる入出力電圧での変換効率で、最高効率は94.3%です。

入力電圧(V) 入力電流(A) 入力電力(W) 出力電圧(V) 出力電流(A) 出力電力(W) 変換効率(%)
20.003 4.035 80.712 15.010 5.000 75.050 92.985
47.999 5.335 256.075 24.040 9.900 237.996 92.940
48.000 7.875 378.000 36.020 9.900 356.598 94.338
48.000 9.860 473.280 45.030 9.900 445.797 94.193
23.998 8.835 212.022 48.070 4.000 192.280 90.689
23.998 9.830 235.900 35.998 6.001 216.024 91.574
12.099 9.166 110.899 24.070 4.000 96.280 86.817
20.008 2.645 52.921 4.970 9.000 44.730 84.522
20.008 10.550 211.084 24.030 8.000 192.240 91.073
36.000 6.418 231.048 24.010 9.000 216.090 93.526
36.000 10.540 379.440 35.950 9.800 352.310 92.850

MOSトランジスタゲート波形

20V入力、24V出力時の各MOSゲート波形をテストしました。

BUCK回路上下管対地電圧波形図:

BOOST回路上下管対地電圧波形図:

発熱状況テスト

無負荷時の熱画像:

10A電流を10分間出力した後の熱画像。MOSトランジスタ温度は約100度:

UNI-T UTi261M熱画像カメラ開封レビュー:https://blog.zeruns.com/archives/798.html

部品購入先

このプロジェクトで使用されているほとんどの部品の購入先はここにあります:- 0805抵抗コンデンササンプル本:https://s.click.taobao.com/begdskt

立創商城での購入をお勧めします:https://activity.szlcsc.com/invite/D03E5B9CEAAE70A4.html

立創オープンソースリンク内のBOM表から「今すぐ立創商城で注文」をクリックすると、使用する部品を一括でショッピングカートにインポートできます。

リソースダウンロードアドレス

以下のリンクに含まれるリソースは:立創EDAプロジェクト、回路図PDFファイル、各チップのデータシート、ソースコードプロジェクト圧縮パッケージ、参考プログラムコード。

123クラウドディスク無制限ダウンロードアドレス:https://www.123pan.com/ps/2Y9Djv-8yevH.html

Baiduネットディスクダウンロードアドレス:https://url.zeruns.com/MW2d1

プロジェクトプログラムGiteeオープンソースアドレス:https://gitee.com/zeruns/STM32-Buck-Boost

プロジェクトプログラムGitHubオープンソースアドレス:https://github.com/zeruns/Synchronous-Rectification-Buck-Boost-Digital-Power-Supply-Based-on-STM32

Starといいねをお願いします。

既知の問題

  1. 補助電源のSY8205チップは低負荷時にPFMモードに入り、周波数が低くなるため、わずかなノイズが発生します。
  2. 定電流モード のPID制御プログラムの出来が悪く、純抵抗負荷でのみ定電流が安定しています。(定電圧モードは問題ありません)

その他のオープンソースプロジェクトの推奨

推奨読書

「いいね!」 4

お兄さん、スイッチング周波数の計算方法を教えてもらえますか?:grin:

「いいね!」 1

スイッチング周波数は自分で決め、その周波数に基づいて他のパラメータ(インダクタンス、静電容量など)を計算する。
スイッチング周波数が高くなると、スイッチング損失(スイッチング素子のターンオン/ターンオフ損失など)は一般的に増加する(単位時間あたりのスイッチング回数が多く、損失は周波数と正の相関を持つため)、しかしフィルタ素子(インダクタ、コンデンサ)の体積は小さくできる(周波数が高い場合、同じリップル要件でも必要なインピーダンスが小さくなるため、素子定数を小さくできる)。逆に周波数が低いと損失は小さくなるが、素子の体積は大きくなる。また、スイッチング周波数は素子のスイッチング速度(MOSFET の最大動作周波数など)やEMI(電磁妨害)対策の難しさ(高周波EMIは対処が困難)によっても制限を受ける。実際の設計では、効率、体積、コスト、EMI などをバランスさせて適切なスイッチング周波数を選ぶ必要がある。

「いいね!」 4

こんにちは。この作品で双方向同期整流を実現するには、この基礎の上でどのような改善が必要ですか?ありがとうございます :thinking:

「いいね!」 1

補助電源は入力側と出力側の両方から電力を取るように変更(ダイオードを追加)、電流検出は双方向に変更(電流検出用のオペアンプの非反転入力端子の電圧を1.25Vに引き上げ)、コードも変更する必要があるが、それ以外はほとんど変更不要。

「いいね!」 2

いいプロジェクトです :+1:

いいね :+1:

コウギュウを学んだ :smiley:

こんにちは、お尋ねしますが、なぜこのスイッチング周波数を181.333kHzのように小数点付きで設定するのでしょうか。通常は整数ですよね。その理由を教えていただけますか?よろしくお願いします!

タイマーの倍周波数/分周波数で得られる周波数は、変更可能です。

ああ、わかりました。ありがとう

このPIDのパラメータは、どのようにして初期値を決めればよいですか?

こんにちは!これらのデジタル電源での初期PIDチューニングでは、システムの予想される動的特性に基づいて控えめな値から始めます。例えば、オーバーシュートを防ぐためにKiを低く設定し、発振せずに応答が得られる程度にKpを設定します。その後、オシロスコープで出力を監視しながらリアルタイムに調整を行い、安定性を確認します。STM32の柔軟性により、その場でパラメータを変更できるため、試行錯誤で何時間も費やす必要がなくなります。常に小さな値から始め、段階的に調整してください。信じてください、これで「あっ、ゲインが高すぎた!」という瞬間を避けられますよ!:grinning_face_with_smiling_eyes:

大丈夫、MOSトランジスタのなぜ実効値を計算する必要があるのですか?誘導性負荷のピーク電流を直接見て、そのピーク電流よりIDが大きいMOSトランジスタを選べばいいのではないですか?

丁寧にお尋ねしますが、具体的なデバッグ時にはどのような手順を踏めばよいでしょうか?例えば、オープンループでのデバッグは必要ですか?クローズドループはどのようにデバッグすればよいですか?あるいは注意すべきポイントなどありますか?私も同様の数値制御電源を作成しているのですが、どのようにデバッグしてよいか分かりません。オープンループの状態でMOSFETを2回破損させてしまいました。クローズドループから始めた方がよいのでしょうか?1回目の破損原因は、おそらくインダクタの飽和またはMOSFETの耐圧超過だったと思われます。2回目は負荷を接続しなかったため、インダクタの電圧が上がりすぎてMOSFETが破損した可能性があります。1回目はドレイン-ソース間の破損でしたが、3回目はゲートを含む3端子すべてが破損しました。

The boost (step-up) section must not operate open-loop without a load, otherwise the voltage will continue to rise until it exceeds the voltage rating.

これはスイッチング電源/電源設計における最も古典的な誤解です:
インダクタのピーク電流だけでMOSFETを選定するのは、短期間は壊れないが、長期的には確実に焼ける
実はMOSFETが熱で破損するか否かを決めるのは**実効値電流(RMS)**であり、ピーク値ではない。


1. 一言での核心まとめ

  • インダクタのピーク電流瞬時破壊・インダクタの磁気飽和を防ぐため
  • 電流の実効値(RMS)MOSFETの発熱・温度上昇・寿命を計算するため

MOSFETの破損のうち90%は熱による故障であり、瞬時の過電流ではない。


2. なぜ発熱は「実効値」で見る必要があり、「ピーク値」ではいけないのか?

MOSFETがオン状態時の発熱損失は以下の式で表される:

P_{loss} = I_{rms}^2 \times R_{ds(on)}

この式中の I は必ず実効値を使わなければならない。ピーク値とは関係がない。

  • ピーク電流:単なる瞬間最大値であり、持続時間が短く、平均的な発熱を表さない
  • 実効値:等価直流電流として発熱に換算でき、真に温度を決定する

例:

  • インダクタのピーク電流:10A
  • しかし実効値はたった4~6Aしかない

もし10Aというピーク値だけを見てMOSFETを選定し、実効値による温度上昇を無視すれば、温度が上限を超えてMOSFETはすぐに熱破壊する


3. ピーク電流と実効値、それぞれの役割

① インダクタのピーク電流 Ipk

以下の2つだけを管理する:

  1. インダクタの磁気飽和を防ぐ
  2. MOSFETの瞬時過電流による破壊を防ぐ(データシートの I_DM 脈動電流を確認)

ただし、発熱の計算には関与しない

② 電流の実効値 I_rms

1つのことだけを管理するが、それが最も重要:

  • MOSFETが発熱するか、温度が上がるか、焼けるかどうか

これによって、必要な R_ds(on) の大きさ、放熱対策、電流容量などを決定する。


4. 正しいMOSFET選定手順(正しいフロー)

  1. インダクタのピーク電流 Ipk を計算
     → I_DM > Ipk を保証し、瞬時破壊と磁気飽和を防止
  2. MOSFETの電流実効値 I_rms を計算
     → 損失と温度上昇を算出し、長期運用で焼けないことを保証
  3. その上で I_D 定格電流と R_ds(on) を選定

ピーク値だけを見て実効値を無視=裸で戦場へ行くのと同じ


5. 超簡単まとめ

  • ピーク値一瞬で死ぬのを防ぐ
  • 実効値ゆっくり熱で死ぬのを防ぐ

電源設計においては、電流ピーク優先ではなく、熱設計が最優先である。

大師、お聞きしたいのですが、通電後にテスターで出力電圧を測定したところ5Vになっているのですが、画面に表示される入出力電圧や電流がすべて正常ではありません。なぜでしょうか?

溶接を確認する

失礼ですが、ループ補償パラメータの計算方法を教えていただけますか?