1、什么是PWM
什么是PWM,專業(yè)點(diǎn)說脈寬調(diào)制,通俗點(diǎn)說 就是不斷的輸出高低電平。 比如 單片機(jī) 40ms的時(shí)間 輸出高電平然后60ms的時(shí)間 輸出低電平接著一直不斷周期性的交替輸出高低電平 這就是典型的PWM波。高電平輸出的時(shí)間40ms就是傳說中的脈寬,40ms+60ms=100ms 便是PWM的周期。假定我們把周期定為100ms.我們可以根據(jù)我們的需要 把高電平的時(shí)間加大或者減小,比如 高電平輸出時(shí)間加大為80ms.那么低電平的時(shí)間就變?yōu)?0ms. 也可以 高電平輸出時(shí)間減小為20ms.那么低電平的時(shí)間就變?yōu)?0ms.這即是脈寬調(diào)制 調(diào)的便是這高電平的時(shí)間。 而高電平(脈寬)在周期中,所占用的時(shí)間比例 就被稱為占空比。用數(shù)學(xué)公式表示 高電平的時(shí)間/周期的時(shí)間=占空比。
2、PWM的實(shí)現(xiàn)方式
我們?nèi)绾巫寙纹瑱C(jī)輸出PWM波。有兩種方式 一種是直接用I/O輸出,另一種方式利用模塊。
2.1利用I/O口輸出PWM
如果你的單片機(jī)沒有帶有PWM輸出功能模塊,那么你可以自己寫個(gè)程序輸出PWM波。因?yàn)镻WM不就是高低電平。一個(gè)I/O在加上一個(gè)定時(shí)器,對(duì)于任何單片機(jī)來說都是很容易做到的。
2.2利用模塊輸出PWM
對(duì)于PIC單片機(jī)而言就帶有輸出PWM的功能模塊。利用模塊輸出PWM其實(shí)比利用I/O輸出PWM更加簡(jiǎn)單便捷精確。
3、PWM控制的基本原理
理論基礎(chǔ):
沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時(shí),其效果基本相同。沖量指窄脈沖的面積。效果基本相同,是指環(huán)節(jié)的輸出響應(yīng)波形基本相同。低頻段非常接近,僅在高頻段略有差異。
圖1形狀不同而沖量相同的各種窄脈沖
面積等效原理:
分別將如圖1所示的電壓窄脈沖加在一階慣性環(huán)節(jié)(R-L電路)上,如圖2a所示。其輸出電流i(t)對(duì)不同窄脈沖時(shí)的響應(yīng)波形如圖2b所示。從波形可以看出,在i(t)的上升段,i(t)的形狀也略有不同,但其下降段則幾乎完全相同。脈沖越窄,各i(t)響應(yīng)波形的差異也越小。如果周期性地施加上述脈沖,則響應(yīng)i(t)也是周期性的。用傅里葉級(jí)數(shù)分解后將可看出,各i(t)在低頻段的特性將非常接近,僅在高頻段有所不同。
圖2沖量相同的各種窄脈沖的響應(yīng)波形
用一系列等幅不等寬的脈沖來代替一個(gè)正弦半波,正弦半波N等分,看成N個(gè)相連的脈沖序列,寬度相等,但幅值不等;用矩形脈沖代替,等幅,不等寬,中點(diǎn)重合,面積(沖量)相等,寬度按正弦規(guī)律變化。
SPWM波形——脈沖寬度按正弦規(guī)律變化而和正弦波等效的PWM波形。
圖3用PWM波代替正弦半波
4、PWM工作原理分析
脈沖寬度調(diào)制波通常由一列占空比不同的矩形脈沖構(gòu)成,其占空比與信號(hào)的瞬時(shí)采樣值成比例。下圖所示為脈沖寬度調(diào)制系統(tǒng)的原理框圖和波形圖。該系統(tǒng)有一個(gè)比較器和一個(gè)周期為Ts的鋸齒波發(fā)生器組成。語音信號(hào)如果大于鋸齒波信號(hào),比較器輸出正常數(shù)A,否則輸出0。因此,從圖中可以看出,比較器輸出一列下降沿調(diào)制的脈沖寬度調(diào)制波。
通過圖b的分析可以看出,生成的矩形脈沖的寬度取決于脈沖下降沿時(shí)刻t k時(shí)的語音信號(hào)幅度值。因而,采樣值之間的時(shí)間間隔是非均勻的。在系統(tǒng)的輸入端插入一個(gè)采樣保持電路可以得到均勻的采樣信號(hào),但是對(duì)于實(shí)際中tk-kTs《 《的情況,均勻采樣和非均勻采樣差異非常小。如果假定采樣為均勻采樣,第k個(gè)矩形脈沖可以表示為:
其中,x{t}是離散化的語音信號(hào);Ts是采樣周期; 是未調(diào)制寬度;m是調(diào)制指數(shù)。
然而,如果對(duì)矩形脈沖作如下近似:脈沖幅度為A,中心在t = k Ts處, 在相鄰脈沖間變化緩慢,則脈沖寬度調(diào)制波xp(t)可以表示為:
其中, 。無需作頻譜分析,由式(2)可以看出脈沖寬度信號(hào)由語音信號(hào)x(t)加上一個(gè)直流成分以及相位調(diào)制波構(gòu)成。當(dāng)
時(shí),相位調(diào)制部分引起的信號(hào)交迭可以忽略,因此,脈沖寬度調(diào)制波可以直接通過低通濾波器進(jìn)行解調(diào)。
5、PWM的優(yōu)點(diǎn)
PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號(hào)都是數(shù)字形式的,無需進(jìn)行數(shù)模轉(zhuǎn)換。讓信號(hào)保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強(qiáng)到足以將邏輯1改變?yōu)檫壿?或?qū)⑦壿?改變?yōu)檫壿?時(shí),也才能對(duì)數(shù)字信號(hào)產(chǎn)生影響。
對(duì)噪聲抵抗能力的增強(qiáng)是PWM相對(duì)于模擬控制的另外一個(gè)優(yōu)點(diǎn),而且這也是在某些時(shí)候?qū)WM用于通信的主要原因。從模擬信號(hào)轉(zhuǎn)向PWM可以極大地延長(zhǎng)通信距離。在接收端,通過適當(dāng)?shù)腞C或LC網(wǎng)絡(luò)可以濾除調(diào)制高頻方波并將信號(hào)還原為模擬形式。
總之,PWM既經(jīng)濟(jì)、節(jié)約空間、抗噪性能強(qiáng),是一種值得廣大工程師在許多設(shè)計(jì)應(yīng)用中使用的有效技術(shù)。
6、PWM的作用
PWM能用來做什么?PWM比較典型的應(yīng)用就是對(duì)LED調(diào)光和電機(jī)調(diào)速。那PWM是如何進(jìn)行調(diào)光和調(diào)速的呢,其實(shí)也很好理解。以給LED調(diào)光為例。給LED一直通電LED是最亮的。不給LED斷電LED是不亮的。那要是在極短的時(shí)間內(nèi)給LED不斷的通電斷電。那給人眼的感覺就是LED雖然是亮的,但亮度較低。
如果單片機(jī)高平輸出時(shí)LED是亮的。那么在PWM波中高電平輸出的時(shí)間越長(zhǎng)LED就越亮,反之則越暗。
7、PIC單片機(jī)學(xué)習(xí)之PWM信號(hào)輸出
實(shí)現(xiàn)功能:通過鍵盤(BUTTON)控制蜂鳴器發(fā)生,鍵盤按下,通過RC2/CCP1接口輸出PWM信號(hào)(頻率880Hz,脈寬50)驅(qū)動(dòng)蜂鳴器發(fā)聲。
實(shí)驗(yàn)環(huán)境:Proteus
編程環(huán)境:MPLAB
單片機(jī):PIC16F877
晶振:20MHz
Proteus仿真電路如下圖:
實(shí)驗(yàn)源程序:
LIST P=16F877
;設(shè)置pwm為880Hz,50%占空比 INCLUDE P16F877.INC
ORG
0000H
START BANKSEL TRISC;進(jìn)入TRISC所在BANK BCF
TRISC,2;清零TRIC的bit2,以使CCP1引腳成為輸出
MOVLW D‘70’
MOVWF PR2;將70寫入PR2以設(shè)置PWM周期
BANKSEL CCPR1L
MOVLW D‘35’
MOVWF CCPR1L
MOVLW 0X06
MOVWF T2CON;bit2=1,使能Timer2,bit1-1,預(yù)分頻值為16
CHECKBUTTON BTFSC PORTA,4
GOTO
BUTTONOFF
BUTTONON MOVLW H‘0C’
MOVWF CCP1CON;設(shè)置CCP1為PWM模式
GOTO
CHECKBUTTON
BUTTONOFF
CLRF CCP1CON
GOTO CHECKBUTTON
END
評(píng)論