0x6A Logbook

0x6A Logbook
Shi6a的筆記本
  1. 首頁
  2. 自動化技巧
  3. 正文

Buck 降壓電路完整教學:從切換式電源原理到 ESP32 電源設計實作

2026 年 5 月 21 日 1171點熱度 0人點贊 0條評論

Buck 降壓電路完整教學封面

什麼是 Buck 降壓電路?

先講一句話版本:Buck 就是拿開關把輸入電壓切碎,再用電感跟電容把它拼回一個比較低的電壓。Buck 降壓電路(也稱降壓轉換器、Step-Down Converter)是嵌入式系統中最核心的電源架構 —— 從 Arduino、ESP32 到 STM32 開發板,板子上那顆黑色電感配著電容濾波的電路,十之八九就是 Buck Converter。

我自己第一次拆電源模組時最納悶的是:輸入明明 12V,為什麼過了一顆電感、一顆二極體,輸出就乖乖變成 3.3V?後來才想通,重點不在「降」這個字,而在開關導通的時間佔多少比例。這個比例叫工作週期(Duty),整篇文章都會用到它。

Buck 轉換器是一種切換式降壓電源(Switching Regulator),透過高速開關 MOSFET 和電感儲能,把較高的輸入電壓轉換為較低的穩定輸出電壓。與傳統的線性穩壓器(LDO)不同,Buck 電路的效率可達 90% 以上,幾乎不發熱 —— 這就是為什麼只要碰到「壓差」,我幾乎都直接選它。

Buck 降壓拓撲:Vin 經開關、電感、電容到 Vout

核心元件只有四個:

  • Q1:MOSFET 開關 — 由 PWM 訊號控制,高頻切換(通常 100kHz~2MHz)
  • D1:續流二極體(Schottky) — 開關關閉時提供電感電流路徑
  • L1:儲能電感 — 在開關導通時儲存能量,關斷時釋放
  • Cout:輸出濾波電容 — 平滑輸出電壓漣波

四個裡面我會說 L1 與 D1 是靈魂。沒有 D1 這條續流路徑,電感上的電流一被切斷就會自己生出高壓,回頭把開關打穿。

Buck vs LDO:為什麼要用切換式電源?

每次有人問我「12V 轉 3.3V 可不可以直接用 AMS1117」,我都會先請他算一件事:壓差 8.7V 乘上電流,那些瓦數最後全部變成熱。

特性 Buck 降壓電路 LDO 線性穩壓
效率 80%~95% 30%~60%(壓差大時)
發熱量 低(需散熱但遠低於 LDO) 高(P = (Vin-Vout) × I)
EMI/雜訊 較高(開關噪聲) 極低(線性)
電路複雜度 中(需電感/二極體) 低(只需輸入/輸出電容)
成本 較高(多顆被動元件) 低
12V→3.3V 應用 ✅ 適合(效率 ~87%) ❌ 不適合(73% 能量變熱)

簡單經驗法則:壓差 > 2V 且電流 > 100mA → 用 Buck。壓差小或對雜訊極敏感 → 用 LDO。很多設計會採用 Buck + LDO 的級聯方案:先用 Buck 把 12V 降到 3.6V,再用 LDO 穩到 3.3V 給類比電路。

Buck 降壓轉換器工作原理

Buck 電路的工作分為兩個階段,講白了就是「充電」跟「放電」:

Ton 階段(開關導通)

  • MOSFET Q1 導通,Vin 連接到電感 L1
  • 電感兩端電壓:VL = Vin − Vout(正值)
  • 電感電流線性上升,斜率 = (Vin − Vout) / L
  • 二極體 D1 反向偏壓(截止)
  • 輸出電容 Cout 提供負載電流

Toff 階段(開關關斷)

  • MOSFET Q1 關斷,電感電流不能瞬間中斷
  • 電感透過 D1 續流(Freewheeling),D1 導通
  • 電感兩端電壓:VL = −Vout(負值)
  • 電感電流線性下降,斜率 = −Vout / L
  • 電感釋放能量給負載和輸出電容充電

Ton 與 Toff 兩態的電流路徑對照

把兩段接起來看就清楚了:開關 ON 時電感電流往上爬,OFF 時往下滑,它從來不是一條直線,而是一直繞著某個平均值在擺動。這個擺動幅度就是漣波 ΔI_L,後面選電感其實就是在控制它的大小。

PWM 閘極控制下的電感電流漣波波形

關鍵公式快速參考

以下是 Buck 電路設計中最常用的幾個公式。我的習慣是不背,直接開這張表對照著算 —— 反正來來去去就這五、六條:

參數 公式 說明
工作週期 (Duty) D = Vout / Vin 忽略二極體壓降時的近似值
實際 Duty D = (Vout + Vd) / (Vin − Vsw) 考慮二極體 Vd 和開關壓降 Vsw
電感值 L ≥ (Vin−Vout)×D / (ΔIL×fsw) ΔIL 通常取 30%~40% Iout
電感電流峰值 Ipeak = Iout + ΔIL/2 確保電感不飽和
輸出電容 Cout ≥ ΔIL / (8×fsw×ΔVout) ΔVout 為允許的輸出漣波
效率 η = (Vout × Iout) / (Vin × Iin) × 100% 實際效率受導通/切換損耗影響

直接拿實例走一遍最快。Vin=12V、Vout=3.3V、Iout=1A、f_sw=500kHz:

  • D = 3.3/12 = 0.275(27.5%)
  • ΔI_L 取 0.35A:L ≥ (12−3.3)×0.275 / (0.35×500k) ≈ 13.7μH → 選 15μH
  • I_peak = 1 + 0.175 = 1.175A → 電感飽和電流需 > 1.5A
  • Cout 若 ΔVout=30mV:Cout ≥ 0.35 / (8×500k×0.03) ≈ 2.9μF → 選 10μF MLCC

降壓比與關鍵公式的代入計算表

這裡有個新手常踩的坑:算出來的 13.7µH 不是「去買 13.7µH」,而是「至少要 13.7µH」,然後從標準值裡挑大一級的 15µH。原因跟漣波有關 —— 電感值只影響擺動幅度,但一旦選小,電流可能在每個週期都掉到零,那就掉出連續導通模式(CCM)了。

挑選電感並檢查 CCM 的流程

常用 Buck IC 推薦

IC Vin 範圍 Iout 頻率 特色
LM2596 4.5V~40V 3A 150kHz 經典入門、容易買到模組
MP1584 4.5V~28V 3A 1MHz 體積小、效率高
TPS5430 5.5V~36V 3A 500kHz TI 方案、有 Enable 腳
SY8303 4.5V~40V 3A 500kHz 內建 MOSFET、低價國產
LMR14030 4V~40V 3.5A 2.1MHz 低 IQ、輕載高效率

對於 ESP32 專案,MP1584 或 SY8303 是 CP 值最高的選擇 —— 體積小、效率高、容易買到成品模組。

ESP32 電源設計實例:12V→3.3V

以 MP1584 為例,設計一組給 ESP32 使用的降壓電源:

規格需求

  • 輸入:12V DC(工業現場常見電源)
  • 輸出:3.3V / 1A(ESP32 峰值約 500mA,留餘量)
  • 漣波:< 50mVpp(ESP32 WiFi 發射時對電源敏感)
  • 效率目標:> 85%

元件選擇

  • IC:MP1584EN(SOP-8 封裝)
  • 電感 L1:15μH / 2A 飽和電流(CD54 屏蔽型)
  • 輸入電容 Cin:10μF + 0.1μF MLCC(靠近 IC 腳位)
  • 輸出電容 Cout:22μF + 10μF MLCC(低 ESR)
  • 續流二極體 D1:SS34(Schottky,3A/40V)
  • 回授分壓:R1=10kΩ、R2=3.09kΩ(Vout=0.8×(1+R1/R2))
  • 補償網路:Type II 補償(參考 datasheet)

補充一個容易被忽略的選擇題:D1 這顆蕭特基二極體,是「非同步整流」的作法。它便宜、最單純,代價是那個順向壓降 Vd 會直接吃掉一點效率 —— 這也是為什麼公式裡的實際 Duty 要寫成 (Vout+Vd)/(Vin−Vsw)。

蕭特基二極體與同步整流的對照

電路接線

接線的相對位置我直接畫出來,照著它拉線,SW 節點那一小塊就不會東拉西扯:

MP1584 典型應用電路(12V → 3.3V / 1A):

Vin(12V) ─┬─ Cin(10μF) ─┬─ VIN ───── SW ─┬─ L₁(15μH) ─┬─ Vout(3.3V)
          │              │              │            │
          └─ Cin(0.1μF) ─┤              └─ D₁(SS34) ─┤
                         │                 │          └─ Cout(22μF+10μF)
                         │                GND              │
                         │                                 │
                         EN ── 10kΩ ─┬── Vout (Enable)
                                      │
                                     GND

回授分壓:
Vout ─┬─ R₁(10kΩ) ─┬─ FB
      │             │
      └─ R₂(3.09kΩ) ─┤
                     GND

PCB 佈局要點

Buck 電路的 PCB 佈局直接影響穩定性和 EMI。以下是關鍵原則:

  1. 高頻路徑最短化:Cin → IC → L1 → D1 → Cout 的迴路面積要最小
  2. SW 節點遠離敏感訊號:SW 節點(IC 到電感)是高 dv/dt 節點,不要靠近 FB 走線
  3. FB 走線要遠離電感:回授分壓電阻要靠近 IC 的 FB 腳,走線避開電感下方
  4. 接地平面:使用完整的 GND plane,頂層和底層都要
  5. 輸入電容靠近 VIN 腳:Cin 要離 IC 的 VIN 腳小於 5mm
  6. 電感屏蔽:選用屏蔽型電感(Shielded Inductor)減少磁場耦合

這六條如果要我只留一條,那就是第一條。迴路面積一大,漣波與 EMI 會一起變差,而且很難靠事後加電容救回來 —— 佈局是畫錯就沒救的那種錯誤。

常見問題與排錯

上電之後發現輸出怪怪的,先別急著換料,照這四類症狀分類,通常五分鐘就能鎖定方向:

Buck 電路四類常見症狀與排查方向

1. 輸出電壓過低或不穩

  • 檢查回授分壓電阻值是否正確
  • 檢查電感是否飽和(飽和時電流急遽上升,IC 會進入限流)
  • 檢查輸入電壓是否足夠

2. 輸出漣波過大

  • 增加輸出電容值或選用更低 ESR 的 MLCC
  • 檢查電感值是否足夠(電感值越小,漣波越大)
  • 在輸出端加 LC 濾波(磁珠 + 10μF)

3. IC 過熱

  • 檢查切換頻率是否過高(頻率高 → 切換損耗大)
  • 確保 PCB 有足夠的銅箔散熱(IC 底下加 Thermal Via)
  • 檢查電感是否工作在 CCM(連續模式)

4. ESP32 WiFi 連線時當機

ESP32 在發射 WiFi 時(802.11b 約 300mA 脈衝電流)會對電源產生瞬態壓降。解決方案:

  • 在 ESP32 電源腳附近加 100μF 電解電容 + 0.1μF MLCC
  • 確保 Buck 的頻寬足夠(Type II 補償)
  • 必要時在 Buck 後面加一顆 LDO(如 AMS1117-3.3)作級聯

我自己遇過最多次的就是第 4 類:裸機跑得好好的,一連 WiFi 就重開。加了那顆 100μF 之後,症狀直接消失。

Buck vs Boost vs Buck-Boost

Buck 降壓電路屬於切換式電源三大拓撲之一。另外兩種常見的拓撲是 Boost(升壓)和 Buck-Boost(升降壓)。三者對比如下:

拓撲 輸出電壓 典型應用
Buck(降壓) Vout < Vin 12V→3.3V/5V MCU 供電
Boost(升壓) Vout > Vin 鋰電池 3.7V→5V USB 輸出
Buck-Boost(升降壓) Vout 可高可低 電池供電裝置(電壓跨 Vin 變化)

實務上最常見的組合是 Buck + LDO 級聯:先用 Buck 從 12V 降到 3.6V(效率約 90%),再用 LDO 穩到 3.3V(漣波小於 10mV)。這樣既保留了 Buck 的高效率,又獲得了 LDO 的低雜訊。

在設計物聯網裝置的電源時,還需要考慮待機功耗。MP1584 在輕載時會自動進入跳脈衝模式(Skip Cycle),待機電流僅 100μA 左右,非常適合電池供電的 ESP32 感測器節點。

如果需要隔離式電源(輸入和輸出之間沒有電氣連接),可以考慮 Flyback 轉換器或推挽式轉換器,但它們的電路比 Buck 複雜得多,適合 AC-DC 或高壓應用場合。

總結

Buck 降壓電路是每一個嵌入式工程師都該掌握的電源設計基本功。從 12V 工業電源到 3.3V 的 MCU 供電,理解 Buck 的工作原理、元件選擇和 PCB 佈局,能讓你的專案更穩定、更高效。我自己會用三句話記住它:

  • Vout = Vin × D:輸出電壓是被工作週期決定的,不是被元件決定的
  • ΔI_L 決定漣波:抓 Iout 的 30%~40%,太大太小都出事
  • 佈局決定 EMI:高頻迴路面積最小化,SW 節點閃遠一點

想深入了解電源設計?可以接著看隔離式電源或 PoE(Power over Ethernet)供電設計。

延伸閱讀:SPI 通訊教學 · MQTT 實戰教學 · RS485 通訊教學

標籤: 工業通訊 教學
最後更新:2026 年 9 月 30 日

shi6a

這個人很懶,什麼都沒留下

點贊
< 上一篇
下一篇 >

文章評論

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回覆

COPYRIGHT © 2026 0x6A Logbook. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang