脈寬調變 (PWM):這是什麼?該如何使用?

在脈寬調變 (PWM) 問世之前,若要調光而需調整電壓或電流的唯一方法,就是使用變阻器或電位計。此外,使用 PWM 可以更輕鬆地控制較大的零組件,如馬達、閥門、泵浦、液壓和其他機械式零組件。

通常,DC 電壓會在零值上下保持恆定。脈寬調變會將數位訊號轉變成類比訊號,方法是改變其保持開啟與關閉的時間長度。會使用「工作週期」一詞來表達訊號保持開啟相對於關閉的時間長度百分比或比率。通常,可產生 PWM 輸出的裝置都有非常高的刷新率,可確保平均功率「看起來」與負載保持恆定。例如,我使用可讀取約 500 Hz 刷新率的數位分析儀來測試 Arduino。以下提供 PWM 訊號的範例,我使用 LTSpice 來模擬訊號並擷取波形圖。

透過 Analog Devices 的電路模擬程式 LTSpice 產生的 PWM 訊號。

我使用不同的電壓位準,並針對各個訊號施加偏移,已顯示工作週期之間的差異。如您所見,較高的工作週期代表訊號保持開啟的時間比關閉還多,而低工作週期的情況則相反。

這種類型的訊號到底能達到什麼?具備 PWM 能力的裝置可維持使用者所指定的任何工作週期,在某些情況下,使用者可能隨時會對脈衝寬度的變化進行編程。從數學角度來看,可進行 PWM 的裝置能更改輸出,藉此呈現「平均」電壓。工作週期設定為 50% 的訊號,大約可將負載所呈現的平均電壓降低 50%。但此做法在絕大多數情況下並不實際,因為裝置並非 100% 準確。根均方 (RMS) 測量會是值得考量的更優秀測量方式。許多三用電表及其他量測設備皆可進行 RMS 測量。以 LTSpice 的模擬為例,在 50% 工作週期及 60 Hz 刷新率下的 5 VDC 訊號,其 RMS 電壓為 3.57 V。我還在相同模擬中,以無 PWM 脈衝的方式測試一般會消耗 1 A 的負載,在 50% 工作舟旗下,讀數約為 714 mA RMS。

數位訊號往往停留在 5 V 或 3.3 V 左右,視應用而定,但在使用 MOSFET 時也可能會對較大的電壓產生「雙倍」效應。由於這些電晶體通常當作壓控開關使用,因此會以跟 PWM 訊號相同的速率進行開啟和關閉,視閘極對源極電壓而定。這種反應會讓高電壓看起來就像 PWM 訊號,且作用也相同。PWM 在多個元件上模擬「調光」效果時特別有用。LED 對電位計的反應不佳,尤其是較高電流與電壓的 LED。但是,PWM 裝置與 MOSFET 串聯時可將電壓保持在夠高的位準,能讓 LED 開啟更久的時間,產生更大的調光範圍。PWM 還可用相同的概念來控制馬達的速度。

如果你要初次試驗 PWM,我推薦 Arduino 平台。我使用以下兩個型號:1050-1024-ND1050-1018-ND。MEGA 有更多引腳,能提供 PWM 輸出。Arduino 使用 “analogWrite(pin, val)” 函數來完成此任務,引腳變數是能具有 PWM 能力的 I/O (引腳旁邊有 ~ 符號),而該值可以是 0 至 255。零代表 0% 工作週期,而 255 則為 100% 工作週期。

關於作者

Image of Kaleb Kohlhase

DigiKey 應用工程部門電子技師 Kaleb Kohlhase:Kaleb 於 2018 年初加入 DigiKey。他的專長為數位邏輯、編程、電路模擬、PCB 設計、3D 模型、音訊電路等。Kaleb 在 2017 年自美國明尼蘇達州立大學畢業,取得工程學士學位。他的強項包含理解電路圖和規格書等技術文件、針對研究資訊撰寫技術文件、各種系統的故障排除、建立實體原型設計實現概念,以及使用各種電腦語言進行編程。休閒時,Kaleb 享受與太太看 Netflix、打電動、騎單車、游泳,以及學習電子新知。

More posts by Kaleb Kohlhase
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum