60 秒速答
選 PWM 控制,如果...
- 主機是微控制器、BMC、PLC(有 PWM 輸出腳)
- 需要 0-100% 連續變速
- 要跟 FG 配合做閉迴路控制
- 4-pin 業界標準
需要 FG / RD 回授,如果...
- 需要監測風扇是否運轉正常
- 要做風扇故障報警(醫療、伺服器、電信)
- 要做閉迴路轉速控制(FG)
- 只要有/沒有運轉的二進位狀態(RD)
用 0-10V 類比,如果...
- 主機是建築 HVAC BMS 或舊工業類比控制系統
- 原生輸出 0-10V 或 4-20mA
- 建議改用 EC 風扇(DC 風扇多數不原生支援 0-10V)
為什麼工業 DC 風扇需要訊號線
2 線(只有 +V 跟 GND)的 DC 風扇是最原始的設計 — 通電就以滿速轉動,斷電就停。對於消費性電子或低成本機台這樣就夠了,但工業環境有三個額外需求:
- 變速:機櫃溫度低時降速省電 + 降噪音、溫度升高時加速;單一速度設計不是太吵就是散熱不夠。
- 監測:風扇是機械零件、會老化會卡死,主機需要知道每顆風扇的運轉狀態,故障時即時警報、不要等到關鍵設備過熱才發現。
- 整合:風扇要跟主機的控制系統(PLC、BMC、HVAC 控制器)對話 — 不能只靠人工調速。
這三個需求催生了四種標準訊號:PWM 處理變速命令、FG 跟 RD 處理回授監測、0-10V 處理跟舊類比系統的相容。下面逐一展開。
PWM(脈寬調變)— 主流速度命令
運作原理
PWM 是 Pulse Width Modulation 的縮寫。主機端送一個固定頻率(業界標準 25 kHz)的方波,方波在「高電位」跟「低電位」之間切換,高電位佔整個週期的比例(duty cycle)就是速度命令:
duty cycle = 100%→ 一直高電位 → 滿速duty cycle = 50%→ 高低各半 → 約 50% 速度duty cycle = 20%→ 多數時間低電位 → 最低速
關鍵:不是用電壓高低控速,是用「時間比例」控速。所以即使主機只能輸出固定 3.3V 或 5V,也能傳出 0-100% 的連續速度命令。
為什麼選 25 kHz?
- 高於人耳聽覺上限(人耳極限約 20 kHz)— 避免變速時聽到啁啾聲
- 低於微控制器 PWM 產生極限 — Arduino、STM32、ESP32 等主流微控制器都能輕鬆產生 25 kHz
- 跟風扇驅動 IC 設計頻寬匹配 — 馬達控制 IC 在這個頻段濾波最乾淨
少數老型號用 5 kHz 或 1 kHz,這類設計變速時容易產生人耳聽得到的啁啾噪音,現代工業設計幾乎都用 25 kHz。採購時建議明確要求「Intel 4-Wire PWM Fan Specification 相容」即可確保 25 kHz。
PWM duty cycle 對應實際轉速
線性對應只是理想情況。實務上多數工業 DC 風扇的行為:
| Duty cycle | 實際轉速行為 |
|---|---|
| 0% (一直低電位) | 多數型號強制最低轉速(30-40% 滿轉),避免完全停止後無法重啟 |
| 10-20% | 不確定區間,可能無法穩定啟動,建議避開 |
| 20-100% | 線性對應 30-100% 實際轉速 |
| 100% (一直高電位) | 滿速 |
* 上述對應關係為一般業界行為描述,不同廠商不同型號的低 duty 行為(最低速強制值、無法啟動門檻)會有差異。實務建議:把 PWM 控制範圍規劃在 20-100% 之間運用,避開不確定區間;具體型號的低 duty 行為請以該型號 datasheet 公佈值為準。
主機端怎麼產生 PWM
- 微控制器(Arduino、STM32、ESP32、Raspberry Pi Pico):用 Timer 模組產生硬體 PWM,幾乎所有主流 MCU 都支援
- BMC(伺服器主控):晶片組原生 PWM 輸出,BMC 韌體控制 duty cycle
- PLC:多數工業 PLC 支援 PWM 輸出模組,但要確認頻率可達 25 kHz;舊型號可能只到 1-5 kHz,需轉接
- 專用風扇控制器:自帶溫度感測+PWM 輸出邏輯的小型 IC(如 MAX31790、EMC2301),常見於成本敏感應用
FG / TACH — 轉速回授訊號
運作原理
FG(Frequency Generator)也叫 TACH(Tachometer),是從風扇傳出來給主機讀的訊號(跟 PWM 方向相反)。風扇內部 Hall sensor 偵測磁鐵轉動,每轉一圈產生 2 個脈衝(業界標準 2 PPR — Pulses Per Revolution)。
主機端讀取脈衝頻率,換算成 RPM:
RPM = (FG 頻率 Hz × 60 秒/分) / 2 PPR
例如 FG 頻率 100 Hz → RPM = 100 × 60 / 2 = 3000 RPM。
輸出形式:開集極(Open Collector)
絕大多數 DC 工業風扇的 FG 輸出是開集極設計 — 風扇內部只有一顆 NPN 電晶體把 FG 線拉到 GND,沒有主動拉高的能力。要讀取訊號,主機端必須外接 pull-up 電阻到 V+:
常用 pull-up 電阻值 4.7 - 10 kΩ。電阻太小(<1 kΩ)會增加電流消耗、太大(>47 kΩ)訊號上升邊太緩慢可能被主機讀錯。
* 電壓相容警告:若主機端用 5V 邏輯讀但風扇是 12V 系統,pull-up 必須拉到 5V(不是 12V),否則 FG 訊號會送 12V 進主機 GPIO 燒晶片。安全做法:FG 線跟主機 GPIO 之間加 level shifter 或電阻分壓。少數新型號 FG 內建 push-pull 輸出(不需 pull-up),採購時務必跟廠商確認。
FG 的兩個主要用途
- 故障偵測:FG 突然停止輸出脈衝 → 風扇卡死 → 觸發警報。這是醫療、伺服器、電信機房的標配。
- 閉迴路轉速控制:主機 PID 演算法根據目標 RPM 跟實際 FG 讀回的 RPM 做誤差補償,動態調整 PWM duty。比起開迴路(只設 PWM 不看回授)能補償風扇老化、軸承磨損等長期變化。
RD / Locked-rotor — 鎖死警報訊號
RD(Rotation Detector,也叫 Locked-rotor Output 或 Alarm Output)是 FG 的簡化版 — 只輸出「有沒有在轉」的二進位狀態,不算 RPM。
RD vs FG 比較
| 項目 | FG | RD |
|---|---|---|
| 訊號類型 | 連續脈衝(2 PPR) | 二進位電位(高 or 低) |
| 主機端處理 | 計頻率 + 算 RPM | 只讀 GPIO 狀態 |
| 能算 RPM 嗎? | 能 | 不能 |
| 偵測卡死 | 能(脈衝停止) | 能(電位翻轉) |
| 韌體複雜度 | 高(需脈衝計數中斷) | 低(單純 GPIO 讀) |
| 典型應用 | BMC、PID 控制、伺服器 | 低成本工業控制盤、PLC GPIO |
實務上,需要精確轉速選 FG,只想知道風扇有沒有掛掉選 RD。RD 多數型號跟 FG 是互斥的(同一條訊號線只能設定其一),採購時要明確指定。
0-10V 類比 — 老系統的類比命令
運作原理
0-10V 類比訊號跟 PWM 概念完全不同 — 不是用方波的時間比例編碼,而是用直流電壓的高低直接對應速度:
0V→ 最低速 / 停轉5V→ 50% 速度10V→ 滿速
類似訊號還有 4-20mA 電流迴路(工業類比標準,對抗線材電壓降)跟 2-10V(部分歐洲 HVAC 標準)。
主要應用:建築 HVAC 跟舊工業類比系統
- 建築 BMS(Building Management System):Honeywell、Siemens、Johnson Controls、Schneider 等樓宇自動化系統幾乎都是 0-10V 控制標準
- 舊型工業類比控制盤:80-90 年代的工業設備幾乎都是類比訊號
- VFD 變頻器:多數工業變頻器原生輸出 0-10V,可直接驅動 EC 風扇變速
注意:純 DC 風扇多數不原生支援 0-10V
多數 DC 風扇只接受 PWM 不接受 0-10V。如果你的控制系統原生輸出 0-10V,三個選項:
| 選項 | 做法 | 實務評價 |
|---|---|---|
| 1. 改用 EC 風扇 | EC 原生支援 0-10V 輸入,AC 市電輸入,drop-in 取代 | ★★★ 最乾淨、HVAC retrofit 首選 |
| 2. 加 0-10V→PWM 轉換模組 | Op-Amp + 555 timer 或專用 IC(如 LM555) | ★★ 額外電路、額外故障點 |
| 3. 重新設計控制系統 | 主機改輸出 PWM | ★ 工程量大、僅新建系統考慮 |
實務上選項 1 最常用 — 如果你的應用本來就吃 AC 市電 + 0-10V 控制,EC 風扇是 drop-in 替換最理想的選擇。詳細請參閱 DC vs EC vs AC 風扇比較指南。
2-pin / 3-pin / 4-pin 接腳對照
DC 風扇接腳數量決定你能用哪些訊號:
| 線數 | 線色 / 功能 | 支援功能 | 典型應用 |
|---|---|---|---|
| 2-pin | 紅: V+、黑: GND | 固定速度,無變速、無回授 | 消費性電子、簡單通風 |
| 3-pin | 紅: V+、黑: GND、黃: FG | 固定速度 + 轉速回授 | 有監測需求但沒變速需求的工業設備 |
| 4-pin(PWM 標準) | 紅: V+、黑: GND、黃: FG、藍: PWM | 變速 + 轉速回授(業界主流) | 伺服器、工業 BMC、PLC 變速控制 |
4-pin 業界標準腳位(Intel 4-Wire PWM Fan Specification)
從連接器邊緣往內看(凸起卡榫朝上):
連接器規格:Molex 5557 系列、4.2mm pitch(部分工業型號改用 JST PH 2.0mm 或裸線+端子台)。
* 線色警告:上述線色為 PC 業界 Intel 規範,但工業型號各廠商可能調換顏色(特別是 12V/24V/48V 多種電壓系列為了區分電壓會調整紅/黃/橘)。採購時務必跟廠商索取實際線色對應表,否則接反電源會直接燒驅動 IC。
訊號電平與相容性
PWM 輸入電平
| 主機輸出 | 常見風扇規格 | 相容性 |
|---|---|---|
| 3.3V CMOS | 多數工業 DC 風扇容許 3.3V 或 5V 輸入 | 多數情況可直接接 |
| 5V TTL/CMOS | 業界主流規格 | 原生相容 |
| 12V 邏輯 | 少數舊規格(特別是早期 HVAC) | 需確認,可能要降壓 |
FG 輸出電平與 pull-up 配置
FG 輸出電位由 pull-up 決定,不是風扇主動推(除非是 push-pull 設計)。所以:
- 主機 5V GPIO 讀 FG → pull-up 拉到 5V → FG 輸出 0V/5V 切換 ✓
- 主機 3.3V GPIO 讀 FG → pull-up 拉到 3.3V → FG 輸出 0V/3.3V 切換 ✓
- 主機 3.3V GPIO,pull-up 拉到 12V → FG 輸出 0V/12V → 12V 灌進 3.3V 主機 GPIO → 燒晶片!
常見錯誤:把 FG pull-up 接到 V+(12V 或 24V 系統電源),主機端用 5V 或 3.3V GPIO 直讀。這會在每個 FG 脈衝瞬間送過電壓進主機。解法:pull-up 拉到主機邏輯電壓(不是風扇電源),或加電阻分壓 / level shifter。
實作情境(PLC / BMC / Arduino / HVAC)
設備:Arduino Uno(5V 邏輯)+ 12V DC 風扇 + 12V 電源供應器
analogWrite()+ Timer1 設 25 kHz,attachInterrupt() 在 FG 脈衝計數。設備:Mitsubishi/Siemens PLC + 24V DC 風扇 × 4 + PT100 溫度感測
設備:Aspeed BMC 晶片 + 48V DC 風扇 × 8 + 機架溫度感測
設備:Johnson Controls BMS(0-10V 輸出)+ 原本 230V AC 三相風機 + 客戶想升級節能
設備:嵌入式 Linux 主板(3.3V 邏輯)+ 12V DC 風扇 + 故障必須立即警報