為什麼電感是那個秘密配方
上一個階梯你學會了用 PWM 去切碎一個電壓:每個週期讓開關導通一段比例 D 的時間,其餘時間關掉。那個方波的平均值恰好是 D · Vin——一個你能用軟體去轉的旋鈕。但微控制器沒辦法靠一個每秒在 12 V 和 0 V 之間猛烈跳動十萬次的方波運作。我們需要把它平均成平滑的直流。你大可以直接在切碎器兩端放一顆大電容,但開關會把巨大的電流尖峰灌進去,然後燒掉。優雅的解法是先在路徑上放一顆電感。
電感的定義性定律是 V = L · (dI/dt):跨在它兩端的電壓決定它的電流*能多快*變化,從不決定電流*有多大*。流過電感的電流就像一個沉重飛輪的轉速——你能讓它轉快或轉慢,但只能緩慢地來。所以當我們的開關把一個電壓拍到電感上時,電流不會跳;它會斜升,是一條斜率為 (V/L) 的直線。把電壓反向,斜坡就往另一邊傾。電感悄悄地把一個猛烈的*電壓*方波,變成了一個溫和的*電流*三角波。那個三角波,再由一顆小小的輸出電容平滑掉,就是你乾淨的直流——而且幾乎沒有任何能量被燒掉,因為理想的開關和理想的電感都不耗散功率。
降壓:把電壓降下來,Vout = D·Vin
降壓轉換器拿一個高電壓,做出一個低電壓。想像一顆電感,輸入側有一個開關,開關節點下方掛著一顆二極體。一共只有兩種狀態,它們每個週期輪流上場。
- 開關導通(導通時間 D·T)。開關把 Vin 接到電感上。跨在電感上的電壓是 (Vin − Vout),為正,所以電感電流以 (Vin − Vout)/L 的斜率斜升。能量湧入電感的磁場,再流向負載和輸出電容。二極體被逆向偏壓——它只是旁觀。
- 開關關閉(關閉時間 (1−D)·T)。開關打開。但電感的電流沒辦法瞬間停下——它有慣性。為了繼續流動,它把開關節點拉到地*以下*,直到二極體導通、提供一條回流路徑。此時電感兩端是 −Vout,所以它的電流以 −Vout/L 的斜率斜降,仍持續餵著負載。這就是二極體在續流。
現在來看那個致命的論證。在穩態下,電感電流每個週期必須回到它一開始的位置——否則它會無限增長,元件就會炸掉。這意味著它在導通時間獲得的電流,必須等於它在關閉時間失去的電流。這就是伏秒平衡:一個週期內跨在電感上的平均電壓為零。把它寫出來,整個轉換器就在一行裡掉出來:
BUCK CONVERTER — step-down
Switch L
Vin --o/ o----+-----[ inductor ]----+---- Vout
| |
[diode] [ Cout ] --> load
| |
GND --------------------+----- GND
ON (D*T) : node = Vin -> VL = Vin - Vout (current ramps UP)
OFF ((1-D)T): node ~ 0 -> VL = -Vout (current ramps DOWN)
Volt-second balance (avg VL = 0):
(Vin - Vout) * D + (-Vout) * (1 - D) = 0
Vin*D - Vout*D - Vout + Vout*D = 0
Vin*D = Vout
============================================
Vout = D * Vin (D between 0 and 1, so Vout <= Vin)
============================================
Inductor-current waveform (continuous conduction):
I | /\ /\ /\
| / \ / \ / <- triangle ripple
| / \/ \/ ... around average = I_load
+----------------------------------> t
|<-on->|<-off->|升壓:把電壓升上去,Vout = Vin/(1−D)
一個電路怎麼能在沒有變壓器的情況下,做出比它的供電*更高*的電壓?這個把戲比它看起來更古老——它就是線圈點燃火星塞的方法。升壓轉換器把同樣三個零件重新排列:現在電感*橫跨*在輸入端,開關把它的遠端短路到地。
- 開關導通。開關把電感的遠端接地,於是整個 Vin 跨在電感上。電流猛烈斜升(斜率 Vin/L),電感儲存能量——它正在把飛輪上緊。二極體被逆向偏壓,所以此刻只靠輸出電容撐著負載。還沒有東西到達輸出。
- 開關關閉。開關打開,電感的電流無處可去,只能穿過二極體進入輸出。為了維持電流流動,電感翻轉自己的電壓,並*把它疊加在 Vin 之上*——兩個電壓串聯堆起來。於是輸出看到的是 Vin 加上電感變出來的那一份,這就是 Vout 爬到 Vin 之上的方法。
再次套用伏秒平衡。導通時間電感看到 Vin;關閉時間它看到 (Vin − Vout),為負。把平均設為零,升壓定律就現身了——而且要留意它的獠牙:當 D 趨近 1 時,Vout 朝無窮大飆去。
BOOST CONVERTER — step-up
L diode
Vin --[ inductor ]---+------|>|------+---- Vout (> Vin)
| |
Switch [ Cout ] --> load
o |
| |
GND -------------+----- GND
ON (D*T) : far end = 0 -> VL = Vin (store energy)
OFF ((1-D)T): diode conducts -> VL = Vin - Vout (dump to output)
Volt-second balance:
Vin * D + (Vin - Vout) * (1 - D) = 0
Vin - Vout + Vout*D = 0
Vin = Vout * (1 - D)
============================================
Vout = Vin / (1 - D) (D->1 gives Vout->infinity)
============================================
D=0.0 -> Vout = Vin (1x)
D=0.5 -> Vout = 2 * Vin (2x)
D=0.8 -> Vout = 5 * Vin (5x)
D=0.9 -> Vout = 10 * Vin (10x !!)降升壓:兩個方向都行,輸出翻轉
有時候你沒辦法保證自己究竟需要升還是降。一顆鋰電池在放電時會從 4.2 V 垮到 3.0 V——但你的電路想要穩定的 3.3 V,這個值*低於*滿電、又*高於*空電。降壓到不了它輸入之上,升壓也到不了輸入之下。你需要一個兩者都能做的拓樸:降升壓轉換器。
經典的反相降升壓再一次把零件重新接線:開關在高側,電感接地,二極體指向「錯誤」的方向、通往一個負的輸出。導通時間,開關把 Vin 整個壓在電感上(儲能、輸出隔離,和升壓的充電相完全一樣)。關閉時間,電感穿過二極體續流進輸出電容——但由於它的接線方式,它把電流*推出*輸出節點,於是輸出變成負的。伏秒平衡給出一條既非純降壓也非純升壓、而是兩者混血的定律:
INVERTING BUCK-BOOST
Switch diode
Vin --o/ o----+------+ |<|----+---- Vout (NEGATIVE!)
| | |
[ L ] (node) [ Cout ] --> load
| |
GND ------------------+----- GND
ON : VL = Vin (store; output isolated)
OFF : VL = Vout (inductor freewheels to output)
Volt-second balance:
Vin * D + Vout * (1 - D) = 0
============================================
Vout = -Vin * D / (1 - D)
============================================
D < 0.5 -> |Vout| < Vin (acting like a BUCK)
D = 0.5 -> |Vout| = Vin (unity, inverted)
D > 0.5 -> |Vout| > Vin (acting like a BOOST)
One knob D spans the whole range — below, at, and above Vin.實作範例:5 V → 3.3 V 的降壓
我們來實際算一個。你有一條 5 V 的 USB 電軌,需要在 500 kHz 的切換頻率下給微控制器 3.3 V、1 A。兩個問題決定一切:工作週期是多少、電感要用多大?工作週期幾乎是一行就解決;電感則由你願意容忍多少紋波——電流的晃動——來決定。
WORKED EXAMPLE: 5 V -> 3.3 V buck, Iout = 1 A, fsw = 500 kHz
STEP 1 — Duty cycle (ideal)
Vout = D * Vin -> D = Vout / Vin = 3.3 / 5.0 = 0.66
So the switch is ON 66% of each 2 us period:
T = 1 / 500 kHz = 2.0 us
Ton = D * T = 1.32 us
Toff= (1-D) * T = 0.68 us
STEP 2 — Pick an inductor for a target ripple
Rule of thumb: ripple current dIL ~ 30% of Iout = 0.3 A
During OFF-time the inductor sees -Vout and ramps DOWN:
dIL = (Vout / L) * Toff
Solve for L:
L = (Vout * Toff) / dIL
= (3.3 V * 0.68 us) / 0.3 A
= 2.244 uV.s / 0.3 A
~ 7.5 uH -> pick a standard 6.8 or 10 uH part
STEP 3 — Sanity-check the ripple with a 10 uH part
dIL = (Vout / L) * Toff = (3.3 / 10e-6) * 0.68e-6
= 0.22 A (about 22% of 1 A -- comfortable)
Inductor current swings 1.0 A +/- 0.11 A, i.e. 0.89 A to 1.11 A.
STEP 4 — Output-cap ripple voltage (why the rail is still clean)
dVout ~ dIL / (8 * fsw * Cout)
= 0.22 / (8 * 500e3 * 22e-6)
~ 2.5 mV (a 22 uF ceramic -> millivolt-clean 3.3 V)留意這個設計邏輯。工作週期定電壓;電感定紋波。較大的電感意味著較平的電流三角形(紋波較小),但元件較慢、較笨重、較貴;較小的電感便宜又靈敏,卻會帶來紋波、去操勞電容。20–30% 的紋波法則是整個產業收斂出來的甜蜜點——電流擺動足夠大、讓轉換器保持反應靈敏,又夠小、讓輸出電容能把它擦成毫伏級。
三種轉換器,同一個心智模型
退一步,三種拓樸就塌縮成同一個故事。每一個都只是一顆電感、一個開關、一顆二極體、一顆電容,用三種不同的方式接起來。每一個都服從同一條鐵律——伏秒平衡——而那一條方程式,套用三次,就吐出了全部三條轉移函數。工作週期 D 是那唯一的旋鈕;接線方式決定 D 為你買到降壓、升壓、還是兩者。
THE THREE CORE CONVERTERS AT A GLANCE Topology Transfer function Range Output sign ----------- ------------------ ----------- ----------- BUCK Vout = D * Vin <= Vin same (+) BOOST Vout = Vin / (1-D) >= Vin same (+) BUCK-BOOST Vout = -Vin*D/(1-D) any |V| inverted (-) All three: one inductor, one switch, one diode, one cap. All three: derived from avg(V across L over one cycle) = 0. All three: D set by a feedback loop watching the real output.
這三種就是功率轉換的字母。把一顆變壓器栓進升壓,你就得到返馳式(電氣隔離——你的手機充電器就是這樣把市電擋在你的手之外)。把降壓反過來跑,它就變成升壓(雙向,就像電動車既驅動馬達、又回收煞車能量)。把它們堆疊、交錯,你就能供電給一顆 1000 A 的伺服器 CPU。下一個階梯我們把它做成一個產品:我們把其中一個核心包進迴授迴路、一個閘極驅動器、保護電路,以及一個真正的交換式電源供應器控制器——把三條方程式,變成一塊你能拿在手上的電路板。