PWM(Pulse Width Modulation)簡(jiǎn)介
PWM,也就是脈沖寬度調(diào)制,用于將一段信號(hào)編碼為脈沖信號(hào),也就是方波信號(hào)。多用于在數(shù)字電路中驅(qū)動(dòng)負(fù)載隨時(shí)間變化的電子元件,如LED,電機(jī)等。
在單片機(jī)中,我們常用PWM來(lái)驅(qū)動(dòng)LED的暗亮程度,電機(jī)的轉(zhuǎn)速等。
我們知道,在數(shù)字電路中,電壓信號(hào)是離散的: 不是 0(0V) 就是 1(5V或者3.3V), 那么如何輸出介于 0v 和 5V之間的某個(gè)電壓值呢?
我們先來(lái)舉個(gè)實(shí)際的例子,一看就懂,勝過(guò)千言萬(wàn)語(yǔ)。
如下圖,要讓讓數(shù)字信號(hào)模擬出 3.7V 的電壓輸出。可以先假想:3.7V的電壓輸出是由多個(gè)周期時(shí)間為T(mén) ,電壓值 都 為3.7V的信號(hào) 持續(xù)輸出形成的。
根據(jù)PWM原理,我畫(huà)出下面等效脈沖信號(hào)波形圖(紅色) 。PWM的理念是:連續(xù)的信號(hào)可以使用獨(dú)立的方波信號(hào)模擬出來(lái),手段就是調(diào)整輸出的脈沖寬度,以達(dá)到同樣的效果。你會(huì)懷疑:這真的可以達(dá)到同樣的效果嗎?
別急,讓我們繼續(xù)往后看。
如果一個(gè)周期T內(nèi)的均值電壓等于3.7V,那么,整體的輸出就是3.7V,因?yàn)檎w只不過(guò)是n個(gè)周期不斷的重復(fù)而已。那么我們的主要問(wèn)題就是如何讓一個(gè)調(diào)制周期T時(shí)間內(nèi)的均值電壓等于3.7V。下面就開(kāi)始計(jì)算。
設(shè):脈沖信號(hào)的值隨時(shí)間變化的函數(shù)為: