JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

PWM 與工作週期:開關如何決定平均值

開關只能完全導通或完全關斷——然而你的筆電卻能從 12 V 電池中取得 1.05 V,而且幾乎不浪費熱量。訣竅在於每秒把那顆開關切換上萬次,並且只控制它「導通多久」。這個比例就是[[ee-duty-cycle|工作週期]],它默默決定了你手邊幾乎每一個電源供應器的平均電壓。讓我們看看它究竟如何運作。

調光開關早就解決的問題

在第 2 級你認識了理想開關:閉合時跨壓為零,斷開時電流為零,無論哪種情況都消耗零功率(功率等於電壓乘以電流,而其中一個永遠是零)。這是個漂亮的元件——但拿來調整電壓似乎毫無用處。開關只有兩個位置,你要怎麼得到中間值

答案比電子學還古老。想想老式吊扇的拉繩,或某人飛快地撥動牆上的電燈開關。如果燈泡每秒亮著一半的時間,它看起來大約半亮——你的眼睛把閃爍平均掉了。閃得夠快,你就完全看不到一閃一閃,只看到一盞穩定、較暗的燈。脈寬調變PWM)正是這個想法,套用在電源開關上:保持快速切換,並改變開關在每個週期中導通的比例

工作週期:主宰平均值的那個數字

PWM 訊號以固定的週期 T 重複(一次完整的「導通再關斷」循環)。在每個週期內,開關導通一段我們稱為 t_on 的時間。工作週期 D 就是導通的比例:

D = t_on / T            (a fraction from 0 to 1, often written as a percent)

   |<----------- T ----------->|
   |<--- t_on --->|            |
    ______________              ______________
   |              |            |              |
   |   SWITCH ON  |  SWITCH    |   SWITCH ON  |  ...
   |  (Vin)       |   OFF (0V)  |  (Vin)       |
  _|              |____________|              |____

   D = 25% : on a quarter of the time
   D = 50% : on half the time
   D = 75% : on three-quarters of the time
一個 PWM 週期。只有導通脈衝的**寬度**在變;週期(因此頻率)維持固定。

現在是重點。開關導通時,輸出看到完整的軌道電壓 Vin;關斷時,看到 0 V。這個被切碎的方波的時間平均值,就是高位部分的高度(Vin)依其高位持續時間(D)加權,加上低位部分(0 V)依其餘時間加權。第二項消失,只剩下交換式電源中最重要的一條方程式:

Vavg = D · Vin + (1 - D) · 0  =  D · Vin

        ┌─────────────────────────────────────────────┐
        │   Vavg = D · Vin                              │
        │   (average output = duty cycle × input rail)  │
        └─────────────────────────────────────────────┘
降壓型轉換器的整個玩法,一行說完:旋轉工作週期,就設定了平均值。

實作範例:用 12 V 供電給 CPU

讓我們套上真實數字。你桌機的電源供應器送給主機板一條 12 V 軌道,但現代 CPU 核心需要接近 1.2 V,而你正在驅動的一條 LED 燈條需要大約 9 V。一顆開關,三個工作週期——我們來算出每一個的平均值。

Given Vin = 12 V.   Vavg = D · Vin

  Duty cycle D     Vavg = D × 12 V      Use case
  -----------     ----------------     ----------------------------
      10%   0.10  → 0.10 × 12 = 1.2 V   CPU core rail
      25%   0.25  → 0.25 × 12 = 3.0 V   logic / 3.3 V-ish rail
      50%   0.50  → 0.50 × 12 = 6.0 V   half-rail
      75%   0.75  → 0.75 × 12 = 9.0 V   LED strip
     100%   1.00  → 1.00 × 12 = 12  V   switch stuck closed = pass-through
       0%   0.00  → 0.00 × 12 = 0   V   switch stuck open  = off
同樣的 12 V 軌道,六個不同的平均值——而控制器唯一改變的,只是一個脈衝的寬度。

注意這個控制旋鈕有多容易。要從 1.2 V 變到 9 V,你不用更換任何零件——數位控制器只是在打開開關前多數幾個時脈而已。這就是為什麼今天板子上幾乎每顆晶片都有自己的小型交換式穩壓器:同一套矽設計只要重新設定 D,就能服務任何輸出。

為什麼它不是鋸齒亂流:LC 濾波器

等等——CPU 無法靠一個每秒在 12 V 與 0 V 之間猛烈跳動上萬次的方波運作。它需要平滑的 1.2 V。平均值是正確的數字,但我們要如何從切碎的波形中實際把它取出來?靠兩個樸實的元件,它們合起來是一個低通濾波器:一個電感與一個電容

把電感想成電流的沉重飛輪。流過電感的電流不能跳變——它只能斜坡式地變化。所以當開關把輸入從 12 V 猛地砸到 0 V,電感拒絕讓電流突變;它順勢滑行,把猛烈的電壓邊緣平滑成溫和的三角形電流漣波。電容接著扮演輸出端一個小型蓄水槽的角色:上升時吸收電荷,下降時釋放電荷,把剩下的漣波熨平。CPU 最終看到的就是那個平均值——一個乾淨的直流位準,只剩幾毫伏的微小擺動。

  chopped node              after L+C
  (switch output)           (CPU rail)

  12V _   _   _   _          1.2V ~~~~~~~~~~~~~~~   <- smooth DC = the average
     | | | | | | | |              (tiny ripple)
   0V_| |_| |_| |_| |
      ^ square, brutal          ^ inductor smooths current,
                                  capacitor smooths voltage

  L resists current change  →  triangle ripple of current
  C resists voltage change  →  flat output voltage
L-C 對是一個調在遠低於切換頻率的低通濾波器:它讓直流平均值通過,並擋掉切碎成分。

切換頻率:工程師的核心取捨

那為什麼不乾脆用十億赫茲切換,配一顆郵票大小的電感?因為每一次撥動開關都要花能量。以下就是定義電力電子設計的那道張力。

  1. 更高頻率縮小磁性元件。 更快的切碎意味著電流在週期間漂移的時間更短,所以較的電感與電容就夠用。這就是為什麼手機充電器從磚塊大小縮到拇指大小:推進到數百 kHz(用 GaN 電晶體甚至到 MHz),讓笨重的變壓器得以縮小。
  2. 但每一次轉態都燒掉切換損耗。 真實的電晶體不是完美開關——在每次開通與關斷的幾奈秒間,它一邊導通電流一邊跨著電壓,因此散出一陣熱脈衝。這個損耗每週期付一次,所以它隨頻率直接成長。頻率加倍,切換損耗就加倍。
  3. 最佳點是一種平衡。 設計者挑一個頻率,讓矽夠涼、同時電感夠小。主流電源大約落在 100 kHz 到 2 MHz;寬能隙元件(SiC、GaN)能更快地乾淨切換,把整條曲線推向更高頻率、更小更輕的轉換器。

接下來通往何處

你現在握有交換式電源的萬能鑰匙。一顆快速開關把固定軌道變成切碎的方波;工作週期透過 Vavg = D·Vin 設定其平均值;而 L-C 濾波器把那個平均值熨成乾淨的直流,切換頻率則在轉換器尺寸與切換損耗之間取捨。你主機板上的每個穩壓器、每個 USB-C 充電器、每台電動車逆變器,都是這四句話的變奏。

在第 4 級,我們把開關、電感、電容與迴授控制器接成真正的拓撲——降壓的 buck(就是上面那個實作範例,化為實物)、升壓的 boost,以及兩者兼具的 buck-boost。你剛建立的工作週期直覺,正是讓那些電路顯得理所當然而非魔法的關鍵。