變壓器(Transformer)¶
從 市電進線 進來的是中壓(台灣常見 22.8 kV 或 11.4 kV),伺服器吃的是 220/380 V。變壓器就是中間那一階。它沒有活動零件,卻是電力鏈上唯一會改變「單位」的節點——上游的安培和下游的安培差一個數量級,不能相加。它同時決定下游短路電流有多大,往下所有斷路器的規格都得跟著走。
六格¶
拓撲位置¶
上游中壓開關設備(MV switchgear),下游低壓主配電盤(dc-07)→ UPS(dc-08)→ PDU(dc-11)。機房通常不只一階:主變壓器在受電室,PDU 內建變壓器是第二階。台灣若一次降到 380/220 V,PDU 可能不含變壓器——這直接改變模型裡電力鏈的層數。
容量單位¶
kVA(不是 kW)——變壓器只搬視在功率。銘牌值量測於環境 40 °C、正弦波負載,機房兩個條件都不成立,所以實際可用 = 銘牌 × 降載係數。
冗餘表達¶
N+1 不是把負載除以 2,兩台各自都要能單獨扛全載。2N 則是兩條獨立路徑各吃自己那條的全載。
遙測介面¶
乾式與油浸式的點位完全不同,這對建模很重要:
| 型式 | 主要點位 | 告警門檻 |
|---|---|---|
| 乾式 dry | 繞組溫度(熱電偶/NC 溫度開關)、風扇啟停 | 180–200 °C |
| 油浸 liquid | 頂層油溫、繞組溫度指示器 WTI、油位、壓力釋放 | 60–90 °C(油溫) |
共通點位是二次側電壓/電流/kVA/負載率,協定多為 Modbus RTU/TCP 加乾接點。油浸式另有溶解氣體分析 DGA(抽油樣化驗,絕緣劣化早期指標)——那是人工週期性資料,不是即時串流,你的 pipeline 要有第三種資料型態容納它(時序、事件、人工採樣)。
故障域¶
它掉了下游整段全黑,沒有秒級自動繞道。UPS 撐住 IT 幾分鐘,但冷卻多半不在 UPS 上。更關鍵的是交期以週甚至月計——MTTR 極長,在可用性計算裡的權重遠大於故障率。
維護特性¶
紅外線熱像(帶電可做)、清潔與鎖固扭力(需停電)、油浸式加驗油。NEMA 提到機房不能停,維護時線路常保持帶電——「維護中」不等於「已隔離」,兩個狀態要分開。
關鍵數字與計算¶
一、kVA 換安培
實例:1500 kVA、二次側 380 V(台灣三相四線)
⚠️ 地區差異:英文資料幾乎都算 480 V,同樣 1500 kVA 只有 1,804 A。電流差 21 %,匯流排與電纜規格完全不同,美規數字不能照抄。台灣的低壓側常見是三相四線 380/220 V,也有 220/110 V 的場合,設計前一定要確認自己這座是哪一種。
二、阻抗 %Z 決定下游短路電流
多數配電變壓器 %Z 落在 2–8 %(NEMA 引 10 CFR 431.192)。取 5.75 %:
這就是下游斷路器 kAIC 的最低門檻。 麻煩的是:機房規格書上那些「聽起來都是好事」的要求,每一項都會壓低 %Z、把短路電流推高——
| 規格選擇 | 對 %Z 的影響 |
|---|---|
| 銅繞組(而非鋁) | 降低 |
| 低溫升(80 °C 而非 150 °C) | 降低 |
| 高 K-factor | 降低 |
| 實際負載率低(機房常態) | 降低 |
也就是說,你把變壓器規格開得越漂亮,下游斷路器就得買越貴的。這是一個真實的系統級取捨,不是這台設備的私事。
三、溫升等級與環境溫度
銘牌容量的前提是環境 40 °C。溫升等級是「滿載時繞組比環境高幾度」:
| 型式 | 標準溫升等級 |
|---|---|
| 乾式 dry-type | 80 / 115 / 150 °C |
| 油浸式 liquid-filled | 55 / 65 °C |
低溫升機同容量下體積大、貴、但壽命餘裕高,且常被用在受限空間(電氣室、地下電室、有空調的房間)。實務上的意義:
這也解釋了為什麼乾式的告警門檻在 180–200 °C——那是對照 150 °C 溫升機設的。如果你買的是 80 °C 溫升機卻沿用 180 °C 門檻,那顆告警形同不存在。⚠️ 這是最容易被沿用預設值害到的地方。
四、降載後的可用容量
實例:需求 972 kVA、諧波係數 0.90、其餘為 1
→ 選 1250 kVA。注意不能選 1000 kVA(1000 × 0.9 = 900 < 972)。環境超過 40 °C 或海拔超過 1000 m 時還要再各乘一個係數。
「算出來卡在兩個標準規格之間」很常見,這也是資料模型要同時存銘牌值與降載值的原因:報表要顯示哪一個,取決於問題是「我買了多少」還是「我能用多少」。
五、空載損失是永遠在燒的
損失分兩塊:空載損失(鐵損,只要通電就有,與負載完全無關)與負載損失(銅損,正比於 I²)。
示意數字(實際請查銘牌):1500 kVA 乾式,空載 3.5 kW、滿載銅損 15 kW。35 % 負載時:
三件事從這個算式掉出來:
- 這 5.3 kW 是設施耗電但不是 IT 耗電,全進 PUE 分子
- 2N 架構下那台「閒置」的變壓器照樣在燒 3.5 kW——冗餘不是免費的,而且是 24×7 的固定成本
- DOE 2016 效率標準的量測點是低壓乾式 35 % 負載、油浸式 50 %(不是滿載),因為設備長期在部分負載運轉;500–1500 kVA 乾式的效率甜區約在 30–50 %
第 3 點反過來是容量規劃的提醒:變壓器不是「用越滿越划算」——負載率 90 % 時效率反而比 40 % 差,還逼你必須指定 K-factor。
六、投入湧流與斷路器協調
變壓器通電瞬間鐵芯殘磁會造成電流尖峰,NEMA 給的量級是:
以上面那台 2,279 A 算,湧流可到 約 57,000 A(瞬間)。斷路器/熔絲的跳脫曲線必須容得下這個尖峰,否則一送電就跳。
這在機房比別的場合重要得多,因為機房的變壓器會反覆斷電再送電:維護、commissioning、市電中斷、切換開關動作。一般廠房可能一年一次,機房可能一個月好幾次。每一次都是一次考驗協調設定的機會。
常見誤解¶
-
以為容量夠就等於能供這麼多負載,但實際上銘牌是 40 °C 正弦波條件下的值。機房負載幾乎全非線性(UPS 整流器、伺服器電源),要嘛降載 0.85–0.90,要嘛買 K-factor 機。直接拿銘牌規劃機櫃數會超載。
-
以為 N+1 是兩台各扛一半,但實際上每台都必須能單獨扛全載。N+1 買的是「可以拆一台下來」,不是「兩台分工」。這個誤解會讓容量計算錯一倍。
-
以為 %Z 是效率指標、越低越好,但實際上它同時決定二次側短路電流。%Z 減半、短路電流加倍,下游每顆斷路器的 kAIC 要求跟著上升。它是系統參數,不是這台設備的私事。
來源分歧:諧波到底有多嚴重¶
- NEMA US 80017-2023(產業標準文件):諧波對變壓器壽命「影響很小」,真正決定壽命的是絕緣溫度,而溫度主要由負載率驅動。只有負載達 80 % 以上才需指定 K4 / K9 / K13。
- 廠商與顧問文獻(Eaton、CalcPanel 等):機房負載本質非線性(UPS 六脈整流輸入、伺服器電源),一律建議 K-13 / K-20,或對標準機施加 0.85–0.90 降載。K-factor 機的做法是用多股個別絕緣細導體壓低渦流損、升級鐵芯材料、並加大中性線匯流排以承受三倍調和波(3rd / 9th / 15th 同相疊加在中性線上)。
兩邊其實不完全矛盾——分歧點在「你的變壓器會被操到幾分滿」,那是設計決策不是物理事實。差價不小,所以這是該問設計單位的題目。真要精算,ANSI/IEEE C57.110 有依實際諧波組成算降載係數的方法。
對資料模型的意涵¶
-
它是電力鏈上唯一的單位轉換節點,兩側都要顯性表達:
primary_voltage/secondary_voltage/rated_kva/impedance_pct。拓撲上的容量一律用 kVA 傳遞,不要用安培——安培跨過變壓器就失去可比性,任何把上下游安培相加的邏輯都是 bug。這條約束值得寫成型別層級的保護(例如容量欄位一律用同一個KVA型別,安培只在單一節點內部出現)。 -
銘牌值與可用值分開,可用值一律用算的。 存
rated_kva、temp_rise_class、k_factor、ambient_design_c,把usable_kva做成 computed property。降載後的數字硬寫成欄位,日後改一個係數就得全表回填——這是topic-01(銘牌 vs 降載 vs 實測)的第一次實戰。 -
告警門檻屬於設備型式,不能是全域常數。 油浸式 60–90 °C 就要叫,乾式 180–200 °C 才叫;而乾式的門檻還要再依溫升等級調整(80 °C 溫升機不該沿用 150 °C 機的門檻)。所以門檻應該是一張可查表的
(cooling_type, temp_rise_class) → (warning, critical),不是硬編碼。同一條規則套錯型式,一種永遠不觸發、一種永遠在叫。 -
impedance_pct是跨設備約束的來源,不是裝飾欄位。 它算出的短路電流要能拿去驗證下游斷路器的kaic_rating。這是模型第一次出現「A 的欄位決定 B 的合法性」——值得做成一條可執行的驗證規則,而不是留在單線圖的註解裡。同理,湧流倍數要能拿去驗證上游保護的跳脫曲線。 -
no_load_loss_kw應該必填,否則備援設備被當成 0 耗電,PUE 與容量報表都會偏樂觀。它讓「閒置」在模型裡有非零成本——這觀念之後在 UPS、冰水主機都會重複。另外 DGA 是第三種資料型態:時序、事件之外還有人工週期性採樣(有採樣日、送驗單位、報告檔案,沒有固定間隔),塞進 time-series DB 會很難用,早點決定它住哪裡。
該問 facility 的問題¶
- 主變壓器幾台、各多少 kVA、%Z 是多少?照這個算出來的二次側短路電流是多少,下游斷路器的 kAIC 有沒有覆蓋?
- 乾式還是油浸式、溫升等級幾度?溫度告警門檻現在設幾度、是誰設的?有沒有可能沿用了 150 °C 溫升機的預設值?
- 有沒有指定 K-factor?如果沒有,設計負載率預估落在多少?(接上面的來源分歧)
- 斷路器/熔絲的跳脫曲線有沒有針對投入湧流做過協調?commissioning 期間會反覆送電,這個設定會被測到。
動手練習(30–40 分鐘)¶
延續 dc-01 的 UtilitySource,往下游接一個節點。
任務:實作 Transformer,並寫出「短路電流 vs 下游斷路器」的驗證規則。
from dataclasses import dataclass
# 門檻查表:不要硬編碼在告警邏輯裡
TEMP_THRESHOLDS = {
("dry", 150): (180.0, 200.0),
("dry", 115): (150.0, 170.0), # 自行推估,實際依銘牌
("dry", 80): (115.0, 135.0),
("liquid", 65): (85.0, 95.0),
("liquid", 55): (75.0, 85.0),
}
@dataclass
class Transformer:
id: str
upstream_id: str # 接到 UtilitySource.id,之後會改指向 MV switchgear
rated_kva: float
primary_voltage: float # 22800
secondary_voltage: float # 380
impedance_pct: float # 5.75
cooling_type: str # "dry" | "liquid"
temp_rise_class: int # 150 | 115 | 80 | 65 | 55
k_factor: int | None = None # None = 標準型,需諧波降載
no_load_loss_kw: float = 0.0
full_load_loss_kw: float = 0.0
@property
def secondary_fla(self) -> float:
"""二次側額定電流"""
... # TODO
@property
def available_fault_current(self) -> float:
... # TODO
@property
def inrush_peak_a(self) -> float:
"""25 倍額定,0.01 秒"""
... # TODO
@property
def usable_kva(self) -> float:
"""k_factor 為 None 時套 0.90 諧波降載"""
... # TODO
@property
def temp_alarm_threshold(self) -> tuple[float, float]:
"""查 TEMP_THRESHOLDS,查不到要爆炸而不是回傳預設值"""
... # TODO
def loss_at_load_kw(self, load_ratio: float) -> float:
"""空載損失 + 銅損 × load_ratio²"""
... # TODO
def validate_downstream_breaker(tx: Transformer, breaker_kaic: float) -> tuple[bool, str]:
"""遮斷容量夠不夠?回傳 (是否合格, 理由)"""
... # TODO
驗收標準——用 1500 kVA / 380 V / 5.75 % / dry / 150 °C 溫升 / 空載 3.5 kW / 滿載銅損 15 kW:
| 檢查項 | 期望值 |
|---|---|
secondary_fla |
≈ 2279 A |
available_fault_current |
≈ 39.6 kA |
inrush_peak_a |
≈ 57,000 A |
usable_kva(k_factor=None) |
1350 kVA |
temp_alarm_threshold |
(180, 200) |
同一台改成 temp_rise_class=80 |
(115, 135),不是 (180, 200) |
loss_at_load_kw(0.35) |
≈ 5.3 kW |
loss_at_load_kw(0.0) |
3.5 kW(閒置也在燒) |
validate_downstream_breaker(tx, 35_000) |
不合格 |
validate_downstream_breaker(tx, 50_000) |
合格 |
加分題一:寫 check_n_plus_one(load_kva, transformers),驗證「每台都能單獨扛全載」——不是把負載除以台數。用兩台 1250 kVA 扛 972 kVA 需求(含 0.9 降載)測試,看你的函式會不會誤判。
加分題二:讓 temp_alarm_threshold 在查表失敗時丟例外,然後刻意建一台 ("dry", 100) 的變壓器。這個「查不到就爆炸」的設計比回傳預設值重要得多——沿用預設門檻正是本卡「該問 facility」第 2 題在追的那個坑。
這段 code 不會丟掉。你的模型現在有兩個節點:
UtilitySource → Transformer。dc-03(MV switchgear)會插進它們中間,所以upstream_id請保持成 id 參照,不要寫死成 parent 物件——你會需要在既有兩點之間插入節點而不改動兩端。
自我檢核¶
Q1. 1000 kVA、二次側 380 V、%Z = 4 %。二次側額定電流與可用短路電流各是多少?
答案
I = 1,000,000 ÷ (1.732 × 380) ≈ 1,519 A
短路電流 = 1,519 ÷ 0.04 ≈ 38,000 A = 38 kA
這台比 1500 kVA / 5.75 % 那台容量小、短路電流卻差不多——因為 %Z 更低。容量大小不能拿來推短路電流,一定要看 %Z。
Q2. N+1 的兩台變壓器,總負載 800 kVA,每台銘牌至少要多少?
答案
每台都要 ≥ 800 kVA(再加降載與裕度),不是 400 kVA。任一台退出時另一台要獨力扛全載。除以台數是這題最常見的錯法,會讓整套容量規劃錯一倍。
Q3. 「乾式告警 180–200 °C、油浸式 60–90 °C,而且乾式還要看溫升等級」這件事,會讓你的資料模型長出什麼?
答案
至少四樣:cooling_type 與 temp_rise_class 兩個分類欄位、一張 (型式, 溫升等級) → (warning, critical) 的查表、以及查不到時要拋錯而非回傳預設值的規則。
延伸:這是「告警門檻屬於設備型式而非系統」的第一個例子。ASHRAE 熱環境 class(topic-08)、UPS 電池溫度、冰水機出水溫度都會重複同一結構——現在把它做成可查表的設計,之後就不用重寫。
下一張:dc-03 中壓開關設備(已完成)→ 接著 dc-03b LSC 分級與互鎖