[電子電路] PWM:Pulse Width Modulation 脈衝寬度調變

[電子電路] PWM:Pulse Width Modulation 脈衝寬度調變

在Arduino的數位腳位上有幾個是支援PWM的,下面我們就來了解甚麼是PWM。

PWM ( Pulse Width Modulation ) 脈衝寬度調變,從字面上的意思就是脈波的寬度做改變,我們先來看看下面兩張GIF

1_7 ( 圖一:24FPS下的High:Low = 7:1 )

7_1 ( 圖二:24FPS下的High:Low = 1:7 )

這兩張圖是以肉眼可見的方式來看PWM,以數位脈波的方式看,就如下圖,每個訊號在單位時間內處於HIGH的訊號比例是不相同的,但是總輸出脈波數都是一樣的。

PWM

( 圖三,PWM不同的調變寬度 )

PWM 就是用肉眼快到不能察覺的頻率,ON..OFF..ON..OFF..。那會造成怎麼樣的結果呢? 以下兩張圖來看一下 ( 下兩張圖絕對是示意圖,因為螢幕沒有支援到這麼高的頻率,所以就算做出來了,大家也見不到結果,這豈不是……用示意圖就好了嘛 )。

125 ( 圖四:高頻下的High:Low = 7:1 )

875( 圖五:高頻下的High:Low = 1:7 )

當High的比例高的時候,圖就亮一些;反之,High的比例較少,圖就暗一些。那這樣可以代表甚麼事情呢? 把先前介紹的FADING ( 傳送門 ) 拿來複習一下,就發現用這種方式是可以達到漸強漸弱的效果。

那把這調變方式放在馬達上會發生甚麼事情呢?首先我們要先知道一件事情,提供給馬達的訊號分為兩種,一種是數位的,另外一種是類比的 ( 這不是廢話嘛XD ),類比的訊號不在我們這篇的範圍裡,之後有機會再與大家介紹。數位馬達的控制都是以脈波的形式去驅動馬達,使其轉動 ( 若一定會有說到伺服馬達與步進馬達的,屆時再跟大家介紹,今天說的是PWM唷 ),每個脈波送出去之後使得馬達轉動的角度,是原本馬達本身的精度所固定的參數,這在購買馬達時就會見到了,另外轉動角度要花多少時間就是用PWM的技術做控制的。可以將PWM想像成強弱或者是快慢,就可以輕鬆的理解為什麼要有這技術的出現了 🙂

PWM ( 脈波寬度調變 ),常用於直流馬達的控制、電源變換器之穩壓控制、甚至是直流轉換交流弦波的控制等,是控制直流馬達轉速最常見的方法。
在類比電路中,類比信號的值可以連續進行變化,在時間和值的幅度上都幾乎沒有限制,基本上可以取任何實數值,輸入與輸出也呈線性變化。所以在類比電路中,電壓和電流可直接用來進行控制對象,例如家用電器設備中的音量開關控制、採用鹵素燈泡燈具的亮度控制等等。但類比電路有諸多的問題:例如控制信號容易隨時間漂移,難以調節;功耗大;易受雜訊和環境干擾等等。
PWM是一種對類比信號進行數位編碼的方法。藉由高解析度計數器的使用,方波的佔空比( Duty Cycle ) 被用來對一個具體類比信號進行轉換。PWM信號仍然是數位的,因為在給定的任何時刻以ON/OFF所表示(就一般的方波啦)。其最大的優點是從處理器到被控對象之間的所有信號都是數位形式的,無需再進行數位類比轉換過程;而且對雜訊的抗干擾能力也大大增強(雜訊只有在強到足以將邏輯值改變時,才可能對數位訊號產生實質的影響),這也是PWM在通訊等信號傳輸行業得到大量應用的主要原因。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料